Log In  


Cart #picociv-7 | 2022-03-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
10

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.

Changelog

v0.6

  • Options menu
  • Initial city manager implementation
  • Implemented unit production selection

v0.5

  • 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

v0.4

  • Added units: Musketeers, Riflemen, Knights, Catapult
  • Fixed double movement bug
  • Implemented building and moving on roads
  • Centralized unit data

v0.3.1

  • Fixed crash when choosing 'customize world'
  • Fixed crash when building second city
  • Added 'Disband' unit action

v0.3

  • 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

v0.2

  • 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

v0.1

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.

10


1

This is awesome, I love Civ1. Do you think you will be able to add ai?


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.


Hope this project goes further. Can't wait to see progress!


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!


Cool! The only problem is, I don't remember how to play Civilization. Still, looks pretty good!


Hello. Thanks for the interest. I'm very sorry to say that I've been experiencing burn-out and at the moment I find myself incapable of any programming. I really have a wish to continue development eventually, but it's just not possible at the moment. So sorry.


that happens to the best! the most important thing is to take care of yourself, and you can come back to the hobby when it feels good to. thanks for sharing the game!


You've got this bud! Take care of yourself first and foremost.



[Please log in to post a comment]