Sie sind nicht angemeldet.

Dr Guru

Anfänger

Beiträge: 42

Registrierungsdatum: 21. September 2013

  • Nachricht senden

1

Samstag, 25. Januar 2020, 20:57

Hamurabi für Amiga (Kickpascal)

"Hamurabi" gilt als ein Urahn der Wirtschaftssimulationsspiele. Man übernimmt dabei für zehn Jahre die Rolle des sumerischen Königs, der bestimmt, wieviel Land gekauft wird, wieviel Weizen die Untertanen zu Essen bekommen und wieviel Weizen für die Aussaat bestimmt ist.

Das Spiel ist ursprünglich 1968 (!) in der Programmiersprache FOCAL für die PDP8 geschrieben worden. Größere Berühmtheit erlangte es dadurch, dass es in dem 1978 erschienen legendären Buch "BASIC Computer Games" als Listing zum Abtippen für Heimcomputer abgedruckt wurde.

Ich hatte vor zwei Jahren die Basic-Version mittels Free Pascal für Linux-PCs konvertiert. Jetzt habe ich mich daran gesetzt, die Free-Pascal-Version an Kickpascal für den Amiga anzupassen. Den Quellcode und das daraus für den Amiga compilierte Spiel findet ihr hier im Anhang. Das Spiel muss man über die Shell starten. Eingabe und Ausgabe finden auch ausschließlich über die Shell statt.

Ich wünsche viel Spaß beim Regieren von Sumer!

Anmerkungen:

- Der sumerische König (1810 - 1750 vor Chr.) wird eigentlich "Hammurabi" buchstabiert, doch das zweite "m" ist dem damaligen 8-Zeichen-Limit für Filenamen zum Opfer gefallen
- Ich habe das Spiel aus Spaß an der Freude portiert und habe mir nicht die Mühe gemacht, nachzusehen, ob es evtl. schon (z.B. in irgendeiner Public-Domain-Reihe) eine Version von Hamurabi für den Amiga gibt.
»Dr Guru« hat folgende Dateien angehängt:

Jochen

CEO & Abschnittsbevollmächtigter

Beiträge: 2 404

Registrierungsdatum: 1. Juni 2012

Wohnort: Nahe L

Beruf: Web-, Datenbank- und Kartenheini

  • Nachricht senden

2

Sonntag, 26. Januar 2020, 09:33

Ein Text-Spiel? ... uaaah! :wacko:

Dr Guru

Anfänger

Beiträge: 42

Registrierungsdatum: 21. September 2013

  • Nachricht senden

3

Sonntag, 26. Januar 2020, 10:59

Klar, ein Text-basiertes Spiel! Aber auch ein Zeitreisefenster, mit dem man einen Eindruck gewinnt, wie Computerspielen im Jahre 1968 (vier Jahre vor Pong) aussah.

(Außerdem gibt es auch Fans von Text-basierten Spielen. Schließlich hat die Firma Infocom in den 80ern Millionen mit reinen Text-Adventures gescheffelt (Zork etc.).)

CB1JCY

Hausmeister

Beiträge: 1 622

Registrierungsdatum: 23. Juni 2012

Wohnort: Dresden

  • Nachricht senden

4

Sonntag, 26. Januar 2020, 11:33

