Seite 39 von 66

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 08.03.2015, 13:13
von Krishty
Habe ich vor; dauert nur ein paar Stunden bis ich am passenden System sitze :)

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 08.03.2015, 15:05
von Krishty
Voilà:
Bild
Acht Mal so schnell wie Echtzeit; Seitenwind von gut 30 km/h. Das Flimmern an der Quelle kommt von der überforderten GIF-Kompression.

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 09.03.2015, 15:08
von Krishty
Jetzt texturiert:
Bild
Sieht nur beschissen aus, wenn der Betrachter rollt, weil die Sprites im Eye Space berechnet werden. Da muss ich das Koordinatensystem wechseln. Ist auch der Grund, warum ich nicht Direct3Ds Point Sprites verwenden kann, sondern die auf der CPU erzeugen muss :(

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 13.03.2015, 17:33
von Bienchen
Wow, sieht trotzdem sehr gut aus! Kritik ist da kaum angebracht ;)

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 04.04.2015, 16:34
von xq
Kann leider mir Krishty nicht mithalten, hab aber mal meinen ersten Wassershader implementiert:
Bild

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 04.04.2015, 18:36
von Spiele Programmierer
Ist doch trotzdem hübsch. :)

Bei der Gelegenheit zeige ich mal zwei Bilder von Wasser, das ich mal implementiert habe.
Du hast immerhin Spiegelungen, die habe ich nicht. Allerdings ist mein Wasser nicht unbedingt eben, das würde es sehr schwierig machen mit Spiegelungen.
Schatten in Blinn-Glanz-Lichtspiegelung.png
Automatische Terraingeneration mit Noise.png

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 04.04.2015, 20:03
von xq
Auch schick!

Hat irgendwer ne tolle Idee, wie ich nen halbwegs gut aussehendes, "unlimitiert großes" generiertes Terrain bekommen kann? Geht nur um Höhendaten, nicht Rendering oder Speicher-Management.

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 04.04.2015, 20:59
von Spiele Programmierer
Mein Terrain ist theoretisch unlimitiert groß.
Das Terrain muss nicht quadratisch sein. Mein Terrein ist in Chunks von 256² eingeteilt. Die einzelne Chunks könnten dynamisch erzeugt oder entfernt werden.
capture_001_01082014_141747.jpg
Für die Terraingenerierung ist natürlich wichtig, dass Bereiche unabhänig von einander berechnet werden können.
Also zum Beispiel jeder Chunk. Bei mir ist momentan tatsächlich sogar jeder einzelne Höhenpunkt aus X & Z Koordinate unabhänig von allen anderen berechenbar.

Zum Berechnen der Höhenpunkte gehe ich so vor:
Im Prinzip ein einfaches Noise-System. Ich multipliziere die X & Z Koordinate durch einen Faktor (zb. 1/256) und runde auf Ganzzahlen. Mit einer Hashfunktion bekomme ich einen Zufallswert, der alle 256 Höhenpunkte wechselt. Diesen Zufallswert interpoliere ich ganz einfach in beide Richtung. Das kann man bilinear machen, ich verwende die Smoothstep-Funktion. Das ganze wiederhole ich dann einfach mit einem X&Y Skalierungsfaktor von 1/128 und halb so großer Zufallsfaktor und so weiter. Also das typische Prinzip von Noise durch verschiedene Frequenzspektren und wenn man am Ende alles zusammenaddiert, bekommt man ein zufällig aussehendes Terrain, dass überall kontinuierlich ist. (Bilder von dem Konzept) Kleiner Nachteil der Technik ist, dass allerdings alles ziemlich gleich aussieht. Das kann man allerdings wahrscheinlich fixen, indem man auch noch alle Parameter am Ende über größere Bereiche zum Beispiel ebenfalls über ein Noisesystem verändert. Außerdem habe ich mit dem Gedanken gespielt, in einzelnen Chunks möglicherweise lokal eine Art Erosion zu simulieren.

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 04.04.2015, 23:21
von Top-OR
MasterQ32 hat geschrieben:Auch schick!

Hat irgendwer ne tolle Idee, wie ich nen halbwegs gut aussehendes, "unlimitiert großes" generiertes Terrain bekommen kann? Geht nur um Höhendaten, nicht Rendering oder Speicher-Management.
Brauchst du wirklich unendlich großes Terrain, oder kann man die Frage anders stellen? Vielleicht so:

