Skip to main content

Game engines list

I figured I'd start a list, to help people find out about what is available out there for them to create their games.

http://irrlicht.sourceforge.net/index.html
The Irrlicht engine
The best part about this engine is its license
Features: (Copied From website)

The Irrlicht Engine is a high performance open source and cross platform 3D engine for creating realtime 3D applications. Its main targets are to be easy to use, extremely fast, extensible and crash safe.

Its main features are: (Note that the engine is currently in development. Take a look at the development site to see the progress.)

High performance realtime 3D rendering using Direct3D and OpenGL [more]
Platform independent. Runs on Windows95, 98, NT, 2000, XP and Linux.[more]
Seamless indoor and outdoor mixing through highly customizeable scene mangagment. [more]
Character animation system with skeletal and morph target animation. [more]
Particle effects, billboards, light maps, environment mapping, stencil buffer shadows, and lots of other special effects. [more]
Platform and driver independent fast software renderer included. It features z-buffer, gouraud shading, alpha-blending and transparency, fast 2D drawing.
Powerful, customizeable and easy to use 2D GUI System with Buttons, Lists, Edit boxes, ..
2D drawing functions like alpha blending, color key based blitting, font drawing and mixing 3D with 2D graphics.
Clean, easy to understand and well documentated API, written in pure C++ and totally object orientated.
Direct import of common mesh file formats: Maya (.obj), 3DStudio (.3ds), Milkshape (.ms3d), Quake 3 levels (.bsp), Quake2 models (.md2), ... [more]
Direct import of Textures: Windows Bitmap (.bmp), Adope Photoshop (.psd), JPEG File Interchange Format (.jpg), Truevision Targa (.tga), ... [more]
Fast and easy collision detection and response.
Optimized fast 3D math and container template libraries.
Directly reading from (compressed) archives. (.zip)
Unicode support for easy localisation.
Works with Microsofts VisualStudio6.0?, VisualStudio.NET?, Metrowerks Codewarrior, and Bloodshed Dev-C++ with g++3.2.
The engine is open source and totally free. You can debug it, fix bugs and even change things you do not like. And you do not have to publish your changes: The engine is licensed under the zlib licence, not the GPL or the LGPL.

http://neoengine.sourceforge.net/
The Neoengine

Features: (From Site)
free
Here are the current working features of the latest version of NeoEngine
Platforms:
Win32
GNU/Linux
MacOS X
FreeBSD
Rendering Subsystem:
BSP and octatree space partition schemes
Advanced scene graph
Extensive material language
Multitexturing
Skeletal animation
Mesh animation
Dynamic shadows
Orthographic projection for 2D-style overlays
Font rendering with text formatting
OpenGL backend
DirectX backend
General Subsystems:
Collision detection framework
Particle systems
Rigid-body physics simulation
Audio Subsystem:
Audio converters including mixer
Audio sampletable
Audio codecs (WAV,OGG)
Audio player
OSS audio plugin
WinDIB audio plugin
Network Subsystem:
TCP/IP socket wrappers
Misc
Package file support with bzip2 compression (custom format through plugins)
Custom texture file formats through plugin architecture (png, jpeg, tga, bmp)
Tools and converters
Converters from Q3 maps (.bsp) and models (.md3)
Converter from Doom3 models and animations (.md5mesh, .md5anim)
Converters from 3DSMax (.3ds), Lightwave (.lwo) and Milkshape (.ms3d)
Exporter for Maya 4.x
Extensions
Chunk file format I/O library with easy-to-extend syntax and parser

AMP2 Engine

http://www.4drulers.com/

Features:
Real-time 3D corridor renderer. The Six degrees of freedom allows the user to create full 3D environments, like first and third person shooters, 3D architectural walkthroughs, virtually any 3D simulation.
Per Pixel Lighting. The engine uses per pixel dynamic lighting, not preprocessed low resolution shade maps such as the Quake series engines or Unreal engine. This next generation lighting allows for bump mapping, specular lighting and stencil shadowing. Characters and the environments are now rendered and cast shadows the in the same pipeline, so characters, map objects and level geometry are all treated the same and are rendered in the most realistic methods possible using the latest hardware.
Bump mapping. Bump maps will give the appearance of real depth in a surface, allowing for fine detail like fingernails, wrinkles, beard stubble, rivets, weapon details, carpet, anything you can imagine under a few inches in real world depth can be simulated correctly with a bump map. Bump mapping helps eliminate texture tiling also, and time can be saved because world textures no longer need fake shadows and lighting painted into them, just color is needed in texture maps now.
Specular lighting. By using a texture, you can control exactly how shiny each pixel of a surface is. Chrome, and shiny metals have never before looked so realistic in any game engine.
Stencil Shadowing. Realistic stencil shadowing allows shadows to cast off of characters and the world itself. These shadows cast onto other surfaces and wrap around up a wall, or onto mutliple surfaces, just like real shadows work. Other engines try to fake shadows with projection blobs on characters and by using shade maps which are a big waste of texture memory. Don't settle for anything less than real time stencil shadowing in your game.
Projection Textures. By using a texture in conjunction with a light source, you can create very detailed soft shadow effects like mini blinds, or make custom shaped lights by filtering them through an image.
Fog Flares. Nearly any shape of lense flares are now possible, so volumetric lights, spot lights, rectangular glows, etc can all be created for the ultimate lens flare effects.
Texturing. AMP II allows up to 1024x1024 32 bit textures. It supports TGA, PNG, BMP, and DMT file formats.
Texture Memory Management System. The engine has texture compression and scalable texture depth to lower texture memory requirements.
Shader System. Create "shader effects" which manipulates a texture for fantastic surface effects. Panning, scaling, glowing, pulsing, rotating, flickering, animated, and other effects are all possible. These are useful for panning text or static on a computer screen, light bulbs flickering on and off, pulsing glowing surfaces like lava, practically anything you can imagine. Used in conjuntion with lighting effects can produce stunning visuals.
3D character renderer with skeletal animation system. Skeletal animation system allows for the most realistic animations possible. Use 3D Studio Max's standard animation system, Bones, Character Studio or motion capture to bring characters and animated objects to life. The engine also has a velocity setting to slow your characters' walk down to match his current speed, so you can tweak how fast a player moves without redoing run and walk animations. Also polygons can be assigned to multiple bones which gives a nice elastic appearance at the joints.
Realistic light sourcing with shadows. Every light in AMP II is dynamic, meaning there are no pre-calcuated lights. This makes it possible to destroy lights, move lights, apply shaders to lights, etc, at no extra rendering expense. Per pixel lighting allows users to control the lighting of their surfaces at a per pixel level and also allows using smoothing groups and normal maps. This allows for soft round lit surfaces, or hard edges on corners, or anywhere in between just like smoothing groups work in 3D rendering packages such as 3D Studio Max. Colored lights are allowed as well.
Particle system. An advanced particle system allows creation of sparks, smoke, dust, muzzleflashes, flamethrower effects, weapon effects, etc.
Portal Rendering. Portal rendering allows for viewing of levels almost instantly versus older BSP engines which sometimes took hours or even days of preprocessing times. It is also much easier to work with and more efficient than BSP rendering engines. Simply make a 90 degree turn in a corridor, and it perfectly cuts off what isn't visable.
OpenGL based rendering.
Includes Wire (tm) networking library which powered the ultra smooth net play for Gore ?Ultimate Soldier. (tm)
Support for Nvidia GeForce 3 and higher.
Support for ATI Radeon 9600 and higher.

--------------------------------------------------------------------------------
EDITING PACKAGE
--------------------------------------------------------------------------------

Level Editor for creating world geometry. Comes with standard primitive brush tools, a powerful draw mode where you simply draw your rooms out, and a lofter for creating pipes, trim, any lofted shape you desire. Draw mode can be used to place waypoints, light sources, or any entity types.
Not limited to convex brushes, concave brushes are allowed.
Powerful CSG construction - move doorways, windows, rooms after they've been placed.
Hierarchial model / animation editing.
3D Studio Max 5 plugin. Create models, map objects, animations, bump maps, normal maps, even complex brushes can be imported into the editor using this plugin. One click and your model is in the engine ready to go.
ASE model Importer. Open or Import .ASE files for those who want to use packages other than 3D Studio Max to create models.
Text editor. Built in text editor allows you to edit your scripts from within the level editing packages for quick code changes.
debug log window for easy debugging of problems.
Map object support. Streamline and speed your production by creating lots of pre-built map objects.
Display Filters. Use display filters to only display what you want to see. Any type of brush or entity can be hidden or even disabled so it doesn't show up in the editor or the game. Hide that pesky attic so you can work on the main floor without visual obstructions. Disable an old portion of your map to try a new portion out.
Real time preview in the editor. Now you can see the game level fully lit in the editor without loading the game.

--------------------------------------------------------------------------------
GAME CODE SUPPORT LIBRARY
--------------------------------------------------------------------------------

More info coming soon.

--------------------------------------------------------------------------------
LICENSING OPTIONS
--------------------------------------------------------------------------------

Personal license $200. Limited to use on one computer system by one person. Games made with this license can be distributed through our upcoming shareware plan, released for free on the internet, submitted to publishers, used for non profit purposes. They cannot be sold, marketed or published without a professional license unless you opt to use our upcoming shareware plan. Comes with forum access for support.
Professional license $2000.00 . Limited to use on one computer system by one person. Customer can sell, market or distribute or publish their game. Comes with forum access and 30 days of email support.
Professional unlimited seat license $25,000.00. If you have a large team and don't want to worry about how many copies of AMP II you can use or install, then this is the package for you. The package comes with forum and email support, plus tool source code!
Professional source $40,000.00. Full engine and tool source code allows serious developers to modify anything they wish, rendering code, networking, tools, etc.
Email support $500.00 per year. Will answer emailed questions within 1-2 working business days.
Tool Source code. $5,000.00 Customize the editor and tools to fit your own needs.
All licensing options come with the full featured tool kit, demo art and level resources, examples, tutorials, private user forum access, full documentation and more! Everything you need (besides art programs) to create professional quality games is included! Other game engines of this quality can cost up to $1,000,000.00 to license and a royalty fee must be paid as well.

http://www.tenebrae2.com/
Engine not available yet
Older version is though

Tenebrae is a modification of the quake source that adds stencil shadows and per pixel lights to quake. Stencil shadows allow for realistic shadow effects on every object in the game world. Per pixel lighting allows you to have fine surface details correctly lit. These are essentially the same algorithms as used by the new Doom game.

I'll be back with more later, please contribute to this list everyone.
I'll try and dig up the prices for the big engines as well :)
If your making your own engine list its features here :)

Submitted by tachyon on Thu, 11/09/03 - 8:06 AMPermalink

Another pretty popular open source engine is crystal space

http://crystal.sourceforge.net/

(from website)
Crystal Space is a free 6DOF portal based engine (based on the LGPL license). Current features are:

General Architecture:

True 6DOF engine with arbitrary sloped convex polygons.

Flexible plugin system which allows for plugging in other modules including scripting languages. Python and LUA scripting plugins are already included. There are also various other plugins (fonts, sound, ...).

Crystal Space uses SCF for communication between several layers (like between the 3D Engine and the 3D Rasterizer). This allows plug-and-play capabilities and other nice stuff.

Support for 15/16-bit truecolor) and 32-bit (truecolor) displays.
Crystal Space has commandline arguments and can run at many resolutions (640x480, 800x600, ...).

Very configurable via commandline or configuration file.

