Entscheidung was man für ein Spiel kreieren könnte

Diskussion zum Thema Programmierung unter DOS (Intel x86)
drzeissler
DOS-Gott
Beiträge: 3336
Registriert: Mo 8. Feb 2010, 16:59

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von drzeissler »

Da gab es mal so ein kleines aber sehr feines Dosspiel in VGA mit superweichem Scrolling,
leider fehlte die musikalische Untermalung, also Hintergundmusik und Sounds.

Ich glaube das hieß "bananoid" oder so ähnlich. War ein Arkanoid-Clon.

Ich würde gar nicht unbedingt out-of-scratch alles neu machen wollen, aber die Quellen dazu und dann pimpen.
Arkanoid war damals am Atari/Amiga, ja soagr am 64er besser, als die originale PC-Umsetzung.

Der o.g. VGA-Clon war allerdings grafisch der Killer im Vergleich zu den anderen.

Könnte man sich nicht von dem Autor die Quellen besorgen und dann was draus machen ?
Ich fände das echt sinnvoller, als eine endlose Diskussion über alles mögliche.

Ich habe schon länger darüber nachgedacht, die alten Dos-Ports, die lange Zeit deutlich schlechter waren, als die Amiga/ST Versionen, zu pimpen.
Doc

Stellt Euch das man mit Trackermukke und mit Vesa-Support vor:
http://www.youtube.com/watch?v=EVxmC2YkhVU
Zuletzt geändert von drzeissler am Fr 23. Aug 2013, 07:03, insgesamt 1-mal geändert.
CPU: 486 DX2/66 MOBO: SNI-D882 RAM: 3x16MB - FDD: 3,5" 1,44MB HDD: 6,4GB Seagate ISA(1): Audican32Plus PCI(1): 3com TX 905 OS: MsDos622 - Win95a - WinNT 3.51
Benutzeravatar
zatzen
DOS-Guru
Beiträge: 518
Registriert: Di 17. Apr 2012, 05:10
Wohnort: bei Köln
Kontaktdaten:

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von zatzen »

Hallo drzeissler,

dank Youtube konnte ich mir mal schnell einen Überblick über Bananoid verschaffen.

Wenn du das gerne neu auflegen würdest mache ich gerne die Sounds und die Musik
bzw. eine hochqualitative Conversion der bisherigen Musik, da ich seit 20 Jahren
sehr viel im Tracker werkle (und auch "richtig" Musik produziere) wäre mir das ein Vergnügen.
Entweder im XM- oder MOD-Format wenn du die Player-Engine selber schreibst oder dir Routinen
besorgst - wenn mein eigenes abgespecktes, Speicherplatz-sparendes Format zum
Einsatz kommen soll würde ich den Player auch evtl. selbst coden. Bin aber nicht
der beste Coder, vielleicht reiche ich dann einfach lieber die Formatbeschreibung etc. ein.
Mein Format braucht extrem wenig Patternspeicher (Musikinformation) und wenn es
ein bisschen, aber nicht wirklich störend, rauschen darf, dann lassen sich die
Sampledaten auch auf ca. die Hälfte reduzieren.

Selbst komplett programmieren würde ich dann schon lieber etwas ganz eigenes und möglichst neuartiges.

Dazu könnte man analytisch vorgehen, um herauszufinden, welche Instinkte des Menschen
bei diesem oder jenem Spiel angesprochen werden.

Beispielsweise:
- Tetris: Ordnung, Äufräumnen, Ausmisten, Kleinkind-Faszination "welcher Bauklotz passt in welches Loch"
- Lemmings: Kontrolle, Führung, Wege finden
- Super Mario: Münzen sammeln, Verstecke "Schätze" finden, Zerstörung, Geschwindigkeit, Abräumen

Strategiespiele haben mich nie begeistern können. Den Instinkt "der beste sein" oder "etwas komplexes
aufbauen und pflegen" habe ich wohl nicht. Zumindest nicht bei Spielen.

Das alles nur mal als Brainstorming. Ich komme meist erst auf Ideen wenn ich meine Gedanken mal
zu Papier bzw. "zu Internet" bringe. Früher habe ich eher so gedacht, aus diesem oder jenen Thema
oder um irgendeine beliebte Charakterfigur müsste man ein Spiel bauen. Das ist vielleicht für Spielfilme
oder Adventures sinnvoll, aber wenn es um ein Spielprinzip geht, dann sollte man sich vielleicht
lieber überlegen, welche Belohnungsmechanismen von dem Spiel bedient werden sollen.
Früher war soetwas für mich schon, wenn bei Tetris bei jedem Level eine neue tolle Hintergrundgrafik
erschien. Aber auf Dauer funktioniert soetwas nicht.
mov ax, 13h
int 10h

