[Projekt] [w]tech engine

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.
Antworten
Andre
Establishment
Beiträge: 186
Registriert: 21.12.2011, 20:33

[Projekt] [w]tech engine

Beitrag von Andre »

Hi zfx!

Über Zudomons Stonequest sind wir auf dieses Forum gestoßen. Mir kam gleich der ein oder andere Name von Gamedev.net bekannt vor, und auch las hier ich etwas über Gamedev.net's IOTD. Das machte mir dieses Forum schon gleich sehr Sympatisch, da ich auch dort recht häufig unterwegs bin.

Wir waren auch schon in anderen Foren aktiv, aber dort erhielten wir relativ wenig Feedback, welches aber für jedes Projekt natürlich sehr wichtig ist.
Beim Lesen des StoneQuest-Threads kam mir die Idee nun in diesem Forum zu schauen, ob wir vielleicht auf ein paar freundliche und interessierte Menschen treffen, mit denen wir unsere Fortschritte teilen können und die sich auch mal auf eine fachliche Diskussion einlassen.

Bei unserem Projekt handelt es sich um eine Game-Engine. Seit gut 2 Jahren ist sie nun in der Entwicklung und hat morgen, am Freitag, den 23.12., sogar ihren 2. Geburtstag!

Ein kurzer Überblick:
Geschrieben ist sie in C++ und im Moment nur für Windows Vista und 7 verfügbar, da auf DirectX11 als Renderer zurückgegriffen wird.
Die Funktionen des Renderers reichen vom Light-Pre-Pass über HDR bis hin zu Nvidias HBAO. Das Sortieren nach Materialien sowie Instancing wird ebenfalls unterstützt.
Dynamische Schatten und solche Features wie Refractions o.Ä. dürfen da natürlich auch nicht fehlen.

Neben dem Renderer braucht es natürlich noch weitere Teile, damit man mit der ganzen Engine auch in der Lage ist ein Spiel zu erstellen.
Da hätten wir zum einen die integrierte Scripting-Engine (Powered by AngelScript) und die Physics-Engine, welche Bullet-Physics benutzt.

Content wird im eigenen Package-System gespeichert, welches sich intern auch die Speicherfunktion der Welten zunutze macht.
Dazu sollte man noch sagen, dass man eigentlich alles nicht zu spezielle direkt im Editor machen kann, Shader- und Script-Editoren sind vorhanden.

Das feste [w]tech team setzt sich zu diesem Zeitpunkt wie folgt zusammen:
1 Programmierer (Ich)
1 Artist (Raphael, ebenfalls nun hier registriert)
1 Webprogrammierer, fürs Portal, etc. (aLeX)

Außerdem arbeitet Loudcore als an unserem Spiel "Pulsedrive" als Komponist.

Soviel erstmal grob zum Projekt an sich.

Informationen zu unseren geplanten Spielen und weiteren Features der Engine gibt es auf unserer Homepage ( http://wtechportal.com/ ) und auf ModDB (http://www.moddb.com/engines/wtech ). Die Liste der News auf ModDB reicht sogar bis ganz an den beginn des Projektes zurück.

Ein paar Bilder gibt es hier natürlich auch:
Bild
Bild
Bild
Bild
Bild
Bild

Und Videos:
http://www.youtube.com/user/wtechteam

Falls jemand nun eine Frage hat, bitte immer nur her damit! ;)
Zuletzt geändert von Andre am 12.08.2012, 22:17, insgesamt 1-mal geändert.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2367
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: [Projekt] [w]tech engine

Beitrag von Jonathan »

Ja, das sieht doch schon cool aus. Ich bin mal gespannt, was hier in Zukunft noch so vorgestellt werden wird.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Andre
Establishment
Beiträge: 186
Registriert: 21.12.2011, 20:33

Re: [Projekt] [w]tech engine

Beitrag von Andre »

Wie gestern schon erwähnt: Wir haben heute Geburtstag :D
Und zu diesem Anlass gibt es nun die so gut wie komplette Geschichte der Engine.
Da wir hier neu im Forum sind passt das vielleicht sogar recht gut, da sich alle ein besseres Bild über die Entwicklung machen können.

