ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4441827
Jetzt (Chat):
24 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-
"Talas3D Techdemo" von (IIX)


Das ist ein Screenshot unserer downloadbaren Talas 3D Techdemo, die für unser Echtzeitstrategiespiel „Bloody Camouflage“ benutzt werden wird. Die Demo steht im Netz unter http://www.smartbombs.de und gibt einen sehr guten Einblick in die technischen Möglichkeiten der Engine.

Zum jetzigen Zeitpunkt ist noch nichts spielbar, da wir zuerst eine funktionierende Engine und eine realistische Umgebung schaffen wollten bevor wir uns auf die Spielaspekte stürzen. Aus diesem Grund ist die Demo nicht interaktiv oder gar spielbar, zeigt aber einige Fähigkeiten der Engine. Das Spiel selbst wird in der nicht allzu weit entfernten Zukunft spielen und nur auf Multiplayer Spiele ausgelegt sein. Einer der Hauptaspekte, der uns beim Spieldesign begleitet ist, Elemente in das Spiel einzubauen, die für Echtzeitstrategiespiele neu sind, ohne dabei die Kernelemente des Basisaufbaus und –zerstörung außer acht zu lassen.

In dieser Demo steckt die Arbeit von mittlerweile über drei Jahren. Das ist zwar eine lange Zeit für eine Demo aber neben all der Bits und Bytes galt es ja noch Schule, Wehr-/Zivildienst und jetzt auch Studium zu erledigen.

Vielleicht noch ein paar schnelle Angaben zur Engine selbst:
Entwicklungsumgebung ist Microsoft Visual Studio .NET 2003. Die Engine besteht aus einem gesunden Mix aus C/C++ und nutzt OpenGL als Grafik API. Um die Engine flexibel zu halten wurde Lua verwendet. So ist z.B. der komplette Ablauf der Demo Script gesteuert und nicht hardcoded.

Zum Terrain:
-Texturierung ähnlich wie von Charles Bloom in "Terrain Texture Compositing by Blending in the Frame-Buffer" beschrieben(http://www.cbloom.com/3d/techdocs/splatting.txt).
-LOD ähnlich wie von Willem H. de Boer in "Fast Terrain Rendering Using Geometrical MipMapping" beschrieben (http://www.flipcode.com/articles/article_geomipmaps.pdf).
-QuadTree

Zum Wasser:
-Environmental Bump-Mapped Reflection.
-Als Mesh-Data dient die Heightmap vom Terrain. Ein Vertex-Shader macht daraus eine sich auf und ab bewegende Wasseroberfläche.


Zu den Models:
-Milkshape3D .ms3d Files.
-Animation via Skeletal Animation.
-Werden mit Display Lists gerendert. Für die animierten Models kommt ein Vertex Shader zum Einsatz welcher sämtliche Bones auf der GPU transformiert.
-Realtime Dynamic Cubemapped Reflections/Refractions sind möglich.
-Standard Stencil Shadows

Weiteren Fragen oder Anregungen sind natürlich willkommen!

Demo unter http://www.smartbombs.de.

Viel Spass damit,
Das Smart B.O.M.B.S. Team.






Von Specialist am 04.02.2005, 00:17:09 Uhr
Sieht klasse aus!
Ich wünschte wir wären auch schon so weit. Najo, Terrain haben wir immerhin auch schon :)
Wie groß ist das Terrain denn? Und wie schnell läuft das ganze?

Von KingKiKapu am 04.02.2005, 00:26:02 Uhr
So, ich habe die Demo jetzt noch nicht ausprobiert, was ich aber noch tun werde. Nur mal zur Site, ich hasse solche kleinen Guckfenster HPs. Ich habe eine Auflösung von 1400x1050, also bitte nutzt die auch aus. Bei dem riesen Rand werden ja die Augen bekloppt. :)

Von Sven K. am 04.02.2005, 07:07:34 Uhr
Sieht echt klasse aus, weiter so. Eine Frage: Wie habt ihr die schönen Wasserreflektionen hinbekommen?

mfG
Sven

Edit: Hat sich erledigt. Hab mir die Demo jetzt mal komplett angeschaut und dort wurds ja gezeigt. Sieht hamma aus!

Von Kimmi am 04.02.2005, 10:07:16 Uhr
Sieht echt gut aus, freue mich schon auf eine spielbare Demo.

MfG Kimmi

Von Puhmann am 04.02.2005, 15:09:55 Uhr
sieht Bombastisch aus ;-)
natürlich müssten die Bäume auch noch schatten werfen, aber das geht schon. Das Wasser macht einen echt klasse eindruck. Wirkt alles sehr idylisch

