Adventure Game Studio

AGS Development => Engine Development => Topic started by: YossiMH on Wed 22/10/2014 00:11:20

Title: Integrating AGS Into Other Engines
Post by: YossiMH on Wed 22/10/2014 00:11:20
Has anyone here ever tried integrating AGS into a different game engine with its own rendering, OS, audio, etc. APIs?* If so, do you have any advice on where to start? Would I go inside of Allegro and change its functions to be wrappers of the engine's functions?

Thanks very much in advance!

---
* I suspect this is going to generate some "why would you want to do this?" questions. The main reason is that the game engine that I'm planning on using already has fairly mature support for all of our project's target platforms (including APIs for certain platform-specific features) and AGS does not. So I would use our engine as a sort of platform layer and run AGS on top of it.
Title: Re: Integrating AGS Into Other Engines
Post by: Crimson Wizard on Wed 22/10/2014 00:16:18
Nick Sonneveld made an SDL port once:
http://www.adventuregamestudio.co.uk/forums/index.php?topic=45708.0
https://github.com/sonneveld/ags/tree/sdlwrap

I can't give particular advice here; there's always a "correct" way and fast way. Correct way would be to completely hide Allegro under some interface (partially done in the last versions), then write a new implementation for these interfaces, but it is not easy to tell how much effort that would require, knowing that specific Allegro types and functionality is very tightly integrated in AGS.
This also depends on whether you are going to maintain full compatibility; for instance you may drop all gfx modes and leave only 32-bit one, that could greatly simplify things.
Title: Re: Integrating AGS Into Other Engines
Post by: YossiMH on Wed 22/10/2014 00:38:42
Amazing! That should be super-helpful; I can just start with that port and replace the Allegro->SDL wrapper with a wrapper of my own.

Thanks a ton!
Title: Re: Integrating AGS Into Other Engines
Post by: YossiMH on Fri 24/10/2014 20:25:15
Would you guys say that version 3.4.0.1 alpha is stable enough to base a commercial release on top of?

Thanks.
Title: Re: Integrating AGS Into Other Engines
Post by: Crimson Wizard on Fri 24/10/2014 20:59:07
Quote from: YossiMH on Fri 24/10/2014 20:25:15
Would you guys say that version 3.4.0.1 alpha is stable enough to base a commercial release on top of?
I would like to say "yes" ;), but sincerely, I can't. It was tested by only couple of developers and very few users at best. I think some time and more people using it may show if it is stable.
On other hand, game production takes a time, and if there are any problems they get fixed. If you just starting making a game, chances are high that any bugs will be fixed along the way and before you will be close to release.
If you are preparing to actually release your game soon, and looking to upgrade your project to newer version, then better not.
Title: Re: Integrating AGS Into Other Engines
Post by: YossiMH on Fri 24/10/2014 21:03:17
We're at an "almost started" stage of development, so sounds like it should work. :)