October 26, 2008

The Final Demonstration



Final presentation capture for major project, 2008.

Journey throught the void on the back of a giant turtle, your spirit guide. A compainion in the dark. Explore the mysterious landscape and steer the turtle throught the void.

My concept was about a relaxing, non-confrontational environment similar to Myst. It was built on metaphors of dreaming and meditation, the idea of seeking some kind of enligtenment.

the vimeo convert has made it a bit to dark. im going to recompose a more coimplete video for the portfolio/exibition

October 16, 2008

The Compass

A visual metaphor for navigating the journey of the soul


This is an idea ive been working on for the HUD. It had to be minimalistic and meaningfull and after watching The Golden Compass on DVD, it seemed obvious.

A single 3D model with a white emmisive material to overlay on the Viewport which would be the players only means of navigation and information. The compass would rotate and chage perspective accoding to the players viewpoint to the turtle

These are just Blender Renders. Actualy programming in a second Scene Manager and Viewport and Camera proved difficult. Ogre will not let a Viewport be transparent to the Viewport would have to be rendered to a texture and set to Additive colour mode. Working on solutions now..?

Progressing..

Here are some screen shots of testing the lighting setup. The process will be two fold baking the light in blender then placing lights in the OGRE engine (using blender coord. space) to actualy light the geometry.

The scene unshaded

Using Shift-P for blenders render preview window


I render out wire frame previews for generating mapping ideas

There are two main light sources. The warm toned 'Heart light' (which has a subtle heartbeat sfx to go with it) and the 'Leading light' which is a bright blue. Then there are the lamp post which follow the paths around.

October 12, 2008

The Compositing engine

After several failed attempts(im not sure why), iv finaly got the basic post compositor effects working in OGREs real time 3D engine.

This with a Radial blur and an Invert filter applied



Then the Invert filter with Black and white



After that i turned off the skybox and changed the background and fog colour to white (which switches to black) and got a similar effect to the Z depth rendering tests done with blenders composite nodes here:
Composite nodes post

October 07, 2008

First demo - Travels Through the Void


this is what was playing on the psp

After about seven months of work on this project, its finaly delivering what i first dreamed it could. This clip demonstrates the engine working, as well as some of its nicer features like fog, particles, billboards and lighttrails. Also working is the irrKlang sound engine providing 3D placed sound in real time.

Things to be worked on:
OGREs post compositing - I want HDR styled lighting
Tweaking and improveing the basic animations and sound
More environment - more level design

I also plan to prepare a Blender scene to demonstrate a gameplay concept using its easy node based realtime functions.

A cheeky idea!

While i wait for my fist fraps capture to upload i though i would just show off this idea.

Im going to load my final capture onto a PSP as a movie clip and move the buttons to look like its being played. This is to satisfiy the expectation that i can demonstrate it in use, that it could have some place in the games and entertainment industry.

Controling particles

Particles are very cool and alot of fun to play with. I decided along time ago that particles would play a key part in my environment. I just wasn't sure how?...

Now i have control and can manipulate them as needed using the OGRE community's Particle Editor to load and tweak the appearance in real time. This comes with flaws as the Particle Editior version i use is unstable and crashes with odd values. So i test in the Editior and tweak and refine them in the particle script files using a text editor.





This is the final particle

If you don't understand the imagery;
The concept is like a donkey and carrot. The turtle is your spirit guide, who consumes stars for energy. Eventually this 'mechanism' would steer the turtle through the void.

Thinking about effects and presentation

One effect that is very usefull in many projects is z depth. Using a z Depth mask will allow you to post produce different effects like depth of field and adjust values by their distance from the camera.

I am thinking of using the z depth from blender to make some of my credits/cutscenes. Here are a few test renders:



To get a Z Depth render out of Blender:
First open a node editor window, swith from material to scene nodes and then click the Use Nodes button. After this you will be presented with a rendered node and a composite view node. Setup the nodes to link as follows and tweak the Offset and Size values of the Value Map node

October 01, 2008

Making a sound scape

Making music
My first attempts to create an ambient sound lead me to midi and to Apples Garage Band. I learn to tweak instruments to create xylophone style sounds and used the keypad keyboard function to compose it.

After several attempts with Adobes, Audition and SoundBooth (which can even mix tracks?) to create the right formats i began to think about what my project brief insinuated: 'open source and free software will solve it' so i remembered Audacity.
Problem solved.
AudaCity

Creating sound in Audacity

After my effects were mixed and converted to the vorbis ogg format it was back back into Code Blocks to 'paste' it into the 3D landscape. My first problems, the irrKlang engine would not immediately recognize where the OGRE camera was so it was back to the code to link it to the cameras position and orientation,

Vector3 cp = mCamera->getPosition();
cmX = cp.x;
cmY = cp.y;
cmZ = cp.z;
irrklang::vec3df position(cmX,cmY,cmZ); // position of the listener
irrklang::vec3df lookDirection(10,0,10); // the direction the listener looks into
irrklang::vec3df velPerSecond(0,0,0); // only relevant for doppler effects
irrklang::vec3df upVector(0,1,0); // where 'up' is in your 3D scene

engine->setListenerPosition(position, lookDirection, velPerSecond, upVector);
and then it was just a matter of tweaking sound values in space.
ISound* music2 = engine->play3D("../../media/sounds/fireloop.ogg", vec3df(210, 30, -30), true, false, true);
music2->setVolume(120.0f);
music2->setMinDistance(40.0f);