Saturday, December 26, 2009

Progress!

I just thought it would be neat to post some very early progress screenshots from early early Gozak development when the project was completely fresh without much direction.

Pre-texturing:





Early Texturing, Before Z ordering:



First GUI Object test:





Wednesday, December 23, 2009

Updated Force Triggers

Updated force triggers to only push the player if he is already moving roughly in the direction of the trigger itself.



Tuesday, December 22, 2009

Force Triggers

Added force triggers. These are standard triggers that can apply force to any object defined by a collision mask.

As triggers are invisible the video below was recorded with debug rendering turned on.

The video shows one possible use for force triggers.



The eyes! They follow!

Created a dummy sprite for in game objects like the Cabbage and anything that has little to no AI involved.

As you can see the dummy sprites support eye movement and tracking. The cabbage thingy's eyes follow Gozak in the video.





Monday, December 21, 2009

Pressure Buttons Video

New footage of pressure sensitive button.



Thursday, December 17, 2009

Pushable Buttons

Started physics based buttons!

Pressure sensitive button shown here activates the "lift". These are both temporary objects and are rendered only in debug view, hence the weird outlines and lack of graphics for the button and lift.

Friday, December 11, 2009

Scrollbar Widget

Created a scrollbar widget to control window scrolling.

On the iPhone it will appear when the user clicks in the far right corner of the window.

On PC/Wii it will appear (or become less transparent/translucent) on mouse over.


GUI and Windowing

Hammered out some basic Windowing code, complete with proper culling/clipping and scrolling. The scroll bar is not yet being rendered but it is active.

I am using the scroll bar area on the right of the window to scroll in the video.

I may use a background texture for windows later, not sure exactly what style I will go for.


Wednesday, December 9, 2009

Physics Test

Just playing with physics, water and friction. Hoorj!


On a different note I really need to purchase SnapZ as my trial has run out =/


Tuesday, December 8, 2009

Optimization

Today I've been working a bit on the Scene manager code that is responsible for ticking, and rendering everything in the scene.

I have added a few simple optimizations that prevent off-screen objects from rendering and give objects in the scene a chance to have a "low power" tick function that is called when they are far enough off screen that they won't be seen in a few frames. This allows for a "rest" state to be achieved for power consuming objects like physics objects and water.

To facilitate these changes the Animation code needed to be extended to import bounding frames from the models which define the maximum area that the animation may take up. The Scene manager uses these frames to determine when something is on screen or not.

Monday, December 7, 2009

Export/Import Breakthrough

This isn't a very visual triumph, but I managed to get user defined properties exporting as key/value pairs that are read in with the level. You can define a few things now like friction of an individual surface and the amount that a camera frame zooms in when you enter it.


Failed Water

So far I can't get water to react exactly the way I would like.

For now I am going to scrap development on moving water surfaces and may resurrect it later. I need to proceed with more important game elements.

For this new code to look correct water will need to be rendered differently and potentially in a very bad-for-performance way that would not be a great idea on the iPhone.

Here is how it is looking at this stage:



Water Surfaces

Took a stab at water surfaces. Working fairly well so far, but no sprite collision detection yet. (Coming soon!)

The surface movement is highly dampened so the flow dies out quickly in the video. The dampening is required to prevent strange behaviour once there is real collision detection involved.



Friday, December 4, 2009

Water Blocks

Started basic water blocks. Entering a water area applies force dampening and a bit of upwards "float" force.

Eventually there will be textures for water body, and an animated texture for the surface of the water. Water will splash when sprites enter, and Gozak will be able to drive along the surface of the water if moving fast enough.





Text Centering

More on text rendering! The most exciting part of game development! (not!) So I've created basic text centering. It uses the same method of scanning ahead on the fly to determine line breaks and line width, then creates an offset every line.

I intend to write a class that can prepare blocks of text for rendering given a maximum width and height. This will greatly speed up the text rendering functions and will also allow for special sizing of GUI objects that rely on the final rendered text width and height to size themselves. (Like the Speech Bubbles for instance).



Wednesday, December 2, 2009

Quick Font Update

Updated the hand-drawn font to minimize whitespace between characters.


Speech Bubbles

Started basic speech bubbles. Nothing fancy yet. Will eventually support rounded corners, images and text centering.

Shown here in red because white wouldn't show up on a white background!



Tuesday, December 1, 2009

More Font

Added small letters and limited punctuation to handwriting font.

Needs some kerning! Maybe later.






Test Font

Started simple hand-drawn font for billboard signs. Capital letters only so far, small letters and symbols to come!






Wrapped Text

Added some quick text-wrapping code with fast word prediction, and set up some error traps to avoid rendering malformed strings.