BehindTheHedge: Working under the hood

In the BehindTheHedge series we provide brief glimpses into what's going on at the development side of the game.

In this episode I talk about development for the next version 0.9.25 and future plans.

Bugfixes, bugfixes, bugfixes!

Brain Slug Mouth!
The focus of the work for the next release so far clearly has been stability. Hedgewars has become quite a complex game, and if we don't do something about all these bugs, they will just continue to grow.
Instead of focusing on fancy features, the focus is to make sure the features that do exist work properly.
Most bugfixes this time relate to the game engine and the menus (a.k.a. the “Frontend”). Most scripted things like missions and game styles seem to be fairly stable for a while now. There were still bugfixes, but not as many.

Noteworthy bugfixes have been:

  • Controller functionality is restored
  • At least 2 crashes fixed
  • Some awkward network bugs fixed which caused games to come to a standstill
  • Lots of bugs related to the wrap world edge fixed, including fixes for these weapons/utilities: Freezer, laser sight, hammer, blowtorch, pick hammer, drill rocket
  • Space Invasion now handles ties
  • Sudden Death always came exactly 1 turn later than planned
  • Complete Continental supplies rework (see below)

And many more!

There have also been a lot of “under-the-hood” changes which would be too many to discuss them in detail here. In general, it's mostly about making Hedgewars less broken and more awesome.
Current changelog

Some work on error reporting has been done to help us find bugs, but also, some error messages have been rewritten to be easier to understand.

Continental supplies

Continental supplies will see major improvements. Actually, this should have been done a long time ago. Wink Smiley

This game style still had a lot of rough edges which should all be fixed by now. Vatten re-balanced this game mode and added a few features while I basically did “quality assurance”, fixing bugs and working on many usability tweaks to make the gameplay more accessible.

Antarctica will get a new special called “Upside-Down World” which teleports you to the top of the map.

The rubber duck is doomed!

After two versions we have finally realized the rubber duck is way too specialized and very rarely useful and just doesn't fit well to the general gameplay. It was my own idea and to me, it seemed like a fun idea at first, but ultimately I had to admit it's pretty useless.

The situations in which the rubber duck was actually useful are very rare. Using the swimming feature of the rubber duck effectively is very rare in a normal game, plus the wind has to play in your favour, too. In most situations, the duck is only useful as a rather weak and not-so-fun “drop bomb”, but even in these cases your target must be at a very specific location, otherwise your duck is useless even then.

Realizing these serious shortcomings, we had lengthy discussions in the past about possible changes to the rubber duck to make it actually useful, but these were all dead-ends. Most ideas would have lead to a very different weapon and it would have been easier to start from scratch anyway.

After months of back-and-forth discussions, we have finally decided the easiest solution is to just remove it. Good bye, little ducky!

Experiments with a new weapon

Immediately after we decided to remove the rubber duck, nemo had an idea for a completely different weapon. Actually, this idea existed for years, but nemo has it revived recently.

Nemo calls it the “creeper” (working title), it's a weapon which will walk and jump around and try to seek for hedgehogs where it will explode.
Nemo has cannibalized the duck for this and added experimental code.

It still behaves pretty hilariously and weirdly, but nemo plans to finish it before release. And it still uses the duck images and sounds. This will of course change.


Like many releases in the past, the Lua API, used to create all the missions, campaigns and game styles, will get new features as well. See the changelog for a snapshot (but keep in mind this is not stable yet).

Getting ready for next release

Our next version will likely be version 0.9.25 (what a surprise! Big Grin). The list of bugs to fix before release is getting smaller and smaller. Currently, we have 2 blockers: Nemo's new weapon and a bug that breaks the map preview for game styles.

Here you can browse our bugs:

Bugfixing will probably continue after 0.9.25 until we come to a point that we can finally release the long-awaited 1.0.0 which is long overdue. Smile

Building a new game server

There's a completely new game server being developed (mainly by alfadur) in the Rust programming language. It will be much more memory- and CPU-efficient, will be more robust in terms of handling network communications and reduce the entry barrier for new contributors.

This server is far from being finished and it might take a while until it's done. Until then, the current server software will be continued to be used.

Post-1.0.0 goals

Flying Saucer Hedgehog
Will version 1.0.0 be the final version? I don't hope so! There are lots of things which aren't necessary to build a complete game. Here are the biggest ones:

New frontend

Why so serious?
For the long-term, we plan to completely rewrite the main menu and related menus (a.k.a. the “Frontend”) using a framework called “QML”. We hope this will enable us to make improvements to it more easily in the future and generally make the frontend more manageable.
This will obviously take a lot of work since we have to redo the entire frontend from scratch for this. This will probably not be a requirement for 1.0.0 as it will be a huge task.

Singleplayer rework

The singleplayer menus (campaign, missions) are a bit simplistic, so they might be part of the frontend rework, too.

One idea I had is adding a medal system. That is, you will be able to earn medals for completing missions in a particularity awesome way, i.e. without taking damage, completing it very fast, and stuff like that. Also, the highscores you earned in challenges should become more visible. I believe this greatly improve the singleplayer experience if done right.

Note for now, this is just an idea and a late goal.

Offline manual

Yep. It's needed. Just because it has become a weird trend in modern computer games recently to outright refuse to write a manual does not mean Hedgewars does not need one. Smile I mean, Hedgewars has become really complex with tons of features. One player already complained. I believe they are right.

Currently, our Wiki serves as the canonical manual for the game, and I dare to say it works pretty well.
But I like to have an offline version, too. But because the Wiki exists, the offline manual is not a priority right now. But it should be done.
A major downside of a wiki is that it is not versioned and a complete nightmare to translate. Also, wikis tend to be very messy because they lack structure.

To pull it off, probably most texts in the Wiki will be simply copied over.

What is unclear is what shall happen to the Wiki when the offline manual is complete.

After months of back-and-forth discussions, we have finally decided the easiest solution is to just remove it. Good bye, little ducky!


Since server and frontend are being rewritten, are there any plans for doing the same with engine?

I don't think the engine will be rewritten anytime soon. If we do that, we might as well announce Hedgewars 2. Wink Smiley

What unC0Rr might do is try to move to another programming language for the engine, but in an a way that is automated so the existing functionality is not thrown away. That's not really the same as a “rewrite”.

Note the frontend rewrite has not even been seriously started yet, and it will probably stay that way until 1.0.0 as it's a gigantic cost to bear.

Moving to 1.0.0 is currently the much bigger priority.

steam version. when?

When you submit it to steam? ?

User login

Copyright © 2004-2024 Hedgewars Project. All rights reserved. [ contact ]