56 lines
2.1 KiB
Markdown
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++
|