I already mentioned I take part in Get Noticed 2017 (PL). I like the idea; it may let me finally finish the project I was taking up about three times in the past four years.
I was on a two-week trip to London to brace myself for coding. It let me do quite many valuable observations about the city and how it works. I made a logo for the game (yay!). Here we are:
As you can see I decided to go with plain colors and so-called flat design what should match low poly world nicely. After a thought, there is not much design in this picture 🙂
The project
Every project needs a plan. This one below is a loose one, but it will do for some time.
I use some libraries, but the majority of things are built from the ground up. Particularly challenging (or time-consuming) are the renderer (basically everything from data to an image on screen), and the simulation (that’s where the city grows). Regarding the latter, I will keep things simple and try to decouple code as much as possible so that I can create proper engine later.
I want to make a playable game in this short timespan (by the end of May), so the list of functionalities to implement got shorter:
- Infinite terrain in chunks
- Zoning, generating buildings inside the zones, randomizing some parameters to differ buildings visually
- Roads: placing roads, generating road network graph
- Electricity: plants, power lines, power consumption, power shortages
- Park tiles
- Simulation: passing the time, land value, zone demand
- Budget: calculating budget summary, different tax levels (fixed)
- Data views: zones, energy grid, land value
Not in this list are game saves. I’m not sure if it will make sense to develop bigger cities having quite simple mechanics of simulation. I don’t have time nor knowledge how to create a plausible model of computations. This thought leads me to the conclusion that saves are not needed yet.
I consider some other features, with no specifics so far. I may add them to my roadmap, we will see.
Taking in mind that I need to write a 3D engine, the whole of UI, handle input, etc. that’s quite a challenge. I plan to revisit those ideas after a month or so.
The schedule
I’m going to post three times a week:
- Friday is for week summary; it will be a short note with changelog and screenshots. I hope to release x64 builds starting from next week.
- On Sunday: technical article about anything that caught my thoughts recently.
- Every Wednesday I explain a feature I wrote the previous week.
Click here to follow me on Feedly:
RSS URL is: http://antoniak.in/blog/feed/
If you use Facebook: http://fb.me/antoniak.in.blog
Twitter: https://twitter.com/_kantoniak
Repo (there is content already!): https://github.com/kantoniak/konstruisto
That’s a lot of work! I hope you can make it, and I will visit your website (added it to my RSS reader). Good luck!
That’s true, I guess I will have to take some shortcuts like some rendering library for UI, not polishing features etc. Good thing is I can strip out some features and the project won’t hurt so much.
Pingback: Konstruisto – Week #2 | Krzysztof Antoniak