Seite 16 von 31

Re: [Projekt] Stonequest

Verfasst: 07.11.2011, 22:10
von Zudomon
Chromanoid hat geschrieben:Mich stört momentan vor allem die recht starke Schattierung der "Treppen", die beim Näherkommen dann immer unter dem Gras verschwindet. Das sollte man doch per Shader wegbekommen ohne extra mehr Gras rendern zu müssen.
Meinst du im Hintergrund?
Wenn ja, das ist ein Phänomen ( Fehler würd ich es in dem Fall nicht nennen ) der dadurch auftritt, dass die Bezierflächen aus 3 x 3 Kontrollpunkten besteht... jeder Punkt gibt einen Alphawert an, der angibt, wie sehr mit dem darunterliegenden geblendet wird. Nun hat aber die niedrigste Detailstufe im Terrain nur noch 2 x 2 Punkte, also 2 Dreiecke... Wenn man sich nun eine Würfelseite vorstellt, mit 3 x 3 Punkten, wo jeder äußere Punkt einen bestimmten Wert hat, und der mittlere einen anderen, so würde man das auf der mittleren Detailstufe sehen. Bei der kleinsten aber nicht, weil dann nur noch die Eckpunkte zur Interpolation herangezogen werden.
Wenn aber nun später kein LOD mehr benutzt wird, sondern stattdessen das ganze Cluster mit allen Objekten in ein einziges Sprite, dann wird es dieses Problem nicht mehr geben. Also wird es wohl erstmal so drin bleiben. Hat ja keinen Sinn, sich da eine andere Lösung zu suchen.

Re: [Projekt] Stonequest

Verfasst: 07.11.2011, 22:11
von LONy
Auf meim Netbook ruckelts natürlich noch, aber es sieht schon sehr cool aus. Ich hab auch ein wenig mit meiner Motivation zu kämpfen, da ich in der Arbeit (Praxissemester) schon 7h am Tag vorm PC sitz und programmieren darf, aber ich versuch trozdem dran zu bleiben.
Mit Kritik musst du leben, z.B. dass Stonequest momentan noch nicht mehr als ne schicke Grafikdemo ist. In dem anderen Thread Das perfekte Stonequest sind finde ich schon echt ein paar sehr coole ideen dabei :)
BWL-vorlesungen haben mich immer gelangweilt, was will ich als etechniker damit^^ aber es waren auch trozdem sehr interresante sachen dabei (Vermarktung von Produkten, Alleinstellungsmerkmal usw.) Grafisch bist du Minecraft weit überlegen, wichtig ist aber auch, dass die ganze Welt stimmig ist (wie schon andere geschrieben haben). Du willst ja in 50 Tagen mit Stonequest recht weit sein. Daher würde ich mich jetzt aber erstmal nicht weiter mit der Grafik aufhalten (außer Optimierung), sondern da es jetzt mit dem Gras und den Wolken schon echt sehr gut aussieht mich aufs Gameplay konzentrieren. So kannst du von uns schonmal schnell feedback erhalten wie wir neue Spielelemente finden. Wenn dann die Grundfunktionen eingebaut sind (Blöcke abbauen und setzen, kleines Inventar) kannst du einerseits nach und nach mehr 3D modelle einbringen, aber vorallem eine größere Aufgabe für die Langzeitmotivation ins Spiel einbauen. Die ganzen Userinteraktionsmöglichkeiten werden noch viel Zeit verschlingen (chat, freundesliste,...) aber können ja nach und nach entstehen während gleichzeitig deine Fangemeinde wächst.
Hier könntest du dann zweigleisig fahren. Eine Entwicklungsversion, die du immer auf dem aktuellen Stand hältst für uns Entwickler hier im Forum für Feedback usw. und eine zweite Version die immer etwas älter ist und in der dann immer schon einige Bugs behoben sind, die durch uns gefunden wurden.

