ChrisNeedham24 / microcosm

A little 4X game written using Pyxel.
GNU General Public License v3.0
11 stars 8 forks source link

Add achievements #116

Closed ChrisNeedham24 closed 1 year ago

ChrisNeedham24 commented 1 year ago

Cool idea for special things that players can achieve. Should be achievements of varying levels of difficulty. For example, Win a game is an easy one, but you could also have Win an elimination game with 10+ players.

ChrisNeedham24 commented 1 year ago

Will want to store these in statistics.json.

ChrisNeedham24 commented 1 year ago

I'm going to stick with achievements that can all be calculated at the same time after a turn has ended, so the below ideas won't be able to be done:

Maybe these can be introduced at a later date.

ChrisNeedham24 commented 1 year ago

~We also can't do the achievement 'Free For All' (Win a game with 14 players" because of how the end_turn() function works. This is because we never know when a player has actually achieved a victory. Separate handling could be added in save_stats_achievements() for this, but that's not something I want to do at this time.~

~The same applies for 'Speed Run' (Win a 2 player game in 25 turns or less).~

Realised that that would also mean none of the faction-specific victory achievements would work, so implementing now.