Video Game Coding Camp: Building a Platformer Adventure Game
TeachingFuture Game Developers with Unity and C#
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.
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
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.
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.