Willst du eine Oblivion/Skyrim-mäßige Weitsicht a la "ich stehe auf einem riesigen Berg und sehe hinter dem Tal unter dem Berg einen zweiten riesigen Berg, der X Kilometer entfernt ist"?
Ich habe mir diese Frage gestellt und mit ja beantwortet und so gelöst:

Ich benutze eine Heightmap, die maximal 2048x2048 Pixel groß ist und für die Spielwelt auf ca. 7km x 7km aufgeblasen werden kann. Das klingt wenig, aber für ein Spiel ist das in meinen Augen recht viel.

Ich benutze einen Geo-Mip-Mapping Algorithmus, um nicht 2048x2048*2 Dreiecke pro Frame nur fürs Terrain auf die GPU hämmern zu müssen. Das findet bei mir auf der CPU in einem extra Thread statt. Das Ganze unterteile ich mit einem Quadtree. Die ganze Struktur schluckt bei ungünstigen LOD-Parametern (z.B. Baumtiefe) Speicher im Gigabyte-Bereich, also Vorsicht bei solchen Spielchen. Inzwischen habe ich sie bei sinnvoller Qualität auf ca. 700MB festnageln können.

Weil bei einer "Aufblasgröße" der Gesamtwelt auf 7kmx7km die Genauigkeit des Terrains zwar nicht an der "spielbezogenen physischen", aber an der optischen Schmerzgrenze ist - es entstehen Dreicke im "Meterbereich" - rechne ich im Umfeld der Kamera das Terrain noch "rund" und glätte es etwas. Ich arbeite da mit einer ca. 4-fachen Äuflösung der Original-Map. Damit habe ich einen Kompromiss für eine aufs Spiel bezogene ausreichend große/riesige Welt, ich erhalte den "Ich-sehe-von-Berg -zu- Berg"-Effekt und habe noch eine erträgliche Nah-Detail-Auflösung des Terrains; ohne, dass mich Riesendreicke nerven.

Ich habe mal ein paar Screenshots angefügt.

Ich habe mir gedacht, falls ich eines Tages wirklich noch größeres Terrain brauche, werde ich mehrere solcher Konstrukte verwenden .. also eher Chunk-basiert und zwischen diesen Terrain-Klötzen auf den "Ich-sehe-von-Berg -zu- Berg"-Effekt verzichten, da die einzelenen Terrain-Chunks schon mehr Weitsicht bieten, als ich um Spiel spraktisch ausnutzen kann...

Da ich den Thread nicht kapern will, kannste ja dafür noch nen extra-Thread aufmachen.. :-) .. Ich glaube, dass kann ein längeres Thema werden, wo viele hier Senf dazugeben könnten...
Auszug aus der Heightmap in Originalgröße
Auszug aus der Heightmap in Originalgröße
"Detailansicht" aus ca. 30m "Flughöhe"
"Detailansicht" aus ca. 30m "Flughöhe"

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 05.04.2015, 01:58
von xq
So, jetzt das ganze mit besserem Fresnel und Specular/Diffuse Lighting:
Bild

Idee für einen Thread "Terrain Rendering" find ich gut, könnte man mal aufmachen. Werd wahrscheinlich auch ne limitiert große Welt machen, nur halt "groß"

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 14.04.2015, 12:52
von Zudomon
Ich will auch Terrain Rendering!! :D

Hier ist meins! :D

20150413_3.jpg


