December 14, 2008

Processing

While not a complete solution to a project, processing offers alot in terms of education and experience and is presented as an Electronic Sketch Book for testing ideas.

The founation of processing is the unification of design and art skills with programming principals to create a truly Digital and Dynamic form of Art.

Just Thinking...

After attending a lecture by Gino Acevedo, weta digital and shop, i came away with one realy important motivtion. I need to learn biology.

The study of living things. This is a keystone to succesful and natural feeling projects and will implications for all areas of the design. These include issues like the unnacany vally, the 'not real enough because we see it every day and we know how it should look and i doesnt quite look like that' as well as fluid, natural motions and procedurally styled content. So i begin at the easyiset source of all digital information. The wiki:

Biology (from Greek βιολογία - βίος, bios, "life"; -λογία, -logia) is the study of life and a branch of the natural sciences which studies living organisms and how they interact with each other and their environment.
It examines the structure, function, growth, origin, evolution, and distribution of living things.
Also, it classifies and describes organisms, their functions, and how species come into existence. Four unifying principles form the foundation of modern biology: cell theory, evolution, genetics and homeostasis.

All of this interests me and provides strong foundations for the themes and structure of my next project. The next step is to choose a platform to target....

Options include OGRE, XNA, and Processing as well as Adobe Director

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);

September 30, 2008

Solved!

After a frustrating few weeks i put my project out to the OGRE forums to generate a bit of support and interest from the community. In about three days i got about seven or eight replys. One said i should try irr Klang, a sound engine i had considered early in the project (to use with the IrrLicht 3D engine).





irrKlang

Five miniuts after downloading and six lines of code later and it works. No errors and no odd behavior. Succcess!

#include
#include
using namespace irrklang;

#pragma comment(lib, "irrKlang.lib")

ISoundEngine* engine = createIrrKlangDevice();
ISound* music = engine->play3D("../../media/sound.mp3", vec3df(0,0,0), true, false, true);


Next is Fraps captures and working on better 3D sound, thankyou to all the people who gave feed back, and especialy to the person who suggested IrrKlang.

The license is free for non-commercial use so this also fits my project outcome.

September 27, 2008

My Biggest Problem..

SOUND!

Ive been tring my best to find a sound library i can use to get live sound in my application. I have to obstacles in completing this task. I just learned programming, and specificaly c++, this year and what seems like a simple exerscise, copying the examples for the sound librarys, never turns out so. Their are always linking, unknown symbol or compliling errors.

I have been working with and testing all the options i can find. These two are the best options and are, in my own opinion, my best chance to get any sound working winthin the next two weeks...

OGRE Ogg

And this: Open Frameworks
a close relative to Processing

After innitial problems with the prereleased version of O.F., i found that if i included all the code structure from the example project into my own, that the errors were changing and decreasing. My only problem was that there were alot of them and i ran out of time and had to head to work. Will go back as soon as possable to try again (its a painfully slow process of trial and error).

any suggestions from the ogre community would be appreciated?..

New Screens

Only three weeks to go! Here are a few screen shoots from the latest version.






After the initial tests i also began to add more bones and weights for a more fluid, dynamic animations. Here is the new bones in the whiskers.


Things to think about and push toward now:
A feeling of movement through the void.
Interactive elements, more animation and key listeners.
Re-evaluate the lighting setup & env. fog.
Particles, setting up and using OGREs particle plugin for maximum control.
A greater sense of space, (my holistic strategy) including 3D sound...

September 26, 2008

Upgrading the sky box

My concept is Travels through the void so i began to think about what a void would be. The needs to be a sense of orientation, but also of infinity. Seeing as this is taking place in a 'dream scape', i also tried to incorporate cloud textures.

The Blender scene with cube for an environment map (each tile being 1024x1024).


And the exported Env. map:

September 23, 2008

Moving along

Heres a few pics from my latest work.
The engine is now working quite stably but i have no knoledge of how to use Scene Managers so im starting to quickly reach my performance limits...



Starting to add bone for the animation


Into OGRE and some real time screenshots



Iv got the blender sketeton animations exported into OGREs .skeleton format, seen here with the flaping fins of the turtle



September 20, 2008

Concept - Travels through the Void

As i developed my metaphor for a dreamscape/meditation environment i was lead to the idea of floating islands. I would imagine a persons consciousness to be something like an island, remote yet surrounded by others and all connected by the same ocean.

At this point i would be looking to make a Myst type of experience, slow and thought full. But this does not complete as it would appear as 'just another island'

Their had to be a larger experience, a journey of enlightenment. Enter A'tuin, a tribute to terry Pratchett's amazing disk world. I liked the idea of a giant turtle. Instead of an island, the landscape can be the back of the turtle.

My Current Concept
Journey through the void on the back of a giant god-turtle island. This will resemble a giant ship which you (the enlightened spirit) will steer through the void of thoughts to its 'destination'. The turtle will feed and grow on stars for energy, a core part of game play.

This will be a mix of an Adventure Puzzle game. I hope to add a Gardening Sim paradigm and also action elements as well.

September 18, 2008

OUTCOMES

