Skip to content

maxcurzi/disk-0-madness

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

disk-0 MADNESS

A game written in Rust for the WASM-4 fantasy console, play it on itch.io or here!

Entry submission for the WASM4 Game Jam #2, where it won 3rd place 🥉 (and ranked #1 🥇 in the Fun category!).

Pronounce it how you want: "Disco madness" / "Disk O' madness" / "Disk-Zero madness".

How to play

You are a lone space-disk in an unfriendly territory, survive for as long as you can!

  1. Absorb enemies of your color to gain points
  2. Avoid enemies of opposite colors (they will hurt you!)
  3. Switch your color strategically
  4. Use bombs to turn surrounding enemies into absorbable ones!

Controls [Keyboard]:

  • Move with directional arrows ⬅⬇⬆➡
  • Press X to change your disk's color in game
  • Press Z anytime to change the game's palette.

Controls [Mouse]:

  • Hold the left mouse button and the player's disk will follow the pointer.
  • Right click to change your disk's color in game
  • Middle click anytime to change the game's palette

Multiplayer instructions

Local Multiplayer

Local multiplayer is where everyone is playing on the same computer. To play local multiplayer, you can connect multiple physical USB controllers. Xbox or PlayStation controllers are known to work best.

If all you have is a keyboard, up to 3 players can be controlled from one keyboard using these keys:

Player # Directions X button Z button
1 Arrows . (period) , (comma)
2 ESDF A or Q Tab or LShift
3 Numpad 8456 Numpad * or . Numpad - or Enter

This key layout is designed to fit many hands on one keyboard somewhat comfortably.

Netplay

Hosting a netplay game is as easy as copy and pasting a link.

While playing any cart, press Enter to open the WASM-4 menu. Select "Copy Netplay URL". An invite link (like https://wasm4.org/netplay/#ABCDEF) will be copied to your clipboard for you to send to a friend. When your friend clicks your link, they'll instantly join your game.

Some caveats: Mouse input is disabled during netplay. State saving/loading and cart reset is currently disabled during netplay. Netplay is new and there may be bugs, please report issues.

Building the game

Build the cart by running:

cargo build --release

Then run it with:

w4 run target/wasm32-unknown-unknown/release/cart.wasm

Running the tests

cargo run_tests

run_tests is an alias (defined in .cargo/config.toml) to test --target x86_64-unknown-linux-gnu --no-default-features. This is because is not currently possible to run tests for the wasm32 target (webassembly-test crate does not work).

Releases

https://github.com/maxcurzi/disk-0-madness/releases

WASM4

For more info about setting up WASM-4, see the quickstart guide.

Links (WASM4 fantasy console)

  • Documentation: Learn more about WASM-4.
  • Snake Tutorial: Learn how to build a complete game with a step-by-step tutorial.
  • GitHub: Submit an issue or PR. Contributions are welcome!