also see Building Hedgewars

To compile and install you need:

  • Qt >= 4.5
  • FreePascal >= 2.2.4
  • SDL >= 1.2.5
  • SDL_net >= 1.2.5
  • SDL_mixer >= 1.2
  • SDL_image >= 1.2
  • SDL_ttf >= 2.0
  • CMake >= 2.6.0
  • lua = 5.1

Debian Requires:

  • cmake
  • qt4-qmake
  • libqt4-dev
  • libsdl1.2-dev
  • libsdl-net1.2-dev
  • libsdl-mixer1.2-dev
  • libsdl-image1.2-dev
  • libsdl-ttf2.0-dev
  • fpc
  • liblua5.1-dev

( aptitude install cmake qt4-qmake libqt4-dev libsdl1.2-dev libsdl-net1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev liblua5.1-dev fpc )

1. Configure:
$ cmake .
$ cmake -DCMAKE_CXX_FLAGS="flags" -DCMAKE_INSTALL_PREFIX="install prefix" -DDATA_INSTALL_DIR="data dir" -DWITH_SERVER=1

2. Compile:
$ make

3. Install:
# make install

That's all! Enjoy!

Switch between fullscreen and windowed mode:
Press 'F12' key

Pause the game:
Press 'P' key

Move camera to current hedgehog:
Press 'H' key

Make a screenshot:
Press 'C' key

Switch weapon:
Press 'F1'-'F9' keys, or use menu, accessible via right mouse button click

Switch between hedgehogs:
Select the "Switch Hedgehog" weapon and "fire" it by pressing spacebar once.
Press tab to switch between different hedgehogs until you find the one you want.

Sound volume up/down:
'0' key is for volume up, and '9' key is for volume down

Aim precisely:
Press left shift key

Set grenade timer:
Press '1'-'5' keys

Control the direction of Air Attack:
Press 'left arrow' or 'right arrow' key

Construct different girders:
Press 'left arrow' or 'right arrow' key when using construction tool

Speed up demo playing:
Press 'S' key

Enter chat message:
Press 'T' key

Enter chat message (that will send only to my allies):
Press 'Y' key

View chat history:
Press '`' key

tell cmake a path to Qt manually:

$ export QTDIR=<qt dir>


$ cmake -DQT_QMAKE_EXECUTABLE=<path to qmake>
Copy the .hwd_12 file to: ~/.hedgewars/Demos/ in *nix,
or %USERPROFILE%\.hedgewars\Demos\ in Windows

Check your firewall configuration before reporting a bug. Hedgewars needs 46631 TCP port opened at the server side. LAN must also provide UDP datagrams broadcasting for automatic server discovery

Because we need a portable and easy to maintain GUI widgets for game and options setup.It would be unreasonable to maintain self written GUI. Currently we have no time and manpower for it. We are interested in developing a game and game features, not to implement our own crossplatform GUI library/framework.

X.org supports something called "MetaModes" which lets you define different resolutions in X that you can instantly switch to without having to restart the X server or log out.
This example is only tested on a computer with an integrated nvidia chip, but should work with different graphic devices as well.

Find the resolution of your two monitors.
If you're using nvidia, run nvidia-settings, then click the X Server Display Configuration item in the tree view to the right.
Your screens will show the correct resolutions in the left part of the configuration window.

Note down the resolutions.

Open your xorg.conf file (usually located in /etc/X11/xorg.conf), and scroll down to the "Screen" section.
Comment out any "Option MetaModes ..." lines you may have there already, by putting a # in front of the line (should look something like "#Option MetaModes ..." after commenting it out).
Now, paste the following line in, under the line you commented out:

Option "MetaModes" "1680x1050,1600x1200;NULL,1600x1200;1680x1050,NULL"

The "MetaModes" setting is a semicolon-separated list of resolution combinations, defined like this:
"screen1,screen2". The first resolution should be whatever your currently running.
The second one in this example says that "screen1" should be off (NULL), and screen2 should run with 1600x1200 resolution. Use whatever you had in your nvidia-settings for your screen2.
The third one is similar, just the other way around, with the second monitor (screen2) turned off, and the first monitor running with maximum resolution.

The fourth one in my example has the first monitor running with max resolution (because it is the one that provides the *tallest* resolution (1050)), and the second one running the highest resolution that gives me the same height (1050).

Now, save this file, log out and log back in. (You may have to restart your X server - if so, just log out, press CTRL+ALT+Backspace, and then log in).
In hedgewars, in the screen section, you should now have several resolutions to choose from!

As an added bonus, you can also change the resolution on the fly in your Desktop Environment (GNOME or KDE), by running the screen resolution configuration tool (krandrtray in KDE, "Screen Resolution" in GNOME), and switch to any of the metamodes you defined earlier.

It's asking for a password because the nickname you chose in the game settings is registered on hedgewars.org. If you own this nickname on hedgewars.org, just enter the same password. If you do not, go to the settings menu and change your username to something else.

Hedgewars development follows a strict development/testing/release circle.
Please have a look at our Release Schedule

The official game server caches user logon data for performance reasons.
Therefore it can take a while until you can logon with your new password (until that the old password should still work).

However, if you ask then nicely, admins can clear the server cache for you, so that you can use your new password immediatly after.

See comment below.

Xorlathor wrote:

I don't know if this has been on ongoing discussion, but is hedgewars ever going to have a physics engine added? (...).

nemo wrote:

A real physics engine has significant disadvantages too, I suspect sheepluva would love to expound on that if he's around.

Gladly I was not.

Kidding aside: using a physics engine would not only be an overkill-solution, it would also generate way more problems than it would solve.

fredb, a Wormux dev, tried a physics-engine approach with Wormux.
Talk to him or play the "bullet"-branch of wormux if you want to find out more about the problems I'm referring to :P
(e.g. I enjoy killing half the enemy team by just jumping against them till they fall off a cliff :P)

The hedgewars bounce physics improvements that were done for .13 are only applied to objects that actually need them - and the same will happen with future physics improvements -- rather than using a complete physics engine affecting all objects in game in ways they weren't supposed to react like, requiring a ton of work-arounds in order to fix that -- e.g. ever thought how many hogs would be killed by mines BEFORE the game begins, just because of physics making them slide down slopes and bounce around? Wink Smiley

Xorlathor wrote:

when boxes or supplies drop down and they bounce perfectly upright when on a slope

Yes, that might seem strange to some, but it's still better than having boxes bounce across the map (+gathering in holes), against hedgehogs or into the water.
Maybe they should have a parachute that opens right before they hit the ground + their angle adjusted to fit the ground below them though (but that would could still lead to "unrealistic" results)

Xorlathor wrote:

I know this would take a massive ammount of coding, but I think it'd be 100% worth it.

It could be worth improving collision detection so that moving barrels/objects can't make hogs stuck and so that shots and fire can't miss moving hogs, I agree on that and I thought about that before.
But a full physics engine?
I think coding that approach and making it playable and not look bugged all over the place would require more time than the hedgewars engine needed itself.
And the chances are good it would end like "hmm, now the physics are 10% better, but the code is now 3 times as big, full of workarounds and is executed a lot slower making the game unplayable on weaker machines, we should revert to doing it without physics engine"

If you still think it would be totally worth it and if you have a lot of spare time and some coding skills or interest to aquire them - feel free to try to include a physics engine.

Hint: This could be step #1 - creating collision polygons from landscape pixels:
http://img32.imageshack.us/img32/1975/polygongenwormux.png [EDIT: Link dead]


User login

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