Steg 1: Game Loop
Hjärtat i varje spel — en loop som kör update → draw 60 gånger per sekund med requestAnimationFrame.
dt så att spelet körs lika snabbt oavsett skärmens bildfrekvens.
Steg 2: Tangentbordsinput
Spåra vilka tangenter som är nedtryckta med en Set eller objekt. Reagera i update-loopen, inte i event-hanteraren.
Steg 3: Kollisionsdetektering
AABB (rektangel vs rektangel) är den vanligaste — enkel, snabb och räcker för de flesta 2D-spel.
Steg 4: Plattformsspel
Gravitation + hopp + plattformar. Grunden för Mario, Celeste, Hollow Knight och tusentals andra spel.
Steg 5: Top-Down
Ovanifrånperspektiv — perfekt för RPG, äventyr och Zelda-liknande spel. Fri rörelse i alla riktningar.
Steg 6: Space Shooter
Skjut fiender, undvik kulor, få poäng. Grunden för shoot 'em ups och twin-stick shooters.
Steg 7: Pusselspel
Grid-baserade pussel — klicka för att matcha, vrid, eller flytta brickor. Grunden för Tetris, Bejeweled och match-3.
Steg 8: Partikelsystem
Explosioner, gnistor, rök, snö — partiklar ger liv åt spel. Varje partikel har position, hastighet och livstid.
Steg 9: Sprites & Animation
Sprite sheets: en bild med alla frames. Byt frame över tid för att skapa animation — walk cycle, explosioner, effekter.
Steg 10: Spelarkitektur
Organisera koden med klasser, states och entity-system. Separera logik från rendering.
Separera data (position, health) från beteende (gravity, input). Blanda fritt.
Menu → Playing → Paused → GameOver. Varje state har sin egen update/draw.
Återanvänd objekt (kulor, partiklar) istället för att skapa nya. Bättre prestanda.
Bygg levels med en 2D-array. Varje tal = en tile-typ. Verktyg: Tiled (gratis).
Spela ljud med new Audio('sfx.mp3') eller Web Audio API för avancerad kontroll.
Reklam