Rage - Ein "modernes" Rogue-like

Präsentation und Organisation von eigenen Projekten
Antworten
Glocke
Beiträge: 332
Registriert: Fr Okt 26, 2012 8:39 am

Rage - Ein "modernes" Rogue-like

Beitrag von Glocke » Mo Mär 23, 2015 6:08 pm

Hi, nachdem ich hier ewig nichts mehr gepostet habe wird es natürlich Zeit das nachzuholen! Damit es kein Spam wird, möchte ich euch mein aktuelles Projekt vorstellen: Rage, der Versuch ein "modernes" Rogue-like zu bauen. Dazu verwende ich C++11 und SFML 2.x, entwickle im Moment unter Linux und bin noch beim "feinschleifen" der Subsysteme. Allerdings gibt es schon ein paar Sachen vorzuzeigen: YouTube Video.

Das Video ist Teil einer Playlist, die ich regelmäßig (je nach verfügbarer Zeit) aktualisiere - quasi ein kleiner Dev Log ;)

Zum Spiel bzw. der zugrundeliegenden, geplanten Idee: Das ganze soll ein Kampf-lastiger Coop Dungeoncrawler / Rogue-like werden. Der Einfachheit halber spielt sich alles aus der Vogelperspektive ab. Mit anderen lokalen Spielern sollen zufällig generierte Dungeons erforscht, Gegnermeuten bezwungen und Items gesammelt werden... Da ich auf's Causal Gaming und "Instant Action" aus bin, verzichte ich (vorerst) auf jegliche Story. Das ganze ist ein 1-Mann-Projekt und wird es (so vermute ich) auch bleiben .. wenn das Spiel irgendwann mal "so weit ist", werde ich mich nach Leuten für Grafiken und Sounds/Musik umhören.. Im Moment halt ich das aber viel zu früh. De facto existiert noch kein wirkliches Gameplay :D

Im Video zu sehen ist ein Hybrid aus Splitscreen und "Shared Camera": Der Bildschirm kann in mehrere Split unterteilt werden - jedem Spiel können ein oder mehrere Spieler zugewiesen werden, die sich diesen Bildschirmausschnitt teilen. Die Kamera bewegt sich dann entsprechend der Spieler und zoomt. Weiterhin ist auch ein Lightingsystem implementiert. Allerdings muss ich dazu sagen, dass ich auf einem 10' Netbook (1x 1.6 GHz, Intel GPU) entwickle, teste und filme. Entsprechend ist die Framerate niedrig bzw. sinkt schneller. Auf der anderen Seite bekommt man so ganz gut mögliche Performanceprobleme frühzeitig mit 8-)

Konstruktives Feedback ist willkommen!

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Rage - Ein "modernes" Rogue-like

Beitrag von Xin » Fr Mär 27, 2015 2:33 pm

Glocke hat geschrieben:Hi, nachdem ich hier ewig nichts mehr gepostet habe wird es natürlich Zeit das nachzuholen! Damit es kein Spam wird, möchte ich euch mein aktuelles Projekt vorstellen: Rage, der Versuch ein "modernes" Rogue-like zu bauen. Dazu verwende ich C++11 und SFML 2.x, entwickle im Moment unter Linux und bin noch beim "feinschleifen" der Subsysteme. Allerdings gibt es schon ein paar Sachen vorzuzeigen: YouTube Video.
Der Schattenwurf gefällt. ^^
Dazu würde ich geren mal was hören :-)
Glocke hat geschrieben:Das Video ist Teil einer Playlist, die ich regelmäßig (je nach verfügbarer Zeit) aktualisiere - quasi ein kleiner Dev Log ;)

Zum Spiel bzw. der zugrundeliegenden, geplanten Idee: Das ganze soll ein Kampf-lastiger Coop Dungeoncrawler / Rogue-like werden. Der Einfachheit halber spielt sich alles aus der Vogelperspektive ab. Mit anderen lokalen Spielern sollen zufällig generierte Dungeons erforscht, Gegnermeuten bezwungen und Items gesammelt werden... Da ich auf's Causal Gaming und "Instant Action" aus bin, verzichte ich (vorerst) auf jegliche Story. Das ganze ist ein 1-Mann-Projekt und wird es (so vermute ich) auch bleiben .. wenn das Spiel irgendwann mal "so weit ist", werde ich mich nach Leuten für Grafiken und Sounds/Musik umhören.. Im Moment halt ich das aber viel zu früh. De facto existiert noch kein wirkliches Gameplay :D
Denkst Du in Richtung Händi? Gerade hier kann man ja im Causal Gaming durchaus noch was reißen.
Glocke hat geschrieben:Im Video zu sehen ist ein Hybrid aus Splitscreen und "Shared Camera": Der Bildschirm kann in mehrere Split unterteilt werden - jedem Spiel können ein oder mehrere Spieler zugewiesen werden, die sich diesen Bildschirmausschnitt teilen. Die Kamera bewegt sich dann entsprechend der Spieler und zoomt. Weiterhin ist auch ein Lightingsystem implementiert. Allerdings muss ich dazu sagen, dass ich auf einem 10' Netbook (1x 1.6 GHz, Intel GPU) entwickle, teste und filme. Entsprechend ist die Framerate niedrig bzw. sinkt schneller. Auf der anderen Seite bekommt man so ganz gut mögliche Performanceprobleme frühzeitig mit 8-)
Ich wüsste nicht, wo Du da die Quelltexte sehen kannst?
Womit entwickelst Du überhaupt, für mehr als vim kann dann doch schon kein Platz mehr sein.
Glocke hat geschrieben:Konstruktives Feedback ist willkommen!
Habe ich eigentlich nicht - außer die Frage nach einem Händi-Port. :-D

