Saturday, 18 September 2010

Slow Progress

Hello fellow readers and future fans of our games,

the pace of the development was increasing ever since releasing the two beta versions but for the past week it has come to a stop. this is because i'm having to revise some maths before starting my degree (which starts a week on Monday).

Now i have an ever increasing to do list (which includes major areas, like the path finding, finishing the networking and adding the story screens) and no time to actually get round to shortening it. The plan is to spend a few hours a week and polish what i have and not add anything extra. So, i hope to release the first episode by the end of this year. If i have time then i hope to get the LPV working for this game, which should make it look a little nicer.

Episode 1 will contain:
- 12 single player levels
- 2 multiplayer modes (but no dedicated servers for this version).
- 3 elements
- An actual story
- Unique content, rather than things ripped from other games :P

It'll be available for both PC and X360.

Well, now back to playing Halo Reach revising some maths.

Saturday, 4 September 2010

New Version of CodeName:Elemental | Beta 0.2


I have uploaded a new version of the game (CodeName:Elemental | Beta 0.2) that i'm working on. You can get the links to the downloads from this website: Again, i would greatly appreciate it if you could comment on the gameplay, suggest ways of bettering it, and if you come across any bugs then to report those too.

In the next release i hope to add the actual hidden level, which will be unlocked when all the beads have been collected. I also hope to add a working multiplayer mode.

Thanks and i hope you enjoy it!

P.S. Unfortunately you'll have to start over from the beginning; the old profiles won't work with the new game. In the next release i hope to solve that issue.

Sunday, 29 August 2010

Elemental Game | Beta v0.1


As promised, i'm releasing the beta version of the game so that we can get some constructive feedback on the gameplay. You can download it here if you would like the game and the necessary installers or you can download it from here if you only want the game (i.e. you already have DX, XNA 3.1 and .net 3.5 installed on your Windows computer).

We'll be releasing a few more levels to demonstrate 1 or 2 more elements and more interesting puzzles, in the next couple of weeks.

If you happen to find any bugs, crashes or you would like to suggest something then please go here and follow the link to the appropriate form.

Hope you enjoy the game and we are looking forward to your comments.

NOTE: This is not demonstrating the representation of the final look and feel of the game.

Saturday, 21 August 2010

Game Testing - Coming Soon

Sorry for not keeping the blog up to date, but we've been very busy and also have very lazy.

We'll be releasing a version of the game in the following week. This test version is mainly to see if people actually enjoy playing the game and get some feedback.

What you will get is a single player mode. We wanted to release a multiplayer mode too but the gameplay and editor integration has taken longer than we thought it would take. Hopefully with everyone's feedback we'll be able to release a good product and also get you guys a multiplayer mode, asap.

Don't give up hope yet, you will get to play and see for yourself all our hard work in the form of some bits and bites.

Have some flowers :)
Image Hosted by
By generalhank at 2010-08-21

Friday, 11 June 2010

A Very Long Video. Too Long.

Rejoice! The dry spell has ended! Yes I finally found time to post on the blog again after ages, so you imaginary souls who follow us may read and celebrate with wine and women. I have compiled a video of my work on the project so far, mostly for a portfolio to go along with my resume. Its a little longer than I'd like, but I didn't have much choice and I didn't have a good editor. Anyway here is the link, The video is 17 mins long and has the following parts:
The main video, the material editor, the bounding box editor, the navigation mesh editor and the particle editor.

The video quality is a little worse than i'd like but i might upload the original video to a file hosting service.

Thanks for your time everyone!

You have found this post, long overdue.

Saturday, 13 March 2010

Greetings! Stay a while and listen!

Greetings, Here i shamefully come insanely late to put my first post on the development blog of our game project. I am the self styled tools programmer among other things and my name is Yorrick Mendes and i've left my last job to work exclusively on this project for now. I worked with hank at our last company for quite a while and thats where this idea of creating a game started. 3 concepts later we are here with a concept that has had a good amount of positive feedback from people whos opinions i respect a lot. As of now since hank has been showing off the awesome engine he has developed i think i will show off my work on the editor and some of its features.

The editor is closely linked to the engine, it does not use its own rendering, instead relying on hanks own engine code. Due to this as far as rendering is concerned the editor is a WYSIWYG type. Also due to this, any fixes and changes to the rendering system are updated and for efficiency purposes the editor can use the SPTs to improve rendering time.

Heres a screenshot of the main editor:


What you see here is is the main window. The panel on the right is currently on the 'properties' tab which displays the properties of the currently selected entity. It also has some legacy controls for the position and orientation, though these are now controlled by handles, they can still be used. Below that is the custom entity properties tab. For each new entity type it is possible to change what properties are showin in the box. These properties are also exported as customizations to the level file. Hence while this property shows model and material for a dotX entity, for a light it would show things like light colour and range among other things.


