I'm making a serious effort to create a PICO-8 version of Sid Meier's Civilization. This is a challenge because the rules are complicated but I'm having fun and that's the primary reason to do anything.
- Options menu
- Initial city manager implementation
- Implemented unit production selection
- Added units: Cannon, Chariot, Armor, Mech.Inf, Artillery, Sail
- Added black border to cities that contain a unit
- Minimap shows explored map, cities, active unit
- Implemented tribal/goody hut
- Show player gold
- Fixed movement stuck bug
- Added units: Musketeers, Riflemen, Knights, Catapult
- Fixed double movement bug
- Implemented building and moving on roads
- Centralized unit data
- Fixed crash when choosing 'customize world'
- Fixed crash when building second city
- Added 'Disband' unit action
- Code optimizations
- Centralized menu code
- Made game sidebar 8 pixels wider
- Improved tribe colours
- Implemented exploration fog
- Implemented unit actions (only skip turn or build city, currently)
- Implemented building cities
- Cities will grow/build units semi-randomly
- Current randomly available units: Settlers, Militia, Phalanx, Legion, Cavalry, Tririme
- Optimizations to map generation algorithm
- Added main menu logo animation
- Added loading screen
- New game parameter selection (difficulty/number of civs/tribe)
- Gameplay UI
- (Very) Initial gameplay
- For debugging purposes, the player starts with a settler, a militia and a tririme unit
- Use the (O) button to toggle between player and camera(map) movement
I have implemented the map generation algorithm of Sid Meier's Civilization in a PICO-8 cartridge, with the intention of implementing part of the Civilization gameplay. This is started mostly as an exercise for me to find out how to optimize PICO-8 code, but I think getting (at least a part of) the gameplay implemented is not far fetched.
It's going to be tricky, but I want to get some kind of AI implemented.
First goal is to add the city manager, allow free choice of production and implement discoveries. After that, I will need to start making space saving optimizations: I'm nearly at 6000 tokens, but I've got many ideas for optimizations.
At the moment, I think if I get some kind of AI implemented, it's going to be very passive. I don't think there's enough space to add war, peace and alliances.
This is incredible! I was just remembering this earlier today and wanted to check out the progress. Looking so cool!
On the subject of AI, would it be possible to cram certain elements in additional carts similar to something like UnDune? If you could store any pertinent info for AI into the "general use" area of PICO's RAM that is held between multiple carts (even between multiple BBS carts) https://pico-8.fandom.com/wiki/Memory#General_use
Even if you coded each AI as its own cart, you could hotswap turn data between each of them and finally land back at the original cart. I reckon this might also make things a little cozier for diplomacy art, civpedia, etc.
I know the actual implementing of this may be another discussion entirely, and I'm a pretty amateur coder, but loving this so far!
[Please log in to post a comment]