FIFE - open source cross platform framework for isometric games

Started by
21 comments, last by mvBarracuda 15 years, 6 months ago
About FIFE The mission of the FIFE project is to create a cross platform game creation framework. Exact engine feature list changes over time, but the following lists the main guidelines for development * Games can be created with combination of engine, editor tools, game specific scripts and game content (e.g. maps, graphics and sounds). * Framework is not tied to any type of game (e.g. RTS, RPG), but instead provides flexible platform for all of them. * Framework supports different isometric views with addition of pure top-down view. * Instead of full 3D flexibility, engine focuses mainly on using high quality 2D graphics. This puts less demands on target platforms and also simplifies the framework and game development. * Purpose of the editor tools is to help to bind the game content with the engine and scripts. Screenshots 2007.2 techdemo: 2007.2 techdemo 2007.1 techdemo: 2007.1 techdemo Fallout support: Fallout support Download * 2007.2 source package (FreeBSD, Linux, Macintosh) * 2007.2 precompiled Win32 binaries 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 Important changes since the 2007.1 release * Removed the rather difficult to maintain lunar.h bindings in favour of SWIG (http://www.swig.org). * Replaced the Lua scripting support with Python. Now the main loop runs in the scripting language. For the 2007.1 release the main loop still ran in the engine side and the Lua library was embedded into the engine. By utilizing SWIG game creators can add Lua support back to the engine again if they have the need for it. * Metamodel refactoring. This resulted in a better engine structure and a decreased number of dependencies between the engine modules. Furthermore bi-directional dependencies were removed completely. * Improved engine modularity. Our aim is that you can cherry-pick specific engine modules of FIFE and just use the ones you really need for your game. * Pathfinding integration. Exchangable backends so you can already replace the currently rather simple linear pather with a more sophisticated system. * New 3d geometry system. Camera supports now tilt, rotation and zoom. Geometries are affected by camera adjustments, but in addition to that, layers can contain separate scale and rotation. * New event channel module. Scripts have full access to mouse, keyboard & widget input. * New MVC architecture pattern. The whole engine has been refactored to follow a model - view - controller pattern. This leads to a cleaner engine module hierarchy compared to the engine design that was used before. * Improved action-based animation system. * A techdemo to give game creators a starting point. This is a common undertaking of the Zero-Projekt team (http://www.zero-projekt.net) and FIFE. License The source code (*.cpp, *.h & *.py) is licensed under GPL 2.0 or newer. The techdemo content is licensed under Creative Commons Attribution-Share Alike 3.0. Directories with content that is not licensed under the Creative Commons Attribution-Share Alike 3.0 feature a separate LICENSE file that states the origin of the content, the author and the actual license it was published under. Building 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 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 the FIFE dependencies Guichan (http://guichan.sourceforge.net/) and minizip (http://www.winimage.com/zLibDll/minizip.html) from bundled source. Use this if you do not have these libraries, or have the wrong version. * 'scons -h' will list additional compile options. * 'scons' will build FIFE. * 'scons tests=1' will build FIFE and the boost unit tests (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=Linux_compile_guide After FIFE has been built successfully move into the <FIFE directory> and run: python techdemo.py Mac: Detailed information how to build FIFE on linux-based distributions can be found at the project wiki: http://wiki.fifengine.de/index.php?title=Mac_compile_guide Caution: the Mac compile guide is currently (2007/10/10) outdated. We'll try to update it as soon as possible. Furthermore we plan to provide ready to use binaries of the 2007.2 release for Macintosh systems later as well. After FIFE has been built successfully move into the <FIFE directory> and run: python techdemo.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.1.1-win32-x86.msi Move into the <FIFE directory> and start the techdemo.py script. You can simply double-click with your mouse on it. It should be automatically associated with the Python interpreter after installing ActivePython. Configuring FIFE: The engine creates a file called "fife.config" if it's not in place yet. You can customize FIFE by editing this file. A detailed guide about the FIFE config file can be found at the project wiki: http://wiki.fifengine.de/index.php?title=Fife.config Known issues * The player character does currently walk over all map objects, even over the walls of the bar building. There are a couple of reasons for this: -> We didn't have the time to split up the bar building into several smaller graphics; ATM the whole bar is still one huge monolithic image. We ran out of time in the end and decided to simply leave it this way for the release. -> Collision / blocking of map instances hasn't been implemented yet. * The background music is currently just played once. The audio module that ships with this release is lacking a lot of functionality; among other things looping for audio tracks. We're already working on a new audio module that will offer game creators much more audio-related features for their games. But unfortunately this new audio module is not ready yet. We hope to bundle it with the 2007.3 release. * Pathfinding is still pretty simple. E.g. if you click on a position of the map the player character will move to the currently closest node first and walk to the aim node after that. In cases where the aim node lies in a different direction than the currently closest node, the player character will move away from the aim first and start walking towards it after it has reached the currently closest node. * The shadows of the agents are just black instead of semi-transparent for the SDL renderer. We didn't have the time to fix this issue before the release. Open your fife.config and set SDLRemoveFakeAlpha to 0 to work around this for now. * Win32 users tend to suffer from problems with the OpenAL drivers. If you don't hear the background music playing while running the techdemo, run oalinst.exe that ships with the Win32 package. This is the latest OpenAL driver for Win32. * The boost unit tests are broken on Win32. 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 is set on 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: * FIFE IRC channel * FIFE forums Have fun with the release and let us know what you think about it! -- The FIFE and the Zero-Projekt team.
-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
Advertisement
That is very good looking! How are you handling shadow and lighting in the topmost screenshot? is it pre-rendered with the tileset? I would seriously consider using your engine if I wasn't creating my own.
Quote:Original post by O-san
That is very good looking! How are you handling shadow and lighting in the topmost screenshot? is it pre-rendered with the tileset? I would seriously consider using your engine if I wasn't creating my own.

Sorry for my late answer :-( I totally forgot about your reply.

Yes: the shown shadows are baked into the images; the same goes for the general lighting. Thanks for the kind feedback :-) that really helps us to stay motivated.

-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
No fancy new screenshots this time but we updated our compile SDK for Windows systems. You'll need the new SDK to build the latest SVN revisions of FIFE on Win32. Grab the new SDK here:
FIFE Win32 compile SDK sfx 7zip version
FIFE Win32 compile SDK zip version
-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
Its good to see this is still going. Keep up the good work!
It's update time!

It was pretty quiet in the last weeks. One reason were the number of university tasks but another factor was my personal lazyness and lethargy caused by the holiday period. Now FIFE is back with yet another news update :-)

