Seite 1 von 1

[Projekt]Rayne

Verfasst: 01.12.2013, 22:48
von Slin
Es gibt ja inzwischen mit Unity, Gamestudio, Torque, C4, Ogre, Irrlicht, Horde, JMonkey, ShiVa, UDK, Cryengine, S2, NeoAxis, Anarchy und noch einigen weiteren ziemlich viele 3D grafik und game engines, die alle ihre vor und nachteile haben. Da sind auf der einen Seite die "großen" wie UDK oder Cryengine, dann einige Open Source Engines und ein paar kommerzielle mit hauptsächlich Hobbyentwicklern und Indies als Zielgruppe. Trotz dieser großen Auswahl sind wir der Meinung dass es Zeit für eine weitere 3D Game Engine ist und so vor etwa einem Jahr zu zweit angefangen Rayne zu entwickeln. Das Ziel ist eine flexible, preiswerte und moderne Game Engine ohne irgendwelche Altlasten und einfachem Lizenzmodell.

Rayne ist in C++11 geschrieben und soll als Pay-What-You-Want mit nur einer Lizenz verkauft werden.
Einige Features sind:
  • Läuft unter OSX, Windows, Linux und später auch iOS, Android und eventuell irgendwann den neuen Konsolen
  • Erweiterbar mit Modulen zum Assets laden, Multiplayer, Physik, Audio usw., womit die vorhandenen ersetzt und ergänzt werden können
  • Multithreading
  • Angelscript Bindings
  • FreeType Font Rendering
  • GPU Skeletal Animations
  • Clustered Lighting, für hunderte von Lichter in einem Level
  • OpenGL 3.2 Core Profile
  • ...
Rayne selbst ist bis auf Kleinigkeiten fertig und wir planen bis Ende dieses Jahres ein paar Interessierten eine erste Version zum Herumspielen und Testen zur Verfügung zu stellen. Danach werden wir vor allem an einem Editor und Bugfixes arbeiten.

Ein paar mehr Informationen und unseren Blog findet ihr auf http://rayne3d.com/
Sponza mit Lichtern
Sponza mit Lichtern
Tonemapping und Bloom
Tonemapping und Bloom
Gras und Bäume und Cascaded Shadow Mapping
Gras und Bäume und Cascaded Shadow Mapping
Wir haben im Sommer am Oculus VRJam teilgenommen für den wir unser Spiel Occluded mit Rayne entwickelt haben:
Occluded für die Oculus Rift
Occluded für die Oculus Rift

Re: [Projekt]Rayne

Verfasst: 02.12.2013, 23:04
von AyJayKay
Auf den ersten Blick: cool!

[...]at native speed. No interpreted intermediate layer, just raw performance and ease of use[...]
Ich hab mich sowieso schon gefragt, warum nicht gleich so... auf den zweiten Blick: sehr cool!

http://rayne3d.com/features :o
finally kicked me off..... am coolsten :D

ich mach den Rechner jetzt mit dem Wissen aus, dass da schlaue Köpfe an Dingen arbeiten, die es braucht.
meinen Respekt, und weiter so!

Re: [Projekt]Rayne

Verfasst: 03.12.2013, 02:30
von Slin
Ich bin mir ja immer noch nicht ganz sicher ob du das ernst oder ironisch meinst :P
Aber da ich hier eigentlich keinen Grund für Ironie sehe, danke für die motivierenden Worte :).

Und ja, die Featureliste ist so noch ziemlich grob und hässlich, aber das werden wir wohl bald ändern.

Die Debuganzeige zeigt im Moment nur die fps und Zeit korrekt an, in Wirklichkeit sind auf dem Screenshot 200 Punktlichter, ein Spotlight mit Schatten und ein direktionales Licht mit Schatten zu sehen:
Spotlight mit Schatten
Spotlight mit Schatten

Re: [Projekt]Rayne

Verfasst: 03.12.2013, 08:17
von antisteo
Interessant!
Dann könnte endlich mal ein besseres Grafik-Frontend für meine Game-Engine her (die ziemlich coole Spiellogik- und Physik-Backends bzw. Frameworks bietet). Nur leider fehlt mir die Zeit :(

Re: [Projekt]Rayne

Verfasst: 04.12.2013, 17:10
von AyJayKay
Slin hat geschrieben:Ich bin mir ja immer noch nicht ganz sicher ob du das ernst oder ironisch meinst :P
Also jetzt fühl ich mich gekränkt... ;) :P

