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 2 [3] 4 5 ... 52
31
I was revisiting this topic again this evening and I discovered a very interesting thing. Someone added names of people to the end of the WORDS list. It contains the names of six people encoded within the WORDS data, with the first and last names encoded separately. Since Ken and Doug MacNeill share the same surname, then that one appears only once, making a total of eleven words allocated the final 11 word numbers, from hex value 0xC2 to 0xCC:

0xC2: greg
0xC3: rowland
0xC4: ken
0xC5: macneill
0xC6: doug
0xC7: hal
0xC8: schwab
0xC9: arthur
0xCA: abraham
0xCB: charles
0xCC: tingley

i.e. Greg Rowland, Ken MacNeill, Doug MacNeill, Hal Schwab, Arthur Abraham and Charles Tingley.

The best guess then is that Greg Rowland did this, as it doesn't follow any logical order otherwise. My guess is that the person that added these names to the game's words file added their own name first, then the others in the order that they thought of them.

Now, the mystery is, why would someone do this?

I wonder if perhaps the person had been instructed to only include certain names within the official credits screen in the game. Perhaps they felt that it didn't seem right to exclude Arthur Abraham and Hal Schwab, and so they added a kind of hidden "easter egg" credits list at the bottom of the WORDS list.

There is further evidence to support Greg being the person who did this, as there is only one of these "words" that is actually used within the game's room scripts, and that is the word "greg". It isn't configured as a synonym for anything. It is straight out using "greg". I think he might have been playing around with the parser and it ended up in the released game. Or perhaps it was deliberately kept in the game, so that in future years he could say: "Look... if I type "greg rope", then he climbs the rope". Might be an interesting party trick these days!  ;D

For those that haven't heard the name Hal Schwab before, he published a game called "Golf Challenge" through Sierra On-Line in 1982: https://en.wikipedia.org/wiki/Golf_Challenge_(video_game). He would therefore have been around at the time that things were kicking off with the King's Quest project and so may have been involved early on. Given that his name does not appear in the credits list within the game's title screen, then he must have been another one similar to Arthur Abraham that left before the end of the project. Bob Heitman mentioned to me a few years back that the original King's Quest was written by a group under the direction of Hal Schwab, and he believes that it was Greg Rowland who told him this. I hadn't found any other evidence to back this up, until now. Hal really was part of the team, it would seem.

32
AGI Development Tools / Re: Errors when compiling KQ3 with WinAGI
« on: August 25, 2023, 04:14:17 AM »
A shame that this historical source is missing the VIEWs. I guess they're easy to come by but it would be nice for this repo to have the versions as they were at the same date as this source.

33
I have been somewhat distracted working on the book that I mentioned at the start of the year. I actually spent most of my spare time over January, February and March working on it. Unfortunately I'm moving country, yet again, so I have had to put it on hold for a few months while I organise things for the move.

I've discovered some really interesting things about the history of Sierra as part of the research I've been doing, most of it between 1980 and 1984, so the early years before they were working on the 3D animated adventure games. I find the whole thing fascinating, and I know it is slightly off topic from my original goal of a book about AGI, but I wanted to delve into what happened before AGI to see how things lead into AGI.

As part of looking into that, I found this video that Ken Williams put on Youtube recently:



It's amazing that something like this has survived. I mean, it was from Ken and Roberta's personal collection, so that explains how it survived. Great to see what they looked like back then, what the offices looked like, what the programmers looked like, what Oakhurst itself looked like, what Ken and Roberta's house looked like while it was being built.

If you check the comments, you can see that I commented a couple of times and got a response back from Ken on both occasions. Someone had asked Ken if he could remember the names of the programmers in the video and Ken said he couldn't. I then replied to that thread saying that I think I'd spotted Jeff Stephenson in there, to which Ken replied that it was indeed Jeff. So it was great to get a short, early days clip of Jeff working away at an IBM PC. This would have been before both AGI and SCI were a thing.

