ChrisNeedham24 / microcosm

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

Add multiplayer #117

Open ChrisNeedham24 opened 1 year ago

ChrisNeedham24 commented 1 year ago

Eventually, it would be cool to have multiplayer functionality. Probably will be P2P.

ChrisNeedham24 commented 1 year ago

Could also make it client-server, probably would be easier, and a basic Digital Ocean droplet is only $4 a month.

ChrisNeedham24 commented 1 year ago

Probably best to do this once the core game functionality is somewhat settled so that changes don't affect this.

ChrisNeedham24 commented 1 year ago

While core functionality is basically done now, I think this is something I'd probably want to do post-#20

ChrisNeedham24 commented 6 months ago

The more I think about it, the more I realise that #20 will likely take a very long time to implement - I'll do some investigation on this issue to see if it could be any quicker. If so, this might be the first cab off the rank.

ChrisNeedham24 commented 6 months ago

At this point, my investigation borders on actually doing it, so I'll commit.

ChrisNeedham24 commented 6 months ago

Will want to add some more statistics and achievements for this too.

ChrisNeedham24 commented 6 months ago

When this is done it would be worth making a new issue to update to Python 3.12 - there's a chunking method in itertools now that could have been useful.

ChrisNeedham24 commented 6 months ago

A number of files will probably be over 1000 lines at the end of this - should make new issues to refactor those once this is done.

ChrisNeedham24 commented 5 months ago

Will need to update the screenshot when done

ChrisNeedham24 commented 5 months ago

Might be worth making an issue once this is done to convert the save file format to use the new minified quads format

ChrisNeedham24 commented 4 months ago

Also will need to update the README to mention routers needing UPnP

ChrisNeedham24 commented 4 months ago

Once this is done, make an issue to implement turn timers (and potentially other game settings)

ChrisNeedham24 commented 4 months ago

Will need to migrate old float yields for quads to be ints - just round

ChrisNeedham24 commented 4 months ago

Once this is done, make a new issue to expand save naming - include faction, turn, game name for multiplayer? Basically just make it easier to tell which save is the one you're looking for.

ChrisNeedham24 commented 3 months ago

Probably will want to do a sweep over the entire codebase just to make sure everything still makes sense.