Here is another view of the main editor. There is a different entity here, the movemetn handles for the pyramid entity are visible. The other entity is an animated entity. On the right a creation tab is open, allowing you to place new entities onto the level. The entity list is also available, allow you to select and hide whatever entities you do not wish to work with and delete them.
Navigation around the editor is achieved in a similar way as in 3d max. Dragging with the middle click pans the camera horizontally and vertically, dragging with the right click rotates the camera about 2 axes (the 3rd is not meant to be rotated about) and scrolling moves the camera forward and backward. Hotkeys are active as of now, you can switch to move, rotate and scale mode as well as bring up the entity list and switch between tabs using hotkeys. As you can see lighting is not active but that is merely a helper inorder to work with a level that has not had any lights put in yet. Loading and saving is done and its saved to xml files.

So much for the main editor. Now inorder to use collisions with engine hank has created a bounding box system consisting of progressively more detailed bounding boxes having a parent child relationship i.e. a parent always contains all its children. The bb's had to be entered manually so an editor was required for that. This is the BB editor:


All these editors use the same base class and hence inherit the navigation as well as handles from the main editor (mercifully). Here the rotation handles are visible, colour coded according to which axis they belong to. The tree structure is created on the right, bounding boxes are added as children to the currently selected bounding box. BB's can be rotated and hidden and also scaled (also using handles). The bb's are saved to xml file and loaded up by the engine (or editor).

Finally we come to the Material editor.


A comparatively simple editor, it is used to edit the material settings of any given model, allowing you to create different 'skins' for the same model. For example since the model in the screenshot has no texture, it is possible to change the colour of each individual mesh using the little coloured boxes on the right. You can also switch between meshes, change the transparency, and the diffuse, normal and specular texture here along with some other things only hank knows :P. Also it is possible to share skins between models to save work, assuming both models are compatable with eachother. Thus near identical models with the same number of materials can share the same material. And when placing a new entity in the editor, a list of options shows all compatible materials to choose from, not selecting one results in the default (from exporting) materials. These are also saved to xml files.

So a bit of work going in here. I've got one major component to build i.e. the particle editor. Seeing as i've build a particle editor before it seems i've saved the best for last. It should also be a lot better considering i've learnt a lot more winforms and graphics and i've got a pro graphics artist on call :D

You have found this post informative,


Tuesday, 16 February 2010

More Light Propagated Volumes

Buen día,

