Archiv für den Monat: Oktober 2025

BlownEye – Horizontales ShootEmUp (Imp89, MacOS, Prototype, 1996) Erfahrungsbericht v0.3

Ressources

https://www.macintoshrepository.org/22115-blown-eye
https://www.la1n.ch/macosclassic

Development-Folder

Idee

In den Zeiten der Arcades und Homecomputer waren die ShootEmUps immer das HighEnd-Produkt. Hier gab es am meisten bewegliche Objekte/Sprites und selbst sich bewegende Hintergründe. Dazu Komplexität in Sachen ExtraWaffen und verschiedene Anzahlen von Sprites auf dem Bildschirm (Schüsse). Am einen Ende stand dann ja auch in einem gewissen Sinn ’sinnstiftend‘ die BulletsHell-Shooter.

Die ShootEmUps verschwanden aber Mitte der 90er Jahre aus dem Fokus des Computerspiels. In den Arcades gab es sie noch länger. Aber „ihre Zeit lief langsam aus“. Gerade auch als technisches Leitmedium hier war 3D angesagt bzw. die Umwandlung von jedem Genre in ein 3D-Genre. Und ShootEmUps lagen hier auch quer, sie benötigten ja ganz viele Objekte und viele der ShootEmUps waren auch einfach zu schwer.

Aus diesem Grund sollte ein visuell ansprechender horizontales ShootEmUp entstehen. In der Tradition von R-Type etwa. Die Steuerung sollte – als einziges Imp89 – Spiel ganz klassisch sein. Kurz und gut: ein Revival.

In der Gestaltung sollte nun auch die Möglichkeit genutzt werden, dass die Dinge ebenfalls nicht mehr Tile-basiert waren sondern auch gestappelt werden konnten.

Weiterlesen

BlackBox Prototyp (Imp89, MacOS, 1997/8?, unpublished) [Erfahrungsbericht]

Ursprung

Per Email kam eine Anfrage, ob man das Spiel BlackBox umsetzen könnte. Der Absender stellte sich als Boeing-Wartungsperson (Ing.) im Libanon heraus. Über einige Monate entwickelte ich das Spiel und schickte ab und zu die neuste Version per Mail/Download nach Beirut. Das Spiel selbst kam aber nicht mehr raus und wurde auch nie ganz fertig. Zu dieser Zeit entwickelte ich schon das kollaborative Projekt nic-las mit Joachim Maier.

 Spielmechanik

Das konkrete Spiel kannte ich nicht, es wurde mir von der Person beschrieben. Ich denke, er beschrieb ein Computerspiel.

Black Box
https://en.wikipedia.org/wiki/Black_Box_(game)

Weiterlesen

roTyX Galaga/Phoenix-ShootEmUp-like (Imp89, MacOS, 1996) [Erfahrungsbericht]

Ressources

https://www.la1n.ch/macosclassic/
https://www.macintoshrepository.org/22162-rotyx

Icon

Das Icon von roTyx ist ein Oberboss, der am Boden steht mit Schatten.

Idee: Mouse centred

Die Idee hinter rotYx war sicherlich ein einfaches ShootEmUp zu schaffen, das sich nur per Maus spielen lässt. Anders gesagt: Es war der Versuch das ShootEmUp-Genre auf den Standard-Controls von diesen neuen VGA-Computern mit guten Mouse-Interface zu verbinden statt auf Keys oder gar Joysticks.

Name & Visuelles

Name bezieht sich auf die Idee visuell die Gegner manuell rendered 3d-rotierend zu machen.

Mehr zum allgemeinen Imp89-Design

Weiterlesen

GROTIC – PuzzleBobble like (Imp89, 68K/PowerPC MacOS, 1995) [Erfahrungsbericht]

Vorlage für GROTIC und andere Spiele dieser Sorte war der Arcade-Hit Puzzle Bobble 1995.

Stand der Shareware auf MacOS in the 90ies BestOf

Ebenfalls wichtig zu dieser Zeit: Ambrosia und ihre Games https://en.wikipedia.org/wiki/Ambrosia_Software.
// Worked also as a publisher, I didn’t know.

Arcade to (Shareware)Computergame

Arcade und Computersysteme sind prinzipiell zwei verschiedene Arten von Interface, Art des Gameplays unter anderem auch wegen der Monetarisierung.

Hier ein paar Aspekte: PuzzleBobble to Grotic – Imp89 [Notiz] [Erfahrungsbericht]

