gammarena/NOTES.md
Adrian Malacoda 8574185344 add goal
2018-04-23 01:38:09 -05:00

56 lines
2.1 KiB
Markdown

# Gammarena Notes
## Goal
The goal of Gammarena is to be a multiplayer first-person shooter deathmatch game similar to [OpenArena](http://www.openarena.ws/), with support for **custom character models, maps, and weapons**. Moddability and scriptability are concerns, bot AI is an eventual concern, but a single player campaign is currently **not**.
Key to this is the ability to either natively load, or effortlessly import, various types of maps models used by other games.
Gammarena runs as a client+server or as server only, and other clients can connect to it and run games on it.
## Engine
### Piston
https://github.com/PistonDevelopers/piston
#### Pros
* Pure Rust
* Under active development
* Probably the most popular Rust game engine
* [Widely used](https://github.com/PistonDevelopers/piston/wiki/Games-Made-With-Piston)
* Has [tutorials](https://github.com/pistondevelopers/piston-tutorials) and [examples](https://github.com/pistondevelopers/piston-examples)
* Also has [documentation](https://github.com/PistonDevelopers/piston/blob/master/GUIDE.md)
#### Cons
* May be lacking in features we require
### unrust
https://github.com/edwin0cheng/unrust
#### Pros
* Pure Rust
* Supports webgl (probably not relevant for us but nice to know nonetheless?)
* Under active development
* Has demos
#### Cons
* Under active development, still being worked on
* More high level stuff (network support, model loading, levels) will probably need to be implemented
* On the other hand, implementing these things helps the state of game development in Rust, generally.
* We would eventually be "[rewriting ioquake3 in rust](https://github.com/ansuz/RIIR)"
### Cafu
https://www.cafu.de/dive-in/
#### Pros
* Under active development
* Seems mature
* Has [documentation](https://docs.cafu.de/)
* Comes with [map editor](https://docs.cafu.de/#the_map_editor)
* which can [port maps from other games/engines](https://docs.cafu.de/mapping:cawe:porting), apparently
* Comes with [model editor](https://docs.cafu.de/#the_model_editor)
* Has a [demo](https://docs.cafu.de/cppdev:startnewgame)
* Supports Lua scripting
#### Cons
* C++
* May not be flexible enough for our use case
* C++