Through my own research, I've dated the video to around September 1982. Ken has put 1983 in the video title but there are several reasons why it must instead be in autumn 1982. The first of these is that Bob Heitman said the film crew visited before he started at Sierra, which was October 1982, and the Steven Levy book "Hackers" actually mentions this film crew visiting the Sierra offices, and within the context of what the book is talking about at that point in the book, it must be sometime from August 1982, but within autumn. So September 1982 is the best guess.

One very cool thing is that Steven Levy himself is also in this video. You can see my comment in the same thread on youtube regarding that, and Ken once again confirmed that it was Levy. I have managed to identify maybe half of the programmers shown in this film, but none of them, other than Jeff, are people we know from the AGI/SCI days.

My current thinking is that the room showing the programmers in it is the office space at the back of the Ponderosa Printing building where Sierra were initially based in after Ken & Roberta started taking on employees. In June 1982, they moved into the two story building on Golden Oak Drive, which became their HQ for two years after that. The old office behind the Ponderosa Printing building then became an office solely for the in-house programmers. They didn't move into the redwood building on Victoria Lane until some time in the second half of 1984.

34
Everything-Else / Re: LSL1 AGI Source Code Released
« on: January 19, 2023, 11:02:48 AM »
I wonder if this Christmas present was from Omer!  ;D 

A lot of what he previously made available is in there.

I think one of the most interesting bits of that archive are the file timestamps, for the executables and the game source files. I'm going to have fun analyzing those file timestamps as part of my book, as I think it will help to give a timeframe on when development of certain games took place, e.g. Black Cauldron. I'm quite interested in that 1985 time period. This is when Sierra were starting to rise again from the ashes. As far as I've been able to work out, the big layoff at Sierra (that happened around the time of the video game crash of 83/84) happened for Sierra sometime around the end of June/start of July 1984. Haven't been able to find anything that mentions a specific date but I've narrowed it down to a window of about a month between mid June and mid July 1984. Ken mentions laying off 100 employees and only a small crew of about 28 people (Ken's number from his book) staying on. Things were picking up again in 1985, after decent sales of the Disney products, and of course King's Quest starting to really take off in sales around the end of 1984. Sales in the summer of 1984 had not been good, and that period from mid 1984 to the end of 1984 was a matter of survival. Focus was mainly on the new Disney educational game projects (Donald Duck's Playground, Mickey's Space Adventure, etc.) and on finding a way to make money from King's Quest (released in May 1984) after the IBM PCJr flopped so spectacularly in the market. Tandy, and the Radio Shack stores, were mainly to thank for King's Quest's eventual success story.

35
Lol dude we've been trying to get a hold of any content from Mega-Tokyo for more than a decade. Please share!

You must have forgotten about it  ;D

https://sciprogramming.com/community/index.php?topic=1705.msg10577#msg10577

Seems that you were as excited back then as you are now  ;)

36
Wow, now I really feel old!

Yeah, me too  :D

Hard to believe it's been 25 years. While I haven't done any AGI stuff since back in the day it's nice to see the (small) community is still somewhat active and it's not something that's been completely forgotten about. The ironic thing is that back in the late 90s AGI was considered old, but there's been a much greater timespan between now and then than there was when we initially got into reverse engineering & tool development. It's been kind of encouraging seeing retro gaming so popular these days - I guess a lot of people (myself included) love reliving their childhoods.

I know what you mean about AGI being old already in the late 90s. I didn't actually play my first AGI game until the AGI era was over. Fairly sure the first AGI game I played was in 1989 and was SQ2. I think I played KQ3 and PQ1 that same year, perhaps GR and MH2 as well. I was in catch up mode.

I pretty much owe my career trajectory to those times. It's what got me into the world of programming languages, compilers, and interpreters, which lead to me completing a PhD in the field, and now I now work professionally on programming language design & implementation. Surprisingly few people I've known in real life really appreciate the value of what are deemed "hobby" projects, not realising the educational value they can have.

