Synesthetic Dream Hits Vertical Slice!

Synesthetic Dream, a game that my team, People’s Choice, have been developing at the Guildhall has just reached vertical slice! So far, it is looking quite groovy but there is still so much work we must do before we hit alpha. A lot of the core mechanics have been implemented and can be seen in the video, including the rhythm mechanics and all the various types of platforms.

We have different shaders applied to the various synesthetic levels of the player. If you look closely, the saturation shifts towards the beat and it increases as you become closer to the final level. There is also depth-of-field applied in the post-processing chain, which brings the focus to the playable area.

Video Encoder for Youtube/Vimeo

Oftentimes, I’ll finish recording a screen-cap video using FRAPS and then would proceed to upload it onto YouTube or Vimeo. However, the file-size of the raw video might be too huge or Youtube might use a bad video encoder to compress your video.

I’ve been scouring the interwebs, trying to find a simple app that would just allow me to convert my videos to the compression scheme that’s recommended for YouTube and Vimeo. I couldn’t find one that was simple to use so I decide to code my own.

Over the weekend, I made a small app that handles exporting videos to standard-definition and high-definition compression schemes. I designed the app to be simple to use and minimalistic in it’s interface. It simply loads the source video file and exports it out with the settings you choose. This application is basically a GUI wrapper around ffmpeg, which is the true guts of my video converter.

It uses the h.264 encoder (sometimes referred as mp4) to encode the video and AAC (short for advanced audio codec) to encode the audio. The encoder is very efficient in memory while maintaining high quality.

So enjoy. And please let me know if you have any questions or if there is any issues with the software. You can view a sample of an uploaded video that used my video converter here.

Here is a sample video which used my converter.

[ Download (3.2 mb) ]

Real-Time Grass Video

I finally got around to posting a video of the current progress. So far the project is going quite swimmingly, if I do say so myself. One thing I want to say is that I am amazed on the sheer power of the GPU’s geometry shader. I had no idea it was able to generate so many vertices at such interactive speeds. Each of the blades that are rendered is being generated procedurally in the geometry shader given only root positions, which is passed in the vertex buffer. Currently I render about 40,000 blades of grass at a solid FPS of 50FPS.

The swaying of the grass is being modeled by simple oscillators such as sine and cosine. There currently is no interaction that the player can have with the grass. However, my next step is to allow the user to affect the wind conditions of the scene. The wind condition vectors will be modeled using Navier-Stokes equations. Hopefully it comes out as cool as I see it in my mind’s eye. Stay tuned.

Master’s Thesis: Real-Time Grass Rendering

Grass is the most prevalent form of vegetation on the Earth’s surface. Thus, it is an essential element in rendering realistic outdoor scenes. But due to the geometric complexity of grass, rendering it realistically in real-time can be difficult and computationally expensive. Furthermore, to produce life-like representations of grass requires faithful physical simulations of movement provided by wind currents.

Ticking away are the moments that make up my final months in graduate school. And as my academic career winds to a conclusion,  I’ve been working hard and coding away at my master’s thesis project. My master’s thesis is all about discovering and implementing an algorithm to render luscious grass in real-time. My ultimate goal is to have hyper-realistic fields grass all over the place and all up in yo’ face!

Above is a screenshot I took of the current state of my project. It looks quite groovy so far, but my journey has just begun.

Navier-Stokes Fluid Dynamics

Above is a video of a particle system driven by fluid dynamics that I developed in conjunction with my dear-old Dominican friend Manny Fernandez. The physics of this application is simulated using Navier-Stokes equations.

The Navier-Stokes equations are really quite groovy because they describe the physical properties behind fluid substances, from water and air currents to the motion of stars swirling inside a galaxy. Navier-Stokes is also used as the basis for weather forecasts. If you are interested in this learning more about this physics trickery, Jos Stam gave a great GDC talk about it.

The particle system application is coded in C++ and uses OpenGL/GLUT to render 40,000 particles. Given the vast amount of particles, we decided to take a multi-threaded approach to fork the work into several threads, with each thread handling a block of particles.

The source code is available for those who are interested. It’s public domain goodness.

[ Source Code ]

ArmorGames.com Sponsors Wasabi!

Wasabi was recently picked up and sponsored by the fantabulous Flash-portal site, ArmorGames. Thanks to all of you who play-tested my game and provided me with such great in-depth feedback on the gameplay. Without your love and funkitude, this game wouldn’t have been what it is today.

And if I ever see you internet folks in real-life, remind me to give you a high-five! You are all wonderful people.

[ Play Wasabi at ArmorGames! ]

Fembot

Above is a video of the Fembot 3ds-Max model which is being rendered by my 3D-engine. I coded a custom plugin for Autodesk’s 3dsMax that exports 3D models out to my own custom format (XML based). My 3D-engine then reads my custom format and correctly imports it into my engine to be rendered in all its glory.

The model uses simple phong lighting and specular highlights to achieve the glossy look. The yellow-blueish tone is achieved by using the coefficient from the phong lighting (n-dot-L) and interpolating between two colors (yellow and blue); this technique is also known as Gooch shading. According to the Gooch model, colors range from cool tones to warm tones rather than dark to light, thus giving it an appearance of ambient lighting.

[ Large Rendered Image ] 1920×1080 PNG


© Copyright 2012 Illogic Tree | Powered by WordPress | Theme by Zidalgo | Log in