Learn game development

PolyGlot Arcade Tutor

Learn to build retro 2D games through interactive JavaScript lessons and Python and Java code examples.

Play a finished game, then follow four short lessons in each game. JavaScript runs on the browser canvas. Python and Java are code comparison views with simulated previews.

Launch the interactive tutor · Read GitHub Pages docs · Visit the Wiki · View the open source repository

Games and lessons

Neon Dungeon: Rogue Crawler

Learn how to engineer a retro 2D top-down dungeon crawler game from scratch! Master coordinate spaces, velocity vectors, AABB bounding box collision math, and 60 FPS animation loops across JavaScript, Python, and Java.

  1. Step 1: Initializing Canvas & Player Sprite
  2. Step 2: Keyboard Controls & Vector Movement
  3. Step 3: Wall & Obstacle Collision Detection (AABB)
  4. Step 4: Game Loop, Enemy Spawns & Score HUD

Cyber Invaders: Space Grid

Construct a legendary 2D arcade space shooter! Master weapon projectile spawning pools, marching alien fleet matrix movement, bunker degradation math, and wave defense loops across JavaScript, Python, and Java.

  1. Step 1: Initializing Space Canvas & Defense Ship
  2. Step 2: Keyboard Strafe & Plasma Laser Weapon
  3. Step 3: Alien Grid Invasion & AABB Collisions
  4. Step 4: Game Loop, Bunkers & Score System

Quick answers

Can I play the finished games?

Yes. Use Play game in the tutor. After the final lesson, Download game saves a standalone HTML file with touch controls.