(Ich hoffe es ist kein Problem, dass unsere News-Postings hier auch auf Englisch sind)
Bild

At 23rd December exactly two years have passed since we have started development on the current version of [w]tech. On the 23rd of December 2009, one day before holy eve, I decided that it is time to start over with the code. Writing everything again we needed.
You may have read it in this news-posting we published right after that: ModDB

Nostalgia overcomes me when reading those lines, written by my 16 year old self.

Bild

First parts of the engine started work and to grow. After some weeks we had something which could import content from one mesh format, save it in a virtual file system and render it showing the meshes normals only.
Later then the first shader-editor came around. In fact, most parts of it are still used in the current version of [w]tech, unlike much of the other code.

Bild

Having to create extra groups for all content manually wasn't really what we wanted. Aside from that I discovered how to make those fancy shiny glass-windows which you can see since Windows Vista was released. I hade the urge to develop a new GUI! Confused by the WinAPI I moved over to write my own GUI-Framework using native Direct2D, of which the first version turned out to be not the best we could have.
Still, it worked. For some time.
[w]tech was now fully shiny and glassy, with its own 'fancy' buttons and menus.

Bild

We kept that framework for quite some time and I implemented more features into the engine. While time passed by, a lot of code found its way into our codebase. Still not knowing how to make a proper lighting system, I toyed around with some PostProcess-Shaders. First one was a simple linear-blur over the whole screen. Then I read something about gaussian-blurs.

Bild

When the editor turned out to be at least a bit usable (A widget just had to be made!) I found myself importing a simple cube into the editor, building a simple world with it. It made me very proud as I created the first 'real' world. I had made a world made of cubes. That's just what programmers do; they use cubes to build a ordered world.

Anyways, world was set up, bloom was blooming, I was happy.

Bild

Of course an artist can do better things with your engine. That blew me away:

Bild

I don't remember how much time passed since that 'milestone', but I do remember what I did on some Friday night where I did not have anything other to do than to code:
I said to myself: "Get on the PC, read something about deferred shading, and then implement it!".
No sooner said than done. At 4:00AM I watched a small pointlight, attached to my mouse cursor running through a little test-scene.

Bild

Good that I had no idea of multiple rendertargets, writing vertexnormals to such a target, reconstructing the pixels worldposition from depth, applying a point light formula and those other things you need for deferred shading. It was a challenge, but it was fun.
On the next day my team mate Raphael was all like "Lol, you didn't just implement all that yesterday, right? RIGHT?!".
Now imagine the smile on my face...

Bild

Next thing to do was to implement viewports. Every editor should have them, we thought.
In fact they still aren't working right. Perspective-Modes work just fine, Ortho-Modes won't.

Bild

Now, let me skip a few parts of the engine, like some first tries of SSAO. One day, I discovered PolyVox. And I immediately thought: I must have that!
Of course that didn't work out of the box.

Bild

Fortunately, David Williams, the developer of PolyVox, was able to help us out and to fix some bugs while we were working with his library. He also built in smooth volume support because of us. Again, thanks for that, David!
Then, a port to DirectX11 and our second techdemo later, we screwed our deferred shading.
The Light-Pre-Pass was found and ready to get built in! It took some time, but I got it working.

Bild

This is the last thing I'd like to have told you about the version with the old core. While writing up all those features, I gained a lot more coding skills.
I was at a point where I didn't like what I wrote anymore. When things started to get more complicated the whole system began to fail, standing in the way for more features.
I think it was the old GUI-Framework which was the reason I finally decided to take a walk through my source-directory and to delete every single file I didn't like.
"D3D10Renderer.h/.cpp", "Scene.h/.cpp", and yes, even my "main.cpp" went into the recycle-bin. Only to name a few of them, I'm sure there were more.

Next stations: New GUI, new Engine-Core!

Bild

This is what popped out. Still no perfect style, but a way nicer API than the old framework had.
I actually don't remember if I build the GUI-Framework before or after I wrote the new core.
Anyways, we needed a new core, and I spend a lot of time just writing background stuff for the engine. Probably a full month or even two passed away until I started to work on getting something drawn on screen again.

Other things had to be done. From the basic engine functionality (This time I went for a class-based implementation) to scene mangers or audio features.
Funny thing is that I had to be sure that everything I wrote worked without problems. Most of the time it just wasn't possible to test and to debug the code.
But when the first renderer came up and I plugged in the other functions into it, it almost worked out of the box. Only thing we lost was most of the Voxel Terrain, but not everything!

Bild

Now, that looks more like the current version of the engine. Still no import was possible! So it took another time to get something onscreen. I decided to build in the ASSIMP-library, and now [w]tech has support for all of the common mesh formats. Now it looked like this:

Bild

And no, before this version there weren't any settings for the color of the lights. I take this as another milestone.
Progress bars, a better widget, more post processing, a much more robust save format for maps, more light types than the pointlight, shadows, and more! At some point I went crazy and implemented a whole bunch of nice things!
I even began coding a new shader editor. But it still isn't finished, and I haven't worked on it since those days anymore. Stil using the 'ancient' one, heh.

Bild

Best of all must have been the new property system. What would a programmer want more than something which does almost everything automatically? Containers could be saved to files, displayed as nice boxes for the user, dynamically added or removed... Well, pretty nice thing to have! Though, I won't put a picture with only code on it in here.

Bild

Me wanting to explore the capabilities of my GPU (I got a GTX570! Yeah!) more and more I did some experiments. Rendering a polygon plane with a resolution of your screen and displacing the vertices by special values from the scene meshes was one thing. Others were more useful, like distortion or other scene-effects. And I implemented a very simple version of Pong for example.

Bild

So, now things start to fade for me. From this on, I implemented so many little things I can't remember all of them. I built in scripting and physics just lately, tweaked things here and there, killed aggressive bugs.
Now the engine it quite usable. I started working on the prototype of our game 'Pulsedrive', and it works quite well. The game, even though far from finished, does its job just fine. You find a lot more bugs or things that have to be better when actually using an editor.

I think I should make a cut here. Everything which comes now is too new, and those things I left out are probably too unimportant. This posting is getting longer as it should have been, anyways.

Best regards,
Andre Taulien ([WuTz]!) and my team mates!

Bild

Thanks for reading, have some nice holidays!

__________________________________________________

Bild Bild Bild Bild
Eisflamme
Establishment
Beiträge: 412
Registriert: 26.05.2002, 17:42
Wohnort: Köln

Re: [Projekt] [w]tech engine

Beitrag von Eisflamme »

Gefällt mir prima! Hab Mal Facebook geliked und Youtube abboniert und so. Wieso nutzt ihr nicht auch Twitter?
joggel

Re: [Projekt] [w]tech engine

Beitrag von joggel »

Ja... sieht echt nach einem guten und saubern Stück Arbeit aus!
Das Spiel klingt echt interessant. War ein grosser Fan von VipeOut, und wenn das ganze noch auf Musik passt, will ich es unbedingt mal testen.
Wie wollt ihr das konkret auf die Musik abstimmen?
Würde jede Musik dazu passen?
Andre
Establishment
Beiträge: 186
Registriert: 21.12.2011, 20:33

Re: [Projekt] [w]tech engine

Beitrag von Andre »

