gore-and-ash: Core of FRP game engine called Gore&Ash

[ bsd3, game, library ] [ Propose Tags ]
Versions [RSS] 1.1.0.1, 1.2.0.0, 1.2.1.0, 1.2.2.0
Change log CHANGELOG.md
Dependencies base (>=4.7 && <5), containers (>=0.5.6.2), deepseq (>=1.4), exceptions (>=0.8.0.2), hashable (>=1.2.3.3), linear (>=1.20.3), mtl (>=2.2), parallel (>=3.2), profunctors (>=4.3), random (>=1.1), semigroups (>=0.15), time (>=1.5.0.1), transformers (>=0.4), unordered-containers (>=0.2.5.1) [details]
License BSD-3-Clause
Copyright 2015-2016 Anton Gushcha , 2016 Levon Oganyan , 2014-2016 Ertugrul Soeylemez
Author Anton Gushcha, Levon Oganyan
Maintainer ncrashed@gmail.com
Category Game
Home page https://github.com/Teaspot-Studio/gore-and-ash
Source repo head: git clone https://github.com/Teaspot-Studio/gore-and-ash.git
Uploaded by NCrashed at 2016-11-19T12:12:57Z
Distributions
Reverse Dependencies 8 direct, 1 indirect [details]
Downloads 3005 total (13 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for gore-and-ash-1.2.2.0

[back to package description]

gore-and-ash

Core package of game engine called Gore&Ash. The engine has following features:

  • based on arrowised FRP (netwire)

  • provides high-modularity and reusability. Actually the core can only compose modules that extends engine capabilities.

  • actor based style of programming, see gore-and-ash-actor module.

  • network API over UDP with user controlled reliability, see gore-and-ash-network module.

  • synchronization EDSL that greately simplifies complexity of client-server programming, see gore-and-ash-sync module.

  • input module via SDL2 library, see gore-and-ash-sdl module.

For complete proof-of-concept, see gore-and-ash-demo repo that contains implementation of simple game.

Making your own module

You can generate backbone of core module with stack:

stack new gore-and-ash-testtemp ./gore-and-ash-module.hsfiles -p module-name:TestTemp -p module-name-lower:testtemp --solver