That is really cool. For me, back when I was playing the Sierra games and trying to reverse engineer them, I had a dream of getting into game development, but that never happened. I just took the first job I was offered and that determined how my career ended up. Still doing essentially the same thing 25 years later. I started working full time in IT the same year that the AGI fan community started taking off.

Lance, I think a book is an excellent idea, and actually I've been thinking of something similar, covering several different game engines of the era (Infocom's Z-Machine, AGI, SCI, SCUMM, maybe one or two others). Modern game engines are so tremendously complex but with early examples like these I think there's value in documenting them for both historical and educational purposes, including both their original development and subsequent reverse engineering efforts. Perhaps we could collaborate on something like this, maybe also bringing in contributors to SCUMMVM who are also familiar with the systems.

Yeah, I would be interested if you manage to get something underway.

I've already started working on an AGI specific one, having encouraged myself to do so after starting this Topic. Perhaps, once complete, there will be sections of it that can be reworked to be included in the book you're thinking of.

It occurred to me that not many people have looked into ADL, the system that Ken Williams built for the Hires Adventures. SCUMMVM supports them, so obviously whoever coded that did the work to discover how the ADL interpreter works. I couldn't find any other technical details out there about it though, other than the scummvm source code. I plan to have a section near the start of my book that talks about "What came before" AGI, from a technical perspective, and how a lot of that shaped parts of AGI. For example, the PICTURE resource appears to be quite heavily influenced by the earlier games (ignoring the priority screen, which was obviously new for AGI).

There is so much that can be learnt from historical programming environments (Smalltalk is another great example) and thus it's a worthwhile effort to document them for future generations. Development is so different these days and while we have tremendously more capable hardware, I think something has been lost from the 80s and 90s in terms of the need to come up to creative solutions to make the best of constraints.

Yeah, I agree that we're in danger of losing a lot of this history if we don't document it now. The people that worked at Sierra are getting on in their years and mostly in retirement. They're unlikely to be around when we reach the 50th anniversary of our AGI & SCI communities. By then, it will be us that is in retirement. I thought that once I have made a solid start on the book, I'll start to contact various ex Sierra staff again to get comments specifically relevant to various parts of the book. I'm planning to do the same for people from the AGI fan community. So don't be surprised when I send some interview style questions your way  ;D

37
I was thinking of adding any info in general that is not already on the Wiki. Most of those old GWBASIC programs are probably already on the Wiki, but if you do GitHub them I will want to add the GitHub addresses for them to the Wiki.

I doubt very much that these GWBASIC programs are available anywhere on the Internet. I don't think that I ever released them. By the time I was active on the Internet (1996/97), I had already learnt C and had written various tools in C. Those tools are definitely on the Internet. The GWBASIC programs are ones that I wrote while I was still in high school, before starting University. We weren't taught any programming in high school, so this was self-taught BASIC programming, back in the days when it had line numbers in the code.

38
Might be nice to put some of this on the Wiki.

Do you mean digitised copies of my Ruby Cast maps and notes? I was thinking about putting that into github as well. Yeah, perhaps when I have them digitised, I could also attach them to the Ruby Cast Demo page on the AGI wiki.

I see your SCript Interpreter site is gone. This could be put on the SCI Wiki if you don't want to set it up again.

I think this is a DNS issue. I had the same problem with the agifans website a while back. Google sites was strongly pushing me towards converting those sites to the new Google sites platform, using their automatic conversion tool, and I think the DNS got broken in the process. I just need to go through the DNS setup process again. I assume the following works for you though? : https://sites.google.com/site/scriptinterpreter. That's the version without the custom domain.

Not sure how useful that website is anyway. I think it was from before troflip completed the decompiling and Omer released some of the original SCI scripts.

The other thing I found again recently is all the DOS 3.3 GWBASIC programs I wrote back in the early to mid 90s to decode the AGI data files. I will definitely add this to github soon. If I do end up writing a book, then there would be a section talking about those, perhaps with some examples of the BASIC program listings and screenshots of the output.

