2.1 KiB
2.1 KiB
Gammarena Notes
Goal
The goal of Gammarena is to be a multiplayer first-person shooter deathmatch game similar to OpenArena, 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
- Has tutorials and examples
- Also has documentation
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"
Cafu
Pros
- Under active development
- Seems mature
- Has documentation
- Comes with map editor
- which can port maps from other games/engines, apparently
- Comes with model editor
- Has a demo
- Supports Lua scripting
Cons
- C++
- May not be flexible enough for our use case
- C++