Joan Pau Rahola
Tots els projectesProjecte 03 / 05

Hefest: videojoc multijugador en món obert

Videojoc de conducció i contraban amb estat compartit en temps real entre jugadors.

Any
2025
Context
Projecte personal
Stack
Unity · C# · Netcode for GameObjects

Hefest és un videojoc multijugador de conducció i contraban ambientat en un entorn urbà obert, desenvolupat amb Unity i C# entre juny i novembre de 2025. Va néixer de l'interès per entendre com funcionen els videojocs internament i va evolucionar cap a un projecte de complexitat considerable: sincronització d'estat entre clients, autoritat de xarxa, càrrega d'escenes coordinada i sistemes de joc interdependents.

En síntesi

Sincronització d'estat en temps real i disseny de sistemes interdependents

01

Context

El jugador ha de transportar una càrrega fins a un punt fronterer travessant controls policials, tallers i garatges, en un entorn que reacciona a les seves decisions. Des del punt de vista tècnic, el repte central és mantenir diversos clients d'acord sobre un món que canvia contínuament, sense desincronitzacions ni estats inconsistents.

El desenvolupament va ser iteratiu: diverses parts es van reescriure un cop funcionals per resoldre limitacions de disseny que només es van fer evidents amb l'ús.

02

Sistemes principals

Basat en Netcode for GameObjects, el joc sincronitza vehicles, jugadors, escenes i cinemàtiques. Quan un jugador canvia d'escena, la resta de clients carreguen els elements necessaris per mantenir la coherència global. La principal dificultat va ser definir l'autoritat sobre cada objecte i gestionar-ne la transferència quan es perd en ple moviment.

03

Aprenentatges

El projecte em va donar un domini sòlid de C# i Unity i experiència en problemes propis dels sistemes distribuïts: autoritat, consistència i tolerància a la latència. També va ser el primer contacte amb la integració de serveis externs dins d'un bucle interactiu, on cal preveure respostes lentes o errònies sense degradar l'experiència, un problema directament aplicable als sistemes amb IA en producció.

04

Stack

  • Unity (C#) Motor, física, interaccions i interfícies.
  • Netcode for GameObjects Sincronització, autoritat i escenes compartides.
  • Cinemachine Càmeres dinàmiques i cinemàtiques sincronitzades.
  • ShaderGraph Efectes visuals i materials propis.
  • NavMesh / AI Tools Navegació i comportament dels NPCs.
  • Blender Models 3D.
  • Git / GitHub Control de versions.
05

Estat actual

El multijugador és estable, amb cinemàtiques sincronitzades, conducció, inventari i interacció amb objectes. El desenvolupament es va aturar el novembre de 2025 per prioritzar Capital Tracker; la base actual permetria reprendre'l.

Següent projecte
Aplicació encastada per a Raspberry Pi