Torsion (Space Warp Gameplay Prototype)

Started by
11 comments, last by kudi 12 years, 9 months ago
Best viewed in HD


This is a gameplay prototype that I've been working on for several weeks about one year ago. The player is given the ability to perturb space by placing two warp anchors anywhere in the world, bending the space in-between those anchors. Space warping also affects physics, which may be used to make objects roll off perturbed surfaces, bridge gaps etc.
The prototype was built on top of my engine/framework/sandbox called breeze that takes care of the scene management and rendering (using DirectX 9), physics simulation is delegated to PhysX. The engine also features an advanced shader framework that extends HLSL FX files to whole rendering scripts, making general shader as well as post-processing development as easy as annotating the corresponding shader code. However, due to my very limited resources (especially time) throughout the last year, graphics are rather minimal, although featuring a very subtle SSAO shader, HDR rendering, faked god rays and parallel-split shadow mapping.

This demo was originally developed in about two week's evenings to be shown and played at Devmania 2010 (a German hobbyist gamedev meeting). By that time, I had already tested the basic mechanics and physics by hacking them into some of my previous demo applications, so remaining work was basically about introducing some object interaction (triggers / switches / moving staircases / cube dispensers) and primitive level editing (with levels being built in XML via text editor; really painful!).
Realizing the idea of warped space turned out to be quite demanding, especially using a third-party physics library (PhysX) that was actually built to simulate realistic (and mostly linear!) physics, but was certainly never meant to support the implementation of arbitrary new fictional laws in perturbed space. In the end, getting the movement and physics right involved a lot of maths, creativity and approximative hacking that made physical actors act just close enough to what would be expected. The graphical part was much easier to implement, there, warping is basically just a vertex shader displacement, requiring objects to be evenly tesselated.

So that's it for now, make sure you have seen the VIDEO, as the effect is rather hard to understand or even notice in still frames. For more information on this and other projects, follow this link to my website alphanew.net. Besides, I have only very recently joined the Twitter network (@alphanew), feel free to become a follower, if you're interest in my daily findings and annoyances regarding real-time graphics and other development.

Click here to view the iotd
alphanew.net (last updated 2011-06-26) | [twitter]alphanew[/twitter]
Advertisement
That is quite a refreshing idea. Reminds me of Portal, meaning: with a elaborate level design this could give a nice gaming experience.

Congrats (not only, of course) on the math part, looks tricky.
Innovative and impressive. I really like the idea behind it. How did you get PhysX to actually simulate warped physics? How would the graphical part work with complex geometry / "not-programmer-art"? I imagine normal mapping and the like to get into trouble here a little. However, nice work so far!
Looks cool! I think the graphical style actually works quite well and complement the surrealistic game play. It looks like coming up with compelling puzzles will be challenging, though.
That's a totally out of this world idea!

I can certainly appreciate how difficult it must have ben to pull it off - well done!
"In order to understand recursion, you must first understand recursion."
My website dedicated to sorting algorithms
Wow, just brilliant!!!

I hope this gets somewhere, it certainly has the potential. I'll be keeping an eye on this.

How did you get PhysX to actually simulate warped physics? How would the graphical part work with complex geometry / "not-programmer-art"? I imagine normal mapping and the like to get into trouble here a little.[/quote]
Most of the time, it all comes down to lots of linerarization, linear approximation, orthogonalization and back-and forth transformation. When the idea first came to my mind, I myself had no idea of how to realize these mechanics or even of how it would actually look, so I was quite surprised that I was able to boil it down to some nice recurring basic principles eventually. I have yet to apply the effects to more sophisticated artwork, but I don't expect major difficulties as long as everything is nicely tessellated (which even in the video above, some things are not, e.g. the houses).
Even normal mapping should not be too difficult to implement using the developed set of basic principles, at least as long as transformations are performed per-vertex. Pixel-perfect perturbation would probably be a bit too expensive, but might also be possible on high-end hardware.

Thank you for your positive feedback so far.

It looks like coming up with compelling puzzles will be challenging, though.[/quote]
Sadly, that might be quite right. Although I have been collecting a couple of ideas throughout this last year of rather 'passive development' (read: inactivity due to lots of other tasks), that are not yet shown in the above video, I cannot say for sure that I will eventually be able to turn this whole project into something that is actually fun. In previous prototype iterations, the mechanics proved to be quite useful in urban-style environments, so I might re-evaluate that direction at some later point. Apart from that, I also have in mind a slight change of the actual warp mechanics to something less similar to the one known from portals, maybe even involving layering of multiple (more permanent) warps.
alphanew.net (last updated 2011-06-26) | [twitter]alphanew[/twitter]
I like how you did warp the physics, it really makes the whole design work. Keep on going! If this ever comes to a full release I'll be sure to buy it :)
If I've helped you in any way please push the reputation button, thanks!

Abstraction is my choice of words.
Portfolio: http://www.0x3a.com/
Blog: http://blog.0x3a.com/
That's looking funny! :)
That's stunning work :blink:! I like the graphics style, suits the game play. As for coming up with challenging puzzles, I think their easier to come up with if the player's position is unaffected by the space warps. Warping space could make you fall down then.

Again, great work.

This topic is closed to new replies.

Advertisement