Vielen Dank ;)
Wieso nutzt ihr nicht auch Twitter?
Soweit ich weiß hat noch keiner von uns da Erfahrung mit. Ich kann das Thema aber gerne mal ansprechen.
Wie wollt ihr das konkret auf die Musik abstimmen?
Würde jede Musik dazu passen?
Wir haben Funktionen um das Spektrum der Musik auszurechnen in der Engine. Dadurch können wir so einiges in der Welt darauf reagieren lassen. Dazu gibt's bald noch richtige Beat-Detection.
Außerdem wird Raphael, der die Maps alle bauen muss, zumindest für den Story-Mode von Pulsedrive für jeden Song des Spieles eine Strecke entwerfen.
Man wird allerdings auch eigene Stücke importieren können, welche dann natürlich nicht so perfekt passen. Auch denke ich, dass es mit elektronischer Musik am besten Funktioniert, da sich die Geschwindigkeit ja nach dem Bass richtet.
Hier steht noch einiges dazu: http://www.moddb.com/games/pulsedrive/n ... ulse-drive
Andre
Establishment
Beiträge: 186
Registriert: 21.12.2011, 20:33

Re: [Projekt] [w]tech engine

Beitrag von Andre »

Bild

Realistic Skin
One of the current challenges of real-time graphics is to simulate realistic skin. If you just handle skin as it were a normal object like a stone it will look like a stone. Skin modulates the lighting, it eliminates hardness and the flesh beneath it absorps light and reflects it in a different color. We have made a practical approach, maybe you know the term "SubSurfaceScattering". We are faking this effect very expenssive effect with low need of perfomance. Everything is done in the skin shader: At first we catch the direct lighting and blur it, while the edges are saved from bluring. Then we modulate the color of the lighting and apply it to the skin.

Bild

As you can see on the third screenshot, details are still intact and can be used for the specular lighting. We only blur the lighting, not the whole shader.
__________________________________________________

Roadmap
This is our roadmap for 2012:

Bild

In addition a small timeline which should illustrate the order of our releases. Because this graphic is about releases, [w]tech 0.18 and 0.19 are not listed. These are internal milestones.

Bild

Whereas we have decided not to release the source code, we made the decision to enable you to use [w]tech for non-commercial projects as well as for commercial ones without financial charge. So in fact, [w]tech will be released as Freeware!
__________________________________________________

Bild
__________________________________________________

Bild Bild Bild Bild
Zuletzt geändert von CodingCat am 02.01.2012, 23:17, insgesamt 1-mal geändert.
Grund: Showroom-Tags
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: [Projekt] [w]tech engine

Beitrag von CodingCat »

Ich habe euch ab und an schon bei GameDev.net bemerkt und kann mich nur anschließen, das sieht schon nach einer ganzen Menge gut funktionierender Technik aus. Ich kann euch auch nur bestätigen darin, Technik und konkretes Projekt stets möglichst parallel zu entwickeln, damit haltet ihr euch zwangsläufig auf einer guten realitätsnahen Bahn und habt außerdem immer wieder Neues zu zeigen, um andere zu begeistern und so euch selbst zu motivieren. Im Moment kommt ihr ja offenbar gut voran, was zu sehen ist sieht sehr gut aus, an technischem Verständnis fehlt es euch offensichtlich auch nicht, ich bin zuversichtlich und gespannt auf das was kommt.

Randbemerkung: Ich finde die vielen großen Logos gestalterisch nicht ganz so gelungen und in ihrer Wiederholung etwas störend. Es ist OK, wenn ihr Werbung für eure Seiten machen wollt, vielleicht könnt ihr das ja etwas dezenter (oder hübscher! ;)) gestalten. Auch wären etwas weniger schmale Vorschaubildchen dem Interesse wohl nur zuträglich, die sehr schmalen Bildstreifen laden auf den ersten Blick nicht unbedingt zu näherer Betrachtung ein.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Raphael
Beiträge: 65
Registriert: 22.12.2011, 13:39
Echter Name: Raphael Menges

Re: [Projekt] [w]tech engine

Beitrag von Raphael »

Die richtigen Logos machen wir immer auf die Wallpapers, auf alles andere kommen nur das Wasserzeichen. Dieses werden wir wohl noch ein wenig dezenter einsetzen;) Diese dünnen Vorschaustreifen sind übrigends exklusiv bei der Geburtstags News gewesen, weil sie ansonsten einfach viel zu lang und groß geworden wäre.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: [Projekt] [w]tech engine

Beitrag von CodingCat »