Von Helmut am 04.02.2005, 15:18:00 Uhr
Sieht echt gut aus. Worum wird es im Spiel gehen?

Von yarin am 04.02.2005, 15:48:52 Uhr
Genial!

1) Wie seid ihr an nen so guten Musiker gekommen?

2) Was benutzt ihr, um Memory Leaks zu finden? Nach der Demo ist da eine memleaks.log aufgetaucht, dir mir gratuliert hat :-) Ich kenne mittlerweile schon viele Techniken (bin gerade auf der Suche nach der richtigen für mich): Grap-Drop-Methode, new und delete überschreiben, malloc und realloc überschreiben, _malloc_dbg benutzen, ... und frage mich, was ihr wohl benutzt.

3) Habt ihr ein Tool um Maps & Kamerapfade zu erstellen? Screenshot? :-)

4) Euer Gras (das, durch das die Kamera _durch_ fährt) sieht sehr Comic-haft aus.

Von Enrico_ am 04.02.2005, 15:51:53 Uhr
Die Demo sieht wirklich klasse aus :D
Was mir aufgefallen ist:
1) Wo das Wasser auf das Terrain trifft, flackert es verdammt dolle. Egal ob ich AA oder AF aktiviere.
2) Bei dem Schwenk von dem Hof und der Basis gehen die FPS tief runter, von vorher 100FPS und 15-20FPS. Die Dreieckszahlen liegen da nur bei ~2Mio, bei den anderen Szenen ja eher bei 6Mio, was also problemlos gehen sollte.

Weiter so!

Von Wackee am 04.02.2005, 17:04:22 Uhr
Wow, FarCry lässt grüßen *g*
Das meiste sieht schon ziemlich gut aus
Thema Gras: könnte vielleicht etwas feiner sein oder sind das Kaktusfelder? Das Schaukeln im Wind könnte vielleicht noch etwas weicher ablaufen.
Und die eine Szene mit den vielen Schatten läuft ziiiemlich langsam.
Das Wasser sieht ziemlich gut aus, bis auf den Rand des Bildschirms. (wo anscheinend die Wellenbewegung nicht mehr berechnet wird?)
Sehr schöne, harmonische Farbgebung der Umgebung, bei den Bäumen könnte evtl. ein wenig abwechslung rein...
So das war, was mir so an groben Sachen aufgefallen ist.

PS: noch was ^^ : auf sandigen Inseln mit so spährlichem Baumbewuchs, werden normalerweise nicht so viele Baumstammhaufen rumliegen.... aber das nur so am rande ;)

Von Mr.DX am 04.02.2005, 18:36:42 Uhr
Ich bin sprachlos. Die Techdemo ist allererste Sahne. Grafik ist sehr gut und die Musik ist einfach nur geil :)
Wenn ich doch nur selber schon so weit mit der Engine wäre *träum*

Macht weiter so, das Projekt ist wirklich super gelungen.

Kleines Problem was mir aufgefallen ist: Manche Modelle werden zu früh gecullt (z.B. die Solaranlagen in der Mitte, wo der kleine Stützpunkt ist)

Von Stefan Zerbst am 04.02.2005, 22:53:57 Uhr
Hi,

ja ist sehr beeindruckend, insbesondere das Wasser gefällt mir sehr gut. Eine kleine Kritik, die hier auch schon angesprochen wurde. Es fehlt durch den sehr begrenzten Schattnwurf viel an Atmosphäre da es keine konsequente Beleuchtung gibt.

Ich habe hier mal einen Shot aus der Demo gemacht, an dem man das recht gut sehen kann. Aber es gibt einige solcher Stellen in der Demo ;)

http://stefan.zfx.info/images/tales3d.jpg

Wie weiter oben schon gesagt haben die Bäume keinen Schatten. Da muss man ja nicht einen echten Stencil-Schatten für alle Bäume nehmen, ein Fake auf einer Lightmap für das Terrain tut es ja auch. Ein größeres Problem ist aber, dass hier der Turm einen fetten Schatten wirft, während die benachbarten Objekte wie der Zaun usw. zum einen von allen Seiten gleich stark beluchtet scheinen obwohl der Schattenwurf am Turm gnau zeigt wo und wie tief die Sonne steht. Der Zaun müsste also auf der dem Turm zugewandten Seite wesentlich dunkler sein.

Zum anderen fehlt diesenObjekten natürlich eindeutig ein Schatten was extrem auffällt weil der Turm so einen schönen Schatten hat ;)

Ciao,
Stefan

Von Nygma am 05.02.2005, 00:00:07 Uhr
Hi,