C++ source (and optional assembler) is available. Crystal Space falls under the LGPL GNU copyleft license for libraries which means that the engine can be used in commercial products provided you can conform to the LGPL license (no, you DON'T have to release the source of your game if you use CS).

cs-config script to make it easier for external applications to use CS.
Textures and Texture Mapping:

Textures can have any size which is a power of two and they need not be square.

Crystal Space supports textures with various formats including GIF, TGA, PNG, BMP, JPG, and others.

It is possible to map a texture on a polygon in various ways (rotated, scaled, mirrored, ...).

Perspective correct texture mapping with interpolation every 16 pixels.

Transparent and semi-transparent textures allowing for see-through water surfaces and windows.

In addition to the usual lightmapped textures you can also use triangles which are gouroud shaded.

Mipmapping to minimize memory strain on the texture cache and to have nicer looking textures when a polygon is far away.

Support for dynamic textures (i.e. texture that you can render on and put on a polygon as well as normal textures).

Support for internal 24-bit textures with a private colormap for every texture or true 24-bit.

Multi-texturing with OpenGL.
Engine Features:

Dynamic gouroud shaded sky dome (half-sphere) for a very realistic and nice looking sky. With very little programming it is possible to have a moving sun which actually modifies the color of the sky in real-time.

Support for multi-layered and animated skyboxes and skydomes.

Landscape engine.

Crystal Space supports mirrors!

With mirrors and alpha mapping you can create really nice shiny or reflecting surfaces.

Static colored lights with real shadows. Lighting and shadows are precalculated before the world is displayed.

Dynamic colored lights with soft shadows!

Precalculated Radiosity on the Lightmaps!

3D triangle mesh sprites with frame animation. Convertors for Milkshape, Maya, Cal3d, 3DS, Quake MDL and Quake II MD2 formats to Crystal Space are included. Importers for 3DS, MDL, MD2, OBJ, POV, and ASE are also included. The meshes are actually progressive meshes allowing for dynamic LOD (level of detail) changes. There is also support for skeletal sprites.

2D sprites and a particle system using those 2D sprites.

Depth-correct colored volumetric fog in sectors (both software and hardware renderers).

Optional halo's around lights for nice atmospheric effects. Also support for lens-flares.

Support for curved surfaces (Beziers, ...).

Visibility system based on a combination of portals, kd-tree, and coverage buffer.

Hardware accelerated transforms (if available and with OpenGL) for 3D triangle mesh sprites, curved surfaces, and terrain engine.
Portability:

Currently Crystal Space has been ported to Unix (X Windows, OpenGL), GNU/Linux (X Windows, SVGALIB, SDL, and OpenGL), Macintosh OS/X (also with OpenGL), Windows 32-bit (DirectDraw and OpenGL).

Optional OpenGL hardware acceleration on Windows, GNU/Linux, and Macintosh OS/X. The OpenGL port has been tested with Mesa on GNU/Linux and works very well. The other OpenGL ports will also work well.

Optional MMX support for processors that support it.
File Format Support:

Crystal Space can directly load 3DS, MDL, MD2, ASE, OBJ, or POV objects.

Powerful XML world file format allowing you to easily redefine the world.

Levels can be stored in standard compressed ZIP archives so that you can easily make a bundle of one level.

It's possible to make libraries of objects, textures and other game related stuff and put it all in a seperate ZIP file.

A convertor to convert MAP files (from Quake/HalfLife) to CS is also included. You can use this to edit levels with QuarK/WorldCraft or other editors.

Convertors to convert Maya, Milkshape, or 3DS to models or levels is included.

Several Blender scripts (Python) are included to export models and levels from within Blender.
Various Other Features:

Font system plugin to support other font types. Currently CS fonts and truetype fonts are supported.

Moving objects and a (currently limited) script language controlling the movement.

Hierarchical bounding box collision detection system.

Powerful physics library using ODE is included too. It is a dynamics modeling and simulation engine.

Sound support.

Support for 3D sound (DS3D, EAX, A3D, ...).

Support for various sound formats: WAV, Ogg/Vorbis, AU, AIFF, IFF, and MOD (using MikMod).

Simple networking support for Windows, GNU/Linux and Unix (sockets based).

There is also an input/output console (like in Quake) that can be activated with the 'tab' key.
Here are things which are currently in progress:

Work on a new advanced OpenGL renderer which uses
hardware to its fullest including vertex shaders and dynamic shadows.

Further work on Dynavis: the visibility culler.

Here are several things that we plan to do for Crystal Space in the near future:
We will start working on a general LOD (Level Of Detail) manager in CS.

Submitted by Fluffy CatFood on Fri, 12/09/03 - 7:16 AMPermalink

UnrealEngine2
http://udn.epicgames.com/pub/Engine/WebHome/
Big and expensive

Four distinct geometry types allow for highly detailed levels with reduced design time through instanced, reusable content.
Adaptable to several different game types including but not limited to First Person Shooters, to Real Time Strategies, to 3rd Person Action Adventure.

UnrealEd
UnrealEd is a real-time level design tool based on constructive solid geometry, optimized through its use in multiple released games for building real-time 3D environments.
UnrealEd is fully integrated into the Unreal engine: the camera views are What You See Is What You Get. All lighting, texture placement and geometry operations take place immediately, providing extremely fast feedback while building levels.
UnrealEd allows for visual editing of properties of objects.
You are always one click away from play-testing your level on both PC and Xbox.
Tabbed "browser" windows allow fast and easy selection and manipulation of geometry and content.

Licensee Community
The Unreal Developer Network site serves not only as a hub for engine documentation and support, but licensee contributions of information and code as well. Examples of licensee-provided enhancements available:
Macros and syntax highlighting for various editors and IDEs
Enhanced package manipulation, obfuscation and compression tools
Editor improvements such as a new particle system editor, an animated texture browser, a 3D rotation gizmo, view-corrected 3D dragging and more
Sample full-screen video and video texture support using RAD Game Tools? Bink
Sample environmental bump-mapping support
Sample hardware vertex and pixel shader support utilizing ATI?s RenderMonkey tools for fast artist/programmer collaboration on shaders
New skeletal mesh compression code and optimized terrain rendering code
Many Xbox workflow tools that we can?t tell you about
Tons of sample snippets, like root motion, ribbon emitters, camera effects, asynchronous file access, light-averaging player shadows and more!
Active, real-time chat with other licensees for fast, informal assistance with technical and content questions, Xbox and PS2 help, as well as offering private channels for your own team.
"Wiki" editing allows for free-form and structured collaboration with other licensees directly on UDN itself, either working on individual documents and specifications, establishing private webs, or installing the software and UDN templates locally.
CVS repositories provide clean, pre-prepared engine codedrops alongside the official milestone releases, up-to-date with all bugfixes and patches.

Deliverables and Licensing
Full, commented C++ and UnrealScript source code and binaries for everything.
Read/write access to the Unreal Developer Network support site, with documentation on much of the engine, source code and tools contributed by other licensees, and more.
Access to the Unreal technical and content creation mailing lists to discuss questions and issues with other licensees and Epic Games.
All Unreal Tournament 2003 source code for example purposes only.
All Unreal Championship (Xbox) source code for example purposes only (console licensing restrictions apply).
Updates for the duration of the license period.

Portability and Consoles
Highly modular, object-oriented foundation with few hard coded limits maintains portability and allows the Unreal engine to evolve through many generations of technological advances.
Unreal runs well on and is optimized for Windows PC, Macintosh (OS X 10.2.6+), GNU/Linux-x86 PC and Xbox.
Playstation2 and Gamecube source also available.
64-bit Windows and Linux ports using AMD Hammer x86-64 also available.

AI
Built-in state-based AI support for advanced creatures and bots.
Bots know how to use all player movement options, weapons and inventory.
Bots know how to use switches, ladders, navigate past platforms, use doors, snipe and more.
Physics-based AI makes complex actor movement straightforward.
Animation system ties into AI via notification system, with animation playing, blending, tweening, looping, and other triggers, such as footstep sounds.
Pathnode-based AI navigation system supports complex route evaluation, alarm points, and more.
AI properties are exposed to level designers for setting up patrol routes, individual creature moods and more.

Physics
Integrated physics-driven animation eases network programming and animation replication.
Collision cylinders provide highly optimized collision detection for humanoid characters and items.
Convex collision volumes allow for simplified, optimized collision for geometrically complex map areas.
Integrated Karma 1.2 rigid body physics engine by Mathengine allows for ragdoll physics, dual vehicle physics systems and more.
Karma license now included with UnrealEngine2 license at no additional cost.
Optional Karma 1.3 integration also available at no additional cost.

Rendering
Revamped renderer expands upon the proven dynamic scene graph technology of the previous generation Unreal engine.
DSG (dynamic scene graph) is a natural extension of portal technology. A dynamic scene graph consists of a root node, corresponding to the player?s immediate surroundings, and a hierarchical tree of child nodes. Each DSG node has a coordinate system transformation, clipping volume, and other rendering state associated with it. Unreal?s rendering engine constructs a dynamic scene graph on-the-fly as each frame is rendered. New scene graph nodes are generated as the viewer?s visibility propagates outward through portals. Scene graph nodes are the basic building blocks of many realistic effects and special effects, such as:
Mirror surfaces.
Semi-reflective materials, such as marble surfaces which partially reflect light.
Non-Euclidean, redirectable "warp" portal effects for seeing through teleporters.
Seeing through windows into an infinite sky zone in which a sky, planets, mountains, and other objects are constructed.
Skies and backgrounds with independent coordinate systems for independent translation and rotation.
The strength of DSG rendering is that all of the node effects are fully interoperable, limited only by practicality. For example, once a mirror DSG node is defined, mirrors are automatically supported recursively (for hall-of-mirror type effects), mirrors work with skies, mirrors work with warp portals, warp portals work with skies, etc.
Enhanced portal-based visibility system includes "antiportal" occluders, supported as two dimensional sheets or three dimensional volumes, to cull objects or portals within a zone.
Full support for hardware texturing and lighting on modern video cards (ATI? RADEON?- and NVIDIA? GeForce?-class) for the highest possible polygon throughput. In current products:
Real-time scenes of 10,000 to 100,000 or more fully textured and lit polygons in view are common.
Static mesh instanced geometry comprises the bulk of the geometry detail, often representing a third or more of overall polygon count.
Instanced geometry can either be rendered batched by material or not for additional memory usage versus frame rate flexibility.
Skeletal animated characters average 2000-3000 polygons each, driven by some 30 bones, with two to three influences per vertex.
Rendering subsystems include Direct3D, OpenGL, and now RAD Game Tools? Pixomatic software renderer for Windows PCs.
Pixomatic software renderer license now included with UnrealEngine2 license at no additional cost.

Lighting
Static lighting through the use of vertex coloring and light maps for high resolution lighting without the runtime calculation overhead.
Lights can be any color and brightness. Any object in the world can act as a light (static or dynamic).
Multiple light types are supported: directional, point lights, and spot lights.
Dynamic lighting provides vertex lighting for static and animated meshes creating realistic lighting effects.
Numerous light effects (blinking, wavering, etc.) for dynamic lights.
Projected textures allow the simulation of complex dynamic lighting and shadowing effects on all surfaces, including player shadows and flashlights.

Effects
Comprehensive particle system allows for countless diverse configurations, supporting sprites, meshes, lines, beams, all with collision, a multitude of movement, lifetime and texture options, and all manipulatable in real-time in the editor.
Fluid surfaces allow for dynamic water simulation, supporting ambient ripples, targeted oscillations (for player or other disturbances), clamping for realistic wave boundaries, surface vertex alpha blending for texture effects and more, all independent of water physics.
Distance fog provides a greater sense of depth indoors and out, while additionally improving rendering performance in large outdoor areas.
Real-time, in-engine movies (machinima) support through "Matinee" functionality provides comprehensive camera, actor and effects direction.

Terrain
Eight- and sixteen-bit heightmap terrain system allows for fast, complex terrain rendering with smooth gradients and dynamic addition and subtraction of chunks in real-time.
Texture layers allow you to have multiple textures atop the heightmap with variable eight-bit alpha for seamless transitions and easy creation of non-repeating land.
Comprehensive suite of terrain manipulation tools allows you to raise, lower, raze and flower the heightmap in real time.
Decoration layers allow for coarsely sorted flora detail such as grass.
New terrain system optimizations now available further improve rendering time and decrease memory usage.

Textures
Traditional texture mapping support on all surfaces add detail to featureless geometry to increase realism while keeping polygon counts low.
Material support allows a single surface to render multiple textures with various operations, such as panning, alpha blending, modulation and more.
Easy to use mechanism for scrolling, rotating, and scaling textures via artist settings. This feature can be used in a static or dynamic fashion for elaborate animated effects.
Detail textures add extremely close-up details to surfaces, such as fine wood grain, pock marks on brick surfaces, or scoring to metal.
Hardware accelerated, compressed, high resolution texture support allows for individual 32-bit textures of up to 2048x2048 pixels in size, while consuming significantly less video and system memory than traditional RGBA or 8-bit texture formats.
All textures support up to twelve levels of mip-mapping, including mipping down to a solid color.
Texture animation sequences with variable playback rate are also supported.

CSG Brushes
Subtractive and additive geometry allows for rapid construction of level shells on which to hang other types of geometry.
Complex geometry, limited only by practicality, can be imported from DXF or ASC files.

Static Meshes
Hardware accelerated, instanced geometry primitives allow your artists to create batches of detailed, reusable content for level designers to creatively rotate and resize into multiple diverse levels.
Properly designed static meshes ensure consistent appearance across your levels -- without areas looking identical.
A static mesh primitive can be reused throughout a level while only consuming a single instance worth in memory.
Only practical limits on polygon count.

Vertex Meshes
Keyframe-animated geometry useful for animated decorations within your levels.
Interpolation support enables perfectly fluid animation at high frame rates: an animation saved at 15FPS can be smoothly played back at 40FPS.
Tweening support allows smooth flow between disjoint animation sequences.
Only practical limits on polygon count and animation length.

Skeletal Meshes
Hierarchical skeletal animated, smooth skinned geometry ideal for animated characters and complex animated geometry in your levels.
Multiple channels of animation, each with a variable blending percentage, allows for several animations to be played simultaneously.
Hardware-accelerated smooth skinning through a vertex shader is currently being tested for further decreasing rendering time.
Improved skeletal mesh compression now available, offering an additional 50% reduction in memory usage.
No hard coded limits on polygon counts and bone counts.

Audio
Standards compliant OpenAL-based audio subsystem on Windows, Linux and Macintosh, DirectSound3D-based on Xbox.
supports 3D spatialization, attenuation, pitch and Doppler shifting
supports EAX 3.0 effects on compatible cards (exposed to both level designers and UnrealScript).
Ogg Vorbis streaming sound and music support on Windows, Linux and Macintosh, offering higher quality audio with smaller file sizes than MP3, without royalties; Windows Media Audio on Xbox.
includes OpenAL wrapper with 100% software fallback path for utmost compatibility on Windows, Linux and Macintosh.

Networking
Advanced game networking capabilities with years of refinements.
Support both small LAN games and large-scale, server-based Internet games.
Network code tolerates low-bandwidth connections with up to 300ms latency and 15% packet loss.
Gamers can travel between Unreal servers much like browsing web pages, with teleporters providing links between servers.
Automatic downloading of new content (levels, textures, sound, models, scripts) while browsing Unreal servers.
Java-style client-side scripting (simulation) enables high performance even over high latency connections.

UI and Localization
Object-oriented, highly expandable in-game UI and control system.
Customizable, hierarchical subsystem-oriented "preferences" setting dialog for run-time modification of object parameters and other engine settings.
Native support for localization of text to UNICODE via replaceable fonts.
Built-in UnrealScript and C++ support for externalization of all text, enabling non-programmer translation.

Programming
Programming APIs in C++ and UnrealScript, an interpreted, object-oriented language similar to Java:
Garbage collected.
100% portable: UnrealScript code runs on all supported platforms without recompiling.
"Everything is an object."
Safe client-side "sandbox" execution model.
Fully featured set of data types and operators.
Comprehensive script-side TCP and UDP networking support, as well as game-relation functionality such as replication, priority management, reliability and remote procedure calls.
Native language support for hierarchical finite state machines, ideal for AI and complex player code.
Complete four-way calling interface between C++ and UnrealScript, enabling development of complete projects in either language.
Rich, extensible, object-oriented class hierarchy that maps naturally onto game concepts (players, monsters, inventory, triggers, etc.).
Highly modularized and replaceable, with most Unreal game code segregated from general engine code.
C++ interface based on object model similar in style to MFC.
Supports dynamic loading of DLLs and scripts on demand for modularity and efficient memory usage.
Robust debugging environment, with VC++ debugger support, a flexible assertion system, and try-catch call stack display for tracking down errors in the field.
Built-in UnrealScript profiling, as well as comprehensive game, engine and networking performance counters.
Separate UnrealScript debugging application eases testing of complicated scripts, including breakpoints, variable watches and more.

Pricing
The following pricing options apply specifically to games published through normal channels:

Option A - License Fee and Royalty
Non-refundable, non-recoupable license fee paid on execution of agreement: US$350,000 for one of the available platforms, plus US$50,000 for each additional platform.

Royalty: 3% royalty calculated on the wholesale price of the product, less any console manufacturer license fees and/or manufacturing costs. In the case of a massively-multiplayer online game, we add language that calculates our royalty on all revenue (subscriptions, ads, traditional retail game sales, etc.) generated by the game.

Option B - License Fee, No Royalties
Non-refundable, non-recoupable license fee paid on execution of agreement: US$750,000 for one of the available platforms, plus US$100,000 for each additional platform.

Royalty: 0%

Options for mod developers, non-commercial and educational projects are coming soon!

I do like the sound of that. Probably good to put together a demo with it.

SERIOUS ENGINE:
www.croteam.com
1. Complex Architecture

The Serious Engine can render huge distances and complex architecture. It is not enough to just make things big. You need to have both large scale architecture and small scale details at the same time. We can render huge towns, beautiful terrains and complex rooms. Reconstruction of ancient Egyptian temple complex at Karnak (from Serious Sam) demonstrates sense of scale and complexity of architecture.

2. Realistic Rendering

Pictures from Serious Engine may look awkward, different from what you can see elsewhere. That's because they are filled with bright, natural colors. Serious Engine has powerful lighting and texturizing abilities, so we can avoid dark, gray, nihilistic colors. Ability to create bright, realistic scenes does not imply that dark and moody atmospheres cannot be achieved. On the contrary, Serious Engine has ability to create moody scenes at least comparable with competitive engines.

3. Both Indoor and Outdoor Environment

Today, supporting both indoor and outdoor environments is a must. Serious Engine was designed so that there is absolutely no difference between indoor and outdoor settings. Picture demonstrates both settings.

4. Loads of Enemies

Serious Engine has highly optimized physics and very advanced LOD. That combination allows tons of enemies at the same time. Recent rapid development in the area of 3D gaming has yielded lots of astonishing games. But none did reproduce the massive fight experiences so usual in 2D arcade gaming. Serious Sam takes advantage of engine's LOD algorithm and optimized physics, creating furious action in good old arcade fashion.

5. Powerful and Intuitive Editors

Both model and level editing utilities (Serious Modeler and Serious Editor) are standard windows applications. That means that you will work within known interface: standard menus, toolbars, tool tips, data tips, drag and drop, context menus, clipboard operations, multi-document environment, windows and split views, ... Employing 'What-You-See-Is-What-You-Get' paradigm and intuitive interface, Serious Editor is easy to use but powerful and professional application, what makes it a strong reason to license Serious engine.

6. Real-Time CSG Operations

Almost all 3D engines of today use CSG (constructive solid geometry) operations as main editing tool. They are very complicated mathematically and therefore processor intensive. It takes some time to perform CSG operation. Serious Editor handles CSG operation in edit time and you always work directly on the final level. That means that you don't have to compile your world and wait to see how it looks like. It is always up to date.

7. Real-Time Shadows

The Serious Engine has shadow rendering algorithms so powerful that it calculates shadows as you move lights in editor. That is extremely important when decorating interiors. You do not have to wait any more to see how your world will look. In the Serious Engine, shadows are always up to date. If you add a column, it will immediately cast shadows.

8. Embedded Game Testing

This feature confirms that Serious engine has true real-time editing tools. Embedded game testing enables you to play currently edited world in-place, inside window where you edit it. All components (textures, sounds,...) needed for game testing are already in memory and the game starts immediately. Started game is rendered using rendering preferences chosen from the Serious Editor. You can play in wireframe, with or without textures, shadows, models, etc. Embedded game testing, CSG and shadow casting in real-time save a lot time in the game development process, shortening the development cycle.

9. Multi-Direction Gravity

Advanced 6 DOF (degrees of freedom) physics of Serious engine (never seen before) introduces influence of few gravities in same time. Gravity can have variable angle and value so you can expect weirdest death-match levels (with players running across ceilings, walls, inside spheres, around cones, ...).

10. Full 6 DOF Physics

Without support for 6 DOF (degrees of freedom) and accurate rotating physics, an engine is not able to create any other gravity than standard, top-down gravity. Object cannot usually turn upside down, nor fall to the side. Physics in Serious Engine enables realistic movement when standing on rocking object (ship), multiple angled gravities, catapults, rotating platforms and similar.

11. Portal Technology

Portal technology overrides 3D space, introducing worm holes and four dimensional spaces. This cutting edge technology feature allows effects like displaying huge valleys inside tiny boxes in a room. This effect is ideal for displaying teleports or magic mirrors. Portals are not fixed, they can move or rotate. Also, in the Serious Engine, portals are not limited to a single polygon, but can also be applied to entire 3D objects.

12. Reflections

Besides simple surfaces made of stone, wood, metal and similar, Serious Engine supports reflective and semi-reflective surfaces of all kinds. Interior of a gothic chapel can be reflected in marble floor. Lake water can reflect medieval castle and surrounding scenery. Mirrors don't always have to be static, they can move and rotate.

13. Volumetric Fog

Layered fog is a must-have feature for a modern 3D game engine. Serious Engine extends this to provide fully dynamic and customizable layered fog. Fog can move, rotate, change color or density etc. in real time with no performance penalty. It can be used to create layer of fog in a room or to cover bottom of a valley with morning mist. Dynamically moving fog and vertical walls of fog are unique features of Serious Engine.

14. Haze

Haze is a natural phenomena caused by light being reflected from particles in atmosphere. Use of haze greatly contributes to reality of rendered picture. Pictures rendered without haze look synthetic and unnatural, whereas proper use of haze gives a photo-realistic look. Haze also removes difference between world and background in a way that transition between them cannot be determined.

15. Object LOD

The Heart of the Serious Engine is advanced level of detail (LOD) algorithm. With up to 32 levels of detail per object, its power allows hundreds or even thousands of objects in a scene while still maintaining a playable frame rate.

16. World LOD

By being able to manually create LOD on world, you can easily define trade-off between detail and speed based on distance. This technique is used to render buildings that are detailed in close up views, yet not eating up the speed when viewed from far away.

17. Reflection Mapping

Reflection mapping (also known as 'environment mapping') is technique that simulates reflective materials. From Serious Editor designer can create environment map that will exactly reflect certain area of the world. Combination of reflection mapping and specularity makes metallic and glass objects look the way they should, at last.

18. Specularity

Specular highlight is an effect that light creates on surfaces of shiny reflective objects. Serious Engine enables designer to define custom specularity values for material. This beautiful effect greatly improves quality of rendered pictures. It is used for metallic, plastic and glass objects.

19. Bump Mapping

Bump mapping is used to add detail to textures. Visibility of these details changes as light angle is changed. Bump mapping looks good on stone statues, wooden objects, rusted metal, etc. Serious Engine uses multi-pass emboss algorithm that can reproduce bump mapping even without dedicated hardware, and gives specular bump look, instead of ordinary diffuse bumps.

20. Split Screen Support

Up to four players can play simultaneously on same screen. They can play cooperative or deathmatch game. By extending that feature and combining it with network system, up to four players per computer can play in a network game. 'Screen in Screen' feature allows player to see actions of his teammates or to view trough camera that can be placed anywhere inside level.

21. Custom Backgrounds

Backgrounds in Serious Engine are completely custom. You can create separate part of world that will be your background. It is very easy to create realistic 360 deg. background, stormy sky background, stars traveling at high speed, backgrounds with moving objects (birds, comets, sun), etc. Only designer's imagination is a limit for background creation.

22. Lens Flares

This is a well known effect today, but yet still very beautiful. When looking in direction of a light source, eye notices lens flares or corneas around it. Lights cannot appear like lights without proper lens flares.

23. Lens Reflections

This is actually an effect caused by film cameras and photo-cameras which have multiple lenses. Modern humans are accustomed to seeing it in movies and on artistic photographs. The effect looks nice and creates convincing feeling of huge power of light source that emanates lens flares. Effect is usually seen as a series of circles and rings in spectral colors emerging from a strong light source. This is procedural effect so it is highly modifiable to create custom effects for different light sources.

24. Glaring Effect

Glaring effect is simulation of eye response to bright light. When eye looks at bright light source, biochemical mechanisms in it react in such way that the entire picture appears brighter. That happens when you try to look at the sun. It is painful and you cannot see anything but white shining. With the combination of lens reflections and this effect in Serious Engine, sun is not just a circle in the skies. It shines so strong, you can't look in that direction. This is also a procedural effect so it is highly modifiable to create custom effects for different light sources.

25. Procedural Particle System

Particles are used to create smoke trails, 3D waterfalls and many other special effects. Flexible procedural particle system implemented into Serious Engine enables you to create wide range of your own effects.

26. Directional Light

Directional light (known also as 'distant light') is light that has parallel light beams. Sun and Moon are examples of directional lights. Worlds lightened with directional lights appear very realistic and open spaces just cannot look convincing without it.

27. Model Shadows

Serious Engine can calculate shadows of models taking in account texture transparency. This it is extremely powerful tool for interior decoration. You can create model of a lamp with semi-transparent drawing on lamp planes, place light source inside lamp and drawing will produce very complicated shadows on surrounding walls. When model (like a statue) casts shadows onto world, it looks like it is part of a world and not inserted object.

28. Illuminating Polygons

Lighting engine can be told to let only beams from certain lights trough certain polygons. Skillful usage of this feature results in feeling of sun shining trough a window. It can be used for lava illumination or vitrajes.

29. Illumination Maps

This feature of shadow engine creates an effect of illuminating area on a wall. With it, believable futuristic lighted architecture, buildings and spaceships covered with thousands of tiny bright light sources can be crafted.

30. Day-Night Changes

By modifying light color in real time, having sun travel across the sky and changing the background, Serious Engine can reproduce convincing feeling of night falling. Daylight atmosphere can smoothly change into golden sunset and finally into moonlight.

31. Animating Lights

This is a classic feature implemented by all decent engines. Serious Engine has intuitive color animation editor that allows you to create your own color animations. Animating lights can be used for torch flickering, neon light pulsating, sun color changing, disco lights, etc.

32. Dark Lights

Dark lights work inverse from normal lights. Long known as a valuable tool for 3D graphics designers, Serious Engine brings this classic industry effect to the 3D gaming. Because they subtract light inside range of influence, dark lights are used to create moody atmosphere that is hard to achieve by other lighting methods.

33. Light Transition Smoothing

Special type of light is used to create smooth transitions between sectors with different ambient lights. This effects eliminates sharp transitions where two environments of different ambient intensities (like indoor and outdoor) meet.

34. Layered Texturing

Serious Engine allows up to three texture layers on each polygon. Each texture layer can be stretched, sheared, rotated and translated. One layer can, for example, be used as a hyper-texture so texture will look good from huge distance. Another layer can be used to show detail when close. Stains texture applied over base texture will completely eliminate annoying tiling.

35. Multiple Layer Mixing Modes

Texture layers can be combined through several functions. Mixing textures with different functions results in completely new look of textures. This way you can use two same textures in many combinations and produce different results.

36. Texture Coloring

Each of three texture layers can be separately colorized. Along with previous two features, texture colorizing creates a very strong texturing engine. When you mix layers with different functions, stretch them and colorize, you have feeling of creating new textures. This way you texturize whole level with few textures without getting the feeling of texture tiling or repetition.

37. Procedural Mixing

Mix function between two layers is controlled from game code. That means that you can create custom texture mixing functions and produce all kinds of texture pulsating or smooth transition from opaque to transparent. This feature is used to create special effects (room transformation, futuristic flickering, etc.).

38. Hierarchical Multipart Objects

Skin models can be combined and procedurally controlled. That way, animation of running legs can be created and attached to upper body with numerous animations. Upper body is then separately rotated around handle. Hierarchical multipart model system allows changing body parts or weapons.

39. Object Morphing

Serious Engine implements skin models with hierarhical linking. Skin models enable object morphing. You can create all kinds of enemy transformation: enemy can drop from ceiling, rise from the floor as in 'Terminator 2', transform from rock etc.

40. Animation Smoothing

The Serious Engine automatically calculates inter-frame positions for animation smoothing. This technique results in perfectly smooth object animations, while still maintaining low memory usage. Objects can switch between animations automatically at the right moment to produce continuous motion.

41. Multiple Rendering Types

Model rendering engine supports many rendering types. Designer can define polygon groups (surfaces). Each surface can have its own rendering attributes. Surface can be transparent (palms, windows), translucent (glowing signs), add (emanating objects, explosions), multiply, etc. Each surface can be full bright or double sided, can have colorized specularity, reflections or bump.

42. Texture Patches

This feature is ability of the Serious Engine to place many little textures (patches) over model's base texture. It is used to create blood stains on enemies, cracks on vases, animated patches, etc.

43. Terrain Generation

Terrain is one of primitives used for world generation. Terrain can be raised manually or can be displaced using height map. When texturized with appropriate texture map it produces believable and beautiful outdoor environments.

44. Projected Mapping

This kind of mapping seamlessly applies texture over displaced polygons. It is used when texturizing terrains (when is projected from above), caves or arcs.

45. Projective Texture Scrolling

Serious Engine supports procedural texture scrolling. Any kind of texture movement can be programmed. Projected texture scrolling enables scrolling of tiled texture over displaced surfaces. You can use projected texture scrolling to create traveling of cloud shadows over mountains and castles.

46. Water FX

This is a procedural effect that simulates movement of water. Physics of water particle movement is extremely complex but this algorithm perfectly emulates nature. As in nature, water movement is never repeated (looped). That is why water looks so different then usual repeating animations, and much better.

47. Fire FX

This is another procedural effect. It simulates physical behaviour of fire particles. Result is a convincing, non looping fire, with blazes and sparks outbursting from it in a natural fashion.

48. Plasma FX

This procedural feature can be used to create wide range of effects: lightning, burning, waterfall simulation, dancing particles, fountains, etc. Procedural system allows programming of new effects if needed. Creative designer can produce spectacular effects by using different plasmas.

49. Variable Friction

Friction is a physical parameter of a surface that enables or disables sliding. It makes a difference between walking on firm ground, skating on ice or suddenly stepping on a banana skin. Custom friction parameters are defined for any surface (ground, ice, stone, sand etc.), and each polygon then uses one of those.

50. Force Fields and Contents

Content types are usual in today's engines. But Serious Engine is not limited to a given set of predefined ones. Force fields are used to create areas where definable virtual force affects you. Some areas of a level can have different contents (lava, water, etc.).

51. Event Driven AI Language

Complete new language has been created for easier AI programming. It is C++ based language with incorporated event handling system. This language enables easy programming of complex AI behaviour.

52. 32 Bit Textures

All textures in Serious Engine are stored in 32 bit color, but the rendering engine supports both 16-bit and 32-bit rendering, and 16-bit and 32-bit textures. This enables user to balance between picture quality and speed. Special 'optimal mode' for texture quality is used by default, which uses 32-bits only for those textures and shadows which will actually benefit from it, while still maintaining performance much better then in full 32-bit mode. That is specially suitable for middle ranged accelerators that can render 32-bit textures, but not fast enough to have it all in 32-bit.

53. Still Frame Effect

You can freeze action and watch it from different angles (just like in famous 'Matrix' movie). Examine all the details of paused frame: projectiles in the air along with smoke trails, freezed explosions, enemies stopped in moment of attacking, grenades in the air,... The feeling is impressive.

54. Powerful Sound Support

Serious Engine features a high quality custom sound engine. It supports: HRTF (head related transfer function), IID (interaural intensity difference), ITD (interaural time difference), doppler effect and speed of sound. Only when you first hear a rocket whizzing past your ear you start to enjoy real 3D sound experience. Speed of sound is a unique feature of Serious Engine. When a rocket explodes very far away, you first see the explosion and then you hear the sound.

55. Load/Save in Multiplayer

For the first time in world of 3D engines, Serious Engine is able to save multiplayer game and continue it afterwards. This feature along with multiple angled gravity, 6 DOF physics and split screen results in complete new multiplayer experience.

56. Level Transition

Serious Engine implements smart level transition system. It enables multiple level entrances and exits. When you exit world, situation is freezed so it will be continued when you return. Using this feature you can create complex world connection structures.

57. MP3 Music

Serious Engine can play MP3 music files using Amp11lib player library. This is better than using CD tracks, since music can be controlled during the game and the files are much smaller in size. It cuts down the developement cycle for musicians and at the same time allows interactive music changes.

58. Multi Language Support

To support world-wide distribution, Serious Engine is enabled with localization support. Text is extracted directly from code and worlds using a custom tool and then translated. It supports incremental translations after code or data changes or updates.

59. Dynamic music

Serious Engine can change music according to certain events. For example, peace music is played when there are no enemies in sight, but when they attack, it switches over to more adrenaline pumping music. You can define several levels of music dynamics that are switched according to enemy count and their strength.

Skeletal animation.

Quake and Quake2 engines.

Free from Id software.
http://www.idsoftware.com

can be downloaded from above site.
Rather primitive really, 8-bit colour pallettes errr there both 3d and there are some very nice engine mods available built on top of these, the previously mentioned tenebrae being one.

Auran Jet
http://www.auran.com/jet/

DirectX 8.0 and OpenGL Support

Jet's rendering architecture abstracts the hardware and API to include support for Microsoft DirectX 8.0 and OpenGL 1.2. This allows applications to be written to Jet's rendering API without concern for the underlying hardware API ultimately used.

3D Studio Max v2.5-4.0 Mesh and Animation Exporter Plugin

Provided with Jet are 3D Studio Max plugins for exporting meshes and animations into Jet's native format. The mesh exporter supports exporting standard indexed meshes and progressively reducing meshes. Separate plugin versions are provided to support 3D Studio Max versions 2.5 through 4.0.

Alias | Wavefront Maya v3.0-4.0 Mesh and Animation Exporter Plugin
Provided with Jet are Alias | Wavefront plugins for exporting meshes and animations into Jet's native format. The mesh exporter supports exporting standard indexed meshes and progressively reducing meshes. Separate plugin versions are provided to support Alias | Wavefront Maya versions 3.0 through 4.0.

Extensive Animation System

Jet provides a skeletal key-framed animation system supporting additional features such as:

Queueing - Animations may be buffered for playing one after another;
Interpolation - Bone positions and orientations are interpolated between keyframes to ensure the animation is smooth, regardless of the framerate;
Blending - Two or more animations may be blended together, either to transition from one animation to another, or simply to create a new animation;
Sub-bone Animation - Animations may be selectively applied to specific bones (and their children) enabling, for example, a character to wave while walking, running or riding a horse; and
Event Syncronization - A variety of event types may be attached to selected animation frames to synchronize attachments, sound effects, code, and similar.
The Animation example, as seen here, demonstrates the sub-bone animation where the arm crosses the chest whilst the character is running, these animations seemlessly blended together at run time.

Object Attachment Support
Objects in a 3D scene may be attached to other objects at pre-determined attachment points. For rendering and animation purposes, attached objects are considered child objects. Thus, the movement of a sword attached to a character's hand is relative to the movement and animation of the character and its hand.

Hardware Transform and Lighting
Jet's renderer makes full use of any hardware texture and lighting (T&L) support detected.

Bump Mapping Support

Jet's renderer provides support for bump mapped materials on appropriate hardware. The Bump Mapping example demonstrates the Auran Jet logo protruding from a blue sphere. In this example the effects of a parallel light or omni light, as shown to the right, can be observed.

Cubic Environment Mapping Support

Cubic environment mapping is supported by Jet on appropriate hardware. The Cubic Envrionment Mapping example, as shown to the right, demonstrates a sphere that reflects its environment inside a textured box.

Dynamic Lighting Support
Jet's scene management provides support for dynamic lighting. Numerous types of light; including ambient, omni, parallel, and spot; may be added to a 3D scene. Optimized routines are used to determine and calculate the dynamic effects of these lights on objects in the scene.

Particle Effects System

Jet's particle effects system provides classes for managing particle emitters and dynamic modifiers. Individual emitters and modifiers are implemented as plugins promoting extensibility and reuse. The point, disc, rectangle, and ribbon emitters are provided as defaults, each of which may be modified using the color, field, swirl, or custom modifiers.

Multi-Texturing Support

Jet supports and abstracts multi-texturing extensions to DirectX and OpenGL. The Multi-texture example shows an object which is made up of two chunks. One chunk, the red end, is a simple NoTextureMaterial. The rest of the capsule uses a gloss material, which has three textures. A base diffuse texture, an alpha map texture and a reflective (in this case a spherical map) texture. The alpha texture is used to mask where the reflective texture will be applied. In this example, half of the alpha texture is full value and half is zero, therefore creating the appearence of the reflective texture only being on half of the chunk.

Progressive Mesh Reduction Support

Jet uses progressive mesh reduction to provide level of detail (LOD) support. Appropriate meshes can have their detail dynamically reduced in code. Progressive reduction can be setup to occur according to a mesh's distance from the camera, as a result of dynamically balancing an entire scene, or directly in code.

Projected Texture Support

Projected textures are supported by Jet on appropriate hardware. The Projected Texture example demonstrates the Auran Jet logo projected onto a teapot. Projected textures could also be used to cast "light" of an arbitrary shape, for example, dynamically casting light from a stained glass window onto other objects.

Vertex Program Support

Jet supports the use of vertex programs (a.k.a. vertex shaders) on appropriate hardware. Vertex programs enable custom 'programs' to be executed on vertices in the graphics hardware. The Vertex Program example demonstrates some animated grass and a flag in simulated wind.

Volumetric Shadow Support

Jet's lighting manager supports the generation of volumetric shadows. Thus, objects can cast their own shadow onto other objects. This can be seen in the Dynamic Lighting Manager example, where the green ball's shadow falls onto the white box.

Physics and Collision System Extension

This extension system provides an implementation of a functional physics and collision system. It will not be suitable for all applications as efficient physics and collision handling is very application dependent. The source code provided with this implementation illustrates how such a system might be built onto Jet when custom handling is required. The Collision example uses this system to create a box containing spheres which collide with one another and the box's walls.

Primitive Objects

A range of primitive objects are provided for rendering geometric shapes; line, plane, box, cone, cylinder, ellipse, ellipsoid, circle, sphere, etc. These are very useful for visual debugging. The Primitive Objects example demonstrates some of these classes which can be displayed in wireframe or solid and with different colors. The Primitive Objects example also demonstrates how to create custom geometric objects that are textured and lit.

Sprite System

The sprite system allows developers to create custom interfaces, overlays and other 2D elements. The Sprite example uses the Auran Jet logo to demonstrate the movement, rotation, sizing, and priority ordering of individual sprites.

Multiple Viewports
Multiple viewports can be created and positioned, sized and ordered by the developer to create, for example, a split screen for multi-player games or windows-on-windows. Simultaneously, each viewport can render from different camera perspectives or from cameras in different world
Price: USD$ 136.50 (Non-Commercial)
US$30,000 (commercial)

Submitted by Fluffy CatFood on Fri, 12/09/03 - 7:26 AMPermalink

I realise that not everyone wants 3d or fps type games so I will dig up some info on other types of technology :)