Might be nice to put some of this on the Wiki.

Or do you mean that if I do end up writing a book, that the content could also be added to the wiki?

39
I thought I would create a new topic, at the start of this new year, to cover anything related to the 25th Anniversary of the fan communities.

It occurred to me a view months back, probably around August/September, that the 25th anniversary of various things in the AGI fan community had already happened in 2022, or are about to happen in 2023. For example, the 25th anniversary of the original release of AGI Studio was a few months back, and PICEDIT would have been a bit before that. Likewise, the 25th anniversary of the release of the first version of the fan made AGI specs was some time last year, and the 25th anniversary of the first release of The Ruby Cast was around about now, followed by various other fan made games in 1998. It was back in 1997 that the AGI fan community pioneers first came together on the Internet and started sharing their various projects and discoveries.

I thought we shouldn't let this past and can perhaps treat 2023 as a special "25th anniversary" for the AGI fan community. SCI probably has a similar anniversary coming up very soon.

One of the main reasons I'm thinking about this, and announcing it, is to continue to motivate myself to work on AGI projects this year, such as AGILE, Visual AGI, perhaps even work a bit more on The Ruby Cast after such a long hiatus!  ;D

That last one really would be something different to mark the occasion. I've tried working on it a few times over the past 20 years, but I haven't got much further than one or two more rooms and then subsequently lost that work. But what I did find recently in a box of books was all of my original notes, drawings and maps relating to the full plan for The Ruby Cast, dating back to 1998, which was something I'd misplaced for many years (over 12 years at least) and so this has encouraged me to perhaps have another go at commencing work on it, and this time I'll use github for the source!  :D

I thought I might even write a book about AGI covering everything we've done and learnt over the years. I'm quite excited about this idea. I think it would be really cool, something to really commemorate the occasion 8) 

40
AGI Development Tools / Re: Visual AGI
« on: January 03, 2023, 05:59:54 AM »
I initially had the same issues that vafada did. I expected that after cloning the repo, the solution and projects would load and run without any manual fiddling, but like him, I'm not familiar with how dependency management works in Visual Studio, so am not familiar with what experienced C#/.NET coders would expect after cloning a git repo for a .NET project. When I set up the AGILE project, I assumed I had to add the DLL files into the github repo, under the subfolders of the main project that it was loading them from, so that hopefully the project would load and run straight off. Probably a misguided assumption but it seemed to work and felt cleaner at the time. I'd be happy to be educated by our C# experts out there. For all I know, adding DLLs for dependencies to the repo might be a big no no and there is instead some dependency management step that should be added and running as part of the project build, similar to how node and java do things.

Anyway, I managed to get Visual AGI to run by putting the DLL files in the locations that it was looking for them (as shown in vafadas earlier post), i.e. by creating the folders to match. This was a quick hack for me locally, as I didn't want to make any major changes to the project files, in case you were tidying it up still Collector. It has allowed me to start the application and start playing around with it.

I started by loading KQ1 and then opening up a PICTURE and then a VIEW to play around. I then tried opening GR, which is an AGI V3 game. I suspect that in the past, this wouldn't have worked for Visual AGI, but after the changes to the AGI Library introduced by AGILE to support AGI V3, it looks like it is working to some degree now. It shows some error messages, but it does then show the VOLs with resources under them. Some may be missing (I haven't checked that yet) but I was able to open up PICTURE.10, which was the one that vafada reported the picture rendering issue for a while back and that we then fixed. I was pleased to see that the PICTURE is rendering fine in Visual AGI now as well, so that shows that Visual AGI has picked up the AGI Library fixes that have been added over the past few months.

41
AGI Development Tools / Re: C# AGI Interpreter
« on: December 30, 2022, 06:08:27 AM »
The concept of a null string has no meaning in the MSDOS interpreter. When a game starts, the string table starts as all zeros. So any functions that read the string values will return a valid string of zero length. My guess is that your interpreter is not setting all 24 (or 12, depending on version) strings to valid zero length strings on start up. If you do that, you shouldn't have any problems with 'uninitialized' strings.

