This will be a reimplementation of the game Singularity ( https://github.com/SoPra18-07/Singularity ) in Rust using amethyst. Also inspired from Achikaps.
Stage: implementing parts / planning.
To run the game, simply use cargo run
. A recent rust installation is recommended. Make sure to have the amethyst dependencies installed.
On macOS: cargo run --no-default-features --features "metal"
.
(and are somewhat on their own, so they might result in their own crates if nothing applicable can be found)
- Screen Manager -> use amethyst state machine
- Input Manager -> amethyst has one
- Sound Manager -> amethyst has one
- Physics / Game mechanics -> keep looking
- Map -> might need custom implementation
- UI -> amethyst has considerable implementations already. There is little documentation though ...
- Pathfinding (
graph-paths
,flow-paths
,heatmap
,A*
, ...) -> probably custom implementation - Prioritized Task-based work distribution (DistributionManager) -> absolutely custom implementation
- Platforms (with all their mechanics, PlatformActions) (will probably result in a combination of entities and systems and event channels) -> custom implementation
- The Graphics themselves -> get them somewhere or create own?
A plan of things I intend to implement (which is one of my initial plans for this project) can be found in the PLAN.md.
Take a look at the issue tracker or the Project how the progress is in detail (it is likely to be more frequently updated than the plan). If something is not clear, feel free to ask for clarification.
The awesome Logo was made by Yvan Satyawan yvan674 (Splash.jpeg and Splash2.jpg).
If you are compiling on Linux, make sure to install the dependencies below.
$ pacman -Sy grep gcc pkgconfig openssl alsa-lib cmake make python3 freetype2 awk libxcb
# apt install gcc pkg-config openssl libasound2-dev cmake build-essential python3 libfreetype6-dev libexpat1-dev libxcb-composite0-dev libssl-dev libx11-dev
# dnf install pkgconfig gcc openssl-devel alsa-lib-devel cmake make gcc-c++ freetype-devel expat-devel libxcb-devel libX11-devel
# zypper install gcc pkg-config libopenssl-devel alsa-devel cmake gcc-c++ python3 freetype2-devel libexpat-devel libxcb-devel
See your distribution-specific installation process for the equivalent dependencies.
Please note that you need to have a functional graphics driver installed. If you get a panic about the renderer unable to create the context when trying to run an example, a faulty driver installation could be the issue.
Network can be found here.