Grotic 1995 – PuzzleBobble-like

Mehr zu Grotic online hier: https://www.macintoshrepository.org/42267-grotic-3-2
oder direkt hier beim Nachfolgeentwickler la1n: https://www.la1n.ch/macosclassic/

Name

Der Titel stammt vermutlich – soweit ich mich noch erinnere – von der Ableitung des benutzten Fonts „ROTIC“ oder „GOTIC“ für GROTIC.

Das Computergame GROTIC

Das Computerspiel PuzzleBobble verwendet zu 100% die Spielmechanik von PuzzleBobble. Es übernimmt aber nicht die Inszenierung von PuzzleBobble. Das Spiel wurde auf seine Mechanik verkürzt.

Weiterlesen

IndividuelleGamesGeschichtschreibung [Notiz]

Vielleicht findet dereinst jemand die Zeit und die Musse auch eine Geschichtsschreibung der Gameentstehungen der sehr indivduellen Charakteren hinter den Games zu schreiben. Was beschäftige sie damals, was waren ihre persönlichen Bezugspunkte, ihre damals gehörten kulturellen Produkte, ihre Freunde – kurz alles was sie so beeinflusst haben könnte. Einige Ansätze gibt es schon, aber hier wird meistens darüber nachgedacht, was war anders, was war aussergewöhnlich, statt „ach dies ist auch eingeflossen“ oder „Könnte eingeflossen sein“.

breakIn – Arkanoid like (MacOS, Imp89, 1997) [Ideen, Erfahrungsbericht]

Download und Infos

https://www.macintoshrepository.org/46264-breakin
oder
von der Dev-Webseite: https://www.la1n.ch/macosclassic/

Inspiration – Spielmechanik