Über das Finanzierungsmodell würde ich mir noch nicht so viel gedanken machen, da du hier nicht so sehr optimistisches Feedback bekommen wirst und das dich wohl eher demotiviert. Ich hab mir für mich gedanken gemacht, dass man z.B. den Server für x Spieler kostenlos macht, wenn x Spieler eingeloggt sind können sich keine weiteren Spieler einloggen (ähnlich wie es bei WoW am anfang mit vollen Realms war). Ab einem gewissen entwicklungsstand möchte ich dann y Zahlenden Spielern ermöglichen, dass sie sich jederzeit einloggen können (auch wenn der Server eigentlich voll ist). Ich denke wenn man ein gutes Spiel macht haben dafür die Spieler verständnis, bzw. wenn du sie in die Entwicklung mit einbeziehst und sie wissen das du damit deine Brötchen verdienst werden sie vielleicht auch eher bereit sein dafür zu Zahlen als für ein xtes Spiel von irgend einem großen Publisher.
Ich kann mich noch dran erinnern als vor ca. 7 Jahren ein großes Browsergame von einem auf den anderen Monat auf einmal kostenpflichtig wurde... sie hatten denke ich 30000 registrierte Spieler. Nachdem dann das Spiel monatlich 5€ kostete sind davon 10-15k übrig geblieben, die haben aber gezahlt und ein Jahr später waren denk ich dann auch noch ca. 10k Spieler angemeldet.

-> nicht zu viel gedanken über die Monetisierung machen, nicht demotivieren lassen und Stonequest vorran bringen. Wenn Stonequest gut wird (und es hat des Potential dazu) werden sich von selbst viele Spieler finden, von denen dann sicherlich auch einige bereit sein werden zu zahlen :)

Re: [Projekt] Stonequest

Verfasst: 07.11.2011, 22:18
von Chromanoid
Nein ich meine einfach die dunkle Schattierung. Es ist schließlich auch nicht so, dass wenn ich einen mit hohen Gras bewachsenen Hügel von weiten sehe das ganze genauso aussieht wie ein Hügel der nur aus grüner Erde besteht. Die Überblendung stört mich nicht, einfach nur, dass sich die Schatten in der Ferne so stark abzeichnen und von Nahem durch die Gräser gestreut werden.
Die "Lichtwellen" die durch das Wiegen der Gräser entstehen, sieht man außerdem auch nicht in der Ferne, obwohl genau dass doch eigentlich auch durch einen Shader simuliert werden können müsste.

Re: [Projekt] Stonequest

Verfasst: 07.11.2011, 22:33
von Zudomon
Chromanoid hat geschrieben:Nein ich meine einfach die dunkle Schattierung. Es ist schließlich auch nicht so, dass wenn ich einen mit hohen Gras bewachsenen Hügel von weiten sehe das ganze genauso aussieht wie ein Hügel der nur aus grüner Erde besteht. Die Überblendung stört mich nicht, einfach nur, dass sich die Schatten in der Ferne so stark abzeichnen und von Nahem durch die Gräser gestreut werden.
Die "Lichtwellen" die durch das Wiegen der Gräser entstehen, sieht man außerdem auch nicht in der Ferne, obwohl genau dass doch eigentlich auch durch einen Shader simuliert werden können müsste.
Lichtwellen hab ich verstanden, werd ich eventuell irgendwann mal einbauen. Was das schattieren angeht, da mach mir doch mal bitte einen Screen und poste mir den... und markiere das was du meinst für Dumme :D

@LONy
Danke für den motivierenden und aufschlussreichen Post!

Re: [Projekt] Stonequest

Verfasst: 07.11.2011, 22:33
von Alexander Kornrumpf
Das komplette Multithreading wurde verband! ( Ja, ich konnte den Dämon nicht bändigen! :) )
Dann kannst du ja endlich wieder objektorientiert programmieren.

Re: [Projekt] Stonequest

Verfasst: 07.11.2011, 22:43
von Zudomon
Alexander Kornrumpf hat geschrieben:
Das komplette Multithreading wurde verband! ( Ja, ich konnte den Dämon nicht bändigen! :) )
Dann kannst du ja endlich wieder objektorientiert programmieren.
Ne... nicht den einen Dämon verbannen, damit man sich gleich den nächsten an den Hals bindet :D

