Empire is a game about global warfare. You are in command of a country and
try to conquer your neighbors. This can be done by manufacturing military
units and attacking everyone in sight. The final winner is he who succeeds
in conquering the entire world.
This version will be a stripped down version from the
real Empire . The real
version is IMHO overly complex and takes too long to play. I also wanted a
more graphical interface and more fun gameplay.
Maybe I should rename my game to avoid confusion with the other Empire? Any
good suggestions?
I've been developing several versions of the game during the years, but this
is the first version that has any real chance of being completed! Other
versions have been done in Turbo Pascal, AMOS (Basic for Amiga), C & OpenLook
and so on... Well, my programming and designing skills have also (hopefully)
evolved somewhat over the years. This time it looks really good! I'll have a
first version ready within some time.
This version will feature among others :
- Simple and fast gameplay
- A 2D view for a 'normal' hex-based view. This is the preferred method
for playing, as it is faster and clearer.
- Multiplayer (no AI) over the net. This is done using the
Zombie
Server . This server provides the game with extremely easy networking
and makes gameplay over the net extremely flexible.
- Possibility to 'see' what other players do during their turns. Players can
follow other players moves as they happen (provided you actually can see
the location of the event).
- Totally graphical user interface. No cryptic commands to remember.
Everything will eventually work with shortcuts and accelerators, for
those of us that like using the keyboard
- A wide variety of different units with different characteristics
- Several different terrain types, such as field, woods, hills, water
- You can have many 'views' to the same game. This means that you are not
restricted to one window, you can have several windows active at the same
time, each displaying its own part of the map. This does of course slow it
down a bit, as the amount of graphics that must be repainted increases.
- City production. Each city produces something.
- An advanced messaging system where each player can send messages to other
players. Will work like a 'mini mail' system. See screenshots from the
dialogs a bit down.
- Rivers and bridges. Bridges will be built by engineers that also take
care of construction/repairing of other facilities.
This version will maybe include :
- Separate airbases and harbors. These are currently integrated into the
cities. Of course it's much more fun if you have more things to bombard!
- Radar stations
- Paratroopers and other more advanced units
- Combined attacks and artillery support. It's kind of stupid to have a lot
of units attacking a single enemy (stronger) in turn and losing all your units
instead of being able to combine all you units and do a single attack
(and win)!
- Texture-mapped terrain in the 3D views. This will, if incorporated, be
optional, so that those who have those high-end gfx-cards can enjoy more
fancy gfx.
This version will definitely not include :
- Any kind of sound support.
- Overly complex graphics and animations
- Politics.
- Natural resources, such as mines etc.
The game is being developed on Linux. Some technical aspects :
Yeah, the progress of the coding can be slow at times, but now it seems to
go quite smoothly again.
- 1998-04-13, added a lot of stuff related to combat. You are now able to
attack cities, capture them, destroy their production or get destroyed in the
process. Quite nice. Some thoughts of an AI-module have sprung to life. It is
basically quite simple to do the module (not counting the actual AI). It could
be done as a simple client to the game. i.e. a separate process the connects
to a server/port/game according to parameters given on the commandline. The
AI-module would include all classes that the 'normal' version (interactive)
does, but no displays. The AI would then have access to the map, cities, units,
players and everything else. Anybody interested?
- 1998-04-12, much stuff added to the game. It now begins to feel like a
game. I've fixed a lot of 'rough edges' that caused some funny behaviour
at times. A lot of functionality has also been added in order to make
gameplay more flexible (and fun).
- 1998-03-01, yup, back again. I've done some major hacking on Empire this
weekend. I've been a bit lazy the last months, mostly due to other project
and even some work. I've now included a fully functional unit movement,
with complete pathfinding using Dijkstra's Algorithm modified to
use heuristics. Works quite ok, although the pathfinder eats memory like
crazy. I'll maybe optimize that a bit later on. Several other things
fixed along the way.
- 1997-12-10, added rivers! The game does not handle them in any way yet,
and I will probably curse this idea later on... :-)
- 1997-11-20, the internal communications system now works as it should,
meaning that players can now send messages to eachother. The game
automatically recognizes new mail. The player can compose view and delete
messages. See screenshots below!
- 1997-11-17, now the production also works ok. Most dialogs work as
advertised (see below for shots). The game behaves well as a multiplayer
game, turns work ok, it recognizes when players join/leave the game and
so on. What still is missing is code to move units and attack enemies.
It will be tough, but it will be done!
- 1997-11-10, the main flow of the game now works quite ok. It's possible
to check data about cities, the game knows which player is in turn and
so on.
- 1997-10-21, Much work has now gone into the
Zombie server , which
was announced on comp.os.linux.announce. We're now satisfied with the
first version of it, and think it is ready for 'production use'. Empire
connects nicely to the server and starts to behave like a 'multiuser'
application.
- the map now works beautifully. The player can move around using the mouse
and set a arbitrary angle and position for the camera.
- The dots used for recognizing possible locations for movement etc work
ok.
- Cities get plotted quite ok
- The player can click in the map and the game will know what was under the
mousepointer! Man, this had me banging my head to the wall several days! And
when it finally worked it was about 15 lines of relevant code...
- Several views can be used at the same time! So you can have a separate view
for each interesting section of the map, instead of moving around with a
single camera. Each view has of couse its own camera.
- The Zombie system is
almost done. It works with the testprograms we've written and seems to
perform quite nicely. It will also be freely distributable under the
GNU Public License.
At present there isn't yet a downloadable version. There will be one as soon
as I think it's good enough. Currently it's still under heavy development.
Expect to see a version ready soon.
Yeah, of course if you have a lot of spare time I'd appreciate any
help I can get. Especially the graphics are my weak point. So if you have
ideas for how to make the graphics more clear, or in any other way more
understandable I'd really appreciate your help!
These screenshots show the new hexagonal view.
This screenshot shows the main window. It is really only a collection of
menus and functions as the main 'control center' for the game.
This picture shows simple information about the state of the game, such as
the current turn and so on.
This screenshot shows the Minature Map View that is used to give the
player an owerview of the explored world. The user can click in the map and
the active camera moves to that location. In a real game situation only the
part of the map that the player has really explored will be visible, the
rest will be black.
This screenshot shows the central list of units. It gives a nice overview
of all available units and their stats. A unit can be selected simply by
double-clicking on a row in the column. This list is always up-to-date
regarding data about units.
This shows a screenshot from the dialog where the user can edit data about a
city. The user can changed what the city produces, the name and see what
units are currently in the city. These units can be activated and the city
can be located on the map. It currently has no data, as I haven't yet
incorporated the class into the main code.
Here we have some screenshots that show the dialogs of the messaging
system. These are not yet used actively, just designed and compiled.
As soon as I've decided on some fundamental stuff about how the network
should be handled I'll start using the messaging system.
This dialog is a generic 'logger' of messages get logged, a bit like
'xconsole'. It is used instead of writing if ormation to an xterm, or
worse, using message-boxes for every single piece of information.
This dialog shows the main setup for a new game. Here the player can choose
what server will be used for the playing, what scenario is used (all players
must use the same scenario!) and some personal data.