Script Creation Utility for Maniac Mansion

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 1. Oktober 2015 um 16:13 Uhr durch Grueslayer (Diskussion | Beiträge) (Ausdruck.). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen

SCUMM steht für Script Creation Utility for Maniac Mansion (englisch für Skripterstellungswerkzeug für Maniac Mansion). Es handelt sich dabei um Software, die 1987 von Ron Gilbert und Aric Wilmunder für Lucasfilm Games programmiert wurde, um die Erstellung von portierbaren Point-and-Click-Abenteuerspielen zu vereinfachen.

Technik und Entwicklung

Bevor SCUMM existierte, musste Lucasfilm Games für jede Computer-Architektur eine eigene Version des jeweiligen Spiels erstellen. Mit SCUMM muss nur noch die Virtual Machine einmalig portiert werden. Das Spiel liegt mit SCUMM als Bytecode vor, der ohne Anpassung von den verschiedenen Engines ausgeführt werden kann. Der Spiele-Designer kann sich so auf die Erstellung der Geschichte, von Grafiken und Musik und auf die Logik konzentrieren.

Ein Spiel, das SCUMM benutzt, besteht damit aus zwei Teilen:

  • plattformunabhängiger Bytecode und Ressourcen
  • eine Game-Engine, die zugleich die Virtual Machine für SCUMM-Skripte darstellt

SCUMM (wie auch die Game-Engine) wurde, wie der Name andeutet, ursprünglich für Maniac Mansion entwickelt, später aber in vielen weiteren LucasArts-Abenteuerspielen verwendet und dabei mehrfach erweitert bzw. neu geschrieben.

Die ursprüngliche Game-Engine (SPUTM, SCUMM Presentation Utility TM) wurde von LucasArts bis zur Version 8 weiterentwickelt, wobei nach und nach zahlreiche Erweiterungen wie IMUSE (Interactive Music Streaming Engine, mit Steuerdaten angereicherte Musik), SMUSH (Videoengine) und INSANE (Event-Management) hinzugefügt wurden. Die Game-Engine Version 5 wurde von Ron Gilbert für seine Firma Humongous Entertainment separat bis zu einer Version 11 entwickelt.

Die Skriptsprache, die von SCUMM in Bytecode übersetzt wird, ähnelt ein wenig der Programmiersprache JavaScript, besteht im Wesentlichen aber aus einfachen Befehlen (Aktiviere Figur X, Bewege Figur, Sprich Text) und erlaubt neben dem einfachen Skripten von Cutscenes auch eine Art Multitasking, wobei mehrere Aktionen gleichzeitig ablaufen.

Die meisten SCUMM-Spiele weisen ein Verb-Gegenstand-Interface auf. Die vom Spieler gesteuerte Figur hat ein Inventar, und innerhalb der Spielwelt befinden sich Gegenstände, mit welchen der Spieler interagieren kann. Hierzu stehen ihm je nach Spiel bis zu 15 Verben zur Verfügung. Im Spiel The Curse of Monkey Island wurden diese auf drei zusammengestrichen, nämlich auf: „Schau an”, „Benutze” („Benutze” war kontextabhängig und konnte verschiedene Aktionen hervorrufen: Nimm, zieh, drücke usw.) sowie „Rede mit“ (konnte kontextabhängig auch iss, lecke, kaue usw. bedeuten).

Die Rätsel beinhalten im Allgemeinen, die richtige Tätigkeit mit dem passenden Gegenstand zu verwenden, z. B.: „Benutze Keksschneider mit anderer Gummibaum”. „Rede mit” führt zu Dialogfolgen, in denen der Spieler aus einer Liste der vorgegebenen Fragen oder sonstigen Äußerungen wählt, worauf die angesprochene Spielfigur mit einer vorgegebenen Antwort reagiert. Als Ausnahme dieses allgemeinen Paradigmas ist das Spiel LOOM zu erwähnen, welches nicht das übliche Verb-Gegenstand-Paradigma, wohl aber Dialogfolgen verwendet.

Codebeispiele

Ron Gilbert hat auf einer Spielekonferenz im Jahr 2011 zwei original Codebeispiele aus Maniac Mansion veröffentlicht.[1]

Durch folgende Anweisungen wird das sekundengenaue Ticken der Uhr im Wohnzimmer gesteuert. Zeiten werden dabei immer in 1/60 angegeben.

script clock-tick {
    do {
        clock-state = not clock-state
        object living-room-clock state clock-state
        play-sound clock-tick
        break-here 60
    }
}

Durch folgende Anweisungen wird eine nicht interaktive Szene zwischen Nurse Edna und Ed beschrieben:

cut-scene {
    ...
    actor nurse-edna in-room edna-bedroom at 60,20
    camera-follow nurse-edna
    actor nurse-edna walk-to 30,20
    wait-for-actor nurse-edna
    say-line nurse-edna "WHATS'S YOUR POINT ED!!!"
    wait-for-talking nurse-edna
    ...
}

Spiele

SCUMM Version 0

SCUMM Version 1

SCUMM Version 1.5

  • Maniac Mansion (NES-Version (1990))

SCUMM Version 2

  • Maniac Mansion (Amiga-Version (1989), Atari ST-Version (1989), Enhanced PC-Version (1989))
  • Zak McKracken and the Alien Mindbenders (Amiga-Version (1988), Atari ST-Version (1989), Enhanced PC-Version (1989))

SCUMM Version 3

  • Zak McKracken and the Alien Mindbenders (FM Towns-Version (1991))
  • Indiana Jones and the Last Crusade (PC-Version (1989), Amiga-Version (1989), Atari ST-Version (1989), VGA PC-Version (1990), Mac-Version (1990), FM Towns-Version (1990), CDTV-Version (1992))
  • LOOM (PC-Version (1990), Amiga-Version (1990), Atari ST-Version (1990), Mac-Version (1990))

SCUMM Version 4

  • LOOM (CD-ROM PC-Version (1991), FM Towns-Version (1991), PC Engine-Version (1992))
  • The Secret of Monkey Island (PC-Version (1990), VGA PC-Version (1990), Amiga-Version (1991), Atari ST-Version (1991), Mac-Version (1991))

SCUMM Version 5

SCUMM Version 6

SCUMM Version 7

  • Sam & Max Hit the Road (CD-ROM PC-Version (1993), Mac-Version (1996), Windows PC-Version (2007))
  • Vollgas: Full Throttle (PC-Version (1995), Mac-Version (1996), Windows PC-Version (2002))
  • The Dig (PC-Version (1995), Mac-Version (1996), Windows PC-Version (2002))

SCUMM Version 8

Nachfolgesystem

Für die beiden letzten Adventures von LucasArts, Grim Fandango und Flucht von Monkey Island, wurde auf eine neue Engine namens GrimE umgestellt.

Portierungen

Es ist dem Projekt ScummVM (Scumm Virtual Machine) gelungen, eine freie, portierbare, auf der SDL-Bibliothek basierende, in C++ geschriebene Engine zu entwickeln, die es ermöglicht, oben genannte SCUMM-Spiele auch auf Systemen zu spielen, auf denen die ursprünglichen Versionen entweder überhaupt nicht oder nur sehr eingeschränkt lauffähig sind.

Siehe auch

  • GrimE, der Nachfolger von SCUMM für 3D-Adventures
  • SCI ein ähnliches Produkt aus dem Hause Sierra
  • AGI der Vorgänger von SCI aus dem Hause Sierra
  • Z-machine, dito für Infocom-Adventures

Einzelnachweise

  1. SCUMM script samples from Maniac Mansion