Nein, ich meinte das wirklich ernst und hab eben über die Futures gestaunt. Ich hoffe ich finde (wenn es soweit ist) auch die Zeit mich mit Rayne näher zu befassen.

Re: [Projekt]Rayne

Verfasst: 05.12.2013, 22:22
von Slin
Na dann ist ja gut :)

Wir haben ein neues Waldlevel gebaut, die Lichter soweit ersteinmal fertig überarbeitet und vor allem das Culling der Lichter mit den Clustern mit einem viel schnelleren Ansatz ersetzt, der sich so zwar nicht mehr parallelisieren lässt, aber trotzdem auf einem Kern schneller ist als der alte auf 8. Dafür ist es noch nicht so effektiv, aber das liegt eher an meiner Faulheit :).
Außerdem wird die Anzahl der Lichter wieder korrekt angezeigt.

Das ganze ist so jetzt natürlich außerdem auch noch zu langsam, das liegt hauptsächlich daran wie wir die Shader auswählen (wo wir hoffentlich bald eine ähnlich flexible aber schnellere Lösung finden), wobei die Drawcalls und der Fragment Shader auch langsamer sind als mir lieb ist, aber auch da lässt sich zumindest noch ein bisschen was machen.
Bäume mit Schatten :)
Bäume mit Schatten :)
Edit: Die Ambientfarbe ist da offensichtlich noch viel zu dunkel eingestellt, nur weil sich sonst garantiert früher oder später jemand darüber beschwert dass die Schatten etwas bläulich sein sollten...

Re: [Projekt]Rayne

Verfasst: 11.01.2014, 13:17
von Slin
Seit meinem letzten Post hat sich bei uns einiges getan. Unser Testlevel sieht um einiges besser aus, wir haben Rayne zu Windows portiert, einen Assimp Modell Loader, einen Bullet Wrapper und erste Alpha Versionen an Tester geschickt :).
Rayne Testlevel
Rayne Testlevel
Rayne Testlevel
Rayne Testlevel
Rayne Bullet Modul
Rayne Bullet Modul
Rayne Bullet Modul
Rayne Bullet Modul
Rayne Animations Beispiel
Rayne Animations Beispiel

Re: [Projekt]Rayne

Verfasst: 11.01.2014, 14:01
von Schrompf
Schön anzusehen! Mir gefällt der Kontrast zwischen dem langweiligen Boden und dem Gras nicht, aber das sind Details. Was hast Du denn für ein Spiel mit der Engine geplant?

Re: [Projekt]Rayne

Verfasst: 11.01.2014, 14:35
von Slin
Tatsächlich ist die Engine selbst das Ziel. Dabei ist das langfristige Ziel eine ernsthafte Alternative zu Unity zu schaffen. Manche Leute haben uns dafür doof belächelt und andere sind von der Idee sehr begeistert. Dabei ist uns klar dass wir weder das Geld noch die Manpower haben um direkt mit denen zu konkurieren. Allerdings ist insbesondere Unity für Schüler und Hobbyentwickler meiner Meinung nach zu teuer und außerdem gibt es viele Leute die sich von Unity eingeschränkt fühlen und außerdem lieber in C++ programmieren würden und ich denke auch für solche Leute können wir es schaffen, dass Rayne eine Option ist.

Als nächstes werden wir vor allem an unserem Editor arbeiten und dabei eine Techdemo bauen, die dann hauptsächlich ein hübsches komplexeres Level werden soll, durch dass man mit einer Spielfigur dann durchlaufen kann und vielleicht auch noch ein bisschen First Person Hack n Slay Gameplay mit einer kleinen Quest oder so bietet.

Re: [Projekt]Rayne

Verfasst: 11.01.2014, 14:45
von xq
*Fanboy*
Hey Nils, schön euch hier zu finden :)

Re: [Projekt]Rayne

Verfasst: 08.02.2014, 08:06
von Slin
Es ist mal wieder Samstag und entsprechend haben wir ein paar neue Bilder gemacht :)
Hauptsächlich arbeiten wir im Moment an der Dokumentation und in dem Zusammenhang dem Überarbeiten der API, aber zur Abwechslung haben wir dann mal etwas mit Tessellation herumgespielt und auch unser Testlevel etwas ausgebaut und außerdem habe ich einen alten Wassershader ausgegraben und wieder lauffähig gemacht.
Displacement Mapping
Displacement Mapping
Level Überblick
Level Überblick
Teich und Dorf
Teich und Dorf

Re: [Projekt]Rayne

