Aug 25, 2010 - Editor features


New features added to Glow engine editor during last week. Previously, all level geometry was created in 3ds max and imported into game engine. It’s not convenient (and not cheap) way of editing game level, so development of Editor was started.

After week it has next features - drag and drop meshes from Explorer (currently OBJ format, more later), simple Asset manager, executed as job (in parallel thread), so parsing 3d meshes will not stop UI.

Also Undo/Redo is implemented ( with boost functors ). Currently it works for move/rotate/scale, delete/insert, select. Objects can be linked to landscape, so, for example, building and trees will be always on the ground. Rotation, movement will be in local or world coordinate system.

Next things to implement: building level, attaching scripts to objects, assigning materials by drag and drop from Windows Explorer.

Aug 5, 2010 - Quternion trick

Long time ago i wrote function, which creates quaternion for rotation from 0,0,1 to any unit vector. Function was very long, contained asin, acos, several conditions etc… So today i returned and after some time: dir should be unit

void Quaternion::from_direction(const vec3 dir){
	x = dir.y;
	y = -dir.x;  z = 0;
	w = 1 + dir.z; // simplified dot product with 0,0,1
	normalize();
}

Aug 3, 2010 - Editor UI

Finally returned to editor development. Editor UI will be written by Lua scripts. I started my UI from simple and usable source of Recast library, For example, button usage:

if ( imguiButton("Start game") )
	LoadLevel("super-duper mega Quake level.mdl")

this is button creation, displaying and logic in one place. After years on Windows it was amazing! I mapped API into Lua script language by luabind library, and now UI script code looks like here:

if object_selected
	rollout( "Object", 0, 0, width, height )
	show_object_properties()
if  collapse("physics", true, true)
	show_physics_properties()
if  collapse("visual", true, true)
	show_visual_properties()
if  collapse("script", true, true)
	show_object_script()
end_rollout()

Jul 28, 2010 - The new site.

I prepared site for the engine: www.glow3d.com 3 days with CSS, html and Photoshop.

Jul 22, 2010 - Feature list

I made the presentation of engine features. It can be viewed here

Jul 7, 2010 - Refactoring

I spent a month on refactoring of engine. It’s became so big, I can not serve it in my little brain.
So I detached it into small pieces, like physics, sound, networking, core, ai, ui, archive, prepared solid interface to access features of engine (which will be visible for users of engine). Also put all pieces into dll, and prepare abstract interface for every module to clearly isolate it.
Also the thread pool (boost::threadpool) is added to execute jobs from modules. So now engine will scale performance easily with more CPU cores.

Mar 12, 2010 - Streaming

To implement WebPlayer I had to implement streaming from Internet. Now it works, with additional layer for loading data.
Several types of data sources are supported: 1) usual file system 2) zip files 3) files from inet (http, ftp)
Last thing to implement - installer for ActiveX. I haven’t decided yet, how to install it properly - by separate msi installer, or as usual ActiveX, by services of browser.

Feb 2, 2010 - WebPlayer!

Today I started development of the WebPlayer for Glow engine, and already have results! ActiveX, based on ATL is created, engine is attached, and all it successfully tested in the Test Container. Now it works only for Internet Explorer, later I will test Firefox and Chrome.

Feb 1, 2010 - Water


First tests with water. It’s based on the article from GPU Gems 2.
2 pass rendering:
1) render all without water - refraction pass 2) copy image to refraction map 3) render all from “reflected” camera position - reflect camera position relative to water plane 4) copy image to reflection map 5) render water with reflection and refraction map

Jan 11, 2010 - comments for my game from IGF judges

Here is comments for my game from IGF judges. Completely correct, I just spent more time on a graphics and programming than on game play and level.
so -> more game play and play testing, fresh ideas, design documents etc
Comments:

wow… I can’t say I was expecting this. Fantastic opening intro with the ‘kids’ drawings. Very powerful!!!! It is very immersive.
Unfortunately the 3D world is poor, level design & use of lighting (both for Art + guide the player) are poor, and I think it would have desrved a better visual environment (it could have been isometric). I think interactions need to be facilitated in this type of games.



The introduction to this game was terrific and set a great vibe. Unfortunately the game itself didn’t really follow through on this.

Visual art rated low mostly because of the level design - I found it extremely difficult to navigate the level, and points of interest were not at all clear. Would also have been nice to see the two important states of my family reflected on their bodies rather than via meters on screen (although the meters are also necessary).

Audio was not used to indicate the positions of interesting things, either - humans came up and attacked and I had no idea they were there until they were hitting me, and I had very little awareness of where my family members were.




The opening sequence is great, but the game loses steam after that. After the intro, I was expecting something sillier and more playful. Cow-slapping is fun and all, but it only goes so far. If the game harnessed more of the puckishness on display in the intro, it would be more appealing.