Presentation
History
FreeSiege is a project that aim to port the Siege game from Fallen Angels industries. This is a great game (I played long hours on it) but sadly it isn't available under Linux since it was developped by commercial company. Sources from the orginal games aren't available. FreeSiege will strive to become a great reimplementation of a great game.
Technology
Techinically speaking, I choose to write the source in C++ since me and the contributors
on this project have a common knownledge of this language.
Core game should take part of the c++ stl library.
For the graphical part of the application, we chose the game library SDL.
After playing around a bit with this library, we found that its graphical aspect fits well the intended artistical expectation.
Old school pixelised graphics are rendered nicely with this library.
Since those two libraries are available under Windows and Macos platform, future ports of the game under those platform should be quite easy.
Gameplay
Game experience should provide a intense 2D tetris-like war game experience with a strategic game flavour. It allows one player vs computer and two players games. The interface can be split into two part:
- The upper part of the screen is the board itself. It is divided in two 5 by 6 grids of tokens called elements (one for each player / computer). Elements can be of any of the four Elemental types (Defense, Attack, Fire and Magic). The player controls a cursor using keyboard arrows which allow the player to swap to elements on the grid. Swapping elements is an important part of the game since it is the way to create patterns to create fighting units in the lower part (ie. two neighboring attack tokens create a soldier, a big combinaison using fire and magic creates a dragon, ...). The bigger the combinaison are, the more powerful the created units are.
- The lower part of the screen is the strategic part. Two castles, representing the players, are disposed at the left and right of the screen. Units created by combinations spawn at the player's castle and start to rush towards the ennemy castle. When they meet other units on their way they fight each other using a simple health-attack-defense scheme. If a unit manage to reach the oppenent castle, it heavily damages to it. The first player to devastate his opponent's castle wins the game. This part of the game is quite strategic because each kind of unit has it own particularity. For example, when a simple soldier, fast to create, but with low health and medium defense/attack, fight a big, slow and difficult to create unit (eg. dragon or golem) or a ranged unit, the end is quite predictable. But since the soldier is very fast to create, you can create a big bunch of those to fight a big unit, making the outcome of the fight uncertain. The combinaisons and units are very well balanced, making the game very intense and struggling. More information about units below
Freesiege intents to provide an intense strategic-board game experience.
Download
To play the game, you can either download the latest release or checkout the git repository for the latest update. To checkout the repository type the following command:
git clone https://github.com/MCMic/freesiege.git
Once you retrieve the sources, you simply need to update it to keep in touch with the lastest update. You can do this by typing this command on the module directory:
git pull
To build the binaries, go into the sources folder and run the following commands:
cmake . && make
If it doesn't work check if the SDL and SDL_mixer libraries are installed with development files available.
You will obtain two binaries:
- freesiege:
- The game itself. The game is playable for 1 or 2 players and units are described below. Default keys are described below.
- fight:
- Demo binary. Demonstrate background animation and test fight.
State of developement
The game is working quite well. It was only tested under GNU/Linux. There is no tangible restriction for porting under other platforms such as Windows or Mac OS but time and interest are missing.
If you feel like helping use by providing a binary version for any OS, or a package for a specific distribution, please contact us.
Default keys
Player 1 | Player 2 | |
---|---|---|
Move left | Left | S |
Move right | Right | F |
Move up | Up | E |
Move down | Down | D |
Select | O | A |
Swap | O | A |
Validate | P | Z |
Units and patterns
Units are described below. To find out their patterns, please use the "Patterns" menu entry.- soldier:
- Basic unit, fight opponents when they touch them. Deal a small amount of damage when reaching oppenent castle.
- knigth:
- This unit can be blocked only by a golem or a veteran. Therefore it is the best solution to damage the other player and wound small ground unit. It is quite fast so it can avoid druid's cannon ball.
- veteran:
- This unit block other units. This is a good way of pushing the front near the enemy castle, for instance for protecting a ram.
- ram:
- Very slow and weak unit, but it deals a big amoung of damage to the opposite castle. This unit is the one dealing the most damages
- plant:
- this is a defense unit, staying in front of your castle and blocking almost every one.
- druid:
- The druid is a big cannon mounted on your castle. When activated it shoot three round of explosive cannon ball. When those ball reaches the ground they explode dealing a large amount of damage to the neighboring units. However if the ball touches an unit before touching the ground, it doesnt explode and kill instantely. Since it was invented by a mad scientist it is not very precise and cannon balls damage both player's units. Use with caution!!
- golem:
- Very powerfull unit, but very slow too. It doesn't deal a big amoung of damage to the opposite castle but it block every unit that fight with him. When he die, an explosion take place due to the fall of his huge on the battlefield. It is the strongest defense unit in freesiege.
- dragon:
- Very powerfull unit, it flies overs enemies. The only way to stop it is using the druid.
- marion:
- This is not a unit, it just spawns a lot of flying flowers over the enemy screen to distract him.
Screenshots
Recent screenshots
The last version
Old screenshots
We were still using non-free datas
Beta screenshots
Really old screenshots
Links
- Download: https://sourceforge.net/project/platformdownload.php?group_id=210466
- Git repository: https://github.com/MCMic/freesiege.git
- Old CVS repository: http://freesiege.cvs.sourceforge.net/freesiege/
- Sourceforge home: http://sourceforge.net/projects/freesiege
- Developers: Pierre Gueth, Joel Schaerer, Julien Dardenne and Côme Bernigaud
- Artwork designer: Stanislas Rapacchi
- Sound designer: Charles Virot
- Other contributers
- Original game review and screenshots: http://www.the-underdogs.info/game.php?id=3224
- SDL API reference: http://docs.mandragor.org/files/Common_libs_documentation/SDL
- SDL mixer API reference: http://jcatki.no-ip.org:8080/SDL_mixer/SDL_mixer_frame.html
- OpenGameArt: http://opengameart.org/