while vorne_frei do vor;
drzeissler
DOS-Gott
Beiträge: 3336
Registriert: Mo 8. Feb 2010, 16:59

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von drzeissler »

Ich bin mehr so der Denker, nicht der Umsetzer. Sprich die Idee ist da, die Umsetzung kann ich nicht machen.
Mich ärgert das ein wenig, aber ich kann mir einfach nicht die Zeit freischaufeln, mich mit coding intensiv
zu beschäftigen.

Ich hatte unlängst mal bei "pouet" ein Retro-Demo-Coding (286/386/486) angeregt...mal sehen, ob da
was für meinen 286er rauskommt.

Doc
CPU: 486 DX2/66 MOBO: SNI-D882 RAM: 3x16MB - FDD: 3,5" 1,44MB HDD: 6,4GB Seagate ISA(1): Audican32Plus PCI(1): 3com TX 905 OS: MsDos622 - Win95a - WinNT 3.51
Benutzeravatar
zatzen
DOS-Guru
Beiträge: 518
Registriert: Di 17. Apr 2012, 05:10
Wohnort: bei Köln
Kontaktdaten:

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von zatzen »

Hier erstmal ein Video, für alle, die sich Motivation holen wollen, für ein beschränktes System
coden zu wollen. Die Beschränkung gibt erst die Motivation, seine Arbeit gut überlegt und bis
ins Detail optimal und Daten kompakt zu gestalten.
http://youtu.be/So-m4NUzKLw


Meine Überlegungen soweit was ich gerne mal umsetzen würde:

- Ein Zwei-Spieler-Jump&Klopp
Es soll nicht wie ein Kampfkunstspiel werden, sondern vielmehr ein Jump&Run irgendwelcher Art, wo
sich die beiden Spieler aber, unter Benutzung diverser Items die auftauchen, versuchen, sich gegenseitig
Platt zu machen. Wobei ich da schon lieber den Weg gehen würde dass ein einmal gestorbener
sofort wieder auftaucht, die Kills gezählt werden, und am Ende in einer Tabellet verwigt werden.
- Die Spieler können sich zu Anfang eine Spielfigur konfigurieren, diese könnten unterteilt
sein in Kopf, Körper und Beine, und haben dementsprechend ihre Vor- und Nachteile, ausserdem
wird das ganze dann individiell mit passenden Sounds begleitet
- Dabei sollte das ein reiner Side-Scroller werden, und das interessante an der Sache würde sein,
dass sich, wenn man nach links oder rechts geht, das Level per intelligenter Zufallsgestaltung
erweitert, so dass niemals ein Level dem anderen gleicht. Besser nur nach rechts ODER nach
links, dann brauche ich die beliebig langen Levels nicht im Speicher halten sondern immer nur
einen Teil der gerade sichtbar ist.

Sinnvolle Level-Zufallsgestaltung ist vielleicht schwierig, ob es unmöglich ist lasse ich mir entweder
von euch sagen oder probiere es ersteinmal aus und gebe dann noch auf.
Zudem vielleicht auch witzig wenn sich Situationen ergeben, der eine Spieler steht ganz
links, der andere ganz rechts und der eine will verhindern dass der andere das Level
verschiebt, da es so sein wird dass immer beide auf dem Bildschirm bleiben müssen.
mov ax, 13h
int 10h

while vorne_frei do vor;
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von freecrac »

zatzen hat geschrieben:Ich möchte wenigstens eine Kompatibilität(!) mit DosBox, für den flexibleren
Umgang auf nicht-DOS-Plattformen. Das schliesst ja nicht aus, dass es
auch auf echten DOS-Systemen funktioniert.

Bleibt die Frage, wie der Unreal-Mode sich auf die Programmierung auf der
Hochsprachenebene (Pascal) auswirkt. Anlegen von Arrays, Pointern usw.
Ich habe nun ein kleines Demo für die DosBox umgeschrieben, um auch mal in der DosBox den linearen Framebuffer zusammen mit dem 16 Bit Unrealmode unter Windows 7 (64bit) auszuprobieren.

