Ambient NPC Population

Ambient NPC Population, a continuation of an idea ...

CryENGINE 3 SDK

A Free CryENGINE SDK for everyone in August 2011? ...

Adventures In Textures

Seeing just how low you can go with the poly count by offsetting a lack of geometry with normal mapping and hand painted textures ...

UDK - Hawken

Indie development at its best ...

Unreal Engine 3 - Environments Features Overview

Gorgeous tech demo trailer showcasing the features of Unreal Engine 3 and its free counterpart, the Unreal Development Kit ...

Monday, 31 January 2011

Bumping ..... Adventures in Textures

Firstly, I'd like to take this opportunity to wish you all a belated happy new year. I hope you all have had a great start to it.

I have not been doing much on the coding front for the last few weeks. I decided to get some assets created and try and develop my texturing skills a little further.

I also purchased Silo 3D Pro over the Christmas period as it was on offer. I had used the demo and was impressed at how "comfortable" it was to use. I now use this package as my main modeller but in conjunction with AC3D and UU3D. Basically Ultimate Unwrap 3D is the junction where all my modelling and art packages meet. Not only for Leadwerks with its .gmf export for both static meshes and animated assets but for all the engines I use, for me its an invaluable tool and a good investment for the minimal cost.

I have need of a modular corridor/room set, and decided to set about seeing just how low you can go with the poly count and how much you can offset the inherent "flatness" of a low poly environment with normal mapping and "hand painted" textures. This would be moving on directly from a previous flirtation with texturing which can be found here. Some more incriminating evidence can be seen in the gallery as well, fairly obvious I am no artist.

Another aspect of texturing I have been playing with is bump mapping. I use ShaderMap Pro which is great but making bumpmaps from diffuse textures can have horrible "side effects" when creating panelling.

Diffuse only:


Diffuse and Normal map created directly from the Diffuse texture by ShaderMap Pro:


Not really the effect I was after. After a few ideas and some testing I found hand crafting a Normal map "template" from which a Normal map would be generated by ShaderMap Pro gave much better results for this exercise.


I then made the first test section of the low poly modular level pack:


The textures were then UV mapped onto the section in UU3D and then converted all over to .gmf .dds and created the .mat files using ADN ... I love ADN truly one of the most useful tools written by a community member ever!!


I Lined a few of them up just for show .. 480 polys not bad .. considering the default rusty oildrum is 256.


Encouraged by the result thus far I moved on, making the section bigger but retaining the tilable nature of the textures




Unfortunately real life commitments caused a pause in my endeavours until a day ago so I have spent the last few hours refining some aspects and making a few more test sections:




The overall effect of the technique I am developing can be seen better in this video (HD available):




This is currently the point I am at, With some preliminary drafts for doors/doorways rooms and elevators/elevator shafts ect. I am trying to reach a point where variation is only a texture change away on standard section low poly models. I am still getting my templates organised and fine tuning the work flow and still very much a WIP, but so far I am quite pleased with the results.

Wednesday, 24 November 2010

Unreal Engine 3 - Environments Features Overview

"Gorgeous tech demo trailer showcasing the features of Unreal Engine 3 and its free counterpart, the Unreal Development Kit, that help make lush environments."


Wednesday, 8 September 2010

Next.. Ambient NPC population

Working on two principles K.I.S.S. (keep it simple stupid!) and more for less.

I spent a lot of time researching (read playing) certain games that have what I call an ambient NPC population. This is specifically those NPC's that reside in the background and generally have no real or very limited interaction with the player. Two such areas of research included Assassins Creed and Fable 2. Although both of these games have a far more complex general NPC population than what I am setting out to create, but the "research" was most enjoyable.

First Step:

Machine Intelligence "Kinda Almost":

Machine Intelligence "Kinda Almost", simply gives an illusion that there is intelligence at work but there is not, sort of like, the lights are on but no ones home. There are several subsets to this group but the obvious one is simple animation. Also this can include proximity reaction behaviour, a posh and complicated way of saying when the player is near, stop what you are doing, and do this instead. But that's as far as interaction goes for those NPC's in this group. This simple ambient NPC type could also use lua scripts, loaded with the level and be left to attend to themselves.

For example, just two chaps having a chat:



Having a chat is basically all they do, its simple per character animation's controlled by lua scripts. The purple block volume is the walkable area that would be utilised by more "advanced" ambient NPC's, typically those that move about, particularly those that would use Pre-Loaded and Pre Calculated path routes for this particular level. The purple block volumes are simply required by the application I wrote to generate the route node data for the pathfinding tools I created and have demonstrated here. Not that this is a level just something thrown together for testing but I think I should unarchive some of my GMF format models and put together a small town/Village for testing this, rather than another simple "BlocksVille".

There are obvious limitations to consider with this approach to the first tier of the Ambient NPC population for a "busy" town/village. The NPC's need animation's, most come with maybe 15 animation's (if you're lucky). My intention is to surmount this by adding animation's to them, primarily Mo-Caps. This will require a little work but will be the bedrock for the construction of this "tier". There are some very good applications on the market for achieving this. For me I prefer Fragmotion, there is also a free alternative that I also use on occasion called Pacemaker. But don't be fooled though, none of these applications will do it all "for you", you will need to skin the mesh to the correct rig for the plethora of free to use Mo-Caps, or indeed ones that can be purchased. It will all depend on budget and or requirement.

This is still only a very basic outline for this "packing" stage, it will still require a lot of work but my goal is to get the impact of it at runtime to an almost negligible effect even when including proximity reaction behaviour.

Monday, 30 August 2010

Attack of the Killer pathfinding butterflies!

Just a little bit of fun with A* pathfinding using Blitzmax and Leadwerks, and some Butterfly/Insect AI I had been working on.


Share

Twitter Delicious Facebook Digg Stumbleupon Favorites