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 ...

Friday, 22 July 2011

A Free CryENGINE SDK .. August 2011?

Well, if the hype and rumours are true then in the next few weeks we could be playing around with CryENGINE 3 in all its "full access" glory.

I have blogged about this before, but information has always been scant to say the least.

Crytek planning to release UDK-like version of CryEngine 3

I had completely forgotten about it, but came across An open letter to the Crytek Modding Community:

"In August 2011 we will be launching a free CryENGINE SDK. If you want to use it for fun, like all our previous MOD SDKs it will be completely free of charge, to anyone who wants to play with it! You just register, download the SDK with a personalized license key and you're good to go!"

The letter is from Cevat Yerli the CEO & President of Crytek, and when I say "full access" that seems to be exactly what he is saying:

"This will be a complete version of our engine, including C++ code access, our content exporters (including our LiveCreate real-time pipeline), shader code, game sample code from Crysis 2, script samples, new improved Flowgraph and a whole host of great asset examples, which will allow teams to build complete games from scratch for PC."

So all in all, definately worth the "price" of admission, but it seems it will only be free for non commercial usage, but hints at "rates" or "help" for those wishing to use it to develop commercial ventures:

"If you want to use it to make a game to launch commercially, we'd like to help you with that. If you want to take your product down a traditional commercial route, we will offer an innovative low cost licensing model if you want to release your game digitally."

How close this will be to say, Epic's pricing for commercial games developed with the UDK, who knows, it maybe on par or very much higher. I can't see it being less, it would be nice if it was, but ...

Sunday, 5 June 2011

Ambient NPC Population, a continuation of an idea.

Last September I mused about the concept of what I call Ambient NPC populations, 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, but may have some limited interaction with each other or the surroundings.

I felt a new approach would be needed to sort through what was and was not required to achieve a similar environment in LE, I decided first to create the environment and to then set about, at different levels, adding in the ambient NPC population, the thought behind this was it would be easier to visualise what I wanted to see taking place, if it took place ... in place ... not the best description but I hope you will understand what I mean.

So the first step is to create a small village environment and then to start adding in the population.

Test/concept scene (test application screenshot) : The Village of Swanwyck





The important thing with this small test village level will be the roads/paths, as the first tier of the population will basically be simple "walkers".

Even now, I am still formulating the different types required from "walkers" to simple "static actors" and how to implement some of those types to have different interaction levels. I will be utilising several different methods to allow the NPC's to navigate Swanwyck, from a simple "follow node" approach to predefined path data and on the fly A* navigation.

I did have some very good results with A* pathfinding already, which can be read about here:

A* Pathfinding Using Blitzmax And Leadwerks Engine

Hopefully I can find the time to get "Swanwyck" up to a usable standard, and get the first tier of the "walking" population up and running.

Friday, 8 April 2011

Oh how I hate AppTime() and the randomness of it all.

Actually I don't hate AppTime() I just don't like using it in some instances. Its extremely useful and from what I can tell a more accurate mechanism to use than AppSpeed().

Whilst working on Furious Frank, one thing I noticed and it always caught my eye, was what I term “Chorus Line Syndrome” where using the basic AppTime() frame incrementing code for looping animations results in a regimented animation playback for like models/characters. I have ignored this issue thus far as it was not such a big deal in the early stages. However I decided it needed to be sorted, rather than just left as this issue will no doubt crop up again and its always handy when problems do arise again to have a basic template solution. First I took the lua entity script for the bug and removed all dependence on AppTime() completely using AppSpeed() to adjust for running speed variations. This worked fine but still broke down under high stress tests. The only way I can simulate high stress is to run some background applications and Fraps. Of course some breakdown would come about when the stress is heavy. I then switched to using a mechanism that relied on AppTime() as the base, but not in the same way that it was used for the basic AppTime() frame incrementing code for looping animations. There was still some breakdown under heavy load but not as much as the AppSpeed() based script.

Utilising this script with other aspects to add extra randomness to same type character animation playback I made a few tests. The results are in the video below, in the first part the “Red Bugs” are running the original script and the “Blue Bugs” the new one. In the second half of the video I applied the template to some “Fast Horde” zombie AI I had been working on previously:






Some synchronisation still occurs but that's just inevitable given the constraints of the character models used, that is, how many frames per loop are used in a cycle of animation and indeed how many animation types per action there are. Even slightly interrupting the “Chorus Line Syndrome” has much nicer results. I added some small mechanisms to the “Fast Horde” zombie script to continually mix things up over time. But all in all I am much happier with the results than not having addressed it. There is still some translational movement patterns, like the "flying V" the Zombies exhibit in the video now and again, but I already have a solution involving types of same entity types to add a few extra parameters to help limit the occurrence.

As for Furious Frank, I'd like to say a big thank you to Paul Thomas for his contribution to this little side project. Paul kindly integrated into Furious Franks source code one of his older basic cloud and ToD (Time of Day) systems. It will need tweaking for the project but it was most generous. Heres a little look at the current stage of integration:






When more time is permitting I will continue with working toward a release of Furious Frank V0.03

The current version of Furious Frank can be found here:

Furious Frank V0.03

Previous entries for this project:

MAGIA .. Monday

MAGIA .. Monday ... and a little bit.

MAGIA .. Monday .. a little bit .. and beyond

Friday, 1 April 2011

MAGIA .. Monday .. a little bit .. and beyond

Furious Frank V0.01 came about from my requirement to have a simple application in which to test code in my code archives from the last year. It What was supposed to be a simple cleaning out the harddrive exercise got a little side-tracked. This version was achieved in about 14 hours on a Monday.

MAGIA .. Monday

MAGIA .. Monday ... and a little bit

Furious Frank V0.02 is the 10 or so hours I have worked on it since. With the prospect of a whole 3 days ahead with nothing to take up my time, I wanted to get Furious Frank V0.02 uploaded and start on Furious Frank V0.03. It has so far taken the best part of 3 hours to wrestle out that which was required for this demo from my oh so tidy development folder.

I have coded the settings to make this still an easy "game", but as its still in development with feedback on the functionality and performance being more important, if you died in a few seconds then there would be nothing to report, except maybe "its too hard ".

When you die you die, so keep that health topped up.

Not had anytime yet to code and develop a spawning system for the Bugs so I kind of just drop them in on the player, so, wear a hat.

Showcase Page & Download Link Here.

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites