- Audio:
- Networking:
- Physics:
- Database:
- GUI:
- Other popular libraries?:
Common Middleware
-
- Gnoblar
- Posts: 2
- Joined: Mon Mar 30, 2009 4:20 pm
Common Middleware
What are the more common stacks that people have over OGRE? I know it varies depending on needs, but what are the popular options? What is currently most commonly used for:
Last edited by alphadogg on Sun Apr 17, 2011 3:38 pm, edited 1 time in total.
- spacegaier
- OGRE Team Member
- Posts: 4304
- Joined: Mon Feb 04, 2008 2:02 pm
- Location: Germany
- x 135
- Contact:
Re: Common Middleware
What do you mean by that?
Edit: Now, with your edit, the question makes sense
.
Edit: Now, with your edit, the question makes sense

Ogre Admin [Admin, Dev, PR, Finance, Wiki, etc.] | BasicOgreFramework | AdvancedOgreFramework
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
- betajaen
- OGRE Moderator
- Posts: 3447
- Joined: Mon Jul 18, 2005 4:15 pm
- Location: Wales, UK
- x 58
- Contact:
Re: Common Middleware
http://www.ogre3d.org/tikiwiki/Assembling+A+Toolset
That page contains a list of the most common libraries used with Ogre.
That page contains a list of the most common libraries used with Ogre.
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
Re: Common Middleware
If people want to post their development stacks, I see nothing wrong in it. 

