Wer von euch hat schon mal ne eigene Engine Programmiert?

Der Anlaufpunkt für alle, die selbst ein Adventure programmieren wollen.
Antworten
BLINX123
Tastatursteuerer
Tastatursteuerer
Beiträge: 675
Registriert: 11.09.2005, 15:47

Wer von euch hat schon mal ne eigene Engine Programmiert?

Beitrag von BLINX123 »

Hallo Leute,
mich würde es mal interessieren wer von euch schon mal ne eigene Engine programmiert hat.Bilder und Features würden mich echt interessieren.
Gast

Beitrag von Gast »

1. ich selbst: nein.

2. Warum? Was soll dies denn dir bringen ?
Wenn du selber mal n Adventure schreiben willst, nimm AGS oder ähnliche Engines, damit klappt das wunderbar.


2.b wenn du programmieren lernen willst, such dir ein Online-Tutorial/Lehrbuch über z.b. c++ heraus (ja, das gibt es).
Gast

Beitrag von Gast »

Ich kann ja programmieren und Engines hab ich auch schon viele geschrieben. Ich bin einfach nur Technisch interessiert und würde gerne mal die Leistung anderer sehen.
BLINX123
Tastatursteuerer
Tastatursteuerer
Beiträge: 675
Registriert: 11.09.2005, 15:47

Beitrag von BLINX123 »

Oh sorry hatte vergessen mich einzuloggen.
Benutzeravatar
Der Wanderer
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 89
Registriert: 05.05.2005, 22:59
Wohnort: Mittelerde

Beitrag von Der Wanderer »

Ich habe eine Adventure Engine geschrieben, "MonkeyScript", bisher nur für
AmigaOS (z.B. Classic, WinUAE, Amithlon, OS4, MOS)
Wie der Name schon sagt, beruht die Engine hauptsächlich auf Scripting. Die
Syntax hängt irgendwo zwischen Javascript, C und Blitzbasic.

Konzept:

Die Engine besteht aus Compiler, Runtime und ein kleines IDE mit Texteditor.

Man hat einen kleinen, aber feinen Befehlssatz zur Verfügung,
z.B. ein Bild auf den Bildschirm platzieren oder einen Sound abspielen.
Dann schreibt man ein Script "main", welches der Compiler in eine Art
virtuellen Assembler kompiliert, der dann von der Runtime sehr schnell
ausgeführt wird. Der Clou bei der Sache ist, dass ein Script ein anderes
Script ausführen kann, die dann parallel laufen können.
Es gibt ausser Dialog und Pfade-System keine direkte Unterstützung für
höhere "Adventure" Funktionen wie z.B. Figuren etc. Eine Figur scriptet man
sich einfach. Durch starten des Script "existiert" die Figur dann quasi. Das
hört sich nach mehr Arbeit an als es ist, aber wenn man einmal eine Figur
gescriptet hat kann man das als template für weitere Figuren nehmen.
Vorteil: Praktisch keine Einschränkungen.

Z.B. Ich habe einen Teich mit Fröschen.
Ich scripte einen Frosch, der ab und zu ins Wasser hüpft, ein bisschen
schwimmt, quakt und wieder heraushüpft.
Das Script starte ich dann 5 mal mit unterschiedlichen Start-Parametern, und
schon habe ich eine Froschteich mit Gewusel.

Beim verlassen der Location werden die Scripte dann beendet.

Wichtig wären da noch Locations und Objekte.
"Locations" sind auch wieder Textdateien, in denen das Hintergrundbild,
Startup and Shutdown Scripte definiert werden, sowie die Lauf-Pfade.
"Objekte" sind alles was man anklicken kann, auch wieder Text Dateien, in
denen dann die Script für die einzlenen Aktionen definiert werden. Die
Objekte können dann (veränderbare) Hot-Zones auf dem Bildschirm haben, wo
man sie anklicken kann, z.B. im Inventory oder auf dem eigentlichen Screen.

Bild

Zusammengefasst:
- 1-24bit Grafik, beliebige Auflösung
- Grafik: PNG, GIF, JPEG, IFF
- Musik Sound: MP3, WAV, AIFF
- eigenes IDE mit Syntax Highlightning
- Compiler, Runtime, Debugger
- beliebig viele Objekte, Sounds, Grafiken, Locations etc.
Oncer
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 60
Registriert: 11.05.2005, 19:13
Kontaktdaten:

