Releases: open-mafia/open_mafia_engine
Major Rewrite, Stable(ish) Version
This is a complete rewrite, compared to the previous "minor release" that was 0.4.0-beta and especially the ancient "stable" 0.1.0 version.
The idea for this rewrite was to lower the amount of boilerplate needed to define your own games, remove YAML definitions in favor of function-based declarative definitions, and inherently implement "converters" to simplify defining targets for actions and abilities.
Other improvements:
- The docs were rewritten to be sexier, more readable, and more useful in general. Automatic doc generation from docstrings is really nice.
- A "command" API was introduced to allow working with the Engine directly from external systems. An example console application, called
mafia-cli
, was also created to both showcase this API and act as a test bed. - An actual application was built using the 0.5.0 version of the library, which helped to smooth out some rough edges.
It's still not perfect, but much closer and much more usable to someone other than the author. 😄
Added example CLI app & Updated Docs
- Created a useful console application to use as a playground.
- Updated docs to 0.5.0 syntax (mostly - will have to re-check before release).
- Updated doc styling & layout.
- Misc. bugfixes
More stable, fixed bugs and added more info to actions
Added "prefix tags" and expanded ability/trigger descriptions.
Fixed several typos/small bugs.
Improved parsing.
Expanded EndTheGame (action) and EGameEnded (event)
... and also bumped the actual version.
v0.5.0-alpha.4 Fixed version as well. Oof.
Fixes, new ".api" import, and new "command" API
Added import open_mafia_engine.api as mafia
import convention.
Added text-based CommandRunner, lobby support and such. Currently pretty provisional.
Added Phase events.
Added optional (temp) Pygments highlighting for commands.
Rewritten engine, at 0.5.0
The engine is rewritten from the ground up to include "converters", have more readable code, and hopefully require less boilerplate to use. 😄
Documentation & Minor Bugs Fixed
Wrote some actual documentation this time! No API docs or full tutorials yet, but this should be enough for developers to get started.
Also, fixed some minor bugs found during the documentation process.
Also, fixed poetry dependency (whoops).
Updated info on PyPI
This build should update the info on PyPI properly.
Testing PyPI and Docs
Created build process, now testing it out. Docs should be build automatically.
Proof-of-concept engine, API and CLI
This "release" is really just solidifying a PoC phase. This release will NOT go to PyPI, as I really couldn't recommend anyone install this software besides playing around a bit. 😄
The current intention is to rewrite the engine from a user-first perspective. We need to add things which were sorely missing, such as in-game information permissions (security) and API discoverability, as well as fixing fatal flaws (singletons in possibly-parallel environments, premature UUID's, etc).