Is ScummVM too flexible for its own good?

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

Moderator: ScummVM Team

NovaCoder
Posts: 74
Joined: Wed Sep 23, 2009 11:53 pm

Is ScummVM too flexible for its own good?

Post by NovaCoder »

Ok this is a bit of a radical idea (and one that has probably been raised before?).

I think ScummVM is too flexible. Why is that a problem you might ask, well with increased flexibility you increase code complexity which will always result in more bugs and less performance (coding 101).

Currently ScummVM interprets the same game from many different platforms which are then playable by many different backend platforms. I think it would have been much better to have built ScummVM to just interpret games from a single platform (the PC) and then create multiple platform specific back-ends.

So in other words, rather than being able to play the NES, Amiga. Mac or PC version of Manic Mansion on say an iPhone you'd just be able to play the (best) version which is arguably always going to be the PC version.

Just an idea.....

:twisted:
Last edited by NovaCoder on Wed Feb 02, 2011 4:03 am, edited 1 time in total.
User avatar
LogicDeLuxe
Posts: 437
Joined: Thu Nov 10, 2005 9:54 pm

Re: Is ScummVM too flexible for its own good?

Post by LogicDeLuxe »

NovaCoder wrote:just be able to play the (best) version which is arguably always going to be the PC version.
Never heard of FM-Towns then?
Also Amiga music is sometimes better than OPL or even PC speaker only games.
For Maniac Mansion, I think, many prefer the SID over PCjr or the Atari sounds.

The most important reason to support all of them though: You can just play what you have and don't have to buy another version.
User avatar
sev
ScummVM Lead
Posts: 2306
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Re: Is ScummVM too flexible for its own good?

Post by sev »

NovaCoder wrote:I think ScummVM is too flexible. Why is that a problem you might ask, well with increased flexibility you increase code complexity with will always result in more bugs and less performance (coding 101).
It is pretty obvious that you did not investigate what OSystem is and what is the ScummVM architecture. Your arguments are not quite correct.


Eugene
NovaCoder
Posts: 74
Joined: Wed Sep 23, 2009 11:53 pm

Re: Is ScummVM too flexible for its own good?

Post by NovaCoder »

sev wrote:
NovaCoder wrote:I think ScummVM is too flexible. Why is that a problem you might ask, well with increased flexibility you increase code complexity with will always result in more bugs and less performance (coding 101).
It is pretty obvious that you did not investigate what OSystem is and what is the ScummVM architecture. Your arguments are not quite correct.


Eugene
Hiya Eugene,

In what respect?

Obviously it's nice that ScummVM supports game files from all of this different platforms but there is a cost to this flexibility.
User avatar
MeddlingMonk
Posts: 221
Joined: Wed Jan 21, 2009 10:06 pm

Post by MeddlingMonk »

There's a cost...but you can't be bothered to articulate what it is, apparently.
beatlefreak9
Posts: 7
Joined: Sun Mar 29, 2009 8:39 pm
Contact:

Post by beatlefreak9 »

I'd like to hear what your argument is... I don't think there's any cost. ScummVM doesn't emulate an entire operating system that the game required, it interprets the datafiles, which are similar, regardless of the platforms... IE the SCUMM datafiles (sprites, scripts) for a PC version of the game would be similar, if not the same (possibly packaged differently), for the Amiga version.
I've always seen ScummVM as a model project of portability and organization because of its many backends and engine architecture. But that's just me.
NovaCoder
Posts: 74
Joined: Wed Sep 23, 2009 11:53 pm

Re: Is ScummVM too flexible for its own good?

Post by NovaCoder »

My argument as already stated above :wink:
NovaCoder wrote:with increased flexibility you increase code complexity which will always result in more bugs and less performance (coding 101).
I'm a coder (and user) who simply wants to run the best versions of games on platforms that don't natively support them. If the plaform already supports the games natively then ScummVM is not really needed (eg using ScummVM to run an Amiga version of a game on an Amiga). Obviously old PC DOS games don't run natively on modern Windows platforms and therefore need to use ScummVM.

This is just my opinion, I don't get upset when people don't agree with me :wink:
Last edited by NovaCoder on Wed Feb 02, 2011 4:23 am, edited 1 time in total.
User avatar
clone2727
Retired
Posts: 1611
Joined: Fri Jun 09, 2006 8:23 pm
Location: NJ, USA

Re: Is ScummVM too flexible for its own good?

Post by clone2727 »

NovaCoder wrote:Ok this is a bit of a radical idea (and one that has probably been raised before?).
No, of course it hasn't been raised before because it's just plain stupid.
NovaCoder wrote:I think ScummVM is too flexible. Why is that a problem you might ask, well with increased flexibility you increase code complexity with will always result in more bugs and less performance (coding 101).
One of the goals of the project is flexibility. The minor increase in complexity is to the minor differences between the games.
NovaCoder wrote:So in other words, rather than being able to play the NES, Amiga. Mac or PC version of Manic Mansion on say an iPhone you'd just be able to play the (best) version which is arguably always going to be the PC version.
We're not here to just support the DOS versions of games. That's what DOSBox is for. And Windows versions have Wine.

