Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
-
- Beiträge: 14
- Registriert: So 7. Jan 2024, 15:02
- OS, Lazarus, FPC: XP, 7, 10, 11/ 3.8 /3.2.2
- CPU-Target: X86-64
- Wohnort: Eckental
Re: Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
falls jemand zu OpenGl was zum schmökern sucht...: https://delphigl.com/
Re: Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
Kommt ja immer drauf an, was es werden soll. Man kann auch ohne spezielle Unterstützung Spiele programmieren.
Ich habe hier: viewtopic.php?t=13459 und hier: viewtopic.php?t=13468 in kurzer Zeit etwas erstellt.
Ich habe hier: viewtopic.php?t=13459 und hier: viewtopic.php?t=13468 in kurzer Zeit etwas erstellt.
Gruß, Michael
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
Auf dieser Seite ist leider nr noch tote Hose, dort war ich früher recht aktiv.Bemi hat geschrieben: Sa 22. Feb 2025, 19:35 falls jemand zu OpenGl was zum schmökern sucht...: https://delphigl.com/
Da bleibt fast nur noch dies als Ausweg: https://community.khronos.org/
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
Genau daher bin ich auf diese Idee gekommen.Das nutzen viele alte Spiele.Mathias hat geschrieben: Sa 22. Feb 2025, 13:11 Mir ist auch mal eine Idee durch den Kopf gegangen. Die Konfiguration für ein Games in einer LCL-App machen und sobald man Run drückt wird die Konfiguration in eine Datei gespeichert. Anschliessend startet man ein SDL-Programm im Vollbildmodus, welches die Konfiguration aus der Datei holt. Und sobald gameover ist, beendet sich das SDL-Programm und man ist wieder im LCL-Programm.
So ist man im reinem Spiel die ganze LCL-Last los und man kann SDL voll ausreizen.![]()
doomsday fährt auch einen ähnlichen weg, natürlich viel professioneller.
Wen ich mich zurück erinnern mag, startete doomsday frühe mit einem Windows-GUI Fenster, wo man vieles einstellen konnte und dann konnte man Run klicken.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 25
- Registriert: Di 5. Nov 2024, 22:36
- OS, Lazarus, FPC: Win11, Lazarus 3.8
- CPU-Target: x86_64bit
Re: Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
Ja, solange man nicht die Zeit hat die Einstellungen im Spiel anzubieten. Es gibt auch Spiele die den Weg gehen und im "windowed mode" über eine SDL-App alles einstellen lassen. So ein Launcher kann ganz schön umfangreich werden, wenn SDL und OpenGL konfiguriert werden sollen, muss aber nicht. Also dazu die LCL dazu zu nutzen finde ich sehr hilfreich. Btw: @Mathias hast du ein Beispiel, wie man mit den neuen SDL3-Properties umgeht. Das ist ganz anders als bei SDL2 gelöst.
zwei Beispiele für schicke Launcher https://songsofsyx.com/ https://www.taleworlds.com/en/games/warband
das sind natürlich hochprofessionelle Spiele.. und nicht von mir!
zwei Beispiele für schicke Launcher https://songsofsyx.com/ https://www.taleworlds.com/en/games/warband
das sind natürlich hochprofessionelle Spiele.. und nicht von mir!
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
Wenn man das Spiel von Grund auf baut macht das auch Sinn nur das einzubauen was wirklich notwendig ist. Ein schönes und funktionales UI zu bauen ist nicht so trivial. Aber da kommen halt auch wieder Engines ins Spiel, sobald man einmal eine Engine gebaut hat mit einer vernünftigen UI Bibliothek geht das ganze auch ohne "Medienbruch".
Es gibt spiele wo das immer noch Sinn macht, z.b. runden basierte Multiplayer spiele bei denen man einen Client als Fenster offen haben möchte Falls einen Freunde einladen wollen, aber man nicht unbedingt einen Exclusive Fullscreen drin haben will.
Das gesagt, heutzutage erwartet man da auch grafisch aufwendigere Menüs die auch im Grafikstil des Spiels sind, und keine Standard Win32 Forms Anwendung.
Generell zum Thema LCL und Spiele, egal ob jetzt als Menü, oder Spiele mit LCL controls, ja klar kann man das machen, und zum Experimentieren auch voll in Ordnung, wenn man aber ein richtiges Spiel basteln will was man der Welt präsentieren möchte ist das halt definitiv unter den Standards die man normalerweise so erwartet.
Insbesondere da mit engines wie Unity heutzutage Kinder ohne vorige Programmierer Erfahrung besser polierte und aufbereitete Spiele in ihrem Kinderzimmer basteln können
(Was ich, fürs Protokoll, übrigens super finde, je einfacher es ist coole Dinge programmieren und Erfolgserlebnisse zu haben desto besser)
Es gibt spiele wo das immer noch Sinn macht, z.b. runden basierte Multiplayer spiele bei denen man einen Client als Fenster offen haben möchte Falls einen Freunde einladen wollen, aber man nicht unbedingt einen Exclusive Fullscreen drin haben will.
Das gesagt, heutzutage erwartet man da auch grafisch aufwendigere Menüs die auch im Grafikstil des Spiels sind, und keine Standard Win32 Forms Anwendung.
Generell zum Thema LCL und Spiele, egal ob jetzt als Menü, oder Spiele mit LCL controls, ja klar kann man das machen, und zum Experimentieren auch voll in Ordnung, wenn man aber ein richtiges Spiel basteln will was man der Welt präsentieren möchte ist das halt definitiv unter den Standards die man normalerweise so erwartet.
Insbesondere da mit engines wie Unity heutzutage Kinder ohne vorige Programmierer Erfahrung besser polierte und aufbereitete Spiele in ihrem Kinderzimmer basteln können
(Was ich, fürs Protokoll, übrigens super finde, je einfacher es ist coole Dinge programmieren und Erfolgserlebnisse zu haben desto besser)
-
- Beiträge: 25
- Registriert: Di 5. Nov 2024, 22:36
- OS, Lazarus, FPC: Win11, Lazarus 3.8
- CPU-Target: x86_64bit
Re: Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
Das ist ein aber ein hoher Anspruch für den "Hobbybereich" der Spieleentwicklung. Für ein Spiel ist man quasi auch als Grafikdesigner gefordert, nicht nur als Programmierer. Das timmt schon. Es soll doch alles etwas ansprechend aussehen, eine Stimmung vermitteln. Das finde ich sehr schade, dass z.B. Michalis der die Castle GE entwickelt, dafür kaum Ressourcen hat, aber das sieht man auch beim CGE Editor(sieht aus wie Lazarus). Mir geht es halt nicht anders, wenn ich keinen GrafikDesigner engagieren kann.. Ich finde z.B. Retro-Pixelgrafik in vielen IndieSpielen sehr schick. Auch etwas von Hand zu Zeichnen vermittelt eine ganz andere Stimmung (z.B. Portraits und Icons). Und ein UI muss halt auch halbwegs stimmig sein. Das ist auch wieder eine Frage der Ressourcen und der Zeit die man da reininvestieren kann. Als Einzelperson ist man da doch sehr limitiert.
-
- Beiträge: 25
- Registriert: Di 5. Nov 2024, 22:36
- OS, Lazarus, FPC: Win11, Lazarus 3.8
- CPU-Target: x86_64bit
Re: Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
Das ist für mich eine große Quelle der Inspiration, beide Spiele sind für Pascal und nutzen SDL1(?), mit quellcodes für Console oder mit eigener GUI :
https://github.com/jwvhewitt/gearhead-1
https://github.com/jwvhewitt/gearhead-2
Die neueste Folge der Serie wird glaube ich mit Python und SDL entwickelt, hier kann man sich das anschauen: https://gearheadrpg.com/
https://github.com/jwvhewitt/gearhead-1
https://github.com/jwvhewitt/gearhead-2
Die neueste Folge der Serie wird glaube ich mit Python und SDL entwickelt, hier kann man sich das anschauen: https://gearheadrpg.com/
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
Gibt eine ganze Reihe von Indy spielen die nur von einer Person entwickelt werden. Zum einen gibt es Asset Stores von vielen Game engines in denen man viele assets und Designs finden kann. Zum anderen gibts auch Grafik stile die weniger aufwendig sind. Pixel Art z.b. etwas das man mit einem vernünftigen Editor auch ohne großes Talent im zeichnen oder co erlernen kann (ich kann asesprite empfehlen).jammernich hat geschrieben: So 23. Feb 2025, 10:35 Das ist ein aber ein hoher Anspruch für den "Hobbybereich" der Spieleentwicklung. Für ein Spiel ist man quasi auch als Grafikdesigner gefordert, nicht nur als Programmierer. Das timmt schon. Es soll doch alles etwas ansprechend aussehen, eine Stimmung vermitteln. Das finde ich sehr schade, dass z.B. Michalis der die Castle GE entwickelt, dafür kaum Ressourcen hat, aber das sieht man auch beim CGE Editor(sieht aus wie Lazarus). Mir geht es halt nicht anders, wenn ich keinen GrafikDesigner engagieren kann.. Ich finde z.B. Retro-Pixelgrafik in vielen IndieSpielen sehr schick. Auch etwas von Hand zu Zeichnen vermittelt eine ganz andere Stimmung (z.B. Portraits und Icons). Und ein UI muss halt auch halbwegs stimmig sein. Das ist auch wieder eine Frage der Ressourcen und der Zeit die man da reininvestieren kann. Als Einzelperson ist man da doch sehr limitiert.
Im 3D Bereich gibt's low poly stile, z.B. superhot ist ein Spiel das viele Preise gewonnen hat mit einem Stil der definitiv auch für Anfänger erreichbar ist.
Ein paar Spiele die von einer einzigen person entwickelt wurden und mittlerweile sehr bekannt sind:
Vampire survivors
Undertale
Papers please
Stardew Valley
Minecraft
Es ist sehr gut möglich für ein Personen Teams ohne budget wunderschöne Spiele in der Freizeit zu basteln
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
Was meinst du mit Properties ?@Mathias hast du ein Beispiel, wie man mit den neuen SDL3-Properties umgeht. Das ist ganz anders als bei SDL2 gelöst.
Properties gibt es viele. Da wäre von Vorteil, wen man wüsste, was du einstellen willst.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
Kurz mal noch zu dem Thema Ressourcen in großen Projekten.
Ich habe vor ~5 Jahren einmal mit Unity einen Videoguide gemacht, welcher von Unity selbst war - kostenlos.
Man hat halt wirklich vieles, was dort einfach abgebildet ist. Oft eher schlecht als recht, wenn man Performance einmal in Betracht zieht. Fällt aber nicht auf, bei der Leistung, welche die heutigen Computer mitbringen. Im Guide wurden irgendwelche Objekte über den Launcher selbst mit kleinen Skripten versehen und man hatte nach ca. 1h ein fertiges spiel. Hintergrund, Gravitation, Musik, usw. war alles dabei implementiert.
Zum Thema Performance selbst, hat sich bei Unity extrem viel getan durch das Spiel "Escape from Tarkov", welches viel zu groß für die damalige Engine war (und höchstwahrscheinlich noch ist). Tarkov ist anfänglich von 5 Russen entwickelt worden, welche keinerlei Programmiererfahrung hatten und das Entwicklerstudio hat nun permanent Mitarbeiter von Unity im eigenen Haus, die nur die Engine gegen das Spiel debuggen.
Die Performance ist der Grund, warum nahezu alle großen Entwicklerstudios nicht zu Unity greifen, sondern eher mit Unreal oder einer eigenen Engine arbeiten.
Daher ist bei der Unreal-Engine auch noch einmal mehr Kapital im Hintergrund vorhanden, was mehr Ressourcen mit sich bringt.
Schlussfolgernd dazu, fehlen die Ressourcen natürlich im fpc Bereich, weshalb man hier eher den Hobbybereich ausfüllt, welcher "nie" von Menschen betreten wird, welche sich nicht mit fpc auskennen.
Ich habe mir die Castle-Engine noch nicht angesehen, daher kann ich dazu nichts sagen.
Ich habe vor ~5 Jahren einmal mit Unity einen Videoguide gemacht, welcher von Unity selbst war - kostenlos.
Man hat halt wirklich vieles, was dort einfach abgebildet ist. Oft eher schlecht als recht, wenn man Performance einmal in Betracht zieht. Fällt aber nicht auf, bei der Leistung, welche die heutigen Computer mitbringen. Im Guide wurden irgendwelche Objekte über den Launcher selbst mit kleinen Skripten versehen und man hatte nach ca. 1h ein fertiges spiel. Hintergrund, Gravitation, Musik, usw. war alles dabei implementiert.
Zum Thema Performance selbst, hat sich bei Unity extrem viel getan durch das Spiel "Escape from Tarkov", welches viel zu groß für die damalige Engine war (und höchstwahrscheinlich noch ist). Tarkov ist anfänglich von 5 Russen entwickelt worden, welche keinerlei Programmiererfahrung hatten und das Entwicklerstudio hat nun permanent Mitarbeiter von Unity im eigenen Haus, die nur die Engine gegen das Spiel debuggen.
Die Performance ist der Grund, warum nahezu alle großen Entwicklerstudios nicht zu Unity greifen, sondern eher mit Unreal oder einer eigenen Engine arbeiten.
Daher ist bei der Unreal-Engine auch noch einmal mehr Kapital im Hintergrund vorhanden, was mehr Ressourcen mit sich bringt.
Schlussfolgernd dazu, fehlen die Ressourcen natürlich im fpc Bereich, weshalb man hier eher den Hobbybereich ausfüllt, welcher "nie" von Menschen betreten wird, welche sich nicht mit fpc auskennen.
Ich habe mir die Castle-Engine noch nicht angesehen, daher kann ich dazu nichts sagen.
-
- Beiträge: 118
- Registriert: Do 20. Jul 2017, 23:47
- OS, Lazarus, FPC: Win7 und Win10
- CPU-Target: xxBit
- Wohnort: Südheide (Schnuckenland)
Re: Spieleprogrammierung mit Pascal - Nützliches und nicht so Nützliches
Durch Zufall habe ich eben ein Video (fast 2 Stunden Länge) über die Castle Game Engine gefunden. Das Video ist auf dem Embarcadero-Kanal, dem Hersteller von Delphi zu finden:
"Coding games using Castle Game Engine and Delphi - Michalis Kambureli"
https://www.youtube.com/watch?v=xvAmuPD4PrU
"Coding games using Castle Game Engine and Delphi - Michalis Kambureli"
https://www.youtube.com/watch?v=xvAmuPD4PrU