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:
4434991
Jetzt (Chat):
5 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-
"Gravity-Demo" von Thomas Richter-Trummer (fimbo)


Jo!

Das Bild zeigt einen Ausschnitt aus dem Projekt Gravity, an dem ich
schon längere Zeit arbeite. Es ist eigentlich ein normaler FPS der sich
aber von anderen unterscheidet weil die Physik komplett anders berechnet
wird.
Zunächst ist die Schwerkraft schwächer und was viel wichtiger ist man
wird nur vom Gravitationspunkt in der Mitte angezogen was viele neue
Möglichkeiten eröffnet wie zb von einer Seite der Kugel auf die andere
zu Springen und das ganze durch die Kugel. Auf der Oberfläche (den
Ringen) selber bewegt man sich ganz normal nur dass man nach ein paar
Metern kopfüber auf der anderen Seite steht. Durch geschicktes
herumspringen (man hat auch einen Jetpack zur Verfügung) kann man auch
in einern "Orbit" kommen also eine stabile Umlaufbahn in der man den
Gegner leicht unter Beschuss nehmen kann...

Wie man auf dem Bild erkennen kann wird Dynamic Cube Enviroment Mapping
(erfordert mind. GeForce) verwendet, sowie eine vorberechnete Shadowmap,
die (multi-blended)Sterne sind abgefeuerte Kugeln der bis jetzt einzigen
Waffen die ebenfalls von der Gravitation erfasst werden und unbegrenzt
um das Gravitationsfeld fliegen bis jemand getroffen wird, was ich aber
noch ändern möchte da es mit der Zeit immer schwieriger wird den Kugeln
auszuweichen.

Als "Spielfeld" kann ein beliebiges Milkshape-Model (*.ms3d) verwendet
werden, die eigensentwickelte Kollisionserkennung erfolgt per Polygon
und obwohl sie ohne Baum auskommt ist sie fast Polygonanzahl unabhängig.

Entwickelt ist das ganze in VS mit C++ und OpenGL 1.3
Diese Szene(1280x1024, ca. 10000 polys) läuft auf einem XP2600 mit Ati
9800 mit ca 250 fps was bei einem optimiertem Enviroment Mapping aber
noch verbessert werden sollte, ohne Enviroment Mapping ca 380 fps.

Eine (singleplayer) Demo könnte ich bald zur Verfügung stellen.

mfG Thomas Richter-Trummer [fimbo]






Von corvus am 09.05.2005, 02:26:47 Uhr
Erster :)

Sehr schön. Bin mal gespannt auf eine Demo. Wirst du denn evtl eine Multiplayer Variante anbieten? Du schreibst so verheißungsvoll "... Singleplayer Demo...". Das läßt Interpretationsspielraum ;)

Von fimbo am 09.05.2005, 03:58:23 Uhr
der Screenshot ist jetzt doch schon ne Weile her, hab das Projekt eigentlich total umgeschrieben, diese OpenGL Fixed Pipeline Funktionen hab ich ganz raus genommen, baut jetzt alles auf Pixel/Vertex Shader auf, weils einfacher ist und außerdem damit vielleicht interessanter wird.
Ist aber trotzdem noch so weit skalierbar dass ähnliche Frameraten erreicht werden, schaut aber dann auch dementsprechend schlecht aus...

Mit allen Shadern an geht dann auch leider meine Graka ein bißchen ein, über 60 fps bleibts aber schon. Vor allem dieses Dynamic Cube Environment Mapping is ziemlich Performance hungrig...
http://www.surface.at/tom/gravity_mid.jpg

Von Lord Delvin am 09.05.2005, 06:37:12 Uhr
Versuchs bei deinem Waffenproblem mal mit "Energiewaffen", die stetig an Energie verlieren, also nach einer gewissen Zeit einfach nicht mehr da sind. Oder du verwendest Gravitations unabhängige Strahlenwaffen...also 'ne Laserkanone oder sowas.
Die Idee an sich hatte ich auch schon, ich würd' das ganze aber auf 'nem "Planeten" machen also man hätte dan so 'ne Welt im Escherstil.
mit freundlichen Grüßen
Lord Delvin

Von Puhmann am 09.05.2005, 16:20:37 Uhr
Effektreiche Grafik und eine echt nette Idee. Was will man mehr, für ein Spielchen zwischendurch?

Von AnsSchmidt am 09.05.2005, 16:51:22 Uhr
Mit Shadern sieht das ganze spitze aus!

@Lord Delvin: Auch Strahlenwaffen sind gravitationsabhängig

Von BoYaMan am 09.05.2005, 17:07:10 Uhr
absolut geiles Spielprinzip, ehrlich! Bin ein Freund von viel und andersartiger Bewegung :D

Von keepcoding am 09.05.2005, 17:41:32 Uhr
is ja hammer! Kannst du kurz was zu den Shadern sagen? Wie machst du DoF? Sieht wirklich cool aus!

mfg Keepcoding

PS: freue mich auch schon auf die Demo!

Von fimbo am 09.05.2005, 20:38:39 Uhr
@keepcoding:

