Common Middleware

Anything and everything that's related to OGRE or the wider graphics field that doesn't fit into the other forums.
Post Reply
alphadogg
Gnoblar
Posts: 2
Joined: Mon Mar 30, 2009 4:20 pm

Common Middleware

Post by alphadogg »

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:
  • Audio:
  • Networking:
  • Physics:
  • Database:
  • GUI:
  • Other popular libraries?:
Last edited by alphadogg on Sun Apr 17, 2011 3:38 pm, edited 1 time in total.

User avatar
spacegaier
OGRE Team Member
OGRE Team Member
Posts: 4294
Joined: Mon Feb 04, 2008 2:02 pm
Location: Germany
x 129
Contact:

Re: Common Middleware

Post by spacegaier »

What do you mean by that?

Edit: Now, with your edit, the question makes sense :D .
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...

User avatar
betajaen
OGRE Moderator
OGRE Moderator
Posts: 3447
Joined: Mon Jul 18, 2005 4:15 pm
Location: Wales, UK
x 58
Contact:

Re: Common Middleware

Post by betajaen »

http://www.ogre3d.org/tikiwiki/Assembling+A+Toolset

That page contains a list of the most common libraries used with Ogre.

User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Common Middleware

Post by jacmoe »

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.

alphadogg
Gnoblar
Posts: 2
Joined: Mon Mar 30, 2009 4:20 pm

Re: Common Middleware

Post by alphadogg »

betajaen wrote:That page contains a list of the most common libraries used with Ogre.
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.

For example, is Ogre3D - DynaMo - Garfixia - ZIGE - Audiere - OIS - etc., a currently favored stack?

User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Common Middleware

Post by Klaim »

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.

User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Common Middleware

Post by jacmoe »

  • 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. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.

User avatar
kulik
Gremlin
Posts: 183
Joined: Sun May 01, 2005 2:00 pm
x 23
Contact:

Re: Common Middleware

Post by kulik »

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 :twisted: )
Pathfinding: None at the moment :-)
mpreisler on IRC | CEGUI team member, CEGUI Unified Editor developer, OISB founder

Hubert
Kobold
Posts: 25
Joined: Mon Feb 09, 2009 10:48 am
Location: Belgium
x 1

Re: Common Middleware

Post by Hubert »

Audio, network, thread : I'm using SFML (basic but enough for me)
Physic : Bullet
GUI : MyGUI

User avatar
Jabberwocky
OGRE Moderator
OGRE Moderator
Posts: 2819
Joined: Mon Mar 05, 2007 11:17 pm
Location: Canada
x 218
Contact:

Re: Common Middleware

Post by Jabberwocky »

Audio: FMOD
Physics: PhysX
GUI: CEGUI
Input: OIS
World Editor: Ogitor, 3ds max
Graphics: Irrlicht (just kidding)
Image

User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7154
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 525

Re: Common Middleware

Post by Kojack »

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).

User avatar
madmarx
OGRE Expert User
OGRE Expert User
Posts: 1671
Joined: Mon Jan 21, 2008 10:26 pm
x 49

Re: Common Middleware

Post by madmarx »

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

User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7154
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 525

Re: Common Middleware

Post by Kojack »

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

User avatar
betajaen
OGRE Moderator
OGRE Moderator
Posts: 3447
Joined: Mon Jul 18, 2005 4:15 pm
Location: Wales, UK
x 58
Contact:

Re: Common Middleware

Post by betajaen »

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.
Why didn't I know about this earlier!?

mcmillan0520
Gnoblar
Posts: 10
Joined: Sat Jun 05, 2010 9:37 pm

Re: Common Middleware

Post by mcmillan0520 »

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 :P

User avatar
SomeFusion
Gremlin
Posts: 191
Joined: Sun Dec 01, 2002 12:38 am
x 3

Re: Common Middleware

Post by SomeFusion »

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.
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

Doopydoo22
Gnoblar
Posts: 3
Joined: Fri Jan 02, 2009 11:40 pm

Re: Common Middleware

Post by Doopydoo22 »

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.

User avatar
Herb
Orc
Posts: 412
Joined: Thu Jun 04, 2009 3:21 am
Location: Kalamazoo,MI
x 38

Re: Common Middleware

Post by Herb »

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

Mawen
Halfling
Posts: 54
Joined: Wed Jun 04, 2003 7:34 pm
Location: Calgary, Canada
Contact:

Re: Common Middleware

Post by Mawen »

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
(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]

User avatar
sleo
Gremlin
Posts: 171
Joined: Sun Jun 05, 2011 6:49 am
Location: Vodka Federation
x 18

Re: Common Middleware

Post by sleo »

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

User avatar
Mind Calamity
Ogre Magi
Posts: 1255
Joined: Sat Dec 25, 2010 2:55 pm
Location: Macedonia
x 81

Re: Common Middleware

Post by Mind Calamity »

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:
  • 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)
* The underline-bold ones are the libraries currently implemented and working.

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

User avatar
Beauty
OGRE Community Helper
OGRE Community Helper
Posts: 767
Joined: Wed Oct 10, 2007 2:36 pm
Location: Germany
x 39
Contact:

Re: Common Middleware

Post by Beauty »

For my scientific application CViewVR (underwater visualisation and sensor simulation) I use these components:
  • 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 ... :idea:
Add your country to your profile ... it's interesting to know from where of the world you are.

Kissy
Gnoblar
Posts: 16
Joined: Mon Aug 16, 2010 12:54 am
x 1

Re: Common Middleware

Post by Kissy »

As far as I am concerned I really enjoyed those middlewar :
  • Input: OISB - Nice input mapping
  • Physics: Havok
  • Database: MongoDB - Very fast document oriented database.
  • Network: RakNet
  • General: TBB for Threading

User avatar
duststorm
Minaton
Posts: 921
Joined: Sat Jul 31, 2010 6:29 pm
Location: Belgium
x 80
Contact:

Re: Common Middleware

Post by duststorm »

jacmoe wrote:Pathfinding: Recast/Detour. Forget about Astar and steering. This is the future. :wink:
I could not agree more! :)
This is probably the most interesting new technology for opensource/indy game and simulation development.
Developer @ MakeHuman.org

Post Reply