Beitrag von Oncer »

@Der Wanderer:
Der Screenshot ist von AmigaOS? :shock:
Hast du auch irgendein Spiel mit der Engine erstellt oder so? Wie lange hat das gedauert, sie zu codieren?
Ich muss sagen, das hört sich schon fast genial an, dieses Scripting System.
Voti

Beitrag von Voti »

Eine sehr einfache Engine:

http://computer.freepage.de/oti

Gruß
Benutzeravatar
Der Wanderer
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 89
Registriert: 05.05.2005, 22:59
Wohnort: Mittelerde

Beitrag von Der Wanderer »

@Oncer
Ja, das ist AmigaOS wie es heute aussehen kann.
(genau genommen: es ist OS3.9 mit OS4 Skin unter Amithlon auf einem 1,3GHz Athlon ;-)

Es ist ein Fanadventure in Arbeit, schon ziemlich lange. Wird auch noch eine Weile dauern. Z.B. die Grafik auf dem Screenshot ist aus diesem Adventure.

Wie lange ich für die Engine gebraucht habe kann ich nicht mehr genau sagen, da ich immer mal wieder dran programmiert habe, ausserdem nutzt die Engine viele Funktionen, die ich mir für andere Software gecoded habe (z.B. Grafikroutinen, Laderoutinen für Sounds etc.).
Ich würde sagen 4 Wochen Full-Time, wenn man sehr gut programmieren kann, fleissig ist und weiss was man will.
Es kommt auch immer auf den Grad der Perfektion an.
Den Grundstein hatte ich in 3 Tagen gelegt, an denen ich jeweils ca. 12h Hardcore programmiert habe, womit ich schon ein kleines Testadventure habe laufen lassen können. Das war dann aber nur Compiler und Runtime, die Scripte mussten dann in einem beliebigen Texteditor geschrieben werden. Später kamen dann aber neue Funktionen, ein IDE mit Texteditor/Syntaxhighlightning und Resourcenverwaltung dazu, Locationeditor, bessere Compiler mit mehr Möglichkeiten etc.

Das schöne an der Engine ist, dass die meiste "Intelligenz" in den Scripten liegt. Daher ist die eigentlich Runtime, also der Interpreter für die (compilierten) Scripte sehr klein und daher leicht zu portieren. Wenn jemand Lust hat, eine Windows Version wäre sehr interessant.;-)
BLINX123
Tastatursteuerer
Tastatursteuerer
Beiträge: 675
Registriert: 11.09.2005, 15:47

Beitrag von BLINX123 »

Wow,
ich bin von beiden Engines begeistert. Die Engine von Der Wanderer sieht echt gut und sauber aus und die Engine bzw. das Spiel was Voti vorgestellt hat sieht echt super gerendert aus.

Edit:
@ Der Wanderer
Mit welchen Programmierprogramm hast du eigentlich die Engine geschrieben?
Benutzeravatar
Lebostein
Logik-Lord
Logik-Lord
Beiträge: 1343
Registriert: 24.03.2003, 22:54
Wohnort: Elbflorenz
Kontaktdaten:

Beitrag von Lebostein »

Hiho,

Ich bin gerade dabei, meine alte (mit QBasic programmierte) Adventure-Engine (http://home.arcor.de/tomysoft/tomyold.html) komplett zu überarbeiten. Sie wird jetzt mit PureBasic (http://www.purebasic.com/german/index.php3) entwickelt und soll den Namen TOMADE (TOMysoft ADventure Engine) tragen. Da ich seit neuestem die Engine nicht nur für Windows, sondern auch für Linux und MacOS X zur Verfügung stellen will, hab ich in den letzten Monaten den Kern der Engine nochmals vollständig überarbeitet. Im Moment kann ich aber noch nichts genaues über Features usw. sagen, da sich alles noch in der Entwicklung befindet.

Zu meiner alten DOS-Engine:
Leider ist sie nicht besonders flexibel und es gibt viele Einschränkungen (Nur einer Person kann umherlaufen, beschränkte Raumgröße, umständliche Bedienung usw.) aber sie besitzt ein eigens entwickeltes Scriptsystem auf 'Blockbasis'. Man setzt quasi sein Script aus vorgegebenen grafischen Blöcken zusammen und kann diese Blöcke parametrisieren. Jedes Script besteht aus mehreren Zeilen, wobei jede Zeile einen Scriptbefehl mit verschiedenen Parametern darstellt und eine Zeilennummer besitzt. So gibt es z.B. auch Sprungbefehle mit Bedingungen usw., mit der sich Schleifen, IF-Abfragen usw, realisieren lassen. Auch lassen sich aus einem Script heraus weitere Unterscripte aufrufen, die nach ihrer Abarbeitung wieder an die Stelle im Hauptscript zurückspringen, an der es verlassen wurde. Hier eine Befehlsübersicht: http://home.arcor.de/tomysoft/tomyscrp.html. Das Scriptsystem erinnert etwas an Assembler, ist aber aufgrund der wenigen Befehle und der grafischen Darstellung viel leichter zu verstehen.

Bild

Hier ein Demospiel: http://home.arcor.de/tomysoft/download/Loeffel.zip
[zak2]Marvel

Beitrag von [zak2]Marvel »

Wir entwickeln seit einigen Jahren - in einem 4-Mann Team - die Adventureengine "Visionaire".

Infos dazu unter http://www.visionaire2d.net.

Die Engine selbst ist zeitgemäß, flexibel und dabei recht einfach zu bedienen. :) Es gibt auch eine Reihe von interessanten Projekten.

