(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
  • 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?