Submitted by Fluffy CatFood on Wed, 01/10/03 - 11:52 AMPermalink

http://catmother.sourceforge.net/

I havent looked over this one much, but basically catmother is a game dev company that went bust so they decided to release their tech, free
I'm not sure of the exact license, I'll get back to it tomorrow.

Submitted by Fluffy CatFood on Sun, 04/01/04 - 1:32 AMPermalink

http://www.ca3d-engine.de/

This looks great and runs really well, still a few bugs though and still a lot more features to come,

Features:

Ca3D-Engine
High-quality, real-time 3D graphics
OpenGL hardware-accelerated rendering
BSP, PVS and Portal-based rendering
Naturally aligned textures
Cube-mapped skies (environment maps)
BMP, TGA, PNG and WAD file formats for all textures
MipMap application and linear filtering for both minification and magnification
Transparency (for glass, water, fences, grates, ...)
Particle Effect Engine
Resource management for efficient sharing of common textures, models, data, ...
"PreCaching" of resources for stutter-free animations

Multi-player network support
New, amazingly fast internet network code!
Optimized for minimum bandwidth requirements
Integrated tightly into Ca3DE (no unnecessary overhead of general-purpose network libraries)
Full client prediction (for movement, events, and weapons)
Delta compression for network packets

State-of-the-art lighting technology
First engine ever to combine LightMaps with dynamic lighting effects!
Radiosity-based, physically correct(!) lighting
Dynamic, shader-driven, per-pixel lighting for both worlds and models
Stencil buffer shadow volumes (everything casts shadows on everything!)
Support for diffuse-, normal-, bump-, specular-, and luminance-maps
Support for ATI and NVidia programmable GPUs and shaders
Shader-driven, multi-textured or 2-pass LightMap rendering
Soon: Spherical Harmonic Lighting...

Skeleton-based model rendering

Can hierarchically combine sub- and super-models
Can blend animations (e.g. the mixing of different upper and lower body animations)

Sound and music support

Employs FMOD
3D stereo sounds
Doppler effects
Can play MP3 and ogg-vorbis music files

Command Console access for in-game configuration
Display resolution and mode (full-screen or windowed) can be changed "in-game"

Realistic physics modeling for all world entities
Natural player movement
Accurate collision detection
6 degrees of freedom
Acceleration, Friction, Gravity, Water, Ladders, ...

Great portability, flexibility and easy extensibility
Well designed and documented C++ source code
Cross-platform and cross-compiler portable
Runs on Windows 95, 98, ME, NT, 2000, and XP
Runs on Linux
Dynamic link libraries (DLLs) control the engine
Simple to use interfaces make it easy to create entirely new games or applications (MODs) with Ca3DE
Development kit is freely available, including all tools and detailed documentation

Naturally, this list is not meant to be complete. The Ca3D-Engine is under constant development, and as such, it is best to regularly download and try out the latest demo.

Map compiling tools
The Ca3D-Engine operates with "worlds". Worlds are preprocessed input files, generated by a sequence of programs. Among these, are the three compiling tools, CaBSP, CaPVS and CaLight. To a large degree, these are responsible for the Ca3D-Engine's power, and each has interesting features of its own. Here is a very short overview from a users perspective:
CaBSP
builds the BSP tree,
removes outer parts of worlds, and
runs optimization passes for an ideal geometry.

CaPVS
pre-calculates the Potentially Visibility Set (PVS): one of the key features that makes Ca3DE so fast.

CaLight
Lightmap calculations are based on physically correct principles, thus adding a high degree of realism to the worlds.

Submitted by souri on Sun, 04/01/04 - 2:51 AMPermalink

[url="http://www.cubeengine.com/index.php4"]Cube Engine[/url]

Allows in-engine editing of geometry in full 3D (you fly around the map, point / drag stuff to select it / modify it), which can even be done simultaneously with others in multiplayer (a first!). Has simplistic but effective fine grain vertex lighting that looks like lightmapping and can do dynamic lights & shadows. Doesn't need any kind of map precompilation, even lighting is done on the fly. Has very simplistic quad-tree world structure that can do slopes (heightfields with caps) and slants, water, does decent collision detection & physics, has client/server networking that goes a long way in giving a lag-free game experience, and features a Doom/Quake-style singleplayer (2 game modes, savegames) and multiplayer (12 game modes, master server / server browser, demo recording) game with some uncompromising brutal oldskool gameplay.

Submitted by Fluffy CatFood on Tue, 28/09/04 - 7:51 AMPermalink

Finally, I remembered to include some non 3d engines:

ADVENTURE GAME STUDIO

http://www.adventuregamestudio.co.uk/

Designed for making 2d point and click adventure games

So, is AGS for you? Well, that depends what you want to do. It is designed to create adventure games, in the classic point-and-click style. It is not designed to make platformers, straight RPG's, or any other type of game (although simple arcade sequences are of course possible).

As an overall summary of the features, we have:

Windows-based IDE for creating your games as quickly and easily as possible. For screenshots of the IDE, have a quick browse of the beginners' tutorial.
Native Windows, Linux (x86) and MS-DOS versions of the game engine, to maximise the number of people who can play your game.
Powerful "C"-style scripting language if you don't like point-and-click. But don't worry, most stuff can be done with your mouse in the editor instead if you prefer.
In the graphics arena, 256-colour, 16-bit colour and 32-bit colour are all supported - either go for that retro feel, or enjoy the benefits of no palette! It's up to you. Alpha-blended sprites are supported in 32-bit colour games.
Screen resolutions of 320x200, 320x240, 640x400, 640x480, and 800x600 are supported. Your game can be run full-screen or in a window.
For sound and music, you can use OGG, MP3, WAV, MOD, XM and MIDI files. Ambient location-dependant sounds, automatic footstep sounds, multiple sound channels and crossfading between music tracks are supported too.
Easily create talkie games if you like - speech is compiled into a single data file, which you can distribute as an optional download.
Point-and-click setting of reactions to game events, or a powerful C-like scripting language if you so prefer.
Easy inventory management - just define all the items in the editor, then use simple Give and Lose commands during the game.
Almost everything is customizable, from the GUI you use to the mouse cursor graphics. A standard Sierra GUI is supplied, but user-made templates of other GUIs can be downloaded.
Have up to 150 characters roaming your world - they each have their own inventory and can be smoothly scaled and lit in different areas. 2, 4 and 8-directional walking animations are supported.
Multiple player characters, such as in Maniac Mansion and Day of the Tentacle, are possible too.
Scrolling rooms are supported by simply importing an image larger than the screen resolution.
Lucasarts-style conversation system should you want to use it.
Translations of your game to other languages are easy to make, and can be distributed seperately as add-on packs.
Plugin system which allows more advanced developers to add extra functionality to AGS.
Compile your game into a single EXE file for distribution. Digital music and voice samples can also be compiled into seperate files to allow for optional downloads. You can of course set a custom icon for the produced EXE file.
The game script is compiled to byte-code when you save the game, to maximise the speed of the engine.
All the standard things you would expect, such as game Save and Load features, automatic pathfinding, sprite mirroring, walk-behinds, hotspots, objects, cutscenes, animations, timers, and so forth.
If you decide that AGS is for you, then visit the Download and Tutorial pages to get started.

Game Maker.

http://www.cs.uu.nl/people/markov/gmaker/index.html

Cool for making 2d sprite based games like in the days of the SNES, I downloaded it and it seems easy to use, havent given it a proper bash yet.

Submitted by sub on Sun, 24/07/05 - 11:57 AMPermalink

Game Maker is fantastic.. i have gone leaps and bounds since using this tool.. also the community is enormous.. i recommend it to anybody wanting to make an arcade game especially but you can use it to make much, much more than simple 2D games (but yes, it makes them very well!)

version 6.1 is the latest & best version.. DON'T BE PUT OFF THAT IT NEEDS REGESTRATION.. the tool comes 99% complete, it is more than enough to do almost anything u need to do, the reg version just unlocks extra eyecandy and CD accessing etc..

A GREAT TOOL FOR BEGINNERS ALSO (uses drag n drop commands AND code)

if u get it.. just add me to msn and i will help you [B)]
>> flavour_injecter@hotmail.com

Submitted by mcdrewski on Sun, 24/07/05 - 8:27 PMPermalink