Re: [Projekt] Stonequest

Verfasst: 07.11.2011, 22:45
von Chromanoid
Ich meine die wahrgenommene Streuung nimmt ja auf Entfernung schon ab, aber wenn das Gras immer fast genauso hoch ist wie eine Stufe, sollte das schon noch weicher aussehen...

Re: [Projekt] Stonequest

Verfasst: 08.11.2011, 01:08
von Eisflamme
Hm... ich würde an Deiner Stelle jetzt nicht mehr so viel im Detail rumbasteln, sondern Mal einen Schritt weitergehen und an die Spiellogik kommen oder die nächsten grafischen Standard-Features einbauen.

Verfeinern kannst Du jahrelang, aber das wird jetzt nicht mehr wirklich viel ändern. Das Gras ist sicherlich super und wertet das Spiel nochmal ordentlich auf. Aber braucht es so viel mehr, dass man als Spieler Spaß hat? Ich bin da nicht so sicher. :) Und die ganze Zeit nur so rumzufrickeln ist, wie Du merkst, nicht sehr motivierend. Also arbeite doch Mal an einer anderen (Teil)baustelle.

Re: [Projekt] Stonequest

Verfasst: 08.11.2011, 01:51
von Zudomon
Jap, das tue ich...

Aktuell bin ich dabei, die Samplerstates in die Shaderpasses zu verlagern. Im Moment ist es so, dass ich zwar sehr einfach Konstanten übergeben kann. Es sind aktuell 3 Schritte ( bald werden es 2 )... zunächst muss ich einen Enum definieren. Dann kann ich aufgrund dieses Enums Daten setzen und im Shader im letzten Schritt darauf zugreifen. Um Registerslots brauch ich mich dabei nicht mehr zu kümmern. So wie das eigentlich vom Effektsystem auch gemacht wird. Allerdings hab ich nun das Problem, dass ich nicht weiß, auf welchen Slot meine Textur sitzt und somit muss ich es durch ausprobieren raus bekommen. Eine Funktion, die mir sagt, an welchem Slot eine Variable ist, habe ich auch nicht, ist auch hinterher überflüssig. Denn nun bastel ich eben die Samplerdefinitionen so ein, dass der Shader dann automatisch die richtigen Werte setzt.
Danach will ich es so umbauen, dass das System nicht mehr auf Enums arbeitet, sondern dann über Strings. Dadurch spare ich mir das definieren der Enums.

Danach wird dann das genieren der Landschaft nochmal geändert... ich mache es dann so wie bei den Wolken. Noise über 3D-Texturen genieren, statt über den SimplexNoise. Das fliegt dann raus. Denn ein hundert Instructionen ( keine Ahnung wie viel es genau sind, aber es müssten etliche sein ) sind langsamer, als einmal aus einer 3D-Textur samplen... ( für eine Octave ). Ist das geschafft, dann sollte das Spiel wirklich fasst ohne Mikroruckler laufen. Die einzigen Mikroruckler, die dann noch entstehen können, sind wenn man einen Cluster wechselt und er dafür die Daten neu sammeln muss, und wenn die Buffer überlaufen und der das neu ordnen muss. Aber damit wird man eventuell erstmal vorlieb nehmen müssen.

Dann setz ich mich daran, das ganze weiter zu refactorisieren und vor allem, das genieren der Landschaft zu beschleunigen. Die meiste Zeit geht beim Landschaft generieren nämlich für.... na ratet mal... nichts drauf. Genau, die meiste Zeit wird gewartet. Damit ich keine Ruckler rein bekomme, während ich die Renderdaten hole. Aber in der Zeit könnten schon wieder neue Cluster generiert werden.
Wenn das alles geschafft ist, muss ich mal weiter schauen, was danach kommt.
Irgendwo bekomme ich da auch noch ne Zugriffsverletztung.