Verfasst: 08.02.2014, 09:09
von Artificial Mind
Sieht echt gut aus! Der Steinweg gefällt mir :)

Ein SSAO könnte ich mir auf den Szenen auch gut vorstellen. Ich kann dort Scalable Ambient Obscurance empfehlen.

Re: [Projekt]Rayne

Verfasst: 08.02.2014, 10:25
von Krishty
Dem schließe ich mich an: Teils ist die Qualität hervorragend, aber die Polygone sehen schrecklich platt aus weil jede Form von Ambient Occlusion fehlt. Besonders gut sieht man das an der uneinheitlichen Baumhelligkeit und an allem, was im Schatten liegt. Die Thumbsnails wirken im Farbverlauf aber fast fotorealistisch – da sieht man, was sein könnte.

Re: [Projekt]Rayne

Verfasst: 08.02.2014, 18:19
von Slin
Ja da habt ihr wohl recht. Das "Scalable Ambient Obscurance" sieht ganz interessant aus, das gucke ich mir mal genauer an. Ich fürchte aber, dass jede Form von Ambient Occlusion meine Performance endgültig zerstören wird. Meine mobile Grafikkarte ist jetzt schon ziemlich mit den ganzen Pixeln überfordert. Zumal der Overdraw vom Gras und den Bäumen reinhaut und inzwischen doch auch ziemlich viele Polygone gerendert werden... Ich könnte aber tatsächlich mal wieder einen Depth Prepass ausprobieren, vielleicht bringt es ja etwas :).

Edit: Killed aktuell noch meine Performance, aber sieht auch gleich viel besser aus (mit Scalable Ambient Obscurance):
SAO
SAO

Re: [Projekt]Rayne

Verfasst: 09.02.2014, 11:59
von Krishty
Ja, deutlich besser :) Ich würde es sogar noch etwas verstärken, so dass die Schatten ähnlich dunkel sind wie die Tannen (die stechen sonst immer dunkel heraus und lassen das Ganze inkonsistent erscheinen).

Re: [Projekt]Rayne

Verfasst: 09.02.2014, 12:59
von CodingCat
Slin hat geschrieben:Zumal der Overdraw vom Gras und den Bäumen reinhaut und inzwischen doch auch ziemlich viele Polygone gerendert werden...
Weil ihr ja offensichtlich sehr fitt seid, eventuell könnt ihr hiermit ordentlich Overdraw und Fillrate sparen: Instant animated grass. Und sagt dann am besten Bescheid, ob das sinnvoll funktioniert - muss ich schon weniger selbst ausprobieren. ;)

Projekt sieht übrigens in vielerlei Hinsicht hervorragend aus; die Assets und Assetkomposition lassen noch etwas zu wünschen übrig, das aber ganz klar vor dem Hintergrund, dass ich im Hobby/Indie-Bereich selten besseres gesehen habe und das im Moment ziemlich sicher nicht euer Fokus ist! Ich möchte euch nur anraten, die Content Pipeline nach Möglichkeit sofort ins Zentrum eurer Bemühung zu stellen, schlicht weil ich selbst es oft genug versäumt habe; meiner Erfahrung nach ist Editoren hinterher dranzupflanzen nicht nur eine Qual, sondern auch reine Zeitverschwendung, siehe auch hier.

Re: [Projekt]Rayne

Verfasst: 09.02.2014, 13:41
von Schrompf
Das selbe wie CodingCat wollte ich auch sagen, hab nur nicht so treffende Worte dafür gefunden. Seit ich bei den Splitterwelten gesehen habe, was für irrsinnige Massen an Arbeit in den Editor geflossen sind und wieviel unsere LevelDesigner trotzdem noch zu meckern haben, rate ich euch dringend dazu, ein cleveres Konzept für den ganzen Workflow zu erfinden. Im Idealfall unter Benutzung externer Editoren.

Irgendwann schreib ich mal einen abstrakten Editor, der Changesets über Netzwerk syncen kann, so dass mehrere Leute gleichzeitig am Level bauen können. Und Undo/Redo kriegt man damit auch gleich erschlagen. Das Ganze dann noch mit Custom Binary Export, und das Editor-Thema hat sich ein für alle mal gegessen. Gibt's wahrscheinlich schon, wenn ich das jetzt so lese.

Re: [Projekt]Rayne

