view doc/README @ 145:e7a431577c95

Cleaned the basic model up. Code is cleaner now and a bit faster. Some code path were never tested in depth :-( Added a 'time_to_load' attribute to XMLMapLoader, which records the seconds it took to load a map. Down from 6s to 5.6s for reio de hola. Yay!
author phoku@33b003aa-7bff-0310-803a-e67f0ece8222
date Thu, 09 Oct 2008 08:23:13 +0000
parents e945a1f51e3c
children
line wrap: on
line source

== Introduction ==
Welcome to the FIFE 2008.1 README. This snapshot is based on SVN revision 2511.

== Table of contents ==
1 Theme of this release
2 Important changes since the 2008.1 release
3 Features
4 Building & running FIFE
4.1	General notes
4.2	Linux
4.3	Mac
4.4	Win32
5 Configuration
6 Known issues
7 Feedback
8 Signature

== Theme of this release ==
For the 2008.1 release we decided to stick to the tropical island concept and called our example game "Rio de hola".

Caution: this release is still lacking a lot of polish, especially the "Rio de hola" game that ships with it. It lacks almost any form of gameplay but there is a reason why we decided to ship the release in its current form nevertheless. We planned to release future FIFE milestones under the LGPL to offer a less "restrictive" license to possible FIFE users (we know that the term "restrictive" is just our personal point of view).

We had to clear up the legal situation first and fortunately the software freedom law center (http://www.softwarefreedom.org/) helped us with the transition. The agreement of all developers who contributed code that was still used in FIFE was needed and because over three dozens of people contributed code to the project, this took us a lot of time. We were not able to reach all of them so we decided to either remove or rewrite the code of the contributors who didn't reply to our license switch proposal mails (from scratch).

We were able to replace the last parts of the problematic code today so now FIFE is officially LGPL'ed software. We're glad that we were able to make this step after it took us so long and we think that the new license alone is worth a release. Therefore we're proud to finally present the first FIFE release that is published under LGPL 2.1 or newer (your choice).

Engine and the editor tool made _huge_ steps forward since the last release about 5 months ago. Therefore we decided to release the current status as stable release although it offers not many new aspects on the content side and the content that is in place is very likely to change with the 2008.2 release.

The milestone itself seems to be a very important step into the right direction. You can build your own maps now with the help of the editor tool. Furthermore a basic application structure is in place that should give you an idea how can create your own FIFE-based game; this release is stable enough to start working on your game now :-)

== Important changes since the 2008.0 release ==
=== Model improvements & simplifications ===
 * Elevations removed (Fallout legacy).
 * Support for namespaces:
  * New resource infrastructure migrated into whole engine. This enables:
   * uniform pooling for all resources that need to be pooled.
   * uniform loading for all resources (model stuff, images, sounds...).
   * uniform saving for resources which support saving (model stuff).
  * Datasets are now stored in a flat list in model instead of dataset hierarchy.
  * Changes in model are now bookkeeped. Observer interfaces provided for change listeners.
   * This enables e.g. reacting only to changes instead of polling on every round.
   * Also critical enabler for triggers.
  * Instances now support initial rotation value.
  * Objects support default actions.
  * Further model cleanup.

=== XML format changes ===
 * All resources are now defined with principle 1 file / 1 resource.
 * Importing of objects can now be done also based on directories where they are contained.
 * Relative paths are now used instead of absolute ones.

=== Loaders ===
 * All loading happens now from python (tinyxml dependency removed).
 * Improved error reporting.

=== Editor ===
 * Possibility to move instances on map.
 * Possibility to rotate instances on map.
 * Possibility to zoom the map (OpenGL mode only).
 * Painting with currently selected instance (e.g. large ground areas).
 * Importing of multiple objects based on given directory.
 * Initial map creation wizard (still work in progress).

=== Rio de hola game ===
 * More assets:
  * Graphics, sounds, music...
  * Two new maps matching the storyline.
  * Rio de hola now conforms to package structure: http://wiki.fifengine.de/Fife_Package_Specification
  * Popup menu integration, demonstration of actions (kick, talk).

=== Pychan improvements ===
 * Hiding of scrollbars.
 * Text wrapping.
 * A lot of smaller improvements. 

=== Functionality ===
 * Pixel perfect instance picking (taking transparency into account).
 * Ability to get list of instances from given screen rectangle.
 * Distance calculations made easy, exposed to scripts.
 * Instance outlining.
 * Instance coloring.
 * Screenshots are now saved in png format (instead of bmp).
 * Stereo sound support in linux (introduced with the help of openal-soft).

=== Video / view improvements ===
 * Both renderbackend and separate images can now render graphical primitives (e.g. lines, dots..).
 * Each camera now has separate set of renderers. Allows truly adjusting cameras independently.
 * Zooming capability (currently properly supported only by OpenGL backend).
 * Support for drag cursor definitions.
 * OpenGL graphics chunking size is now definable in settings. Should help e.g. with large backgrounds.
 * GenericRenderer adding customised rendering capabilities for scripts.

=== Misc. changes ===
 * Initial package structure defined for FIFE clients.
 * Updated guichan to the latest release 0.8.1.
 * Usage of unittest++ instead of boost unittests.
 * Lots of bug fixes.

=== Non-code related changes ===
 * Switch from GPL 2.0 to LGPL 2.1 (or newer).

== Features ==
A complete list of the features that FIFE offers can be found at the project wiki:
 * http://wiki.fifengine.de/index.php?title=Engine_features

== License ==
The source code (*.cpp, *.h & *.py) is licensed under LGPL 2.1 or newer:
 * http://www.gnu.org/licenses/lgpl-2.1.html

Content was taken from a lot a lot of different 3rd party sources. Therefore each client directory comes with a separate LICENSE file that states the origin of the content, the author and the actual license it was published under.

== Building & running FIFE ==
=== Dependencies ===
A list of all dependencies (including accurate version numbers) that you'll need to obtain to build FIFE on your platform can be found at the project wiki:
 * http://wiki.fifengine.de/index.php?title=Build_dependencies

=== General notes ===
FIFE utilizes the SCons (http://www.scons.org) build system. Here is a quick list of scons commands that can be important for building FIFE on your platform:
 * 'scons ext=1' will build specific FIFE dependencies from source that usually don't reside in the most important Linux package managers.
 * 'scons -h' will list additional compile options.
 * 'scons' will build FIFE.
 * 'scons tests=1' will build FIFE and the unittests (needed for test_fife.py).
 * 'scons -c' clears any compiled objects (= scons equivalent of 'make clean').

Platform specific details how to build FIFE can be found down below.

=== Linux ===
Detailed information how to build FIFE on Linux-based distributions can be found at the project wiki:
 * http://wiki.fifengine.de/index.php?title=Building:Linux:SCons

After FIFE has been built successfully move into the <FIFE>/clients/rio_de_hola directory and run: python run.py

=== Mac ===
Detailed information how to build FIFE on Macintosh systems can be found at the project wiki:
 * http://wiki.fifengine.de/index.php?title=Building:Mac:Scons

Caution: the Mac compile guide is currently heavily outdated! We would like to improve this situation but we're lacking a Mac maintainer who could take care of that. In case you're interested in the position feel free to get in contact with our developers on the project's IRC channel:
 * http://wiki.fifengine.de/index.php?title=IRC

In case you manage to build FIFE on your Mac system you can move into the <FIFE>/clients/rio_de_hola directory and run: python run.py

=== Win32 ===
The Win32 package ships with precompiled binaries. Simply unpack the package to location of your choice. After that you'll need to install ActivePython 2.5 to run the techdemo:
 * http://downloads.activestate.com/ActivePython/windows/2.5/ActivePython-2.5.2.2-win32-x86.msi (for 32bit Windows systems)
 * http://downloads.activestate.com/ActivePython/windows/2.5/ActivePython-2.5.2.2-win64-x64-nopywin32.msi (for 64bit Windows systems)

Move into the <FIFE>\clients\rio_de_hola directory and start the run.py script. You can simply double-click with your mouse on it. It should be automatically associated with the Python interpreter after installing ActivePython.

The editor tool can be found within the <FIFE>\clients\editor directory. You can launch it by running run.py.

Last but not least there is an example client residing in <FIFE>\clients\pychan_demo that shows how the pychan GUI library works. Start the GUI demo application by running pychan_test.py.

== Configuration ==
The engine utilizes special settings files for configuring FIFE. This file is called settings.py and resides in the same directory as the run.py scripts. You can customize FIFE by editing this file.

== Known issues ==
 * All included maps are still really early work in progress versions that lack proper blocking. Furthermore a lot of planned map objects are missing because we're still searching for 3d artists who could help us with the creation of those.
 * Despite the Rio de hola client is labeled as a game, it does not feature any relevant kind of gameplay yet. We can hopefully improve this over the next releases. We released FIFE in its current form nevertheless because the license switch as well as the engine and editor improvements are huge steps forward in our opinion.
 * Win32 users tend to suffer from problems with the OpenAL drivers. If you don't hear the background music playing while running Rio de hola, run oalinst.exe that ships with the Win32 package. This is the latest OpenAL driver for Win32.
 * The unittests are broken on Win32 (if used in combination with scons & mingw). We plan to address this issue but we're lacking active Win32 developers to look into these kind of problems as the vast majority of the active developers are running Linux. If you would like to help out with Win32-related issues please contact us at our IRC channel: http://wiki.fifengine.de/index.php?title=IRC

== Feedback ==
We appreciate every kind of feedback concerning the release, the project in general and the bundled techdemo. Feedback is a great way to help us to improve FIFE. If you would like to get in contact with us and provide feedback you can either visit our IRC channel or our forums:
 * http://wiki.fifengine.de/index.php?title=IRC
 * http://forums.fifengine.de/index.php?board=5.0

== Signature ==
Have fun with the release and let us know what you think about it!
-- The FIFE team.

http://www.fifengine.de/

2008/07/13