In der "dosbox-0.74.conf"(Startmenü->dosbox-0.74 Options) habe ich dafür "xms", "ems" und "umb" deaktiviert:
xms=false
ems=false
umb=false
Download: http://www.alice-dsl.net/freecracmaps/Tool/VLABY.ZIP
Im Demo werden einige Linien auf schwarzem Hintergrund angezeigt, deren Anfangs- und End-Koordinaten sich über den Bildschirm bewegen und am jeweiligen Bildschirmrand ihre Richtung ändern. Die Auflöung ist in 1024x768x8 und der Videomode hat die Nummer: 105h +4000h.

Hinweis:Wenn man die "VLABY.asm" mit einem Editor öffnet, dann findet man dort am Anfang einige Konstanten deren Zuweisungen man dort schnell finden und ändern kann. Alle Zeileneinträge hinter einem Semikolon werden als Kommentar beim Assemblieren ignoriert. So habe ich alles deaktiviert was zusammen mit der DosBox nicht funktioniert, wie z.B. Videomodi mit eigenen CRTC-Parameter(Modenummer+800h)!

Code: Alles auswählen

          Video_Mode   =     105h +4000h   ;  +800h ; VESA:256Farben+linear+CRTC
;--------------------------------
          Xmux         =    1024 
          Ymux         =     768      ; Auflösung muss mit Videomodenummer übereinstimmen!
;-------------------------------------
          Anzahl       =     003h     ; Anzahl der Objekte (max.:0FFh)
;-------------------------------------
          Farbe        =      0Eh     ; Farb-Nummer: 0 bis 255
Der Unrealmode zusammen mit dem LFB funktioniert also auch in der DosBox bei mir ohne Probleme.

Dirk
Benutzeravatar
zatzen
DOS-Guru
Beiträge: 518
Registriert: Di 17. Apr 2012, 05:10
Wohnort: bei Köln
Kontaktdaten:

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von zatzen »

Ich hab mich mal etwas umgeguckt. Was die Framerate angeht. Es gab da durchaus Spiele,
sogar Weltraum-Shooter, mit einer Framerate < 15 fps.
Ich weiss dass ihr wohl alle es nicht gut heissen wird wenn man eine gewisse Monolithität (oder so)
auf einem PC voraussetzt. Aber ich bin kein wirklich 100% ernsthafter Programmierer und mache
das nur nebenbei. Für mich funktioniert es also super, wenn ich voraussetze, dass der User in
Besitz einer Soundkarte ist, und zudem die Rechenleistung immer hoch genug ist, so dass ich
eben wirklich den Soundpuffer als Timer missbrauchen kann und nebenbei dadurch aber auch
noch 100%ige Synchronität von Bild und Ton habe. Es ist nicht verwunderlich, dass mich selber
dieses Prinzip gar nicht stört: Im Gegenteil, da ich so ein Tonmensch bin, wäre das Spiel für
mich ohne Ton gar nicht spielenswert!

Das ist alles Geschmackssache, und ich habe es zudem nicht gerne, wie man es bei Sierra
Adventures sehen kann, wenn die Framerates irgendwie bunt gemischt werden. Das wirkt
auf mich irgendwie "flatterig". Ich schaffe lieber den Eindruck, als wäre das ganze ein Film,
auch wenn er nur z.B. 15 FPS hat. Exzessives Scrolling werde ich sowieso vermeiden.

Die Spielprinzipien die ich am ehesten spielen würde sind Adventure oder Jump & Run. Ich kann weder viel mit
Strategie anfangen, noch mag ich jegliche Art von Ballerspielen, wobei Ego-Shooter zudem auch noch meistens
Stragegie dazu sind.

Nun ist es so, Adventures sind letzen Endes auch nur ein Hüpfen von Option zu Option. Man hat irgendwie
auch kein richtiges Gefühl von Freiheit. Ähnlich bei Jump&Runs, immer wieder den gleichen Weg gehen müssen.
Ich habe mir gedacht, vielleicht kann man beides Kombinieren. Ein Adventure dadurch anreichern, dass man nicht
nur mit der Maus herumklicken kann, sondern in direkter konkreter Situativer Interaktion steht und alles insgesamt
ein Eigenleben hat, das tatsächlich im Hintergrund vorhanden ist und nicht nur eben gerade so konstruiert ist, dass
der Spieler durch das was er auf dem Bildschirm sieht glaubt, es habe sich etwas geändert.

