This is the place to start for anyone wanting to learn more about the Evoli game and our agenda as an Amethyst showcase project. For a quick overview of essential reading, see Evoli Sitemap.
What we’re here to do
Evoli is a project by the Amethyst #showcase team. Seeing as Evoli is currently the only project of the Showcase Team, the two teams can be considered the one and the same.
Our mandate is to create a game that showcases a selection of Amethyst’s key features.
We will not be spending a majority of our time writing code for the Amethyst engine*. Our focus is on writing game code. There will however be many potential byproducts of our “make a game” mandate:
tooling (mostly integration of existing tooling, but original work can also occur)
stand-alone modules (steering behaviours, AI…)
loads of genuine Amethyst dog-fooding.
open source, documented example code (we will try to come up with some form of LTS releases, which will continue to work for a long time without changing much)
widening Amethyst’s onboarding funnel.
act as a real-world-application benchmark for Amethyst, especially ECS performance.
If even just a few of these byproducts materialize, it’s a big win for the organisation. Right now we’re narrowly focused on finishing a game product.
These will change over time, alongside the game.
finish a game experience that is playable from a beginning to an end. The game should be novel enough to attract new contributors/stakeholders to both Amethyst as well as the game itself.
at a certain major iteration, a LTS if you will, we’re gonna hit pause on development and only document the status quo for a while. This (a) improves our codebase’s value as a teaching-game for Amethyst, (b) provides an excellent contributor pipeline for us and (c ) will be praised by our future selves whenever we’re coming back to make small or big changes.
over the course of development we will abstract out things like steering behaviors if and when we identify compatible overlap with other projects. We’ll also be continuously testing Amethyst’s tooling story and will readily do integration work whenever necessary.
We are NOT trying to use every system Amethyst currently has on offer. Our focus is on demonstrating an excellent use case for some carefully selected features of Amethyst.
We are NOT trying to be an aesthetic showcase at this point in time.
Evoli - An ecosystem in a bottle
Imagine a 2D terrarium. A tiny ecosystem enclosed in a sealed container. Inside this closed ecosystem exists (for now) three types of living creatures: Plants, Herbivores and Predators. The goal of the player is to maintain the balance of the ecosystem, not letting any entity type go completely extinct.
In later iterations of the game the player will be able to use mutations to generate a practically infinite amount of entity variations, and with that a new end-goal mechanic is unlocked: Create the greatest entity diversity possible without the ecosystem collapsing.
Later still there will be multiplayer applications to play with, but we’ll be focusing on single-player for the foreseeable future.
We have a working simulation, but it does not yet have any interactive features.
We are currently working on the MVP specification of the game. This spec aims to implement the minimum amount of features necessary in order to convey the essence of what we hope will be an increasingly more complex game.
The current state of the game implementation is explained in our Implementation tracker topic. In short, we’ve made good progress and the project is now open to anyone interested in contributing. See our 0.1 MVP milestone for available issues.
Some experience with Rust, game development or both is recommended, but we’re happy to anyone interested in what we’re doing. A good way to get started is to run the game, peruse the source code and start asking us questions about stuff you want to understand better.
We want that too! Whatever you think you might be able to contribute to this project, let us know about it. We’re already working with @jakob_t_r as a music composer and we’d love to get some help fleshing out our art direction doc. If any biologists or other evolution-savvy scientists want to talk to us, we’d be honoured!
@evoli_team currently consists of 4 active members:
- @erlend_sh Design lead & management
- @khskarl Development lead
- @marot Development
- @sunreef Development
Where to talk to us
General questions, social chatter:
#showcase-teamchannel on discord.gg/amethyst
Design discussions, coordination, meetings:
Bug reports, completed feature specifications, PRs:
*Clear definition pending