Here is a nifty new screenshot of the currently work in progress editor tool:
2008.0 editor tool: FIFEdit

Furthermore our latest blog post covers the latest issues we encountered but also progress reports from the audio module, editor development and pather front.

You can check out the whole news update at the FIFE developer blog:
Time for heroes - yet another FIFE blog update

Just to let you know that we're still working on our isometric engine :-)
-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
It's update time again :-) three weeks have passed since our last official blog update and we're glad that we can report to have made several steps forward in this time.

To just summarize the most important points:
- We decided to revive the island_demo concept from the 2007.1 release and ship a island_demo like game with future FIFE releases
- View code changes to improve performance and resolve z-order issues
- Floating text renderer support for map instances
- VFS improvements for editor tool
- Vastly improved pychan extension
- FIFE documentation server with fresh doxygen, epydoc documentation generated on a daily basis; live IRC logs for developers
- Tweaked FIFE forums design
- Fresh blood on the team: two new programmers, one additional project manager
- New precompiled Win32 SVN snapshot available

Feel free to give the whole detailed blog update a read here:
http://mirror1.cvsdude.com/trac/fife/engine/wiki/2008/01/28/17.22

In case you're just interested in fancy screenshots we got something for you as well. Here is a list of all new screenshots that are shown in the update:
Floating text support:
Floating text support

Continuum graphics pack: 45 degrees rotation:
Continuum graphics pack: 45 degrees rotation

Continuum graphics pack: 135 degrees rotation:
Continuum graphics pack: 135 degrees rotation

Continuum graphics pack: 225 degrees rotation:
Continuum graphics pack: 225 degrees rotation

Continuum graphics pack: 315 degrees rotation:
Continuum graphics pack: 315 degrees rotation

Continuum graphics pack: playing around with rotation, tilt and zoom parameters:
Continuum graphics pack: playing around with rotation, tilt and zoom parameters

Last but not least: here is the download link for the mentioned new SVN snapshot for Win32:
FIFE pre-2008.0 SVN snapshot for win32 (based on SVN r2057)

[Edited by - mvBarracuda on January 29, 2008 9:35:54 AM]
-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
We've done it again! We proudly present the FIFE 2008.0 release :-)

Download:
* Source package (FreeBSD, Linux, Macintosh)
* Win32 binaries

Screenshot of the new editor tool:
Placing clouds with the editor tool.

Youtube promotion trailer:
">FIFE 2008.0 promo video

Theme of this release:
For the 2008.0 release we decided to pick up the island_demo concept again. Right: again. We already used this concept for the 2007.1 release but we put it on ice as we worked together with the Zero-Projekt developers on a different example game for the 2007.2 release. The cooperation didn't work out as planned for either side and so both teams stick to their own projects again now.

