Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - lance.ewing

Pages: 1 ... 60 61 [62] 63 64
916
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 26, 2010, 11:20:08 AM »
I now realise (after discussing it with Brian) who it was that first showed me the code from the book in question. It was Stuart George (aka Dark Fiber). I've just got in contact with Stuart and he does indeed remember the SCI code snippet and says he has the book. He is currently away from home, so it will be a few days until he can dig it out to confirm the title and also hopefully send through the SCI code snippets.

917
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 26, 2010, 01:17:52 AM »
It sounds like we'll need to find a first edition copy of King's Quest Companion in order to verify this. I went back to double check the title and, although it is possible the title is incorrect, apparently the SCI code was only it the first edition of the book in question. Apparently there was a law suit and all proprietry information was removed from later editions.

I've just reread what was said. The law suit was not in relation to the publisher of the book. Instead what happened is that Sierra sued another games company (presumably for building games like theirs) and the other company used the book in its defence claiming that the book is evidence that Sierra's technology was not completely protected. - Presumably this was a reason why the proprietary information was removed from later editions.

918
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 25, 2010, 03:59:29 PM »
I looked through both the 3rd and fourth editions page by page and found nothing. I believe the original KQ book was called something else, but that would have been pre SCI.

I have a copy of "The Official Book of King's Quest", which did indeed have some AGI source code in it. The person who told me that there was SCI source code in King's Quest Companion was an ex-Sierra employee. But I think it was based on a memory that is nearly 20 years old. There must be some basis to it though. When I showed him a snippet of script code from SCI Companion, he asked if some of that syntax came from the SCI snippets shown in King's Quest Companion. It may be that he is remembering the AGI code snippets in the earlier King's Quest book. I'll go back to him and check.

It sounds like we'll need to find a first edition copy of King's Quest Companion in order to verify this. I went back to double check the title and, although it is possible the title is incorrect, apparently the SCI code was only it the first edition of the book in question. Apparently there was a law suit and all proprietry information was removed from later editions.

919
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 25, 2010, 02:41:05 AM »
Don't you just wish that some ex-Sierra employee somewhere still has the SCI source code somewhere? Maybe even  the source for a game or two...

I doubt that an ex-Sierra employee would release the original source code in a way that would end up making it public. I've been discussing the original syntax with two ex-Sierra employees over the past week and even though they worked very closely with the system, they can't recall the exact syntax anymore. But they've given me a rough idea.