/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- Gnoblar
- Posts: 2
- Joined: Mon Mar 30, 2009 4:20 pm
Re: Common Middleware
Well, I guess the distinction I'm angling into is what would be the more common stacks that people actively use now, versus a wiki page listing a lot of libraries, some which aren't familiar to me or may not have an active community.betajaen wrote:That page contains a list of the most common libraries used with Ogre.
For example, is Ogre3D - DynaMo - Garfixia - ZIGE - Audiere - OIS - etc., a currently favored stack?
- Klaim
- Old One
- Posts: 2565
- Joined: Sun Sep 11, 2005 1:04 am
- Location: Paris, France
- x 56
- Contact:
Re: Common Middleware
For my "big" game project :
Audio: Not sure yet, hesitate between FMod, CAudio and "looking for other alternatives"
Networking: RakNet
Physics: No need for physics, only steering behaviours - so I hesitate between using OpenSteer or just implement myself the few behaviours I'll need
Database: Not sure yet but I'm starting with SQLite on the client, maybe something else if I can find or write a non-locking NoSQL key-value store embedded DB that is free.
GUI: Navi/Awesomium + another lib for HUD, certainly Gorilla
Other popular libraries?: Boost, Protocole-Buffer for data saves and messaging, OIS for inputs, Falcon for scripting
And Ogre, obviously.
Audio: Not sure yet, hesitate between FMod, CAudio and "looking for other alternatives"
Networking: RakNet
Physics: No need for physics, only steering behaviours - so I hesitate between using OpenSteer or just implement myself the few behaviours I'll need
Database: Not sure yet but I'm starting with SQLite on the client, maybe something else if I can find or write a non-locking NoSQL key-value store embedded DB that is free.
GUI: Navi/Awesomium + another lib for HUD, certainly Gorilla
Other popular libraries?: Boost, Protocole-Buffer for data saves and messaging, OIS for inputs, Falcon for scripting
And Ogre, obviously.
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
Re: Common Middleware
- Audio: cAudio, most probably.
- Physics: Bullet, without a doubt.
- Networking: Don't know - probably enet or something similar.
- Scripting: Angelscript. Or maybe Lisp/Scheme.
- Database: custom old-school format, like Bethesdas ESM/ESP format. A key/value datastore with built-in support for mods/plugins. Coded in C/C++. (See OpenMW for an example)
- GUI: CEGUI!
- Pathfinding: Recast/Detour. Forget about Astar and steering. This is the future.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
- kulik
- Gremlin
- Posts: 183
- Joined: Sun May 01, 2005 2:00 pm
- x 23
- Contact:
Re: Common Middleware
Audio: cAudio.
Physics: Bullet.
Networking: Probably enet, no networking library at the moment
Scripting: <3 Python!
Database: currently deciding between sqlite and custom solution
GUI: CEGUI (I can't be objective though
)
Pathfinding: None at the moment
Physics: Bullet.
Networking: Probably enet, no networking library at the moment
Scripting: <3 Python!
Database: currently deciding between sqlite and custom solution
GUI: CEGUI (I can't be objective though

Pathfinding: None at the moment

- Jabberwocky
- OGRE Moderator
- Posts: 2819
- Joined: Mon Mar 05, 2007 11:17 pm
- Location: Canada
- x 218
- Contact:
Re: Common Middleware
Audio: FMOD
Physics: PhysX
GUI: CEGUI
Input: OIS
World Editor: Ogitor, 3ds max
Graphics: Irrlicht (just kidding)
Physics: PhysX
GUI: CEGUI
Input: OIS
World Editor: Ogitor, 3ds max
Graphics: Irrlicht (just kidding)

- Kojack
- OGRE Moderator
- Posts: 7156
- Joined: Sun Jan 25, 2004 7:35 am
- Location: Brisbane, Australia
- x 532
Re: Common Middleware
Currently, various combinations of: ogre, tcod, poco, boost, fmod, lua, falcon, havok, physx, bullet, kf, kil, kgl (the three k libs are my own private ones), ois, cegui, depending on what I'm doing. (All available in a single unified solution with common paths). Plus sfml and hge, but they are in separate solutions (still using some of the above components).
- madmarx
- OGRE Expert User
- Posts: 1671
- Joined: Mon Jan 21, 2008 10:26 pm
- x 50
Re: Common Middleware
what is tcod ?
Tutorials + Ogre searchable API + more for Ogre1.7 : http://sourceforge.net/projects/so3dtools/
Corresponding thread : http://www.ogre3d.org/forums/viewtopic. ... 93&start=0
Corresponding thread : http://www.ogre3d.org/forums/viewtopic. ... 93&start=0
- Kojack
- OGRE Moderator
- Posts: 7156
- Joined: Sun Jan 25, 2004 7:35 am
- Location: Brisbane, Australia
- x 532
Re: Common Middleware
Tcod is The Chronicles Of Doryen. It's a lib specifically designed for making nethack/rogue style ascii rpgs. But it is actually opengl based and lets you work in what appears to be text mode but with 24 bit colour. It's got a ton of cool features like path finding, visibility checks, fantasy name generators, bsp level generation, random number generators, shadow casting, mouse and keyboard handling, etc. I mainly just use it for text mode stuff like servers or apps (but ones where I want cool colours and interaction, not command line apps).
http://doryen.eptalys.net/libtcod
http://doryen.eptalys.net/libtcod
- betajaen
- OGRE Moderator
- Posts: 3447
- Joined: Mon Jul 18, 2005 4:15 pm
- Location: Wales, UK
- x 58
- Contact:
Re: Common Middleware
Why didn't I know about this earlier!?Kojack wrote:Tcod is The Chronicles Of Doryen. It's a lib specifically designed for making nethack/rogue style ascii rpgs. But it is actually opengl based and lets you work in what appears to be text mode but with 24 bit colour.
-
- Gnoblar
- Posts: 10
- Joined: Sat Jun 05, 2010 9:37 pm
Re: Common Middleware
Physics: NxOgre
Scripting: Squirrel (really awesome)
Audio: Undecided yet
Input: OIS
GUI: CEGUI atm, probably will move to something different
World editor: Custom written in C# with MOGRE
Scripting: Squirrel (really awesome)
Audio: Undecided yet
Input: OIS
GUI: CEGUI atm, probably will move to something different
World editor: Custom written in C# with MOGRE

- SomeFusion
- Gremlin
- Posts: 191
- Joined: Sun Dec 01, 2002 12:38 am
- x 3
Re: Common Middleware
Audio: OpenAL
Rendering: Ogre
Physics: not needed
GUI: CEGUI (of course
)
Scripting: lua
Input: OIS
World Editor: Ogitor + some custom tools
We also use POCO in some places.
Rendering: Ogre
Physics: not needed
GUI: CEGUI (of course

Scripting: lua
Input: OIS
World Editor: Ogitor + some custom tools
We also use POCO in some places.
Summoning Wars is an open source role-playing game, featuring both a single-player and a multiplayer mode for about 2 to 8 players.
http://www.sumwars.org
http://www.sumwars.org
-
- Gnoblar
- Posts: 3
- Joined: Fri Jan 02, 2009 11:40 pm
Re: Common Middleware
Audio - OpenAL
Physics - not needed (probably Bullet in future projects)
Networking - enet
Input - OIS
GUI - CEGUI
Scripting - Squirrel (using Sqrat for binding (yeah, I'm lazy))
Database - SQLite
Tools - Qt
Rendering/Resource Management/String Utils/Serialization - OGRE
OGRE and Qt have really blown me away with their ease of use.
Physics - not needed (probably Bullet in future projects)
Networking - enet
Input - OIS
GUI - CEGUI
Scripting - Squirrel (using Sqrat for binding (yeah, I'm lazy))
Database - SQLite
Tools - Qt
Rendering/Resource Management/String Utils/Serialization - OGRE
OGRE and Qt have really blown me away with their ease of use.
- Herb
- Orc
- Posts: 412
- Joined: Thu Jun 04, 2009 3:21 am
- Location: Kalamazoo,MI
- x 38
Re: Common Middleware
Audio: FMOD
Physics: Haven't needed one yet (used PhysX with NxOgre some)
Networking: RakNet
Input: OIS
GUI: CEGUI
Scripting: AngelScript
Database: SQLite
Tools: Ogitor and custom developed ones
Physics: Haven't needed one yet (used PhysX with NxOgre some)
Networking: RakNet
Input: OIS
GUI: CEGUI
Scripting: AngelScript
Database: SQLite
Tools: Ogitor and custom developed ones
-
- Halfling
- Posts: 54
- Joined: Wed Jun 04, 2003 7:34 pm
- Location: Calgary, Canada
- Contact:
Re: Common Middleware
Graphics: Mogre => Ogre => unofficial Direct3D 9Ex plugin (which has an important perf. improvement for my WPF stack)
Sound: MogreFreeSL => FreeSL => OpenAL
Physics: BulletSharp => Bullet
UI: MogreInWpf <= D3DImage <= WPF. (Haven't finalized on this. May try grabbing WPF texture and putting it into ogre. If neither performs well enough I may pick another lib to replace or to complement non-tools GUIs (esp. for HUD).)
GUI Libs (WPF): Blacklight, D3 (charts for live profiling), WPF Property Grid
Low level Networking: Lidgren (C#. Reliable/non-reliable, sequenced/non-sequenced multichannel UDP.)
High level networking: Custom C# RPC. Supports transparent proxying of POCO service objects, methods and events, (and soon, preemptive caching of properties). I may open source it if I think people might find it useful.
Serialization for network RPC/data: MessagePack (slightly augmented)
Serialization for disk (human readable/editable): JsonExSerializer (C#) (JSON, with some extra features)
"Scripting": For now, just compiled .NET (C#). Future: maybe runtime-compiled .NET (C#, others).
Input: Native WPF for now, plan to implement MOIS => OIS.
(TBD: Database, AI, Ogre Particles)
I consider my stack experimental (until I finish profiling/testing it, at least) as I don't know of public success stories that use a WPF GUI (although I heard a rumor of one in the works).
Links: You can find both MogreInWpf and my implementation of an Direct3D 9Ex Ogre plugin here: https://bitbucket.org/JaredThirsk
Sound: MogreFreeSL => FreeSL => OpenAL
Physics: BulletSharp => Bullet
UI: MogreInWpf <= D3DImage <= WPF. (Haven't finalized on this. May try grabbing WPF texture and putting it into ogre. If neither performs well enough I may pick another lib to replace or to complement non-tools GUIs (esp. for HUD).)
GUI Libs (WPF): Blacklight, D3 (charts for live profiling), WPF Property Grid
Low level Networking: Lidgren (C#. Reliable/non-reliable, sequenced/non-sequenced multichannel UDP.)
High level networking: Custom C# RPC. Supports transparent proxying of POCO service objects, methods and events, (and soon, preemptive caching of properties). I may open source it if I think people might find it useful.
Serialization for network RPC/data: MessagePack (slightly augmented)
Serialization for disk (human readable/editable): JsonExSerializer (C#) (JSON, with some extra features)
"Scripting": For now, just compiled .NET (C#). Future: maybe runtime-compiled .NET (C#, others).
Input: Native WPF for now, plan to implement MOIS => OIS.
(TBD: Database, AI, Ogre Particles)
I consider my stack experimental (until I finish profiling/testing it, at least) as I don't know of public success stories that use a WPF GUI (although I heard a rumor of one in the works).
Links: You can find both MogreInWpf and my implementation of an Direct3D 9Ex Ogre plugin here: https://bitbucket.org/JaredThirsk
(aka Meharin) Mogre (1.7.1) .NET 4, GUI: WPF (see https://bitbucket.org/JaredThirsk/mogreinwpf), Net: Lidgren+custom RPC+MessagePack, Sound: MOgreFreeSL, Physics: BulletSharp, with MeshStrider and partially working DebugDraw [and soon Input: MOIS]
- sleo
- Gremlin
- Posts: 171
- Joined: Sun Jun 05, 2011 6:49 am
- Location: Vodka Federation
- x 18
Re: Common Middleware
Client:
Graphics: Ogre3D
Physics: Bullet
Input: own
GUI: MyGUI
Sound: OpenAL
Network: ENet + own high level wrapper
Database: XML
Scripting: LuaJIT
Server
Graphics: Null Or Console Or Log Or Database write
Physics: OgreMain + Bullet
Network: ENet + own high level wrapper
Database: SQLite
Graphics: Ogre3D
Physics: Bullet
Input: own
GUI: MyGUI
Sound: OpenAL
Network: ENet + own high level wrapper
Database: XML
Scripting: LuaJIT
Server
Graphics: Null Or Console Or Log Or Database write
Physics: OgreMain + Bullet
Network: ENet + own high level wrapper
Database: SQLite
- Mind Calamity
- Ogre Magi
- Posts: 1255
- Joined: Sat Dec 25, 2010 2:55 pm
- Location: Macedonia
- x 81
Re: Common Middleware
Well I'm in the middle of constructing a game framework (and modifying jacmoe's AppWizard to fit my needs), so the framework (Based on the Advanced Ogre Framework, but almost completely rewritten to fit my needs), has implemented the following libraries:
This list is likely to change, but for now it's this.
- Rendering: Ogre + SkyX + Hydrax
- Input: OIS (I'm also considering OISB, I will probably implement it after it's more complete)
- Audio: irrKlang (I'm seriously considering cAudio as a better alternative, because of the zLib license)
- Physics: Thinking of using PhysX, but Newton and Bullet seem like good choices too. (Havok has the best vehicle sample of them all, and wins that part hands down)
- GUI: MyGUI (Will implement support for more libraries, CEGUI is first on that list)
- Scripting: Lua
- Networking: Enet or Raknet (Haven't decided yet)
- Database: Considering using SQLite
- World Editor: Ogitor or Blender (for the time being, I have my own in plan, but that will take a while)
This list is likely to change, but for now it's this.
BitBucket username changed to iboshkov (from MindCalamity)
Do you need help? What have you tried?
- xavier
---------------------
HkOgre - a Havok Integration for OGRE | Simple SSAO | My Blog | My YouTube | My DeviantArt
Do you need help? What have you tried?
- xavier
---------------------
HkOgre - a Havok Integration for OGRE | Simple SSAO | My Blog | My YouTube | My DeviantArt
- Beauty
- OGRE Community Helper
- Posts: 767
- Joined: Wed Oct 10, 2007 2:36 pm
- Location: Germany
- x 39
- Contact:
Re: Common Middleware
For my scientific application CViewVR (underwater visualisation and sensor simulation) I use these components:
Used libraries of other Mogre users you find here:
http://www.ogre3d.org/addonforums/viewt ... =8&t=13291
- Graphics: Mogre (.NET wrapper for Ogre, I use the DirectX plugin)
- Input: Callback methods of the .NET class System.Windows.Forms.Panel (KeyDown, MouseDown, MouseMove, etc.) (The panel is used to display the Oger rendering)
- Input 2: SlimDX is planned for Gamepad support
- GUI: Common GUI elements of System.Windows.Forms
- GUI 2: Two tools in an additional window uses WPF (e.g. a custom tweeked TreeView to show/modify the scene objects)
- Collision detection: Newton by MogreNewt
- Database: Custom XML files, which are easy import/export by usage of the .NET XML classes
- Mesh import: Blender for preperation
- Terrain creation: L3DT
- Dynamically generated scene objects: Done by the wonderful Ogre class ManualObject
- Scene editing: Custom written editor (only basic functionality)
- Sound: not used
- Logging: log4net
- Coordinate system converters: Self written (Ogre, NED, LatLong/WGS84)
- Networking: My own data protocols, using sweet network classes of .NET (TcpListener, TcpClient and UdpClient of the namespace System.Net.Sockets)
Used libraries of other Mogre users you find here:
http://www.ogre3d.org/addonforums/viewt ... =8&t=13291
Help to add information to the wiki. Also tiny edits will let it grow ... 
Add your country to your profile ... it's interesting to know from where of the world you are.

Add your country to your profile ... it's interesting to know from where of the world you are.
- duststorm
- Minaton
- Posts: 921
- Joined: Sat Jul 31, 2010 6:29 pm
- Location: Belgium
- x 80
- Contact:
Re: Common Middleware
I could not agree more!jacmoe wrote:Pathfinding: Recast/Detour. Forget about Astar and steering. This is the future.

This is probably the most interesting new technology for opensource/indy game and simulation development.
Developer @ MakeHuman.org