After the cooperation has ended we considered all possible options and finally decided to flesh out the old island_demo concept and base our future example game upon it. Although we were able to finish the initial planning work for the new island_demo game some days ago, there is almost none of the new planned content in place yet. On the other side the engine itself and the editor tool that ships with it now made _huge_ steps forward since the last release about 4 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.1 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. We'll surely adjust the structure of the island_demo client over the next months but this release is stable enough to start working on your game now.

This release is surely not the beginning of the end of the road for us, but it's the end of beginning for the FIFE development team. Enjoy it as we do :-)

Important changes since the 2007.2 release:
* New audio module with support for some more advanced audio features.
* Optimized view code to improve the performance and resolve map instance z-order issues.
* Switched back to island_demo concept; this will be the example game that ships with future FIFE releases as well.
* Ability to save maps
* Routing pathfinding (previous release only had linear pather)
* Pluggable rendering system with several new plugins included.
* New editor tool, which can be used to layout maps
* XML-format improvements: stack position, z-position, camera definitions, animation x/y offsets
* Vastly improved pychan extension; XML based GUI definitions
* Quadtree adjustments
* Ability to define own settings formats and interpret them from scripts
* Ability to attach cameras to instances (so that they are tracked while they move)
* Separate x/y scaling for cellgrids, allows more flexible geometry definitions (e.g. rectangle)
* Basic mouse map instance picking.
* Improved engine-script exception reporting
* Mouse cursors can be changed from scripts

Few non-code related changes:
* Rough task list for the whole island demo has now been created
* Vastly improved documentation with nightly updates for engine core & scripts
* Lots of new content gathered and created for island demo e.g. agent definitions, clouds graphics, music...

Read the full release announcement at the FIFE developer blog.
-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
Congradulations for the release, I think it looks very nice.

I have a question about the licence though, I tried to read from the GNU website but I feel like I need to get a lawyer to explain it to me. I was thinking that I might want to try using FIFE to create a game, but before I start getting in to it I'd like to know if it is allowed to use it for a commercial game ie. sell copies of the game.

Quote:"You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License."

Is that a no?

Sorry if this is dumb and very often asked question but it would be nice to get it cleared. Thanks.
Quote:Original post by Wrath
Congradulations for the release, I think it looks very nice.

Thanks :-)

At first I want to apologize for the late reply. University kept me quite busy last week and there were a couple of FIFE-related tasks that needed my attention as well :-/

Quote:Original post by Wrath
I have a question about the licence though, I tried to read from the GNU website but I feel like I need to get a lawyer to explain it to me. I was thinking that I might want to try using FIFE to create a game, but before I start getting in to it I'd like to know if it is allowed to use it for a commercial game ie. sell copies of the game.

Quote:...

Is that a no?

Sorry if this is dumb and very often asked question but it would be nice to get it cleared. Thanks.

Your question isn't dumb at all. License-related questions are often quite complicated but I'll try to clear up the situation a bit.

FIFE is currently still licensed under GPL 2.0. That means if you modify the FIFE code (either engine core or extensions) you'll need to give back your changes by licensing your code under the GPL as well. Even if you just link against FIFE you'll need to publish the code that links against it under the GPL; therefore FIFE can't be used together with closed source libraries at the moment.

As you would need to open source the whole code of your FIFE-based game, you would not charge users for the code but for the whole game; basically you're selling assets (maps, graphics, sound effects, music, written text) together with a free of charge engine. So everyone can copy the code of your FIFE-based game under the conditions of the GPL but nobody can legally reuse the content that ships with the game.

Now there is something specific about the GPL that worries the FIFE developers. While we think it's fair that 3rd party developers who modify the engine core for their needs give back these changes to the community, we don't think it is fair that they'll need to open source the complete code base of their FIFE-based game. We are especially worried about scripts: as soon as you import an self-written Python script into the engine, it gets "infected" by the GPL and you need to open source this code.

As we would like to increase the attractiveness of the engine for independent developers we're currently evaluating the option to switch to LGPL for engine core and script extensions. This way developers who modify the engine core or the scripts that ship with FIFE will still need to give back their changes to the community. But the LGPL offers the advantage that you won't be forced to release the code that you've written from scratch and just link against FIFE under the LGPL. The whole LGPL switch discussion is still ongoing but we can hopefully already release the next planned milestone 2008.1 under the LGPL. In case you're interested about details of the license switch discussion, give this thread a read:
FIFE GPL to LGPL license switch discussion

-----PARPG - open source isometric 2d old school RPG still looking for interested contributors

This topic is closed to new replies.

Advertisement