Giter Site home page Giter Site logo

mafiaengine's Introduction

Mafia Engine

Engine for Mafia-like games. Unsurprising, right?

This project is a Proof-of-Concept, and is being rebuilt at:

https://github.com/open-mafia/open_mafia_engine

for higher flexibility and readability.

Development

The initial game engine was being built, along with a minimal set of abilities (later on, a large set of stock abilities will be available). Currently, the example game runs approximately like this:

Example Mafia Game

and everything about the game is hard-coded (no config yet).

We plan on fixing that in the open_mafia project.

Motivation

Running a Mafia game, either in real life (IRL) or on a forum, takes a bit of work. If that Mafia game is non-trivial, such as having a convoluted set-up or being a BYOR (Bring Your Own Role), maintaining all players' statuses, actions, votes, etc. becomes exponentially harder to keep track of.

By making a unified representation of a Mafia game, as well as an engine to automatically calculate the state of your game-world, this difficulty gets front-loaded into defining the game (i.e. before the game starts), so running the game itself takes much less time and energy. It can also help reduce the amount of errors, increase consistency, and remove moderator bias.

Additionally, by defining games in a machine-readable way, the task of machine learning on Mafia games (e.g. predicting the mafia based on words, playstyle, etc.) becomes much easier, as all the data is there and doesn't need to be gathered by hand.

Planned features

Near-term:

  • General definition of a mafia game (via config)
  • Runnable GM tool with command-line UI
  • Example ("vanilla"/"mountainous") mafia game
  • State saving, with full history

Long-term:

  • Workable API
  • Interaction with various mafia forums (starting with Bay12Games forums <3):
    • Automatic thread parsing
    • Helper for modding/GM-ing (player statistics, vote counts, etc.)
    • Searchable history, i.e. for machine learning tasks
  • ???
  • Profit!

mafiaengine's People

Contributors

nowanilfideme avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.