me109 - that linked image is now prompting for student login... :(

Submitted by Rohan on Wed, 28/12/05 - 4:13 PMPermalink

*gasps in shock*

No one mentioned Ogre!
http://ogre3d.org
LGPLed and EXTREMELY powerful - easily comparable to commercial engines and it has been used in commercial games. I've used Irrlicht, own Auran Jet, looked at Crystal Space and also Ca3D, but if you take a good free physics engine (ODE) or use an existing game framework based on Ogre's graphics you really can't go wrong.

Ca3D didn't seem that special - the GPL engine QFusion is better IMHO, or just use Quake 3 ;)
Irrlicht was ok but Ogre is much more powerful in the long run and faster too.
Crystal Space looked complex - I stayed away from it as a result
Jet would be great if Auran finally got around to releasing a newer version... Jet 1.1 is easily eclipsed by Ogre or even QFusion or Quake 3. It most definately wasn't a good purchase which is unfortunate :(

btw, QFusion is based on Quake 2 but is nearly a clone of Quake 3 and it has new features too. It came out before Q3 hence my enthusiasm towards it - Q3 development is progressing rather slowly unfortunately.
http://sourceforge.net/projects/l33t/
If you're after a 'ready to go' engine - not much beats this one or Quake 3.

Submitted by lorien on Thu, 05/01/06 - 8:51 AMPermalink

quote:Originally posted by Rohan

*gasps in shock*

No one mentioned Ogre!
http://ogre3d.org
LGPLed and EXTREMELY powerful

You've hit a big problem with OGRE. It's VERY cool, but to comply with the LGPL you have to make all your object code publicly available.

If anyone feels like making some trouble try asking Bioware for all the object code to NWN- the Linux and Mac versions use SDL (which is LGPLed). Legally they have to give it to you, but I doubt they'd want to very much at all.

Submitted by lorien on Fri, 06/01/06 - 12:19 AMPermalink

quote:Originally posted by mcdrewski

AFAIK, *L*GPL [url="http://en.wikipedia.org/wiki/LGPL"]does not require that at all[/url].

See the preamble
quote:
If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.

and section 5
quote:
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.

However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.

When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.

If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)

Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.

It's not quite as harsh as I made it sound, but you have to be very careful about the header files you include from an LGPL lib or you could wind up in lots of trouble.

IMHO the LGPL needs revision to make it friendly for commercial use.

Submitted by mcdrewski on Fri, 06/01/06 - 1:17 AMPermalink

most LGPL use I've seen uses dynamic linking, meaning that that clause is moot. if you can drop in a new (compatible) .dll you satisfy the requirements.

Submitted by Rohan on Fri, 06/01/06 - 2:19 AMPermalink

lorien:
I think you have managed to confuse LGPL with GPL. LGPL means you only need to release your changes to the original code. eg. If you change the Ogre engine you only have to release those changes - not the rest of your code. Ogre has been used in commercial games this way as the LGPL allows for commercial use in closed source projects. GPL however *does* require you to release all your source for whoever wants it regardless of how little was changed. It's also difficult to circumvent as you have to put your code in a DLL that isn't required for your program to function. IMHO I can't see any problems with that license, share and improve I say.

There's been lots of discussions on this topic at QuakeSrc.org especially regarding GPL, LGPL etc

Submitted by lorien on Fri, 06/01/06 - 5:55 AMPermalink

quote:Originally posted by Rohan

lorien:
I think you have managed to confuse LGPL with GPL. LGPL means you only need to release your changes to the original code. eg. If you change the Ogre engine you only have to release those changes - not the rest of your code. Ogre has been used in commercial games this way as the LGPL allows for commercial use in closed source projects. GPL however *does* require you to release all your source for whoever wants it regardless of how little was changed. It's also difficult to circumvent as you have to put your code in a DLL that isn't required for your program to function. IMHO I can't see any problems with that license, share and improve I say.

There's been lots of discussions on this topic at QuakeSrc.org especially regarding GPL, LGPL etc

I'm certainly not confused between the two. Those quotes are from the LGPL 2.1, as come in /usr/portage/licenses on every Gentoo Linux system.

I agree mcdrewski- that clause doesn't make much sense, which is why I think the LGPL needs revising.

The key point in that clause is inlined code. If your c++ LGPL lib has user written templates in it then you have lots of inlined code from an LGPL lib in your object files, and those object files will be covered by the LGPL is how I read it.

Grover is very concerned about this aspect of the LGPL too (calls it "LGPL Hell" I seem to remember)

Submitted by Rohan on Fri, 06/01/06 - 10:17 AMPermalink

Heh... ok. It just sounded like you were refering to the GPL. Anyway... I'm going off what I know and what I know says that people have used it commercially - Why would they risk open sourcing a closed source game just because of some technicality?

I reckon you could download the precompiled Ogre SDK, make a commercial game and still be compliant. If not then go bug the makers of those commercial games for their source [:P]

Submitted by Dragoon on Fri, 06/01/06 - 9:51 PMPermalink

From the site linked by mcdrewski:

quote: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, Statically linked library is allowed if either source code or linkable object files are provided.

Ie. LGPL does not extend to dynamically linked software if that software also works with other (newer / modified) versions of the library if they are binary compatible. API changes to the LGPL library would mean it is effectively a "different" library for these purposes. It does not extend to statically linked software if you provide a re-linking mechanism or source code for compilation.

You can use an LGPL'd engine with a your own project provided that it is dynamically linked. That is the intention of the LGPL. That is what it is for. You can argue technicalities in wording all you like however.

If you however modified an LGPL library for your project and dynamically linked it, then you are obligated to release the source to only the LGPL library.

The Ogre team make specific comments about this on their license page:
http://www.ogre3d.org/index.php?option=com_content&task=view&id=15&Item…

No need to go spreading false information.

Another comment that should be made is that obligated to distribute source (to the modified LGPL library) does not mean to ANYONE. Only to people to whom you have distributed derived works (though you can distribute to anyone if you like). In the case of a commercial bought boxed game, this is only to those people who have obtained the box (ie a copy) via legal means.

Submitted by lorien on Mon, 09/01/06 - 12:10 AMPermalink

Sorry Dragoon, I disagree, and accusing me of spreading false information when I posted the exact text of the license is not a way to make friends. There aren't too many people that are fans of python and bigworld, and that have used swig and/or boost to extend python in a games context btw, and I find the complete lack of info in your profile rather interesting.

That OGRE link you provided on the LGPL also says quote:The above is a precis, please read the full license agreement before downloading any source.

The interaction between open and closed code is a nightmare. Normally what matters is what the authors say you can do with their code. But the GPL and LGPL give rights to everyone, and this object code thing is one of those rights.

Sure it's OK to use LGPL code in commercial products, but you had better know what you are responsible for when you do so imho. I think most of us have seen what happens to companies that breach the GPL- I wouldn't want to be on the receiving end of that sort of thing is what I'm saying.

Submitted by Dragoon on Mon, 09/01/06 - 9:24 PMPermalink

Geez get over the personal attacks already. Why should I post information in my profile? Is it a rule of Sumea that I do?

Where do you derive "your" expert knowledge on the LGPL license from - have you had a specialist software copyright lawyer explain it to you? Do you know why the LGPL was created (intent is very important in law)?

From the history of the GPL link below:

quote:
"New library license We should by now have finished a new alternative General Public License for certain GNU libraries. This license permits linking the libraries into proprietary executables under certain conditions. The new library license actually represents a strategic retreat. We would prefer to insist as much as possible that programs based on GNU software must themselves be free. However, in the case of libraries, we found that insisting they be used only in free software tended to discourage use of the libraries, rather than encourage free applications. So, while we hope the new library license will help promote the development of free libraries, we have to regret that it was necessary. We will also be releasing a version 2 of the ordinary GPL. There are no real changes in its policies, but we hope to clarify points that have led to misunderstanding and sometimes unnecessary worry. "

Heres a list of reading for you:
http://www.free-soft.org/gpl_history/
http://www.intevation.de/pipermail/freegis-list/2003-August/001480.html
http://www.winehq.com/site/history

No I'm not a lawyer but a search on google regarding the LGPL provides countless examples of software using it, licensed under it and their interpretation of the LPL, and the purpose and history of the LGPL.

Telling people not to use Ogre for example because of the LGPL is doing the people who wrote the Ogre engine a great disservice. Sure you need to understand your obligations re the LGPL licensing of it, but those don't include making your source code available if you link to the Ogre libraries dynamically and fulfill the obligations of the LGPL.

In reality people can use LGPL software in their programs without too much worry is all I want to say. It isn't such a big problem as some are making it out to be on the web (a vocal minority).

PS: why hijack a thread about possible game engines with licensing issues? why not start another thread. Souri should come in and clean out the cruft from this sticky.

Edit: perhaps I should clarify the misinformation, you said:

quote:
You've hit a big problem with OGRE. It's VERY cool, but to comply with the LGPL you have to make all your object code publicly available.

If anyone feels like making some trouble try asking Bioware for all the object code to NWN- the Linux and Mac versions use SDL (which is LGPLed). Legally they have to give it to you, but I doubt they'd want to very much at all.

Ogre is dynamically linked to your app (unless you change it) hence you do not have to make object code available to allow relinking. All you need to do is allow them to drop in a new binary compatible Ogre DLL, a matter of simply copying.

Is NWN statically linked to the SDL? If so then they do by the license, if not they don't.

Submitted by Rohan on Mon, 09/01/06 - 9:56 PMPermalink

quote:Telling people not to use Ogre for example because of the LGPL is doing the people who wrote the Ogre engine a great disservice. Sure you need to understand your obligations re the LGPL licensing of it, but those don't include making your source code available if you link to the Ogre libraries dynamically and fulfill the obligations of the LGPL.

