Tuesday, August 19, 2014

BGMC 13 - PidiYol

Hey, there. So, BGMC 13 has started, and I've embarked on a somewhat ambitious 3D dungeon crawler / PDL (Procedural Death Labyrinth). The letters "PDL" is actually where the name of the game comes from. I'd like for the game to be fun, of course, but also fast-paced and tense, which I think I'm getting at okay at the moment. I have some basic movement and jumping; I need to deal with sliding down ramps, sprinting, holding weapons, and other things, I think, tomorrow. Some animations should probably also be implemented.

Anyway, I took some time considering pathfinding for enemies or NPCs. Smoking_mirror over at the BlenderArtists forums suggested Djikstra (I think I spelled that right) Maps. The implementation suggested that he linked to was really rather cool, but it seemed a bit too much for my purposes for this week-long challenge. I bookmarked it in case I need it in the future, though.

I'm not familiar with / don't know how to use Blender's built-in recast system, and I don't know if it'll work well with randomly spawned rooms, so that was out of the option. I'd rather not spend too much time setting up waypoints or navmeshes or anything, either. So, I eventually came to the conclusion that my "usual" simple A* node-based pathfinding approach would probably be fine.

That approach is now added to my bghelper module (bghelper.nodemap); it's a fairly basic A* pathfinding approach, but also has weighting available, which should allow me to set up preferenced paths and also allow for multiple characters / enemies moving down passages when necessary or wanted. For example, enemy A's walking down the hall, so enemy B tries to take another path around enemy A. If there is no such path, then the weighting should allow enemy B to find another path if it's short enough and the weight's light enough. If there is no other path, then it should allow enemy B to start on the "poor" path because it's better than nothing. That's the goal, anyway.

Besides that, I finished rigging the player mesh (at least, I don't think I'm going to change anything). To bypass a bug / unimplemented feature (ability to dynamically set vertex colors on a rigged mesh), The parts are all bone parented to the armature, which is a very interesting approach that's kinda awkward, and might come back to bite me in the butt.

I made up some low-res textures processed through GIMP; a nice add-on that I found is the Advanced Make Seamless tool, which seems to handle more complex images better. It would always make the image darker unless I disabled the high-pass filter, which is nice to know. Hopefully I can reuse textures as much as possible, haha. 
Finally, I added some filters I had already made because I thought it would look cool.


Thanks for reading!~

No comments:

Post a Comment