MCA2

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Baustelle Dieser Artikel befindet sich im Aufbau und ist vorläufig als Entwurf einzustufen.
MCA
...
Entwickler Mac Bacon
Release V1.0 2016
V2.0 2017
Lizenz GNU General Public License
Plattform(en)
Genre Spiele-Engine
Steuerung Icon tastatur.png
Sprache(n) Sprache:englisch
Information V2.0 derzeit WIP

MCA steht für Multiple Choice Adventure und ist eine Spiel-Engine, mit deren Hilfe man sehr einfach Adventure-Spiele für den C64, den C128 oder einen C16 mit 64 KByte RAM erstellen kann.

Version 1 war noch für einfachste, reguläre Multiple-Choice-Adventures gedacht. Die Bedienung erfolgte ausschließlich durch Auswahl eng vorgegebener Möglichkeiten. Das Projekt wurde nach kurzer Zeit eingestellt.

Version 2 ist zum Erstellen von tastaturgesteuerten Adventures mit erheblich mehr freier Aktionsmöglichkeit. Der Ablauf des Spiels muss nun auch nicht mehr linear sein. Man bewegt sich auf Tastendruck zwischen den Räumen und hat vorbelegte Tasten zum untersuchen, benutzen, verlieren und nehmen. Erst wenn man eine dieser Funktionen anwendet, erscheint ein Menü zur Auswahl. Hier werden die Items, Einrichtungsgegenstände und NPC im Raum sowie im Inventar des Spielers angezeigt.

Das Programm ist derzeit WIP aber funktionsfähig.


  • Die erzeugten Spiele werden durch Tastendruck bedient. Sie gehören also zu den sogenannten Multiple-Choice- oder Selectable-Answer-Adventures.
  • Als Benutzer gibt man mit Hilfe eines Texteditors die Beschreibungen ein. Zeilenumbrüche werden automatisch umgesetzt. Auf Wunsch kann man Absätze auch selbst festlegen. Umlaute, ß und viele Akzente können verwendet werden.
  • Die Datei heißt game.py, da man sich so das automatische Einfärben des Python-Codes zunutze machen kann. Die Übersichtlichkeit ist bei Verwendung eines geeigneten Editors dadurch deutlich besser.
  • Der fertige Code wird mit dem Cross-Assembler ACME kompiliert und als PRG-OneFiler ausgeben.
  • Das fertige Programm kann anschließend aufgrund des hohen Textanteils mit einem geeigneten Packer noch deutlich verkleinert werden. Mit Exomizer konnte das Demospiel problemlos auf halbe Größe reduziert werden.
  • Die Programme, die für C16 und kompatible Rechner ausgegeben werden, benötigen 64 KByte RAM.


Bedienung der Engine[Bearbeiten | Quelltext bearbeiten]

...
  • Um ein Spiel zu erstellen muss man:
    • Alle Gegenstände und NPCs definieren (statisch oder beweglich, Standort, Kurzbeschreibung, Langbeschreibung). Als Standorte kann man auch NOWHERE angeben, wenn das Objekt oder der NPC erst im Spielverlauf erscheint, also "freigeforscht werden muss". Um dem Spieler gleich zu Beginn einen Gegenstand mitzugeben, kann man als Ort auch INVENTORY angeben. Der Spieler selbst gilt aus Programmsicht teilweise selbst als Gegenstand, damit man ihn im Spielverlauf zu anderen Orten transportieren kann, oder die Raumbeschreibung anpassen.
    • Alle Orte definieren (Überschrift, Beschreibung, Ausgänge). Ein Ausgang kann auch gleich samt Rückweg gesetzt werden.
    • Die möglichen Aktionen und Kombinationen definieren und die daraus resultierende Effekte festlegen. Man agiert im Spiel in erster Linie dadurch, dass man zwei Gegenstände miteinander benutzt. Mit using key door kann man beispielsweise die Möglichkeit geben, einen Schlüssel mit einer Tür zu benutzen. Als Effekt empfiehlt es sich vor allem vorhandene Items oder NPC zu bewegen und/oder Variablen zu ändern. Dazu kann man eine passende Textausgabe erstellen. Durch das entfernen, austauschen oder herbeiholen kann dann die Spiel-Story vorangebracht werden.
    • Zudem kann man Variablen setzen und diese bei bestimmten Aktionen abfragen (if, else) oder nach oben oder unten zählen (inc, dec).



...
  • define
  • enum
  • var -
    • __TMP__
  • item
    • small
    • large
    • NOWHERE
    • INVENTORY
    • player
  • asm
  • loc
    • start
    • NOWHERE
    • n, s, e, w, u, d, n2 etc.
  • using
  • defproc
  • cr
    • inc
    • dec
  • if, elif, else, endif, "==", "!=", "<", ">", "<=", ">=", "@", "!@", and, another, location
  • move, gain, hide"to some other item", PLAYER
  • delay
  • defproc, callproc


