Hedgewars: a turn-based artillery game with terrain destruction
Official Hedgewars mirror for GitHub!
At a glance
- What is it?
- Hedgewars is a turn-based strategy game where teams of hedgehogs fire more than 40 weapons at each other and the explosions carve circular chunks out of the terrain. The GitHub repository is an official mirror of a Mercurial codebase that is mirrored daily, which matters if you plan to contribute, because the patch flow goes through the upstream tracker.
- Who is it for?
- Hedgewars fits a player who wants a quick artillery duel on a laptop, or a modder who wants to script new game modes in Lua against a documented API. It does not fit a team that needs an actively developed upstream with a modern build system, because the last push to this mirror was on 2026-09-26 and the canonical repository is Mercurial, not GitHub.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 27 days ago.
- What is it written in?
- Mainly Lua, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Turn-based artillery where the map is the casualty
Hedgewars is described as a turn-based strategy game, and the central mechanic is that the terrain takes damage. Each player controls a team of up to 8 hedgehogs, and during a course of the game players take turns with one of their hedgehogs, using whatever tools and weapons are available to attack and kill the opponents' hedgehogs, thereby winning the game.
The weapons are where the character sits, with over 40 of them. The README lists bazookas and homing bees, mines, dynamite and explosive rubber ducks, grenades and watermelon bombs, stinky cheese as a poison, and a baseball bat that sends a hedgehog flying. Most of them cause explosions that deform the terrain, removing circular chunks, which means the map is a running record of the fight. A hedgehog can also die by drowning, by being thrown off either side of the arena, or when its health is reduced to zero.
Movement is not one mechanic but several, since hedgehogs normally walk and jump but also use particular tools such as the rope or a parachute to reach otherwise inaccessible areas. Each turn is time-limited so that players do not hold up the game with excessive thinking or moving, and that rule is what keeps a match short and keeps the destructible map relevant.
This GitHub repository is a mirror, and that changes how you contribute
The repository description is a one-liner: the official Hedgewars mirror for GitHub. The Source code section is explicit that the main repository is located at hg.hedgewars.org/hedgewars using Mercurial as the DVCS, and that a Git repository is also available, mirrored daily, at the GitHub address.
The practical consequence is that the GitHub copy is downstream of the Mercurial one. A pull request opened here is not the same thing as a patch against upstream, and the README's Contribute section points elsewhere for the mechanics of getting a change in. Bugs and suggestions go to the official bug tracker at hedgewars.org/bugs or the integrated feedback button in the game, and there is a TODO list at hedgewars.org/kb/TODO described as easy tasks. If you know your way through the code, the README says you can feel free to send a patch or open a pull request, but the best Lua scripts get released on the official DLC page and later integrated into the next version, which is a curation step that a mirror repository cannot perform.
The licence is GPL-2.0 for the source code, with images and sounds under the GNU Free Documentation Licence version 1.2, and the COPYING file holding the full text. Copyright is attributed to Andrey Korotaev and others, with a CREDITS file giving the more complete list of authors.
The default controls, and the ones nobody finds
The README publishes an excerpt of the default controls, which is unusual documentation for a game and is the fastest way to understand the input model.
* Cursor keys: Walk and aim
* Mouse: Move camera
* Right mouse button: Open ammo menu
* Left mouse button: Select target or weapon
* Space bar: Shoot
* Left shift: Precise (this is a modifier key)
* Enter: Jump
* Backspace: High jump
* Tab: Switch hedgehog (after activating the utility)
* 1-5: Set weapon timer
* F1-F10: Weapon shortcuts
* M: Mission panel / game mode information. Hold pressed to display, release to hide
* P: Pause, when playing offline, toggle automatic turn skipping when online
* Esc: Quit with prompt
* T: Chat
* U: Clan chatThe controls are built around a Precise modifier on the left shift, and the special controls section is where the game gets its depth. Precise combined with up or down is precise aiming, with left or right it turns around without walking, and holding it prevents slipping on ice. Precise with the zoom in or out keys changes the zoom in smaller steps, as does Precise with volume up or down, and Precise with reset zoom sets the zoom to 100 percent instead of the level in the settings. Precise with the capture key saves the current map and mask into the screenshot directory, and Precise combined with the hedgehog tag toggle changes the visible tags for team name, hog name and health, with the switch key toggling their translucency and the combination of Precise, the team bar toggle and switch toggling the HUD.
Running it on a machine from 2004
The system requirements are a good indicator of the project's age and its staying power. For PC or Mac you need a mouse and keyboard, a monitor at a minimum resolution of 1024 by 768, and 200 MiB of storage space. The processor requirement is 1 GHz with one core enough and 64bit recommended, the video card requirement is 250 MHz or so with the note that any decent card from the year 2004 or later should do fine, and the memory floor is 1 GiB RAM minimum. Supported operating systems are Windows Vista, 7, 8 and 10, GNU/Linux, macOS, FreeBSD and others, and the README notes that Hedgewars has been ported to other operating systems in the past, with the latest information at hedgewars.org/download.html.
Gamepads are supported partially, and the README is precise about the limit: only in-game, not in the main menu.
For a new contributor this is a comfortable target, because a machine from 2004 is a fraction of the compute of a current laptop and the game still runs on it. The counterpoint is the build toolchain, where the repository carries a CMakeLists.txt, a cmake_modules/ directory, a QTfrontend/ for the classic Qt interface, a frontend-qt6/ for the newer one, and a qmlfrontend/, which is the usual consequence of a codebase that has had to keep its old front end working while a new one was written alongside it.
The Lua API, and where new game modes come from
The scripting surface is the part that makes the project more than a game, and the README describes an extensive API in Lua to customise your adventures, with the wiki at hedgewars.org/kb/LuaAPI.
The repository layout backs up the claim that this is a full game rather than a demo. Beyond the front end directories there is a gameServer/ directory for the multiplayer server, a hedgewars/ directory for the game itself, a rust/ directory, a share/ directory for game assets, a man/ directory, a doc/ directory, tests/, tools/ and project_files/ for the project management tooling.
The distribution of work across those directories is a good illustration of the project's shape. The game logic and the Lua API are the part that modders extend, the server handles the online play, and the front ends are separate implementations that share the underlying game code.
The wiki is where the deeper documentation lives, and the README points to two entry points for a new user, the Getting Started page and the Hedgewars Wiki.
Where Hedgewars is the wrong choice
Three cases point elsewhere. The first is a developer who wants to contribute to an actively maintained upstream through a normal GitHub pull request workflow. This repository is a daily mirror of a Mercurial codebase, so a pull request here is not the path the maintainers describe, and the README sends contributions to the bug tracker, the TODO list and the Mercurial repository instead.
The second is a project looking for a modern engine to build on. The codebase carries a classic Qt front end, a Qt 6 front end, a QML front end and a rust/ directory, and the CMake build is a reflection of a long migration rather than a clean starting point. For someone who wants to write a new game with a current toolchain, that history is a cost.
The third is a player who wants something with a campaign or long progression. The README frames the first experience as starting in singleplayer with the Basic Movement Training from the training menu, then the other training missions, then quick matches against the computer, and it recommends playing a few matches to get a feel for the weapons, which is an honest description of a game whose depth is in the moment to moment duel rather than in a long arc.
The alternative worth weighing is any other turn-based artillery game, and the difference in approach is the terrain model. Games in the same family that keep a static map make each shot a geometry problem, while Hedgewars makes the previous shot part of the problem, which is why the time limit per turn exists and why the map becomes a record of the fight.
Editorial conclusion
Hedgewars fits a player who wants a quick artillery duel on a laptop, or a modder who wants to script new game modes in Lua against a documented API. It does not fit a team that needs an actively developed upstream with a modern build system, because the last push to this mirror was on 2026-09-26 and the canonical repository is Mercurial, not GitHub. Before you build from source, read INSTALL.md or the wiki building page, and if you intend to send a patch, use the official bug tracker and the TODO list rather than opening a pull request here, since this repository is a mirror and the README says the main repository is on hg.hedgewars.org.
Frequently asked questions
What is Hedgewars and how does a round work?
It is a turn-based strategy game where each player controls a team of up to 8 hedgehogs and takes turns using weapons to attack the opponents' hedgehogs. There are over 40 weapons, most of which explode and deform the terrain by removing circular chunks, and hedgehogs can also die by drowning, by being thrown off either side of the arena, or when their health reaches zero.
Is the Hedgewars GitHub repository the main source?
No. The README says the main repository is at hg.hedgewars.org/hedgewars using Mercurial as the version control system, and that the Git repository at the GitHub address is mirrored daily. Bugs and suggestions go to the official bug tracker or the in-game feedback button, and there is a list of easy tasks on the wiki.
What licence is Hedgewars released under?
The source code is distributed under the terms of the GNU General Public Licence version 2, while images and sounds are distributed under the GNU Free Documentation Licence version 1.2. The COPYING file holds the full text of the licences, and copyright is attributed to Andrey Korotaev and others, with a CREDITS file for the more complete list of authors.
What are the system requirements for Hedgewars?
For PC or Mac you need a mouse and keyboard, a monitor at a minimum resolution of 1024 by 768, 200 MiB of storage space, a 1 GHz processor with one core enough and 64bit recommended, a video card of 250 MHz or so with any decent card from the year 2004 or later, and 1 GiB RAM minimum. Supported systems include Windows Vista, 7, 8 and 10, GNU/Linux, macOS and FreeBSD.
How do I build Hedgewars from source?
The README points to the INSTALL.md file in the repository and to the wiki page on building Hedgewars, and the top level of the tree carries a CMakeLists.txt, a cmake_modules/ directory and separate front end directories including QTfrontend/, frontend-qt6/ and qmlfrontend/. The canonical source is the Mercurial repository, with this GitHub copy mirrored daily.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/hedgewars-hw)Was this useful?