crossplatform GameEngine
Page 1 of 1

Author:  djordan [ 07.02.2009, 06:00 ]
Post subject:  crossplatform GameEngine

I have been looking at the different FOSS graphics/game engines available, and Horde3D looks very nice so far! However, the GameEngine looks to be Windows only from what I see. For my purposes, Linux support is important. From what I've seen, the developers here seem supportive of cross-platform efforts made so far, which is encouraging. Most of the components look like they should transition easily to Linux. One major sticking point that I see is the GameEngine's reliance on MS SAPI. I haven't looked into the code too deeply, but I wonder how easy it would be to port if that component were made optional or abstracted to use either MS SAPI or an alternative like JSAPI.

Again, Kudos on a very nice looking, lean graphics engine.

Author:  Volker [ 07.02.2009, 10:24 ]
Post subject:  Re: crossplatform GameEngine

All components except the GameEngineCore are optional. So if you want to give a linux port a try, just remove all non portable components. Of course the scene graph component is not really optional since it creates the main interface to Horde3D but porting it shouldn't be a great problem.

Each component is a plugin for the core DLL so you can just ignore the SAPI component.

Author:  korty [ 08.02.2009, 01:05 ]
Post subject:  Re: crossplatform GameEngine

I've already tested to port to Linux. I succeeded in porting GameEngineCore and GameAnimationsComponent. In GameEngineCore are some system dependent timer-functions. But they can be easily substituted. GameAnimationsComponent worked without any major changes.

There were some issues with __int32 which is int32_t in Linux. And some special MSDN sprintf function calls. Which, if necessary, better should be substituted by sstream...

A unavailable substitution of MS SAPI is the main reason for us to us Windows currently. JSAPI is not a real solution as I haven't seen an implementation yet (except FreeTTS), but wrappers only. There are no good sounding TTS engines under Linux (maybe OpenMary is an option). If you really need TTS you're stick with Windows anyway. And if not, you easily exclude this component under Linux. But we're aware of this and already have a solution for lip synchronization with non-TTS voice in mind...

Currently I'm pretty busy. But I plan to put some code online when the idea how to port is a bit more mature. Maybe mid or end of March...

Author:  djordan [ 08.02.2009, 05:33 ]
Post subject:  Re: crossplatform GameEngine

If you don't mind me asking, did you ever commit any of those changes to GameEngineCore or GameAnimationCore or have the modifications still? Those could be useful. Festival crossed my mind as an option as it has C/C++ bindings among lots of others, but OpenMary does sound nice in the demos. I did notice that certain bits of OpenMary use binary blobs. Here is a quote from the websitehttp://mary.opendfki.de/wiki/FrequentlyAskedQuestions: "The German language modules as well as the English part-of-speech tagger is released in binary form, under a research license: http://mary.dfki.de/download/DFKI%20MAR ... ement.html You must not use this code in a commercial setup unless you obtain a separate license from DFKI, and there are other restrictions. Do read the license agreement carefully when you use the German component. " That could be a turnoff for potential developers if these components are critical to OpenMary. What do you think?

At any rate, I'd say the biggest priority in porting it would be to make the rest of the components work nicely before dealing with TTS, since many projects will ignore it anyway. Components like Bullet integration, would be important and easier to port.
P.S. What is your lip sync solution?

Author:  korty [ 18.02.2009, 19:02 ]
Post subject:  Re: crossplatform GameEngine

No, I haven't committed any changes yet, as I tested them under Linux only and I'm not sure if it breaks the Windows release ;-). But as soon as I have more time, I will deal with this.

I think it is ok to use OpenMary for testing purposes. As soon as your product becomes commercial you may look for an appropriate license anyway for the TTS. But as far as I can see, TTS is no issue in computer games yet.

And you're right. First we will concentrate on porting the GameEngine and ignore the TTS component. But one solution that might work quite well on pre-recorded audio could be an approach of using the voice signal energy as suggested here: http://wiki.secondlife.com/wiki/User:Mm_Alder/LipSync

Author:  dronn [ 15.01.2012, 15:11 ]
Post subject:  Re: crossplatform GameEngine

Hi id like to experiment with a linuxport of the gameengine too.
so if you d like to share the code i can help with testing/ porting components :-)

Author:  fooguy [ 27.02.2012, 19:14 ]
Post subject:  Re: crossplatform GameEngine

I'm also trying to get GameEngine to work on linux. Wished there'd be CMake files for it as well..

Author:  nuschii [ 16.03.2012, 14:29 ]
Post subject:  Re: crossplatform GameEngine

Good news, everyone! :D

The Horde3D GameEngine is now working on Linux, too. At least, most of the main components are.

May I direct your interest to this page in the GameEngine's Wiki:
Building the GameEngine on Linux (experimental)

Currently, there is a Code::Blocks workspace file that contains all required projects (just like the Visual Studio solution). I chose this approach, because converting existing Visual Studio projects into Code::Blocks projects is so much easier than maintaining CMakeLists or stuff like that.

Go ahead and give it a try. In the "Current Status" section on the Wiki page, you'll see what's currently working, and what's not. This will continuously be updated, when new features are made available for Linux.

Looking forward to hearing of your experiences with the GameEngine on Linux platforms.

Best Regards,


Page 1 of 1 All times are UTC + 1 hour
Powered by phpBB® Forum Software © phpBB Group