für den DOF Effekt braucht man die Tiefentexur, und das fertig gerenderte Bild, diese übergibt man dann dem Shaderprogramm und anhand der Tiefentexurwerte kann man damit die Entfernung jedes Bildpunktes bestimmen.
Je weiter ein Pixel weg ist desto mehr muss man ihn mit den Nachbarpixeln mischen (multipliziert mit der relativen entfernung des Nachbarpixel, damit die Kanten scharf bleiben), was natürlich sehr Rechenintensiv is.

Ich hab dann eine "Lightversion" geschrieben, man übergibt dem Shader jetzt 3 Texturen, eine scharfe, eine unscharfe und eben die Tiefentextur. Zusätzlich natürlich auch eine Fokusreichweite.
(Das unscharfe Bild muss man leider in einem extra Shader vorher berechen, damits was gleich schaut)

Damit wird das Bild dann einfach zusammen gemixt... je näher am Fokuswert desto mehr vom scharfen Bild... den Unterschied sieht man eigentlich kaum und wenn man gleichzeitig einen HDR Effekt drinnen hat spart man sich das nochmalige blurren.
Den Shader wendet man einfach an einem bildschirmfüllenden 2d-Quad an...

wegen der Demo:
spielbar is das Ding ja eigentlich schon (performance is jetzt dank culling > 100fps), aber Netzwerkfähigkeit hab ich noch keine drinnen, deshalb bin ich grad am implementieren eines Singlespieler-Prinzips, wo Ideen natürlich hilfreich wären...

mfG

Von Sven K. am 09.05.2005, 22:54:21 Uhr
Hi,

sieht echt hamma aus mit den Shadern. Weiter so und ich freue mich auf jeden auch auf eine Demo.

Ideen:
Da es ein FirstPersonShooter und für zwischendurch sein soll, würde ich folgendes sagen:
- SpawnPoints ohne SpawnTime
- Geplänkel wie in UT mit Punktelimit oder LastManStanding
- Waffen findet man auf Plattformen
- ...

mfG
Sven

Von matrian am 09.05.2005, 23:06:34 Uhr
ist mal ne ganz neue idee!
TOLL!!!
weiter so!

Von Lord Delvin am 10.05.2005, 13:56:42 Uhr
@Strahlenwaffen: Gravitation geht mit der Masse der beiden Bettroffenen Körpern und dem Abstand². Strahlenwaffen haben die Eigenschaft einer vernachlässigbaren Masse. Wenn die Gravitation also eh gering ist, dann kann ich die daraus resultierende Kraft auch vernachlässigen. Außerdem bewegen sich Partikel einer Strahlenwaffe traditionell eher schnell, also würde die Ablenkung aus der Ursprünglichen richtung sehr gering sien. Mathematisch gesehen würde es zwar auch dazu führen, dass diese Partikel auf einer Kreisbahn landen, allerdings wären sie zu weit von den Spielern weg um sie zu verletzen...zumindest die meiste Zeit. Ich würd' halt einfach irgendwelche Waffen mit Partikeln der Masse 0 einfügen um das Problem zu lösen und alle Waffen mit einer Masse ‡ 0 nach einer Zeit irgendwie kaputtgehen lassen, sei es, dass sie verschwinden, sei es, dass sie explodieren(ich hab das Probelm in meinem Spiel auch schon gehabt;) )

@fimbo:
Wie schaffst du's eigentlich bei so vielen Lichtquellen noch einigermaßen performant zu bleiben? Oder ist bei dir nicht jeder dieser "Sterne" eine Lichtquelle?

mit freundlichen Grüßen
Lord Delvin

Von fimbo am 10.05.2005, 14:25:43 Uhr
@Strahlenwaffen:
Das werd ich sicher noch in die erste Demo einbauen, und die "Massenwaffen" werd ich energetisch immer kleiner machen was bedeuted dass sie irgendwann im mittleren Massenpunkt verschwinden, irgendwie mit einem Effekt begleited...

@Lichtquellen
Das mit den Lichtquellen kommt leider auf den Screenshots nicht wirklich raus. Per Pixel wird nur die letzte abgefeuerte Masse berechnet inkl bump mapping usw, mehr als 5 Lichtquellen würde kein System mehr vertragen, aber durch das Dynamic Enviroment Mapping, wird trotzdem jede Lichtquelle auf den Oberflächen gespiegelt, mit einer zusätzlichen Blur CubeMapp könnte man auch diffuse light simulieren, is dann natürlich in keiner Weise exakt aber der Effekt würde annähernd glaubhaft rüber kommen. Bis jetzt schaut das ganze bei einer dunklen Environmentmap folgendermaßen aus:
http://www.surface.at/tom/gravity_detail.jpg

Von Peter Müller am 20.05.2005, 10:09:25 Uhr
Wow sieht klasse aus, freue mich auf eine Demo

Von fimbo_ am 31.08.2005, 15:05:34 Uhr
Im Sommer hatte ich jetzt ein bißchen Zeit um das Projekt weiterzubringen, im September sollte es dann ein Demo geben, bis dahin mal ein Video und ein paar Infos, Seite wird oft aktualisiert...

http://www.surface.at/wiki/index.php/Gravity_Demo

Von Cobi am 28.10.2005, 14:55:59 Uhr
Die Release-Verzögerungen wirken jetzt zumindest auch schon so professionell wie das Spiel selbst ^^
Sieht aber wirklich hammer aus, hab mir das Video angesehen und wollte einfach nur die Maus in die Hand nehmen und selber rumhüpfen.