großartig sage ich nur! Da bin ich echt beeindruckt. Nicht eine ruckelige Stelle das ganze (gut mag an der Graka liegen), wahnsinns Wasser und riesen Potential! Erstklassig!

Und zu den anderen Aussagen von wegen fehlender Schatten usw. Ganz ehrlich - die Jungs haben 3(!!) Jahre lang dies Projekt durchgezogen und in ueber 1000 Tagen gibts ne Menge Moeglichkeiten und Versuchungen das Handtuch zu werfen (oder gar nicht erst anzufangen ;)), was die aber nicht getan haben. Das muss man erstmal toppen und nachmachen! :)) Und mir waere das gar ned aufgefallen, lag aber wohl an der Begeisterung :D

Von Sebastian am 05.02.2005, 00:05:02 Uhr
hrhr, man kann ja den mech anklicken und rumsteuern :)
nur schad, dass die kamera einem immer davonfährt

Von IIX am 05.02.2005, 02:44:30 Uhr
Zunächst mal Dankeschön für die ein oder andere Anerkennung, tut gut sowas zu hören und steigert die Motivation. Natürlich auch besten Dank für die konstruktive Kritik.

Ich versuch mal ein wenig auf die angesprochenen Fragen und Probleme einzugehen:

- Terrain Größe:
Die Heightmap in der Demo hat eine Größe von 512x128. Intern wird diese in Chunks der Größe von 32x32 verwaltet.

- Wie wir zu unserem Musiker gekommen sind?
Vielleicht allgemein zur Teamkonstellation. Unser Team(1 Programmierer, 1 Grafiker, 2 Modeller und 1er für den Audio Kram) entstand während der Abi-Zeit. Seitdem wurde eben gemeinsam an diesem Projekt gearbeitet.

- Memory Manager:
Spar dir die Arbeit selbst einen Memory Manager zu proggen. Es gibt einen wirklich Exzellenten von Paul Nettle. Am besten du schaust mal auf dieser Page:
http://www.flipcode.org/cgi-bin/fcarticles.cgi?show=64444
Die neuste Version des Memory Managers ist außerdem direkt auf Paul Nettle's Seite zu finden:
http://www.fluidstudios.com/?freeware

- Editor und Kamerapfade
Der Editor ist mehr oder weniger direkt in die Engine integriert. So kann in Echtzeit die Map bearbeitet, das Terrain texturiert und die Objekte platziert werden.
Die Kamerapfade entstanden auf ganz einfache Weise. Einfach durch die Map steuern und Stützpunkte festlegen. Diese dienen dann als Grundlage für einen Spline auf dem die Kamera "reitet".

- Comic-Gras/Kaktusfelder
Die momentane Implementierung zur Darstellung von Vegatation ist eigentlich nicht optimal, da es sich lediglich um platzierte Models handelt. Besser wäre auf jedenfall ein spezialisiertes, dynamisches Vegetationsmodell bei dem sich auch das Problem einer natürlicheren Windbewegung besser lösen ließe.
Wie das viele Holz auf die Insel kommt? Nunja, bei den auf den Inseln vertretenen Baumgewächsen handelt es sich um die Ableger der seltenen aber äußerst schnellwüchsigen "arbor celeris bambuscae". Aber das konntest du natürlich nicht wissen ;)

- Angesprochene Grafikfehler bei der Wasserspiegelung
Ich nehme mal an du meinst die Verzerrungen der Reflektion am unteren Bildschirmrand wenn sich die Kamera der Wasseroberfläche zu sehr nähert? Das liegt daran, dass die Geforce3 Generation von Grafikkarten OFFSET_TEXTURES nur für nicht projezierte Texturen zulässt. Dies bedeutet, dass ich die benötigten Berechnung mittels Vertex Shader manuell vornehmen muss. Allerdings fehlt dann die perspektivische Korrektur und das führt dann eben zu den unschönen Verzerrungen wenn man den Dreiecken der Wasseroberfläche zu Nahe kommt. Aber das kommt ja nur selten vor...

- Schatten
Die Schattengebung ist in der Tat eine recht schwierige Angelegenheit, trägt aber wesentlich zu einer stimmungsvollen Atmosphäre bei. Momentan unterstützt die Engine eben nur Stencil Shadows und die eignen sich nunmal nicht für Flächen mit Alpha-Texturen wie beim angesprochenen Zaun und den Bäumen. Für diese wäre also sicherlich die bereits angesprochene Lösung mit Hilfe einer Lightmap auf der Terrain Oberfläche eine recht gute Möglichkeit. Auch durch Shadow Maps könnte man hier sicherlich Verbesserungen erzielen.
Derartige Features benötigen eben immer viel Tweaking und Experimentieren und es ist sehr zeitraubend ein stimmiges und ansehnliches Ergebnis zu erzielen.
Dass hier noch nicht der endgültige Zustand erreicht ist, ist uns auch bewusst, aber wir arbeiten daran und bemühen uns die von euch angebrachten Mängel zu beseitigen.

