xavieran / BaKGL

Remake of Betrayal at Krondor using OpenGL
GNU General Public License v3.0
39 stars 2 forks source link

Possible ScummVM integration? #85

Closed neuromancer closed 2 months ago

neuromancer commented 1 year ago

I know this implementation of this game engine is still a work in progress, but I'm wondering if it makes sense to plan a future integration as a ScummVM engine (which already have a good number of RPGs). ScummVM also provides a number of image/sound decoders from old games which helps to reduce code duplication.

xavieran commented 1 year ago

Thanks for the suggestion neuromancer. My long term goal is to modernise and improve Betrayal at Krondor's graphics; I'm not sure how well that fits in with the goals of ScummVM. I'm of course happy to work to factor out any code that could be used by a ScummVM based engine implementation in the future. Did you have anything specific in mind with regards to ScummVM integration?

neuromancer commented 1 year ago

Just for context, ScummVM offers hardware abstraction layer. This requires to replace direct calls to hardware (e.g. from SDL to its own abstraction) but as a side effect, the code will be automatically available on all supported platforms (desktop, mobile, tablet, etc).

Additionally, for games that have 3D graphics, it allows to use OpenGL as well a software render, TinyGL. This renderer should be powerful enough to replace OpenGL usage (except for shaders), but it offers compatibility for platforms that do not have hardware acceleration (at the cost of CPU power).

Finally, ScummVM allow to run games with major improvements. For instance, the Ultima engines or the Blade Runner, both of them enhance the experience well beyond their retail versions.

xavieran commented 1 year ago

Thanks for that info. I think it would definitely be possible to integrate with ScummVM then, the design isn't too tightly coupled to OpenGL or SDL yet. I'll keep this in mind as I continue development.

If there's any more info you'd like to attach to this ticket feel free to.

xavieran commented 2 months ago

This is not on my roadmap, if someone else wants to volunteer to integrate or port the code to scummvm they are more than welcome.