Is ScummVM too flexible for its own good?
Moderator: ScummVM Team
Is ScummVM too flexible for its own good?
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.....
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.....
Last edited by NovaCoder on Wed Feb 02, 2011 4:03 am, edited 1 time in total.
- LogicDeLuxe
- Posts: 437
- Joined: Thu Nov 10, 2005 9:54 pm
Re: Is ScummVM too flexible for its own good?
Never heard of FM-Towns then?NovaCoder wrote:just be able to play the (best) version which is arguably always going to be the PC version.
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.
Re: Is ScummVM too flexible for its own good?
It is pretty obvious that you did not investigate what OSystem is and what is the ScummVM architecture. Your arguments are not quite correct.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).
Eugene
Re: Is ScummVM too flexible for its own good?
Hiya Eugene,sev wrote:It is pretty obvious that you did not investigate what OSystem is and what is the ScummVM architecture. Your arguments are not quite correct.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).
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.
- MeddlingMonk
- Posts: 221
- Joined: Wed Jan 21, 2009 10:06 pm
-
- Posts: 7
- Joined: Sun Mar 29, 2009 8:39 pm
- Contact:
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.
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.
Re: Is ScummVM too flexible for its own good?
My argument as already stated above
This is just my opinion, I don't get upset when people don't agree with me
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.NovaCoder wrote:with increased flexibility you increase code complexity which will always result in more bugs and less performance (coding 101).
This is just my opinion, I don't get upset when people don't agree with me
Last edited by NovaCoder on Wed Feb 02, 2011 4:23 am, edited 1 time in total.
Re: Is ScummVM too flexible for its own good?
No, of course it hasn't been raised before because it's just plain stupid.NovaCoder wrote:Ok this is a bit of a radical idea (and one that has probably been raised before?).
One of the goals of the project is flexibility. The minor increase in complexity is to the minor differences between the games.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).
We're not here to just support the DOS versions of games. That's what DOSBox is for. And Windows versions have Wine.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 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.
Re: Is ScummVM too flexible for its own good?
I thought DOSBOX emulates MSDOS whereas ScummVM is an interpreter than runs natively on the host system?clone2727 wrote:That's what DOSBox is for.
Re: Is ScummVM too flexible for its own good?
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.NovaCoder wrote:I thought DOSBOX emulates MSDOS whereas ScummVM is an interpreter than runs natively on the host system?clone2727 wrote:That's what DOSBox is for.
- eriktorbjorn
- ScummVM Developer
- Posts: 3561
- Joined: Mon Oct 31, 2005 7:39 am
Re: Is ScummVM too flexible for its own good?
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.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.
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.
Re: Is ScummVM too flexible for its own good?
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.
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.
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.I'm a coder
- 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?
Obvious troll is obvious.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.
- LogicDeLuxe
- Posts: 437
- Joined: Thu Nov 10, 2005 9:54 pm
Re: Is ScummVM too flexible for its own good?
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.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.
- eriktorbjorn
- ScummVM Developer
- Posts: 3561
- Joined: Mon Oct 31, 2005 7:39 am
Re: Is ScummVM too flexible for its own good?
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.LogicDeLuxe wrote:I doubt that anyone preferring the Amiga version actually did this comparison.