Here’s a little sample of progress on the remake: https://dancewiththedevil.net/download/idcbrm-zip/
If I did this correctly, the zip file contains the json file and images necessary to run the game in the GDevelop editor.
Most of the core functionality is working, although it’s still spare on the bells and whistles and feels.
Here’s a image to help assist with gameflow…
1: status display - tells you about progress and what’s going on in game
2: inspire selection - shows your selected “inspiration” to build
3: use the arrows to scroll through available inspirations
4: tells you about the selected inspiration
5: Harvest button - used to gather resources. You need to gather energy to build your inspirations
6: harvest display - tells you what’s available in the current tile
7: player cursor - this shows your location on the map.
keyboard Arrow keys - up, down, left, right to move around the map
click harvest button - gather energy in available map tile
click inspire button - load inspiration for building
click player icon - build loaded inspiration
click inspire arrows - scroll through available inspirations
s key - save
L key - load
Gameflow/how to play:
At the start of the game, a loop will run to create the map. The map is composed of a 50x50 grid of 100px by 100px tiles. That’s 2500 hundred tiles to be created so it will take a few moments. I recommend waiting until this process is finished before doing anything else or strange things might happen.
Once the map is created, you can use the arrows to move around the map and harvest some resources so you can get to building.
As you collect more resources, different levels of inspirations will become available to you.
Build inspirations anywhere you see fit. Wait a few minutes and they will change the way the tiles grow, producing some different color and shading effects.
Every minute the game pauses the timer and rolls over a turn. At the turn, all your resources are increased by a percentage.
The save/load function is a big task for the engine. It has to save/load the location of each of 2500 tiles as well as the object variables that control the stats for each tile. The game will pause the timer on save/load and resume the timer after it’s finished. It will take a few moments for this operation to complete. Just be patient
That’s basically what I have going now. I tried my best to keep the code neat and well commented, although I’m not a professional programmer so I’m sure there’s lots of room for improvement. It’s as simple as I could make it, so hopefully it can be a useful tool to someone who wants to make a city builder sim but doesn’t know where to start. Would love to see this added to the examples, or a customized version of it. The images are CC0 and the source is unlicensed, so anyone is free to use it in any way they want.
Feel free to add to it/share back or leave suggestions.
Save/load should display the progress of the action it’s taking, in the same way progress is displayed when the map is being created… but for some reason it doesn’t work.
There’s a display bug which I don’t quite understand, but it produces some neat effects:
Every turn, the resources available in a tile are calculated to shade/color each tile. In theory, your resources grow every turn, and the tiles should only get bright/more colorful as they age. But every now and again, a tile will go dark, only to come back brighter and more colorful in another turn or few. I’m totally at a loss to understand what’s causing this, but like I said, it makes some interesting looking colors
Room for improvements:
No sound yet: will need to find some good free background music and sound effects for it.
The growth formula is very simple… I just did round(variable*1.01) each turn, for a 1% increase. I’d love to hear some input from any math wizards out there about a way to design a better growth formula. As it stands, growth starts out really slow, and as you get bigger growth hits astronomical proportions. I’d like it to be sort of reversed, so you start out faster and grow slower as you get larger, but I don’t have any idea of how to do this mathematically… if I were to attempt it, I’d do it with a bunch of conditions and it’d be an ugly mess to read.
I also want to add some random positive and negative effects that will depend on the condition of various resources to make the game more interesting, and improve descriptions for everything.