The ultimate WASM powered Fantasy Console.
Learn more about Gamercade.
Gamercade aims to solve the "I'm a small team/solo developer and I want to make a multiplayer game" problem. In order to have a successful game, these small projects need to have multiple successes:
With Gamercade, the first 3 requirements are removed. This creates a more modern development environment which lets game developers do what they do best: Make exciting games!
Every feature and function of Gamercade and its related tools are built with the goals of achieving the following:
gamercade_rs
helper crate.Currently, the community is mostly active on Discord.
We recommend reading the FAQ on our home page.
Follow these steps to get your first game project up and running. See the included resources for more information. Also consider making yourself comfortable with the Api Reference.
Building, bundling, and running games requires a few different steps, which all depend on eachother. Below are steps on how to accomplish this using the editor through the GUI. Alternatively, a more efficient way can be done via the gccl
tool. See the gamercade_cli
folder for more information about how to invoke and use gccl
.
A template example project is available at: rust_template
wasm target
by running rustup target add wasm32-unknown-unknown
..wasm
library. This can be done with cargo build --target=wasm32-unknown-unknown
../target/wasm32-unknown-unknown/debug/project_name.wasm
..wasm
already built from the previous steps...cargo run --bin editor
.wasm
file..gcrom
file in the location of your choice..gcrom
available to play from the previous steps...cargo run --bin console
Spacebar
..gcrom
file you wish to run, and click open..wasm
If you are not using any custom assets, or are okay with the default color palettes, you can also run the raw .wasm
files directly from the console. This can be done by following the steps outlined in "Building a Game" section above, or whatever workflow your programming language of choice requires for outputting a .wasm
binary.
This is the main workspace crate. Consider viewing the inner crates for more information about the project. Each of them has their own README.
gamercade_app
- For the user-facing platform app.gamercade_audio
- For all gamercade audio related things.gamercade_cli
- The gccl
tools for development.gamercade_console
- The console used to run & play games.gamercade_core
- Core shared types and functionality.gamercade_editor
- The editor used to bundle WASM code with assets.gamercade_fs
- File System management, loading, saving etc.gamercade_interface
- Interface definitions between app and platform.gamercade_rs
- A safe wrapper around the raw Api.gamercade_sound_engine
- Closely related to gamercade_audio, responsible for actual sound output.gamercade_tools
- Useful assorted tools.Gamercade runs on Stable Rust 1.66 or later.
protoc
https://protobuf.dev/Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.