Verfasst: 10.02.2014, 21:24
von Slin
Krishty hat geschrieben:Ja, deutlich besser :) Ich würde es sogar noch etwas verstärken, so dass die Schatten ähnlich dunkel sind wie die Tannen (die stechen sonst immer dunkel heraus und lassen das Ganze inkonsistent erscheinen).
Das mit den Tannen ist mir so tatsächlich noch überhaupt nicht aufgefallen und wenn ich das SSAO verstärke, dann gibt es andere Stellen an denen das nicht mehr gut aussieht. Von daher und auch unter dem Aspekt, dass das ganze aktuell eh nur schnell reingeklatscht ist und ich das noch irgendwann aufräumen werde werde ich das wohl erstmal so lassen :).
CodingCat hat geschrieben:Weil ihr ja offensichtlich sehr fitt seid, eventuell könnt ihr hiermit ordentlich Overdraw und Fillrate sparen: Instant animated grass. Und sagt dann am besten Bescheid, ob das sinnvoll funktioniert - muss ich schon weniger selbst ausprobieren. ;)
Das ist tatsächlich eine ganz interessante Idee, ich bin noch nicht ganz überzeugt, aber werde dem wohl mal irgendwann nachgehen, jetzt habe ich aber erstmal Klausuren von daher wird das wohl noch etwas dauern.

Zum Thema Editor und Asset Pipeline:
Alle interessanteren Klassen sind bereits so gebaut, dass man die Member abfragen kann, es gibt prinzipiell schon eine Möglichkeit die Daten zu serialisieren und wir haben ein recht komplettes eigenes UI System. Von daher werden wir die Grundfunktionalität eines Editors hoffentlich recht zügig umsetzen können und alles darüber hinaus ist dann "nur" sinnvolles UI Design und Tools für schnelleren Workflow, was aber natürlich dann ziemlich viel Zeit in Anspruch nehmen wird. Was wir tatsächlich von Anfang an als Feature für unseren Editor planen ist eine Möglichkeit collaborativ Levels zu bauen, was dann bestimmt im Detail ein paar Schwierigkeiten bereiten wird, aber von der Grundfunktionalität auch einfach umsetzbar sein wird.
Den Editor werden wir wohl ab April angehen sobald ich wieder mehr Zeit habe. Übrigens wollen wir den Editor Open Source unter MIT Lizenz zur Verfügung stellen, wobei der aber größtenteils auf Rayne aufbauen wird und von daher für andere Projekte wohl eher nicht so geeignet ist.
Asset Pipeline stelle ich mir so vor, dass wir Module für verschiedene Asset Typen zur Verfügung stellen werden (aktuell gibt es schonmal ein Assimp Modul) und Rayne selbst das Laden und Speichern von unserem eigenen Format unterstützt und mit den Modulen dann eben noch viele weitere. Der Editor wird dann in der Lage sein entweder beim ersten Laden der Modelle gleich zu unserem eigenen Format zu konvertieren und Temporär irgendwo zu speichern oder aber spätestens auf Kommando dann alle Assets zu konvertieren. Warscheinlich macht ersteres ja mehr Sinn, aber mal gucken. So ähnlich soll dann auch für Texturen und eventuell auch Audio vorgegangen werden. Bei Texturen werden wir dann innerhalb von Rayne vermutlich png für Verlustfreie Texturen und S3TC für alles andere unterstützen und so ziemlich alles andere mit einem Imagemagick Modul. Also der Teil wird dann vermutlich so ähnlich aussehen wie bei Unity mit einer einfachen Möglichkeit es um weitere Beliebige Formate zu erweitern und wer meint es zu brauchen, kann dann auch den Export noch um weitere Formate ergänzen.

Re: [Projekt]Rayne

Verfasst: 19.03.2014, 17:23
von Slin
Die letzten zwei Wochen haben wir relativ intensiv angefangen unseren Editor Downpour zu bauen. Die meisten grundlegenden Dinge funktionieren inzwischen schon ziemlich gut und die Neuerungen der letzten Woche haben wir inzwischen auch als Blogpost zusammengefasst:
http://rayne3d.com/blog/03-19-2014-devb ... her-things

Aktuell arbeiten wir an ein paar Bugfixes und der Möglichkeit im Editor Meshes und Materialien auszutauschen und Materialien auch zu editieren. Als nächstes ist dann die Möglichkeit geplant Änderungen übers Netzwerk zu synchronisieren... Den Code für Downpour gibt es übrigens Open Source auf Github unter MIT Lizenz: https://github.com/uberpixel/Downpour
Hier ist ein Video von Downpour:
[vimeo]89449455[/vimeo]

Re: [Projekt]Rayne

Verfasst: 10.04.2014, 18:41
von Slin