A downloadable game for Windows, macOS, and Linux

Game Website

Soundtrack by INNER JOIN

Trello Task Board

<currently Open Beta v1.0.0>
is a successor to the 90's mech simulators of old. A delightful modernization of commanding giant robots bristling with firepower. Players choose and customize their war machines known as METALS, and then drop into the blighted world of Geisserat.

Players will be tasked with completing a variety of mission types and they must choose the best mechs and weapons to complete their objectives.

battleMETAL runs on the tried-and-true Quake engine via the Darkplaces source-port. Game features dynamic lighting, immersive HUDs, robust mech customization, and outdoor terrain.

  • Mouse and Keyboard only for now.
  • Beta contains 4 playable levels.
  • MacOS - Mojave OR LOWER!
  • Limited Linux support.

Report all bugs and issues to:

Updated 20 hours ago
Published 23 days ago
StatusIn development
PlatformsWindows, macOS, Linux
Release date 24 days ago
Made withBlender, GIMP, Audacity
TagsFPS, mecha, Mechs, Retro, Robots
LicenseGNU General Public License v2.0 (GPL)
Average sessionAbout an hour
InputsKeyboard, Mouse
LinksPatreon, Homepage, Twitter, Blog

Install instructions

Note: if you already have a Quake or Darkplaces install, do not unzip BattleMETAL to that folder. This zip is a standalone release.

Note: patch files only needed if you've installed a previous build.

MacOS: Tested on Mojave or lower. 

Fresh Install

  1. Download Beta 1 v2.0.6 zip file
  2. Extract folder to any desired place on your computer.
    1. Preferably where you've installed other games/programs.
  3. Run Darkplaces to begin the game
  4. Press ESC when game has started to bring up Main Menu.


battleMETAL-Beta 1 v2.0.6 -Win 317 MB
Version 4 20 hours ago
battleMETAL-Beta 1 v2.0.6 -Linux 321 MB
Version 4 20 hours ago
battleMETAL-Beta 1 v2.0.6 -Mac 320 MB
Version 4 20 hours ago
battleMETAL_Beta1_patch_v2.0.2a.zip 468 kB

Development log


Log in with itch.io to leave a comment.

Cool project! Is this game going to stay fast-paced like it is now or have you thought about making the mechs feel more cumbersome?

Pace of gameplay is definitely a factor I've struggled with. I wanted to keep the action fast paced for a variety of reasons. There are some ways I can reduce the speed, mostly across-the-board weapon reload times. 

(1 edit)

I was thinking more along the lines of reducing the mechs movement acceleration so making turns and changing direction would take longer, but I understand that it's easier said than done. Could easily end up with a mech that feels like it's skating on ice. But hey, it's your game and not mine hah! Best of luck with the project!


I made a bash script for running this game on Linux if anyone needs it.


This will install dependencies using the apt package manager, then, if necessary, adjust your screen resolution so the width is greater than 1600 (otherwise, you won't see the "next mission" button), then it will run the game and revert the screen resolution when the game exits.

You can also just read through the script for informational purposes if you have any issues running the game in Linux and don't use apt or don't want to use the script to run the game.

(2 edits)

reminds me of the origanle mech warrior Back when my computer was old enough to run it : )

I get this error when I run it and it wont start

/home/atticus/Downloads/battleMETAL_Beta_v1.0.1_linux/darkplaces-linux-x86_64-sdl: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or direct


By typeing this

 sudo apt-get install libjpeg62:i386

and this

sudo apt-get install libjpeg62

into the command line I got farther but then this happened

Game is DarkPlaces-Quake using base gamedir id1

gamename for server filtering: DarkPlaces-Quake

DarkPlaces-Quake Linux 06:03:08 Dec 22 2018 - release

Current nice level is below the soft limit - cannot use niceness

Playing shareware version.

Skeletal animation uses SSE code path

Failed to init SDL joystick subsystem: Failed loading udev_device_get_action: /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0: undefined symbol: _udev_device_get_action

execing quake.rc

execing default.cfg