Bedienung der Spiele[Bearbeiten | Quelltext bearbeiten]

MCA V1.0
  • N , W , S , O , H  und R  dienen zur Fortbewegung.
  • G  steht für "grabsche" und ist der Befehl zum Aufsammeln von Items.
  • B  Der Befehl zum Benutzen, bzw. Kombinieren zweier Gegenstände.
  • U  Dient zum Untersuchen von Gegenständen oder NPCs. Das gilt sowohl für das Anschauen, das Riechen und das Hören.
  • I  zeigt das Inventar an
  • CLR/HOME  oder F1  baut die Raumbeschreibung neu auf.
  • ?  oder F3  Zeigt die Tastenbelegung an, ein Hilfetext.


Demo[Bearbeiten | Quelltext bearbeiten]

Eine Karte von Petrosilius' Magierturm

Als erster Test für MCA2 entstand ein kurzes Spiel mit dem Namen Adventure of the Saufbox. Dafür stellten sich The Incredible Bauchspeck und Clumsy Wizard von der legendären Crackergruppe Saufbox zur Verfügung. Die erste Version wurde bei der Bunkerparty 2017 veröffentlicht, daher auch der alternative Titel Adventure of the Bunker. Anschließend wurde noch eine leicht überarbeitete und fehlerbereinigte Version 1.1 erstellt.

MCA wurde seither deutlich weiterentwickelt, das Demo nutzt die aktuellen Möglichkeiten der Engine daher nur zum Teil aus. Es handelt sicher aber um ein abgeschlossenes und fertiggestelltes, wenn auch sehr kurzes, Adventure-Spiel.


Story
Der Magier Petrosilius hat sich letztens mit dem Gebiet der Nekromantie befasst und hat seither ein kleines Problem. In seinem Keller haust nun ein dämlicher Ghoul, den er nicht mehr los wird. Hätte er das gewusst, wäre er lieber bei seinen Fachgebieten Elementarismus und Illusionsmagie geblieben, aber nun ist es zu spät.
Als ob das nicht schon genug Ärger wäre, hat es sein Zaubererfreund Mabruk auch noch gut mit ihm gemeint. Er versuchte den Ghoul mit einem Beschwörungsritual zu vernichten, doch leider laufen seither auch noch ein Kalahuii und ein Palawaum in Petrosilius Turm herum...
Nun, dann mal auf - mal schauen wie man die ungebetenen Gäste wieder loswerden kann. Vermutlich ist es das Schlauste, erst einmal ein wenig in der Bibliothek zu recherchieren...

Lösung
Im Start-Inventar hat man seinen ZAUBERSTAB und eine goldene SICHEL.
Wenn man ein BUCH mit dem BÜCHERREGAL benutzt, tauscht man es aus. Jedes BUCH kann untersucht werden. In der Bibliothek gibt es folgende Hinweise: Ein Rezept für einen Stärketrank, Informationen über KALAHUII und PALAWAUM, sowie einen Hinweis auf einen speziellen KRISTALL gegen Untote. Also, auf gehts...
Als erstes mit dem ZAUBERSTAB den KALAHUII töten. Der verliert einen SPATEN, den man nimmt und damit (oder mit dem ZAUBERSTAB) im Garten den toten MARDER entsorgt. Dann kann man damit die ALRAUNE ausgraben. Mit der SICHEL schneidet man auch gleich das SUMPFGRAS und die MISTEL vom BAUM ab, und sammelt beides ein. Dann runter in die Gruft und den SCHLÜSSEL einstecken. Mit dem kann man die TRUHE im Wohnzimmer öffnen. Das BRECHEISEN wird genommen. HAARE eines Toten gibts in der Gruft im SARG, wenn man den mit dem BRECHEISEN benutzt. SCUMM liegt einfach so im Observatorium herum. Der KÄSE aus der Küche wird an den RABEN im Observatorium verfüttert, dann bekommt man eine FEDER. Der HERING ist im Bad, EULENFETT im Labor. Wirft man all das Zeug in den Kessel in der Küche, muss man nur noch seinen ZAUBERSTAB auf den KESSEL anwenden. Man erhält einen Stärketrank, den man sich auch gleich einverleibt. Nun kann man mit dem SCHWERT aus dem Wohnzimmer den PALAWAUM killen. Der verliert eine RUNE. Mit der bekommt man im Labor beim benützen mit dem ALCHEMISTISCHEN GERÜMPEL den KRISTALL. Damit wird man den GHOUL los und das Haus ist wieder monsterfrei.

Der HAMBURGER? Den kann man verfüttern, wenn man will.


Weblinks[Bearbeiten | Quelltext bearbeiten]