#cargo #cargo-build

deprecated build amethyst_cli

Deprecated, merged into amethyst_tools

6 releases

Uses old Rust 2015

0.1.5 Jan 27, 2016
0.1.4 Jan 13, 2016

#279 in #cargo-build

22 downloads per month

GPL-3.0 license

18KB
205 lines

Contains (Zip file, 2KB) new_project.zip

Amethyst-CLI

Build Status Crates.io GPL3 License

Command-line interface for creating and deploying Amethyst game projects. This project is a work in progress and very incomplete; pardon the dust!

Usage

The CLI interface is intentionally very similar to Cargo, so it is easily intelligible to Rustaceans. Unfortunately, it is very limited at the moment in terms of features. Below are the subcommands hacked together implemented so far.

new

Generates an empty game project, a fresh white canvas for your next masterpiece. The default directory structure is laid out like this:

project/
├── Cargo.toml
├── resources
│   ├── config.yml
│   ├── entities/
│   ├── input.yml
│   └── prefabs/
└── src
    └── main.rs

build

Compiles the current project. It's currently just a frontend for cargo build, but more features are in the works, like Lua or mruby script precompilation and offline GPU shader compilation for APIs that support it. And no, you're not dreaming. The --release flag doesn't work yet.

clean

Removes the target directory. Again, just like in Cargo. One day, this will have switches whether or not to clear out said precompiled scripts or cached shader program bytecode.

run

Runs the main binary of the project. A frontend to cargo run. Proposed extra features include real-time profiling and debugging, and manual skipping of levels when playtesting. Oh, and --release doesn't work here yet either.

What's missing?

deploy

Performs a clean rebuild of the game and engine, runs any unit and integration tests if there are any, zips up the resources directory, and places it and the game binary in a directory called deployed.

module

Grabs forthcoming Amethyst engine modules (e.g. rendering, scripting, physics, etc.) from either crates.io or GitHub, configures your Cargo.toml and modifies the resources directory accordingly. Once a new module is installed and configured, just drop your assets into the appropriate folders and you can start writing your game logic.

Contributing

Amethyst is an open-source project that values community contribution. Pull requests are welcome!

We assume you have granted non-exclusive right to your source code under the GNU General Public License 3.0 and you have processed your code with rustfmt prior to submission. If you want to be known as an author, please add your name to the AUTHORS.md file in the pull request.

Dependencies

~3MB
~55K SLoC