Ves al contingut
Spooky Skeleton

Spooky Skeleton

·328 paraules·2 min

Descripció general
#

Spooky Skeleton és un joc de plataformes 2D desenvolupat amb C++ i SDL. El joc presenta un esquelet protagonista que ha de travessar dos nivells de temàtica terrorífica: una cova subterrània i el bosc exterior.

Repositori de GitHub


Les meves contribucions individuals
#

  • Sistema de moviment del jugador (incloent-hi lògica de salt i acceleració personalitzada de “lliscament sobre gel”).
  • Comportament d’enemics terrestres.
  • Implementació de l’algorisme A* de pathfinding per a enemics.
  • Càrrega de mapa i animacions utilitzant el format Tiled (.tmx).
  • Implementació del sistema d’UI, totalment data-driven i carregat des d’XML.

Sobre el joc
#

Objectiu Arribar al final de cada nivell evitant o derrotant els enemics i recollint totes les monedes.

Controls

  • ESPAI – Saltar
  • FLETXES ESQUERRA / DRETA – Moure’s
  • Q – Atacar
  • ESC – Obrir menú

Característiques destacades
#

❄️ Mecànica de plataforma de gel
#

Les rajoles de gel redueixen la fricció, fent que el jugador llisqui. Això va requerir ajustos en la lògica d’acceleració i desacceleració.

🧟‍♂️ Enemics i combat
#

El jugador pot atacar i derrotar els zombis.

🧩 UI basada en dades
#

Tots els elements de la UI es carreguen des d’arxius XML, permetent canvis de disseny flexibles sense modificar el codi font.


Subsistemes principals
#

El joc està estructurat al voltant d’una arquitectura modular. El mòdul principal de l’aplicació (j1App.cpp) gestiona el cicle de vida de tots els altres mòduls cridant mètodes de classe base compartits:

  • Awake
  • PreUpdate
  • Update
  • PostUpdate
  • CleanUp

Fàbrica d’entitats
#

S’utilitza un patró factoria per crear i gestionar totes les entitats del joc, millorant tant l’organització com el rendiment.

Mòdul d’UI
#

El sistema d’UI està completament desacoblat de la lògica de gameplay. Gestiona esdeveniments de manera independent, permetent una separació neta entre la interfície i els sistemes principals.

Dades basades en XML
#

Els mapes, animacions, textures, rutes d’arxiu i dades de la UI es carreguen des d’XML. Això millora la llegibilitat, facilita la iteració i evita els “números màgics” codificats.