Oulun lääninhallitus

EUROOPAN YHTEISÖ Interreg III A Karjala

Open Source & Low Cost Game Engines

Open Source & Low Cost Game Engines
LudoCraft | ELIAS-project

1

Oulun lääninhallitus

EUROOPAN YHTEISÖ Interreg III A Karjala

Open Source & Low Cost Game Engines

Table of Contents
TABLE OF CONTENTS..............................................................................................................................2 INTRODUCTION.........................................................................................................................................4 PURPOSE OF THIS DOCUMENT ............................................................................................................5 WHAT IS A GAME ENGINE? ...................................................................................................................6 WHAT SHOULD BE TAKEN INTO ACCOUNT WHEN CHOOSING A GAME ENGINE? ............9 ENGINE LICENSE ..........................................................................................................................................9 GAME DESIGN VS ENGINE ..........................................................................................................................10 TRACK RECORD .........................................................................................................................................10 HARDWARE REQUIREMENTS......................................................................................................................10 PROJECT RESOURCES VS ENGINE ...............................................................................................................10 RECOMMENDATIONS ............................................................................................................................12 2D ENGINES...............................................................................................................................................12 3D ENGINES...............................................................................................................................................12 ENGINES MADE BY FINNISH GAME COMPANIES .........................................................................................13 TYPICAL GAME ENGINE FEATURES.................................................................................................15 AI..............................................................................................................................................................15 ANIMATION ...............................................................................................................................................17 CAPACITY .................................................................................................................................................18 COST AND LICENSING TERMS.....................................................................................................................18 GPL (General Public License) ............................................................................................................18 LPGL (GNU Lesser General Public License) .....................................................................................19 DEBUGGING ..............................................................................................................................................19 DOCUMENTATION & HELP CHANNELS .......................................................................................................20 GRAPHICS API ..........................................................................................................................................21 HARDWARE REQUIREMENTS......................................................................................................................21 LIBRARY VS. EDITING TOOLS ....................................................................................................................22 LIGHTING ..................................................................................................................................................22 LOCALIZATION ..........................................................................................................................................23 MATERIALS & TEXTURES ..........................................................................................................................23 NETWORK .................................................................................................................................................24 OTHER FEATURES ......................................................................................................................................25 PHYSICS ....................................................................................................................................................25 PROGRAMMING LANGUAGE .......................................................................................................................26 REQUIRED ASSET FILE FORMATS, SPECIAL TOOLS, ETC. .............................................................................26 SCRIPTING .................................................................................................................................................27 SOUND & MUSIC ........................................................................................................................................27 SPECIAL EFFECTS ......................................................................................................................................28 STATUS .....................................................................................................................................................29 SUPPORTED PLATFORMS & OPERATING SYSTEMS ......................................................................................29 TERRAIN....................................................................................................................................................29

2

Oulun lääninhallitus

EUROOPAN YHTEISÖ Interreg III A Karjala

Open Source & Low Cost Game Engines
TYPE .........................................................................................................................................................30 2D ENGINES...............................................................................................................................................31 FLASH 8.....................................................................................................................................................31 GAME MAKER ...........................................................................................................................................32 GOLDEN T GAME ENGINE .........................................................................................................................33 POPCAP GAMES FRAMEWORK ..................................................................................................................34 SHOCKWAVE .............................................................................................................................................34 SIMPLE DIRECTMEDIA LAYER (SDL) .......................................................................................................35 TORQUE 2D...............................................................................................................................................36 OTHER POSSIBILITIES ................................................................................................................................36 3D ENGINES...............................................................................................................................................37 3D GAME STUDIO ......................................................................................................................................37 BLITZ3D ...................................................................................................................................................38 CRYSTAL SPACE ........................................................................................................................................39 DARKBASIC.............................................................................................................................................40 DELTA 3D .................................................................................................................................................40 IRRLICHT ...................................................................................................................................................41 KA3D ........................................................................................................................................................42 LIGHTWEIGHT JAVA GAME LIBRARY .......................................................................................................42 PANDA3D..................................................................................................................................................43 QUAKE 2 ...................................................................................................................................................43 QUAKE 3 ...................................................................................................................................................44 QUEST 3D .................................................................................................................................................45 REALITY ENGINE .......................................................................................................................................46 TORQUE GAME ENGINE ..............................................................................................................................47 TV3D SDK VERSION 6.2 ..........................................................................................................................48 UNREALENGINE2 RUNTIME ......................................................................................................................49 GRAPHICS ENGINES...............................................................................................................................52 OGRE .......................................................................................................................................................52 OPENSCENEGRAPH ...................................................................................................................................53 MISCELLANOUS ENGINES....................................................................................................................54 3D RAD .....................................................................................................................................................54 ADVENTURE GAME STUDIO ......................................................................................................................54 BLENDER...................................................................................................................................................55 GAMES FACTORY ......................................................................................................................................55 NEBULA ....................................................................................................................................................56 REALITY FACTORY ....................................................................................................................................56 SCROLLING GAME DEVELOPMENT KIT .....................................................................................................57 SOYA 3D ...................................................................................................................................................58 REFERENCES ............................................................................................................................................59 ADDITIONAL RESOURCES....................................................................................................................60

3

Keeping the situation described above in mind. The list is not comprehensive describing all of the available game engines because there are hundreds of them mostly available on the Internet.0. the difference between them when comparing just the game engine features is a huge one. The main part of the document is a list of open source and low cost game engines with descriptions and comments about the engines themselves. 4 . Some engines are one-man projects developed by students or other hobbyists while others might have big organized teams behind them. etc. Doom 3 and Half-Life2 are examples of the top engines available at the time this document was written.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Introduction This document describes open source and low cost game engines found at the time of making this document. Unreal 3. the need to use a top engine isn't there anymore. This document doesn't contain information about the latest commercial game engines which generally cost hundreds of thousands of dollars to license. sdk's. meaning years 2004-2005. Search for Bejeweled or DinerDash on the WWW for examples of casual games. There are also a bit older game engines available which have been used in commercial games a few years ago and are now free for use. the first part of the document describes briefly the big picture of game engines and other related terms like game development toolkits. Unreal 3. After this there is a chapter discussing what has to be taken into account when choosing a game engine for the project. An example of smaller type games are casual games which might be sold on the Internet.0 has just tons of features when compared to Torque game engine. When comparing the top commercial engines with the low cost engines described in this document. But when developing smaller 3D games which don't require state of the art 3D graphics or 32 player network support.

There are no assumptions that the engine is going to be used in a project whose aim is to make a commercial game. what features the engines have. Also companies can use this document to find out what kind of engine technologies are available. etc.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Purpose of this document This document describes what are game engines and what kind of free and low cost game engines are available at the writing time of this document. commercial purposes and other kinds of purposes different from the very competitive commercial gaming business. These people can be hobbyists who make games as a hobby and need a platform to develop games instead of starting from scratch. This is because games can be also developed for teaching. what kind of licensing terms they have. 5 . This document is for all kinds of people looking for a game engine for their project.