@Sebastian:
Huch tatsächlich, die Maus ist in der Demo gar nicht deaktiviert. Was du da ausprobiert hast ist eine erste Implementierung der A* Wegfindung. Achja, wenn du die Kamera oder gar den ganzen Demoablauf stoppen willst, dann drücke TAB und tippe "Timer_ClearEvents()" in die Kommandozeile. Mit "Camera_SetPathEnabled(0)" kannst du auch die Kamera vom Pfad lösen und mit Maus+Rechte Taste sowie den Pfeiltasten steuern.

So, hoffe ein wenig Licht ins dunkle gebracht zu haben. Sollten weitere Fragen bestehen, dann immer raus damit...

Grüße,
Sebastian
www.smartbombs.de

Von TheLord am 05.02.2005, 09:36:26 Uhr
Das ist wirklich sehr beeindruckend. Die Grafik ist super und auch die Musik passt perfekt.
Macht weiter so, ich freu mich schon auf eine erste "spielbare" Version!

Von Guru am 05.02.2005, 11:56:14 Uhr
Ein sehr beeindruckendes Projekt.

Kritikpunkte hab ich wenige gefunden und wenn, dann wurden diese schon genannt (fehlende Schatten der Bäume).

Die Grafik erinnert manchmal an FarCry, obwohl an den Pflanzenmodellen noch gearbeitet werden muß.

Ich bin auf das Spiel gespannt. Wenn das so gut wird wie die Grafik, dann werde ich auch eifrig die Werbetrommel dafür rühren.

Weiter so.

Von Specialist am 05.02.2005, 13:42:31 Uhr
Irgendwas scheint an eurer Enumeration nicht so ganz zu stimmen. Mein Monitor kann definitiv keine 1600x1200 Auflösung! Treiber etc. sind alle korrekt installiert.

Von Pedderson am 06.02.2005, 05:00:05 Uhr
Hi,
die demo ist echt beeindruckend. Muss echt lange gedauert haben, eh man so was tolles zustande gebracht hat. Macht weiter so und verbessert die oben angesprochenen Fehler und so. sieht echt gut aus.

Von Sven K. am 06.02.2005, 11:13:46 Uhr
Hab mir nochmal die Demo angeschaut und die Kamera frei beweglich gemacht. Dann bin ich mal in die Basis geflogen und war im Berg drin. Dort hab ich gesehen, dass weiter unten die Basis nochmal gezeichnet wurde, warum? Hat das irgendwelche besonderen Hintergründe?

mfG
Sven

Von Djsammy am 06.02.2005, 20:25:29 Uhr
Hi, also die Bilder sehen super aus, doch ich kann leider die Demo nicht herunter laden.
*heul*
Kannste das bitte reparieren?

Von VR-CAT am 07.02.2005, 08:55:51 Uhr
Respekt,
bin echt begeistert sieht gut aus, freu mich auch schon auf die Erste Spielbare DEMO von Euch. Achso und Danke für den Motivationsschub :-) ….

Weite so

Von xcvb am 07.02.2005, 12:34:44 Uhr
nicht schlecht.

schattenproblematik wurd ja schon angesprochen. mit dem wasser gibt es auch probleme, wenn man nicht sehr nah dran ist. zwischendurch hatte ich auch nen bösen texturfehler (landschaft wirr gestreift). und in die konsole kann ich nicht gescheit schreiben, weil mit jedem Shift erst mal ne 8 da reingeschrieben wird.

mfg

Von Ghost am 08.02.2005, 01:26:07 Uhr
Wow, echt geil, besonder die Basis mit dem Mech und dem Heli :)

Mal ne frage, wegen des Animationssystems, können bei euch die Modelle nur von Animationsfiles (keyframes für die bones, ka wie man des nennt) oder auch direkt beeinflusst werden (engine / physik) ?

Ich meine z.B. Mech, die Lauf-Animation kann man ja ins Model speichern, aber wenn er jetzt seinen Turm drehen soll. Habt ihr dafür eine extra Animation oder wird dann einfach der entsprechende Bone direkt angesprochen ?

Von D-Coder am 08.02.2005, 09:13:38 Uhr
Also auch von mir großes lob !!

habe mir die sache mal angeschaut und muss sagen das die Demo wirklich sehr gut wirkt !