1 - A working 'interactive 3D’ framework (OGRE)
With a modulative design structure allowing for easy expansion and iteration
2 - A graphics pipeline for 2D and 3D art work
Including Models, Texture effects, particles, billboards, sky boxes, post comping effects(and hopefully basic animation.?)
3 - Interactive features
Including basic user input calls (with keyboard), and Easter eggs
4 - A prototyped concept of ‘game play’
In a demonstration or scenario
5 - A serious understanding and appreciation of what it takes to design and implement interactive and game technologies in 3D
6 - To demonstrate Open Source and free software technology, in all its grandure
The advantages it offers to begging and independant developers

Creating a 'Game'

My project will be a Software Toy.
Somthing for people to play with and that demonstrates the functions and my creative directions and intentions for the project as well as my skills in developing product for this environment.

When i began my conceptual work, my first problem was: What makes a Game? What components would it need? How would it function?

A game is a very complex mix of programming and graphical assets that have to work in harmony to produce many different results from simulation to immersion to balanced action. Considerations for such a project must be of a 'Wholistic nature' if the product is to be cohesive. This lead me to create a graphical map of where the different aspects were in relation to each other.



From this i layed out my timeline for the next ten weeks. The most important and initial descisions would be the concept as this would effect all other development areas. The mechanic is the middle layer, developed for the concept and driving the presentation layer. Looking at this, it may be possable to have only a skeleton Mechanical layer and work heavily on the front end (as my degree is a visual design one, not comp. science).

This lead me to explore the ideas of Prototyping.
How much can i finish in time?...

September 17, 2008

Beginning to model in Blender

Blender is an open source 3D modeling ans animation tool. Iv had about four years experience working with blender but have nevr had the chance to use it as the primary tool, maya being the uni's preferd option (i dont know why, their cheap bastards)

I hope to use Blender as not only the modeler and animator but also as a whole world editing package. Space in blender directly relats to OGRE space.
Blender ME -> Mesh model, relative space to origin
Blender OB -> Object node, equal to OGRE Scene Node

Creating a skybox:


This uses a cube placed in the middle to render out a hi-res environment map

Shadow baking has become an important technique in minimising the frame rendering time and adding that bit more realism


These are the logic blocks that allow for fast prototyping in blenders game engine.


This is a 'flight simulator' i made in my initial test phase.


While the engine lacks the features of its bigger counterparts, like any real time shadowing, the joy of creating and playing to my own rules was definatly a big sell. As blender improves, so to, i hope, will the engine. This is further fueled by the upcoming release of APRICOT, blenders first free game initative.

September 15, 2008

An Open Source, working pipeline

I am a student. Life is expensive.
I need to be able to get my hands on industry level technology without restricions and barriers. I choose to trust in, and use this level of sofware because...

1. I believe in the ideals of free education and software. Free and open access to the worlds information.
2. I believe this is a good future for 3D and digital entertainment design.
3. I would like to join, be involved, and give back to this steady growing community.

After lots of problem solving and headaches, here is my tested and (reasonably) trusted asset pipeline:

A real time 3D engine...

OGRE
OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilising hardware-accelerated 3D graphics. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes

After much research and experimentation, i was left with the following options.
1. Blenders inbuilt game engine
2. microsofts XNA studio
3. OGRE
4. Crystal space
5. IRR licht

Why did i choose OGRE?
Of all my options, OGRE stood out as being well designed and documented both its API and in its forums and tutorials. It was also, hands down, more immpressive than the other open source equevalents.

To get this project off the ground i would need a healthy understanding of C++ programming which i have had almost no practice of training in. I began with introductory books and then moved on to more specific references like this one:



After being able to understand the code and function calls, i was able to begin to create working prototypes. But first i would need my own assets

September 14, 2008

My Concept

Digital Meditation
This is a title for the overall researh project

My design strategy aims to be relaxing and thoughtful for the user, with consideration to visual, sound and dynamic quality to positively effect the users state of mind, using abstract and organic features, visual metaphors, and a dynamic too encourage creative and explorative behavior.

For my Concept development am using a metaphor of ‘the human mindscape’ as a rhetorical strategy in driving my visual development.

Header concept:


Begining Imagery:

September 13, 2008

What are Interactive Visuals?

I love 3D, i also love interactivity and motion graphics. These passions are what drive me in Design.

I want to create fun, stimulating and generaly immersive experiences for people. This has lead me to look at, and play with, things like Flash, Processing and Blenders game engine

All these were awsome tools but they never lived up to my dream of full 3D support. This kind of technology would let me push the boundarys of my imagination in an immersive environment. I would be able to visualise and present my ideas not only interactivly, but in a rich and complex environment.

That was my dream, november 2007, as i began planning for my Major Project, the last paper in my four year degree.

Skip foward ten months.
Ive just presented my first working protoype to my lecturers.
Ive spent the last last ten months planning and researching and iv put into place a rapid learning strategy to bring me up to scratch on the appaent C++ skills i would need to suceed in this project. And now its all coming together...

March 05, 2008

The Beginning

Hi all
This is, what i hope to be, the main point of focus for my work and experiments for the completion of my degree this year. And maybe far into the future. Come back soon.