Page 1 of 1

Common Middleware

Posted: Sun Apr 17, 2011 3:34 pm
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?:

Re: Common Middleware

Posted: Sun Apr 17, 2011 3:35 pm
by spacegaier
What do you mean by that?

Edit: Now, with your edit, the question makes sense :D .

Re: Common Middleware

Posted: Sun Apr 17, 2011 3:59 pm
by betajaen
http://www.ogre3d.org/tikiwiki/Assembling+A+Toolset

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

Re: Common Middleware

Posted: Sun Apr 17, 2011 4:04 pm
by jacmoe
If people want to post their development stacks, I see nothing wrong in it. :)

Re: Common Middleware

Posted: Sun Apr 17, 2011 4:26 pm
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?

Re: Common Middleware

Posted: Sun Apr 17, 2011 11:34 pm
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.

Re: Common Middleware

Posted: Sun Apr 17, 2011 11:52 pm
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:

Re: Common Middleware

Posted: Mon Apr 18, 2011 1:09 pm
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 :-)

Re: Common Middleware

Posted: Mon Apr 18, 2011 2:23 pm
by Hubert
Audio, network, thread : I'm using SFML (basic but enough for me)
Physic : Bullet
GUI : MyGUI

Re: Common Middleware

Posted: Mon Apr 18, 2011 6:38 pm
by Jabberwocky
Audio: FMOD
Physics: PhysX
GUI: CEGUI
Input: OIS
World Editor: Ogitor, 3ds max
Graphics: Irrlicht (just kidding)

Re: Common Middleware

Posted: Mon Apr 18, 2011 7:44 pm
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).

Re: Common Middleware

Posted: Mon Apr 18, 2011 7:49 pm
by madmarx
what is tcod ?

Re: Common Middleware

Posted: Mon Apr 18, 2011 7:58 pm
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

Re: Common Middleware

Posted: Mon Apr 18, 2011 8:21 pm
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!?

Re: Common Middleware

Posted: Fri Apr 29, 2011 11:57 pm
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

Re: Common Middleware

Posted: Sat Apr 30, 2011 4:11 pm
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.

Re: Common Middleware

Posted: Sat Apr 30, 2011 6:56 pm
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.

Re: Common Middleware

Posted: Mon May 02, 2011 6:19 pm
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

Re: Common Middleware

Posted: Tue May 03, 2011 9:11 pm
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

Re: Common Middleware

Posted: Sat Sep 10, 2011 2:48 pm
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

Re: Common Middleware

Posted: Sat Sep 10, 2011 5:34 pm
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.

Re: Common Middleware

Posted: Thu Apr 19, 2012 6:25 pm
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

Re: Common Middleware

Posted: Fri Apr 20, 2012 7:51 pm
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

Re: Common Middleware

Posted: Fri Apr 20, 2012 10:19 pm
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.