Breakin ist eigentlich eine Arkanoid-Variante (Arcade 1987+ https://en.wikipedia.org/wiki/Arkanoid:_Revenge_of_Doh). Es gibt auch Gegner und verschiedene Extrabälle (3, Hardball), Waffen (Schiessen) etc. Breakin wird wie fast alle Computer-Breakout/Arkanoid-Umetzungen mit der Maus gespielt (vs CHLudens BallRaider).

Skizzen

„Alleinstellungsmerkmal“

Zur damaligen Zeit gab es einige Breakout/Arkanoid-Clone im Apple-Sharewarebereich. Viele waren spielmechanisch ok, aber nicht gerade ansehnlich. breakIn sollte hier ein Mittelding sein also Casual aber doch gut aussehen. Auch hier wurde die Grafik in Photoshop erstellt und für die visuellen Grundpattern Kais Powertools genutzt.

Manuelles-3D-Rendering

Anschliessend wurde meist von Hand 3d gerendert oder es wurde KaiKrauses-Powertool benutzt. Handrendering: Es wurde eine Lichtquelle für die ganze Scene angenommen und alles darauf ausgerichtet. Wie in vielen Spielen ist dies rechts oben.

Weiterlesen

Fantasy – [Alltag] und {Games}

Was machte Fantasy so attraktiv für Games?

Gründe: [Alltag] {Game}

– Meist stehen die Protagonisten im Mittelpunkt [Vs analoge Alltagsrealität] {Avatar}
– Die Protagonisten können oder müssen sogar die Welt verändern (Heldenreise) [Vs Sesshaftikeit] {Raus aus dem Alltag}
– Meist ein Aufstieg vom Niemand zum König [Nicht wirklich möglich] {Storytelling, Reward}
– Es geht meist um alles: Gut gegen Böse [Gar nicht so einfach erkennbar, sehr viel komplexer] {Einfache Systeme}
– Oft wird etwas Neues hinzugefügt und dann mittels kleiner Konstruktionen, die Welt wieder geschlossen []{Kohärente Welten}
– Handlung oft als Aktion alias Kampf [Meist keine direkten Kämpf mehr im Alltag]{Einfach realisierbar}
– Heerführer etc. sind auch gute Kämpfer [Nicht wirklich realistisch] {}
– Immer zugespitzt (!) [vs. Realität] {Comichaft, Gamig}
– Meist sehr vereinfachte Welten [Keine heutige Alltagskomplexität]{Kybernetik}
– Falls Mittelalter das „Vorbild“ ist, meist sehr einfaches Mittelalter als Vorbild (wenig Mittelalterrealität darin)
– Oft das Heute als „Gestern“ inszeniert [Zugänglichkeit]{Setting}
– …
– …

Weiterlesen

Ein Computer kann (heute) nie langsamer sein, als was man machen möchte in Sachen Input [Notiz]

Er ist damit immer eine Herausforderung für seine Bedienung, weil er immer maximal schnell ist und noch schneller wird, während der Mensch eine maximale Arbeitsgeschwindigkeit hat und daneben auch noch Schlaf braucht etc. Es ist vielleicht genau das, was ihn am Anfang der 80er Jahre – trotz seinen Mängeln so attraktiv machte – er war einfach immer da und wartete, als Textverarbeitung, Musicproducingmaschine, Dev-Maschien oder Gamemaschine. Das ist einer der Punkte, die Computer zu dem potentiell totalen Feedback Ding machte.

Es ist das, was wir heute als TikTok etc wieder wahrnehmen als Endlosmaschine vs einen endlichen Menschen.

BONYXII 1995(?) Imp89 Macintosh 7.1+ Tech-Aspekte [Erfahrungsbericht]

Vergleiche dazu auch https://www.macintoshrepository.org/4984-bonyx

Skizzen zum Spiel

Spielmechanik

Woher die Spielmechanik kommt, kann ich heute leider nicht mehr eruieren. Die Spielmechanik ist simple, vielleicht fast zu einfach:

Es geht darum, dass man gleiche Steinreihen verschwinden lässt. Die Steine sind allerdings ungeordnet auf einem Stappel. Man kann nun Steine vom Stapel werfen nach unten, wo sie sich in einer neuen Lage sammeln. Sind alle vom selben Typ verschwinden sie, andernfalls werden sie nach oben geschoben. Sind alle Steine weg ist der Level gelöst. Allerdings gibt es eine Art Zeitlimit in Form eines Balkens, der langsam von oben nach unten fährt.

Code

Der Code ist in C in CodeWarrior geschrieben. Siehe dazu auch hier: https://research.swissdigitization.ch/?p=6270

CodeAufbau

Prinzipiell besteht der Code aus zwei Files:

_rock.c – das Spiel (keine Ahnung warum der Name vermutlich das ursprüngliche Template)
_hollywood.c – der music tracker (Soweit ich weiss per Zufall gefunden und kam aus Genf)

Hollywood.c

/* bonYxII */

Includes

#include <CursorDevices.h>
#include <sound.h>
#include <math.h>
#include <Gestalt.h>


/* MUSIC IS ON */
#include <QuickTimeComponents.h>
#include <Components.h>

#include "Hollywood.h"
#include "Hollywood.c"

Defs Game

int registr=0;    // 0 == nicht registriert 1 == registriert
int ev=0;         // EVENT=1 eingeschaltet
EventRecord    theEvent;
int ai;
Point integerPosition, position;    /* The position of our object, in integer and fixed-point*/
Point centerOfScreen;           /* The center of the screen*/
Point theMouse;                 /* A Point that we get the mouse position in*/
Rect drawingRectangle;          /* A rectangle used for drawing*/
Point speed;                    /* The accumulated speed*/
Rect    windRect,maxrec;
GDHandle         thisGDevice;
RgnHandle gOldVisRgn = NULL;  

KeyMap theKeys;
CGrafPtr bsack,banima,btest;

 int qweer=-10,aanzr=0;
int ffield[20][20][50]={{{ [...]

   int ff[100],razo=0;
    int breiteq[50]={3,4,4,3,[...],3},
        timeq[50]={1092,518,479,880,425,390,669,101,353,[...],163,212};
    int fof[100],timeqq,breiteqq;
    int ofield[10];    int field[20][20];
       SFReply  reply,replyy;
        short refnum,refnumm;
		long bietes;
	
	//---------------
	int cheat=0;  // cheat =0 deaktiviert
	
	int r=24,rr=24,rit=2;
	int alt,welch,qt;
	int anim,animz,spi=2;

[Diverse Quicktime/Music-Pointers.]

// Screenhandeling (Offscreen)
void KillOffScreenPixMap (CGrafPtr offScreen){	[...] }
void CreateOffscreens (void) {  [...] }
void CreateOffScreenBitMap (Rect *theRect, GrafPtr *offScreen) { [...] }
void CreateOffScreenPixMap (Rect *theRect, CGrafPtr *offScreen) { [...] }

Hauptprogramm / Spiel

/* MAIN */

void main(void)
{
Weiterlesen