Roadmap for the future of the project Ep.2 Modules!
Hey Everyone! And welcome back to this bi-weekly update log
First of all, following my last update, I've matured my ideas a bit and tried pinning down an approximate conservative timeline for the project to keep you in the loop. Here it is :
First of all, I want to emphasize that 2 years is a very approximative estimate of the timeline. I could be way off in any direction depending on a vast amount of factors. This is with keeping in mind that I still have a full-time job as an engineer and can only dedicate a fraction of my free time to the project. It would change drastically if I managed to switch it around or go half-half, etc. (which I'm actively working toward).
In the same way, I could be grossly underestimating any of those features and end-up far over my predictions. But hey, that's part of gamedev and I don't want to make any promises ๐คท
So, back on the main subject:
Module-based Systems and DOTS
I've presented them separately in the past, but through my thinking and research, I've concluded that the best way about developing either is by developing them together. So let's go through each :
What is the Modularization of systems?
Right now, I've always faced a wall of complexity when wanting to develop new features. Mainly by the fact that bibites must follow a fixed structure, especially through their systems and their brain. While they absolutely can develop an infinitely large brain with an infinite amount of connections, they are bound to have the same input and output neurons. The same senses and possible actions. A good example could be that If I wanted to allow them to remember a place in space, every bibite could only have the same amount of "remembered places" that would have to be hard-coded. They could then obviously evolve the connection and the neurons to make use of it as they want (home, hunting grounds, last prey position, etc.) but still, that's a little bit too rigid for my tastes. I've been battling with this rigidity and issue for a while, and now I want to rework the whole foundation of the bibites.
Now, I want systems to be packaged as modules. Each module would contain its own neurons (both input and output if applicable) and genes. A few examples here :
As a result, Bibites could evolve an infinitely large set of senses, actions, and systems (of course some might only make sense as a singular exemplar).
This will eventually scale with the addition of procedural sprites to also represent and incorporate body parts and aesthetic modules.
What is DOTS?
DOTS (for Data-Oriented Technology Stack) is a new programming paradigm pushed by Unity (the game developing platform I'm using) that is nothing short of revolutionary. It promises blazing performance and incredible data efficiency. Basically, right now, every bibites has its own data and code and runs independently. This is Object-Oriented programming. With DOTS, the bibites would become nothing more than data representation, and the actual logic code would run in parallel over all bibites and systems. One thing this would allow is making far bigger simulations or running the simulations far faster (or both). While the technology (from Unity) is far from ready, I feel like it is mature enough that I'll be able to start and at least try gradually converting systems to that new paradigm.
Link to an incredible demonstration by Unity
Why together?
While modules are going to be a great step forward in allowing more complex systems and behaviors, it will probably also increase computing load and decrease performance. I won't hide the fact that this is already one of the simulation's big problem. As a result, instead of half-assing it, why not full-ass it?
Going all-in would probably swing us the other way and allow us to pursue incredibly big simulations, giving birth to far more diverse environments. In the opposite direction, it'll allow the simulation to run at a sufficient size on low-end systems and for more people to run the game!
In the end, it'll also free up a lot of space and performance for the upcoming ambitious updates.
So yeah, that's it for this time, stay tuned for the next post!
And again, feel free if you have any additional questions or comments about this devlog and related subjects!
Get The Bibites
The Bibites
A dive into real digital life
Status | In development |
Author | The Bibites |
Genre | Simulation |
Tags | 2D, artificial-intelligence, evolution, interactive, Life Simulation, Pixel Art, Procedural Generation, Sandbox, Unity |
Languages | English |
More posts
- The Bibites 0.6.0.1: Hotfix67 days ago
- The Bibites 0.6.0: Organs and Science!69 days ago
- The Bibites 0.5.1: Performance, Usability, and PerformancesFeb 26, 2023
- The Bibites 0.5.0: Modernity and ProgressDec 17, 2022
- The Bibites v0.4.2: Balance and stabilityJun 19, 2022
- The Bibites v0.4.1Mar 28, 2022
- The Bibites 0.3.0 : Artificial Life With Herding and VirusesJun 25, 2021
- It's official, this is launch ๐๐๐! Full-time on The BibitesMay 20, 2021
- Roadmap for the future of the project Ep.3 Procedural Sprites!Jan 24, 2021
Leave a comment
Log in with itch.io to leave a comment.