(Theoretical ATM) Making an engine, getting it in ScummVM.

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
willrandship
Posts: 9
Joined: Fri Jun 03, 2011 5:07 am

(Theoretical ATM) Making an engine, getting it in ScummVM.

Post by willrandship »

It's hard to come up with 50 char titles. So sue me.

Here's my question: If I were to make a free Scumm-like engine (think AGS, but hopefully cleaner and available on many more platforms) and have it released as open source, tools included so others could make their own games for it, how hard would it be to convince the ScummVM team to integrate it into their own system? (Don't worry, the code should be pretty portable. Think Software-Rendered SDL for everything, and written in C/C++, or maybe python.)

I plan on making commercial games on the engine, but the engine itself will be 100% Open Source and free (gratis) to use. The games will not be, but they will simply be scripted files the engine reads.

Please don't beg me for any other info on the engine itself unless it's related to the question. I'm not actually working on it at the moment, and that's not likely to change for at least 8 months.
User avatar
sev
ScummVM Lead
Posts: 2304
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Post by sev »

Then why not start right away with ScummVM's OSystem and not plain SDL?


Eugene
willrandship
Posts: 9
Joined: Fri Jun 03, 2011 5:07 am

Post by willrandship »

Well, I would if I'd known about it. Other than This One, is there any reference documentation on how to use it?

Also, how unhappy would everyone be if it depended on OpenGL? I had a really cool idea for a feature that would provide 3D graphics without any extra strain on the game creators, but if it's too painful to implement in ScummVM I could easily make 2 versions, one running a simpler 2D version, the other with the fancy effects.
User avatar
ezekiel000
Posts: 443
Joined: Mon Aug 25, 2008 5:17 pm
Location: Surrey, England

Post by ezekiel000 »

If you wanted to use opengl you could build it for Residual instead.
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

ezekiel000 wrote:If you wanted to use opengl you could build it for Residual instead.
That's not true, there is a (currently WIP) OpenGL backend for ScummVM, so it is possible to use OpenGL, albeit for 2D graphics only. For 3D graphics, a lot of additional code is required, which is probably more within the scope of the Residual project.
User avatar
LordHoto
ScummVM Developer
Posts: 1029
Joined: Sun Oct 30, 2005 3:58 pm
Location: Germany

Post by LordHoto »

md5 wrote:
ezekiel000 wrote:If you wanted to use opengl you could build it for Residual instead.
That's not true, there is a (currently WIP) OpenGL backend for ScummVM, so it is possible to use OpenGL, albeit for 2D graphics only. For 3D graphics, a lot of additional code is required, which is probably more within the scope of the Residual project.
But using the OpenGL backend is fundamentally different to using OpenGL directly, since the OpenGL backend is just the backend to draw the game screen etc., while when using OpenGL you can use it for transparency effects etc.
User avatar
LordHoto
ScummVM Developer
Posts: 1029
Joined: Sun Oct 30, 2005 3:58 pm
Location: Germany

Post by LordHoto »

willrandship wrote:Well, I would if I'd known about it. Other than This One, is there any reference documentation on how to use it?
That's documentation for people wanting to build a backend, while you want to built a frontend/engine.

For you http://wiki.scummvm.org/index.php/HOWTO-Engines would be more interesting. Also there's a page with docs for much of the APIs used in ScummVM's engine development over here: http://doxygen.scummvm.org/ Furthermore there's other wiki pages to read up on some info for engine development like:
http://wiki.scummvm.org/index.php/Coding_Conventions
http://wiki.scummvm.org/index.php/Code_ ... onventions
willrandship
Posts: 9
Joined: Fri Jun 03, 2011 5:07 am

Post by willrandship »

Just a quick thought: Providing I don't use any data files from the original games, it should still be legal to have a commercial engine based off of, say, the BASS/Broken Sword engines, right? I was thinking that since I'd have to make some kind of data editor anyways, it would be easier to base it off of one of the existing engines, and I really like the feature that allows you to have a person have a specified activity set that spans rooms. Lure overused it, but I think BASS showed how smooth that effect can really be.

Oh, and the 3D effect thing: It's really just a cool idea I had that has an extremely low priority, and doesn't need to be made before the game is. It'll mainly be a rendering effect, so worst case scenario I can do a fork and just make a specialized engine for it.
User avatar
sev
ScummVM Lead
Posts: 2304
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Post by sev »

I would not recommend to base your game on top of SCUMM engine.

As of the other engines, well, it could help if there be those editors. But we have no game authoring tools available for majority of the engines. The ones we have are for minor games and will be of a little help.

What you can also consider is basing your game on AGS 2.x. We are in favor of adding that engine to ScummVM once the source code is available, and it has a great game editor and established game creators base which could help you with technical questions.


Eugene
willrandship
Posts: 9
Joined: Fri Jun 03, 2011 5:07 am

Post by willrandship »

Yeah, the scumm engine is very messy. I was just thinking that since I'd have to make authoring tools of some sort regardless, I might as well use an engine that has already proved itself. I was thinking about using lure, sky or one of the swords. I'm not sure about them yet, though, because looking at the game files has me mystified on how they actually work, and the engines appear to be somewhat tied to their specific game.

From what I've heard, AGS has little chance of becoming part of scummvm for some time, and I'd rather not tie the game to a specific platform for now.
Post Reply