Es soll weniger darum gehen, dass das ganze eine starke Herausforderung für den Spieler ist und dieser auch nicht
entweder vor starkes Kopfzerbrechen oder adrenalinmäßig auf die Probe gestellt wird. Vielmehr soll man das Spiel
und alles was passiert geniessen können, sich amüsieren können. Unterhaltung eben, keine Arbeit.
mov ax, 13h
int 10h

while vorne_frei do vor;
drzeissler
DOS-Gott
Beiträge: 3336
Registriert: Mo 8. Feb 2010, 16:59

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von drzeissler »

Etwas off Toppic:
Wäre es unrealistisch von den "alten" Dos ports der 68000er Konvertierungen das leidige Thema PC-Beepser zu lösen
nicht eine interessantere Spielwiese, als selbst was "nicht professionelles" zusammen-zu-coden ?

Anders gefragt, wäre es nicht Toll am PC bei Speedball, Xenon, LastNinja, neben der schon recht schönen EGA-Grafik
auch die passende Musik aus der Soundblaster zu hören. Es wäre doch alles da. Das Spiel, die Trakkermukke aus den
68K Ports, es müsste halt "nur" zusammengefügt werden.

Das würde ich mir sehr wünschen, auch wenn die Spiele natürlich auch mit PC-Beepser Spass machen, aber irgendwas
fehlt halt.

Doc
CPU: 486 DX2/66 MOBO: SNI-D882 RAM: 3x16MB - FDD: 3,5" 1,44MB HDD: 6,4GB Seagate ISA(1): Audican32Plus PCI(1): 3com TX 905 OS: MsDos622 - Win95a - WinNT 3.51
Benutzeravatar
zatzen
DOS-Guru
Beiträge: 518
Registriert: Di 17. Apr 2012, 05:10
Wohnort: bei Köln
Kontaktdaten:

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von zatzen »

Das wäre schon eine interessante Sache, wobei mein Schwerpunkt eher darauf liegt, Datenstrukturen
zu ersinnen. D.h. meinetwegen ein Scripting System, und dann ein Tool schreiben welches die Scripts
in möglichst kompakte Binärdaten umwandelt.

Dann ist natürlich die Frage, was 68000er Spiele angeht, wie sinnvoll das ist, da es ja mittlerweile
für heutige potente Rechner eigentlich für jedes bisherige Computersystem Emulatoren gibt.

Dennoch, es würde ja Spass machen. Ich verstehe nur gerade nicht genau, wie das aussehen sollte.
Der Code von diesen Konvertierungen dürfte doch ziemlich umfangreich sein, wie will man sich
da zurechtfinden, gerade als nicht-Profi?
mov ax, 13h
int 10h

while vorne_frei do vor;
drzeissler
DOS-Gott
Beiträge: 3336
Registriert: Mo 8. Feb 2010, 16:59

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von drzeissler »

Einfach gesprochen geht es doch "nur" darum, den PC-Beepser gegen Adlib/Soundblaster zu tauschen.

Im Grunde dürfte das Spiel komplett portiert worden zu sein. Bspw. Xenon2-Megablast. Jetzt beepst
halt der PC-Beepser. Man bräuchte eine Abspielroutine (bspw. die vom GLXPlayer) und das passende
MOD vom Amiga und fertig...in der Theorie.

Es gibt auf Vogons einen Thread, wo jemand Soundblaster und MT-32 gleichzeitig bei den Lucas-
Arts-Spielen möglich gemacht hat. Ich habe das zwar noch nicht getestet, aber in die Richtung
denke ich auch.
CPU: 486 DX2/66 MOBO: SNI-D882 RAM: 3x16MB - FDD: 3,5" 1,44MB HDD: 6,4GB Seagate ISA(1): Audican32Plus PCI(1): 3com TX 905 OS: MsDos622 - Win95a - WinNT 3.51
Brueggi

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von Brueggi »

Naja, mit "nur" Ersetzen, damit wird es nicht getan sein. Mein Rick Dangerous-Farbpatch läuft ja leider nur halb (weil nur die ersten 7 Farben geändert werden, und alles andere von der GraKa ignoriert wird) - trotzdem sieht das ganze wesentlich besser aus, als die original CGA-/EGA-Palette.