Viel Spaß
Marvel
BLINX123
Tastatursteuerer
Tastatursteuerer
Beiträge: 675
Registriert: 11.09.2005, 15:47

Beitrag von BLINX123 »

Hallo Lebostein,hallo [zak2]Marvel,
eure beiden Projekte sind ja in der Adventure-Szene allseits bekannt und ich verfolge beide schon seit den Anfängen. Ich hätte allerdings mal ne Frage an Lebostein. Wann geht die alte QB-Engine Opensource? :wink:
Und könntest du mir mal sagen, wie du die Maussteuerung und die Bewegungsanimationen (inklusive Hotspots) gemacht hast? Dafür hast du doch bestimmt einen kleinen Teil Assembler benutzt,oder?
Benutzeravatar
Lebostein
Logik-Lord
Logik-Lord
Beiträge: 1343
Registriert: 24.03.2003, 22:54
Wohnort: Elbflorenz
Kontaktdaten:

Beitrag von Lebostein »

BLINX123 hat geschrieben:Hallo Lebostein, Und könntest du mir mal sagen, wie du die Maussteuerung und die Bewegungsanimationen (inklusive Hotspots) gemacht hast? Dafür hast du doch bestimmt einen kleinen Teil Assembler benutzt,oder?
Jo. Ich hab in QB zwei kleine Assemblerroutinen benutzt. Die eine für die Maussteuerung. Die ist allseits bekannt und wird in fast allen QB-Projekten verwendet. Die andere ist zum Kopieren von Daten aus einem Array in den Bildschirmspeicher, wobei ein definiertes Byte beim Transfer nicht mit kopiert wird. Dadurch lassen sich transparente Sprites darstellen. Wenn du Interesse hast, schicke ich dir mal ein paar Beispiele per Mail.
BLINX123
Tastatursteuerer
Tastatursteuerer
Beiträge: 675
Registriert: 11.09.2005, 15:47

Beitrag von BLINX123 »

Ich schick dir ne PN mit meiner Email.
Marmorkuchen

Beitrag von Marmorkuchen »

Hallo !
Ich arbeite gerade auch an einer eigenen Engine weil ich einfach, wenn ich etwas schon allein mache, alles allein machen möchte und da keine Hilfe von fertigen Sachen bekommen.

http://www.freakonline.de/digital.php

weiter unten findet ihr Screenshots !
Die Scriptsprache ist etwas komplex und warscheinlich auch nur für mich verständlich, aber da diese Engine eh nicht öffentlich sein wird spielt das eh keine rolle :D

Ich kämpfe gerade um ein verbessertes Pfadsystem zum bewegen des Charakters (Die Engine ist eigentlich fast fertig bis auf Laden/Speichern und ein Soundsystem) was mit aber ziemlich kopfzerbrechen bereitet.

Mal sehen was sich die nächsten Tage so ergibt :D

Grafikmäßig sind das alles nur Dummys für das testen der Engine. Das richtige Adventure wird ein Tick ernster :D

Würde mich gern mal mit anderen Leuten die auch mal Engines geschrieben haben austauschen ! Bin ein ziemlicher Neuling in der richtigen "Adventure Szene" obwohl ich selber viele (durch) gespielt habe.

grüße,
Mammo
Antworten