All systems are equally important because for a successful game you almost always have to have fun gameplay (which means good AI. According to Wikipedia (2005) game engine is the core software component of a video game. 6 . It typically handles graphical rendering and other necessary technology. but might also handle additional tasks such as game AI. sounds. (Sweeney 2004). The relationship between a game and it's engine can be compared to a car and it's engine. 3D-models. The most common element that a game engine provides is graphics rendering facilities (2D or 3D). Another common attribute of game engines is platform abstraction. Sound & music system handles playing of sounds & music. Typical engine subsystems include Renderer draws the scene with all approriate objects & effects to the screen. While engine has all of these smaller subsystems like rendering and collision. collision detection between game objects among other things. keyboard. It combines different media elements and makes them work together. good sound. You can take a car's engine and put it into another car which looks totally different from the original car. and good physics). Input / output system is used for handling file operations. sound files. level geometry and other art assets. huds. graphics files. thus creating the game. Without the engine game only has separate files like game rules & game logic. mouse. Physics are used to simulation gravity and other physics related elements. sufficiently powerful content creation tools to empower the artists to work their magic. there isn't a single system which is more important than others. impressive visuals (meaning a modern and stable renderer). animations. etc. A game or engine seriously lacking in any of these areas is very likely to turn into a disaster. Database system is used storing the data. and a sufficently powerful and stable engine framework (the unglorious things like resource management and loading) to enable the programmers to work productively. etc. Collision detection is used to calculate collisions between objects. models. different versions of Windows) with little or no changes in the game source code. In games the engine is like this too so it can be used with different kinds of content (also known as assets) which include graphics. Network system is essential for multiplayer games played over networks. menus. good network code. AI system is used to have computer controlled opponents & allies. GUI system is used for creating and handling windows.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines What is a game engine? Game engine is the core software component of the game that makes the game work. so the game can run in various platforms (game consoles.

Editor from UnrealEngine2 Runtime. Some of the commercial games come with editor tools. You can have the same engine power a militaristic first person shooter. etc. Other companies who provide one specific part of the engine are for example Havok with their physics component and IDV with SpeedTree foliage & tree system.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines game logic. 7 . These companies are known as middleware developers and they provide game companies whole game engines or some parts of it like physics. game development toolkits or SDK's which can be used to create additions to the original game or create a whole new game using just the engine of the game. Figure 2. a third person fantasy-style role playing game or a pinball game for example. Figure 1. Modular game engine structure (Lewis & Jacobson 2002) There are special companies that focus just on creating game engines. Most of the games which have these tools dictate the type of the game which can be developed using the tools. For example NeverWinter Nights development tools can be mainly used just to create same style role playing games are the original game. On the other hand there are tools like Unreal & UnrealEd which allow people to create pretty much any type of games they want (figure 2). The idea is to stop reinventing the wheel again and again by coding the physics component in every new game and instead use the same physics component in every game. Well known middleware developers include names like id software and Epic Games who both develop whole engines.

A sample game engine architecture. Sound. They don't contain any scripting. 8 . sound. On the side of graphics engines there are other types of engines or smaller components which can be combined to make a full game engine. Figure 3. physics and network engines or just library files can be combined with a graphics engine to make a fully working game engine.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Graphics engines are engines designed just to show the 2D or 3D graphics of the game. physics or network related components that are essential for games. OGRE is a good example of a pure graphics engine.

more you usually have to pay. PS2. There might be different editions or versions of the engine available with different prices. 9 . Also people can make copies of your game as much as they want without your permission. etc). This chapter provides a base for the decision making by describing those things.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines What should be taken into account when choosing a game engine? When choosing a game engine for the project. The more platforms you want to support. there are many things which much be taken into account. • Payments for additional platforms (Linux. Some engine manufacturer's require you to buy a license for every developer using the engine development tools. Engine license Do you need an engine for a commercial game or for some open source application? Engine which has a GPL license means that you have to also release your source code if you use the engine. So the best choice is always to get a commercial license for the engine you are going to use. For example KA3D requires the use of 3DSMax which is a very expensive 3D modeling program to make game levels. Another example is that Unreal engine has export tools ready only for commercial 3D modeling programs 3DS Max and Maya. LPGL is also a bit similar and it is somewhat unclear what you have to release if you use LPGL licensed components. When licensing an engine. • Some engines require the use of specific programs which cost a lot of money. Contact the company or person who made the engine and try to negotiate a commercial license for the GPL'ed / LPGL'ed engine. • Some engines are free but use libraries like FMod (sound library) which is free unless you use it in a commercial product. the costs are usually one or a combination of the following: • Flat licensing fee which is paid when the engine is licensed from the developer. • Payment for engine updates or support. XBox. • Royalties based on number of copies sold. • Payment per programmer using the development software. Especially the middleware companies like Epic usually have licensing terms which allow you to buy the engine either cheap with royalty payments or more expensive with no royalties. In this case you have to license it for about $2000.

Hardware requirements If you are planning on making an indie game for lower machine specifications. Some engines cost more and some less.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Game design vs engine What kind of game is being developed affects the decision about the game engine. The ones which cost more are usually more robust and have more features than the cheap engines. the engine should support most of the functional requirements already at the start of the project. The list of typical engine features on the previous page gives a picture what to look for in game engines. It's a matter of comparing game design vs. choosing an engine which requires a state of the PC is not that wise. it's possible to choose an engine which demands much programming to get things working. You want to be the user of a solid game engine and focus on the game development instead. So choose an engine which suits the needs and the target platform / specifications of the game. The engine should support the main elements the game design but not necessarily all of them. For example is the game going to be 2D or 3D? What about AI support? Track record Has the engine been used already in commercial games or in any games? If the engine has been indeed used and has a solid track record. The experience and structure of the development team. game engine feature support. 10 . Normally you don't want to be the betatester for the engine who finds the engine's bugs. Project resources vs engine The cost and licensing deal of the engine. it's much safer to choose it rather than going for an engine which hasn't been used in any commercial games yet. In case there are only a few programmers. choose an engine that supports it already or it's easy to add the required feature to it. If the team has many programmers. So for example if the game is heavily based on good physics simulation.

Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Time table of the project. but he says that it really saves just about six months. You've leveled six months off your schedule. By reusing an engine. You'd think it would turn a three year project into an eighteen month one. your designers can begin prototyping levels immediately. That's your critical path. you don't get to save those two years. There are also some negative things when using an existing game engine rather than making one by yourself if you have skills and resources for it. even though those levels won't have all the features that you envision for the final project. The fact that you're using an engine that two or more years have gone into doesn't seem to matter. Some engines need more work to make things work or graphics look good. A big benefit of this time savings is that your designers can begin making levels much earlier in the development process. On the other hand. According to Fristrom (2004) using other's game engines doesn't give you as much of an advantage as you might hope.) 11 . (Fristrom 2004. And working with the engine brings its own price: You continually feel painted into a corner. If only the engine was designed from the start for network play and If only the engine was designed from the start for a full-state save game. You'll find yourself saying things like. It still took 3 years for Valve to develop Half-Life although they used Id's Quake 2 engine. some engines are easy and fast to work with but lack in some other areas like good graphics or physics.

Also if you decide to use this engine. PopCap Games Framework has been used in many commercial games and it's license allows to use it freely without any restrictions.Developing is easy with ActionScript For fast 2D games there aren't any obvious choices.Supports making games for Web . . It is a complete game authoring system so you don't need to add any extra plugins or software to it. . 3D engines 3D applications which are not games and require solid and robust engine we recommend using the UnrealEngine 2 Runtime. Steinmeyer (2005) suggests Flash.A complete game authoring system. It is more expensive than the other low cost and free 3D engines but it just has so many features and is very solid. UnrealEngine2 Runtime has the following features making it the best choice: .Content driven. If the game needs to be made with java. you should negotiate about the exact licensing costs first and then move on with the development. No need for additional programs or libraries. But if you are developing a game. 2D engines 2D games which are simple.A complete game authoring system.Has the best support for doing all kinds of 2D animation . This means that it is one serious option worth checking out. using this engine is not an option because the license denies it. you start developing the application immediately 12 . When choosing a development platform for casual 2D games. using the SDL library. Flash 8 has the following strengths making it the best choice: . This is because the licensing information for this engine is not public at the time of the writing so the exact costs cannot be described here.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Recommendations This chapter has recommendations which engines should be used for particular kind of projects. No need for additional programs or libraries. rather you start developing your application immediately. Java and Compiled C/C++ hooked to DirectX. relatively static and don't depend many moving objects we recommend using Flash 8. Golden T Game engine is an obvious choice. Only problem with it is the speed because it is just so slow when compared to 2D games using C++ / DirectX (Bilas 2005). The recommendations are based on the evaluations presented in the next chapters and on the personal experiences gained when testing and using the specific game engines.

hybrid. For commercial 3D games Crystal Space. www. Their licensing issues are clear and all are more than just graphics engines. Delta 3D integrates many other open source middleware components into a working game engine and is developed by the US army. www. Remedy.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines . www. Also a book is available describing how to use the engine named Making a Game Demo (Wordware Game Developer's Library) by Chad Walker.com Own engine KA3D used on mobile games. www. PixelGene. Quake 3 has been used in many commercial game and has just a lot of features.Developing is easy with UnrealScript . Remedy might be too big company who are too busy but other smaller companies should listen to you more than to some foreign developers.Based on a commercial engine meaning that it is very solid Also for 3D games there isn't an obvious engine or game authoring system which is so much better than the other ones. a demolition derby-rally style game.com Own engine used in ShadowGrounds.com Claw technology for porting games to different mobile platforms. This means that it is also quite complicated and heavy to use. All three engines have also been used in commercial games before.com 13 .bugbear.pixelgene.game-lion. Gamelion. FrozenByte. Torque and TrueVision 3D are options worth checking out. a top-down alien shooter. www.frozenbyte.fi Own engine used in FlatOut. Engines made by Finnish game companies One realistic option is also to negotiate with Finnish game companies about possibilities to use their engines. For freeware 3d games (not commercial) Delta 3D and Quake 3 are the main contenders.remedygames.fi Has products for mobile game development named Hybrid Rasteroid. www. Hybrid. Here's a list of Finnish game companies who are known to have their own engines or game development tools: BugBear Entertainment. Jani Kajala and Eric Walker.

Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Max Payne technology. SecondBrain.net Has a game engine named Reality Replicator which produces realistic outdoor environments.igda.secondbrain.org/finland/companies. www.htm 14 . For a more comprehensive list of Finnish game companies see: http://www.

how they choose their weapons? Bot is a computer controlled "player" used in multiplayer games. Links Unreal Engine 3 technology overview http://www. how they use different inventory items. Below is a list of game engine features which are typical for modern day engines.com/html/technology/ue30. Line of Sight (LOS) checking is used to determine if a one can see from point A to point B inside a game level. Complete 3D game engines with built-in editors are complex software programs. Bots use these checks to determine if they "see" different objects on the level. but most are typical in any kind of game engines. On the other hand AI can consist of multiple computer controlled soldiers working together as a squad or multiple squads on the game's battlefield. Path finding is important as it is used by bots to find different places in the level.unrealtechnology. Other games use dynamic style path finding so that the bots learn the levels during the play. Also simple puzzle games like Bejeweled or Tetris have some kind of AI which decides what kind of pieces are set on the board or what kind of piece falls next. Advanced AI behaviour describes what kind actions AI can do in the game.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Typical game engine features Game engines can be evaluated according to their supported features. vague definitions of different sets. Some of the features are only relevant to 3D engines. can they work as a team and use formations? Or can player give orders to the bots? Fuzzy logic replaces the boolean logic (true or false) with multiple degrees of the truth. Some games like UT2004 use static path finding so that path nodes and waypoints must be placed to the map in order for the bots to work. 15 . Natural language processing is used in some games so that player types in natural language sentences instead of choosing them from predetermined list. Check out a free game named Façade for reference. Can the AI controlled characters use triggers. To get a general view of features for modern 3D engines visit the following Unreal technology site. Bots can be also used in offline matches for training.shtml AI AI is short for Artificial Intelligence and it is used in games to give player an opponent(s) to play against. This can be used in the game's AI code. Bots can be used both as enemies or team mates in different kinds of game modes to stand in place of missing human players. Formations are related to bots.

gamasutra. http://gamics. section on artificial intelligence http://www.gameai. Links AboutAI.com/ Gamics laboratory.htm Tapper. http://www.net/ GameAI Page http://www. 2003.shtml Leonard. G.gamasutra. GDC 2003: Building an AI Sensory System: Examining The Design of Thief: The Dark Project http://www. 2003. http://www.gamasutra. 2000.cs.fi/ Gamedev.shtml Woodcock. For example UT2004 uses states in it's bot code and there are different states for different behaviours like roaming. T. S.aboutai.net/reference/list. This can be used to make cutscenes for example.com/features/20001101/woodcock_01. driving vehicles and fighting with the enemies.net. of Computer Science University of Helsinki.gamasutra.net.gamedev.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Scripting support determines whether bots in the game can be scripted to do certain sequences.htm 16 . Game AI: The State of the Industry.helsinki.com/features/20041118/gill_01. Team based AI means that computer opponents or player's allies can work as a team making decisions based on the status of the whole team.com/gdc2003/features/20030307/leonard_01. the GameAI section http://www. Research focused on artificial intelligence in games.asp?categoryid=18 Sunbir.com/features/20031203/tapper_01. State machines are used when programming AI to the game. lead by Tomi Pasanen. Personality Parameters: Flexibly and Extensibly Providing a Variety of AI Opponents' Behaviors http://www. Visual Finite State Machine AI Systems. dept. P.

Oulun lääninhallitus

EUROOPAN YHTEISÖ Interreg III A Karjala

Open Source & Low Cost Game Engines

Animation
Animation is used in games in many different elements and it can be either 2D or 3D. 2D animation can be based on vectors or it can be traditional animation where each frame is drawn by hand. 3D animation is used to animate 3D models which can be for example player characters, space ships, flying birds or grass slowly moving in the wind. Animation channels are the number of animation channels one model can use in the game. Blending animations means that multiple animations are played simultaneously in the same model, blending the different animations together. Facial animations are used to show emotions in game's characters. There can be different expressions like happiness, sadness, etc. See Half-Life 2 game for examples of good facial animation technology. Exporters are used to convert models and animations from 3D modeling programs (Max, Maya, Blender, etc) into the game engine's format. Inverse kinematics is used to determine the parameters of joints in order to go to the desired pose. Morphing means changing an image from one to another with a transition. Skeletal based animation uses a hierarchy bones to move the model and animate it. Keyframes are frames that are drawn or constructed by the animator. Vertex (or mesh) based animation uses vertex positions to store the animation sequence. Tweening (animation or shape) means that computer fills the gap between key frames. Links Edsall, J. Animation Blending: Achieving Inverse Kinematics and More. http://www.gamasutra.com/features/20030704/edsall_01.shtml Fernando, R& Kilgard, M. 2003.Animation with CG http://www.gamasutra.com/features/20030325/fernando_01.shtml Gamedev.net, section on animation and modeling http://www.gamedev.net/reference/list.asp?categoryid=61

17

Oulun lääninhallitus

EUROOPAN YHTEISÖ Interreg III A Karjala

Open Source & Low Cost Game Engines

Capacity
Engines have different kind of demands from the hardware and the following figures are used to describe the limits or power of the engines. Frames per second (FPS) means how many frames in a second does the engine draw the game to the screen. Number of network clients determines how many clients does the engine support in multiplayer games. Typical FPS shooters have support for 4-64 players. Number of polygons on the screen describes the amount of polygons on the screen. There are other factors like the use of textures which affects this number so it is hard to compare engines with this feature. Number of objects on the map. Number of executed script commands per second. How fast is the scripting engine? Size of textures, what kind of textures and how big does the engine support?

Cost and licensing terms
Using other people's engines usually (but not always) costs money. When buying an engine from some developer, costs might include: - Flat licensing fee which is paid when the engine is licensed from the engine developer - Royalties based on number of copies sold - Payments for additional platforms (Linux, PS2, XBox, etc) Freeware engines are usually distributed according different licensing types. The typical licenses are GPL and LPGL. To put it simple, GPL can't be used at all with commercial applications because you have to release the source of the application. One way to take care of this issue is to try to negotiate buying a commercial license from the maker of the GPL'ed software. GPL (General Public License) General Public License is commonly used license agreement used with free software and is also used with some of the game engines. GPL is a free software license and it lets people to use and even redistribute the software without being required to pay anyone any money. This license grants the following rights to the software user: • Freedom to run the program, for any purpose. • Freedom to study how the program works, and modify it. (Access to the source code is a precondition for this) • Freedom to redistribute copies 18

Oulun lääninhallitus

EUROOPAN YHTEISÖ Interreg III A Karjala

Open Source & Low Cost Game Engines

Freedom to improve the program, and release the improvements to the public. (Access to the source code is a precondition for this)

The primary difference between the GPL and more "permissive" free software licenses such as the BSD License is that the GPL seeks to ensure that the above freedoms are preserved in copies and in derivative works. It does this using a legal mechanism known as copyleft, invented by Stallman, which requires derivative works of GPL-licensed programs to also be licensed under the GPL. In contrast, BSD-style licenses allow for derivative works to be redistributed as proprietary software. (Wikipedia, 2005.)

LPGL (GNU Lesser General Public License) Lesser General Public License is a free software license which is a compromise between GPL and simple permissive licenses. The main difference between the GPL and LGPL is that the LPGL can be linked to a non-(L)GPLed program, which may be free software or proprietary software (which has restrictions on using and copying it). The LGPL places copyleft restrictions on the program itself but does not apply these restrictions to other software that merely links with the program. There are, however, certain other restrictions on this software. Essentially, it must be possible for the software to be linked with a newer version of the LGPL-covered program. The most commonly used method for doing so is to use "a suitable shared library mechanism for linking". Alternatively, static linking is allowed if either source code or linkable object files are provided. (Wikipedia, 2005.) Links GNU license texts http://www.gnu.org/licenses/licenses.html

Debugging
Engines are complicated systems so usually they have many debugging systems to help developers find the problems and fix the bugs from their code. The most simple engines have just logging but most advanced can have profilers, run time debugging and even options for simulating different kinds of network environments. Logging is used to write things to the log file from the code. Profilers can be used to find the bottlenecks from the code, places which take a lot of time to execute and which should be optimized.

19

2003. Simulating different kind of network environments like lag and latency is beneficial for testing the game in all kinds of environments. 2005. Profiling.com/resource_guide/20030714/fristrom_01.com/features/20000809/marselas_01. Email to developers or calling them are the most direct ways to get help. flash.gamasutra. news groups and mailing lists are places where the game engine developers and people using the engine meet to discuss their problems. H. Links Fristrom. going through the code lines one by one.gamasutra. etc. Developer forums. Data Analysis. good documentation is needed so that developers can use them. It is another matter if the developers respond to your mails and calls. J.gamasutra. Descriptions of typical documentation and help channels are below. and Magic Numbers. image based.com/features/20050329/roken_01. 20 . feature requests. D& Röken.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Run time debugging means that program code can be traced during it's execution.shtml Marselas. 2000.htm Documentation & help channels Because game engines are complicated. Online help is located usually on the game engine developer's website and is usually more up-to-date when compared to offline help files. video) in addition to sample code are a good way to learn more about the used engine. Scalability. Tutorials (text.shtml Frommhold. It's much easier to study sample code than to start from scratch. Level of documentation describes how thoroughly the engine is documented. Production testing and bug tracking http://www. Automated Tests and Continuous Integration in Game Projects http://www. Part 1: Meeting the Minimum Requirements for Age of Empires II: The Age of Kings http://www. F. Sample code / scripts / games help game developers to know the engine. Books about the game engine or developing games with it.

how much space does the engine take? What about other game's assets like maps. Software rendering means that the graphics are drawn by the CPU instead of the 3D graphics card. sounds. This makes it much slower than DirectX or OpenGL.opengl. This is usually reported in megabytes (MB) and the requirements can be anything from 16 megs to 512 megs.com/windows/directx/default.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Graphics API Different engines use different graphics APIs which provide primitive functions used to build a graphics library. etc? Internet connection (modem / ADSL) to be able to play the game in the Internet Memory requirements differ between engines. textures. 3D card is used to draw graphics to the screen.org/ Hardware requirements What kind of hardware does the engine need in order to function properly. CPU speed is reported in Ghz. OpenGL is an open graphics API and can be used with many operating systems. Sound card is usually a requirement for playing games but the model isn't that important these days.microsoft. DVD-Drive (or CD drive) so that the game can be installed Hard drive space. like for example 2 GHz CPU or better.aspx Open GL homepage http://www. Links DirectX homepage http://www. Different cards support different DirectX versions and have different memory sizes. 21 . models. These are usually referred as hardware requirements. DirectX (or actually Direct 3D) is a graphics API used only in Microsoft operating systems.

The engine might be just a collection of dll files (libraries) which hold C++ code. Path editor is used to place waypoints or path nodes to the map. import art & sound assets. Some map editors are used to build the entire level from BSP geometry while other map editors are used to place 3D models and other objects to the map. Physics modeling tool can be used to define different kinds of physics attributes to the models and objects of the game. does the engine come with source or not? The code can be anything from C++ to Java Library files. code the game logic. Textures & material editor allows the developer to add textures to the game. define their properties and make different kinds of shaders. Anisotropic filtering enhances image quality on surfaces which are steeply angled or far away. The libraries could be used just for drawing models on the screen and nothing more. build menus. Editing tools This game engine feature describes what kind of support does the engine have. Lighting Maps in the game can have different kinds of lighting. etc. Source code. On the other side the engine might include a comprehensive editor which is used to make levels. Sound and music editor is used to import sounds and music to the game. Particle editor can be used to create particle effects for the game. Map editor is used to make maps for the game. 22 . Animation editor is used to import animations made in 3D modeling programs and tweak them to be used in the game. The lighting is important part of the game's look. You can write code for game with this editor instead of using some other program like notepad. Game engines like Unreal or Source have the most complete built-in editors. Cut scene editor is used to make in game cutscenes which are also known as machinima. Terrain editor is used to build terrain for the map. animate characters.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Library vs. Some path editors also include autopathing option. does the engine consist of just library files (dll) so that you have to make the executable yourself? Script editor. Built-in editor combining different editors into one package is the most ideal choice.

This produces more realistic images than per vertex lighting. the whole map or a zone is lighted with one static value. like for example player can use a torch to light up a room. Static lighting. See Half-Life 2's free Lost Coast map. Shadows.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Dynamic lighting means that the lights can change in the game. Volumetric. These can be also tricked in some engines by using projectors. Radiosity is a lighting mechanic which simulates many reflections of light in the map. This means usually natural shadows and reflections. fog. pulse. calculating light for each vertex. light rays are visible because of mist. etc. The things that need localizing in the game are Text and speech sounds. produced by different rendering techniques. etc Lightmaps are used to store the brightness of map's surfaces. 2001. D-D. 23 . Light effects like blinking. It basically adds more possibilities to the contrast values of the rendered image. wavering. High dynamic range (HDR) lighting or rendering is a technique to get authentic looking lighting to the game. They are precalculated.gamedev.htm Materials & textures Textures are used in many kinds of things from hud graphics to 3D model skins. it is important that they support localization. Links Gamedev. have different amount of colors.gamasutra. calculating light for each pixel in the rendered image.net/reference/list. The Video Game Translator Wishlist http://www. Eurospeak: Localizing Games for the European Market http://www. T.shtml Puha.asp?categoryid=40 Localization Since games are made for global markets. section on graphics http://www. 16/32/64 bit textures.gamasutra. 2005.com/features/20050615/monton_01.com/features/20010403/puha. Per vertex. Per pixel. disco. Links Monton.net.

what formats does the engine support? (bmp. is there functionality ready for keeping player stats? Type of network. can for example PC and console players play on the same server in the Internet? Massive multiplayer games might have hundreds or thousands of players playing at the same time.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Antialiasing is used to minimize jagged edges Effects with materials include for example bloom.gamedev. Level of network implementation. Procedural textures are generated by algorithms. Multi textures means that one model can have multiple textures.1024x1024. Server browser contains a list of servers on the internet. motion blur and halo Material system includes for example technologies like alpha channels and bump maps Mipmaps are smaller versions of the original texture and their use is based on the distance of the player from the texture. Links Gamedev. what kind of textures can be used? Some engines use textures which must be sized with power of 2 (256x256.net/reference/list. how much bandwidth is needed for the server or clients. etc) Supported formats. TCP / IP or UDP Security. different models include for example client / server. Stat system. Size limits. section on graphics http://www. Network games between different platforms. On what level is the network functionality implemented and can for example script coding be used to extend the network functionality.net. Streaming means downloading content from the server on the fly Player count is the number of players the game can have in a game. png. dds) The format usually determines what kind of compression the images have. peer-to-peer and master Server. depth-of-field. 512x512. This can be anything from 2 to hundreds. how secure is the network game against cheating? Support for gameplay features describes if features like physics are supported in network games.asp?categoryid=40 Network Game engines with network support provide different kinds of features described below. 24 . Also what kind of ping is needed to be able to play the game? Protocol. jpg. The idea is to speed up rendering. Performance.

Designing Secure. C. 2004. Instant replay system for game events is important especially in sports games where recent game events can be played back.com/features/20041206/jenkins_01. Developing Your Own Replay System. 25 .com/features/20040204/wagner_01.shtml Other features Game engines usually have some of the following specific systems. While being a complex subject matter. Part One http://www. Flexible.gamasutra.gamasutra.htm Wagner. Level of detail system (LOD) is an optimization tehcnique which is based on drawing models with less polygons when they are further away. Load & save system is used to save the game in some state and later load that save game to continue playing from the saved position. Machinima Cutscene Creation. K.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Links Jenkins. and High Performance Game Network Architectures http://www. Video playback. the format might be for example avi or mpg. how objects behave in fluids in the game. Buoyancy.gamasutra. H. http://www. Links Hancock. 2004. 2000. game engines have started supporting physics simulation. Demo record & playback system is used for recording offline or online games to a file which can be played back later.shtml Physics During the recent years. the features described below offer some insight into what kinds of things engines support regarding physics.com/features/20000930/hancock_01. In-game cut scenes (also known as machinima) are used to make and playback cutscenes made with the game engine.

falling. physics for grenades or even bullets for example. for example water. Physical properties like mass. airplanes. Projectiles. etc. hinges. important in FPS games. etc.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Collision detection is one of the most important features of physics. Network support for physics describes whether the engine supports physics also in network games. Some games have just client side physics so that rag dolls for example behave differently on different clients but since they don't affect gameplay. friction. special tools. etc. balls. Some engines have support for multiple programming languages ready or there might be some 3rd party programs or libraries which use the engine as their basis. Programming language What language can be used to make games for the game engine. Also related to object properties and interactions with each other like colliding objects. flying. Some game engines support only a couple formats while other's support a wide variety of formats. It used to determine collisions between objects. Also the game source code might be designed to be compiled only with a certain compilers and it requires a lot of work to make it compile on some other environment or compiler. fly through the air hitting objects or fall down the stairs for example. Movement modes like walking. gravity and inertia. The most common language is C++ but also other languages like Java are used. Usually engines use simplified collision models instead of using the model's actual polygons to determine collisions. hovercrafts. Examples of vehicles are motorcycles. Vehicle physics are used to simulate the functionality of different vehicles and driving them. swimming. walking on walls. Also what language has been used to write the engine itself. gliding. Fluid simulation. Required asset file formats. Rag dolls are used when game characters die and physics are used to simulate the behaviour of their bodies while they fall. sockets and constraints. rolling. 26 . falling. Some engines require specifically the use of some 3D program to make their levels. cars. Flight model is used to describe the simulation of flight physics in flight sim games. it doesn't matter.

It is normally associated with version 5. for example doppler shift. how the sounds work in network games Obstruction. It depends on the engine what things are hardcoded and what can be scripted. does the sound system take obstacles like walls between player and the sound source into account Spatialization makes the sound appear to come from specific location in the game level Streaming. Voice over IP (VOIP) is technology used to enable voice conversations between people over the Internet. game engines can support some scripting language which is usually used to program the game's functionality.python. UnrealSript Language Reference. filtering. Links Epic Games. 27 . mp3. EAX.lua. 3D sound positioning means that the sound can be placed on the level and when player hears the sound. Also other advanced audio features like VOIP support and TTS are used more and more. looping.org/ Python programming language http://www. pitch. midi.org/ Sound & music Sounds systems for game engines have been neglected in the past but modern engines are starting to use 3D effects and other features in their sound systems. it sounds like coming from the correct direction based on the positions. Game engine can have it's own scripting language like UnrealScript or it can use some common language like LUA or Python. Basic sound parameters. etc. Sound Blaster's technology for creating more ambience with 3D sound to games Music support. etc Network support for sounds.com/Two/UnrealScriptReference LUA programming language http://www.epicgames. Dolby digital is a digital coding method. the sound is loaded and played at the same time Text to speech (TTS) uses a speech synthesizer to convert text into speech sound. http://udn. level.1 which contains five channels + low frequency subwoofer channel. supported formats can be for example ogg.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Scripting Instead of hardcoding the functionality to the source code.

which can be based on distance or height for example. Skybox is used to make a distant background for a game level.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Links Gamedev. currently only a demo feature of Valve's source engine. fire. flowing water. 2000. cross-platform 3D audio API for gaming & audio applications http://www. etc. What Makes Music for Games "Music for Games"? http://www. A. fire. Mirrors & reflections Particle systems are used to make special effects like explosions. snow and wind.openal. section on sounds http://www. The effects can use particle systems.com/features/20000420/marks_01. Environment mapping is a method where cube mapping is used to make object look like it reflects the environment around it. dust. Projector (also known as decals) are used to project a texture on top of the level geometry. Weather effects like clouds. Fog.gamasutra. 2005. 28 . E-J. A "filter" used to change the colors of the rendered scene.gamedev.gamasutra.asp?categoryid=34 Marks. Distance fog is normally used to limit the drawing distance.htm Special effects Game engines implement all sorts of special effects and most of these effects are visual. Breaking the Sound Barrier: How to Work with a Third-Party Sound Designer http://www. Lens flare is used to simulate the real world effect when camera is pointed toward a bright source of light.htm OpenAL. Portals are used to draw an image from some part of the level camera into a texture.org/ Waugh.net/reference/list.net. sparks.com/gdc2005/features/20050318/postcard-waugh. Color correction. rain.

The typical status of the engines are described with the following terms. Consoles are nowadays divided into handheld ones (Nintendo DS. Alpha version can be used to evaluate the engine but no final conclusions can be made yet. Shockwave. Stable means that the engine has been tested and a stable release has been made. hence the beta before version number. Beta means that the engine has been tested but it isn't finished yet. Deco layers. for example grass which is automatically placed on the ground. etc) Terrain When doing a game where game events happen outdoors. Sony PSP) and normal ones (PS.1 available and also beta 2. Supported platforms & operating systems What operating systems and platforms the game engine supports. DHTML. Nintendo GameCube.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Status Game engines and especially low cost game engines have many different kind of development status. The engine might crash on occasions and have bugs. there are still known issues or features to be developed. Terrain is the basically the ground of the level. There could be a stable version 2.23. Low cost engines usually different versions available for the users. Alpha means that the engine is not finished and is under development. XBox. the game engine should support terrain. PS2. Flash. Basic terrain support. XBox 360. Common platforms are listed below. 29 . etc) Windows WWW (HTML. The engine shouldn’t contain any open bugs or they are well known. However. This version won't crash as often as the alpha version and has most of the features planned for the stable release. etc) Linux Mac Mobile Phones (S60. determines if the engine support terrains.

how is the terrain textured? Can the terrain use multiple textures with blending. 2D engines use 2d objects like graphics. Links Virtual Terrain Project. Also other programs like Flash which can be used to create 2D games could be categorized as a 2D engine though it's main purpose is for doing small applications for websites. Usually players move in a 3D world looking the world either from the 1st perspective (like from the eyes of the game character) or from the 3rd perspective (behind the player seeing the back of the character on the screen).fi/~tmannine/game_design/multi-user_virtual_worlds. These kind of engines can be used to develop text adventure games using nothing more but text and sometimes images.oulu. Texturing. 3D engines are the most commonly used game engines at the time of making this document. numbers and texts to display information to the player about the game. Size of terrain.tol. games section http://www. for example adding holes to the ground because of explosions. Additional framework for evaluation named Comparative Classification of Multi-user Virtual Worlds (Manninen & Pirkola.html Type Text based game engines are becoming old and not used but they are described shortly here. These kind of engines are based on drawing polygons on the screen. determines if the shape of the terrain be changed runtime.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Deformable terrains.vterrain. 1998) can be found from: http://www.org/Games/index.pdf 30 .

com $699 for new licence. .ActionScript used to create the game logic is easy and simple. You can things like shape tweens. The games are created using object oriented ActionScript which is the used programming language.macromedia. Almost the things related to graphics of the game can be self-made and controlled including the mouse pointer. Both versions are generated from the same file so no need for separate porting. Changing the icon of an exe file created with Flash 8 requires using a 3rd party program.There are working debugging tools which allow you to trace the program execution. . Pros: . .Very fast tool to use so this is a good tool for making quick prototypes.Once the game has been done with Flash.The software itself has good tutorials which make the start of using this tool easy.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines 2D Engines Here's a list of the compared 2D game engines and libraries. $299 to upgrade 30 day trial version available 2D Web authoring tool (could be also categorized as a 2D game authoring system) Flash can be used to develop small 2D programs which also include minigames. . you can make it into an executable Windows file or a swf file for WWW use. www. motion tweens and multiple animations for the same 2d movie clip. 31 . . Also WWW has lots of tutorials for using Flash and ActionScript.Flash has good animation tools for 2d objects and you can also draw objects inside the editor. Name Flash 8 Game Maker Golden T Game Engine PopCapGames Framework ShockWave SDL Torque 2D Type Authoring system Authoring system Library (java) Library (c++ files) Authoring system Library (c++ files) Authoring system Platform Web & all platforms Windows Java platforms Windows Web & all platforms Windows Windows Price $699 Free / 15€ Free Free 1439€ Free. The games cannot be very complex or contain many moving elements on the screen simultaneously. LPGL v2 $100 / $395 Flash 8 By Macromedia. step into functions etc. Animation is keyframe based using a timeline. It's similar to JavaScript.

static screens or top-down games. What About Flash? Can We Really Make Games With It? http://www.ee/tbw/start.drizzle.4.1.tonypa.x).org/tutorials. You basically have to begin from scratch.Built-in printer support Cons: . . Game 32 . These can be for example side-crollers. very good site for Flash tutorials http://www. Links ActionScript.macromedia.nl Free version. _root) is confusing.pri.Games made with Flash8 don't require much from the PC running them. .com/support/flash/action_scripts/actionscript_dictionary/ Tile based games.org. www. There were also some other random bugs like making log entries to the output didn't always work from everywhere in the code.Flash is not 3D accelerated so the rendering system is slow when compared to engines using DirectX. .No code or functionality ready for especially making games. registered version 15 euros 2D Game Authoring System Game Maker can be used to create 2D games. Especially using large PNG images with alpha channels and moving them on the screen is slow. Macromedia reports minimum hardware requirements as low as 450 MHz Intel Pentium II with 128 MB ram memory.gamemaker. The registered version contains network support.ActionScript contains some weird design issues like defining the level where the code runs (this.htm Macromedia ActionScript dictionary http://www. The player also supports basically all Windows platforms from Windows 98 to Windows XP and also Macintosh (Mac OS X 10.Deliverable size is small . _parent.html Game Maker by Mark Overmars.actionscript.com/~scottb/gdc/flash-paper. making a tile based game with Flash http://www.x to Mac OS X 10.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines . S.shtml Bilas.

animated sprites. collision detection. to game specific routines such as sprite. good documentation. .When compared to Flash8. . to the game Cons: . http://goldenstudios. Golden T Game Engine by Golden T Studios. game timing. not authoring tool 33 . mouse and keyboard input.Good tutorials to start with ..Can handle many objects on the screen moving at once . background. Pros: .Has a "hobby" feel to it when compared to Flash 8.2D library.id Free 2D game library (Java) Golden T Game Engine (GTGE) is an advanced cross-platform game programming library written in Java language. Games are created as exe files. has typical game specific elements ready like collision detection. does not contain 2D animation tools.A separate scripting language to make more complicated games . etc.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Maker has a game editor which you use to make the games. audio support.or. . Pros: .Quite easy-to-use editor which allows drag&drop of game logic items. etc. GTGE library provides a complete routines for making 2D game from low level routines such as hardware accelerated 2D graphics. You must make the animations separately using many frames.Site has additional programs for making tiles.Clean code. Cons: .When compared to Flash.

NET.) and gameplay logic. www. not a game authoring system . collision checks.com Free 2D game library (C++) The Framework has been used on a number of different game types. 34 . Works also on the WWW.Mid-level programming. For example drawing an image on the screen is done with: g->DrawImage(IMAGE_HUNGARR_VERT.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines PopCap Games Framework by PopCap Games.macromedia.0 and Visual C++ . Flexible high-level library that provides commonly required functions and reusable components. etc. The differences between Shockwave and Flash are listed below: Description Flash Shockwave Designed Internet / WWW All kinds of multimedia programs especially for from CD-ROMs to small games. mHungarrX. from simple matchthree games to hardcore side-scrolling shoot-em-ups. it is principally a 2d game engine. The framework supports DirectX 6 and above. This framework and its predecessors have been used for all of PopCap’s Deluxe games.popcap. Pros: . Written in C++ and is specifically compatible with Visual C++ 6. Although it supports 3d acceleration for graphical effects. http://developer.Seems solid and has been used in successful 2D games .com/software/director/ Update 439 euros. mHungarrY).Active developer forums Cons: . which account for over 100 million framework-derived game units downloaded.Easy to install & includes 6 demo game applications . 1439 euros full new version 2D Web authoring tool (could be also categorized as a 2D game authoring system) Similar to Flash but is faster drawing graphics on the screen.Only 2D library. Shockwave by Macromedia. meaning that you need to write code for both lower level functionality (drawing graphics.

Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Loading time on the web How many people have this plugin installed? Creation software 3D support Speed Additional notes "Quick" 98% (Steinmeier 2005) Macromedia Flash 8. PHP. Also supports rendering in Direct3D and OpenGL. Can integrate Flash files into own format. MacOS X. under LPGL v2 2D game library (C++) Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio. and has bindings to several other languages. BeOS. MacOS Classic." Simple DirectMedia Layer supports Linux. Used heavily in the Web. AmigaOS. There is also code. but works with C++ natively.org Free. Faster than Flash. and QNX. and many popular games. More versatile than Flash. keyboard. $699 No. Perl. OpenBSD. Atari. Simple DirectMedia Layer (SDL) by SDL Team. Lua. Solaris. and Ruby. mouse.libsdl. FreeBSD. 35 . Reigns supreme in terms of creating energizing graphical content through a high level scripting language (Mills 2005) Slower than Flash 52% (Steinmeier 2005) Macromedia Director. SDL is written in C. http://www. Pike. including Ada. Windows. NetBSD. ML. Python. AIX. 3D hardware via OpenGL. emulators. Eiffel. and SymbianOS. IRIX. It is used by MPEG playback software. but no official support. and 2D video framebuffer. Dreamcast. OSF/Tru64. including the award winning Linux port of "Civilization: Call To Power. BSD/OS. joystick. Java. for Windows CE. RISC OS. $1439 Shockwave3D. "Slow" because lacks 3D hardware acceleration. Macromedia seems to emphasize Flash more than ShockWave (Steinmeier 2005).

sound. This means that it is a complete game authoring system. www.garagegames. particle effects. collision detection. utilities. 36 . commercial version $395 2D Game Authoring System Torque 2D features a rendering engine. Torque Script and a GUI editor. but the most important ones are Java and C/C++.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Torque 2D by GarageGames.com Indie version $100. Other possibilities When building a 2D game. one possibility is to make the game purely with some programming language. Torque Core. physics engine. There are lots of programming languages.

different editions 30 day trial version available Game Authoring System With hundreds of published titles. Mac Price $89 . flight 37 . side scrollers. Linux. www. modified LPGL 3d Game Studio by Conitec Datasystems. LPGL 45€ . a 2D engine. LPGL Free. zlib/libpng ? Own license.$899 $100 Free. artwork and ready-assembled games. a physics engine. It combines the C-Script programming language with a high-end 3D engine. a level. 3rd person games.150€ Free.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines 3D Engines Here's a list of compared 3D engines.$8999 5 figures $100 .3dgamestudio.2 UnrealEngine2 Runtime Ogre OpenSceneGraph Type Authoring system 3D engine 3D engine 3D engine 3D engine 3D engine Library (java files) 3D engine Authoring system Authoring system Authoring system Authoring system Authoring system 3D engine Authoring system 3D library 3D library Platform Windows Windows Windows Windows Windows & Linux Windows. mobile Java platforms Windows Windows Windows Windows Windows Windows Windows Windows. Mac Windows. GPL $129 .$495 $150 . GPL Free. Linux. Name 3D Game Studio Blitz3D Crystal Space DarkBasic Irrlicht KA3D LightWeight Java Game Library Panda3D Quake 2 Quake 3 Quest3D Reality Engine Torque TV3D 6.$500 $8000 Free. It was never easier to create 1st person games. role playing games. plus extended libraries of 3D objects. free Free. 3D GameStudio is the leading authoring suite for 2D and 3D realtime applications. Linux.com $89-$899. console. own license Free. terrain and model editor. Mac Windows.

arbitrary axis rotations for space and flight simulators. etc. multitexturing. UDP).blitzbasic. friction. wheel. Offers three levels of games creation: 1) 'Click together' games in the level editor .for commercial projects 3) Program games in C++ using an external compiler . 30 day trial version available Game authoring system Blitz3D provides a simple yet powerful environment for game creation . elasticity.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines simulators. and powerful. sports games. Mouse picking and manipulating of 3D objects. virtual exhibitions and 3D applications. thanks to a highly optimized underlying 2D/3D engine. board games.. Save / Load system for resuming games at arbitrary positions Multi-player client/server mode for LAN and Internet (TCP/IP. thanks to good samples and developer forums 38 . damping. www. environment mapping.Has been used on several small published games so should be solid Cons: . Pros: . and hinge. cameras.Technology is old and outdated Blitz3D by Blitz Research Ltd. like shooters 2) Program games in C-Script using the built-in compiler .for professional developers Engine features polygon level collision detection for terrain and 3D objects. Physics engine supports gravity. terrains.for simple games. Super flexible entity system. slow motion / quick motion effect. model & terrain editor and 3D level editor. ball. 3D sound sources (WAV and OGG) with Doppler effect. because its based around the popular and easy to use BASIC programming language. and slider joints.Full game authoring system .simple. Multizone / multiserver support for massive online multiplayer games and Expandable through DLL plugin interface. Pros: . sprites. lights. 3D game studio includes script editor. real-time presentations. super flexible brush system. mass. actors or vehicles. path tracking for camera.Simple to use .com $100. meshes.Basic coding is simple.

Low & mid level programming with C++ 39 . or potentially other languages) 16-bit and 32-bit display support OpenGL.crystalspace3d.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Cons: . www. Perl.. Java. but no real editor tools Crystal Space is a free (LGPL) and portable 3D Game Development Kit written in C++.org Free (LGPL) Game engine.Only editor coming with the system is the code editor Crystal Space by Jorrit Tyberghein & Team..) Mipmapping Portals Mirrors Alpha transparency Reflective surfaces 3D sprites (frame based or with skeletal animation using cal3d animation library) Procedural textures Particle systems Halos Volumetric fog Scripting (using Python. . fragment programs. and software renderer Font support (also with freetype) Hierarchical transformations Physics plugin based on ODE Pros: . vertex programs.Contains a lot of features which are actively developed Cons: . It supports: • • • • • • • • • • • • • • • • • • • • True six degrees of freedom Colored lighting Lightmapped and stencil based lighting Shader support (CG.

Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines DarkBASIC by The Game Creators. Lightning fast 2D sprites. Multitexturing. Potential Visibility Set.always allowing access to the important underlying components. includes editor Engine features include: Binary Space Partitioning (BSP). Environment mapping. Delta3D is an Open Source engine which can be used for games. Pixel & vertex shaders. education. .Old technology. Cons: . This provides a high-level API while still allowing the end user the optional. Advanced terrain. Delta3D renders using OpenGL and imports a whole list of diverse file formats (. Use Blitz3D instead. and OpenAL. integrated debugger and editor. Bump mapping. www. Light mapping. visualizations. Rather than bury the underlying modules. darkbasic. Bone based animations Cartoon shading. Character Animation Library. Particle system.com Free. or other graphical applications. Delta3D just integrates them together in an easy-to-use API -. Real time shadows. It is developed by the US military as a well-supported and fully-funded open source project.obj.) Only supported platforms are Windows and with some modifications Linux. etc. Its modular design integrates other well-known Open Source projects such as Open Scene Graph. Multiple camera views.flt. and entertainment). not recommended to anyone. Naval Postgraduate School. Delta 3D by MOVES Institute. freeware & commercial from 45 euros to 150 euros 3D game engine.3ds. Has also 2D features. Polygon collision detection. Lights.Combines several open source modules as a game engine 40 .com Several licenses. . Rainbow rendering. low-level functionality. simulations. True reflections. Low level access of object data and Vector and matrix manipulation.delta3d. Open Dynamics Engine.thegamecreators. Pros: . LPGL 3D game engine with some editors Delta3D is a full-function game engine appropriate for a wide variety of modeling & simulation applications (training. Matrices.

Milkshape (. Direct import of common mesh file formats: Maya (. All this is accessible through a well designed C++ interface. Lists. and collision detection. indoor and outdoor technology. It comes with an excellent documentation and integrates all the state-of-the-art features for visual representation like dynamic shadows.obj). It features z-buffer. light maps. font drawing and mixing 3D with 2D graphics. Huge built-in and extensible material library with vertex and pixel shader support. VisualBasic.md2). Character animation system with skeletal and morph target animation. • • • • • • • • • • • • • High performance realtime 3D rendering using Direct3D and OpenGL Platform independent. It is a powerful high level API for creating complete 3D and 2D applications like games or scientific visualizations. Seamless indoor and outdoor mixing through highly customizable scene management. etc. Runs on Windows95. Written in pure C++ and totally object orientated. Platform and driver independent fast software renderer included.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines . DeleD (. XP and Linux. particle systems. easy to understand and well documentated API with lots of examples and tutorials. no editors The Irrlicht Engine is a cross-platform high performance real-time 3D engine written in C++.sourceforge.NET language binding which makes the engine available to all . customizable and easy to use 2D GUI System with Buttons.Low & mid level programming required to make games . alpha-blending and transparency. Microsoft DirectX (.Samples are pretty basic Irrlicht by Nikolaus Gebhardt. 2D drawing functions like alpha blending. color key based blitting. COLLADA (. Edit boxes.map editor . billboards.dmf). 41 . fast 2D drawing. . NT. Particle effects. 3DStudio (. environment mapping. Clean.Solid and is used by several military projects Cons . license based on the zlib/libpng license Only game engine. Powerful. 2000.dae).ms3d). character animation.X).net Free. and Delphi. which is extremely easy to use. stencil buffer shadows. 98.3ds).NET. Quake2 models (.NET languages like C#. Quake 3 levels (. and lots of other special effects. irrlicht. gouraud shading.bsp).

Pros: . Optimized fast 3D math and container template libraries. JPEG File Interchange Format (. The engine doesn't have built-in editors. Truevision Targa (. LightWeight Java Game Library by lwjgl.0.zip) Integrated fast XML parser.A nice renderer with some additional features like loading Q3 levels & collision handling Cons: . Adobe Photoshop (.Not complete so has no editors.lwjgl. no sound support Ka3d by PixelGene. The mobile platform is the most used platform of the engine. Metrowerks Codewarrior. www.Low-middle level programming . And you do not have to publish your changes: The engine is licensed under the zlib licence. You can debug it.org.png). Fast and easy collision detection and response.0-8. Works with Microsofts VisualStudio6.jpg). www. Finland. Directly reading from (compressed) archives. The engine is open source and totally free. not the GPL or the LGPL. ZSoft Painbrush (. console and mobile platforms. instead you use 3DS Max as your editor to build the game levels.tga).com Low cost Game engine (3DS Max used as level editor) Ka3d is a game engine developed by PixelGene located in Helsinki.2-4. fix bugs and even change things you do not like.0™.psd). The engine can be used to develop games for PC. Portable Network Graphics (.0™. VisualStudio. and Bloodshed Dev-C++ with g++3. no editors 42 .pcx).bmp). BSD license Game engine. Unicode support for easy localisation.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines • • • • • • • • Direct import of Textures: Windows Bitmap (. (.NET 7.org Free.pixelgene.

All in a simple and straight forward API. The library is C++ with a set of Python bindings.idsoftware. It is ideal whenever deadlines are tight and turnaround time is of the essence. become the foundation for more complete game libraries and "game engines" as they have popularly become known. Quake 2 by ID Software. Panda3D is unusual in that its design emphasis is on supporting a short learning curve and rapid development. and hide some of the new evils we have had to expose in the APIs.org Free Game engine A library of subroutines for 3D rendering and game development. ID is also offering a "non-GPL" QUAKE II engine license for a flat fee of $10. it is primarily an enabling technology which allows developers to get at resources that are simply otherwise unavailable or poorly implemented on the existing Java platform. The tools have not yet been released under the GPL and are still available for non-commercial use only.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines The Lightweight Java Game Library (LWJGL) is a solution aimed directly at professional and amateur Java programmers alike to enable commercial quality games to be written in Java. For teams that don't want to operate under the GPL. Game development with Panda3D usually consists of writing a Python program that controls the the Panda3D library.000 per title with no backend royalty whatsoever. Additionally LWJGL provides access to controllers such as Gamepads.com/business/technology/ Free. www. Panda3D by Disney. through evolution and extension. Steering wheel and Joysticks. editors also available so basically Game Authoring System QUAKE II is one of id Software's all time best-selling titles and it was released under GNU in December 2001. souce released under GNU General Public License (GPL) Game engine. http://www. LWJGL is not meant to make writing games particularly easy.panda3d. These tools can be licensed from id Software 43 . LWJGL provides developers access to high performance crossplatform libraries such as OpenGL (Open Graphics Library) and OpenAL (Open Audio Library) allowing for state of the art 3D games and 3D sound. We anticipate that the LWJGL will.

32-bit color. Games that have used the Quake 3 engine are many.Used in dozens of games over the years Cons: . So making a product for the commercial gaming market is not possible. Medal of Honour Allied Assault. It also has 3D acceleration support. Start Trek: Elite Force and Jedi Knight II: Jedi Outcast. Pros: . bleeding-edge networking and super-smooth speedy hardware rendering is what this state-of-the-art engine is all about. curved surfaces.idsoftware. Kingpin. Sin.Relatively new engine with full source code available Cons: . or there are a number of other third party tools that can be used. Soldier Of Fortune and Half-Life. There are projects on the Internet to make the code more clear and updated to modern standards. source released under GNU General Public License (GPL) Game engine & editors so basically a game Authoring System Quake III was released December 3 1999. Quake 3 by ID Software. Daikatana.000/project. Heretic II. 44 . but the source must be also available and people can make copies of the software without any restrictions.com Source available on the Internet (quake3-1.Same thing as with the Quake 2: GPL license means that you can sell the game. It basically includes most of the features from te previous Quake engines and new features such as shaders. A solid FPS engine with multiplayer support.zip) Free.GPL license means that you can sell the game. but the source must be also available and people can make copies of the software without any restrictions. On a side note the source code for Quake III is said to be cryptic and by modern standards "old" style. Pros: .Old engine with outdated technology . examples include Wolfenstein: Enemy Territory. www. This engine has been used in many games like Hexen II. special effects. So making a product for the commercial gaming market is not possible.32b-source.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines for $5.

www. built-in light map ray tracer Bump mapping using environmental bump map technique. projective texture mapping.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Quest 3D by Act-3D ID Software. etc. doppler effect simulation.quest3d. 2299€ enterprise. special materials effects through per-pixel shading Multiple transparency modes. types: spot. render to portion of the screen. Zoom in and out. Bump mapping using per-pixel shading technique Camera • Supports wide screen (16:9) displays (any other aspect ratio).com 129€ lite. 899€ professional. Imported meshes: polygons. auto look-at feature and can use multiple cameras for one image. compatible with multiple speaker setups (5. It's also possible to make own code for channels using C++ and Quest 3D SDK. Different editions have different kinds of features: Lighting • • • Dynamic lighting (up to eight lights. 8999€ vr edition Game Authoring System Designed mainly for 3D presentations like interactive adverts. roll off effect simulation 3D positioning. Up to eight texture stages (depends on hardware) Primitive meshes: donut.1) (depends on hardware) 45 . Material • • • • Multiple materials per object. view frustum culling. The engine is professionally made and the demos on the website look very good. interactive 3D training material. Stereo and 3D audio. omni and linear) Diffuse and specular lighting. product visualization. import radiosity light maps. square etc. auto bump maps from height image Image compression support (DXTC). Quest 3D s based on a channels (compiled pieces of code) which are linked together with a WYSIWYG editor. maximum texture size: 4096x4096 (depends on hardware) Cube maps. architectural presentations. Transform texture coordinates using a motion Audio • • Mono. which requires real-time rendering but it can be used to create simple games as well. multi monitor setup. lines or points Textures • • • • • Render to texture. linear or exponential fog effect. Z-buffer write/read and alpha z-reject options Real-time compressed texture support (DXTC). 3 different hardware accelerated reflective mappings Hardware accelerated mapping for lighting cube. vertex color support.

values. and the growing demands on artists must be met with more efficient pipelines and tools that can make the most of your time and resources to meet demanding schedules.) Path finding system (A. Automatic compression. screen saver.Good documentation . The features of the engine are listed below. table/array system.Custom made channel components are hard to debug Reality Engine by Artificial Studios. LUA scripting language Switch between any module type. 46 .). vectors.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Input • • Support for mouse.Content oriented with a WYSIWYG editor. no programming required Cons: . use operators to modify text. The engine looks very impressive based on the feature list and screenshots on the webpage. If. Winamp visualizer. network text. load and unload any part of your project dynamically Trigger events based on time or action.com Low-medium cost (5 figures mentioned somewhere) Game engine with editor tools The Reality Engine is a true next-generation toolset for developing games for the next generation. for loops etc. where near-photorealism will be expected. built-in Finite State Machine (A. Interpolation for good results on slow networks Pros: .Professional tool for 3D applications requiring real-time rendering and game like functionality . This engine was also bought by Epic Games so the availability of it is not 100% certain. matrices. else. Use expressions for binary operations. web page. installer. vectors etc… Publishing • • Publish as single executable. encryption of source files Networking • Microsoft DirectPlay network synchronization.I. www. support for force feedback input devices Logic • • • • • Many operators and modifiers. lobby system. multiple joysticks and keyboard buttons are supported) 5DT data glove support. values and commands.artificialstudios.I.

X. Powerful WYSIWYG Scene Editor running on Reality. virtual displacement (parallax) mapping. entity setup. Phong specularity. and implement powerful Python-driven or C#-driven scripts. Physics • • Advanced physics engine for constraint resolution of thousands of rigid bodies. Shading includes dynamic projection mapping. decision-making based on adaptive state machines and reactions to stimuli such as sight and sound.NET without the need for a compiler. commercial license $495 Game Authoring System. IDE-integrated code in your favorite language. state of the art skeletal 47 . sky configuration. all with realtime visualization as lights and meshes are moved around the scene.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Rendering technology includes: • • Built with DirectX 9. allowing programmers and artists to write fully debuggable. Heavily optimized for maximum performance in huge. arbitrary joint linkages. mix/detail shaders. complex scenes. entity library.com/pg/product/view. rendering setup. including day/night cycles. per-pixel reflection mapping. and other configurable pixel & vertex shaders. out-of-the-box game engine specifically aimed at FPS Torque game engine is a fully featured AAA game engine with award winning multiplayer network code. www. animated textures. Torque game engine by GarageGanes. redundancy-filtered PRT lighting compiler. PS2. while fully scalable to DirectX7/8 generation hardware. stacking. vehicles and collision primitives Scripting and programming • Full integration with . Networking • Optimized Client/Server-Authoritative networking incorporating latency prediction & adaptive data degradation.0 from ground-up to take full advantage of cutting edge technology developments.0 and PS1. Per-Pixel Lighting and shading with support for PS3.garagegames.1. Python support. fabric.0. shader configuration.php?id=1 Indie license $100. supporting multiprimitive. anisotropic scattering. refractions. water. from C#. • Editor tools and content creation include: • • • Total integration with popular commercial 3D editors (Max. to VB. seamless indoor/outdoor rendering engines. Includes material library. Ragdoll character animation.NET scripting languages. Maya) allows artists to create environments. and particle physics. PS2. No compile times. breakage. HDR lighting. Voice communication AI • Pathfinding (both predetermined and dynamic with obstacle avoidance). view & configure shaders and lighting with realtime viewport feedback. normal mapping. Unified dynamic world lighting and shadowing. physics setup. Image post processing effects. C++/CLI.

TorqueGUI is an easy to use. Don't spend time stressing over small changes in your interface. Most of the game can be programmed in TorqueScript with engine additions such as physics or intense AI coded in C++ to be called from script. Orbz. TorqueScript is a C++ like scripting language that ties all of the various elements of the game together. About Torque licensing issues: the indie license costs $100 per programmer. a built in world editor. See Torque Game Engine DTS Exporter Matrix. If you need to quickly prototype an idea. Exercise your creativity without breaking your development budget. and a C-like scripting language. and is an industry proven engine. Think Tanks and Tennis Critters. It is currently being used by developers around the world with shipping titles such as Marble Blast. Buildings and levels are created with the industry standard free program Quark. $150-$500 depending on the license Game engine with some editors The TV3D SDK is a complete programming suite that accelerates the development of 3D games and applications. TorqueEdit is a powerful terrain generation and object placement toolkit for easily building game scenes and structure. As long as the company has less than $250. TV3D SDK Version 6.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines animation. drag and drop GUI creation. you can publish your game anywhere. examples and tools included in $100/programmer.000 in sales. and Tribes 2.2 by TrueVision 3D team. drag and drop graphical user interface creator. you receive all C++ source code to the engine. so you can make any additions you need for your game. Source code to the Torque Game Engine. Unlike most commercial game engines.com/ Free version. Lightwave. Community members are creating exporters for other popular 3D modeling programs such as Maya. This engine can be used for creating small 3D games. and comes standard with exporters for 3D Studio Max on the high end and Milkshape on the low end. or need to quickly bring 48 . for any price without any royalties or further commitment to GarageGames. The Torque Game Engine started life as the technology behind Dynamix/Sierra/Vivendi'd products Tribes. as part of the low cost license. Starsiege. This editor gives you control over all elements in your game from a graphical viewpoint. gameSpace and Blender. Torque supports many industry standard content creation tools for 3D modeling and animation.truevision3d. www.

. The TV3D SDK has the simplicity that an SDK should. echo. With our 3D engine you have the power of an expensive 3D SDK. or Morph-based animations. at a price that will not break your budget. DirectShow support. allows to make unique sound atmosphere for your games. effects (reverb. skeleton-based. SM3.No network support . You need to write both low level functionality and gameplay logic. SGT support. pptimized Hardware T&L support DirectX Hardware Lighting support (up to 8 simultaneous lights) Fast view frustum culling (sphere and box) and fast Terrain Rendering System with quadtree BSP Rendering Engine with PVS/Lightmapping. RMI. Licensing costs $8000 49 . attach child meshes to bones and animation via custom bone rotations Media Engine: • DirectSound. MP3. Keyframe-based. and the flexibility and power that it needs. DOT3 bumpmapping support. DirectMusic. Features: • • • • • • • Full DirectX8. and our community support forums bring over 2000 users together.Very simple collision support (box and sphere) UnrealEngine2 Runtime by Epic Games. who all share ideas and rendering techniques on a daily basis. MID. fast 2D Interface with custom fonts Powerful animation system. Supports Visual Basic 6. Our multi-language support is second to none in the industry. billboard-based Particle System Hardware Vertex Shaders to optimize rendering if available and shader script system to setup texture effects Atmospheric effects like fog. MOD. you need to write your own . Delphi.Fast engine & professional looking .1 and DirectX9 support. then the TV3D SDK will save you time and money. cloud.epicgames. stars.Very active developer forums Cons: . sky (box and sphere).Low level & mid-level programming. hardware/Software Sound mixing.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines a product to market. Unlimited simultaneous sounds. IT.) to give more depth to your sounds and movie playing (all formats) for cut-scenes Pros: . WAV. etc. 3D Sound support that can be linked easily to a 3d world. C++ and C#.No map editor.com/Two/UnrealEngine2Runtime Free for noncommercial & educational use. http://udn. optimized dynamic stencil shadows for meshs.

hierarchical skeletal animation. light effects like blinking. spot lights.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Game Authoring System First important thing to know is that the license of this version of the Unreal2 engine doesn't allow you to develop games! The license allows the development for noncommercial and educational use only. vertex meshes. This engine could be licensed for example for scientific research applications. texture animatios Sound • OpenAL based audio subsystem for Windows. distance fog Terrain: • Alpha blended layers. decoration layers.0 50 . projected textures allow shadows & flashlights. point lights. rotating. etc. wavering. Epic might actually give the permission for use unless the game is for public commercial game markets like a Muumi-game. scrolling. semi-reflective materials. Feature-wise UnrealEngine2 has more features than any of the other engines listed in this document. terrain manipulation tools Textures: • Material system with alpha blending and multiple layers of textures. artist controlled compression Lighting: • Dynamic lighting on all geometry types with vertex lighting and projective texturing. It has full editor tools which allow full game development. Effects: • Particle system. panning. The sum of $8000 was mentioned somewhere but this isn't very reliable information. detail textures. fluid surfaces supporting water simulation. static meshes. backgrounds. 12 levels of mipmapping. The features are listed below in more detail: Rendering: • BSP geometry. ogg vorbis support. architecture applications and other these kinds of things which use the game engine without having an actual game in them. 3D spatialization. There are also commercial licenses available but the price is not public information. animated skeletal. skeletal keyframe interpolation. support from DX6 to DX9 Animation: • Up to four bone influences per vertex. linux and Mac. skies. Making a game for children with this engine is a borderline case. directional lights. both outdoor ad indoor environments supported. multiple channels of animation. no polygon or bone count limits.height-mapped terrain. hardware sound acceleration with EAX 2. mirror surfaces. max texture size 2048x2048. tweening.

Also other assets like sounds and textures are imported into the game using UnrealEd. UnrealScript • Powerful object oriented script language used to implement the functionality. geometry and lights to the level. It is also used for adding the network functionality so there isn't a need to do C++ coding for example. Has lots of good features like automatic garbage collection. Also vehicles. Pros: . localization and solid documentation. Editor is used to place textures. different platforms. Max and Maya exporters are used to export 3D models from those programs into Unreal.The most professional and robust 3D engine with most features Cons: . dynamically scoped state machines and time based code execution Other features include VOIP support which is not very reliable based on the experience of LudoCraft.This version can't be used in game projects because of the license . AI. physics.Relatively expensive when compared to other engines in this document 51 .Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines UnrealEd • Editor fully integrated into the engine and it provides a view of the game level. networking.

org Free. sprites 52 . and hardware-accelerated skinning Biquadric Bezier patches for curved surfaces Progressive meshes (LOD) Static geometry batcher Customizable scene management Particle systems.Net 2002 (with STLport).net). Pacific Storm is created by Lesta Studios which is located in St. 3D Studio Max.ankh-game. Visual C++. export from many modeling tools (Milkshape3D. It has no level editors. OGRE has the following features: • • • • • • • • • • • • • • • • Simple. including blending of multiple animations.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Graphics Engines The following list describes pure graphics engines. Russia.e. variable bone weight skinning. Direct3D/OpenGL. position lights. Other game using Ogre is a WW2 flight simulator game named Pacific Storm (www. sound system or other systems used in game engines. LPGL license Graphics Engine Ogre is a pure graphics engine developed with C++. Ogre has even been used in some upcoming commercial games like Ankh (www. Blender and Wings3D) Skeletal animation. dealing with transparency are done for you automatically saving you valuable time Clean.ogre3d. hierarchical culling. Petersburg. www. Visual C++.pacificstorm. textures.de) which is a cartoon-style 3D adventure game happening in ancient Egypt. etc. Extensible example framework makes getting your application running is quick and simple Common requirements like render state management. Linux and Mac OSX support Builds on Visual C++ 6 (with STLport). They only contain the renderer and scene management things which allow to load 3D models. and to be independent of 3D implementation i. However. uncluttered design and full documentation of all engine classes Direct3D and OpenGL support Windows (all major versions). easy to use OO interface designed to minimise the effort required to render 3D scenes. OGRE by OGRE Team. it is a very popular and robust graphics engine. Maya.Net 2003 on Windows Builds on gcc 3+ on Linux / Mac OSX (using XCode) Extensive material / shader support Mesh support.

License is OSPGL (based on LPGL) Graphics engine The OpenSceneGraph is an OpenSource.org Free. 53 . Based around the concept of a SceneGraph. virtual reality and scientific visualization. it provides an object oriented framework on top of OpenGL freeing the developer from implementing and optimizing low level graphics calls.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines OpenSceneGraph www. games. and provides many additional utilities for rapid development of graphics applications.openscenegraph. cross platform graphics toolkit for the development of high performance graphics applications such as flight simulators. It is a 3D graphics library for C++ programmers.

unlike most game-creation languages. at first. and can be used as an easyto-use point & click developing tool as well. it is not based on pure coding.com Different versions. It consists of an easy-to-use development environment. specifically suited for 3D games creation. similar to the early 90's Sierra and Lucasarts adventures.3drad. www. The game interface is fully customizable.uk Free Game authoring system Adventure Game Studio (AGS for short) allows you to create your own point-and-click adventure games. It is based on controlling. However.setting most game options is just a matter of point-and-click (though scripting is of course available if you prefer). Objects can interact one another and the intuitive and powerful language controlling them makes developing any kind of behavior straightforward and funny. and run-time engine. www. 3D Rad by 3D Rad. The simple and genuine object-oriented structure makes 3D Rad easy to understand and master. the evolution of independent objects. But. Adventure Game Studio by AGS Team. some don't have a solid feel to them. that. includes script & level editors 3D Rad is a Basic-like language.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Miscellanous engines The following list of engines are good to know to get the whole picture of the engine scene but aren't recommended to use. from $19 to $79 Game authoring system. Some have websites that haven't been updated for a long time. 54 . there might engines in this list which suit some special needs so that is the main reason to include the engine list here. although the classic Sierra interface is supported by default. are placed to Virtual Space by using a powerful WYSIWYG visual world editor.adventuregamestudio. even if you have never programmed before.co. etc. You need no programming experience to make a game using AGS . by independent Basic-scripts.

Customizable screen transitions. does not have a scripting system so isn't as good as Game Maker. Blender by Blender Foundation. Formatted text.blender. Enhanced event editor. Features: AVI and QuickTime video. and more.The whole thing is basically a game authoring system . inventory management. fully defined advanced game logic Supports all OpenGLTM lighting modes. grouping of events. www. www.com Low cost $29 to $49 Game authoring system 2D game authoring system similar to Game Maker.Script level programming with Python Cons: . Alter the application's menu bar. The 3D and game engine features include: • • • • • • • Graphical editor for defining interactive behavior without programming Collision detection and dynamics simulation Python scripting API for sophisticated control and AI. including transparencies. using the SDL toolkit Multi-layering of Scenes for overlay interfaces Pros: .Seems slow and can only be used for very simple singleplayer games or presentations Games Factory by ClickTeam. Full screen scrolling.org Free Modeling software with built-in game engine features Blender is a freeware 3D modeling program which also has some game engine features so you can make basic 3D games with it. Enhanced animation/picture editor.it provides load/save game functions. Animated and reflectionmapped textures Playback of games and interactive 3D content without compiling or preprocessing Audio. Also quite old. 55 . However.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines AGS manages most of the game so that you don't have to . True MDI interface with tool bars.clickteam.

Outdated technology.It´s free ! Multiplattform (Win. Unrealor Lithtech engines) A point & click or prototyping tool (like Macromedia Director or VirTools) You still need a team of programmers. Mac. expandability with the release of the extension kit: anyone with C programming knowledge can program their own objects. Python. … Nebula is not: • • • A complete out-of-the-box running and genre specific game framework (like the Quake-.htm Free Game authoring system 56 . Linux.cubik.ca or dhost. no editors Open Source 3D game and visualization engine used in dozens of commercial games and professional visualization applications released worldwide.info/realityfactory/index. etc. complex calculations. use GameMaker instead. Nebula by Radon Labs. Cons: . text support. Irix. nebuladevice.org Free Game engine. Reality Factory by Reality Factory Team. Features include: • • • • • • • • • A well-tried and robust C++ game engine An “Operating System” for games OpenSource .realityfactory. Xbox) A portability wrapper (unified APIs) An abstraction layer (simplified APIs) A DX9 rendering engine An extensive and most modern feature set Flexible scripting: TCL. www. Lua.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines improved drag & drop.

and targeted at people spanning a range of skill levels. Scrolling Game Development Kit by Benjamin Marty. and special effects.net Free Game authoring system for 2D games The Scrolling Game Development Kit ("GameDev") is a free / freeware open source tool for 2-D game development. You'll still need software to make actors (characters and props in your game) with. and software to make textures with. in conjunction with other tools. While you can certainly make a good game with RealityFactory. RealityFactory is intended to be a "rapid game prototyping tool" . which makes drawing coherent maps much easier. GameDev features a graphics editor with smoothing and anti-aliased rotation abilities.without programming! RealityFactory is built on top of the powerful Genesis3D Open Source engine and supports all major 3D graphics cards. allows you (the user) to create first and third person perspective games . you can set up a game . RealityFactory provides most of the tools you need to make a game. By using things called "entities" which you place in your world. GameDev has a tile matching editor which allows you to define how tiles fit together. And in the middle there's applications for creating a game and controlling it through scripting. It also has applications for the experienced developer who perhaps simply wants to use the program to draw the graphics or define maps. multiple soundtracks. interesting games across a wide range of genres but it's not optimized for any ONE kind of game.it's able to make playable. It is designed for the Windows 9x/DirectX platform. but what you won't need is a C/C++ compiler and a couple of coders to crank out your engine for you. The graphics editor is used to edit graphics for tiles and sprites. you won't see the kind of blazing optimized speed that you would in other single-purpose engines (like Quake 3 or Unreal Tournament).with audio effects. The map editor has a built in maze generator which can create mazes based on tile matching definitions or on a single tile against the background. 57 . gamedev. and even give it away and/or sell it to others.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines RealityFactory is a program that. It can be used by the beginner to become familiar with the structure of computer games and to create complete games that don't require any coding.sourceforge.

Animated tiles are also supported. focusing both on performance and ease-of-use. 58 . It is designed with games in mind. portals. Soya 3D by Soya Team home.org/oomadness/en/soya/index. some kind of editor for using with blender.Soya 3D is available under the GPL and currently runs on GNU/Linux. terrain rendering (heighmap). even without recompiling the program. Scripting can also be used at game runtime to control details of the gameplay. Linux only Soya 3D is a high level 3D engine for Python . and various types of sprites can be defined based on the graphics and the paths contained in the project. It relies on OpenGL. Features includes. SDL and Cal3D. Blender exporters and tutorials set. it aims at being to 3D what Python is to programming : easy and powerfull. Paths can be defined in the map editor. characters animations with Cal3D.html Free (GPL) Game engine.gna.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines It supports scripting which allows you to customize how the map and graphics editors work.

no.com/~scottb/gdc/flash-paper.igda. Vol. J.pdf Steinmeier. P. (ed) IGDA 2004 Web and Downloadable Games White Paper http://www.gamasutra. (ed) IGDA 2005 Casual Games White Paper. Development Platforms for Casual Games.org 59 . 45. 2005. http://www.igda.igda. http://www.com/interviews/sweeney04/ Tinney.org/casual/quarterly/1_1/ Wikipedia. What About Flash? Can We Really Make Games With It? Available online: http://www. Available online: en.gamasutra. 2005. http://www.pdf Robbins. 2002.drizzle. (ed) IGDA Casual Games Quarterly . 2004. S.shtml Tan. Manager In A Strange Land:Reuse and Replace. J.org/casual/IGDA_CasualGames_Whitepaper_2005.shtml Lewis. 2005.beyond3d.com/features/20050324/steinmeyer_01.htm Fristrom.org/online/IGDA_WebDL_Whitepaper_2004. 27-31. 1. Communications of the ACM. W. E.com/features/20040109/fristrom_01.wikipedia. 2004. 2005. B. Available online: www.The Technology Issue. Interview of Tim Sweeney at Beyond3D. A.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines References Bilas. & Jacobson. Mills. Game Engines in Scientific Research. http://www. M.

html 3d Gamestudio page comparing some 3d engines and game authoring systems http://www.Oulun lääninhallitus EUROOPAN YHTEISÖ Interreg III A Karjala Open Source & Low Cost Game Engines Additional Resources A comprehensive list of game engines.liberatedgames.ambrosine.net/engines/ A page concentrating on commercial game engines that have been subsequently released openly. Includes both free and commercial game engine information stored in a database. Good search feature. http://www.com/ A list of game creation programs.htm 60 .conitec. with sources: http://www. mostly old freeware programs http://www.net/a4faq.com/resource.devmaster.