We're here to reimplement the game engines, not just one game version/platform.

By your logic, we should only support one version of each engine too. Beyond that, it's just way too complex! All these different versions of the engine make the code too complex so we shouldn't support them. I guess we'll just have SCUMM v0 and Maniac Mansion C64 left.
NovaCoder
Posts: 74
Joined: Wed Sep 23, 2009 11:53 pm

Re: Is ScummVM too flexible for its own good?

Post by NovaCoder »

clone2727 wrote:That's what DOSBox is for.
I thought DOSBOX emulates MSDOS whereas ScummVM is an interpreter than runs natively on the host system?
User avatar
clone2727
Retired
Posts: 1611
Joined: Fri Jun 09, 2006 8:23 pm
Location: NJ, USA

Re: Is ScummVM too flexible for its own good?

Post by clone2727 »

NovaCoder wrote:
clone2727 wrote:That's what DOSBox is for.
I thought DOSBOX emulates MSDOS whereas ScummVM is an interpreter than runs natively on the host system?
I'm saying that interpreting one platform of a game would be equivalent of just using an emulator such as DOSBox. Of course there are other differences.
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3561
Joined: Mon Oct 31, 2005 7:39 am

Re: Is ScummVM too flexible for its own good?

Post by eriktorbjorn »

NovaCoder wrote: I'm a coder (and user) who simply wants to run the best versions of games on platforms that don't natively support them.
My impression is that in most cases where we support different versions, the other versions are quite similar internally. At worst, data may be stored in a different byte order, graphics may be compressed differently and the sound may be completely different, but those are all things that should be fairly easy to handle so that the different versions don't interfere with each other. Of course, the more common versions are still the ones who will receive the most testing. I don't see the harm.

Also, who decides which version is the best? I've heard people claim that at least musically, the Amiga version of Indiana Jones and the Fate of Atlantis is the superior one. After listening to some YouTube clips of it, I'd say they're deranged but it's still a valid opinion. Even in the cases where almost everyone agrees, the best version may be prohibitively rare and expensive. For instance, the 256-colour version of Zak McKracken and the Alien Mind Benders for the FM-Towns is currently going for $600 on eBay, and no one I know has even seen the CD version of Future Wars for sale anywhere.

I would guess that a far greater source of regressions are the engines which support a large number of different games. We could probably simplify the SCUMM and SCI engines a lot by deciding to only support the "best" SCUMM and SCI games. Obviously, that would be Day of the Tentacle and Gabriel Knight Sins of the Fathers. Whew, I'm glad we're all in complete agreement on that! ;)
Last edited by eriktorbjorn on Wed Feb 02, 2011 5:56 am, edited 1 time in total.
User avatar
tsoliman
ScummVM Developer
Posts: 404
Joined: Wed Jan 19, 2011 3:47 pm
Location: USA

Re: Is ScummVM too flexible for its own good?

Post by tsoliman »

NovaCoder, your points are only valid out of context of the current state of the project. We aren't really having performance problems. There aren't really more bugs than people can manage to fix. It's not like the project is a victim of its complexity.

If your goal was to spark discussion, well done.

In the context of this project at this stage, I'd have to agree with clone2727. It is a stupid idea.

These sorts of things tend to sort themselves out in popular open source projects like this one.
I'm a coder
Congratulations! Lucky for you, scummvm is open source. Now go pick up a compiler and fix those bugs and performance issues on the favorite versions of your favorite games.
User avatar
DrMcCoy
ScummVM Developer
Posts: 595
Joined: Sat Dec 17, 2005 1:33 pm
Location: Braunschweig, Germany
Contact:

Re: Is ScummVM too flexible for its own good?

Post by DrMcCoy »

NovaCoder wrote:I think ScummVM is too flexible.
[...]
you'd just be able to play the (best) version which is arguably always going to be the PC version.
Obvious troll is obvious.
User avatar
LogicDeLuxe
Posts: 437
Joined: Thu Nov 10, 2005 9:54 pm

Re: Is ScummVM too flexible for its own good?

Post by LogicDeLuxe »

eriktorbjorn wrote:I've heard people claim that at least musically, the Amiga version of Indiana Jones and the Fate of Atlantis is the superior one.
Strange. Sure, the samples sound better then OPL. However, they ditched all the nice iMuse stuff there, which renders the music rather boring. The MT-32 version is far better. I doubt that anyone preferring the Amiga version actually did this comparison.
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3561
Joined: Mon Oct 31, 2005 7:39 am

Re: Is ScummVM too flexible for its own good?

Post by eriktorbjorn »

LogicDeLuxe wrote:I doubt that anyone preferring the Amiga version actually did this comparison.
Here is the discussion I vaguely remembered about it. He was talking about using the Amiga music for the PC versions in general, but used "indy4" as an example of a game that would benefit from it.
Post Reply