Hier muss man aber beachten, dass die Farben ja konstant bleiben, also einmal angewendet, bis zum Ende des Games gleich bleiben. Bei Musik ist das was anderes. Die wechselt ständig - hier muss also wesentlich mehr Arbeit reingesteckt und ggf. ganze Programmteile neu kompiliert werden.

Ich habe mir jetzt schon dutzende Macintosh-Versionen von Spielen angeschaut - hammer. Alleine die musikalische Untermalung von Monkey Island 2 bringt die richtige Stimmung. Deswegen steht die DOSe auch momentan ganz in der Ecke :-)
drzeissler
DOS-Gott
Beiträge: 3336
Registriert: Mo 8. Feb 2010, 16:59

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von drzeissler »

Hast Du mal ein paar "Vergleichsscreens" und läuft das dann nur unter VGA oder auch unter EGA ?
Was ist so besonntes an der Monkey2 Version vom Mac.
Die haben doch "nur" die Grafik von 320x200 auf 640x400 "hochgerechnet", oder ?
CPU: 486 DX2/66 MOBO: SNI-D882 RAM: 3x16MB - FDD: 3,5" 1,44MB HDD: 6,4GB Seagate ISA(1): Audican32Plus PCI(1): 3com TX 905 OS: MsDos622 - Win95a - WinNT 3.51
Brueggi

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von Brueggi »

Der Farbpatch läuft (aktuell) nur mit VGA. Ich habe allerdings daran nicht mehr weitergearbeitet, weil sämtliche Tipps, die man mir gegeben hat, nicht geklappt haben - die GraKa ignoriert das Ändern der oberen 8 Farben - schaltet dann u. U. gerne mal auf "durchzug" und setzt die unteren 8 farben in die obere Hälfte der Palette...

Die Grafik von Monkey2 ist "nur" die VGA-Grafik - stimmt. Aber die Musik ist cool - vor allem (im Gegensatz zum Amiga) überall im Spiel vorhanden.
drzeissler
DOS-Gott
Beiträge: 3336
Registriert: Mo 8. Feb 2010, 16:59

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von drzeissler »

Wie ist die Mac im Vergleich zur VGA PC Version ?
CPU: 486 DX2/66 MOBO: SNI-D882 RAM: 3x16MB - FDD: 3,5" 1,44MB HDD: 6,4GB Seagate ISA(1): Audican32Plus PCI(1): 3com TX 905 OS: MsDos622 - Win95a - WinNT 3.51
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von DOSferatu »

Zum Thema Farben:
Der Graka Textmode benutzt 16 aus 64 Farben:
Dabei haben die 16 Farben folgende Indizes in der Palette:
0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 20
7 = 7
8 = 56
9 = 57
10 = 58
11 = 59
12 = 60
13 = 61
14 = 62
15 = 63

Das liegt daran, daß diese 64 Farben aus 4x4x4 Phasen (R,G,B - pro Phase 2 Bit) zusammengesetzt sind.
Vielleicht wird in dem auch diese spezielle Tabelle benutzt? (glaub die wurde auch mal für irgendn Grafikmode benutzt, nannte sich glaube Wonder64 oder sowas.... weiß nicht mehr - irgendn Klugsch.... wird mich sicher verbessern).
Vielleicht hilft obengenanntes. D.h. wenn man die 16 Farben verändern will, einfach die "VGA" Tabelle mit Index 0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63 ändern...

Ist mir nur so eingefallen, weil Du was von "erste 7 Farben" sagtest - daß es vielleicht daran liegt.
Brueggi

Re: Entscheidung was man für ein Spiel kreieren könnte

Beitrag von Brueggi »

Hi,

das hab ich schon alles versucht.
Auch, das mein Patch zuerst den Grafikmodus einschaltet, die Farben setzt (auch schon mit/ohne/verschiedene Gruppierungen), und dann den GraKa-Interrupt "umlenkt" auf eine routine, die nur dann zum Graka-INT springt, wenn in den Textmodus geschaltet wird, ansonsten lediglich IRET ausführt.

Alles ohne Erfolg. Es wird nur die erste hälfte der Palette gesetzt oder eben beide Hälften gleich (das sieht dann aus, als hätte das Game 4-6 Farben). Manchmal kommen auch nur Falschfarben.
Antworten