execing config.cfg

execing autoexec.cfg

Client using an automatically assigned port

Client opened a socket on address

Client opened a socket on address [0:0:0:0:0:0:0:0]:0

Linked against SDL version 2.0.8

Using SDL library version 2.0.8

GL_VENDOR: Intel Open Source Technology Center

GL_RENDERER: Mesa DRI Intel(R) HD Graphics 400 (Braswell)  
GL_VERSION: 4.5 (Core Profile) Mesa 19.2.8

Video Mode: fullscreen 1366x768x32x0.00hz (4x AA)

and I cant fix this I think so can anyone else help?
(1 edit)

But if I run a script that says dedicated instead of sdl I get this

Game is DarkPlaces-Quake using base gamedir id1

gamename for server filtering: DarkPlaces-Quake

DarkPlaces-Quake Linux 06:03:06 Dec 22 2018 - release

Current nice level is below the soft limit - cannot use niceness

Playing shareware version.

Skeletal animation uses SSE code path

execing quake.rc

execing default.cfg

execing config.cfg

execing autoexec.cfg

SpawnServer: no map file named maps/start.bsp

so it looks like it is starting but theirs nothing there to start?

So sorry but I'm going to have to delete it until somethings fixed :(

Also I dont know if this would help but the screen moves a little as if its trying to start but then it doesnt?

Hm, I can do some digging online. I don't have that much experience with getting the linux version of Darkplaces running; does this help?

The engine doesn't work well on Linux and after getting it to run I had a billion errors and had to fix my desktop so sorry but it just doesn't work on my computer. So I don't think this is anything you can fix without changing the engine your using and I know you don't want to do it because I tried to do it with my own program once. So sorry but I don't think it works on Ubuntu :(

Righto, thanks for trying though :thumbs up:

(6 edits) (+1)

After installing libjpeg62, the game seems to work pretty well for me in Linux (Linux Mint 19, xfce4, gtx 750 ti, nvidia driver 430.14, intel i5). I played long enough to complete the tutorial. Only issue I had was when I entered the repair bay about halfway through the tutorial, the game opened the console. I wasn't sure what to do, so I just typed "quit" in the console and started over, avoided the repair bay and completed the tutorial. I went back and tried the repair bay again to see what was written to the console. There was a crash related to the function building_repair_touch. Here is a screenshot of that: https://imgur.com/a/C9Z7T6s

Edit: After completing the training refresher mission of the campaign, I was stuck at the debriefing screen. There were no buttons to click and no key press resulted in a response. I had to open the console and type "map o1m1" to continue.

(1 edit)

hm,  I'll add these items to the dev board. : )

logged and fixed! feedback matters at this stage, folks.

(1 edit) (+1)

I think I may have a solution for you Merlin1846.

Try this and see if the game runs:

sudo apt-get install darkplaces

darkplaces -basedir $HOME/.config/itch/apps/battlemetal/battleMETAL_Beta_v1.0.1_linux/

The game would not start on my laptop due to a segmentation fault and this was the only way I could get it to work. If the mouse cursor is moving very slowly, launch the game with the command line parameter -bpp 16 like this:

darkplaces -basedir $HOME/.config/itch/apps/battlemetal/battleMETAL_Beta_v1.0.1_linux/ -bpp 16

I am now on the mission "Damage King" on my laptop and have not noticed any problems.

Here is what i got from gdb backtrace about the segmentation fault: https://pastebin.com/E1pqvQ1X

ok slight problem.

I tried your commands and this one

darkplaces -basedir usr/Downloads/battlemetal/battleMETAL_Beta_v1.0.1_linux/

and it said that it couldnt find the game

Tried it out - pretty cool! Can't wait for stomp sounds to hopefully be added one day!

btw is it possible for textures not to be blurred (nearest neighbor) is that a setting players can control?

Under options->graphics you can adjust Texture quality, Anisotropic Filtering and more. 


You can also open the console with ~ key and type "gl_texturemode GL_NEAREST"

(1 edit)

Thanks for making a review!