rgoulter / amethyst-action-game-3d

Trying out Rust's data-oriented Amethyst game engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Toy 3D Action Game using Amethyst Game Engine

This is my project for playing with some Rust, an entity-component system (ECS) library.

  • Amethyst game engine.

  • Textured 3D model.

    • The texture can be replaced (e.g. for unit's team colour).

    • The controls can move this model around.

  • A spritesheet-tiled plane.

  • A very simple main menu.

Setup

Running using Nix Flakes

For running the application, with Nix Flakes:

nix run github:rgoulter/amethyst-action-game-3d

or from the repository root:

nix run

Running using Nix Flakes on non-NixOS

On non-NixOS, it's somewhat more involved.

NixGL can be used to run the program.

So, with a fresh install of Nix the command to run the program is:

nix run github:guibou/nixGL#nixVulkanIntel \
  --no-write-lock-file \
  env LD_LIBRARY_PATH="" \
  nix run github:rgoulter/amethyst-action-game-3d

Compiling

Using Direnv + Nix Flakes

With direnv and Nix Flakes, the .envrc uses nix-direnv to load the development dependencies. Then run e.g.:

cargo build
Using nix-shell

Using Nix, e.g., can open nix-shell, then development can be done with:

nix-shell$ cargo build
Non-nix Setup

Otherwise, dependencies as per amethyst/amethyst.

About

Trying out Rust's data-oriented Amethyst game engine


Languages

Language:Rust 88.2%Language:Nix 11.8%