Is there a tool to write/compile games in SCUMM-Format?

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

Moderator: ScummVM Team

Post Reply
Lebostein
Posts: 58
Joined: Wed Nov 02, 2005 7:01 am
Contact:

Is there a tool to write/compile games in SCUMM-Format?

Post by Lebostein »

Hi,

the people of ScummVM have decoded the Scumm format. It is possible to reverse the process and write games (like Curse of Monkey Island) in this format to play them with ScummVM?

I had heard that a group is working on a SCUMM compiler. Is this still up to date?
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

Check the ScummC project, here:
http://alban.dotsec.net/7.html
Lebostein
Posts: 58
Joined: Wed Nov 02, 2005 7:01 am
Contact:

Post by Lebostein »

Thank you for the hint. I am on it. :D
What about the support of ScummVM with self made games?

PS: For other ScummC users: Last week I wrote a little Font-Creator/Editor for SCUMM fonts. You can add, remove and edit characters, create new character sets from TTF fonts (single line, with shadow or outlined) and so on. You can save and load fonts as files which contains the CHAR block from the SCUMM data format (this is also the font format that ScummC needs to build games). If you want to open fonts from old LA games, then copy a CHAR block from the game data into a single file with the extension *.char. You can also copy and paste single character images using the clipboard, a little painting tool to edit and delete pixels directly is included. Caution: There is no undo function included yet (save your font to from time to time).

CHAR-Editor

*) On Mac OS X the font creation tool from TTF fonts don't work correctly. Mac OS X draws the characters with antialiasing = more than 2 colors. I will fix this if I find out how I can print characters in raw mode. Use the windows version for font creation.
Last edited by Lebostein on Wed Jul 30, 2014 10:18 am, edited 3 times in total.
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

Lebostein: Please see the relevant FAQ:
http://wiki.scummvm.org/index.php/HOWTO-Fangames

You seem to be confusing the SCUMM engine with the totality of ScummVM:
http://wiki.scummvm.org/index.php/SCUMM

There are many other engines within ScummVM. See here for a list:
http://wiki.scummvm.org/index.php/Engines

We highly discourage developing new games or fangames for the SCUMM engine for the reasons listed in the Fangames HOWTO.

Several of the other engines actively support fangames, have freely available authoring tools and an active community.

I would probably recommend Wintermute which is present in the latest v1.7.0git development version as the authoring tools are modern and the engine has been used for a number of quite advanced games:
http://wiki.scummvm.org/index.php/Wintermute
Lebostein
Posts: 58
Joined: Wed Nov 02, 2005 7:01 am
Contact:

Post by Lebostein »

digitall wrote:Lebostein: Please see the relevant FAQ:
http://wiki.scummvm.org/index.php/HOWTO-Fangames
Thanks!
2. Write a game targeted for an existing engine.

This is recommended, however:
Only a few of the engines have publicly available authoring tools.
Developing for any other engine would require the author to develop their own tools, which is not a trivial task as a full understanding or specification for the engine would be needed.
This approach has the advantage that it will work with the standard ScummmVM release binaries with no issues around developing or adding new engine code. The engines which are known to support authoring tools and thus currently have a number of "fangames" also have detectors which will detect and add entries for unknown games, though upon game completion contacting the ScummVM team will allow a full detection entry to be added of the stable final version..
That is exactly what I do. So, I see no problem to write a game using the SCUMM format and replay it with ScummVM.
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

*sigh*

The point is that the SCUMM engine is NOT suitable for fangames, as the FAQ clearly states.

As I said before, "Several of the other engines actively support fangames, have freely available authoring tools and an active community."

Firstly, the SCUMM engine detection system has no general purpose detection for fangames and changing the current code to add this is not at all trivial.

Secondly, although ScummC exists, it has never been used for any game, apart from the OpenQuest demonstration game. It is also a command line tool and not very "user friendly" compared to the Wintermute tools.

Thirdly, there is no active community around ScummC. Checking the mailing list archives, this seems to just be spam for at least the last few years, so using it to make a game sounds like a very difficult and painful exercise.

Fourthly, the SCUMM engine is technically limited in various ways. Using a more modern engine such as Wintermute allows much larger screen sizes, color depths etc.