Hmmm, Spanish is nice, might learn a few other words while I'm at it. Anyway, while I was going through the shaders (to clean and optimise them) I found that I was doing a few things wrong in the Light Propagation Volume shader. I've spent the last two days fixing it and here are the results (they're still not as good as I would like, but maybe later :P):

Without LPV: With LPV:

LPV off & shadows off: LPV on & shadows off:

The collision engine is finished and now parent child relationships work properly, where as before parents couldn't be children. When i say parent child relationships what i mean is the logical relation between two entites in the game world, e.g. this comes in handy when the player jumps onto a moving platform, so the player becomes the child of the moving platform and where ever the platform moves the child will too. So now that the collisions are over and done with, the main tasks are to fix bugs and to clean and optimise the engine. The main two bugs are to do with the graphics, the shadows and translucent model rendering.

The editor in coming along well. It is now possible to translate and rotate the entities in the scene and then to save the scene to the harddisk. It is also capable of loading the scene file from the harddisk. The bounding box creation tool is being added into the editor.

So not too far until we get to the gameplay.

Tuesday, 9 February 2010

Our Work Environment

Bonne journée,

here's a REAL life camera shot of our our desks, where we are laying out our plans for world domination, in our spare time we're also developing a game.

Mendes' desk: Hank's desk:

Okay, and now a quick status report on the progress of our game (world domination plans = secret). Both the game engine and editor are going along smoothly. Actually, there was a bit of a bump in the road (more like a pot hole) where we couldn't get the ray vs mesh working properly for the editor (detailed post to come, courtesy of Mendes). There's been a lot of fixes (thanks once again to Mendes) and additions to the game engine. The status of the editor is unknown but we'll get that up on the blog soon.

- Models no longer NEED to have texture UVs mapped onto them,
- Rotations are working properly (x=x and y=y, not the other way around),
- Using quaternions properly for the camera transforms,
- Thanks to the ray vs mesh fix in the editor, the ray vs oobb work in the collision engine.

- Engine supports third and first person cameras
- The engine has been encapsulated, so now it is a standalone product which games can be built on top of.
- Translucent entity rendering, there is still a bug here where translucent entities cannot be seen behind each other.
- Scene graph

What's on the TODO list:
- Fix the collision engine.
- Saving and loading of level data
- Event Management
- Particles
- Editor
- AI
- Gameplay
- Audio
- Optimise everything, that includes the shaders!

- Simple streaming system
- Rigid and soft body physics
- Multi thread optimisations
- Water rendering
- Volumetric lights/god rays
- Rim light?
- Anti-aliasing
- LoD for terrain

Sunday, 31 January 2010

Light Propagation Volumes

Guten Tag,

Here's a quick update on the status of the game. The editor seems to be going places where as the engine is still pretty much the same as it was before. There have been a few fixes, including a MAJOR bug where i had misspelt Initialise through out the engine code :P.

For the past one week i've been implementing Anton Kaplanyan's (a guy who works at Crytek) global illumination algorithm which he calls "Light Propagation Volumes." Here are the results from our engine (notice the colour bleeding and extra lighting in the LPV On images):

LPV Off: LPV On:

LPV Off: LPV On:

LPV Off: LPV On:

LPV Off: LPV On:

There's still a few problems, such as colour bleeding through thin walls and a flickering effect when the camera moves, but i'm not going to bother with those yet since there are more important tasks yet to be done.

Monday, 18 January 2010


Hello readers,

I just wanted to post a screenshot showing off SSAO in Marko Dabrovic's famous Sponza Atrium model.

Engine Status - 19/01/10

Hello readers,

After a long and tiring day with shadows i've finally decided that it's time for a break. So here I am, and today I will talk a little bit about the progress of the game engine. Before I start, I realise that some people are curious (well at least one) about the Goa thing in the blog title. I think it's too early to tell people what that means; it might be fun to see what you think we mean.

At the moment the engine's functionalities are:

- renders .fbx, .x and custom models,
- renders everything through Deferred shading,
- screen Space Ambient Occlusion,
- spatial partitioning tree,
- portal System,
- key framed animation system,
- half a collision engine,
- menus and state machine,
- networking with Live and Lidgren,
- and multiple shadow casting lights.

The shaders have been written as micro shaders. I am particularly happy with this small and simple thing as it has made material management and rendering very simple and tidy.

Currently the game runs at an average of 55 fps, but there's still a lot more to be done so hopefully we'll be able to optimise the engine for a smooth and uninterrupted gaming experience.

Currently the future plans for the engine are :

- Scene graph (probably should've done this first)
- AI
- Event Management
- Particles (this shouldn't take too long since Yorrick is a pro with particle systems)
- Audio

Things that I would like to do but aren't important:
- Global illumination/colour bleeding (nearly done :P)
- Volumetric lights/god rays
- Rim light
- Anti-aliasing

Hope it was an intersting read. Would be nice to get some feedback on the blog and possibly any suggestions on what you would like us to divulge.

Saturday, 16 January 2010

Yes, we are making a game

First of all i would like to welcome you to our Indie game development blog. Unlike other dev blogs, we won't try and put up frequent updates about our development :P

Here is a list of team members:

Div - Designer
Hank (Me) - Programmer
Joe - Artist
Yorrick (Need to find shorter name for you) - Programmer/Game Designer
We might need other people to help later on in the development.

So far we have been working on the game for a year (although it was an on and off affair). We are professional games developers (well we were, only Div has survived :P). It originally started with Yorrick and I deciding that we wanted to learn about other areas of games development, and so selling the game was last on our agenda. We also decided to use the XNA platform, since we had heard that it was a quick way to get up and running and also we can develop for for the Xbox 360. Now though, learning has been pushed down and selling has been pushed up. Although, Selling still isn't out major goal. Our major goal is to make a great game that everyone will enjoy.

Joe joined us when we realised that we needed to get some art done. Now at this point in time, we learnt a very good lesson, which is, the art process takes a long time! It took even longer since Joe refused to make textured boxes for the environment and a few simple 3D characters (ie Programmer Art). unfortunately for Joe, by the time he was finished with one of the character models, we decided that the game idea wasn't as novel as we had hoped for.

Our current game idea came about after a few days of throwing ideas back and forth, and finally we landed on a similar idea that Div and I had come up with a few months back. Our current game idea has been in the design phase for the past couple of months and we have just started the actual development process. We are still working on the story and level design of the game.

A few things to mention about the game itself. (we'll be letting go of bits and pieces of the game design here)

- Novel (very important). The primary game mechanic is original and being original, how much fun it is, is yet to be seen. Braid for example used elements of platforming and puzzle which are pretty tried and tested. Before World of Goo there was tower of goo, which was a small flash version of it. (Hara-kiri if some game comes up without our concept before we release, like one of our previous designs)
- In First Person mode but we could probably develop it for third person to. Which it is not a twitch FPS for sure i.e. cs. Remember Elder Scrolls could be played in FPS or TPS. But don't assume we are making an RPG.
- Single player and Multiplayer, but we're concentrating on the single player at the moment. It seems like most games should have a little Multiplayer now to prolong the games lifecycle and to justify prices. Unless the Single Player is REALLY good i.e. Elder Scrolls, Assassins Creed.

What we currently have is half a game engine, half an editor, a cool 3D model (which probably won't get used) and two design documents for 2 different games and a further 2 game ideas still lodged in our heads.

I think that's enough for now, we will be posting more details about the game so make sure to check often.