Skip to content
Sahil Patel edited this page Sep 21, 2019 · 37 revisions

Welcome to the MechMania 25 Wiki!

This wiki should answer any of your questions about the mechanics of the game. If anything is unclear or skipped over, feel free to ask us about it either in person (in 1404 Siebel), through our Piazza, or through Discord. The access code for Piazza is mechmania2019.

Game Basics

This game is played on a 12x12 board with Player 1 starting in the top left and Player 2 starting in the bottom right. For a longer description of the game board, click here.

- NOTE: all grid-based indexing is done as (x,y), with (0,0) representing the bottom-left corner.
- So if MAP is the map grid, MAP[11][0] is the bottom-right corner

Each player will control 3 mechs (or units) which will battle to the death! Each turn of the game there are 3 rounds which are themselves made up of a movement phase and an attack phase. Your code will specify in what order your mechs will take their actions. Each round two mechs (one from each player) will be first moving and then attacking simultaneously. You will have to plan ahead where you want to go and also where you think your enemy will go!

Read about the lore here.

Read more about mech setups here.

Read more about turn and round execution here.

Getting Started

Requirements

Pre-Setup

  1. First, install Java. To do this, see this guide for help.

  2. Install Node. To do this, go here and download the appropriate installer for your operating system.

    • Run the installer with all the defaults.
  3. Run npm install -g mechmania. This gets the mm command line tools, which are used to run the game, test and submit bots for the tournament.

  4. Run mm download to download the required files.

  5. Check out our starter packs below! They will have more information on how to use the tools. Otherwise, use mm help for more information.

Starter Packs

Once you understand the rules (at least a little bit) and have set up your system, take a look at our starter packs to help you make your bot:

Python Starter Pack

Java Starter Pack

C++ Starter Pack

Find a Bug or Have a Question?

Tell us through the Piazza! The access code is mechmania2019.

Submitting Code

Playing Locally

Run mm play [directory].

  • You can get the log file from the game with --logfile [filename]
    • then view the game using --input [filename]

You can also do mm play human [directory] to play manually against your bot!

Pushing to the competition

Make sure your code doesn't crash before pushing! Your bot will lose a match if it crashes.

  • mm push [directory] will push your code to the competition
  • mm watch will let you spectate games you have played with other competitors