Shader Progress

Okay so I've made some progress with shaders and materials in Blender. I've put together several of my experiments into a (badly designed/rushed) character design to demonstrate how they can be practically applied.

I'm toying with the cell shaded idea - it seems if done well it can look great, else it's really crap. Really I'll need to test this character in an environment to see. Also I'm not entirely sold on toon outlines (even though it was a mission to integrate).

All this is running in realtime in the Blender Game Engine:


Illustration to 3D: Texture void of perspective

So I've been experimenting today with some bits and bobs. I spent some of yesterday and today compiling some inspiration for the final project. I have a rough idea in my mind for the game so have been putting fragments of ideas together in a bid to gain some clarity.

I'm mashing any inspiration I've found over the years into a single mashed up inspiration heap here http://henryhoffman.tumblr.com/

Something I've noticed from quite a few pieces, is the use of flat tiled textures, that sit flatly against the character. Here's an example (not my work):

Notice how the dress and the wallpaper are made up of a flat seamless texture? This is an effect I've not seen in 3D work before, probably because when UV mapping game characters the texture coordinates are based on the model's vertices. This means the texture wraps around the object and moves with it (like you would expect it to in real life).

So I've been playing with a tool called the material node editor in the Blender Game Engine and have created a technique that multiplies a pattern texture over a defined colour. The coordinates of the texture then are based on the screen, essentially recreating the effect seen in the 2d image above.

It's a bit of a mind warp when used excessively because the sense of depth is fighting with the 2d effect, though when used subtly to aid in an illustrative effect, I think it could be quite effective.

Have a look at the result:


Blender Game Engine Update

I'm getting to grips with coding Python now. It's a lot easier than I'd anticipated - generally just a lot of common sense combined with creative problem solving. It's opened up a whole new area of games for me and it's been really satisfying being able to combine creative and technical ideas to create awesomeness.

I've coded my own mouselook script which is a bit more hacky than some of the more elegant mathematical solutions (matrixes scare me too much). I've had a look into some of the more complicated maths and it's truly mind boggling.

Also coded is automatically updating grass position, based on the player, to keep polycount at a minimum.

I managed to also put together a cool physics kite that you control with WASD. The frame is basically a rigid body and the ribbons are soft body.

I also modelled some rocks and flowers. Wooo.




Something else that I've been working on tonight is a level of detail system. After using Unity and it's automatic billboarding of trees for LOD, I realised I could code something similar relatively easily (though the billboarding texture is manually created). The following script allows for 3 states, high quality, low quality and disappeared. This means that when you're far away from trees it renders the low quality tree and if you're really far away it disappears, but if you're up close it's in full detail. This saves huge amounts of resources and allows for much more detailed scenes within the game engine.

I've deliberately subdivided the trees so they're 200,000 tris when at full detail, displaying the potential fps increase that can be gained.



Realtime Grass in Blender

So with my new found Python programming skills the game engine world is starting to open up. I decided to take a look at realtime grass rendering in the Blender game engine, something I've never seen executed successfully.

Using some nifty parallax shell techniques, coupled with some Python that offsets the grass based on the player position and some LOD meshes for faster grass dissipation, I created this:



I'm not sure if this combination of techniques has ever been used before in the Blender Game Engine (at least I couldn't find anything on it). Hopefully I'll get to integrate it into some upcoming projects.

Sidescroller Programming

After years of creating artwork for games I decided to learn Python programming in my spare time. This is currently a sidescrolling platform game prototype using the Blender Game Engine. It's at a very early stage and is slightly buggy though I'll be working on this for several weeks to ensure it's suitably polished.



Download (You may need to install Python to run it):
http://angrymangogames.com/henry/platformerPrototype.zip

Features:
  • Left and right movement
  • Single and double jump
  • Easing camera. Tilts in direction of play. Invisible square with no camera position change.
  • Destroyable boxes from underneath
  • Collectable coins with GUI counter
  • Dynamic moving platforms. No IPO's. Physics objects stick.
  • Dynamic enemies that move left and right. No IPO's. Detect obstacles and stop.
  • Health GUI. Dynamic player vertex colour change on health deduction.
  • Dynamic objects locked to X and Z axis'
  • Water

Todo:
  • Fix jump reset when play origin Zaxis not inline with floor
  • Fix buggy platforms
  • Create level beginning/end camera locks
  • Change camera to place player in bottom third intersection furthest from direction of play
  • Make objects not directly touching platform still affected (i.e. a box on a box)
  • Make vertex colour changes fade in and out
  • Health GUI counter dynamic vertex colour fade (green>red)
  • Loads more cool stuff (springs, powerups, switches, doors, etc)

Dare to be Digital

So it's been a while since my last update. Basically I've been in Scotland for 10 Weeks making a game for the Windows Phone 7. More info on the game can be found here: http://angrymangogames.com/

We won the competition and have now been nominated for a BAFTA. You can see the game in action here:


2nd Year University Project - Des Bois

I'm coming to the end of my second year now and have finished the major project before my final one. It's been a real learning experience working in a large group of mixed abilities and mixed motivations but it's been fun and I'm pleased with the result.

Our game is Des Bois and you can view a video below:


You can also download the game here:

Des Bois v1 (64.09mb)

Or visit the website here: