Archive for the ‘Projects’ Category

Red head copy

I was practicing more with my paper sketching and then Gimp colouring technique. I’ve made several recently of which none have been anywhere near as good as the armour post I made. But the best of them is easily this one below.

It’s (heavily) based on an avatar I spotted by Core Xii on the TIGSource forums, and drawing people is something I really need to improve.

Creation

Like before I had a colour layer at the bottom, then shading and then an outline. However I found the hair looked really dirty with pencil shading.

So I also went over the shading in Gimp with a separate colour, which I personally feel vastly improved it. I have a feeling the dirty look worked on the armour because it’s very believable that it’s all windswept and dusty. Not so believable for girls hair.

Improvements

Finally here is a sped up YouTube video of the whole process.

You might notice the resulting image is slightly different. The original hair was bright red, didn’t include the coloured shading or the background, skin was too pink (it made her look sunburnt) and was not cropped. However the video is about 90% of the work.

Look at mah Armour

For a future game I really want to use a hand drawn technique. So today I’ve been experimenting with colouring in an old drawing. Here are the results:

The drawing is (heavily) based on an exoskeleton armour guy from the first series of Ghost in the Shell: Stand Alone Complex. To be honest I’m not too bothered about the quality of the pencil drawing itself, this experiment was to test the process of colouring and finishing the image in GIMP. The original version (including layers) can be downloaded here.

First I drew the image on paper (many years ago) before scanning and importing it into GIMP.

The idea is that the drawing handles the outlines, details and some shading; so it was applied as a hard light. I also went around the drawing deleting the outside JPEG artefacts.

Next was to add colour, so underneath I filled new layers with block colours. A dark sandy tone is used for the armour and a very dark grey for the gun. This layer was the only one which was set to normal.

The shading in the original drawing is very sketchy; lots of white and grey lines side by side. This makes the highlights look dirty so to thicken then up I copied the drawing layer, applied a large Gaussian blur and then upped the contrast to give a bigger difference between light and dark. It was set to replace the ‘value’ of the image, which is essentially the lightness of the image.

You’ll notice the shading is still far from even; the large shadows on the legs still look sketchy. But that helps to work as a mix between the pure sketchyness of the original drawing and the large blocks of colour. Plus if it’s too uniform then it won’t look like a drawing anymore.

Finally I added a gradient overlay with the centre placed approximately around the head. This is to accentuate that area of the armour as the centre of the picture. The lines around that area of the body appear more black then those further away.

Putting those layers together gives the final image. I had also thought of texturing the colours but it looked cheap. I’m really happy with the results and plan to use this technique in the future. But I really like is how I’d managed to plan all that out.

First thinking of the effects I wanted to achieve and then picking the GIMP features needed to achieve them. In many ways just like how people approach real software development. I’ve still got a very long way to go, but I’ve definitely learnt more drawing this. Here it is again!

BOOOO! Oracle

Sun were giving all their products away for free and wasn’t making any money. To help out Oracle buys Sun. At first I thought this was excellent news because both companies have exceptional products, but neither have many flagship products (note flagship) that directly compete with each other. So it seems like a good mix.

This was until I received…

In short, Project Kenai is closing and taking my open source sf-library along with it. BOOOO!

So I’ve had to move the whole project across to Google Code. But it has me annoyed because Project Kenai is clearly prettier then Google Code:

However what really is quite worrying is that the JOGL project (Java OpenGL bindings) will also be closing along with Project Kenai and there are no plans to move it back to it’s old home java.net or to anywhere new (but there are some custom branches around on github). But it annoys me as yet another example of how Java, a very mature and successful language, is failing to capture the desktop market. I did a blog post a month or two ago mentioning WebGL which will allow you to do 3D in the browser, yet you’ve been able to do it for years with Java. It’s crazy it doesn’t get more support for this kind of thing from Sun,.. sorry, Oracle.

BOOOOOO!

What am I working on? SSG!

It’s been a while since I’ve added some proper content to the site, so what have I been up to? Well mainly…

It’s a full complete remake of SpaceSnake. For a while I’ve wanted to do two things for my next project. First make a complete game, not another small 1 level title, and second base it on one of my existing games. SpaceSnake is easily the most popular game on my site. It’s also the only one of my games where someone other then me has blogged about it! Making it the obvious choice.

It’ll have multiple levels placed in a large universe map that you play across. On each level there will be achievements to complete in order to unlock the later levels for building a sense of progression and development. The levels will also get consistently harder as you go through to push your snake skills to the limit.

When finished I am planning to try and get it released onto the (still quite recent) JavaStore. It might not be Steam or the Apple Store, but having a full game finished and published will give me more credability and gain experience I can use for the next title. In many ways it’s like I’m building my first game again because it needs to meet a standard at of completeness that is far higher then any other game I have built.


There is still lots to do, so I’d better get back to work!

Arts & Crafts

My brother recently asked me if I still had a copy of a video I made years ago. A small proof of concept video when I was building my own green screen (actually it was orange, that was all I could get for free). So I managed to track it down and reposted it on YouTube.

It’s also online at MySpace where amazingly this has almost 4,500 plays!

Next is something more recent. If you’ve played through ColdWar Chaos then you’d have seen the bombs that explode into different cat faces. These were all made using a video of one my cats, Moses. Here are the original images I made for each of her faces in the game:

Concurrency links

Currently I am in my fourth year at university, and for that year I am building a highly concurrent game framework in Erlang as my final year project. It’s a nice language that can potentially handle millions of processes, but in practice only 10′s of thousands on a standard home PC. I’m aiming to try to see if you can easily split a game up into thousands of parts that will automatically scale with the number of CPUs your using.

But this post is not about my project. Whilst doing some background research online I’ve found several nice articles and slides about concurrency in games. Here is a compiled list of my favourites:

Background

Game Benchmarks : Part 2: How Many CPU Cores Do You Need
This is the game benchmarks page from a Tom’s Hardware Guide article on how many cores you need to run apps and games. On average 4 cores only give a 0.6% increase (for games) over 3! So concurrency is clearly a problem, today.

Gamasutra Features : Multithreaded Game Engine Architectures
Three concurrent alternatives to the common game loop. I’m personally building the third architecture for my framework.

Info

Designing the Framework of a Parallel Game Engine
An article by a developer at Intel who has designed a highly concurrent game framework. A long but interesting read on how he has achieved it, and probably the best link on this page.

id Tech 5 Challenges, from Texture Virtualization to Massive Parallelization
These are some Id Software slides about some of the technologies they have built behind their upcomming game Rage. As a part of it they have built a Job based concurrency model where all of the games tasks are split into generic Jobs. At the same time they have a thread pool taking the Jobs and running them.

Tim Sweeney Slides

For those who don’t know, Tim Sweeney is one of the founders of Epic Games and worked on the Unreal engine. As someone who works on one of the most popular engines used for games, these slides are a great insight into what we should be seeing in the not-so distant future.

The next mainstream programming language
Some of this is about concurrency, however a large portion are also ideas on how functional languages could increase the code quality of games and game middle wear if used over current languages.

The end of the GPU roadmap
Very interesting set of slides on how the work inside games will (in Tim Sweeney’s eyes) be split up and parallelised in the futrue, and some of the potential speed ups from doing this. I like how the main emphasis is about underlying technologies that will do this for developers, leaving us to just handle building the games.

Valve

GDC 2007, Valve making Source multi-core
This is a more low-level set of slides on concurrency additions to Valve’s Source engine in 2007. It mainly covers a few key points about the importance of lock-free algorithms.

Multi-Threaded Challenges in the Game Space, a Conversation with Tom Leonard of Valve Fame
An interview discussing the ideas and issus behind the Source engines concurrency support. It mainly goes into why they have chosen to implement their libraries themselves rather then re-using existing libraries.

The SF Library

Today I uploaded the first technical demo for StudioFortress, Twilight. It’s a small implementation of a the Boids artificial life environment, and it’s also the first public demo that uses the latest version of my new library. The SF library.

I’ve been slowly building it over the last year and an early version is used for first 5 games on StudioFortress, but this version is built with the aim of distributing it soon. There is a big difference between building something for personal use and building it to production level. When released it’s going to be hosted as an open-source project on Project Kenai with my technical demos as examples. Others can then use and contribute to the library as they see fit.

There are however lots and lots of free game libraries for graphics and middle wear out there, so how does mine differ? First it’s aimed solely at rapid development for small 2d games. Second is that I found it quite difficult to find game libraries that did more then just graphics plus a few utility classes. There are some out there for Java, but they don’t quite do it how I want it. It’s more of a framework then a library designed to give you a structure you can use for all of your games.

More information will be released later closer to when it’s uploaded.

Painting

I’m about to go back to university to finish my degree in Computer Science. But before I go my mother had offered to make me a painting of anything I want, anything of my choosing. I very quickly knew I’d want to have the painting from a game, but which? Then it hit me, I’d take the image from one of my favourite all time games.

Here is the resulting painting…

… and the original …

I think it’s a very good job, especially considering how difficult a dark image like that is to copy. Can you tell which game it’s from?