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: Original SCI syntax
« on: January 03, 2011, 04:47:01 PM »
I can't stand a mystery like this sitting around unsolved. Although I seem to remember it being from a Police Quest game, there is still something not quite right about this Official Book of King's Quest.

I've just realised that not all first editions are created equal. There can be different printings of a particular edition. The one I'm looking at some scans from at the moment (I have scans from two different people now) is printing 4 of the first edition.

Here are some definitions:

"Strictly speaking, an edition compromises all copies of a book printed at any time from one setting-up of type without substantial change."

A printing [also known as] "an impression compromises the whole number of copies of that edition printed at one time, without the type or plates being removed from the press."


The "without substantial change" is something worth considering here. I wouldn't put it past the publishers to have switched the SCI code for AGI code after one of the early printings. The reason I suggest this is because the text around the AGI code is all SCI related. It talks about SCI classes and SCI concepts. Everything else in the book is SCI related (e.g. screen shots of the original SCI picture and view editors) but the code snippets are AGI!!! It doesn't make sense. Here is a snippet from the book to show what I mean:

"He does this using a special computer language called SCI (SCript Interpreter) developed by Sierra. SCI is an object-oriented language similar to LISP; it's written in Assembler, C, and itself. An older version of the interpreter, called Adventure Game Interpreter (AGI), was used to create King's Quests I, II, and / / / and the 256K version of King's Quest IV. With SCI the programmer establishes classes of objects. The Actor Class, for example, includes anything that moves such as sea gulls, ogres, and Ego. The Props Class is composed of items that move but don't go anywhere

917
SCI Syntax Help / Re: Original SCI syntax
« on: January 02, 2011, 04:11:02 PM »
Did Dark Fiber mention exactly what book?

Hmmm. Yes, I'll have to go back to him again though because it appears he is also wrong about what book it was. He also thought it was The Official Book of King's Quest. Here is what he said:

"Yeah its in the official book of kings quest. If she does not know the difference... but its SCI code. Looks like LISP. Its the book I dont have :( but I know its in there."

The scans I was sent were definitely AGI code though. It wasn't LISP-like at all. It was the very same AGI code that I based a lot of my decisions on when I wrote the SHOWLOG utility back in 95-97 and therefore I guess ultimately what led to the compiler that Peter Kelly wrote.

I still have a vague recollection though that it might have been a Police Quest game that the SCI code was for. I might be wrong about that though. Memories are not the best things to go on. We need something solid.

918
SCI Syntax Help / Original SCI syntax
« on: January 02, 2011, 01:07:34 PM »
I thought I should start a new topic for the discussion we were having regarding the original SCI syntax. It is not good news I'm afraid. Both of the leads I had on getting that SCI code from the Sierra book have come to nothing. Kimme has kindly scanned the code that she thought was SCI code and it is as I suspected, which is that it isn't SCI code but is instead AGI code. It appears that Kimme has exactly the same version of TOBOKQ that I have. As I mentioned earlier, Kimme has also checked Kings Quest Companion 1st and 2nd editions and neither of these had SCI code.

I've also heard back from Dark Fiber and he is now saying that the book with the SCI code in it is the one that he doesn't have but he still says that it exists. I also know that something with SCI code in it did exist at some point. We'll just have to keep searching.

919
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 28, 2010, 07:29:06 AM »
I've gone back to ask the question, but the more I think about it, the more I'm thinking that this might end up being a red herring as well. I've included below Kimme's exact response:

"in the first edition of "The Official Book of King's Quest" by Donald
B. Trivette, there are SCI code snippets for smoke, opening/closing a
house door, and falling on rocks in the "Script Interpreter" section of
"Chapter 2: The Making of King's Quest 4" (pages 17 to 20).

The 2nd edition doesn't have the codes reprinted. It just has a small
snippet of older AGI coding demonstrating how smoke moves in "Chapter 2:
The Making of Quests" (page 20)."


The reason I am starting to think that it might be a red herring is because I clearly remember that my copy of The Official Book of King's Quest had code in it for "smoke", "falling on rocks", and "opening and closing a house door", i.e. all of the things that Kimme mentions as being SCI code. My copy had AGI code though. Kimme says that the 2nd edition only had AGI code for the smoke but I'm certain my copy had AGI code for the others as well. So unless there is an in between edition (i.e. a first edition with the code changed to AGI instead) then I think it might end up being AGI code that she has seen. I've sent her some examples of AGI and SCI code, highlighting the differences, so that she can verify which it is that she saw. I forget that not all Sierra fans know what AGI and SCI code looks like.

920
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 28, 2010, 06:58:45 AM »
Could she scan it for us?

I'll ask the question and see what she says. At the very least I'd imagine that she could maybe send us a couple of lines to verify that it is indeed SCI code. It is possible that she has mistakenly identified AGI code as SCI code. Unfortunately I don't have my copy of The Official Book of King's Quest on this side of the planet (it's in New Zealand and I'm living in England at the moment), so I don't know for sure if my copy is a first or second edition. I know that my copy has more than one snippet of AGI code but definitely no SCI code. I remember thinking at the time I bought it that it was strange that it didn't have SCI code because all the photos of the tools (picture editor, view editor) were of the SCI tools, and I seem to recall that the discussion in the book about the "making of" King's Quest was related to the SCI version....   and yet all the code snippets were AGI. I guess that supports what kimme is saying about the second edition having the older AGI code. I'll go back to her and ask a few questions.

Dark Fiber should be able to give us his report in the next day or so.

921
SCI Syntax Help / Re: Vocab.900 - The 'Black Box'
« on: December 28, 2010, 01:59:20 AM »
I'm still waiting for confirmation from Dark Fiber but in the meantime I have contacted kimme at sierraplanet, who has a copy of many Sierra related books. The outcome of this is that King's Quest Companion is a red herring. The 1st and 2nd editions contain no SCI code at all. What kimme claims though is that the 1st edition of The Official Book of King's Quest has SCI code. Kimme says that the 2nd edition is missing the SCI code and instead has the older AGI code. This makes me think that I must have the second edition not the first because my edition only has AGI code.

922
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.

923
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.

924
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.

925
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).

926
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.

927
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.

928
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?

929
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?

930
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.

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

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

Page created in 0.06 seconds with 20 queries.