Naja... nein, um ehrlich zu sein...
Erinnert ihr euch an die Ziegelsteine mit dem Moos? Ich versuche mein System gerade global zu machen und habe für die anderen Materialien beschlossen, erstmal die Texturen, die ich hatte, zu verwenden. Als Grundlage hab ich mir den Ziegelshader genommen und die Ziegel erstmal weiß gemacht. Da ich das Moos erstmal behalten wollte. Das Ergebnis hat mich dann doch sehr an ein Terrain erinnert, also mal die weiße Farbe noch etwas blau gemacht und das ganze ins rennen geschickt! :D
20150413_4.jpg

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 14.04.2015, 13:12
von Jonathan
Ich wollte schon fast schreiben, dass es eher aussieht, wie Moos mit Flüssigkeit / Nebel dazwischen, als wie ein Gelände. Und dann hab ich den Spoiler gelesen :D
Schick isses schon, sieht aber irgendwie noch etwas künstlich aus.

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 15.04.2015, 14:05
von Bienchen
Super gut hast du das mit der Spiegelung auf dem Wasser hinbekommen. Respekt! ;)

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 15.04.2015, 23:02
von Zudomon
Bienchen hat geschrieben:Super gut hast du das mit der Spiegelung auf dem Wasser hinbekommen. Respekt! ;)
Welches Wasser?

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 16.04.2015, 08:40
von xq
Scheint mein Wasser von der Vorseite zu sein ;) Das sieht aber noch Grütze aus, da is viel Platz nach oben :P

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 21.04.2015, 14:32
von xq
So, für das Terrain ein Editor:
Der Editor wird "feature-based", man platziert also einfach irgendwelche Elemente/Modifikatoren in das Terrain und der Editor erstellt dann eine passende Heightmap.
Ziel des ganzen ist es, dass die Terrain Features alles mögliche beeinflussen können:
Setzt man einen Wald, werden später an der Stelle Bäume platziert, setzt man einen Fluss, werden Watermaps mit Flussrichtung und Wasserhöhe erstellt, zudem die Heightmap "eingedrückt". Plateaus können für ein Areal eine Maximalhöhe angeben, Häuser plätten automatisch das Terrain unter ihnen. Soweit der Plan, es fehlt jetzt vorallem mal an Features und die Anpassung des alten Renderers auf die neue Terrain-Speicher-Methode.
Bild

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 27.04.2015, 12:26
von xq
So, jetzt mal ein bisschen ein interessanter Screenshot der ganzen Geschichte.
Ich hab den Editor nochmal neu geschrieben, mit WPF als Host-UI, da ich damit wesentlich bequemer arbeiten kann. Hab zudem noch ein neues Feature implementiert: Heightmaps von Bitmaps:
Bild

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 14.05.2015, 18:49
von xq
Hier passiert ja fast nix, also mal wieder was posten:

Code: Alles auswählen

# Demo Layout
DockLayout {
	Widget(dock=right,width=50,height=100,color="#0000FF",horizontalAlignment=right);
	Widget(dock=top,width=100,height=50,color="#FF0000",horizontalAlignment=right);
	StackLayout(dock=left,stackDirection=vertical) {
		Widget(width=100, height=30, color="#FF8888");
		Widget(color="#88FF88", horizontalAlignment=right);
		DockLayout {
			Widget(dock=top,color="#000000");
			Widget(dock=top,color="#444444");
			Widget(dock=top,color="#888888");
			Widget(dock=top,color="#BBBBBB");
			Widget(color="#FFFFFF");
		}
	}
	Widget(color="#FF00FF",horizontalAlignment=stretch);
}
Demolayout
Demolayout
SolidLayout.png (1.13 KiB) 12067 mal betrachtet

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 15.05.2015, 17:55
von xq
Neues Feature: Bindings!

Code: Alles auswählen

# Demo Layout
Widget(color=[bgColor]);

Code: Alles auswählen

Layout *layout = Layout::load(file, &::instantiate);
layout->layout(glm::ivec2(640, 480);

// Mach alles rot
layout->attribute("bgColor").setValue("#FF0000");
debugPrint(layout->root());

// Mach alles orange
layout->attribute("bgColor").setValue("#FF8844");
debugPrint(layout->root());

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 23.05.2015, 10:29
von scheichs
Hier ein Bild aus einem fast fertigen Level für ein neues Spiel auf Basis unserer Blockengine.
Die Lightprobes an den Schrägen sind noch ein bisschen kaputt. Werd ich demnächst angehen müssen.
d385db39-10ad-419b-94fc-aec63780a161.png

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 23.05.2015, 17:40
von Jonathan
Erkenne ich da einen Nachbau eines Levels aus Unreal Tournament 1?

Beleuchtung find ich schon schick, nur weiß ich nicht so ganz, was ich von diesem Trend zu überall gleich aussehenden Blöcken halten soll... Wirkt dadurch halt schon ein bisschen monoton und detailarm.

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 23.05.2015, 18:35
von Sternmull
Vor allem wenn eigentlich schräge Flächen auf ein mal zu Treppen werden :)

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 23.05.2015, 21:28
von scheichs
Jonathan hat geschrieben:Erkenne ich da einen Nachbau eines Levels aus Unreal Tournament 1?
:) Ja bisschen inspiriert. Eigentlich auch erstmal zum warm werden. Noch unklar ob es das ins fertige Spiel schafft
Jonathan hat geschrieben: Beleuchtung find ich schon schick, nur weiß ich nicht so ganz, was ich von diesem Trend zu überall gleich aussehenden Blöcken halten soll... Wirkt dadurch halt schon ein bisschen monoton und detailarm.
Da haste schon recht. Details werden noch eingearbeitet. Ausserdem werde ich demnächst noch einbauen, dass man die Blöcke einfärben kann. Und es werden bis zum Release auch noch weitere Blocktypen mit anderer Geometrie/SFX definiert. Ich hoffe das macht's dann ein wenig interessanter.