Amen to that! Ogre is quite well licenced, especially in comparison to other languages of it's quality. There's a site that lists game engines (http://www.devmaster.net/engines/) - Ogre is at the top for free engines, while the Torque Engine tops the other list. Is Ogre up to the quality of the Torque Engine or even Epic's Unreal Engine with regards to graphics? I believe so - the problem is Epic can afford artists todo kickass art that shows off their technology better [:P] While graphically Ogre hammers Torque quite convincingly - You have to pay for Torque yet it doesn't support the latest technology unless you shell out extra for it.

Want a free engine comparable to Epic's one or Torque then?
Graphics/Input : Ogre (or Irrlicht - it's really easy to use)
Physics : ODE (Only open source physics I know of)
Sound : OpenAL (There could be alternatives to this too)
Networking : RakNet (I think you can get a free commercial use licence) or HawkNL

Anything missing? That engine would be compatible on a wide variety of platforms too, you could even port most of it to a console or an entirely different platform given that those libraries are open source.

quote:If anyone feels like making some trouble try asking Bioware for all the object code to NWN- the Linux and Mac versions use SDL (which is LGPLed). Legally they have to give it to you, but I doubt they'd want to very much at all.

Bioware don't have to give you anything - They may have used SDL but so do many other commercial games. I doubt they'd use a library that required them to release the source to their games [:P] They probably have a horde of lawyers to back em up with this too [xx(]

LGPL can equal OK for commercial use - Games like Ankh or Supremacy: Four Paths To Power prove that. They use Ogre yet are commercial, closed source games.

I'm not flaming here - just presenting the facts. You don't have to spend heaps of money to get a good engine, most of the time it's the art of the 'superior' engines that makes them look better. Give an artist an engine and I think you'll find they'll make just as good stuff with a free one as they would with a pro engine. Even something as technically old as Quake 2 or 3 look great when in the right hands. Naturally looks aren't everything and IMHO the libraries I mentioned above form a pretty dang good complete, free, commercial quality engine.

Submitted by lorien on Wed, 11/01/06 - 5:57 AMPermalink

quote:Originally posted by Dragoon

Geez get over the personal attacks already. Why should I post information in my profile? Is it a rule of Sumea that I do?

Of course not. But you're the one who started with personal attacks and you've come close a few times before. Makes me start thinking about who you might be. We met in Canberra didn't we? Having used Jet too is a bit of a hint.

quote:
Where do you derive "your" expert knowledge on the LGPL license from - have you had a specialist software copyright lawyer explain it to you? Do you know why the LGPL was created (intent is very important in law)?

Long years of using open source software. I've been using gcc since 1996 for example, and I compile my entire OS from source(gentoo). I was thinking about intent shortly after posting actually, imho the major intent of both the GPL and LGPL (and a major intention of the Free Software Foundation itself) is protecting free software.

From the history of the GPL link below:

quote:
"New library license We should by now have finished a new alternative General Public License for certain GNU libraries. This license permits linking the libraries into proprietary executables under certain conditions. The new library license actually represents a strategic retreat. We would prefer to insist as much as possible that programs based on GNU software must themselves be free. However, in the case of libraries, we found that insisting they be used only in free software tended to discourage use of the libraries, rather than encourage free applications. So, while we hope the new library license will help promote the development of free libraries, we have to regret that it was necessary. We will also be releasing a version 2 of the ordinary GPL. There are no real changes in its policies, but we hope to clarify points that have led to misunderstanding and sometimes unnecessary worry. "

Which is why they are working on version 3, and hopefully they'll clear up this mess in the LGPL while they're at it. I think the "strategic retreat" wasn't far enough.

quote:
Heres a list of reading for you:
http://www.free-soft.org/gpl_history/
http://www.intevation.de/pipermail/freegis-list/2003-August/001480.html
http://www.winehq.com/site/history

No I'm not a lawyer but a search on google regarding the LGPL provides countless examples of software using it, licensed under it and their interpretation of the LPL, and the purpose and history of the LGPL.

The purpose of the LGPL is to encourage use of free libs, while protecting open source software. That doesn't make it a free ride for commercial developers. I've never seen an LGPL lib used in a Microsoft product for example (but please let me know of any).

quote:

Telling people not to use Ogre for example because of the LGPL is doing the people who wrote the Ogre engine a great disservice. Sure you need to understand your obligations re the LGPL licensing of it, but those don't include making your source code available if you link to the Ogre libraries dynamically and fulfill the obligations of the LGPL.

I didn't say "don't use Ogre", I said "you have to be very careful about the header files you include from an LGPL lib or you could wind up in lots of trouble."

quote:
In reality people can use LGPL software in their programs without too much worry is all I want to say. It isn't such a big problem as some are making it out to be on the web (a vocal minority).

PS: why hijack a thread about possible game engines with licensing issues? why not start another thread. Souri should come in and clean out the cruft from this sticky.

And I suppose you were wondering why I got annoyed with you... Here's a hint: trying to discredit someone of > 400 posts who is using their own name and has lots of info in the profile doesn't work too well if you're staying anonymous and have 30 posts yourself. Common decency would be to let me know who you are.

As for talking about licensing in a thread about engines IMHO it's completely on topic. Personal attacks are not, and mine was a reaction.

As for your other comments I also said that I'd been a bit harsh about the LGPL, and corrected myself when I posted the actual text. I would talk to a lawyer before using LGPL code in a commercial app myself.

PS I can't believe I'm getting hassled for suggesting that a major license could do with a revision to make it friendlier to commercial developers!

Submitted by Dragoon on Wed, 11/01/06 - 10:27 AMPermalink

Well, I was perhaps a bit harsh in my reply. My apologies. I don't see how the LGPL is commercially unfriendly, only that the terminology is not 100% clear and open to interpretation, and hence unfriendly. Microsoft have policies against using the GPL/LGPL internally I believe, but they do make some of their software interoperate with JBoss (LGPL) and release Interix under the GPL, and have sponsored projects licensed under the LGPL. Microsoft is only one commercial company, Sun Microsystems and IBM are major players that do use many LGPL libraries however.

From the Ogre point of view, I can imagine the LGPL providing an ideal license type. A more liberal license (BSD) would allow commercial companies to use Ogre and modify it without releasing anything back to the Ogre dev team (Microsofts TCP/IP stack was originally ripped from one of the BSDs), and a more restrictive license would prevent any interest at all from commercial companies and even hobbyists who feel that they might some day want to commercialise their projects. Under the LGPL a hobbyist or developer only has to release changes to Ogre if they eventually distribute it, their source and project can be released under a licensce of their choice, and if they don't want to do that they could negotiate a seperate license type with the Ogre team.

I still believe this thread isn't the place for a licensing discussion re engines. The license should be noted, but adds a lot of posts to wade through when someone is looking for the engines. A discussion of licences should be in a separate thread.

Submitted by amckern on Sat, 14/01/06 - 2:50 AMPermalink

Quake 3

ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip (GPL)

http://en.wikipedia.org/wiki/Quake_III_engine - more info here then on the idsite - so have a read and see if its what your after.

quote:
Engine features

The Quake 3 engine loads 3D models in the MD3 format. The format used vertex movements (sometimes called per-vertex animation) as opposed to skeletal animation in order to store animation. The animation features in the MD3 format were superior to those in Quake 2's MD2 format because the animator was able to have numbers of keyframes per second be lower and higher than 10 keyframes per second. This allows for more complex animations that are less "shaky" than the models found in Quake 2.

Another important feature about the MD3 format is that models are broken up into 3 different parts which are anchored to each other. Typically, this is used to separate the head, torso and legs so that each part can move independently for sake of procedural animation. Each part of the model has its own texture, though you cannot use multiple.

The character models are lit and shaded using gouraud shading while the levels (stored in the BSP format) are lit either with lightmaps or gouraud shading depending on the user's preference. The engine is able to take colored lights from the lightmap and apply them to the models, resulting in a lighting quality that was, for its time, very advanced.

The engine is capable of two different kinds of shadows. One is able to cast a detailed shadow based on a specified light source and the other just puts a circle with faded edges at the characters' feet.

Other features included a high-level shader language and a method for rendering fog.

Ritual Entertainment added support for the MD4 model format for use in the game, Heavy Metal: F.A.K.K.?. The MD4 format featured full skeletal animation support. In the GPLed version of the Source-code, most of the code dealing with the MD4 format was removed, though it was added back in by someone who used the pseudonym Gongo. More information about the MD4 format can be found at his site.

Submitted by Twinsen on Sat, 17/06/06 - 11:00 AMPermalink

I must add too, for any1 interested I have personally tried irrlicht and OGRE3D, irrlicht is very well structured and suitied for begginers into programing and gamedev, its quite powerfull too and open source, great learning place to start off from. Ogre I have been using for about 4-5 months now and this as probably everyone already knows is extremely powerfull, fast and very OOP structured graphics engine, well suited for the intermediate to advanced programmer.

Submitted by voxel on Sun, 08/10/06 - 2:46 PMPermalink

I quite like OGRE, but like all 3D "graphics engine" it is designed around a traditional First/Third Person Shooter pipeline.

OGRE's 3D tool pipeline (exporters) is good. A large portion of building a game is art tool related.

Panda3D is pretty good too. A little heavy on the Python (less flashy) and more suited to the ToonTown like networked games than FPSes.

Submitted by Targos on Thu, 18/01/07 - 3:58 AMPermalink

Hi guys, it seems that most of you are developing on PC?
______________________________________

If you are developing on mac, and at this stage are more keen on single player games rather than multiplayer, you should check out unity3d.com.
______________________________________________

If you use maya as well, your pipeline is seamless. It outputs both pc and mac games, though console dev is slow/possible/a maybe due to licensing I believe.
_________________________________________________
I brought a Unity indie license(yeehaa) and recently a game I made for a comp earned me an additional 8month license. I intend to sell my 8month license. So if you are interested in an 8month unity indie license, have a mac, like the look of unity, Im selling my license.(I'll never sell my lifetime license)________________________________________________________________________________________________________________________________________________________________________I posted some work here-some of you might have seen my other post______________________
____________________________________________________________________________________http://rapidshare.com/files/10212723/TheOasis2006.zip.html
For a MacOSX Universal Binary Build

http://rapidshare.com/files/8988908/TheOasis2006WindowsXP.zip
For Same as Windows XP Build

Or

http://rapidshare.com/files/11371804/Online_Gallery_.html

To see the work in Art gallery style. please note, if you want to view the gallery, you will need the UnityWebplayer plugin. The gallery works on mac and PC.____________________________________________________________________________________________________________________________________________________In my game the car is badly moddeled and the physics doesnt work too well, the intro is unskippable, and it requires some patience. This is my first 3d game, and its a solo effort(some models are supplied with unity)__________________________________________________________________________Hope you consider thye unity engine as it makes life easy, the support forum is legendary too
AC

I figured I'd start a list, to help people find out about what is available out there for them to create their games.

http://irrlicht.sourceforge.net/index.html
The Irrlicht engine
The best part about this engine is its license
Features: (Copied From website)

The Irrlicht Engine is a high performance open source and cross platform 3D engine for creating realtime 3D applications. Its main targets are to be easy to use, extremely fast, extensible and crash safe.

Its main features are: (Note that the engine is currently in development. Take a look at the development site to see the progress.)

High performance realtime 3D rendering using Direct3D and OpenGL [more]
Platform independent. Runs on Windows95, 98, NT, 2000, XP and Linux.[more]
Seamless indoor and outdoor mixing through highly customizeable scene mangagment. [more]
Character animation system with skeletal and morph target animation. [more]
Particle effects, billboards, light maps, environment mapping, stencil buffer shadows, and lots of other special effects. [more]
Platform and driver independent fast software renderer included. It features z-buffer, gouraud shading, alpha-blending and transparency, fast 2D drawing.
Powerful, customizeable and easy to use 2D GUI System with Buttons, Lists, Edit boxes, ..
2D drawing functions like alpha blending, color key based blitting, font drawing and mixing 3D with 2D graphics.
Clean, easy to understand and well documentated API, written in pure C++ and totally object orientated.
Direct import of common mesh file formats: Maya (.obj), 3DStudio (.3ds), Milkshape (.ms3d), Quake 3 levels (.bsp), Quake2 models (.md2), ... [more]
Direct import of Textures: Windows Bitmap (.bmp), Adope Photoshop (.psd), JPEG File Interchange Format (.jpg), Truevision Targa (.tga), ... [more]
Fast and easy collision detection and response.
Optimized fast 3D math and container template libraries.
Directly reading from (compressed) archives. (.zip)
Unicode support for easy localisation.
Works with Microsofts VisualStudio6.0?, VisualStudio.NET?, Metrowerks Codewarrior, and Bloodshed Dev-C++ with g++3.2.
The engine is open source and totally free. You can debug it, fix bugs and even change things you do not like. And you do not have to publish your changes: The engine is licensed under the zlib licence, not the GPL or the LGPL.

http://neoengine.sourceforge.net/
The Neoengine

Features: (From Site)
free
Here are the current working features of the latest version of NeoEngine
Platforms:
Win32
GNU/Linux
MacOS X
FreeBSD
Rendering Subsystem:
BSP and octatree space partition schemes
Advanced scene graph
Extensive material language
Multitexturing
Skeletal animation
Mesh animation
Dynamic shadows
Orthographic projection for 2D-style overlays
Font rendering with text formatting
OpenGL backend
DirectX backend
General Subsystems:
Collision detection framework
Particle systems
Rigid-body physics simulation
Audio Subsystem:
Audio converters including mixer
Audio sampletable
Audio codecs (WAV,OGG)
Audio player
OSS audio plugin
WinDIB audio plugin
Network Subsystem:
TCP/IP socket wrappers
Misc
Package file support with bzip2 compression (custom format through plugins)
Custom texture file formats through plugin architecture (png, jpeg, tga, bmp)
Tools and converters
Converters from Q3 maps (.bsp) and models (.md3)
Converter from Doom3 models and animations (.md5mesh, .md5anim)
Converters from 3DSMax (.3ds), Lightwave (.lwo) and Milkshape (.ms3d)
Exporter for Maya 4.x
Extensions
Chunk file format I/O library with easy-to-extend syntax and parser

AMP2 Engine

http://www.4drulers.com/

Features:
Real-time 3D corridor renderer. The Six degrees of freedom allows the user to create full 3D environments, like first and third person shooters, 3D architectural walkthroughs, virtually any 3D simulation.
Per Pixel Lighting. The engine uses per pixel dynamic lighting, not preprocessed low resolution shade maps such as the Quake series engines or Unreal engine. This next generation lighting allows for bump mapping, specular lighting and stencil shadowing. Characters and the environments are now rendered and cast shadows the in the same pipeline, so characters, map objects and level geometry are all treated the same and are rendered in the most realistic methods possible using the latest hardware.
Bump mapping. Bump maps will give the appearance of real depth in a surface, allowing for fine detail like fingernails, wrinkles, beard stubble, rivets, weapon details, carpet, anything you can imagine under a few inches in real world depth can be simulated correctly with a bump map. Bump mapping helps eliminate texture tiling also, and time can be saved because world textures no longer need fake shadows and lighting painted into them, just color is needed in texture maps now.
Specular lighting. By using a texture, you can control exactly how shiny each pixel of a surface is. Chrome, and shiny metals have never before looked so realistic in any game engine.
Stencil Shadowing. Realistic stencil shadowing allows shadows to cast off of characters and the world itself. These shadows cast onto other surfaces and wrap around up a wall, or onto mutliple surfaces, just like real shadows work. Other engines try to fake shadows with projection blobs on characters and by using shade maps which are a big waste of texture memory. Don't settle for anything less than real time stencil shadowing in your game.
Projection Textures. By using a texture in conjunction with a light source, you can create very detailed soft shadow effects like mini blinds, or make custom shaped lights by filtering them through an image.
Fog Flares. Nearly any shape of lense flares are now possible, so volumetric lights, spot lights, rectangular glows, etc can all be created for the ultimate lens flare effects.
Texturing. AMP II allows up to 1024x1024 32 bit textures. It supports TGA, PNG, BMP, and DMT file formats.
Texture Memory Management System. The engine has texture compression and scalable texture depth to lower texture memory requirements.
Shader System. Create "shader effects" which manipulates a texture for fantastic surface effects. Panning, scaling, glowing, pulsing, rotating, flickering, animated, and other effects are all possible. These are useful for panning text or static on a computer screen, light bulbs flickering on and off, pulsing glowing surfaces like lava, practically anything you can imagine. Used in conjuntion with lighting effects can produce stunning visuals.
3D character renderer with skeletal animation system. Skeletal animation system allows for the most realistic animations possible. Use 3D Studio Max's standard animation system, Bones, Character Studio or motion capture to bring characters and animated objects to life. The engine also has a velocity setting to slow your characters' walk down to match his current speed, so you can tweak how fast a player moves without redoing run and walk animations. Also polygons can be assigned to multiple bones which gives a nice elastic appearance at the joints.
Realistic light sourcing with shadows. Every light in AMP II is dynamic, meaning there are no pre-calcuated lights. This makes it possible to destroy lights, move lights, apply shaders to lights, etc, at no extra rendering expense. Per pixel lighting allows users to control the lighting of their surfaces at a per pixel level and also allows using smoothing groups and normal maps. This allows for soft round lit surfaces, or hard edges on corners, or anywhere in between just like smoothing groups work in 3D rendering packages such as 3D Studio Max. Colored lights are allowed as well.
Particle system. An advanced particle system allows creation of sparks, smoke, dust, muzzleflashes, flamethrower effects, weapon effects, etc.
Portal Rendering. Portal rendering allows for viewing of levels almost instantly versus older BSP engines which sometimes took hours or even days of preprocessing times. It is also much easier to work with and more efficient than BSP rendering engines. Simply make a 90 degree turn in a corridor, and it perfectly cuts off what isn't visable.
OpenGL based rendering.
Includes Wire (tm) networking library which powered the ultra smooth net play for Gore ?Ultimate Soldier. (tm)
Support for Nvidia GeForce 3 and higher.
Support for ATI Radeon 9600 and higher.

--------------------------------------------------------------------------------
EDITING PACKAGE
--------------------------------------------------------------------------------

Level Editor for creating world geometry. Comes with standard primitive brush tools, a powerful draw mode where you simply draw your rooms out, and a lofter for creating pipes, trim, any lofted shape you desire. Draw mode can be used to place waypoints, light sources, or any entity types.
Not limited to convex brushes, concave brushes are allowed.
Powerful CSG construction - move doorways, windows, rooms after they've been placed.
Hierarchial model / animation editing.
3D Studio Max 5 plugin. Create models, map objects, animations, bump maps, normal maps, even complex brushes can be imported into the editor using this plugin. One click and your model is in the engine ready to go.
ASE model Importer. Open or Import .ASE files for those who want to use packages other than 3D Studio Max to create models.
Text editor. Built in text editor allows you to edit your scripts from within the level editing packages for quick code changes.
debug log window for easy debugging of problems.
Map object support. Streamline and speed your production by creating lots of pre-built map objects.
Display Filters. Use display filters to only display what you want to see. Any type of brush or entity can be hidden or even disabled so it doesn't show up in the editor or the game. Hide that pesky attic so you can work on the main floor without visual obstructions. Disable an old portion of your map to try a new portion out.
Real time preview in the editor. Now you can see the game level fully lit in the editor without loading the game.

--------------------------------------------------------------------------------
GAME CODE SUPPORT LIBRARY
--------------------------------------------------------------------------------

More info coming soon.

--------------------------------------------------------------------------------
LICENSING OPTIONS
--------------------------------------------------------------------------------

Personal license $200. Limited to use on one computer system by one person. Games made with this license can be distributed through our upcoming shareware plan, released for free on the internet, submitted to publishers, used for non profit purposes. They cannot be sold, marketed or published without a professional license unless you opt to use our upcoming shareware plan. Comes with forum access for support.
Professional license $2000.00 . Limited to use on one computer system by one person. Customer can sell, market or distribute or publish their game. Comes with forum access and 30 days of email support.
Professional unlimited seat license $25,000.00. If you have a large team and don't want to worry about how many copies of AMP II you can use or install, then this is the package for you. The package comes with forum and email support, plus tool source code!
Professional source $40,000.00. Full engine and tool source code allows serious developers to modify anything they wish, rendering code, networking, tools, etc.
Email support $500.00 per year. Will answer emailed questions within 1-2 working business days.
Tool Source code. $5,000.00 Customize the editor and tools to fit your own needs.
All licensing options come with the full featured tool kit, demo art and level resources, examples, tutorials, private user forum access, full documentation and more! Everything you need (besides art programs) to create professional quality games is included! Other game engines of this quality can cost up to $1,000,000.00 to license and a royalty fee must be paid as well.

http://www.tenebrae2.com/
Engine not available yet
Older version is though

Tenebrae is a modification of the quake source that adds stencil shadows and per pixel lights to quake. Stencil shadows allow for realistic shadow effects on every object in the game world. Per pixel lighting allows you to have fine surface details correctly lit. These are essentially the same algorithms as used by the new Doom game.

I'll be back with more later, please contribute to this list everyone.
I'll try and dig up the prices for the big engines as well :)
If your making your own engine list its features here :)


Submitted by tachyon on Thu, 11/09/03 - 8:06 AMPermalink

Another pretty popular open source engine is crystal space

http://crystal.sourceforge.net/

(from website)
Crystal Space is a free 6DOF portal based engine (based on the LGPL license). Current features are:

General Architecture:

True 6DOF engine with arbitrary sloped convex polygons.

Flexible plugin system which allows for plugging in other modules including scripting languages. Python and LUA scripting plugins are already included. There are also various other plugins (fonts, sound, ...).

Crystal Space uses SCF for communication between several layers (like between the 3D Engine and the 3D Rasterizer). This allows plug-and-play capabilities and other nice stuff.

Support for 15/16-bit truecolor) and 32-bit (truecolor) displays.
Crystal Space has commandline arguments and can run at many resolutions (640x480, 800x600, ...).

Very configurable via commandline or configuration file.

C++ source (and optional assembler) is available. Crystal Space falls under the LGPL GNU copyleft license for libraries which means that the engine can be used in commercial products provided you can conform to the LGPL license (no, you DON'T have to release the source of your game if you use CS).

cs-config script to make it easier for external applications to use CS.
Textures and Texture Mapping:

Textures can have any size which is a power of two and they need not be square.

Crystal Space supports textures with various formats including GIF, TGA, PNG, BMP, JPG, and others.

It is possible to map a texture on a polygon in various ways (rotated, scaled, mirrored, ...).

Perspective correct texture mapping with interpolation every 16 pixels.

Transparent and semi-transparent textures allowing for see-through water surfaces and windows.

In addition to the usual lightmapped textures you can also use triangles which are gouroud shaded.

Mipmapping to minimize memory strain on the texture cache and to have nicer looking textures when a polygon is far away.

Support for dynamic textures (i.e. texture that you can render on and put on a polygon as well as normal textures).

Support for internal 24-bit textures with a private colormap for every texture or true 24-bit.

Multi-texturing with OpenGL.
Engine Features:

Dynamic gouroud shaded sky dome (half-sphere) for a very realistic and nice looking sky. With very little programming it is possible to have a moving sun which actually modifies the color of the sky in real-time.

Support for multi-layered and animated skyboxes and skydomes.

Landscape engine.

Crystal Space supports mirrors!

With mirrors and alpha mapping you can create really nice shiny or reflecting surfaces.

Static colored lights with real shadows. Lighting and shadows are precalculated before the world is displayed.

Dynamic colored lights with soft shadows!

Precalculated Radiosity on the Lightmaps!

3D triangle mesh sprites with frame animation. Convertors for Milkshape, Maya, Cal3d, 3DS, Quake MDL and Quake II MD2 formats to Crystal Space are included. Importers for 3DS, MDL, MD2, OBJ, POV, and ASE are also included. The meshes are actually progressive meshes allowing for dynamic LOD (level of detail) changes. There is also support for skeletal sprites.

2D sprites and a particle system using those 2D sprites.

Depth-correct colored volumetric fog in sectors (both software and hardware renderers).

Optional halo's around lights for nice atmospheric effects. Also support for lens-flares.

Support for curved surfaces (Beziers, ...).

Visibility system based on a combination of portals, kd-tree, and coverage buffer.

Hardware accelerated transforms (if available and with OpenGL) for 3D triangle mesh sprites, curved surfaces, and terrain engine.
Portability:

Currently Crystal Space has been ported to Unix (X Windows, OpenGL), GNU/Linux (X Windows, SVGALIB, SDL, and OpenGL), Macintosh OS/X (also with OpenGL), Windows 32-bit (DirectDraw and OpenGL).

Optional OpenGL hardware acceleration on Windows, GNU/Linux, and Macintosh OS/X. The OpenGL port has been tested with Mesa on GNU/Linux and works very well. The other OpenGL ports will also work well.

Optional MMX support for processors that support it.
File Format Support:

Crystal Space can directly load 3DS, MDL, MD2, ASE, OBJ, or POV objects.

Powerful XML world file format allowing you to easily redefine the world.

Levels can be stored in standard compressed ZIP archives so that you can easily make a bundle of one level.

It's possible to make libraries of objects, textures and other game related stuff and put it all in a seperate ZIP file.

A convertor to convert MAP files (from Quake/HalfLife) to CS is also included. You can use this to edit levels with QuarK/WorldCraft or other editors.

Convertors to convert Maya, Milkshape, or 3DS to models or levels is included.

Several Blender scripts (Python) are included to export models and levels from within Blender.
Various Other Features:

Font system plugin to support other font types. Currently CS fonts and truetype fonts are supported.

Moving objects and a (currently limited) script language controlling the movement.

Hierarchical bounding box collision detection system.

Powerful physics library using ODE is included too. It is a dynamics modeling and simulation engine.

Sound support.

Support for 3D sound (DS3D, EAX, A3D, ...).

Support for various sound formats: WAV, Ogg/Vorbis, AU, AIFF, IFF, and MOD (using MikMod).

Simple networking support for Windows, GNU/Linux and Unix (sockets based).

There is also an input/output console (like in Quake) that can be activated with the 'tab' key.
Here are things which are currently in progress:

Work on a new advanced OpenGL renderer which uses
hardware to its fullest including vertex shaders and dynamic shadows.

Further work on Dynavis: the visibility culler.

Here are several things that we plan to do for Crystal Space in the near future:
We will start working on a general LOD (Level Of Detail) manager in CS.

Submitted by Fluffy CatFood on Fri, 12/09/03 - 7:16 AMPermalink

UnrealEngine2
http://udn.epicgames.com/pub/Engine/WebHome/
Big and expensive

Four distinct geometry types allow for highly detailed levels with reduced design time through instanced, reusable content.
Adaptable to several different game types including but not limited to First Person Shooters, to Real Time Strategies, to 3rd Person Action Adventure.

UnrealEd
UnrealEd is a real-time level design tool based on constructive solid geometry, optimized through its use in multiple released games for building real-time 3D environments.
UnrealEd is fully integrated into the Unreal engine: the camera views are What You See Is What You Get. All lighting, texture placement and geometry operations take place immediately, providing extremely fast feedback while building levels.
UnrealEd allows for visual editing of properties of objects.
You are always one click away from play-testing your level on both PC and Xbox.
Tabbed "browser" windows allow fast and easy selection and manipulation of geometry and content.

Licensee Community
The Unreal Developer Network site serves not only as a hub for engine documentation and support, but licensee contributions of information and code as well. Examples of licensee-provided enhancements available:
Macros and syntax highlighting for various editors and IDEs
Enhanced package manipulation, obfuscation and compression tools
Editor improvements such as a new particle system editor, an animated texture browser, a 3D rotation gizmo, view-corrected 3D dragging and more
Sample full-screen video and video texture support using RAD Game Tools? Bink
Sample environmental bump-mapping support
Sample hardware vertex and pixel shader support utilizing ATI?s RenderMonkey tools for fast artist/programmer collaboration on shaders
New skeletal mesh compression code and optimized terrain rendering code
Many Xbox workflow tools that we can?t tell you about
Tons of sample snippets, like root motion, ribbon emitters, camera effects, asynchronous file access, light-averaging player shadows and more!
Active, real-time chat with other licensees for fast, informal assistance with technical and content questions, Xbox and PS2 help, as well as offering private channels for your own team.
"Wiki" editing allows for free-form and structured collaboration with other licensees directly on UDN itself, either working on individual documents and specifications, establishing private webs, or installing the software and UDN templates locally.
CVS repositories provide clean, pre-prepared engine codedrops alongside the official milestone releases, up-to-date with all bugfixes and patches.

Deliverables and Licensing
Full, commented C++ and UnrealScript source code and binaries for everything.
Read/write access to the Unreal Developer Network support site, with documentation on much of the engine, source code and tools contributed by other licensees, and more.
Access to the Unreal technical and content creation mailing lists to discuss questions and issues with other licensees and Epic Games.
All Unreal Tournament 2003 source code for example purposes only.
All Unreal Championship (Xbox) source code for example purposes only (console licensing restrictions apply).
Updates for the duration of the license period.

Portability and Consoles
Highly modular, object-oriented foundation with few hard coded limits maintains portability and allows the Unreal engine to evolve through many generations of technological advances.
Unreal runs well on and is optimized for Windows PC, Macintosh (OS X 10.2.6+), GNU/Linux-x86 PC and Xbox.
Playstation2 and Gamecube source also available.
64-bit Windows and Linux ports using AMD Hammer x86-64 also available.

AI
Built-in state-based AI support for advanced creatures and bots.
Bots know how to use all player movement options, weapons and inventory.
Bots know how to use switches, ladders, navigate past platforms, use doors, snipe and more.
Physics-based AI makes complex actor movement straightforward.
Animation system ties into AI via notification system, with animation playing, blending, tweening, looping, and other triggers, such as footstep sounds.
Pathnode-based AI navigation system supports complex route evaluation, alarm points, and more.
AI properties are exposed to level designers for setting up patrol routes, individual creature moods and more.

Physics
Integrated physics-driven animation eases network programming and animation replication.
Collision cylinders provide highly optimized collision detection for humanoid characters and items.
Convex collision volumes allow for simplified, optimized collision for geometrically complex map areas.
Integrated Karma 1.2 rigid body physics engine by Mathengine allows for ragdoll physics, dual vehicle physics systems and more.
Karma license now included with UnrealEngine2 license at no additional cost.
Optional Karma 1.3 integration also available at no additional cost.

Rendering
Revamped renderer expands upon the proven dynamic scene graph technology of the previous generation Unreal engine.
DSG (dynamic scene graph) is a natural extension of portal technology. A dynamic scene graph consists of a root node, corresponding to the player?s immediate surroundings, and a hierarchical tree of child nodes. Each DSG node has a coordinate system transformation, clipping volume, and other rendering state associated with it. Unreal?s rendering engine constructs a dynamic scene graph on-the-fly as each frame is rendered. New scene graph nodes are generated as the viewer?s visibility propagates outward through portals. Scene graph nodes are the basic building blocks of many realistic effects and special effects, such as:
Mirror surfaces.
Semi-reflective materials, such as marble surfaces which partially reflect light.
Non-Euclidean, redirectable "warp" portal effects for seeing through teleporters.
Seeing through windows into an infinite sky zone in which a sky, planets, mountains, and other objects are constructed.
Skies and backgrounds with independent coordinate systems for independent translation and rotation.
The strength of DSG rendering is that all of the node effects are fully interoperable, limited only by practicality. For example, once a mirror DSG node is defined, mirrors are automatically supported recursively (for hall-of-mirror type effects), mirrors work with skies, mirrors work with warp portals, warp portals work with skies, etc.
Enhanced portal-based visibility system includes "antiportal" occluders, supported as two dimensional sheets or three dimensional volumes, to cull objects or portals within a zone.
Full support for hardware texturing and lighting on modern video cards (ATI? RADEON?- and NVIDIA? GeForce?-class) for the highest possible polygon throughput. In current products:
Real-time scenes of 10,000 to 100,000 or more fully textured and lit polygons in view are common.
Static mesh instanced geometry comprises the bulk of the geometry detail, often representing a third or more of overall polygon count.
Instanced geometry can either be rendered batched by material or not for additional memory usage versus frame rate flexibility.
Skeletal animated characters average 2000-3000 polygons each, driven by some 30 bones, with two to three influences per vertex.
Rendering subsystems include Direct3D, OpenGL, and now RAD Game Tools? Pixomatic software renderer for Windows PCs.
Pixomatic software renderer license now included with UnrealEngine2 license at no additional cost.

Lighting
Static lighting through the use of vertex coloring and light maps for high resolution lighting without the runtime calculation overhead.
Lights can be any color and brightness. Any object in the world can act as a light (static or dynamic).
Multiple light types are supported: directional, point lights, and spot lights.
Dynamic lighting provides vertex lighting for static and animated meshes creating realistic lighting effects.
Numerous light effects (blinking, wavering, etc.) for dynamic lights.
Projected textures allow the simulation of complex dynamic lighting and shadowing effects on all surfaces, including player shadows and flashlights.

Effects
Comprehensive particle system allows for countless diverse configurations, supporting sprites, meshes, lines, beams, all with collision, a multitude of movement, lifetime and texture options, and all manipulatable in real-time in the editor.
Fluid surfaces allow for dynamic water simulation, supporting ambient ripples, targeted oscillations (for player or other disturbances), clamping for realistic wave boundaries, surface vertex alpha blending for texture effects and more, all independent of water physics.
Distance fog provides a greater sense of depth indoors and out, while additionally improving rendering performance in large outdoor areas.
Real-time, in-engine movies (machinima) support through "Matinee" functionality provides comprehensive camera, actor and effects direction.

Terrain
Eight- and sixteen-bit heightmap terrain system allows for fast, complex terrain rendering with smooth gradients and dynamic addition and subtraction of chunks in real-time.
Texture layers allow you to have multiple textures atop the heightmap with variable eight-bit alpha for seamless transitions and easy creation of non-repeating land.
Comprehensive suite of terrain manipulation tools allows you to raise, lower, raze and flower the heightmap in real time.
Decoration layers allow for coarsely sorted flora detail such as grass.
New terrain system optimizations now available further improve rendering time and decrease memory usage.

Textures
Traditional texture mapping support on all surfaces add detail to featureless geometry to increase realism while keeping polygon counts low.
Material support allows a single surface to render multiple textures with various operations, such as panning, alpha blending, modulation and more.
Easy to use mechanism for scrolling, rotating, and scaling textures via artist settings. This feature can be used in a static or dynamic fashion for elaborate animated effects.
Detail textures add extremely close-up details to surfaces, such as fine wood grain, pock marks on brick surfaces, or scoring to metal.
Hardware accelerated, compressed, high resolution texture support allows for individual 32-bit textures of up to 2048x2048 pixels in size, while consuming significantly less video and system memory than traditional RGBA or 8-bit texture formats.
All textures support up to twelve levels of mip-mapping, including mipping down to a solid color.
Texture animation sequences with variable playback rate are also supported.

CSG Brushes
Subtractive and additive geometry allows for rapid construction of level shells on which to hang other types of geometry.
Complex geometry, limited only by practicality, can be imported from DXF or ASC files.

Static Meshes
Hardware accelerated, instanced geometry primitives allow your artists to create batches of detailed, reusable content for level designers to creatively rotate and resize into multiple diverse levels.
Properly designed static meshes ensure consistent appearance across your levels -- without areas looking identical.
A static mesh primitive can be reused throughout a level while only consuming a single instance worth in memory.
Only practical limits on polygon count.

Vertex Meshes
Keyframe-animated geometry useful for animated decorations within your levels.
Interpolation support enables perfectly fluid animation at high frame rates: an animation saved at 15FPS can be smoothly played back at 40FPS.
Tweening support allows smooth flow between disjoint animation sequences.
Only practical limits on polygon count and animation length.

Skeletal Meshes
Hierarchical skeletal animated, smooth skinned geometry ideal for animated characters and complex animated geometry in your levels.
Multiple channels of animation, each with a variable blending percentage, allows for several animations to be played simultaneously.
Hardware-accelerated smooth skinning through a vertex shader is currently being tested for further decreasing rendering time.
Improved skeletal mesh compression now available, offering an additional 50% reduction in memory usage.
No hard coded limits on polygon counts and bone counts.

Audio
Standards compliant OpenAL-based audio subsystem on Windows, Linux and Macintosh, DirectSound3D-based on Xbox.
supports 3D spatialization, attenuation, pitch and Doppler shifting
supports EAX 3.0 effects on compatible cards (exposed to both level designers and UnrealScript).
Ogg Vorbis streaming sound and music support on Windows, Linux and Macintosh, offering higher quality audio with smaller file sizes than MP3, without royalties; Windows Media Audio on Xbox.
includes OpenAL wrapper with 100% software fallback path for utmost compatibility on Windows, Linux and Macintosh.

Networking
Advanced game networking capabilities with years of refinements.
Support both small LAN games and large-scale, server-based Internet games.
Network code tolerates low-bandwidth connections with up to 300ms latency and 15% packet loss.
Gamers can travel between Unreal servers much like browsing web pages, with teleporters providing links between servers.
Automatic downloading of new content (levels, textures, sound, models, scripts) while browsing Unreal servers.
Java-style client-side scripting (simulation) enables high performance even over high latency connections.

UI and Localization
Object-oriented, highly expandable in-game UI and control system.
Customizable, hierarchical subsystem-oriented "preferences" setting dialog for run-time modification of object parameters and other engine settings.
Native support for localization of text to UNICODE via replaceable fonts.
Built-in UnrealScript and C++ support for externalization of all text, enabling non-programmer translation.

Programming
Programming APIs in C++ and UnrealScript, an interpreted, object-oriented language similar to Java:
Garbage collected.
100% portable: UnrealScript code runs on all supported platforms without recompiling.
"Everything is an object."
Safe client-side "sandbox" execution model.
Fully featured set of data types and operators.
Comprehensive script-side TCP and UDP networking support, as well as game-relation functionality such as replication, priority management, reliability and remote procedure calls.
Native language support for hierarchical finite state machines, ideal for AI and complex player code.
Complete four-way calling interface between C++ and UnrealScript, enabling development of complete projects in either language.
Rich, extensible, object-oriented class hierarchy that maps naturally onto game concepts (players, monsters, inventory, triggers, etc.).
Highly modularized and replaceable, with most Unreal game code segregated from general engine code.
C++ interface based on object model similar in style to MFC.
Supports dynamic loading of DLLs and scripts on demand for modularity and efficient memory usage.
Robust debugging environment, with VC++ debugger support, a flexible assertion system, and try-catch call stack display for tracking down errors in the field.
Built-in UnrealScript profiling, as well as comprehensive game, engine and networking performance counters.
Separate UnrealScript debugging application eases testing of complicated scripts, including breakpoints, variable watches and more.

Pricing
The following pricing options apply specifically to games published through normal channels:

Option A - License Fee and Royalty
Non-refundable, non-recoupable license fee paid on execution of agreement: US$350,000 for one of the available platforms, plus US$50,000 for each additional platform.

Royalty: 3% royalty calculated on the wholesale price of the product, less any console manufacturer license fees and/or manufacturing costs. In the case of a massively-multiplayer online game, we add language that calculates our royalty on all revenue (subscriptions, ads, traditional retail game sales, etc.) generated by the game.

Option B - License Fee, No Royalties
Non-refundable, non-recoupable license fee paid on execution of agreement: US$750,000 for one of the available platforms, plus US$100,000 for each additional platform.

Royalty: 0%

Options for mod developers, non-commercial and educational projects are coming soon!

I do like the sound of that. Probably good to put together a demo with it.

SERIOUS ENGINE:
www.croteam.com
1. Complex Architecture

The Serious Engine can render huge distances and complex architecture. It is not enough to just make things big. You need to have both large scale architecture and small scale details at the same time. We can render huge towns, beautiful terrains and complex rooms. Reconstruction of ancient Egyptian temple complex at Karnak (from Serious Sam) demonstrates sense of scale and complexity of architecture.

2. Realistic Rendering

Pictures from Serious Engine may look awkward, different from what you can see elsewhere. That's because they are filled with bright, natural colors. Serious Engine has powerful lighting and texturizing abilities, so we can avoid dark, gray, nihilistic colors. Ability to create bright, realistic scenes does not imply that dark and moody atmospheres cannot be achieved. On the contrary, Serious Engine has ability to create moody scenes at least comparable with competitive engines.

3. Both Indoor and Outdoor Environment

Today, supporting both indoor and outdoor environments is a must. Serious Engine was designed so that there is absolutely no difference between indoor and outdoor settings. Picture demonstrates both settings.

4. Loads of Enemies

Serious Engine has highly optimized physics and very advanced LOD. That combination allows tons of enemies at the same time. Recent rapid development in the area of 3D gaming has yielded lots of astonishing games. But none did reproduce the massive fight experiences so usual in 2D arcade gaming. Serious Sam takes advantage of engine's LOD algorithm and optimized physics, creating furious action in good old arcade fashion.

5. Powerful and Intuitive Editors

Both model and level editing utilities (Serious Modeler and Serious Editor) are standard windows applications. That means that you will work within known interface: standard menus, toolbars, tool tips, data tips, drag and drop, context menus, clipboard operations, multi-document environment, windows and split views, ... Employing 'What-You-See-Is-What-You-Get' paradigm and intuitive interface, Serious Editor is easy to use but powerful and professional application, what makes it a strong reason to license Serious engine.

6. Real-Time CSG Operations

Almost all 3D engines of today use CSG (constructive solid geometry) operations as main editing tool. They are very complicated mathematically and therefore processor intensive. It takes some time to perform CSG operation. Serious Editor handles CSG operation in edit time and you always work directly on the final level. That means that you don't have to compile your world and wait to see how it looks like. It is always up to date.

7. Real-Time Shadows

The Serious Engine has shadow rendering algorithms so powerful that it calculates shadows as you move lights in editor. That is extremely important when decorating interiors. You do not have to wait any more to see how your world will look. In the Serious Engine, shadows are always up to date. If you add a column, it will immediately cast shadows.

8. Embedded Game Testing

This feature confirms that Serious engine has true real-time editing tools. Embedded game testing enables you to play currently edited world in-place, inside window where you edit it. All components (textures, sounds,...) needed for game testing are already in memory and the game starts immediately. Started game is rendered using rendering preferences chosen from the Serious Editor. You can play in wireframe, with or without textures, shadows, models, etc. Embedded game testing, CSG and shadow casting in real-time save a lot time in the game development process, shortening the development cycle.

9. Multi-Direction Gravity

Advanced 6 DOF (degrees of freedom) physics of Serious engine (never seen before) introduces influence of few gravities in same time. Gravity can have variable angle and value so you can expect weirdest death-match levels (with players running across ceilings, walls, inside spheres, around cones, ...).

10. Full 6 DOF Physics

Without support for 6 DOF (degrees of freedom) and accurate rotating physics, an engine is not able to create any other gravity than standard, top-down gravity. Object cannot usually turn upside down, nor fall to the side. Physics in Serious Engine enables realistic movement when standing on rocking object (ship), multiple angled gravities, catapults, rotating platforms and similar.

11. Portal Technology

Portal technology overrides 3D space, introducing worm holes and four dimensional spaces. This cutting edge technology feature allows effects like displaying huge valleys inside tiny boxes in a room. This effect is ideal for displaying teleports or magic mirrors. Portals are not fixed, they can move or rotate. Also, in the Serious Engine, portals are not limited to a single polygon, but can also be applied to entire 3D objects.

12. Reflections

Besides simple surfaces made of stone, wood, metal and similar, Serious Engine supports reflective and semi-reflective surfaces of all kinds. Interior of a gothic chapel can be reflected in marble floor. Lake water can reflect medieval castle and surrounding scenery. Mirrors don't always have to be static, they can move and rotate.

13. Volumetric Fog

Layered fog is a must-have feature for a modern 3D game engine. Serious Engine extends this to provide fully dynamic and customizable layered fog. Fog can move, rotate, change color or density etc. in real time with no performance penalty. It can be used to create layer of fog in a room or to cover bottom of a valley with morning mist. Dynamically moving fog and vertical walls of fog are unique features of Serious Engine.

14. Haze

Haze is a natural phenomena caused by light being reflected from particles in atmosphere. Use of haze greatly contributes to reality of rendered picture. Pictures rendered without haze look synthetic and unnatural, whereas proper use of haze gives a photo-realistic look. Haze also removes difference between world and background in a way that transition between them cannot be determined.

15. Object LOD

The Heart of the Serious Engine is advanced level of detail (LOD) algorithm. With up to 32 levels of detail per object, its power allows hundreds or even thousands of objects in a scene while still maintaining a playable frame rate.

16. World LOD

By being able to manually create LOD on world, you can easily define trade-off between detail and speed based on distance. This technique is used to render buildings that are detailed in close up views, yet not eating up the speed when viewed from far away.

17. Reflection Mapping

Reflection mapping (also known as 'environment mapping') is technique that simulates reflective materials. From Serious Editor designer can create environment map that will exactly reflect certain area of the world. Combination of reflection mapping and specularity makes metallic and glass objects look the way they should, at last.

18. Specularity

Specular highlight is an effect that light creates on surfaces of shiny reflective objects. Serious Engine enables designer to define custom specularity values for material. This beautiful effect greatly improves quality of rendered pictures. It is used for metallic, plastic and glass objects.

19. Bump Mapping

Bump mapping is used to add detail to textures. Visibility of these details changes as light angle is changed. Bump mapping looks good on stone statues, wooden objects, rusted metal, etc. Serious Engine uses multi-pass emboss algorithm that can reproduce bump mapping even without dedicated hardware, and gives specular bump look, instead of ordinary diffuse bumps.

20. Split Screen Support

Up to four players can play simultaneously on same screen. They can play cooperative or deathmatch game. By extending that feature and combining it with network system, up to four players per computer can play in a network game. 'Screen in Screen' feature allows player to see actions of his teammates or to view trough camera that can be placed anywhere inside level.

21. Custom Backgrounds

Backgrounds in Serious Engine are completely custom. You can create separate part of world that will be your background. It is very easy to create realistic 360 deg. background, stormy sky background, stars traveling at high speed, backgrounds with moving objects (birds, comets, sun), etc. Only designer's imagination is a limit for background creation.

22. Lens Flares

This is a well known effect today, but yet still very beautiful. When looking in direction of a light source, eye notices lens flares or corneas around it. Lights cannot appear like lights without proper lens flares.

23. Lens Reflections

This is actually an effect caused by film cameras and photo-cameras which have multiple lenses. Modern humans are accustomed to seeing it in movies and on artistic photographs. The effect looks nice and creates convincing feeling of huge power of light source that emanates lens flares. Effect is usually seen as a series of circles and rings in spectral colors emerging from a strong light source. This is procedural effect so it is highly modifiable to create custom effects for different light sources.

24. Glaring Effect

Glaring effect is simulation of eye response to bright light. When eye looks at bright light source, biochemical mechanisms in it react in such way that the entire picture appears brighter. That happens when you try to look at the sun. It is painful and you cannot see anything but white shining. With the combination of lens reflections and this effect in Serious Engine, sun is not just a circle in the skies. It shines so strong, you can't look in that direction. This is also a procedural effect so it is highly modifiable to create custom effects for different light sources.

25. Procedural Particle System

Particles are used to create smoke trails, 3D waterfalls and many other special effects. Flexible procedural particle system implemented into Serious Engine enables you to create wide range of your own effects.

26. Directional Light

Directional light (known also as 'distant light') is light that has parallel light beams. Sun and Moon are examples of directional lights. Worlds lightened with directional lights appear very realistic and open spaces just cannot look convincing without it.

27. Model Shadows

Serious Engine can calculate shadows of models taking in account texture transparency. This it is extremely powerful tool for interior decoration. You can create model of a lamp with semi-transparent drawing on lamp planes, place light source inside lamp and drawing will produce very complicated shadows on surrounding walls. When model (like a statue) casts shadows onto world, it looks like it is part of a world and not inserted object.

28. Illuminating Polygons

Lighting engine can be told to let only beams from certain lights trough certain polygons. Skillful usage of this feature results in feeling of sun shining trough a window. It can be used for lava illumination or vitrajes.

29. Illumination Maps

This feature of shadow engine creates an effect of illuminating area on a wall. With it, believable futuristic lighted architecture, buildings and spaceships covered with thousands of tiny bright light sources can be crafted.

30. Day-Night Changes

By modifying light color in real time, having sun travel across the sky and changing the background, Serious Engine can reproduce convincing feeling of night falling. Daylight atmosphere can smoothly change into golden sunset and finally into moonlight.

31. Animating Lights

This is a classic feature implemented by all decent engines. Serious Engine has intuitive color animation editor that allows you to create your own color animations. Animating lights can be used for torch flickering, neon light pulsating, sun color changing, disco lights, etc.

32. Dark Lights

Dark lights work inverse from normal lights. Long known as a valuable tool for 3D graphics designers, Serious Engine brings this classic industry effect to the 3D gaming. Because they subtract light inside range of influence, dark lights are used to create moody atmosphere that is hard to achieve by other lighting methods.

33. Light Transition Smoothing

Special type of light is used to create smooth transitions between sectors with different ambient lights. This effects eliminates sharp transitions where two environments of different ambient intensities (like indoor and outdoor) meet.

34. Layered Texturing

Serious Engine allows up to three texture layers on each polygon. Each texture layer can be stretched, sheared, rotated and translated. One layer can, for example, be used as a hyper-texture so texture will look good from huge distance. Another layer can be used to show detail when close. Stains texture applied over base texture will completely eliminate annoying tiling.

35. Multiple Layer Mixing Modes

Texture layers can be combined through several functions. Mixing textures with different functions results in completely new look of textures. This way you can use two same textures in many combinations and produce different results.

36. Texture Coloring

Each of three texture layers can be separately colorized. Along with previous two features, texture colorizing creates a very strong texturing engine. When you mix layers with different functions, stretch them and colorize, you have feeling of creating new textures. This way you texturize whole level with few textures without getting the feeling of texture tiling or repetition.

37. Procedural Mixing

Mix function between two layers is controlled from game code. That means that you can create custom texture mixing functions and produce all kinds of texture pulsating or smooth transition from opaque to transparent. This feature is used to create special effects (room transformation, futuristic flickering, etc.).

38. Hierarchical Multipart Objects

Skin models can be combined and procedurally controlled. That way, animation of running legs can be created and attached to upper body with numerous animations. Upper body is then separately rotated around handle. Hierarchical multipart model system allows changing body parts or weapons.

39. Object Morphing

Serious Engine implements skin models with hierarhical linking. Skin models enable object morphing. You can create all kinds of enemy transformation: enemy can drop from ceiling, rise from the floor as in 'Terminator 2', transform from rock etc.

40. Animation Smoothing

The Serious Engine automatically calculates inter-frame positions for animation smoothing. This technique results in perfectly smooth object animations, while still maintaining low memory usage. Objects can switch between animations automatically at the right moment to produce continuous motion.

41. Multiple Rendering Types

Model rendering engine supports many rendering types. Designer can define polygon groups (surfaces). Each surface can have its own rendering attributes. Surface can be transparent (palms, windows), translucent (glowing signs), add (emanating objects, explosions), multiply, etc. Each surface can be full bright or double sided, can have colorized specularity, reflections or bump.

42. Texture Patches

This feature is ability of the Serious Engine to place many little textures (patches) over model's base texture. It is used to create blood stains on enemies, cracks on vases, animated patches, etc.

43. Terrain Generation

Terrain is one of primitives used for world generation. Terrain can be raised manually or can be displaced using height map. When texturized with appropriate texture map it produces believable and beautiful outdoor environments.

44. Projected Mapping

This kind of mapping seamlessly applies texture over displaced polygons. It is used when texturizing terrains (when is projected from above), caves or arcs.

45. Projective Texture Scrolling

Serious Engine supports procedural texture scrolling. Any kind of texture movement can be programmed. Projected texture scrolling enables scrolling of tiled texture over displaced surfaces. You can use projected texture scrolling to create traveling of cloud shadows over mountains and castles.

46. Water FX

This is a procedural effect that simulates movement of water. Physics of water particle movement is extremely complex but this algorithm perfectly emulates nature. As in nature, water movement is never repeated (looped). That is why water looks so different then usual repeating animations, and much better.

47. Fire FX

This is another procedural effect. It simulates physical behaviour of fire particles. Result is a convincing, non looping fire, with blazes and sparks outbursting from it in a natural fashion.

48. Plasma FX

This procedural feature can be used to create wide range of effects: lightning, burning, waterfall simulation, dancing particles, fountains, etc. Procedural system allows programming of new effects if needed. Creative designer can produce spectacular effects by using different plasmas.

49. Variable Friction

Friction is a physical parameter of a surface that enables or disables sliding. It makes a difference between walking on firm ground, skating on ice or suddenly stepping on a banana skin. Custom friction parameters are defined for any surface (ground, ice, stone, sand etc.), and each polygon then uses one of those.

50. Force Fields and Contents

Content types are usual in today's engines. But Serious Engine is not limited to a given set of predefined ones. Force fields are used to create areas where definable virtual force affects you. Some areas of a level can have different contents (lava, water, etc.).

51. Event Driven AI Language

Complete new language has been created for easier AI programming. It is C++ based language with incorporated event handling system. This language enables easy programming of complex AI behaviour.

52. 32 Bit Textures

All textures in Serious Engine are stored in 32 bit color, but the rendering engine supports both 16-bit and 32-bit rendering, and 16-bit and 32-bit textures. This enables user to balance between picture quality and speed. Special 'optimal mode' for texture quality is used by default, which uses 32-bits only for those textures and shadows which will actually benefit from it, while still maintaining performance much better then in full 32-bit mode. That is specially suitable for middle ranged accelerators that can render 32-bit textures, but not fast enough to have it all in 32-bit.

53. Still Frame Effect

You can freeze action and watch it from different angles (just like in famous 'Matrix' movie). Examine all the details of paused frame: projectiles in the air along with smoke trails, freezed explosions, enemies stopped in moment of attacking, grenades in the air,... The feeling is impressive.

54. Powerful Sound Support

Serious Engine features a high quality custom sound engine. It supports: HRTF (head related transfer function), IID (interaural intensity difference), ITD (interaural time difference), doppler effect and speed of sound. Only when you first hear a rocket whizzing past your ear you start to enjoy real 3D sound experience. Speed of sound is a unique feature of Serious Engine. When a rocket explodes very far away, you first see the explosion and then you hear the sound.

55. Load/Save in Multiplayer

For the first time in world of 3D engines, Serious Engine is able to save multiplayer game and continue it afterwards. This feature along with multiple angled gravity, 6 DOF physics and split screen results in complete new multiplayer experience.

56. Level Transition

Serious Engine implements smart level transition system. It enables multiple level entrances and exits. When you exit world, situation is freezed so it will be continued when you return. Using this feature you can create complex world connection structures.

57. MP3 Music

Serious Engine can play MP3 music files using Amp11lib player library. This is better than using CD tracks, since music can be controlled during the game and the files are much smaller in size. It cuts down the developement cycle for musicians and at the same time allows interactive music changes.

58. Multi Language Support

To support world-wide distribution, Serious Engine is enabled with localization support. Text is extracted directly from code and worlds using a custom tool and then translated. It supports incremental translations after code or data changes or updates.

59. Dynamic music

Serious Engine can change music according to certain events. For example, peace music is played when there are no enemies in sight, but when they attack, it switches over to more adrenaline pumping music. You can define several levels of music dynamics that are switched according to enemy count and their strength.

Skeletal animation.

Quake and Quake2 engines.

Free from Id software.
http://www.idsoftware.com

can be downloaded from above site.
Rather primitive really, 8-bit colour pallettes errr there both 3d and there are some very nice engine mods available built on top of these, the previously mentioned tenebrae being one.

Auran Jet
http://www.auran.com/jet/

DirectX 8.0 and OpenGL Support

Jet's rendering architecture abstracts the hardware and API to include support for Microsoft DirectX 8.0 and OpenGL 1.2. This allows applications to be written to Jet's rendering API without concern for the underlying hardware API ultimately used.

3D Studio Max v2.5-4.0 Mesh and Animation Exporter Plugin

Provided with Jet are 3D Studio Max plugins for exporting meshes and animations into Jet's native format. The mesh exporter supports exporting standard indexed meshes and progressively reducing meshes. Separate plugin versions are provided to support 3D Studio Max versions 2.5 through 4.0.

Alias | Wavefront Maya v3.0-4.0 Mesh and Animation Exporter Plugin
Provided with Jet are Alias | Wavefront plugins for exporting meshes and animations into Jet's native format. The mesh exporter supports exporting standard indexed meshes and progressively reducing meshes. Separate plugin versions are provided to support Alias | Wavefront Maya versions 3.0 through 4.0.

Extensive Animation System

Jet provides a skeletal key-framed animation system supporting additional features such as:

Queueing - Animations may be buffered for playing one after another;
Interpolation - Bone positions and orientations are interpolated between keyframes to ensure the animation is smooth, regardless of the framerate;
Blending - Two or more animations may be blended together, either to transition from one animation to another, or simply to create a new animation;
Sub-bone Animation - Animations may be selectively applied to specific bones (and their children) enabling, for example, a character to wave while walking, running or riding a horse; and
Event Syncronization - A variety of event types may be attached to selected animation frames to synchronize attachments, sound effects, code, and similar.
The Animation example, as seen here, demonstrates the sub-bone animation where the arm crosses the chest whilst the character is running, these animations seemlessly blended together at run time.

Object Attachment Support
Objects in a 3D scene may be attached to other objects at pre-determined attachment points. For rendering and animation purposes, attached objects are considered child objects. Thus, the movement of a sword attached to a character's hand is relative to the movement and animation of the character and its hand.

Hardware Transform and Lighting
Jet's renderer makes full use of any hardware texture and lighting (T&L) support detected.

Bump Mapping Support

Jet's renderer provides support for bump mapped materials on appropriate hardware. The Bump Mapping example demonstrates the Auran Jet logo protruding from a blue sphere. In this example the effects of a parallel light or omni light, as shown to the right, can be observed.

Cubic Environment Mapping Support

Cubic environment mapping is supported by Jet on appropriate hardware. The Cubic Envrionment Mapping example, as shown to the right, demonstrates a sphere that reflects its environment inside a textured box.

Dynamic Lighting Support
Jet's scene management provides support for dynamic lighting. Numerous types of light; including ambient, omni, parallel, and spot; may be added to a 3D scene. Optimized routines are used to determine and calculate the dynamic effects of these lights on objects in the scene.

Particle Effects System

Jet's particle effects system provides classes for managing particle emitters and dynamic modifiers. Individual emitters and modifiers are implemented as plugins promoting extensibility and reuse. The point, disc, rectangle, and ribbon emitters are provided as defaults, each of which may be modified using the color, field, swirl, or custom modifiers.

Multi-Texturing Support

Jet supports and abstracts multi-texturing extensions to DirectX and OpenGL. The Multi-texture example shows an object which is made up of two chunks. One chunk, the red end, is a simple NoTextureMaterial. The rest of the capsule uses a gloss material, which has three textures. A base diffuse texture, an alpha map texture and a reflective (in this case a spherical map) texture. The alpha texture is used to mask where the reflective texture will be applied. In this example, half of the alpha texture is full value and half is zero, therefore creating the appearence of the reflective texture only being on half of the chunk.

Progressive Mesh Reduction Support

Jet uses progressive mesh reduction to provide level of detail (LOD) support. Appropriate meshes can have their detail dynamically reduced in code. Progressive reduction can be setup to occur according to a mesh's distance from the camera, as a result of dynamically balancing an entire scene, or directly in code.

Projected Texture Support

Projected textures are supported by Jet on appropriate hardware. The Projected Texture example demonstrates the Auran Jet logo projected onto a teapot. Projected textures could also be used to cast "light" of an arbitrary shape, for example, dynamically casting light from a stained glass window onto other objects.

Vertex Program Support

Jet supports the use of vertex programs (a.k.a. vertex shaders) on appropriate hardware. Vertex programs enable custom 'programs' to be executed on vertices in the graphics hardware. The Vertex Program example demonstrates some animated grass and a flag in simulated wind.

Volumetric Shadow Support

Jet's lighting manager supports the generation of volumetric shadows. Thus, objects can cast their own shadow onto other objects. This can be seen in the Dynamic Lighting Manager example, where the green ball's shadow falls onto the white box.

Physics and Collision System Extension

This extension system provides an implementation of a functional physics and collision system. It will not be suitable for all applications as efficient physics and collision handling is very application dependent. The source code provided with this implementation illustrates how such a system might be built onto Jet when custom handling is required. The Collision example uses this system to create a box containing spheres which collide with one another and the box's walls.

Primitive Objects

A range of primitive objects are provided for rendering geometric shapes; line, plane, box, cone, cylinder, ellipse, ellipsoid, circle, sphere, etc. These are very useful for visual debugging. The Primitive Objects example demonstrates some of these classes which can be displayed in wireframe or solid and with different colors. The Primitive Objects example also demonstrates how to create custom geometric objects that are textured and lit.

Sprite System

The sprite system allows developers to create custom interfaces, overlays and other 2D elements. The Sprite example uses the Auran Jet logo to demonstrate the movement, rotation, sizing, and priority ordering of individual sprites.

Multiple Viewports
Multiple viewports can be created and positioned, sized and ordered by the developer to create, for example, a split screen for multi-player games or windows-on-windows. Simultaneously, each viewport can render from different camera perspectives or from cameras in different world
Price: USD$ 136.50 (Non-Commercial)
US$30,000 (commercial)

Submitted by Fluffy CatFood on Fri, 12/09/03 - 7:26 AMPermalink

I realise that not everyone wants 3d or fps type games so I will dig up some info on other types of technology :)

Submitted by Fluffy CatFood on Wed, 01/10/03 - 11:52 AMPermalink

http://catmother.sourceforge.net/

I havent looked over this one much, but basically catmother is a game dev company that went bust so they decided to release their tech, free
I'm not sure of the exact license, I'll get back to it tomorrow.

Submitted by Fluffy CatFood on Sun, 04/01/04 - 1:32 AMPermalink

http://www.ca3d-engine.de/

This looks great and runs really well, still a few bugs though and still a lot more features to come,

Features:

Ca3D-Engine
High-quality, real-time 3D graphics
OpenGL hardware-accelerated rendering
BSP, PVS and Portal-based rendering
Naturally aligned textures
Cube-mapped skies (environment maps)
BMP, TGA, PNG and WAD file formats for all textures
MipMap application and linear filtering for both minification and magnification
Transparency (for glass, water, fences, grates, ...)
Particle Effect Engine
Resource management for efficient sharing of common textures, models, data, ...
"PreCaching" of resources for stutter-free animations

Multi-player network support
New, amazingly fast internet network code!
Optimized for minimum bandwidth requirements
Integrated tightly into Ca3DE (no unnecessary overhead of general-purpose network libraries)
Full client prediction (for movement, events, and weapons)
Delta compression for network packets

State-of-the-art lighting technology
First engine ever to combine LightMaps with dynamic lighting effects!
Radiosity-based, physically correct(!) lighting
Dynamic, shader-driven, per-pixel lighting for both worlds and models
Stencil buffer shadow volumes (everything casts shadows on everything!)
Support for diffuse-, normal-, bump-, specular-, and luminance-maps
Support for ATI and NVidia programmable GPUs and shaders
Shader-driven, multi-textured or 2-pass LightMap rendering
Soon: Spherical Harmonic Lighting...

Skeleton-based model rendering

Can hierarchically combine sub- and super-models
Can blend animations (e.g. the mixing of different upper and lower body animations)

Sound and music support

Employs FMOD
3D stereo sounds
Doppler effects
Can play MP3 and ogg-vorbis music files

Command Console access for in-game configuration
Display resolution and mode (full-screen or windowed) can be changed "in-game"

Realistic physics modeling for all world entities
Natural player movement
Accurate collision detection
6 degrees of freedom
Acceleration, Friction, Gravity, Water, Ladders, ...

Great portability, flexibility and easy extensibility
Well designed and documented C++ source code
Cross-platform and cross-compiler portable
Runs on Windows 95, 98, ME, NT, 2000, and XP
Runs on Linux
Dynamic link libraries (DLLs) control the engine
Simple to use interfaces make it easy to create entirely new games or applications (MODs) with Ca3DE
Development kit is freely available, including all tools and detailed documentation

Naturally, this list is not meant to be complete. The Ca3D-Engine is under constant development, and as such, it is best to regularly download and try out the latest demo.

Map compiling tools
The Ca3D-Engine operates with "worlds". Worlds are preprocessed input files, generated by a sequence of programs. Among these, are the three compiling tools, CaBSP, CaPVS and CaLight. To a large degree, these are responsible for the Ca3D-Engine's power, and each has interesting features of its own. Here is a very short overview from a users perspective:
CaBSP
builds the BSP tree,
removes outer parts of worlds, and
runs optimization passes for an ideal geometry.

CaPVS
pre-calculates the Potentially Visibility Set (PVS): one of the key features that makes Ca3DE so fast.

CaLight
Lightmap calculations are based on physically correct principles, thus adding a high degree of realism to the worlds.

Submitted by souri on Sun, 04/01/04 - 2:51 AMPermalink

[url="http://www.cubeengine.com/index.php4"]Cube Engine[/url]

Allows in-engine editing of geometry in full 3D (you fly around the map, point / drag stuff to select it / modify it), which can even be done simultaneously with others in multiplayer (a first!). Has simplistic but effective fine grain vertex lighting that looks like lightmapping and can do dynamic lights & shadows. Doesn't need any kind of map precompilation, even lighting is done on the fly. Has very simplistic quad-tree world structure that can do slopes (heightfields with caps) and slants, water, does decent collision detection & physics, has client/server networking that goes a long way in giving a lag-free game experience, and features a Doom/Quake-style singleplayer (2 game modes, savegames) and multiplayer (12 game modes, master server / server browser, demo recording) game with some uncompromising brutal oldskool gameplay.

Submitted by Fluffy CatFood on Tue, 28/09/04 - 7:51 AMPermalink

Finally, I remembered to include some non 3d engines:

ADVENTURE GAME STUDIO

http://www.adventuregamestudio.co.uk/

Designed for making 2d point and click adventure games

So, is AGS for you? Well, that depends what you want to do. It is designed to create adventure games, in the classic point-and-click style. It is not designed to make platformers, straight RPG's, or any other type of game (although simple arcade sequences are of course possible).

As an overall summary of the features, we have:

Windows-based IDE for creating your games as quickly and easily as possible. For screenshots of the IDE, have a quick browse of the beginners' tutorial.
Native Windows, Linux (x86) and MS-DOS versions of the game engine, to maximise the number of people who can play your game.
Powerful "C"-style scripting language if you don't like point-and-click. But don't worry, most stuff can be done with your mouse in the editor instead if you prefer.
In the graphics arena, 256-colour, 16-bit colour and 32-bit colour are all supported - either go for that retro feel, or enjoy the benefits of no palette! It's up to you. Alpha-blended sprites are supported in 32-bit colour games.
Screen resolutions of 320x200, 320x240, 640x400, 640x480, and 800x600 are supported. Your game can be run full-screen or in a window.
For sound and music, you can use OGG, MP3, WAV, MOD, XM and MIDI files. Ambient location-dependant sounds, automatic footstep sounds, multiple sound channels and crossfading between music tracks are supported too.
Easily create talkie games if you like - speech is compiled into a single data file, which you can distribute as an optional download.
Point-and-click setting of reactions to game events, or a powerful C-like scripting language if you so prefer.
Easy inventory management - just define all the items in the editor, then use simple Give and Lose commands during the game.
Almost everything is customizable, from the GUI you use to the mouse cursor graphics. A standard Sierra GUI is supplied, but user-made templates of other GUIs can be downloaded.
Have up to 150 characters roaming your world - they each have their own inventory and can be smoothly scaled and lit in different areas. 2, 4 and 8-directional walking animations are supported.
Multiple player characters, such as in Maniac Mansion and Day of the Tentacle, are possible too.
Scrolling rooms are supported by simply importing an image larger than the screen resolution.
Lucasarts-style conversation system should you want to use it.
Translations of your game to other languages are easy to make, and can be distributed seperately as add-on packs.
Plugin system which allows more advanced developers to add extra functionality to AGS.
Compile your game into a single EXE file for distribution. Digital music and voice samples can also be compiled into seperate files to allow for optional downloads. You can of course set a custom icon for the produced EXE file.
The game script is compiled to byte-code when you save the game, to maximise the speed of the engine.
All the standard things you would expect, such as game Save and Load features, automatic pathfinding, sprite mirroring, walk-behinds, hotspots, objects, cutscenes, animations, timers, and so forth.
If you decide that AGS is for you, then visit the Download and Tutorial pages to get started.

Game Maker.

http://www.cs.uu.nl/people/markov/gmaker/index.html

Cool for making 2d sprite based games like in the days of the SNES, I downloaded it and it seems easy to use, havent given it a proper bash yet.

Submitted by sub on Sun, 24/07/05 - 11:57 AMPermalink

Game Maker is fantastic.. i have gone leaps and bounds since using this tool.. also the community is enormous.. i recommend it to anybody wanting to make an arcade game especially but you can use it to make much, much more than simple 2D games (but yes, it makes them very well!)

version 6.1 is the latest & best version.. DON'T BE PUT OFF THAT IT NEEDS REGESTRATION.. the tool comes 99% complete, it is more than enough to do almost anything u need to do, the reg version just unlocks extra eyecandy and CD accessing etc..

A GREAT TOOL FOR BEGINNERS ALSO (uses drag n drop commands AND code)

if u get it.. just add me to msn and i will help you [B)]
>> flavour_injecter@hotmail.com

Submitted by mcdrewski on Sun, 24/07/05 - 8:27 PMPermalink

me109 - that linked image is now prompting for student login... :(

Submitted by Rohan on Wed, 28/12/05 - 4:13 PMPermalink

*gasps in shock*

No one mentioned Ogre!
http://ogre3d.org
LGPLed and EXTREMELY powerful - easily comparable to commercial engines and it has been used in commercial games. I've used Irrlicht, own Auran Jet, looked at Crystal Space and also Ca3D, but if you take a good free physics engine (ODE) or use an existing game framework based on Ogre's graphics you really can't go wrong.

Ca3D didn't seem that special - the GPL engine QFusion is better IMHO, or just use Quake 3 ;)
Irrlicht was ok but Ogre is much more powerful in the long run and faster too.
Crystal Space looked complex - I stayed away from it as a result
Jet would be great if Auran finally got around to releasing a newer version... Jet 1.1 is easily eclipsed by Ogre or even QFusion or Quake 3. It most definately wasn't a good purchase which is unfortunate :(

btw, QFusion is based on Quake 2 but is nearly a clone of Quake 3 and it has new features too. It came out before Q3 hence my enthusiasm towards it - Q3 development is progressing rather slowly unfortunately.
http://sourceforge.net/projects/l33t/
If you're after a 'ready to go' engine - not much beats this one or Quake 3.

Submitted by lorien on Thu, 05/01/06 - 8:51 AMPermalink

quote:Originally posted by Rohan

*gasps in shock*

No one mentioned Ogre!
http://ogre3d.org
LGPLed and EXTREMELY powerful

You've hit a big problem with OGRE. It's VERY cool, but to comply with the LGPL you have to make all your object code publicly available.

If anyone feels like making some trouble try asking Bioware for all the object code to NWN- the Linux and Mac versions use SDL (which is LGPLed). Legally they have to give it to you, but I doubt they'd want to very much at all.

Submitted by lorien on Fri, 06/01/06 - 12:19 AMPermalink

quote:Originally posted by mcdrewski

AFAIK, *L*GPL [url="http://en.wikipedia.org/wiki/LGPL"]does not require that at all[/url].

See the preamble
quote:
If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.

and section 5
quote:
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.

However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.

When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.

If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)

Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.

It's not quite as harsh as I made it sound, but you have to be very careful about the header files you include from an LGPL lib or you could wind up in lots of trouble.

IMHO the LGPL needs revision to make it friendly for commercial use.

Submitted by mcdrewski on Fri, 06/01/06 - 1:17 AMPermalink

most LGPL use I've seen uses dynamic linking, meaning that that clause is moot. if you can drop in a new (compatible) .dll you satisfy the requirements.

Submitted by Rohan on Fri, 06/01/06 - 2:19 AMPermalink

lorien:
I think you have managed to confuse LGPL with GPL. LGPL means you only need to release your changes to the original code. eg. If you change the Ogre engine you only have to release those changes - not the rest of your code. Ogre has been used in commercial games this way as the LGPL allows for commercial use in closed source projects. GPL however *does* require you to release all your source for whoever wants it regardless of how little was changed. It's also difficult to circumvent as you have to put your code in a DLL that isn't required for your program to function. IMHO I can't see any problems with that license, share and improve I say.

There's been lots of discussions on this topic at QuakeSrc.org especially regarding GPL, LGPL etc

Submitted by lorien on Fri, 06/01/06 - 5:55 AMPermalink

quote:Originally posted by Rohan

lorien:
I think you have managed to confuse LGPL with GPL. LGPL means you only need to release your changes to the original code. eg. If you change the Ogre engine you only have to release those changes - not the rest of your code. Ogre has been used in commercial games this way as the LGPL allows for commercial use in closed source projects. GPL however *does* require you to release all your source for whoever wants it regardless of how little was changed. It's also difficult to circumvent as you have to put your code in a DLL that isn't required for your program to function. IMHO I can't see any problems with that license, share and improve I say.

There's been lots of discussions on this topic at QuakeSrc.org especially regarding GPL, LGPL etc

I'm certainly not confused between the two. Those quotes are from the LGPL 2.1, as come in /usr/portage/licenses on every Gentoo Linux system.

I agree mcdrewski- that clause doesn't make much sense, which is why I think the LGPL needs revising.

The key point in that clause is inlined code. If your c++ LGPL lib has user written templates in it then you have lots of inlined code from an LGPL lib in your object files, and those object files will be covered by the LGPL is how I read it.

Grover is very concerned about this aspect of the LGPL too (calls it "LGPL Hell" I seem to remember)

Submitted by Rohan on Fri, 06/01/06 - 10:17 AMPermalink

Heh... ok. It just sounded like you were refering to the GPL. Anyway... I'm going off what I know and what I know says that people have used it commercially - Why would they risk open sourcing a closed source game just because of some technicality?

I reckon you could download the precompiled Ogre SDK, make a commercial game and still be compliant. If not then go bug the makers of those commercial games for their source [:P]

Submitted by Dragoon on Fri, 06/01/06 - 9:51 PMPermalink

From the site linked by mcdrewski:

quote: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, Statically linked library is allowed if either source code or linkable object files are provided.

Ie. LGPL does not extend to dynamically linked software if that software also works with other (newer / modified) versions of the library if they are binary compatible. API changes to the LGPL library would mean it is effectively a "different" library for these purposes. It does not extend to statically linked software if you provide a re-linking mechanism or source code for compilation.

You can use an LGPL'd engine with a your own project provided that it is dynamically linked. That is the intention of the LGPL. That is what it is for. You can argue technicalities in wording all you like however.

If you however modified an LGPL library for your project and dynamically linked it, then you are obligated to release the source to only the LGPL library.

The Ogre team make specific comments about this on their license page:
http://www.ogre3d.org/index.php?option=com_content&task=view&id=15&Item…

No need to go spreading false information.

Another comment that should be made is that obligated to distribute source (to the modified LGPL library) does not mean to ANYONE. Only to people to whom you have distributed derived works (though you can distribute to anyone if you like). In the case of a commercial bought boxed game, this is only to those people who have obtained the box (ie a copy) via legal means.

Submitted by lorien on Mon, 09/01/06 - 12:10 AMPermalink

Sorry Dragoon, I disagree, and accusing me of spreading false information when I posted the exact text of the license is not a way to make friends. There aren't too many people that are fans of python and bigworld, and that have used swig and/or boost to extend python in a games context btw, and I find the complete lack of info in your profile rather interesting.

That OGRE link you provided on the LGPL also says quote:The above is a precis, please read the full license agreement before downloading any source.

The interaction between open and closed code is a nightmare. Normally what matters is what the authors say you can do with their code. But the GPL and LGPL give rights to everyone, and this object code thing is one of those rights.

Sure it's OK to use LGPL code in commercial products, but you had better know what you are responsible for when you do so imho. I think most of us have seen what happens to companies that breach the GPL- I wouldn't want to be on the receiving end of that sort of thing is what I'm saying.

Submitted by Dragoon on Mon, 09/01/06 - 9:24 PMPermalink

Geez get over the personal attacks already. Why should I post information in my profile? Is it a rule of Sumea that I do?

Where do you derive "your" expert knowledge on the LGPL license from - have you had a specialist software copyright lawyer explain it to you? Do you know why the LGPL was created (intent is very important in law)?

From the history of the GPL link below:

quote:
"New library license We should by now have finished a new alternative General Public License for certain GNU libraries. This license permits linking the libraries into proprietary executables under certain conditions. The new library license actually represents a strategic retreat. We would prefer to insist as much as possible that programs based on GNU software must themselves be free. However, in the case of libraries, we found that insisting they be used only in free software tended to discourage use of the libraries, rather than encourage free applications. So, while we hope the new library license will help promote the development of free libraries, we have to regret that it was necessary. We will also be releasing a version 2 of the ordinary GPL. There are no real changes in its policies, but we hope to clarify points that have led to misunderstanding and sometimes unnecessary worry. "

Heres a list of reading for you:
http://www.free-soft.org/gpl_history/
http://www.intevation.de/pipermail/freegis-list/2003-August/001480.html
http://www.winehq.com/site/history

No I'm not a lawyer but a search on google regarding the LGPL provides countless examples of software using it, licensed under it and their interpretation of the LPL, and the purpose and history of the LGPL.

Telling people not to use Ogre for example because of the LGPL is doing the people who wrote the Ogre engine a great disservice. Sure you need to understand your obligations re the LGPL licensing of it, but those don't include making your source code available if you link to the Ogre libraries dynamically and fulfill the obligations of the LGPL.

In reality people can use LGPL software in their programs without too much worry is all I want to say. It isn't such a big problem as some are making it out to be on the web (a vocal minority).

PS: why hijack a thread about possible game engines with licensing issues? why not start another thread. Souri should come in and clean out the cruft from this sticky.

Edit: perhaps I should clarify the misinformation, you said:

quote:
You've hit a big problem with OGRE. It's VERY cool, but to comply with the LGPL you have to make all your object code publicly available.

If anyone feels like making some trouble try asking Bioware for all the object code to NWN- the Linux and Mac versions use SDL (which is LGPLed). Legally they have to give it to you, but I doubt they'd want to very much at all.

Ogre is dynamically linked to your app (unless you change it) hence you do not have to make object code available to allow relinking. All you need to do is allow them to drop in a new binary compatible Ogre DLL, a matter of simply copying.

Is NWN statically linked to the SDL? If so then they do by the license, if not they don't.

Submitted by Rohan on Mon, 09/01/06 - 9:56 PMPermalink

quote:Telling people not to use Ogre for example because of the LGPL is doing the people who wrote the Ogre engine a great disservice. Sure you need to understand your obligations re the LGPL licensing of it, but those don't include making your source code available if you link to the Ogre libraries dynamically and fulfill the obligations of the LGPL.

Amen to that! Ogre is quite well licenced, especially in comparison to other languages of it's quality. There's a site that lists game engines (http://www.devmaster.net/engines/) - Ogre is at the top for free engines, while the Torque Engine tops the other list. Is Ogre up to the quality of the Torque Engine or even Epic's Unreal Engine with regards to graphics? I believe so - the problem is Epic can afford artists todo kickass art that shows off their technology better [:P] While graphically Ogre hammers Torque quite convincingly - You have to pay for Torque yet it doesn't support the latest technology unless you shell out extra for it.

Want a free engine comparable to Epic's one or Torque then?
Graphics/Input : Ogre (or Irrlicht - it's really easy to use)
Physics : ODE (Only open source physics I know of)
Sound : OpenAL (There could be alternatives to this too)
Networking : RakNet (I think you can get a free commercial use licence) or HawkNL

Anything missing? That engine would be compatible on a wide variety of platforms too, you could even port most of it to a console or an entirely different platform given that those libraries are open source.

quote:If anyone feels like making some trouble try asking Bioware for all the object code to NWN- the Linux and Mac versions use SDL (which is LGPLed). Legally they have to give it to you, but I doubt they'd want to very much at all.

Bioware don't have to give you anything - They may have used SDL but so do many other commercial games. I doubt they'd use a library that required them to release the source to their games [:P] They probably have a horde of lawyers to back em up with this too [xx(]

LGPL can equal OK for commercial use - Games like Ankh or Supremacy: Four Paths To Power prove that. They use Ogre yet are commercial, closed source games.

I'm not flaming here - just presenting the facts. You don't have to spend heaps of money to get a good engine, most of the time it's the art of the 'superior' engines that makes them look better. Give an artist an engine and I think you'll find they'll make just as good stuff with a free one as they would with a pro engine. Even something as technically old as Quake 2 or 3 look great when in the right hands. Naturally looks aren't everything and IMHO the libraries I mentioned above form a pretty dang good complete, free, commercial quality engine.

Submitted by lorien on Wed, 11/01/06 - 5:57 AMPermalink

quote:Originally posted by Dragoon

Geez get over the personal attacks already. Why should I post information in my profile? Is it a rule of Sumea that I do?

Of course not. But you're the one who started with personal attacks and you've come close a few times before. Makes me start thinking about who you might be. We met in Canberra didn't we? Having used Jet too is a bit of a hint.

quote:
Where do you derive "your" expert knowledge on the LGPL license from - have you had a specialist software copyright lawyer explain it to you? Do you know why the LGPL was created (intent is very important in law)?

Long years of using open source software. I've been using gcc since 1996 for example, and I compile my entire OS from source(gentoo). I was thinking about intent shortly after posting actually, imho the major intent of both the GPL and LGPL (and a major intention of the Free Software Foundation itself) is protecting free software.

From the history of the GPL link below:

quote:
"New library license We should by now have finished a new alternative General Public License for certain GNU libraries. This license permits linking the libraries into proprietary executables under certain conditions. The new library license actually represents a strategic retreat. We would prefer to insist as much as possible that programs based on GNU software must themselves be free. However, in the case of libraries, we found that insisting they be used only in free software tended to discourage use of the libraries, rather than encourage free applications. So, while we hope the new library license will help promote the development of free libraries, we have to regret that it was necessary. We will also be releasing a version 2 of the ordinary GPL. There are no real changes in its policies, but we hope to clarify points that have led to misunderstanding and sometimes unnecessary worry. "

Which is why they are working on version 3, and hopefully they'll clear up this mess in the LGPL while they're at it. I think the "strategic retreat" wasn't far enough.

quote:
Heres a list of reading for you:
http://www.free-soft.org/gpl_history/
http://www.intevation.de/pipermail/freegis-list/2003-August/001480.html
http://www.winehq.com/site/history

No I'm not a lawyer but a search on google regarding the LGPL provides countless examples of software using it, licensed under it and their interpretation of the LPL, and the purpose and history of the LGPL.

The purpose of the LGPL is to encourage use of free libs, while protecting open source software. That doesn't make it a free ride for commercial developers. I've never seen an LGPL lib used in a Microsoft product for example (but please let me know of any).

quote:

Telling people not to use Ogre for example because of the LGPL is doing the people who wrote the Ogre engine a great disservice. Sure you need to understand your obligations re the LGPL licensing of it, but those don't include making your source code available if you link to the Ogre libraries dynamically and fulfill the obligations of the LGPL.

I didn't say "don't use Ogre", I said "you have to be very careful about the header files you include from an LGPL lib or you could wind up in lots of trouble."

quote:
In reality people can use LGPL software in their programs without too much worry is all I want to say. It isn't such a big problem as some are making it out to be on the web (a vocal minority).

PS: why hijack a thread about possible game engines with licensing issues? why not start another thread. Souri should come in and clean out the cruft from this sticky.

And I suppose you were wondering why I got annoyed with you... Here's a hint: trying to discredit someone of > 400 posts who is using their own name and has lots of info in the profile doesn't work too well if you're staying anonymous and have 30 posts yourself. Common decency would be to let me know who you are.

As for talking about licensing in a thread about engines IMHO it's completely on topic. Personal attacks are not, and mine was a reaction.

As for your other comments I also said that I'd been a bit harsh about the LGPL, and corrected myself when I posted the actual text. I would talk to a lawyer before using LGPL code in a commercial app myself.

PS I can't believe I'm getting hassled for suggesting that a major license could do with a revision to make it friendlier to commercial developers!

Submitted by Dragoon on Wed, 11/01/06 - 10:27 AMPermalink

Well, I was perhaps a bit harsh in my reply. My apologies. I don't see how the LGPL is commercially unfriendly, only that the terminology is not 100% clear and open to interpretation, and hence unfriendly. Microsoft have policies against using the GPL/LGPL internally I believe, but they do make some of their software interoperate with JBoss (LGPL) and release Interix under the GPL, and have sponsored projects licensed under the LGPL. Microsoft is only one commercial company, Sun Microsystems and IBM are major players that do use many LGPL libraries however.

From the Ogre point of view, I can imagine the LGPL providing an ideal license type. A more liberal license (BSD) would allow commercial companies to use Ogre and modify it without releasing anything back to the Ogre dev team (Microsofts TCP/IP stack was originally ripped from one of the BSDs), and a more restrictive license would prevent any interest at all from commercial companies and even hobbyists who feel that they might some day want to commercialise their projects. Under the LGPL a hobbyist or developer only has to release changes to Ogre if they eventually distribute it, their source and project can be released under a licensce of their choice, and if they don't want to do that they could negotiate a seperate license type with the Ogre team.

I still believe this thread isn't the place for a licensing discussion re engines. The license should be noted, but adds a lot of posts to wade through when someone is looking for the engines. A discussion of licences should be in a separate thread.

Submitted by amckern on Sat, 14/01/06 - 2:50 AMPermalink

Quake 3

ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip (GPL)

http://en.wikipedia.org/wiki/Quake_III_engine - more info here then on the idsite - so have a read and see if its what your after.

quote:
Engine features

The Quake 3 engine loads 3D models in the MD3 format. The format used vertex movements (sometimes called per-vertex animation) as opposed to skeletal animation in order to store animation. The animation features in the MD3 format were superior to those in Quake 2's MD2 format because the animator was able to have numbers of keyframes per second be lower and higher than 10 keyframes per second. This allows for more complex animations that are less "shaky" than the models found in Quake 2.

Another important feature about the MD3 format is that models are broken up into 3 different parts which are anchored to each other. Typically, this is used to separate the head, torso and legs so that each part can move independently for sake of procedural animation. Each part of the model has its own texture, though you cannot use multiple.

The character models are lit and shaded using gouraud shading while the levels (stored in the BSP format) are lit either with lightmaps or gouraud shading depending on the user's preference. The engine is able to take colored lights from the lightmap and apply them to the models, resulting in a lighting quality that was, for its time, very advanced.

The engine is capable of two different kinds of shadows. One is able to cast a detailed shadow based on a specified light source and the other just puts a circle with faded edges at the characters' feet.

Other features included a high-level shader language and a method for rendering fog.

Ritual Entertainment added support for the MD4 model format for use in the game, Heavy Metal: F.A.K.K.?. The MD4 format featured full skeletal animation support. In the GPLed version of the Source-code, most of the code dealing with the MD4 format was removed, though it was added back in by someone who used the pseudonym Gongo. More information about the MD4 format can be found at his site.

Submitted by Twinsen on Sat, 17/06/06 - 11:00 AMPermalink

I must add too, for any1 interested I have personally tried irrlicht and OGRE3D, irrlicht is very well structured and suitied for begginers into programing and gamedev, its quite powerfull too and open source, great learning place to start off from. Ogre I have been using for about 4-5 months now and this as probably everyone already knows is extremely powerfull, fast and very OOP structured graphics engine, well suited for the intermediate to advanced programmer.

Submitted by voxel on Sun, 08/10/06 - 2:46 PMPermalink

I quite like OGRE, but like all 3D "graphics engine" it is designed around a traditional First/Third Person Shooter pipeline.

OGRE's 3D tool pipeline (exporters) is good. A large portion of building a game is art tool related.

Panda3D is pretty good too. A little heavy on the Python (less flashy) and more suited to the ToonTown like networked games than FPSes.

Submitted by Targos on Thu, 18/01/07 - 3:58 AMPermalink

Hi guys, it seems that most of you are developing on PC?
______________________________________

If you are developing on mac, and at this stage are more keen on single player games rather than multiplayer, you should check out unity3d.com.
______________________________________________

If you use maya as well, your pipeline is seamless. It outputs both pc and mac games, though console dev is slow/possible/a maybe due to licensing I believe.
_________________________________________________
I brought a Unity indie license(yeehaa) and recently a game I made for a comp earned me an additional 8month license. I intend to sell my 8month license. So if you are interested in an 8month unity indie license, have a mac, like the look of unity, Im selling my license.(I'll never sell my lifetime license)________________________________________________________________________________________________________________________________________________________________________I posted some work here-some of you might have seen my other post______________________
____________________________________________________________________________________http://rapidshare.com/files/10212723/TheOasis2006.zip.html
For a MacOSX Universal Binary Build

http://rapidshare.com/files/8988908/TheOasis2006WindowsXP.zip
For Same as Windows XP Build

Or

http://rapidshare.com/files/11371804/Online_Gallery_.html

To see the work in Art gallery style. please note, if you want to view the gallery, you will need the UnityWebplayer plugin. The gallery works on mac and PC.____________________________________________________________________________________________________________________________________________________In my game the car is badly moddeled and the physics doesnt work too well, the intro is unskippable, and it requires some patience. This is my first 3d game, and its a solo effort(some models are supplied with unity)__________________________________________________________________________Hope you consider thye unity engine as it makes life easy, the support forum is legendary too
AC