Outcome is a project aimed at creating an accessible, easy to work with simulation framework along with necessary tools.

The idea is to enable people to simulate complex systems in an extensible way, reusing models created by the community.

But why?

Today we face a total lack of easy to use tools enabling advanced worldbuilding and world simulation, not to mention lack of open source engines when it comes to strategy and grand-strategy games. This project is an attempt to make things a little better in that respect.

By building worlds resembling the real one, there is also enormous potential to educate and raise awareness about difficult global problems we face in our modern age. This is an important task since within the next few decades we are likely to face many of the widely acknowledged anthropogenic global catastrophic risks.

What is the current status of the project?

Basic functionality is in place, with much more planned. Right now it’s a matter of putting enough time into the project to make things usable and to document everything.

If you want to play with what’s already available definitely check out the download section. If you want to run the newest versions of the software you will need to build from source. It’s not as hard as it sounds. If you need help feel free to ask a question on the irc or discord chat.

If you want to see the project grow, make sure to help support it.

See project overview for more information about the software subprojects, and the project status page to learn more about what’s being actively worked on right now.

What is a simulation framework?

For our purposes a framework is an environment, or an interface, set of rules, allowing for creation of different specific applications using more generic functionality. In our case it’s about the ability to create different simulation models, using the underlying set of building blocks.

Outcome project sets out to provide a simulation design framework allowing for different, albeit for now structurally and/or thematically related, use cases.

If it sounds way too abstract and you want to learn more about the specifics check out the documentation section on the basic concepts.

Models created by the community?

One of the goals of this project is to enable multiple people to work on simulation models together.

Collaboration, made possible by the modularity of the underlying simulation framework and input data, as well as the overall focus on accessibility, is key.

Amount of work and research required to build a useful simulation model, or a part of a model, can be overwhelming for any one person. Exploring easier ways of collaboration and reusing work of other people is important.

What are some of the use cases for this project?

If you wanted to use it to create a deep-simulation game or an interactive app with a rich living world, but don’t really want to reinvent the wheel and potentially want to reuse models created by other people, that would be one likely use case. Or if you wanted to learn something about how certain complex systems behave and interact with other complex systems, but don’t have a science degree or access to state-of-the-art supercomputer models.

Assessing the more general potential of the design approach taken with this project is hard. The base engine is kept relatively basic and generic so it can scale well and be useful in different kinds of situations, but it’s not certain that it will be. The design of the engine imposes important limitations on the possible models to be created for it. There are tradeoffs to be had, as with most things, and the overall design here is heavily influenced by the larger goals of the project.

What kind of tools are being developed?

Simulation models are not enough, we need to be able to do things with them, like run and analyze them. Related to the idea of community-driven development of simulation models is the idea that we need tools for dealing with designing, running and analyzing simulations that are accessible and easy to use.

endgame is the all-in-one command-line tool, currently the most useful:

furnace is the GUI tool built with the user in mind, currently development is on hold:

Going beyond simple tooling, anthropocene is a game using the outcome simulation engine, it uses networking functionality provided by endgame to interface with simulation runner server from Unity’s C#