FreeCraft Version 1.18
___________ _________ _____ __
\_ _____/______ ____ ____ \_ ___ \____________ _/ ____\/ |_
| __) \_ __ \_/ __ \_/ __ \/ \ \/\_ __ \__ \\ __\\ __|
| \ | | \/\ ___/\ ___/\ \____| | \// __ \| | | |
\___ / |__| \___ >\___ >\______ /|__| (____ /__| |__|
\/ \/ \/ \/ \/
______________________ ______________________
T H E W A R B E G I N S
FreeCraft - A free fantasy real time strategy game engine
(C) Copyright 1998-2003 by The FreeCraft Project. Distributed under the
"GNU General Public License"
Contents
Please refer to the GNU General Public License
document provided with this distribution.
To proceed beyond this point, is to agree with the license agreement.
The self extracting archive contains ZIP code, read the
ZIP-LICENSE.
The binaries could contain SDL code, read the
README-SDL.txt and the
GNU LGPL license.
The source and binaries contains SIOD code, read
and siod.html for
copyright and informations.
This software is provided as-is. The author(s) can not be held liable for
any damage that might arise from the use of this software.
Use it at your own risk.
Read this for the introduction:
readme.html
Read this how to install FreeCraft:
install.html
If you upgrade from an older beta version to a new one, please
always run build.sh. Some graphics or formats may have been
changed. Don't forget to backup your modified files.
Read this how to upgrade FreeCraft:
install.html
Read this for the history of FreeCraft:
ChangeLog.html
This file contains the known bugs and what we plan in the future:
todo.html
A more up to date list of known bugs are here:
SourceForge: FreeCraft real-time strategy game engine - Tracker - Bugs
A more up to date list of planned tasks are here:
SourceForge: FreeCraft real-time strategy game engine - Tasks
Read this, if you have problems compiling, installing or playing FreeCraft
faq.html or use the
help forum for questions.
- Health and mana and orders could be shown on the map.
- Better path finder routines.
- Loading of compressed (gzip or bzip2) puds, with zziplib direct loading
from zip archives.
- Configuration language.
- Scripting language.
- Easy replace of unit graphics and sounds.
- 64 times greater maps.
- Training queues.
- Way-points.
- Correct fog of war (terrain changes are not shown).
- Nice looking fog of war (alpha-gray-scale)
- More resolutions 640x480, 800x600, 1024x768, 1280x960 and 1600x1200.
- Support for viewports.
- Support for MOD/OGG/MP3 background music.
- Support for up to 6 resources.
- Support for up to 15 players in local network.
- Internet play.
Following projects are not assigned: (Please ask before start working)
- Help the map editor development.
- Write an AI editor.
- Write a tileset editor.
- Write a configuration editor.
- Create own tilesets and unit graphics.
- Create own sounds, voices, videos and campaigns.
- Create movies.
- Create a jingle for startup and home-page.
- Write better documentation. (correct my English and grammar :-)
- Improved network support (viewer, proxy, automatic lag detection)
- Write "wartools" for the demo-versions.
- Help making a clone of the science fiction game from the same company.
- Add support for sandtools to the engine.
- Port to X11 8bpp or 32bpp, full-screen and DGA support.
- Port to PocketPC's.
- Multi-language support.
- And any other help is welcome.
If you want to help, please join the FreeCraft mailing list and check
if somebody is already working on your project. Then tell us what you
want to work on.
Look into the original game documentation for playing instructions.
Look into the sources for more information.
freecraft [OPTIONS] [map.pud|map.pud.gz]
- OPTIONS
You can currently give following command line options. Use "freecraft -h" to
get an up to date information.
- -c "file.ccl"
Load FreeCraft config file "file.ccl" instead of the default
"librarypath/ccl/freecraft.ccl".
- -d "path"
Change the FreeCraft library path to "path" instead of the
default "./data" or "/usr/share/games/freecraft/default".
- -e
Start the editor directly.
- -f factor
Adjust the build costs of units for the computer players by factor.
- -h
Show command line help.
- -l
Disable command log.
- -n [localport:]serverhost[:port]
Connect to FreeCraft server serverhost.
serverhost is the name of the server like "freecraft.org"
or the IP number like "192.168.1.1". localport
is the port number on the local computer, port is the
port on the game server. The default ports are 6660. If you have a
firewall please let the port 6660/UDP through. Can be used together
with the network GUI, this is than the default game server.
- -N name
Name of the player, for network play. Can be used together with
network GUI, this is than the default player name.
- -s frames
The AI sleeps 'frames' before it starts working.
- -t factor
Adjust the build time of units for the computer players by factor.
- -v mode
Video mode (0=default, 1=640x480, 2=800x600, 3=1024x768, 4=1280x960,
5=1600x1200)
- -w
Wait until sound device comes available. (Only supported with linux OSS
driver)
- -D
Video depth = pixel pro point. Only useful if not automatic
detected.
- -F
Full-screen video-mode. (Not supported on all platforms, just test)
- -S speed
Want to play slower? Use for 50 to play with half speed. Want to play
faster? Use 200 to play at double speed. (default is 100% which are
30 frames/second)
- -W
Windowed video-mode.
- map.pud
Load the map "map.pud" instead of the default
"librarypath/default.cm".
- map.pud.gz
Load the compressed map "map.pud.gz" instead of the default
"librarypath/default.cm".
- map.cm
Load the FreeCraft map "map.cm" instead of the default.
- map.cm.gz
Load the compressed FreeCraft map "map.cm.gz" instead of the default.
If no file is given the default map
"librarypath/default.cm" will be loaded.
Keyboard commands
- cursor-left
Scroll map left. With control scroll faster.
- cursor-right
Scroll map right. With control scroll faster.
- cursor-up
Scroll map up. With control scroll faster.
- cursor-down
Scroll map down. With control scroll faster.
- RETURN
Enter command line.
- TAB
Toggle mini-map mode, with/without terrain.
- +
Increase game speed.
- -
Decrease game speed.
- ALT+B, CTRL+B
Toggle big map mode on/off.
- ALT+C, CTRL+C, c (if unused)
Center on selected units or left click on the unit portait.
- ALT+X, CTRL+X
Exit program.
- ALT+Q, CTRL+Q
Quit level.
- ALT+R, CTRL+R
Restart scenario.
- ^
Unselect all units.
- # (1-9,0)
Recall unit group. All units in the group becomes the current selection.
If unit group is already selected, center on group.
- SHIFT + # (1-9,0)
Add the units of the group to the current selection.
- CTRL + # (1-9,0)
Define unit group. All currently selected units become the new group.
- SHIFT+CTRL + # (1-9,0)
Add to unit group. All currently selected units are added to the group.
- ALT + # (1-9,0)
Alternate unit group. All currently selected units are also added to the
new group.
- SHIFT+ALT + # (1-9,0)
Add to alternate unit group. All currently selected units are also added to
the group.
- F1,F2,F3,F4
Recall saved map position.
- SHIFT+F1,SHIFT+F2,SHIFT+F3,SHIFT+F4
Save current map position for later recall.
- ALT+G, CTRL+G
Toggle mouse grab mode.
- ALT+F, CTRL+F
Toggle fullscreen mode. (only with SDL under X11 supported)
- ALT+P, CTRL+P or pause
Toggle pause mode.
- CTRL+S
Toggle sound on/off.
- ALT+S, F11
Save complete state.
- CTRL+ALT+S
Save level as pud.
- ALT+L, F12
Load complete state.
- ALT+M, F10
Enter game menu.
- CTRL+T
Track selected unit in current viewport or middle click on the unit
portrait.
- SPACE
Center on last message. Cycles through all events.
- SHIFT+SPACE
Center on previous message. Cycles through all events.
- ALT+I, CTRL+I
Find an idle worker. Cycles through all idle workers.
- ALT+V, CTRL+V
Cycle through the pre-defined viewpoints configurations.
- Print Screen
Save a screenshot.
Mouse commands
Clicking on minimap
Clicking on map
- Single click with left mouse button
Select unit.
- SHIFT Single click with left mouse button
Add or remove unit from selection. Could be combined with any other
modifier.
- CTRL Single click with left mouse button
Select all units of the same unit-type.
- ALT Single click with left mouse button
Select all units of the previous group.
- Double click with left mouse button
Select all units of the same unit-type.
- Click & Hold with left mouse button
Not supported.
- CTRL Single click with right mouse button on unit
Selected unit follows this unit.
- Single click with right mouse button
Does automatic action of the current selected unit.
- SHIFT Single click with right mouse button
Add automatic action of the current selected unit to the command queue,
this means the current order is first finished, than the unit starts
with this order.
- CTRL Single click with right mouse button
Does second automatic action of the current selected unit.
- ALT Single click with right mouse button
Not supported.
- Double click with right mouse button
Not supported.
- Click & Hold with right mouse button
Not supported.
Clicking on buttons
- CTRL single click with left mouse button
Enable or disable automatic spell casting.
The CCL is scheme. I use SIOD for this.
(The most recent release is available from
this web page)
. You can also enter CCL commands at the message prompt. Each
line starting with "(" is taken as CCL command.
Documentation
I have started new documentation here.
Please help me writing it.
The tileset graphic is loaded from 'png'-files. Only files with 256
indexed colors are currently supported.
The format of the tileset graphic is:
32x32 pixels of a tile.
16 tiles are stored per row.
The pixels (7,6),(7,14),(7,22),(7,30), (15,6),(15,14),(15,22),(15,30),
(23,6),(23,14),(23,22),(23,30) and (31,6),(31,14),(31,22),(31,30)
are used for the minimap picture. For a 32x32 map all 16 Pixels are used.
For a 128x128 map only the first one.
The colors of the palette reserved for the tileset:
HELPME: I don't know!
The conversion table from pud file to the internal format could be
changed with ccl.
More tileset informations
More user interface informations
The graphics are loaded from 'png'-files. Only files with 256 indexed
colors are currently supported.
The format of an unit sprite is:
FIXME: more to come
Look into tileset documentation, what I have found.
The sounds are loaded from 'wav'-files. Files with 8 or 16 bit, mono and
11025hz sample frequency are currently supported.
extract
Extract a compressed entry out of the original game data file.
Read the knowledge bases which entry contains what.
Usage: extract data-file entry output
- data-file
Compressed input data file. (normally maindat.war)
- entry
Entry number of the data-file.
- output
Output file for the uncompressed entry.
gfx2png
Convert compressed graphic (unit sprites) to png graphic file.
Usage: gfx2png palette file.gfx
- palette
Use palette in png file. "palette" is a raw file containing 768
bytes for 256 colors of r g b.
- file.gfx
File.gfx contains the graphics of the sprites. The output file is
file.png.
gfu2png
FIXME: must write docu.
img2png
FIXME: must write docu.
cur2png
FIXME: must write docu.
fnt2png
FIXME: must write docu.
tile2png
FIXME: must write docu.
aledoc
FIXME: must write docu.
Following things are used from other peoples. If not other mentioned,
protected by the following license
"GNU General Public License"
- cross.png, health.png, mana.png.
- (c) Copyright 1998-2003 by Johns.
- food.png
- Food resource icon (c) Copyright 2000 by the Guardian.
- score.png
- Score icon in resource (c) Copyright 2000 by the Guardian.
- ore,stone,coal.png
- Orc, Stone and coal icon in resource (c) Copyright 2000 by the Guardian.
- freecraft.bmp, freecraft.ico
- The FreeCraft icon (c) Copyright 2000 by Kyle.
Thanks to following people for helping me develop FreeCraft:
- Ari
- Edgar
- Valery Shchedrin
- Iftikhar Rathore
- Charles K Hardin
- Fabrice Rossi
- DigiCat
- Josh Cogliati
- Patrick Mullen
- Vladi Shabanski
- Cris Daniluk
- Patrice Fortier
- FT Rathore
- Trent Piepho
- Jon Gabrielson
- Lukas Hejtmanek
- Steinar Hamre
- Ian Farmer
- Sebastian Drews
- Jarek Sobieszek
- Anthony Towns
- Stefan Dirsch
- Al Koskelin
- George J. Carrette
- Guardian
- Michael O'Reilly
- Dan Hensley
- Sean McMillian
- Mike Earl
- Ian Turner
- David Slimp
- Iuri Fiedoruk
- Luke Mauldin
- Nathan Adams
- Stephan Rasenbergver
- Dave Reed
- Josef Spillner
- James Dessart
- Jimmy Salmon
- Jan Uerpmann
- Aaron Berger
- Latimerius
- Antonis Chaniotis
- Samuel Hays
- Nehal Mistry
- Patrick Beasley
- David Martinez Moreno
- Flavio Silvestrow
- Daniel Burrows
- Dave Turner
- Ben Hines
- Kachalov Anton
- Martin Renold
- Martin Hajduch
- Jeff Binder
- Berend de Boer
- Dirk Thierbach
- Russell Smith
- Ludovic
- Mr Russ
And to all I have forgot to write up!
Please drop me an email, if I forgot you.
All trademarks and copyrights on this page are owned by their respective owners.
The FreeCraft Project