(2025) Last Block Standing (PULS GAME JAM)
%%Key features:
- Random projectile spawner with increasing difficulty
- Grid-snapping wall placement
- 8-directional player movement & sprite animation handling%%
PULS GAME JAM
Start: [[2025-03-14]], 19:00 Uhr Ende: [[2025-03-16]], 19:00 Uhr
Theme: Kaputt
Idee
- Super simples Top-Down 2D game in [[Pixel Art]]
- Man spawnt auf einer kleinen Platform, umzingelt von Mauern
- Außerhalb der Platform (Void) kommen aus zufälligen Richtungen kleine Projectiles, die bei Kontakt mit den Mauer-Blöcken Schaden anrichten & diese schließlich ganz zerstören – wodurch sie zum Spieler gelangen und ihn eliminieren können
- Während des Spiels spawnen kleine Pick-ups, mit denen man neue Mauern platzieren kann
- Die Menge an Projectiles steigt stetig, wodurch es immer mehr ums ausweichen geht, und um gute Platzierungen der Mauern
- Im Prinzip: Endless-Spielmodus mit Highscore
Umsetzung
- Erste [[Game Art|Art Assets]] zusammensuchen
- Plattform
- Player (von 4 Seiten)
- Idle
- Walking
- Dying
- Walls
- Normal
- Geschädigt
- [-] Projectiles
- [-] UI
- [[Game Programmierung]]
- Gameplay basics
- Platform tilegrid
- Player movement & animation
- Wall prefab with damage
- Projectile prefab
- Game manager with continuous projectile spawning, increasing speed
- Player hit & game over
- Wall placing mechanic with highlighting
- Wall pickup with timed respawn after picking up
- Limit movement to platform
- Score
- Timer display
- [-] Highscore display
- Intro animation
- Camera zoom-in
- [-] Audio cue
- [-] Show controls
- Game Over animation
- Death animation
- [-] Audio cue
- [-] Text
- Small fixes & improvements
- Make sure wall pickups don’t respawn until wall has been placed
- Make sure wall pickups don’t spawn into walls
- Make sure you can’t place walls inside other walls
- Fade in timer text
- Gameplay basics
- Polishing
- [-] Flat shapes with pixelate shader?
- Better art for projectiles
- Pixel font for timer
- [-] Audio
Submission
==Last Block Standing== (GitHub-Repo)
![[Last Block Standing.png]]
Assets:
- Tileset: Pattern Pack Pixel 16x16 from Kenney (CC0)
- Character Sprite: Top-Down Prototype Character by Snoblin (Used under creator’s license)
- Font: Pixelify Sans from Google Fonts (SIL Open Font License 1.1)
Retro
- Allgemein:
- War erstmal etwas deprimierend: trotzdem ich nach ein wenig Brainstorming eine gute, überschaubare, sehr simple Idee gefunden habe, habe ich echt sehr damit gekämpft, sie umzusetzen – sowohl aus programmiertechnischen als auch aus zeitlichen Gründen. Dabei kamen immer weitere kleine To-dos hinzu, die ich vorher überhaupt nicht im Kopf hatte (inkl. der Erstellung einer halbwegs anschaulichen Projektseite auf Itch.io). Es war also gewissermaßen eine ziemlich demütigende Erfahrung.
- Aber: Ich habe mich durchgekämpft, weitergemacht, und hatte am Ende dann doch noch Zeit ein paar Kleinigkeiten zu fixen und zu verbessern – auch wenn vieles wie Audio gestrichen werden musste
- Sofort nach Einreichung wurde mir das Ganze dann als totales Erfolgserlebnis klar; Ja, es war stressig und etwas demütigend, aber auch eine sehr intensive Lernerfahrung. Ich war gezwungen, wirklich einmal alles von vorne bis hinten durchzugehen. Genau diese Art von Herausforderung stellt meinen [[Perfektionismus]] richtig auf die Probe und bringt mich tatsächlich vorran, wenn es darum geht, meine [[Effektivität]] als Spieleentwickler zu trainieren und die kreative [[Closing the gap|“gap”]] zu schließen.
- Im Detail:
- [[GitHub Copilot]] ([[Künstliche Intelligenz|KI]]-Unterstützung beim [[Game Programmierung|Coden]]) hat mir wirklich enorm geholfen… Ich will dem Vormarsch von KI-Tools nicht unkritisch gegenüberstehen, aber muss eingestehen, dass ich den massiven Widerstand im Bereich Code nicht ganz verstehen kann. Die [[Datenschutz]]-Problematik erschließt sich mir noch nicht zu 100%, möchte ich mir aber nochmal genauer anschauen…
- UI/Menus, [[Tutorialization]], etc. in diesem Fall komplett ignoriert, ist aber ein ziemlich umfangreicheres Aufgabenpaket, das man einfach vergessen kann – ist aber für Polishing usw. natürlich nicht trivial
- Auch für Sound Design blieb hier gar keine Zeit; Könnte einiges einfacher machen, wenn man dafür Leute in einem Team hat
- ==Obsidian-Template erstellen:== [[(+) projects (Game Jam)]]
- Ich möchte auch unbedingt anfangen, eine ==[[Game Art|Asset]]-Library zu erstellen==, vor allem für einfache, free-to-use Assets, um schneller loslegen zu können
Post-Submission
(Small update, just to round things off)
- Update repository name to “Last Block Standing”
- Make block respawns more frequent, especially as time goes on
- Place blocks on grid?
- [-] Add some basic sounds?