Community

SCI Programming => SCI Development Tools => Topic started by: gumby on September 22, 2010, 08:18:39 AM

Title: SCI tool requests
Post by: gumby on September 22, 2010, 08:18:39 AM
Okay, I had to start this post.  What is lacking from a development standpoint of SCI games?  Could be creating a game from the ground up or reverse-engineering an existing game.  I'm not referring to a revamped recreation of Studio or Companion, but rather tools that would ease laborious tasks.

If there are requests out there that are 'targeted' into a specific problem, *especially* if they do not involve a GUI (command line is my specialty, I might be up for some light GUI work...) I may be up for giving some of my time to addressing them. 

Examples of what I've been working on/am working on are an external vocab editor & a spelling/grammar checker for text resources.
Title: Re: SCI tool requests
Post by: Collector on September 22, 2010, 02:09:33 PM
RE tools are what I would like to see, but I would have to give it some thought as to exactly what. My interest is more about fixing Sierra games. There are still some games with timer issues and other errors. I can think of other modifications would be nice, too. A no interlace patch for Phantasmagoria 2. Endroz' created his no interlace patch for GK2 and Phantasmagoria 1 can turn the interlacing on and off through the preferences, but not Phantasmagoria 2. Endroz' UniSCI tool is great for concatenating resources spanned across multiple CDs, but does not work with Lighthouse or RAMA.
Title: Re: SCI tool requests
Post by: MusicallyInspired on September 22, 2010, 06:05:50 PM
As far as I'm concerned, the biggest issue I have with SCI development is the almost complete lack of proper sound resource tools. We need an all-inclusive SCI Sound Resource tool that can do everything SCI Viewer, Soundbox, SYX2PAT, BNK2PAT/PAT2BNK, and ADDWAV can do and more. Adlib emulation for proper previewing of sound resources via Adlib output would also be welcome. Currently SCI Viewer will only output to a MIDI device which obviously doesn't work well if you want to preview the sound in Adlib mode. An easier way to add loop points and cue points than how Soundbox handles it. Also, a built-in rudimentary MIDI sequencer would be nice to add quick fixes to MIDIs or even already converted sound resources.

I realise that would be a big job for anyone to take on and not everyone is a musician. But being a musician this is a major issue for me regarding creating SCI games. Especially since SCI centers around music with a lot more focus and attention than AGI ever did.

Besides that, if a VGA SCI IDE tool is ever completed it'd be nice to have a converter to convert back and forth between PCX/BMP/JPG/GIF/PNG/WHATEVER and background resources. I long to MOD SCI1+ backgrounds :D.

But I can't think of anything else for EGA games at the moment.
Title: Re: SCI tool requests
Post by: gumby on September 23, 2010, 09:33:15 AM
All right, nice.  I guess I could have predicted those 2 responses - right up both your alleys :).  Works for me!  I'm not quite ready to tackle these yet (several other things are in queue - the text dumper is my current tool development project), but I'm all for it.  I'll circle back around for more details when I'm ready. 

P.S.  - if there is a tool that would be relatively simple to develop (unquantifiable, I know...) , I might knock that out sooner rather than later.
Title: Re: SCI tool requests
Post by: gumby on September 29, 2010, 10:38:30 PM
Here's an idea for a tool:  Given a view resource that only has the 'visual' canvas created (like a bmp image that was 'refreshly' imported via SCI Companion), leverage an edge-detection tool to draw all the control lines into the 'control' canvas.

Not sure where edge-detection technology is at this point & how it would work on the relatively 'rough' EGA images that SCI uses.  Developer would still need to assign a control color to each edge-detected line.

