Module 1: Introduction to Canvas and Phaser
Objective: To introduce students to the capabilities of Canvas and the Phaser framework for creating games.
Topics:
- Basics of the Canvas API: creating a game field, drawing objects;
- Comparing Canvas and DOM for games;
- Introduction to Phaser.js: scenes, objects, sprites;
- Setting up the environment and tools (VS Code, browser, DevTools).
Practice:
- Drawing rectangles and circles on Canvas;
- Creating your first scene in Phaser;
- Simple object animation.
Module 2: Game loop basics
Goal: learn the basic structure of a game and object interaction.
Topics:
- Game loop: updating, rendering, event handling;
- Coordinates and object movement;
- Working with timers and requestAnimationFrame;
- User interaction (keyboard, mouse).
Practice:
- Moving an object across the screen using keys;
- Simple background animation;
- Implementing clickable objects.
Module 3: Collisions and physics
Objective: to teach students how to implement collisions and interactions between objects.
Topics:
- Basics of collisions in 2D games;
- Simple physics: speed, gravity, jumps;
- Phaser Physics: Arcade, Matter.js;
- Movement restriction and game field boundary checking.
Practice:
- “Catch the falling object” game with boundary restrictions;
- Creating platforms with jump physics;
- Implementing collisions with obstacles.
Module 4: Sprites and animation
Objective: Add visual appeal and character animation.
Topics:
- Sprite sheets and their animation;
- Phaser: creating animations and frame management;
- Visual effects (Particle System);
- Character and enemy movement animation.
Practice:
- Animated character that walks and jumps;
- Animation of enemies and backgrounds;
- Adding collision effects (explosion, sparkle).
Module 5: Creating an interactive interface
Objective: to implement interface elements and feedback for the player.
Topics:
- HUD: points, health, timer;
- Pause and restart buttons;
- Displaying messages (Game Over, Level Up);
- Phaser UI and interaction with DOM.
Practice:
- Creating a points and health counter;
- Pause/Continue button;
- Win or loss messages.
Module 6: Levels and game logic
Objective: to teach students how to create multiple levels and complex game scenarios.
Topics:
- Multi-level game structure;
- TileMap and tile maps;
- Progression system: difficulty, enemies, bonuses;
- Events and triggers in Phaser.
Practice:
- Creating a two-level platform game;
- Adding bonuses and enemies to each level;
- Configuring the logic for transitioning between levels.
Module 7: Sounds and final effects
bjective: Add sounds and visual effects for a complete gaming experience.
Topics:
- Sound effects and music in Phaser;
- Adjusting volume and playback events;
- Particle effects, explosions, sparkles;
- Adjusting visual feedback for player actions.
Practice:
- Sounds for jumping, collisions, and collecting bonuses;
- Effects when defeating enemies;
- Animating the interface when goals are achieved.
Module 8: Final project
Goal: to create a full-fledged interactive browser game using Canvas and Phaser.
Tasks:
- Developing the game concept: genre, mechanics, visual style;
- Implementing the game world, levels, and characters;
- Adding animations, sounds, and interface;
- Testing and performance optimization.
Practice:
- A fully completed game with several levels;
- Publishing the project in a browser (GitHub Pages, itch.io);
- Demonstrating the game to other students.