Zu lang und zu groß gibts bei schönen Bildern nicht. ;-)
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Andre
Establishment
Beiträge: 186
Registriert: 21.12.2011, 20:33

Re: [Projekt] [w]tech engine

Beitrag von Andre »

Da das Thema noch recht frisch ist, gibt's auch noch eine ein wenig überarbeitete Version:
Bild

Diesesmal mit etwas mehr SpecularLighting.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4854
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] [w]tech engine

Beitrag von Schrompf »

Sieht gut aus! Macht ihr den Blur im Screen Space oder Texture Space wie das NVidia-Demo?

(Wenn ich ganz ehrlich bin: die Phong-Variante gefällt mir auf dem Vergleichsbild am besten :-) Aber wer weiß, wie das in Bewegung aussieht.)
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Andre
Establishment
Beiträge: 186
Registriert: 21.12.2011, 20:33

Re: [Projekt] [w]tech engine

Beitrag von Andre »

Macht ihr den Blur im Screen Space oder Texture Space wie das NVidia-Demo?
Das passiert im Screen Space. Sogar direkt im Shader des Modells! Da wir einen LightPrePass benutzen, haben wir zu dem Zeitpunkt wo wir unsere Haut darstellen möchten schon alle Lichtinformationen in einer Textur. Das hatte auch den Vorteil, dass wir gar nichts am Engine-Code ändern mussten um den Effekt zu bekommen ;)
Andre
Establishment
Beiträge: 186
Registriert: 21.12.2011, 20:33

Re: [Projekt] [w]tech engine

Beitrag von Andre »

Bild

Heute gibt es auch mal wieder ein Update von uns. Diesesmal gibt es eine simple Motion-Blur Implementation und Lodding:
[youtube]y6ZwfIKYmL8[/youtube]
"We have created a small testroom for presentation and a donut model to show the switching between different detail-levels of the mesh. Lower levels of detail were generated with MeshLab (http://meshlab.sourceforge.net/)"

Und hier haben wir noch Bilder für den Showroom:
Bild
Bild
__________________________________________________
Bild Bild Bild Bild
Allanon
Beiträge: 2
Registriert: 26.03.2002, 17:50
Wohnort: Drove
Kontaktdaten:

Re: [Projekt] [w]tech engine

Beitrag von Allanon »

War schon lange nicht mehr hier im Forum und schaue mir gerade spaßeshalber ein paar Projekte hier an. Eure Screenshots sind echt top!
Eisflamme
Establishment
Beiträge: 412
Registriert: 26.05.2002, 17:42
Wohnort: Köln

Re: [Projekt] [w]tech engine

Beitrag von Eisflamme »

Geht so... der Donut in der Szene sieht so realistisch aus, dass ich jetzt Hunger bekommen habe. :?

Reife Leistung ;)
Andre
Establishment
Beiträge: 186
Registriert: 21.12.2011, 20:33

Re: [Projekt] [w]tech engine

Beitrag von Andre »

Bild

Wie im Global Volumetric Fog-Thread versprochen gibt es heute nun auch erste Bilder davon. Zuerst allerdings:

SMAA

Das ganze ist wie vielleicht schon vermutet eine neue Antialiasing-Technik, genannt "Enhanced Subpixel Morphological Antialiasing", welche als PostProcess-Effekt arbeitet.

Mehr Informationen dazu gibt es hier: http://www.iryoku.com/smaa/
Und hier sind ein paar Bilder davon:
Bild

Bild

Bild


HeightFog

Wie schon gesagt ist dies nun doch die Wenzel-Methode. (http://developer.amd.com/media/gpu_asse ... _Games.pdf (Seite 15))

Bilder:
Bild
Bild

Wo das nun auch geschafft ist, kanns jetzt endlich mit dem Gameplay von Pulsedrive weiter gehen :)

__________________________________________________
Bild Bild Bild Bild
ZELPAD

Re: [Projekt] [w]tech engine

Beitrag von ZELPAD »

ich hab auch hunger bekommen auf mehr...schaut gut aus! :)
Antworten