Jump to content
  • entries
    50
  • comments
    173
  • views
    104,623

Ambient NPC population ... a continuation of an idea.


Marleys Ghost

2,249 views

 Share

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

 

blogentry-12-0-66593800-1307271290_thumb.png

 

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.

 Share

2 Comments


Recommended Comments

That looks very promising Marley. What a beautifull screenshot of the town.

 

I have a question about the A* pathfinding: how do you make the grid? I can think of a way for terrains but how do you handle models that have different floors?

Link to comment

Hi Aggror, So far I have avoided models with interiors that include an upstairs. My approach to making the node data was at best limited and quickly thrown together as proof of concept. Navmeshes/waypoints and a square on a grid are basically just ways of generating the node data. With different floors, you need to remember the new degrees of freedom, not just x and z but y as well. Which is why, IMHO, a navmesh would better serve this purpose. Or more basic, a collection of pathnodes.

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...