cross-posted from: https://retrolemmy.com/post/6261478

Happy 40th anniversary to the first game in the King’s Quest series, one of the first graphical adventure games, and where Sierra really made their name.

This game also kicked off the Adventure Game Interpreter (AGI) engine, which Sierra used for many games. Wikipedia says: They employed it in 14 of their games between 1984 and 1989, before replacing it with a more sophisticated engine, Sierra’s Creative Interpreter. There’s no Wikipedia article for the SCI engine, but I know it was used in Phantasmagoria and Shivers, here is the ScummVM wiki page for SCI instead.

Wikipedia Synopsis

King’s Quest: Quest for the Crown is an adventure game developed by Sierra On-Line and published originally for the IBM PCjr in 1984 and later for several other systems between 1984 and 1989. The game was originally titled King’s Quest; the subtitle was added to the games box art in the 1987 re-release, but did not appear in the game.

It is the first official part of the long King’s Quest series (not counting 1980’s Wizard and the Princess), in which a young knight, Sir Graham, must save the Kingdom of Daventry to become the king. Designed by Roberta Williams, the game was revolutionary and highly influential in the evolution of the graphic adventure game genre by introducing more detailed graphics and animation.

An official remake titled King’s Quest I: Quest for the Crown was released in 1990. An unofficial remake was released by Tierra Entertainment in 2001.

Videos

Space Quest Historian - King’s Quest: A Fair and Balanced Retrospective

Power Pak - King’s Quest - The First Adventure

Links

IGDB page

MobyGames page

About !retrostatus@retrolemmy.com

This is the first post in this brand new community for big milestone anniversaries of retro games (15 years or older, every multiple of 5 years). See our sidebar for more info and resources for making your own posts here.

  • duncesplayed
    link
    fedilink
    English
    arrow-up
    5
    ·
    8 months ago

    Some extra info about Sierra’s game engines…

    AGI was indeed first used in KQ1, though earlier Sierra adventure games (even going back to Mystery House in 1980) used something extremely similar. AGI was just formalizing what they’d done before and setting it as a common platform for all future games.

    In those days, it was, of course, not possible to write an entire adventure game in machine code because there wasn’t even memory to hold more than a handful of screens. The use of bytecode was as much a compression scheme as anything else. So AGI was just a bytecode interpreter. Vector graphics primitives (e.g., draw line, flood fill) could be written in just a few bytes, much better than machine code.

    Ken Williams made a splash with early Sierra games because he had an extremely simple insight that most others at the time didn’t seem to have: for graphics operations, allow points to be on even-numbered x coordinates only. Most platforms had a horizontal resolution of 320, too much for 1 byte. Ken Williams had his early game engines divide every x coordinate by 2 so that it could fit into a single bit (essentially getting only 160 horizontal pixels). A silly trick, but it got big memory savings, and allowed him to pack more graphics into RAM than many other people could at the time.

    After AGI (KQ3 was the last King’s Quest to use AGI), Sierra switched over to their new game engine/bytecode interpreter: SCI. SCI was rolled out in two stages, though.

    SCI0 (e.g., KQ4) was 16 colours and still revolved around the text parser. SCI1 (e.g., KQ5) was 256 colours and was point-and-click. (SCI2 and later were full multimedia)

    For the game player, the major differences you’ll notice between AGI and SCI0 (both 16 colours, both text-based) are that SCI0 renders using dithering, gets full horizontal precision (x coordinates stored in 2 bytes), multiple fonts, support for real sound devices (MT32, Adlib). For the programmer, though, AGI and SCI0 were pretty radically different. SCI0 as a programming language was an object-oriented vaguely Scheme-inspired sort of language, and was actually pretty radically different from AGI.