Aber es sieht witzig aus. Wenn man bedenkt, dass solch ein Spiel vor 20 Jahren so noch für 60 DM verkauft wurde, was Du da gerade für Dich spaßeshalber geschrieben hast.

Ich kann mit den Dungeon-Games eigentlich nichts anfangen. Ich hatte da nie Spaß dran, was mir die Möglichkeit von konstruktiven Feedback bzgl. des Spielprinzips unmöglich macht. Ich mochte eigentlich mehr Advantures, bzw. Logik-Spiele oder halt Action-Games.

Nur als mögliche Anregung: Vielleicht kannst Du mit Deiner Engine ja auch in die Richtung eines Rick Dangerous kommen? Das fand ich früher ziemlich gut. :-)
(https://www.youtube.com/watch?v=y3z54fFTT_A)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Glocke
Beiträge: 332
Registriert: Fr Okt 26, 2012 8:39 am

Re: Rage - Ein "modernes" Rogue-like

Beitrag von Glocke » Fr Mär 27, 2015 2:54 pm

Xin hat geschrieben:Der Schattenwurf gefällt. ^^
Dazu würde ich geren mal was hören :-)
Danke! Im Grunde ist das nur Hardedge Shadowcasting: Vom Punkt der Lichtquelle aus werden Geraden durch alle benachbarten Ecken der Wandkacheln (jede Wand ist ein Quadrat) gelegt. Der Durchstoßpunkt jeder Geraden mit dem Bildschirm (d.h. ab da, wo die Gerade aus dem Bildschirm rausgeht) wird zusammen mit dem Berührpunkt (zwischen Gerade und Wand) als Eckpunkte für Dreiecke genommen, so dass eine Kante (mit zwei Ecken) folglich zwei (ggf. identische) Geraden pro Lichtquelle hat, d.h. 4 Punkte. Über diese Punkte wird dann ein Polygon aufgespannt welches die Szene dort dunkel färbt.
Das Licht ist dann nur noch etwas Shader-Kram.
Xin hat geschrieben:Denkst Du in Richtung Händi?
Händi im Sinne mobiles Gerät? Jaein. Prinzipiell ist das mit SFML möglich - aber im Moment für mich nicht geplant. Ich ziele derzeit eher auf handelsübliche PCs ab :D
Xin hat geschrieben:Womit entwickelst Du überhaupt, für mehr als vim kann dann doch schon kein Platz mehr sein.
Texteditor + Konsole + Buildsystem
Konkret: Geany als Editor, Clang als Compiler und ein selbstgebautes Python-Skript als "Buildsystem" ( :lol: )
Xin hat geschrieben:Wenn man bedenkt, dass solch ein Spiel vor 20 Jahren so noch für 60 DM verkauft wurde, was Du da gerade für Dich spaßeshalber geschrieben hast.
Naja vor 20 Jahren gab es ganz andere Hilfsmittel ... der bedachte Einsatz von OOP (zusammen mit ein paar "oldschool"-Ansätzen wie Data-oriented design) und dazu die Möglichkeiten moderner Sprachen (siehe C++11) bilden da schon eine ganz andere Grundlage :) Und dazu kommen natürlich High-Level Libs wie SFML etc ^^
Xin hat geschrieben:Ich kann mit den Dungeon-Games eigentlich nichts anfangen. [...] Ich mochte eigentlich mehr Advantures, bzw. Logik-Spiele oder halt Action-Games.
Die Bezeichnung "Action-Games" ist relativ weitläufig :) ) Ein Hack'n'Slay Dungeoncrawler könnte man als Action-RPG und das als Action-Game bezeichnen ... ;)
Xin hat geschrieben:Nur als mögliche Anregung: Vielleicht kannst Du mit Deiner Engine ja auch in die Richtung eines Rick Dangerous kommen? Das fand ich früher ziemlich gut. :-)
Ein Klassiker :) Im Moment ist das Physik-System eher auf "eben" Szenarien ausgelegt, d.h. kein Sidescroll... Das wird so bleiben, sorry ^^

Antworten