Finally, as the Fangames HOWTO states:
"Also, we highly discourage writing fangames for the SCUMM engine. As is indicated by the preceding fan-fiction link, LucasArts Legal have a history of pursuing any unauthorised use of their characters, stories etc. by fans."

See https://en.wikipedia.org/wiki/Fan_fiction#Legality

As they are now owned by Disney, who also have history of legal action of this type, I would _REALLY_ suggest that you avoid using the SCUMM engine as a target.
Lebostein
Posts: 58
Joined: Wed Nov 02, 2005 7:01 am
Contact:

Post by Lebostein »

digitall wrote: Firstly, the SCUMM engine detection system has no general purpose detection for fangames and changing the current code to add this is not at all trivial.
Hm. It is very simple. Only some lines of code. See the ScummC manual. But this is not needed. You can play self made games without changing ScummVM.
digitall wrote: Secondly, although ScummC exists, it has never been used for any game, apart from the OpenQuest demonstration game. It is also a command line tool and not very "user friendly" compared to the Wintermute tools.
It works very well. I have tested some stuff. The scripting is self-explanatory and no more complicated than with AGS or Wintermute. Resources can be easily added. A comfortable room editor is missing only... but scripting is scripting, no matter which engine.
digitall wrote: Thirdly, there is no active community around ScummC. Checking the mailing list archives, this seems to just be spam for at least the last few years, so using it to make a game sounds like a very difficult and painful exercise.
All stuff seems to work. And it is open source and easy to overlook. ScummC is "only" a tool to create a data package.
digitall wrote: Fourthly, the SCUMM engine is technically limited in various ways. Using a more modern engine such as Wintermute allows much larger screen sizes, color depths etc.
Yea. In addition to AGS there is no other engine for low-res-games. AGS has some limits, SCUMM has some limits. But with ScummVM it is possible to play on different hardware. AGS works windows only (and Mac OS). The only big restriction of SCUMM is the 256 color palette.
digitall wrote: Finally, as the Fangames HOWTO states:
"Also, we highly discourage writing fangames for the SCUMM engine. As is indicated by the preceding fan-fiction link, LucasArts Legal have a history of pursuing any unauthorised use of their characters, stories etc. by fans."
No one has said to use resources from LucasArts. With ScummC it is possible to create games with 100 % own stuff.

It seems there are only technical obstacles (point 1-4). That should not be a problem.
Thanks for your opinion!
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

I can not find any URL for the ScummC manual. After checking in the SVN and the ScummC-0.2.0 download package, there are integration patch for detection under patches subdirectory.

However, the latest of these is scummvm-0.11.0-scummc.diff.

This patch intended for v0.11.0 does not apply cleanly to v1.7.0git due to various changes to the SCUMM detection code.

If you have an updated patch, feel free to provide a link...

Generally, though as this is more a proof of concept than a finished toolchain, we thus recommend the more modern and user friendly Wintermute.

If you are "hell bent" on using SCUMM as your target, we can't prevent you, but due to the possible legal problems which could damage the project team, we can not offer any help with this.

Note that this is not an abstract argument as we currently have an active court case in the US where the usage of a bytecode API and whether it is copyrighted are being argued:
https://en.wikipedia.org/wiki/Oracle_v._Google
Lebostein
Posts: 58
Joined: Wed Nov 02, 2005 7:01 am
Contact:

Post by Lebostein »

The plan is to combine an easy to use room editor with simple textfiles for scripting, like AGS...
https://dl.dropboxusercontent.com/u/134 ... t_plan.png

CHAR-Editor: Finished.
ROOM-Editor: Finished.
COST-Editor: Under Construction...
https://dl.dropboxusercontent.com/u/134 ... index.html

I hope I can make it...
Last edited by Lebostein on Tue Jul 15, 2014 12:50 pm, edited 1 time in total.
idleberg
Posts: 2
Joined: Fri Aug 30, 2013 11:23 pm
Location: Vienna
Contact:

Post by idleberg »

Any plans to put these tools (and their source) on a more future proof hosting platform such as GitHub? We all know what happened to Alban's website, would be sad if these tools would follow (also, Alban is now hosting ScummC on GitHub)
Post Reply