metacosm
Description
Metacosm is an awesome microframework for building reactive systems.
Goals
Enable quick prototyping of command-query separated architectures, and empower development of event-sourced systems.
Background
One core concept is that we use commands to update "write-only" models, which trigger events that update "read-only" view models that are used by queries.
Models only transform their state in response to commands, so their state can be reconstructed by replaying the stream of commands.
Features
- Distributed simulations using Redis
Examples
- Game of Life, which implements Conway's game of life using metacosm and gosu
- Socius, a civlike using the Redis integration to communicate with a game server running the sim
Requirements
Ruby 2.2.1 or higher and Redis. Gosu dependencies are needed for the client.
Install
$ gem install metacosm
Synopsis
$ metacosm
Copyright
Copyright (c) 2016 Joseph Weissman
See LICENSE for details.