Das Spiel ist weniger interessant für mich.
Als Delphifan aber der Quelltext. Ist ja bei dem Programm nicht so viel.
Einziges "Meckerchen": Warum hast Du die Texte nicht gleich in die hier geläufigste Sprache übersetzt?
Vielen Dank für das Spiel. :thumbsup:
Chat im EUIRC (#amiga-dresden.de)

Dr Guru

Anfänger

Beiträge: 42

Registrierungsdatum: 21. September 2013

  • Nachricht senden

5

Sonntag, 26. Januar 2020, 12:23

Für den Fall, dass du mal versuchst, den Quelltext mit Delphi zu kompilieren, würde mich es interessieren, ob hier eine weitere Anpassung notwendig ist, damit es kompiliert.
Bei der Portierung von Free Pascal zu Kickpascal musste ich die folgenden Dinge anpassen:
- Ich hatte eine String-zu-Integer-Konvertierungsfunktion aus der Free-Pascal-Bibliothek verwendet. Diese habe ich durch die hauseigene Val-Prozedur ersetzt
- In Free Pascal werden Prozeduren ohne Parameter als "myProcedure()" bezeichnet, während, sie in Kickpascal als "myProcedure" (ohne leere Klammern) geschrieben werden
- Kickpascal scheint nicht die Anweisungen "break" und "continue" für die Handhabung von while- und repeat-Schleifen zu kennen; hier habe ich stattdessen, etwas umständlicher, mit Flags gearbeitet (Mismatchflag und Breakflag)

CB1JCY

Hausmeister

Beiträge: 1 622

Registrierungsdatum: 23. Juni 2012

Wohnort: Dresden

  • Nachricht senden

6

Sonntag, 26. Januar 2020, 13:19

Es gibt beim Delphi5 zwei Varianten:
Einmal das Visual-Pascal, wo man einfach Oberflächen und Elemente gestaltet und die Reaktionen als Prozeduren macht.
Und dann die Dos-Variante, so wie Du das gemacht hattest.
Vom Befehlsumfang sollte alles passen.
Chat im EUIRC (#amiga-dresden.de)

Dr Guru

Anfänger

Beiträge: 42

Registrierungsdatum: 21. September 2013

  • Nachricht senden

7

Freitag, 6. März 2020, 22:31

Ja, die zwei Varianten gibt es bei Free Pascal (z.B. unter Linux, Windows, MacOS oder aktuellem AmigaOS) auch. Der GUI-Builder nennt sich dort "Lazarus". Einfach ein paar Widgets per Drag-and-Drop ins Fenster schieben, Doppelklick auf das Widget, und man wird direkt im Code zu der Stelle geleitet, wo man die Aktionen für das Widget festlegen kann.

CB1JCY

Hausmeister

Beiträge: 1 622

Registrierungsdatum: 23. Juni 2012

Wohnort: Dresden

  • Nachricht senden

8

Samstag, 7. März 2020, 01:10

Mit Lazarus habe ich auch schn was gemacht. Geht auch ganz gut. Ich bin aber durch Delphi, was ich vorher kannte, etwas verwöhnt.
Chat im EUIRC (#amiga-dresden.de)

Dr Guru

Anfänger

Beiträge: 42

Registrierungsdatum: 21. September 2013

  • Nachricht senden

9

Gestern, 23:40

Für die an Computerspielgeschichte interessierten sei hier kurz skizziert, wie Hamurabi zur Entstehung des Wirtschaftsspielgenres beitrug:
  • Von Hamurabi führt ein sehr direkter Weg zu "Santa Paravia and Fiumaccio" (1978 auf dem TRS80 und Apple II), das neben den Elementen aus Hamurabi noch die Themen Steuern, Kauf von Gebäuden (Markt, Mühle, Palast, Kathedrale) sowie Armee hinzufügt. Das Spiel erschien auch 1988 für den Amiga, ist aber dort wohl komplett unbekannt.
  • Das 1984 für Atari 400/800 und C64 erschienene Spiel "Kaiser" ist im Wesentlichen ein grafisch aufgehübschter Klon von "Santa Paravia and Fiumaccio". Es war ein großer Hit und erfreut sich auf diesen Systemen bis heute großer Beliebtheit.
  • Kaiser bildet auch den Startschuss für das Genre der "typisch deutschen Wirtschaftssimulation". Es inspirierte "Hanse" (1986 C64, 1988 Amiga) von Ralf Glau, welches der Vorgänger von "Der Patrizier" (Amiga, 1992) ist, dem Beginn einer Reihe, von der bis 2011 neue Spiele erschienen.
  • Ebenfalls von Ralf Glau ist "Vermeer" (1987 C64, 1988 Amiga), das ebenfalls eine Reihe begründete, von der bis 2004 neue Spiele erschienen.
  • Das Spiel "Fugger" (1988 C64, 1989 Amiga) ist im Prinzip das Spiel "Hanse" von der Welt der Schiffe in die Welt der Fuhrparks versetzt. Es ist ebenfalls der Beginn einer Reihe (später aus namensrechtlichen Gründen unbenannt in "Die Gilde"), von der bis 2010 neue Versionen erschienen. Derzeit ist "Die Gilde 3" in Arbeit.