Aber ich vermute mal, dass es danach einen winzigen Schritt in Richtung GUI geht... und damit reißt das dann wieder einen Batzen Arbeit mit sich. Nach einiger Überlegung (das bedeutet, dass ich meist oberflächlich mal 2 min drüber nachdenke) habe ich beschlossen, die Kollisionserkennung mit in die Renderpipeline zu integrieren. Denn dann kann die Kollision das treffen was man sieht. Ansonsten müsste ich die Matrizen immer mit übergeben.
Eine Möglichkeit zum Text darstellen wäre dann schonmal ein Meilenstein. Damit könnte ich dann auch hinterher einen Texteditor schreiben, damit ich meine Shader InGame editieren kann.
Im Moment baue ich mir die in nem String zusammen, das wird aber auf dauer unübersichtlich...


Neues Gameplay einzubauen, darauf freue ich mich schon!
Und ich würde so gerne Fackeln sehen, die sich im Wind bewegen und mit denen man das Gras anzünden kann...

Re: [Projekt] Stonequest

Verfasst: 08.11.2011, 02:24
von Zudomon
lol! Wie geil! Minecraft Wolken...

Selbst die Bugs sehen stylisch aus in Stonequest :lol:

20111108_1.jpg

Re: [Projekt] Stonequest

Verfasst: 08.11.2011, 06:00
von Zudomon
20111108_3.jpg

Re: [Projekt] Stonequest

Verfasst: 08.11.2011, 09:08
von Zudomon
20111108_4.jpg

Re: [Projekt] Stonequest

Verfasst: 08.11.2011, 11:04
von Zudomon
20111108_5.jpg
20111108_6.jpg
Das muss wohl der Drachenfelsen sein... :lol:

Re: [Projekt] Stonequest

Verfasst: 08.11.2011, 11:54
von Chromanoid
Sieht super aus! Hier noch mal zwei Screens wo man ganz gut sieht, was ich meine.

Re: [Projekt] Stonequest

Verfasst: 08.11.2011, 12:14
von LONy
Dein Screen von 9:08 Uhr sieht aus wie ein Borg-Cube.. musst nur noch weng grün reinmachen xD dann kannst du in deine Spielelogik die Borg als Bedrohung einbaun^^

Zur Höhlenbeleuchtung:
Fackeln sind cool... die sollten aber nicht unendlich brennen (es könnte ja mit der Zeit verschiedene Fackeltypen geben, einfach mit Wachs, mit Pech, dann mit Öl getränkte usw.
Was ich sau cool fände wär elektrisches Licht... dass man wie bei so einer Partylichterkette Leitungen verlegen muss und dann flackerndes elektrisches Licht in den gängen ist xD Außerhalb dann Photovoltaik / Windkraftanlagen zur Stromerzeugung :D

Re: [Projekt] Stonequest

Verfasst: 08.11.2011, 13:50
von Jofarin
Wenn man im Minecraft Setting (also Low-Tech) bleiben will und das mit den Ketten machen will:
Wie wäre es mit Spiegeln draußen und Kristallen, die glitzern?

Re: [Projekt] Stonequest

Verfasst: 08.11.2011, 21:05
von TGGC
Also von wegen realistisch, mal ganz im Ernst: da sahen Spiele vor 8-10 Jahren schon realistischer aus! Alles eckig und krasses Popup, das wird keiner mit Realismus verwechseln.

Re: [Projekt] Stonequest

Verfasst: 09.11.2011, 00:01
von Zudomon
Version 0.0.118

Leider musste ich den Wolkenschatten rausnehmen, weil es zu seltsamen flackern kam. Als ob er manchmal die MipMaps nicht erstellt. Ist aber nur, wenn ich die Release DX Treiber verwende.

Das Erstellen der Landschaft ist noch etwas langsamer geworden. Dafür sollten aber die Mikroruckler nun fast vollständig beseitigt sein.

Habe noch einen Bug bei der Generierung behoben, der das Spiel auf dauer abstürzen lies. Jetzt sollte es eigentlich stabil laufen... meine Hand lege ich dafür nicht ins Feuer.

Es kann vorkommen, dass man beim start durch die Welt fällt... aber das macht nichts, entweder F10 oder man wartet, fällt man zu tief, kommt man oben wieder raus... :lol:

Die Wolken sind nun noch ziemlich schäbig... und werden auch als Layer hinter allem gerendert... deswegen scheint dann die Landschaft durch. Wird alles noch behoben.

Re: [Projekt] Stonequest

Verfasst: 09.11.2011, 00:27
von Zudomon
Jofarin hat geschrieben:Wenn man im Minecraft Setting (also Low-Tech) bleiben will und das mit den Ketten machen will:
Wie wäre es mit Spiegeln draußen und Kristallen, die glitzern?
Das verstehe ich nicht ganz...

@Chromanoid
Jetzt hab ichs kapiert... ich hoffe, dass sich das Problem später von selbst löst. :)