Bzgl Blockstyle geb ich Dir auch Recht und ich weiss, dass hier auch einige die Nase rümpfen, wenn sie den Look sehen. Aber ich hab nunmal die Engine und es wäre extrem dämlich sie nicht für alle möglichen Spiele einzusetzen. Es ist halt eine moderne Tileengine. Das macht es für uns auch von der Contentcreation und Workflow extrem einfach und schnell, weil WYSIWYG. Das Level oben hat z.B. eine Größe von 14KB.

Also. Ich hoffe ich nerve ned zu sehr wenn ich da Bilder mit der Engine poste. Wenn ja sacht ihr Bescheid. Ich kanns verstehen. Mich nervt's ja selber auch, ich kann das Teil aber auch leider ned gross upscalen weil ich halt Hauptaugenmerk auf Mobile hab (und auch ned so begnadet code wie Zudo und andere hier)
Sternmull hat geschrieben:Vor allem wenn eigentlich schräge Flächen auf ein mal zu Treppen werden :)
Aliasing 2 the Max!!! :)

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 24.05.2015, 19:48
von TGGC
Hier mal etwas zu meinem aktuellen Werk. Ist momentan eher noch in der Testphase.
Screenshot 2015-05-24 14.49.36.png
Screenshot 2015-05-24 19.42.44.png

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 30.05.2015, 23:18
von scheichs
Puh. 2 Wochen Release-Endspurt abgeschlossen für PS Vita Version (wegen Schliessung PSM-Service morgen)
Anbei kleiner Screen aus der Version
20150529_120003_2152_1210.png

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 12.06.2015, 16:46
von xq
OpenGL 3.3 und SDL2 mixen geht super:
Bild

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 17.06.2015, 00:53
von scheichs
Nachdem zuletzt der Deck16 Nachbau dran war sind hier ein paar eigene Levels:
Gaia - Ego
Gaia - Ego
Gaia - Overview
Gaia - Overview
Heat
Heat

Bastion - Medieval Theme
Bastion - Medieval Theme

Elements - Portal Theme
Elements - Portal Theme

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 24.06.2015, 00:48
von marcgfx
@scheichs: vor allem gaia overview find ich richtig gut gelungen. bei heat stören mich die zacken unten bei den trägern, aber ich weiss nicht wie relevant das ist. hast du auch noch einen projekt thread?

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 24.06.2015, 14:52
von scheichs
Danke für die Kritik Marc. Die Zacken bei Heat werd ich mal dem Leveldesigner weiterreichen, da haste Recht. Projektthread mach ich auch grad mal noch auf.

Re: Showroom - Aktuelle Arbeiten und Projekte

Verfasst: 28.06.2015, 18:19
von xq
Meine Layouting-Engine geht langsam einem gut funktionierenden Zustand entgegen:
Alle Größen werden dynamisch aus dem definierten Layout und den sizeHints() der einzelnen Elemente berechnet. Das Rendering sitzt "auf" dem Layouting und hat nichts mit der Layouting-Engine zu tun.
solidlayout_0.png
solidlayout_1.png

Code: Alles auswählen

# Battle UI
DockLayout
{
    DockLayout(dock=bottom)
    {
        Background(dock=right,src="ui-maps/window.png")
        {
            TableLayout(rows=2,columns=2,margin="16")
            {
                Picture(image="icons/swap.png", margin="8");
                Picture(row=0,col=1, image="icons/info.png", margin="8", size="32;32");
                Picture(row=1,col=0, image="icons/potion.png", margin="8", size="32;32");
                Picture(row=1,col=1, image="icons/quit.png", margin="8", size="32;32");
            }
        }
        Background(src="ui-maps/window.png")
        {
            TableLayout(rows=2,columns=2,margin="16")
            {
                Button(row=0,col=0,margin="4") {
                    Label(text="Attack 1", fontSize=40);
                }
                Button(row=0,col=1,margin="4") {
                    Label(text="Attack 2", fontSize=40);
                }
                Button(row=1,col=0,margin="4") {
                    Label(text="Attack 3", fontSize=40);
                }
                Button(row=1,col=1,margin="4") {
                    Label(text="Attack 4", fontSize=40);
                }
            }
        }
    }
    Blank;
}