Wer von euch hat schon mal ne eigene Engine Programmiert?
-
- Tastatursteuerer
- Beiträge: 675
- Registriert: 11.09.2005, 15:47
Wer von euch hat schon mal ne eigene Engine Programmiert?
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.
mich würde es mal interessieren wer von euch schon mal ne eigene Engine programmiert hat.Bilder und Features würden mich echt interessieren.
- Der Wanderer
- Verpackungs-Wegwerfer
- Beiträge: 89
- Registriert: 05.05.2005, 22:59
- Wohnort: Mittelerde
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.
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.
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.
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.
-
- Verpackungs-Wegwerfer
- Beiträge: 60
- Registriert: 11.05.2005, 19:13
- Kontaktdaten:
- Der Wanderer
- Verpackungs-Wegwerfer
- Beiträge: 89
- Registriert: 05.05.2005, 22:59
- Wohnort: Mittelerde
@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.
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.
-
- Tastatursteuerer
- Beiträge: 675
- Registriert: 11.09.2005, 15:47
- Lebostein
- Logik-Lord
- Beiträge: 1343
- Registriert: 24.03.2003, 22:54
- Wohnort: Elbflorenz
- Kontaktdaten:
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.
Hier ein Demospiel: http://home.arcor.de/tomysoft/download/Loeffel.zip
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.
Hier ein Demospiel: http://home.arcor.de/tomysoft/download/Loeffel.zip
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
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
-
- Tastatursteuerer
- Beiträge: 675
- Registriert: 11.09.2005, 15:47
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?
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?
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?
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?
- Lebostein
- Logik-Lord
- Beiträge: 1343
- Registriert: 24.03.2003, 22:54
- Wohnort: Elbflorenz
- Kontaktdaten:
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 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?
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
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
Grafikmäßig sind das alles nur Dummys für das testen der Engine. Das richtige Adventure wird ein Tick ernster
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
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
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
Grafikmäßig sind das alles nur Dummys für das testen der Engine. Das richtige Adventure wird ein Tick ernster
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