How much effort would it take to make a new ScummVM subproj?

All the inane chatter goes in here. If you're curious about whether we will support a game, post HERE not in General Discussion :)

Moderator: ScummVM Team

Post Reply
tumbleweed
Posts: 45
Joined: Fri Mar 01, 2013 3:37 pm

How much effort would it take to make a new ScummVM subproj?

Post by tumbleweed »

Hi!

I am a complete ignorant on inner scumm issues and C+, but I've seen a lot of public repositories with implementations of classical platform games (even original source codes).

Same as ScummVM is for 2D adventures and residualVM for 3D adventures, PlatformVM could be for 2D platform games.

I know these games are usually not so critical to port as they usually don't consume too many resources, and either way we can ultimately use DosBox, but given there is a lot of reimplementations already done, most in C+, and also that ScummVM has a strong basement integrated for audio, filters and portability much better than DosBox IMHO, I am just wandering how much time can a begginer consume for such a task (only for those games already implemented) and look for collaborators. I mean, I am assuming (that's a lot) that the non-engine related effort for Residudal was minimal and could benefit a lot from what is already done in Scumm. Please, deny me the fact if it isn't like so.

There is another part I am afraid it won't be so easy. I guess there is some kind of mapping between lowlevel code and ScummVM. I would be surprised if you tell me that provided the source code of a game it is really fast to integrate, but that could be a totally go-for-it.

As a matter of fact, some projects already redone:

Special mention to inhouse Cyx projects (Flashback, Another world, Bermuda Syndrome):
http://cyxdown.free.fr/

Prince of Persia: https://github.com/jmechner/Prince-of-Persia-Apple-II

Rick Dangerous: https://github.com/chrilith/RickJS , https://github.com/fabiensanglard/xrick/

Pushover: http://pushover.sourceforge.net/ , http://ishisoft.com/archives/126

Perhaps Worms Armaggedon soon (user has the original sources): https://github.com/CyberShadow/ae

And some other githubs (Incredible machine..)

Any cons or back-to-reality T&M considerations to discard that dream? I wouldn't like to start something just to see after a while I cannot ultimately cope with.

Precisely because of that, don't take too seriously my words and expect not even a 30% decided announcement. Just assessing if things were really not that comlpicated in a first sight .
User avatar
Strangerke
ScummVM Developer
Posts: 333
Joined: Wed Sep 06, 2006 8:39 am
Location: Belgium

Post by Strangerke »

As you may know if you read our mailing list, this kind of question is asked once in a while even by ScummVM developers, by asking to enlarge the scope of the project or by suggesting a fork.

Enlarging the scope has been rejected multiple times, so let's skip this part and focus on your suggestion: a fork.

Forking into a new project implies that you have to find a way to keep up to date the common code, without caring about the non-common code. ResidualVM guys can tell: it's taking a LOT of time. Add to that several task you have to take into account: all the administrative work done for ScummVM since the beginning would have to be duplicated: wiki, forum, hosting, buildbot, etc. Add to that the needs of a graphist to make some visuals... it's really, really A LOT of work.

Now on the engine side. When we are lucky enough to receive sources, it takes us a good 3 months of hard work for 2 or 3 developers to have something decent and properly integrated. it's of course longer when the sources are in assembly or in Pascal. and it's even longer when we don't get sources at all, of course! I won't comment about the Javascript sources you suggested for Rick, I have no idea how long it would take to rewrite that in C++.

Add to that the obvious: maybe those guys don't want their code to be merged in a retro-gaming project, and would be pissed and / or would refuse to give support...

And the result is what you know: nobody managed to gather enough (energy+time+interest) to make it happen.
tumbleweed
Posts: 45
Joined: Fri Mar 01, 2013 3:37 pm

Post by tumbleweed »

Thanks Strangerke!

Wow, then there must be real geniouses here, because I saw an almost completion of games that need to be reverse enginered in few months!!

I was expecting you to tell me, if you got te sources, and after learning how to do the first one it's relatively fast but I see it isn't...

And I guess your estimations are for experienced programmers in C++ and intrinsics within scumm engine....

:'(

The more useless I feel, the more I appreciate the task you are doing. It's really atonishing your knowledge and commitment.
User avatar
LordHoto
ScummVM Developer
Posts: 1029
Joined: Sun Oct 30, 2005 3:58 pm
Location: Germany

Post by LordHoto »

tumbleweed wrote:And I guess your estimations are for experienced programmers in C++ and intrinsics within scumm engine....
Most of our developers know nothing about the SCUMM engine internals at all. SCUMM is really just our oldest/mainlin engines and thus we are named ScummVM. It's not like any of the other engines we implement are connected to SCUMM when it comes to their implementation.
tumbleweed
Posts: 45
Joined: Fri Mar 01, 2013 3:37 pm

Post by tumbleweed »

LordHoto wrote:
tumbleweed wrote:And I guess your estimations are for experienced programmers in C++ and intrinsics within scumm engine....
Most of our developers know nothing about the SCUMM engine internals at all. SCUMM is really just our oldest/mainlin engines and thus we are named ScummVM. It's not like any of the other engines we implement are connected to SCUMM when it comes to their implementation.
I meant ScummVM sorry. That's the part I find more complicated, one cannot simply enter and start modifying things others previously put it there without understanding them, but I guess that must be common in any open source project where you get into the middle of development.
User avatar
LordHoto
ScummVM Developer
Posts: 1029
Joined: Sun Oct 30, 2005 3:58 pm
Location: Germany

Post by LordHoto »

tumbleweed wrote:
LordHoto wrote:
tumbleweed wrote:And I guess your estimations are for experienced programmers in C++ and intrinsics within scumm engine....
Most of our developers know nothing about the SCUMM engine internals at all. SCUMM is really just our oldest/mainlin engines and thus we are named ScummVM. It's not like any of the other engines we implement are connected to SCUMM when it comes to their implementation.
I meant ScummVM sorry. That's the part I find more complicated, one cannot simply enter and start modifying things others previously put it there without understanding them, but I guess that must be common in any open source project where you get into the middle of development.
That's common with every project where you get into after it has been started ;-).
Post Reply