1.2 Project status
1.2.1 What works, and what does not (yet)
As of today, the game is in beta state. It can be installed, and you
can toy arround with. You can even play with. It is still far from
being complete as some key features are still missing.
What works:
- The whole framework is here, some functions are not implemented yet, but
the bases are set up, and they are believed solid. The game is very modular,
and is fully threaded.
It is designed so that graphics, sound, network and bot backends can be hacked
at will. It has a complete self-test suite, many debugging built-in tools,
and is regularly checked with automated tools. For instance, you can check
reports concerning
global references,
code coverage and
cyclomatic complexity.
This is not a quick hack.
- Documentation. Yes, you’re reading it.
- Version 0.0.7beta is playable. Local game between humans (up to 4 players)
is possible. Two bots are implemented, named random and stupid. No great
players but well, they move the cursor. A new “deatchmatch” mode,
different from LW5, is in place.
- Liquid War 6 already has some features which are nowhere to be found
in Liquid War 5, such as multiple layers. It can be worth the upgrade.
- Maps. A number of interesting maps have already been designed (thanks
to Kasper Hviid).
- The game runs natively on GNU/Linux and
has been ported to Microsoft Windows and Mac OS X.
Binaries are available for all those platforms. Use at your own risk.
If in doubt, get the source and compile.
In the near future:
- Network play. Top-level priority. Yes, network has been promised for months
(years? ...yes, years) and is still not there. I said “when it’s done”.
- Fix bugs ;) The current engine is somewhat buggy, fighters might loose
the cursor, it clearly needs polishing.
In the long run:
- Write new graphical backends so that the game does not require Mesa or
any OpenGL-like subsystem. The idea is to get rid of the 3D-accelerator
dependency.
- Implement all the fancy 3D features, make it possible to play
Liquid War 6 on a Moebius ring.
- Use the cool features of CSound to provide dynamic, contextualized
sounds & musics.
- Optimize the bot algorithm, which is probably a complex AI problem.
You might be interested in checking the following URLs, which give
a view on opened tasks and bugs:
1.2.2 What has changed since Liquid War 5.x?
Liquid War 6 is a complete rewrite of Liquid War 5.
The rewrite started in 2005. So a good question is “was the rewrite worth it?”...
Here’s a list of key improvements:
- appearance, global rendering quality. Call it the way you want, Liquid War 6 simply
looks nicer than any previous release. Period.
- level features, including multi-layer (allowing the map designer to create
bridges and tunnels), wrapping (fighters disappearing on the left
can reappear on the right). Those really change the gameplay.
- deathmatch mode. Give it a try, it’s now the default mode, and definitely
changes the rules.
- team profiles, as well as special “weapons”, which are tricks you can
play on opponents.
- modularity, overall code quality. While this is not a user-visible change, the game
is far less monolithic, therefore hacking to revamp the graphics engine,
the algorithm, whatever, is easier. The situation has changed from
“this is impossible to hack” to “OK, how much time can this take?”.
So while one can’t promise every idea will be implemented some day,
at least many more things become possible with the new codebase.
The most interesting change is still to come, and concerns network games.
Stay tuned.
1.2.3 Revision history
Liquid War 6 releases are “codenamed” after famous, historical,
real or mythical characters. Here is a short revision history.
For details, see the ChangeLog
and NEWS
files distributed with the game. Additionnally, there’s
an ever-increasing “stamp” number which is incremented each time
a build is done with a different source. Latest versions use the stamp
as the revision number (the version 3rd number).
- 2006-12-18 : 0.0.1beta
- 2007-09-07 : 0.0.2beta
- 2008-01-30 : 0.0.3beta, codename “Napoleon”, stamp 549
- 2008-09-19 : 0.0.4beta, codename “Clovis”, stamp 756
- 2008-12-20 : 0.0.5beta, codename “Henri IV”, stamp 1082
- 2009-01-10 : 0.0.6beta, codename “Cesar”, stamp 1124
- 2009-10-03 : 0.0.7beta, codename “Geronimo”, stamp 1465
- 2010-07-05 : 0.0.8beta, codename “Attila”, stamp 1658
- 2010-08-23 : 0.0.9beta, codename “Chuck”, stamp 2096
- 2011-07-29 : 0.0.10beta, codename “Gengis Kahn”, stamp 2562
- 2011-10-02 : 0.0.11beta, codename “Ho Chi Minh”, stamp 2785
- 2011-12-18 : 0.0.12beta, codename “Aguirre”, stamp 2938
- 2011-12-24 : 0.0.13beta, codename “Blackbeard”, stamp 2950
- 2014-01-04 : 0.2.3551, codename “Davy Crockett”
- 2014-03-26 : 0.4.3681, codename “Hannibal”
- 2015-05-06 : 0.6.3902, codename “Goliath”
1.2.4 Road map
The game will probably be labelled “6.0.0” when network mode is up
and running. Until then there will probably be other improvements
concerning gameplay and appearance (“eye candy”). There’s a balance
to keep between the major goals such as “make that network thingy work”
and the very real fact that “hacking must be fun”.