Seite 1 von 7

PureBasic Doom-like Engine btw. Spiel

Verfasst: 22.04.2018 18:43
von WinSysCompany
Hallöchen
ich schreibe gerade ne Engine / ein Spiel das "Like a Boss" ... ähh "Like DooM" ist
und möchte einfach mal hier mein Quellcode teilen, damit ihr mir Anregungen und Tipps geben könnt

Das Project ist KOMPLETT OpenSource und wird ( sobald ich zeit dafür finde ) der GPL unterliegen ;)

main.pb
-------------------------------------------------------------------------------------------------------------------

Code: Alles auswählen

Datei wurde auf GitHub veröffentlicht > https://github.com/RonnyBarthmann/ydoom/blob/master/main.pb
-------------------------------------------------------------------------------------------------------------------

map.pbi
-------------------------------------------------------------------------------------------------------------------

Code: Alles auswählen

Datei wurde auf GitHub veröffentlicht > https://github.com/RonnyBarthmann/ydoom/blob/master/map.pbi
-------------------------------------------------------------------------------------------------------------------

math.pbi
-------------------------------------------------------------------------------------------------------------------

Code: Alles auswählen

Datei wurde auf GitHub veröffentlicht > https://github.com/RonnyBarthmann/ydoom/blob/master/math.pbi
-------------------------------------------------------------------------------------------------------------------

output.pbi
-------------------------------------------------------------------------------------------------------------------

Code: Alles auswählen

Datei wurde auf GitHub veröffentlicht > https://github.com/RonnyBarthmann/ydoom/blob/master/output.pbi
-------------------------------------------------------------------------------------------------------------------

player.pbi
-------------------------------------------------------------------------------------------------------------------

Code: Alles auswählen

Datei wurde auf GitHub veröffentlicht > https://github.com/RonnyBarthmann/ydoom/blob/master/player.pbi
-------------------------------------------------------------------------------------------------------------------

render.pbi
-------------------------------------------------------------------------------------------------------------------

Code: Alles auswählen

Datei wurde auf GitHub veröffentlicht > https://github.com/RonnyBarthmann/ydoom/blob/master/render.pbi
-------------------------------------------------------------------------------------------------------------------

renderMath.pbi
-------------------------------------------------------------------------------------------------------------------

Code: Alles auswählen

Datei wurde auf GitHub veröffentlicht > https://github.com/RonnyBarthmann/ydoom/blob/master/renderMath.pbi
-------------------------------------------------------------------------------------------------------------------

textures.pbi
-------------------------------------------------------------------------------------------------------------------

Code: Alles auswählen

Datei wurde auf GitHub veröffentlicht > https://github.com/RonnyBarthmann/ydoom/blob/master/textures.pbi
-------------------------------------------------------------------------------------------------------------------

yDOOM.wad
-------------------------------------------------------------------------------------------------------------------

Code: Alles auswählen

Datei wurde auf GitHub veröffentlicht > https://github.com/RonnyBarthmann/ydoom/blob/master/yDOOM.wad
-------------------------------------------------------------------------------------------------------------------

Datein wurden auf GitHub veröffentlicht > https://github.com/RonnyBarthmann/ydoom

Re: PureBasic Doom-like Engine btw. Spiel

Verfasst: 22.04.2018 19:22
von Mijikai
Nette Idee :)

Wollte den Code testen aber leider läuft der dieser nicht mit der aktuellen PB-Version...
Welche ist die richtige ?

(DrawWall() & ExamineKeyboard() - Error!)

Re: PureBasic Doom-like Engine btw. Spiel

Verfasst: 22.04.2018 19:51
von WinSysCompany
???

5.62

ist also ziemlich aktuell ...

Re: PureBasic Doom-like Engine btw. Spiel

Verfasst: 22.04.2018 19:58
von ccode_new
Auch einmal ein Hallöchen an die WinSysCompany ;) !

Mal von deinem nicht lauffähigigen Code (Wo ist InitSprite, Open(Window)Screen, .... ?) abgesehen:

Das mit "direct" empfinde ich als Unsinnig!

Ich würde das direkte zeichnen auf dem Windowsfenster immer vermeiden.
(Gerade bei einem Spiel.)

Verwende doch das Canvas-Gadget (Schaue es dir einfach mal an) oder arbeite mit Screens (Fenster oder Vollbild).