Was vorallem sehr positiv ist das es selbst auf meinen Laptop noch recht ordentlich lief !
Allerdings wurde dabei das Wasser gar nichtmehr dargestellt was nicht gerade sehr genial wirkt ...

auf jedenfall weiter so ! und vergesst nicht auch ein ordentliches Spiel draus zu machen ;)

Von Lupus19 am 13.02.2005, 12:16:48 Uhr
Wow, kann ich da nur sagen. Habe selbst schon einige male an einer 3D Engine gewerkelt, allerdings bin ich noch nie so weit gekommen. Mag vielleicht auch daran liegen, dass ichs alleine versuche ;)
Weiter so. Und noch eine Bitte: Ich fände es nicht schlecht, wenn du posten könntest, wie ihr so vorgegangen seid, was ihr für Tricks benutzt habt, usw. Würde mir wirklich helfen, dann muss ichs nicht durch Trial&Error herausfinden :)
Also weiter so.

Von IIX am 13.02.2005, 20:19:36 Uhr
@Specialist:
In OpenGL gibt es keine Enumeration wie in DX. Entweder du bekommst nen Render-COntext mit deinen Anforderungen oder du bekommst keinen. Auch der Setup Dialog ist so implementiert, dass man zunächst alles aktivieren kann. Ob und wie OpenGL dies zulässt und was dann die Engine unternimmt um die Demo dennoch zu starten entscheidet sich bei Programmstart.

@Sven:
Was du da gesehen hast war das Ende der Shadow-Volume. Diese ist nicht unendlich lang sondern so bemessen, dass sie eigentlich gerade so komplett die Heightmap schneidet. Wenn du in den Berg fliegst wird die Heightmap aber nicht gerendert und was du dann siehst ist was passiert wenn die Shadow-Volume keine Fläche findet auf die sie einen Schatten werfen kann. Es entsteht eine art 3D Schatten.

@Ghost:
Zum Animationssystem. Also Physik spielt eine untergeordnete Rolle. Aber das Beeinflussen einzelner Bones ist möglich. Dies ist direkt aus der Engine heraus möglich, welche dann den Turm eines Panzers dynamisch in Richtung des Targets dreht und auch aus Lua heraus kann man auf die einzelnen Bones zugreifen. Von großem Vorteil ist hier, dass man in Milkshape3D den einzelnen "Joints" Namen geben kann.

@Lupus:
Hmmhm.. ja.. ich glaub da musst du schon konkreter werden. Hier und da gabs so manches Hinderniss, gerade was die Treiberkompatibilität angeht. Vor allem ATI gab mir da manchmal Rätsel auf.
Aber jetzt hier jede verwendete Technik der Engine, oder auch was die Erstellung des Contents angeht, durchzukauen ist schlecht möglich. Wie gesagt, konkrete Fragen...


Grüße,
Sebastian
www.smartbombs.de

Von keepcoding am 14.02.2005, 15:24:21 Uhr
Wow! einfach nur hammer!
auch von mir grosses Lob!

In eurem Team bis du der einzige Programmierer. Wie viele Stunden am Tag hast du denn gecodet? Welche Lehrmittel hast du verwendet?

auch von mir ein Dankeschön für den Motivationsschub :-)

mfg
Keepcoding

Von Ghost am 15.02.2005, 01:44:15 Uhr
Danke für die Beantworten meiner Frage :)

Ja das mit Bones Namen geben, daran dann erkennen und manipulieren hat mein Format auch. Sogar in Cinema ist dies Möglich (.... lasst es lieber, das SDK .... is für den allerwertesten ;))

Von Seku am 15.02.2005, 21:15:54 Uhr
Wow, das sieht echt umwerfend aus!
Erinnert mich ein wenig an Bullfrogspiele à la Black&White

Von Mastermind am 17.02.2005, 14:26:52 Uhr
Das Black & White dass ich kenne war glaube ich von Lionhead.

Ansonsten bin ich natürlich schwer beeindruckt von dieser Leistung. Besonders die refraction/reflection Sache hat es mir angetan. Leider kann man auf meiner Hardware die Frames einzeln zählen.

Von Lord Delvin am 19.02.2005, 21:47:19 Uhr
Die hießen damals Lionhead, waren aber die Leute, die ursprünglich für Bullfrog gearbeitet haben...ich mein ist ja auch komisch, das weder Dungeon Keeper noch Magic Carpet weiterentwickelt wurden, wenn Bullfrog von EA gekauft wurde;)

Von Peter Müller am 10.03.2005, 18:41:53 Uhr
Sieht einfach nur gigantisch aus!