I suspected that this was the case, i.e. that AGI doesn't have this distinction. Thanks for confirming this. Yeah, your suspicion is correct, that AGILE doesn't initialise the AGI strings to be empty. I'll fix this now.

Edit: This is now fixed and pushed to my github repo.

42
AGI Development Tools / Re: C# AGI Interpreter
« on: December 30, 2022, 06:04:18 AM »
The reason for this odd situation is because this logic (it's a debug logic, probably borrowed from some other game) ends with a quit command, but was originally compiled in version 2.089 (or earlier) when the quit command didn't take an argument. So the last byte of the logic, before the message section, is in fact a return (byte code 00). But since the interpreter packaged with the game is 2.272, WinAGI thinks the quit command needs an argument, so it uses the 00 byte code. (If you change the target interpreter version to 2.089, the logic decompiles correctly.)

I know it was compiled in a version that uses no arguments for quit because of the size of the 'if' block that the quit command is inside of. It correctly points to the byte code 00 when the 'if' block returns false.

I'm trying to think through if that is the cause of the original issue that Collector reported and I think it is. AGILE will also be seeing that it is interpreter version 2.272 and will therefore decode the "quit" command with the parameter, which explains why the decoded LOGIC doesn't have a "return" at the end. AGILE does support the "quit" command without the parameter, but only if it thinks it is 2.089.

My workaround fixes the issue, and I guess it isn't going to harm anything, i.e. having an additional "return" statement at the end. It can't really determine that the LOGIC was compiled for 2.089, not when the XMAS card "game" was presumably compiled with a mixture of different CG compiler versions. I could add an interpreter version to the game detection data, but that would assume it applies to all LOGICs in the game, so it wouldn't work for this XMAS card game, unless we assume all LOGICs were compiled under 2.089.

43
AGI Development Tools / Re: C# AGI Interpreter
« on: December 29, 2022, 10:19:42 AM »
I think I prefer the decoding adding a "return" at the end if there isn't one.

I've made this change locally on my machine and it seems to fix the issue. Unfortunately there is another issue lurking behind that one, something to do with AGI String 0, being that that String is null. I added a quick hack for that to interpret that as an empty string and that has allowed it to continue and now it appears to be showing the Christmas card without any further issues, looping back to the beginning once it has been through all the screens.

I'll make these changes permanently at some point over the next day or so. I just want to think more about why the AGI String was null and why it is only this XMAS card that it is happening on. I assume something to do with the older interpreter version.

44
AGI Development Tools / Re: C# AGI Interpreter
« on: December 29, 2022, 09:49:19 AM »
No, it seems like the double "return" in LOGIC.13 is decoded fine.

It looks to me like it might be LOGIC.99 that is the problem. The 274 key value is actually in relation to LOGIC 99. Viewing that LOGIC in WinAGI shows that the "if" at the end of the script is missing an ending } which makes me wonder if maybe the LOGIC is missing something for it to jump to, i.e. the location the conditional jump is jumping to doesn't exist. I guess I could either add some code to always ensure that the decoded LOGIC has a "return" at the end, so that in cases like this there is always something to jump to, or I instead make the conditional branch more robust, so that it assumes that a missing jump location means to the end.

That second option doesn't feel clean to mean though. I think I prefer the decoding adding a "return" at the end if there isn't one.

45
AGI Development Tools / Re: C# AGI Interpreter
« on: December 29, 2022, 06:19:04 AM »
The other thing I noticed in WinAGI is that this LOGIC has two return statements at the end of it. I suspect that that is probably the issue. It is a conditional branch that is falling over. I think it is jumping to the very end, i.e. the second return statement, but the LOGIC decoding is probably stopping at the first return statement, thinking that that indicates the end. Should be an easy fix.

Pages: 1 2 [3] 4 5 ... 52

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

Page created in 0.03 seconds with 20 queries.