Re: [Projekt] Stonequest

Verfasst: 09.11.2011, 04:48
von Zudomon
Version 0.0.119

Nun sollte man auch nicht mehr durch die Welt fallen.
Clusteroctree ist auch überarbeitet...

Re: [Projekt] Stonequest

Verfasst: 09.11.2011, 05:37
von Zudomon
Version 0.0.120

Hab noch einen Indexfehler gefunden, der unter bestimmten Bedingungen entstehen konnte und das ganze noch zum abstürzen bringt.

Re: [Projekt] Stonequest

Verfasst: 09.11.2011, 13:34
von Zudomon
20111109_1.jpg

Re: [Projekt] Stonequest

Verfasst: 09.11.2011, 13:39
von RazorX
Yeah, spielen wir Pacman in Stonequest? :D

Re: [Projekt] Stonequest

Verfasst: 10.11.2011, 00:57
von Zudomon
In der Nähe des Drachenfelsens ist ein nicht allzukleiner Berg...

Wer hat Lust, den abzubauen? :lol:
20111110_2.jpg
20111110_1.jpg

Re: [Projekt] Stonequest

Verfasst: 10.11.2011, 02:52
von Zudomon
20111110_3.jpg

Re: [Projekt] Stonequest

Verfasst: 10.11.2011, 03:22
von Zudomon
20111110_4.jpg
20111110_5.jpg
20111110_6.jpg

Re: [Projekt] Stonequest

Verfasst: 10.11.2011, 08:52
von Grimasso
Sieht schon fast aus wie Voxelgrafik :) Durch die Steinchen-Optik musst du doch Milliarden an Polys produzieren. Hast du dafür irgendenen Trick? (Außer ner schnellen Grafikkarte ^^)

Re: [Projekt] Stonequest

Verfasst: 10.11.2011, 09:20
von Zudomon
Grimasso hat geschrieben:Sieht schon fast aus wie Voxelgrafik :) Durch die Steinchen-Optik musst du doch Milliarden an Polys produzieren. Hast du dafür irgendenen Trick? (Außer ner schnellen Grafikkarte ^^)
Also auf dem Bild sind es nur etwa 1,1 Millionen Dreiecke... aber leider gibs da keinen Trick für. Vielleicht könnte man es im Pixelshader raycasten.

Re: [Projekt] Stonequest

Verfasst: 10.11.2011, 09:53
von Grimasso
Also generierst du daraus so eine Art klassisches Terrain-Mesh und sortierst sichtbare Brocken per Octree aus, wenn ich das richtig verstanden habe? Und wie verwaltest du eigentlich die "Terraindaten"? Eine flache Heightmap funktioniert ja nicht?! (Du hast bestimmt schon irgendwo erklärt, aber der Thread hat schon > 30 Seiten :shock: :oops: )

Re: [Projekt] Stonequest

Verfasst: 10.11.2011, 11:53
von Zudomon
Grimasso hat geschrieben:Also generierst du daraus so eine Art klassisches Terrain-Mesh und sortierst sichtbare Brocken per Octree aus, wenn ich das richtig verstanden habe? Und wie verwaltest du eigentlich die "Terraindaten"? Eine flache Heightmap funktioniert ja nicht?! (Du hast bestimmt schon irgendwo erklärt, aber der Thread hat schon > 30 Seiten :shock: :oops: )
Ne, hatte das bisher nicht erklärt... es werden aber einzelne Meshes erzeugt... jedes Cluster ist ein dabei ein Objekt...