Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.
Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.
This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
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.
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 :)
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.
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!
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...
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.
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...
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
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?
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.
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.
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. :)
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 ^^)
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.
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: )
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...