patanext-project / patanext

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Finish City gamemode

guerro323 opened this issue · comments

Game

  • Add locations (Headquarters, Team Totem, ...)
  • Make sure that this gamemode can be run at the same time with other gamemodes

Client

  • Add location graphics

I may remove Make sure that this gamemode can be run at the same time with other gamemodes since this mean it would require to keep the army and formation and city data alive, which can cost bandwith for replication and multiplayer.
I could introduce a "save/restore" system on the City gamemode, which would save important data (character positions, etc...) to replace the original goal

I may remove Make sure that this gamemode can be run at the same time with other gamemodes since this mean it would require to keep the army and formation and city data alive, which can cost bandwith for replication and multiplayer.

The only problem if I remove the city gamemode while another gamemode should run is that the game doesn't know what to do after the gamemode need to end, it would just finish here, and nothing else would happen.

The best would be to either have:

  • A singleton component that say what should happen when a gamemode is finished
  • A component attached to the gamemode that say to recreate the city gamemode (which will be added via the city gamemode)
  • The city gamemode will still live, but it will detect when another gamemode is present and will cleanup useless resources (such as freeroam units and colliders), which mean the gamemode will be like in a "sleep" state. It will awaken again when the other gamemode is finished.

From all of these options, 3 seems to be the best, and 2 can be done.
I don't like option 1 since it's a singleton, and must mean that all gamemodes must know about it.

3 is best because it's like a sub-layer, when that sub-layer is destroyed it goes back to the parent, which simplify everything

Option 3 was selected, and the gamemode is in a finished state for the barracks build, so this issue will be closed!