Author Topic: "Sierra Gets Creative" by Jimmy Maher  (Read 2226 times)

0 Members and 1 Guest are viewing this topic.

Offline OmerMor

"Sierra Gets Creative" by Jimmy Maher
« on: August 30, 2016, 05:20:21 PM »
Another fine piece by Jimmy Maher:
http://www.filfre.net/2016/08/sierra-gets-creative/

This time it even covers our beloved SCI engine, as well as the introduction of the MT-32 to Sierra's games.
Long, but very interesting.



Offline Kawa

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #1 on: August 30, 2016, 05:57:12 PM »
Long, but very interesting.
That's what she said.

Offline troflip

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #2 on: August 30, 2016, 09:22:06 PM »
It's fascinating how well they did back then, even with all the relative incompetence/inexperience (some poor business decisions, poor attention to QA, Roberta not very good at game design).
Check out my website: http://icefallgames.com
Groundhog Day Competition

Offline lskovlun

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #3 on: September 20, 2016, 02:29:56 AM »
I wonder where he got the AGI code sample, because as far as I know AGI doesn't look like this:
Code: [Select]
IF HAS-GOAT 0 AND OBJHIT-EDGE 14 AND EDGE-OBJ-HIT 1 AND GOAT-GONE 0 AND SHOW-CARROT 0 THEN ASSIGN GOAT-ROOM 11, ERASE 10unless there were multiple iterations of that language?

Offline OmerMor

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #4 on: September 20, 2016, 03:20:55 AM »
Here are some real AGI source examples:
Code: [Select]
if (could.buy.toy.horse)
   {
   animate.obj( a.toy.horse);   [   middle
   position( a.toy.horse, 40, 108);
   set.view( a.toy.horse, v.pg.toy.horse);
   draw( a.toy.horse);
   }
------------------
if (next.frame)
   {
   reset( next.frame);
   if (could.buy.swing && !has( i.swing))
      {stop.update( a.swing);}
   if (could.buy.spaceship.ladder && !has( i.spaceship.ladder))
      {stop.update( a.spaceship.ladder);}
   if (could.buy.rings && !has( i.rings))
      {stop.update( a.rings);}
   if (could.buy.toy.horse && !has( i.toy.horse))
      {stop.update( a.toy.horse);}
   if (could.buy.tetherball.pole && !has( i.tetherball.pole))
      {stop.update( a.tetherball.pole);}
   if (could.buy.parallel.bars && !has( i.parallel.bars))
      {stop.update( a.parallel.bars);}
   }
------------------
[ Skulls-a-poppin'

   random( 0, 4, cell);
   loop = 0;
   view = 245;

   if (cell < 2)
      {
      random(1, 140, x);
      random(90, 110, y);
      add.to.pic.f(view, loop, cell, x, y, priority, box);
      }
------------------
if ((said( talk, man) ||
   said( ask, biker))) {
   if ( nearPerson) {
      print( 15);      [ "The man in black says, \"We don't
      }
   else {
      print( 13);
      }
   }

Offline Collector

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #5 on: September 20, 2016, 01:18:47 PM »
Toy horses and bikers? I am failing to think of an official game with toy horses and bikers.
KQII Remake Pic

Offline OmerMor

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #6 on: September 20, 2016, 03:28:50 PM »
Toy horses and bikers? I am failing to think of an official game with toy horses and bikers.

O ye, of little faith...
It's from Donald Duck's Playground and Police Quest 1 of course!  8)
(Skulls-a-poppin' is from King's Quest 3)
« Last Edit: September 20, 2016, 03:30:30 PM by OmerMor »

Offline lskovlun

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #7 on: September 20, 2016, 08:12:11 PM »
Well, the snippet is supposedly from KQ1, and it being the very first AGI game in existence I could well understand ithe language looking a bit... primitive. But still...

Looking further into it, the source is an article in Compute! That article calls the language Game Adaptation Language at this point. AGI is not mentioned at all, the protagonist's name is Sir "Grahame" and so on. So this is very early indeed.

http://www.atarimagazines.com/compute/issue57/kings_quest.html

But that raises another question - because we know that KQ1/AGI was published in several versions (including non-booter, AGIv2 ones). So did they have to change code/rewrite for this, or was this syntax always accepted?

Offline OmerMor

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #8 on: September 21, 2016, 03:46:57 AM »
It's also possible that the article "simplified" the code snippet to make it more concise and readable.

It's not far fetched to believe they transformed this:

Code: [Select]
if (!has(goat) && obj.hit.edge == 14 && !goat.gone && !show.carrot)
   {
   goat.room = 11;
   erase(10);
   }

.. into this:

Code: [Select]
IF HAS-GOAT 0 AND OBJHIT-EDGE 14 AND EDGE-OBJ-HIT 1 AND GOAT-GONE 0 AND SHOW-CARROT 0 THEN ASSIGN GOAT-ROOM 11, ERASE 10

Offline lance.ewing

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #9 on: September 21, 2016, 02:06:51 PM »
Well, the snippet is supposedly from KQ1, and it being the very first AGI game in existence I could well understand ithe language looking a bit... primitive. But still...

Looking further into it, the source is an article in Compute! That article calls the language Game Adaptation Language at this point. AGI is not mentioned at all, the protagonist's name is Sir "Grahame" and so on. So this is very early indeed.

http://www.atarimagazines.com/compute/issue57/kings_quest.html

But that raises another question - because we know that KQ1/AGI was published in several versions (including non-booter, AGIv2 ones). So did they have to change code/rewrite for this, or was this syntax always accepted?

That article is a great find. I've never heard of the Game Adaptation Language. Maybe it was an early version used in AGIv1. I had the old AGIv1 bootable versions of KQ1 & KQ2 at one point, long since gone, but I did spend some time at one stage looking over the disk sectors in a hex editor.

I'm guessing they changed the language syntax for AGIv2.
« Last Edit: September 21, 2016, 04:30:21 PM by lance.ewing »

Offline OmerMor

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #10 on: September 21, 2016, 04:04:23 PM »
Another possibility: perhaps GAL was a carryover from the PreAGI games?
Do we know anything about the development of these games?

Offline Collector

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #11 on: September 21, 2016, 06:11:21 PM »
Just how many pre-AGI languages or engines did Sierra have besides ADL? The Hi-Res Adventures used ADL, but what did the others use?
KQII Remake Pic

Offline NewRisingSun

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #12 on: October 13, 2016, 01:17:26 AM »
I feel it needs to be pointed out that contrary to most (even Sierra's) reports, the original self-booting version of King's Quest 1 was not an AGI game, at all. I have used IDA on its executable to produce a source file that can be reassembled with changes, and it's absolutely nothing like AGI. King's Quest 2 was the first AGI game, and even in its 128K self-booting versions is very much like AGI. King's Quest 1 was explicitly ported to AGI in 1986 with the release of its 256K version 1.0U. "Explicitly ported" referring to the fact that the 256K version says "New version" on the title screen.
« Last Edit: October 13, 2016, 01:19:58 AM by NewRisingSun »

Offline Collector

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #13 on: October 13, 2016, 01:36:44 AM »
Interesting. Thanks for the info. Any idea about the engine or was it a one shot custom engine?
KQII Remake Pic

Offline OmerMor

Re: "Sierra Gets Creative" by Jimmy Maher
« Reply #14 on: October 13, 2016, 05:56:16 AM »
That's very interesting!
I'd love to hear more about this interim engine.


SMF 2.0.11 | SMF © 2015, Simple Machines
Simple Audio Video Embedder

Page created in 0.204 seconds with 21 queries.