For starters, when I showed one of them a snippet of code from SCI Companion, he said that is definitely NOT the original syntax. He also told me that it was definitely not similar to C in anyway. This means that the method invocation mechanism that SCI Companion uses is wrong (i.e. using () as an invocation mechanism). Instead the method invocation used Smalltalk syntax, in fact it would seem that the language was more a cross between LISP and Smalltalk, but has its own set of keywords (by which I mean that those keywords in SCI don't appear to come from LISP or Smalltalk). Here is an example of syntax that is apparently closer to the original syntax. This is a snippet from SCI Companion that has been modified to use Smalltalk message sending syntax (no guarantees here that it is an exact match to the original but is closer to the original):

   (method (delete)
      (if (& signal $8000)
         (if (& signal $20)
            (gAddToPics add:   
               ((PV new:)
                  view: view
                  loop: loop
                  cel: cel
                  x: x
                  y: y
                  z: z
                  priority: priority
                  signal: signal
                  yourself:
               )
            )
         )
           (= signal (& signal $7FFF))
           (gCast delete: self)
         (if underBits
            (UnLoad rsMEMORY underBits)
            (= underBits NULL)
         )
           (super dispose:)
        )
   )

Smalltalk uses a message sending mechanism of the format:

object method: param

Smalltalk obviously doesn't have all of the LISP parentheses in there, but if we were to add those, then in the SCI language it becomes:

(object method: param)

You'll notice that kernel functions (such as Unload shown above) also do not have the ( ) around the parameters. In think this is where the LISP side of the syntax comes into it. Everything is just a list. The first item in the list is one of the following:

keyword  e.g.  (if underBits (do-something-here))
kernel function  e.g.  (Unload rsMemory underBits)
operator  e.g. (= underBits NULL)
object   e.g.  (gCast delete: self)

If parentheses exist within other parentheses then I think it is more a grouping mechanism rather than a way to pass parameters to a method. So that Unload example above is just (name-of-function param1 param2 etc).

920
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 25, 2010, 01:50:28 AM »
I looked through both the 3rd and fourth editions page by page and found nothing. I believe the original KQ book was called something else, but that would have been pre SCI.

I have a copy of "The Official Book of King's Quest", which did indeed have some AGI source code in it. The person who told me that there was SCI source code in King's Quest Companion was an ex-Sierra employee. But I think it was based on a memory that is nearly 20 years old. There must be some basis to it though. When I showed him a snippet of script code from SCI Companion, he asked if some of that syntax came from the SCI snippets shown in King's Quest Companion. It may be that he is remembering the AGI code snippets in the earlier King's Quest book. I'll go back to him and check.

921
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 24, 2010, 12:59:41 PM »
It is possible that he has the name of the book wrong. If you were able to verify this then that would be great. If you can't find anything in the book then I'll go back to him and ask if he had the title correct. It was a recollection rather than a certain fact.

922
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 24, 2010, 02:07:34 AM »
I have been reminded that the name of the book that has the original SCI code snippets in it is called "King's Quest Companion". Does anyone have a copy of that book so we can verify this?

923
SCI Development Tools / Re: SCI Decompiler?
« on: December 23, 2010, 01:40:54 AM »
there is a generic decompiler architecture in the scummvm codebase now (it was written in a Google Summer of Code project). It should be quite possible to write an SCI decompiler based on that. Doesn't help with compilation, of course.

Interesting. What does scummvm use the generic decompiler architecture for?

924
SCI Development Tools / Re: SCI Decompiler?
« on: December 22, 2010, 01:58:27 PM »
Sounds like a fun project doesn't it? It would be interesting to talk to the author to see how far he/she got. It is essentially the equivalent of the SHOWLOG tool I wrote for AGI but obviously a lot, lot harder. You'd basically need to start by understanding the compilation process. I'd imagine that looking at some of the successful Java decompilers might throw up some ideas on how to tackle it.

925
SCI Development Tools / SCI Decompiler?
« on: December 22, 2010, 05:14:59 AM »
I've seen references to someone other than Brian writing a SCI decompiler. Does anyone know much about this? Who it was? Where it is?

926
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 20, 2010, 05:25:36 PM »
There is a comment on this web site by someone who describes the SCI language as being like Smalltalk. Don't know what their source is:

http://multimedia.cx/eggs/the-interpreter/

Here's the quote:

"And quite an interesting fact: old games used byte-code so it would be easier to parse and run. For example, SCI

927
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 20, 2010, 05:21:39 PM »
I just founds Mark's blog as well. He has a blog entry that briefly talks about the SCI language.

http://mwilden.blogspot.com/search/label/sierra%20on-line

Here's a quote:

"So imagine my delight when, soon after, I got a job with Sierra On-Line, then (1989) the most prominent adventure game company. They had actually created their own language, SCI, that was a very pure implementation of OOP. I'll never forget that first night reading the documentation on my bed and just being consumed with this language that did things I wanted to do and even things I didn't know I wanted it to do.

Ever since then, I've run into lots of people who talked about the difficulties of making the paradigm shift to OOP. But not me. It was love at first sight."


928
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 20, 2010, 05:00:19 PM »
I realise I've taken this post completely off topic but since we were talking about the original SCI syntax, I thought you might all be interested in a web site I just discovered:

http://www.mwilden.com/smalltalk/index.htm

I found it interesting that it mentions not only C and Lisp but also Smalltalk as part of the hybrid that is SCI. Check out this quote:

"SCI was a combination of Lisp, C and Smalltalk, but the message-passing was very much Smalltalkesque. I loved the language"

It is interesting that on the same page he says "I'm sorry, but I cannot get into Lisp" but then says he loves the SCI language. This makes me think that it may have been more Smalltalk-ish that Lisp-like. Perhaps it only had a Lisp shell but was really more like Smalltalk.

I think I might email Mark and see if he can remember much about the original syntax of the language. Worth a shot...

929
AGI Development Tools / PICEDIT 1.2.1 beta 2 released (fixes 5 defects)
« on: December 19, 2010, 07:12:55 PM »
I have just released beta 2 of PICEDIT 1.2.1. This release fixes five defects, four of which were quite big bugs. These five defects were as follows:

1. Setting visual colour to white was adding the wrong colour byte code into the AGI picture (16 instead of 15).
2. Setting priority colour to red was adding the wrong colour byte code into the AGI picture (16 instead of 4).
3. Setting priority colour was adding the wrong action byte code into the AGI picture (0xF0 instead of 0xF2).
4. Turning off priority colour was adding the wrong action byte code into the AGI picture (0xF1 instead of 0xF3).
5. Picture navigation when showing the priority screen kept switching back to the visual screen.

Although I have been adding new features over the past couple of weeks, this release does not include any of those. Instead it is exactly the same as beta 1 except for the five defects fixed above. I will continue to fix bugs in version 1.2.1 until either no more are found or I release the next major release.

Grab the new beta 2 release from my web site: www.agifans.com

930
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 18, 2010, 06:24:57 PM »
Yeah, if you load up QFG2 and then inside the game activate the debug mode (by typing "suck blue frog"), and then press ALT-W, it goes through a sequence of dialogs to define an Actor/Prop/View/Feature/PicView. It also asks for a filename. You can place the Actor/Prop/View/Feature/PicView within the current room and after you define each thing it writes the detail to the file.

Pages: 1 ... 60 61 [62] 63 64

SMF 2.0.19 | SMF © 2021, Simple Machines
Simple Audio Video Embedder

Page created in 0.028 seconds with 20 queries.