FIFE forums

Please login or register.

Login with username, password and session length
Advanced search  


FIFE 0.4.0 has been released on 15th of January, 2017!

Author Topic: Getting Started  (Read 2499 times)


  • Newbie
  • Posts: 1
    • View Profile
Getting Started
« on: March 20, 2011, 03:37:51 pm »

Hi prock and vtchill (sorry for usinf IRC username)
I want to get invove with you and improve its performance ( Gsoc project through unknown-horizon).
My question is that how should i start and what should i know before start developing.
As of now. I know:-
1. SDL:- Use it a lot while developing games with tuxmath
2. C++ but at intermediate level. Just learn it as a subject in previous semester and as a main subject in high school for two years ( On Bordland c++). Will it be ok.
3. Opengl at intermediate level. Have learned it using on-line tutorial.

Will that be sufficient for start working on FIFE or i have to learn something else.
I have poked at FIFE documentation and my final observation is that you have used sdl and opengl( for rendering ) in gui for making its base.
And can i use GLUT for developing fire frame models as they will make whole development process easier and a lot faster. My main concern is that we have used sdl for window management and event management. 


  • Developer
  • Full Member
  • *
  • Posts: 206
    • View Profile
Re: Getting Started
« Reply #1 on: March 20, 2011, 10:28:52 pm »

Hey deepak welcome to the fife community. Glad you are interested in helping with unknown horizons (UH)  and fife.

The first thing to be aware of is that fife is used by several clients as the backend game engine. What this means is that any changes that are made to fife must be implemented in a generic fashion and must be applicable and correct for all clients. This makes development a little more time intensive and complicated but its a must since several groups rely on the code.

First thing to do is grab the fife code as well as the UH code if you haven't done so already. Go through the install/build instructions for building fife from source. Instructions for building for various operating systems can be found here

Once you have built fife and ensure the demos run correctly on your machine you are ready to run UH and check out its current capabilities and performance. The guys from UH will be able to point you at specific things their game does that cause performance drops.

To answer a couple of your questions:
1. fife uses SDL libraries a good bit for a variety of things includes: window management, timers, mouse/keyboard input, loading image files, software rendering, etc.

2. C++ knowledge is a must for fife development, the entire engine code base uses C++ and STL. There is also some Python code as part of the engine to aid clients with game development. fife uses SWIG for Python binding support so clients can develop using Python.

3. Opengl is used for rendering although fife does not utilize much of its capability and instead mainly uses immediate mode for 2d rendering. fife also does not take advantage of the programmable pipeline currently meaning shaders and other more advanced features are not supported.

fife currently supports a software renderer using SDL and a hardware accelerated render using opengl.

Your knowledge should be sufficient to start looking around in the code and learning how fife is organized. Most of the rendering related code is located in <fife>/engine/core/video/ so you can start here when looking over the fife rendering code.

For fife development GLUT cannot be used easily since fife uses SDL to handle most things that GLUT would handle normally.

Prock and myself are normally in the IRC channel during the week and we try to be somewhat active during the weekdays. We both have full time jobs so our time varies, but we are at least idling there and will see a message left in the channel. Otherwise the forum is a great place for questions as we both check it pretty regularly.

Good luck and feel free to ask questions to myself, prock, or any of the UH guys.