Du scheinst mit deiner "Engine" ja auch noch sehr stark am Anfang zu sein.

Anbei: Hast du etwas vergessen beizufügen ?

Re: PureBasic Doom-like Engine btw. Spiel

Verfasst: 22.04.2018 20:29
von WinSysCompany
Auch einmal ein Hallöchen an die WinSysCompany ;) !
^^
Mal von deinem nicht lauffähigigen Code (Wo ist InitSprite, Open(Window)Screen, .... ?) abgesehen:
InitSprite u. *Screen() benutze ich nicht, einfach, weil ich so viel wie möglich selber machen möchte, werde es Später bei Bedarf Portieren
und ja, bei mir läuft es tadellos ;)
Das mit "direct" empfinde ich als Unsinnig!
"direct" steht für "Direktes aus dem Fenster zeichnen" ... also ohne ImageGadget
Ich würde das direkte zeichnen auf dem Windowsfenster immer vermeiden.
(Gerade bei einem Spiel.)
Naja, ist erstmal nebensächlich ... erstmal muss ich den Code an sich optimieren, und dann werde ich "output.pbi" um die *Screen() elemente erweitern ;)
Verwende doch das Canvas-Gadget (Schaue es dir einfach mal an) oder arbeite mit Screens (Fenster oder Vollbild).
Damit habe ich noch GARKEINE erfahrung ... WENN dann Portiere ich später zu OpenWindowedScreen und OpenScreen ( wird auswählbar sein )
Du scheinst mit deiner "Engine" ja auch noch sehr stark am Anfang zu sein.
GANZ weit am Anfang, ja :D
Anbei: Hast du etwas vergessen beizufügen ?
außer die Images ( Pfade bei LoadTex() ), die muss man anpassen, eigentlich nicht

P.S. man kann alle PNG verwenden, die man möchte ... Auflösung ist egal ;)

Re: PureBasic Doom-like Engine btw. Spiel

Verfasst: 22.04.2018 21:13
von WinSysCompany
Okay, mir ist gerade aufgefallen, das ich DrawFlat() ( und damit auch DrawCelling() ) KOMPLETT falsch gemact habe -.-

ich kann mit Ihnen nur Vierecke Zeichen, die in X und Y Richtung ausgerichtet sind, und Rechtecke sind ;(

Ich wollte eigentlich bilibige Dreiecke Zeichnen können ( mit x1, y1, x2, y2, x3 und y3 ) und dann immer mit zwei ausrufen belibige Vierecke zeichnen können
um auch "komplexere" Sektoren ( siehe Doom-wiki ) implimentieren zu können

da werde ich mich wohl die Woche nuchmal ausqualmen dürfen

DrawFlat() und DrawCelling() werden also nochmal KOMPLETT NEU geschrieben

für Tipps bin ich immer offen ;)

Re: PureBasic Doom-like Engine btw. Spiel

Verfasst: 22.04.2018 21:40
von Mijikai
Meiner Meinung nach sollte der Code wenigstens lauffähig sein (und alle benötigten Resourcen beinhalten)
sonst macht der Thread einfach keinen Sinn.

Wie soll man sonst helfen/testen wenn der Code nicht funktioniert ? :freak:

Re: PureBasic Doom-like Engine btw. Spiel

Verfasst: 22.04.2018 22:13
von ccode_new
Zur Zeit sind deine Render-Funktionen auch grausam laaaaaaangsammmmm!!!!

Re: PureBasic Doom-like Engine btw. Spiel

Verfasst: 23.04.2018 05:33
von WinSysCompany
Mijikai hat geschrieben:Meiner Meinung nach sollte der Code wenigstens lauffähig sein (und alle benötigten Resourcen beinhalten)
sonst macht der Thread einfach keinen Sinn.

Wie soll man sonst helfen/testen wenn der Code nicht funktioniert ? :freak:
Naja, ich werde mal versuchen, zu Testzwecken, ne Funktion zu erstellen die Dummy Texturen generiert

Re: PureBasic Doom-like Engine btw. Spiel

Verfasst: 23.04.2018 05:35
von WinSysCompany
ccode_new hat geschrieben:Zur Zeit sind deine Render-Funktionen auch grausam laaaaaaangsammmmm!!!!
ich weiss, leider muss ich mich in InlineASM erst wieder einarbeiten

werde aber nach und nach die Funktionen optimieren

erstmal ligt das Augenmerk auf "es läuft" ;)