Integrating AGS Into Other Engines

Started by YossiMH, Wed 22/10/2014 00:11:20

Previous topic - Next topic

YossiMH

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.

Crimson Wizard

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

YossiMH

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!

YossiMH

Would you guys say that version 3.4.0.1 alpha is stable enough to base a commercial release on top of?

Thanks.

Crimson Wizard

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

YossiMH

We're at an "almost started" stage of development, so sounds like it should work. :)

SMF spam blocked by CleanTalk