Project Title:

Video Game Coding Camp: Building an Adventure Game

Tagline:

Empowering Future Game Developers with Unity and C#


Overview

ROLE:
Instructor, Game Development Mentor, Unity Trainer

TIMELINE:
10-Week Course (1-2 hour sessions per week)

SKILLS:
Game Development, C# Programming, Problem Solving, 2D Game Design, User Interface (UI) Creation

TOOLS:
Unity3D, Visual Studio Code, Asset Store Resources


Visual Overview

(Suggested visual: A screenshot of a completed 2D maze game project with a playable character navigating through the maze.)


Context

The 10-week course was designed for high school students aged 14-18, aiming to provide a practical and engaging introduction to video game coding and development. Through hands-on learning, students gained experience using industry-standard tools and best practices to create their own 2D game.


Partnership

This camp was offered in collaboration with UBC Extended Learning, providing students a chance to explore game development while building a strong foundation for further studies and potential certification in Unity development.


The Problem

Many beginner coding camps for high schoolers lacked depth in industry-relevant tools and real-world applications. This course bridged the gap by offering a comprehensive and engaging curriculum that combined coding, creativity, and practical game development experience.


Objective

The goal of the camp was for students to develop a complete 2D maze adventure game, with added complexity such as enemy interactions, health systems, and a polished user interface. Students gained hands-on experience in game development and C# coding while fostering skills in creativity and problem-solving.

Primary Goal:
Created an engaging and playable 2D maze adventure game using Unity, while mastering fundamental game development concepts.


The Tools, Design, and Development

Design:

  • Used Unity’s editor for game object placement, UI design, and asset management.
  • Developed user flowcharts and game mechanics design using wireframes and sketches.

Development:

  • Students wrote scripts in C# to control game elements, handle physics, detect collisions, and implement gameplay mechanics.
  • Used Unity’s physics engine and animation tools to bring game elements to life.

Lesson Plan Overview (Summary)

Session 1: Introduction to Unity & Asset Gathering

  • Navigated the Unity Editor.
  • Imported and used assets to design the game environment.

Session 2: Basic Game Setup and Data Types

  • Created a new 2D Unity project and explored data types for game variables.
  • Designed a maze environment.

Session 3-4: Player Movement and Collision Detection

  • Scripted player movements with keyboard controls and handled object collisions.

Session 5-6: Animation and Gameplay Mechanics

  • Implemented character animations and added gameplay mechanics such as health and enemies.

Session 7: UI Design

  • Created a user-friendly interface with menus and buttons.

Session 8: Effects and Particle Systems

  • Added special effects to enhance the game environment.

Session 9: Audio and Lighting

  • Integrated audio assets and 2D lighting effects.

Session 10: Game Polishing and Presentation

  • Debugged, polished, and finalized the game for presentation.

Testing and Feedback

Students engaged in peer play-testing, gathered feedback, and iterated on their projects. Emphasis was placed on refining gameplay mechanics and user experience.