Giter VIP home page Giter VIP logo

risky's Introduction

Risky

LICENSE BUILD

A cmd line implementation of a Risk like game which supports up to 8 players and 4 modes:

  • Human v Human
  • Computer v Human
  • Computer v Computer
  • Training

The fourth mode is used exclusively for improving the AI's DNA, which can then be used as an opponent in mode two or three. During training (and all other modes) games can be logged and there output placed under a training directory so they can be reviewed or inspected later if so desired.

Risky is actually composed of 4 libraries:

  • log: a simple library for file logging
  • ini: a simple library for ini like configuration files supporting CRUD operations
  • dna: a simple library to make working with genetic algorithms easier
  • risk: exposes a Risk game like API to easily implement Risk like games quickly.

All of this is composed together to create an easily custom configurable risk game with AI (using genetic algorithms) layer on top to make things fun and interesting! Along with making gameplay easily configurable, the ini conf also makes it possible for the AIs to keep there intelligence between games. An example conf file (conf.ini) is included in the repo along with comments explaining the different sections, keys, and values accepted. The current configuration is setup for the classic risk map, cards, bonuses, etc. as well as coming set up with pre-configured AIs, but allows for the user to freely mutate, add, and delete as they deem fit. However, some caution must be taken when editing the conf, as it will be overwritten in mode four since DNA will be changing. All settings will be preserved, but comments will not be.

Prerequisites

  • gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 or equivalent
  • make

Getting Started

$ git clone https://github.com/rrozansk/Risky.git
$ cd Risky
$ make
$ ./risky conf.ini

risky's People

Contributors

rrozansk avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

jbro885

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.