I've never even done this by hand, myself (I've only done very minimal programming the control colors & the like).  Figured I would throw the idea out there for everyone to shoot holes in it.
Title: Re: SCI tool requests
Post by: MusicallyInspired on September 30, 2010, 08:06:33 AM
You can already do this. When using a fake ego view for testing the priorities of a background you can set the view's priority manually, have it change to whatever priority colour it's on, and also enable "observe control lines" so it won't go past control lines. I think it only counts white ones. I specifically requested this from troflip when Companion was in its infancy to which he happily obliged, to my delight.
Title: Re: SCI tool requests
Post by: gumby on September 30, 2010, 08:18:59 AM
I'll have to check this out.  Like I said I've done next to nothing with view designing/developing...
Title: Re: SCI tool requests
Post by: gumby on October 01, 2010, 10:29:39 PM
Okay, my bad.  I should have played with Companion before I posted this idea.  I should have said "priority" instead of "control".  My thoughts were to (automatically) identify all the objects in the image & then allow the developer to pick a priority color for each (or simply ignore the object if it's in the background), rather than trace each one by hand.
Title: Re: SCI tool requests
Post by: MusicallyInspired on October 01, 2010, 11:13:05 PM
Is that even possible? How does a picture know what you want in the foreground and what in the background?

Unless you mean something like AGS where you can import a priority mask image as priority data for a background image? Much like how you import/convert other images to a visual picture resource in SCI Companion? I've been actually really wishing for such a tool, actually. Would make things a lot easier if you didn't have to draw priority lines with Companion's tools. And Control lines as well, for that matter.
Title: Re: SCI tool requests
Post by: Collector on October 01, 2010, 11:56:54 PM
How about an import/export tool that would allow you to work with such things in a good vector tool like Corel Draw or illustrator?
Title: Re: SCI tool requests
Post by: gumby on October 02, 2010, 08:39:26 AM
Right, there is no way to detect what should be in the foreground/background without some form of depth.  The developer would need to be presented with each object that was identified & indicate if a priority color was desired.  But you've hit on it - I'm looking for a way to minimize/avoid drawing priority lines. 

How is the image editing for Studio/Comp?  Would importing/exporting views to another tool be beneficial?  I really need to spend some time working with views to see what I'm up against...

Title: Re: SCI tool requests
Post by: MusicallyInspired on October 02, 2010, 11:47:37 AM
Views are basically no problem. You can copy/paste back and forth between Companion's View editor and any image editing program. And it'll translate the palette to SCI's 16-color range as close as possible. It doesn't have any of the detail options that the background image converter has so it's only a "nearest neighbor" type of deal. No dithering or anything.

If only we had the source for Companion. We could look at the code for how the background image converter works and work something exactly the same for control and priority....

...actually, now that I'm thinking about it this is possible already! Here's what you do, create a priority screen version of a background in an image editor (this would be easy if you're already working with layers to create a background image) and import it into SCI Companion the same way you would import a regular background image. Make sure the colors are right and then go into the the toolbox with all the image "undo states" on the left and change each instance of "Set Visual" to a "Set Priority" instead and you've got your priority image! It wouldn't be an automatic detect thing like you're thinking, but like I said above, if you're already creating a background image with layers in a conventional image editor (Photoshop or Paint Shop Pro) you could easily create a priority image from this for importing with Companion's background converter.

Nonetheless, it would be handy to have a tool to do this for us either way.
Title: Re: SCI tool requests
Post by: Collector on October 02, 2010, 02:13:04 PM
Much of this would be far easier to do in vector than raster. Making adjustments would be very easy. I suppose that you could export your vector drawing to raster before importing into the game, but being able import/export a format like .CDR or .AI directly would be nice.
Title: Re: SCI tool requests
Post by: MusicallyInspired on October 02, 2010, 04:51:10 PM
That is true. But I just don't see the point personally in working with vector tools as opposed to raster tools for such a low resolution. Especially seeing as everything needs to be pixel perfect in such low resolutions.
Title: Re: SCI tool requests
Post by: Collector on October 02, 2010, 07:30:36 PM
That is true. But I just don't see the point personally in working with vector tools as opposed to raster tools for such a low resolution. Especially seeing as everything needs to be pixel perfect in such low resolutions.
Perhaps you have not worked much in vector graphics, but it is still far easier in vector. Besides, weren't the early SCI games done in vector, anyway?
Title: Re: SCI tool requests
Post by: gumby on October 02, 2010, 10:51:44 PM
Yeah, I'm pretty sure SCI0 uses vector graphics (which I think does make it easy to *programatically* modify them - all I've done is add control lines though).
Title: Re: SCI tool requests
Post by: MusicallyInspired on October 03, 2010, 12:20:13 AM
Yes, SCI0 (and AGI, incidentally) are vector based. But I just don't see the gain in converting from a modern vector-based image editing program like Corel Draw. What's the difference?
Title: Re: SCI tool requests
Post by: Collector on October 03, 2010, 04:18:10 AM
I'm not suggesting it for the backgrounds or sprites at the exclusion of raster, but rather more for things like control lines. It is extremely easy to draw and modify vector. You can edit by placing a node exactly where you want it, either by nudging it with your mouse/graphics pad or by directly entering the coordinates you want. If you want to add control lines to a background, it would be easier than drawing a raster line and then correcting the mistakes. It would just be nice for the game creator to be able to work with which ever format he found easiest or was the most comfortable with for the given task.
Title: Re: SCI tool requests
Post by: gumby on October 05, 2010, 08:13:15 AM
Hey, how about a tool that 'prunes' the vocabulary for a game?  Goes through and removes any unreferenced words (more precisely 'word-groups' - so that synonyms for a referenced word are not removed).  I'm still bothered by how many words are in the template game for Companion - it almost looks to be an all-inclusive list of any word ever used in any Sierra game.
Title: Re: SCI tool requests
Post by: MusicallyInspired on October 05, 2010, 08:20:04 AM
Good idea, but...does it really matter? File size isn't really an issue and even with a full vocab the size is still tiny. It doesn't take up heap space or anything does it?
Title: Re: SCI tool requests
Post by: gumby on October 05, 2010, 09:05:55 AM
I think that a bigger vocabulary isn't necessarily better - in fact, I think it leads to frustration by the game player, typing in all sorts of words that have *absolutely no bearing* on the game.  The parser says 'yep, looks good!' but the game has no intention of handling them.   Personally, to some degree, I appreciate it when a game comes back with 'I didn't understand that sentence' - it keeps me on track.  For example, if there is no reason I need to 'climb' in a game, then the first time I try to climb something & the parsing fails I can then move on to something else, rather than keep trying to do something that is impossible.

You are right - it would save no appreciable space.  It would speed up the parsing, but I'm sure not significantly.
Title: Re: SCI tool requests
Post by: Cloudee1 on October 05, 2010, 05:53:56 PM
Good idea, but...does it really matter? File size isn't really an issue and even with a full vocab the size is still tiny. It doesn't take up heap space or anything does it?

You know what, that is a really good question. I would think that it would. One way to test that would be to try stripping all of the words out of the black cauldron. It doesn't need them and it would be a way to find out. I'll get back to you...
Title: Re: SCI tool requests
Post by: Cloudee1 on October 08, 2010, 07:52:48 PM
Yeah, there is no change in available memory resources when you strip out all the vocab words.