Ves al contingut
Tankerfield

Tankerfield

·466 paraules·3 min

Descripció general
#

Tankerfield és un joc de supervivència cooperatiu per a 4 jugadors on els jugadors controlen tancs i lluiten contra onades d’enemics. El projecte va ser desenvolupat per Gamificalo Studio, un equip de 8 estudiants de la Universitat CITM-UPC de Terrassa, Espanya.

Com a part de l’equip de programació, vaig implementar diversos sistemes centrals de gameplay i motor.

Repositori de GitHub



Les meves contribucions individuals
#

  • Integració del Quadtree en el pipeline de renderització
  • Sistema de controladors (detecció, vibració, remapejat + desat persistent)
  • Lògica d’IA enemiga i sistema de comportament basat en estats
  • Sistema d’Object Pooling
  • Extracció de sprites dels arxius originals del joc i models 3D
  • Millores al mòdul de mapa (ordenació de tiles, càrrega de col·lisions)

Extracció de sprites
#

Vaig investigar i implementar el flux de treball per extreure sprites tant de:

  • arxius originals del joc
  • models 3D (capturant i aïllant fotogrames d’animació)

Això va permetre a l’equip crear assets de més qualitat i mantenir la coherència amb l’estil artístic original.

Sprites de Tankerfield

Millores al mòdul de mapa
#

Vaig refactoritzar i ampliar el sistema de mapa:

Quadtree en el pipeline de renderització
#

Va millorar enormement el rendiment de la renderització garantint que els tiles i elements del món es descardessin i renderitzessin eficientment.

Ordenació de tiles
#

Ordre correcte dels elements segons profunditat i tipus.

Càrrega automàtica de col·lisions des de Tiled
#

Va fer la creació de nivells més ràpida, menys propensa a errors i més amigable per als dissenyadors.


Sistema de controladors
#

Vaig implementar tot el pipeline de controladors:

  • Detecció de controladors connectats/desconnectats
  • Vibració del controlador
  • Mapejat i remapejat d’entrades
  • Integració a la UI per a indicacions de botons
  • Desat de la configuració d’entrada entre sessions

Aquest sistema va garantir una jugabilitat fluïda per als quatre jugadors i adaptabilitat a diferents controladors.

Sprites de Tankerfield

Sistema d’IA enemiga
#

Vaig dissenyar un sistema d’IA basat en estats, facilitant l’extensió, la depuració i l’equilibri dels enemics. Alguns estats implementats:

  • GET_PATH – Cerca de camí cap al jugador més proper
  • MOVE – Seguir el camí generat
  • BURN – En ser alcançat per foc + oli, els enemics entren en pànic i reben dany amb el temps
  • TELEPORT – Els enemics lluny dels jugadors reapareixen més a prop
  • UNSTUCK – Lògica per recuperar-se quan els enemics apareixen o es mouen sobre un tile no transitable

Aquest disseny modular va permetre als dissenyadors afegir nous tipus d’enemics i habilitats ràpidament.


Sistema d’Object Pooling
#

A causa de l’elevat nombre d’enemics i projectils en pantalla, vaig implementar un object pool per evitar assignacions de memòria innecessàries. Això va millorar significativament el rendiment i l’estabilitat de memòria, especialment durant les onades avançades.

Tasques addicionals
#

  • Implementació de la lògica del llançacoets (comportament de tret basat en distància)
  • Múltiples correccions d’errors i millores d’estabilitat al llarg del projecte