I mostly worked on it with the mindset of getting something done as a starting point for a team project, in which becomes much easier to raise a task list that people can pick and do, and to see the shortcomings of this iteration to improve on it.
“Wow, look at these charismatic faces, can I take one of them in a date?” - Maybe you, impressed by the beautiful magenta lines and the brutal charisma of a carnivorous entity.
This prototype has some very basic steering-like behaviour, it has a Wander behavior, a system to enforce bounds
EnforceBoundsSystem and a weakly opinionated structure for the project.
By weakly opinionated I just mean it has a structure but the opinion is restricted to “What felt good at the moment to have a rather modular structure”, so it isn’t anything well planned, actually I think the structure of the project can benefit a lot more from a discussion as a team, the current structure is useful exactly to have a common reference point to tear apart and improve.
The wander behavior is implemented as a
WanderSystem, which uses mainly the components
Movement is intuitive, but why both
Wander components? That’s where I felt most unsure how to continue, while a
Wander component is enough, if removed the entity loses it’s
Wander data, so this raised the question, what data will be contained in
Wander? Should it contain persistent wander attributes like
wander_speed or should these be found in a
These are a couple of questions I had while developing this and work as good starting points for a discussion.
During said development I also felt lack of a few things, which helped inspire this task list. The task list is mostly a series of suggestions on what to do next, any comment, suggestion or criticism on the is encouraged.
- [ ] Plant entity instancing
- [ ] Carnivorous entity instancing
- [ ] Herbivorous entity instancing
- [x] Wander behavior
- [ ] Seek behavior
- [ ] Evade behavior
- [ ] Feeding/hunger system
- [ ] Health system
- [ ] Combat system
- [ ] Spawner entity
- [ ] Wall avoidance
(B) Quality of life
- [ ] Accelerate simulation
- [ ] Debug stats UI (delta time, fps, simulation speed)
- [ ] Loading sim and creature parameters from file
If anyone wants more information or justification for an item, or to change something in the list, just ping me.
E.g. “Hey @khskarl, what’s up with item A9? I don’t like violence! Can we change it? Or add a task for developing a peaceful mode, where all creatures just solve all their conflicts through mature, friendly conversations and poking each other on facebook?”.
If I forgot anything, please let me know!