Incremental Updates and Making the Bed
Building the physics engine used for Engines Of Creation took me around 2 weeks, after that, making the game was downhill. Mostly because all the functionalities I wanted to do were proof of concepts of some functionality of the engine.
DearImgui helped a lot to manipulate variables, game states and display information.
Once I had the core mechanic (creating structures and measure the energy output) I reached a very important phase of the development.
The Game Will Tell You What To Do Next
Once I started to play with the prototype, I found "needs", like "o, to create a locomotive linked generator, both generators must be exactly the same size". So this need turned into the "fixed sized generators", where, instead of dragging and dropping to define the size of the generator, you just click where the generator should be and it will apear.
The fact that the game was telling me what to do in the form of "oh, I wish there is a better way to do this" feeling, allowed me to add a lot of variations and game mechanics, and ways to create structures to collect the free energy from the falling particles.
The physics engine was very limited, but has a very confortable way to work with it, since everything were particles and constrains between particles, like some particles can not ocupy this area, this two particles must be at exactly the same distance from each other... allowed me to create the tools that made the game what is it. And I'm super happy on how the game turned out. Creating structures with the sandbos was very entertaining and its easy to spend hours trying different combinations.
Another quality of life improvement that the game needed, and that it was asking for, it was the snap-to-grid functionality. Some structures, like the Jansen's Linkages needed a specific distance between the particles to work, and measure by hand was very hard, the grid helped with this.
Incremental Updates Should be Small
I can not stress enough that the core mechanic must be very simple. In my case, creating a particle and adding a constrain. After that, the incremental updates should be small too. How small? whell, a rule of thumb is that it should be as hard as making your bed, or taking a shower, making yourself some tea. An example of that is "constrain the user created particles to the screen", it was just write a function and adding a property to the particle to diferentiate the particles created by the user and the particles dropped by the game. Another example, "snap to grid", another function, where I capture the mouse positions and if a variable is set, then apply a mathematical function to make the mouse "snap" to the gris vertex.
Keep it small, keep it solid, be in control. You will love it.
Summing Up
I found very productive to have a core mechanic, so simple that is not even a game, start to play with it and add what seems that is needed, the coold thing about this is that you will always have a finished game on every given time.
Files
Engines Of Creation
Status | In development |
Author | weremsoft |
Genre | Simulation |
More posts
- Overcoming The Limitations of WebAssembly47 days ago
- Creating a game with your own engine for a jam.48 days ago
Leave a comment
Log in with itch.io to leave a comment.