Skip to main content

Posts

Showing posts from May, 2015

Speed Improvements Again.

I've already gained some speed improvements from how I'm handling dynamic blocking objects, but I wanted to revisit some of my older code and see if I could clean it up a bit. One of the things I was doing before to make faster calculations was to strip the A star graph down to a bounding box around the start and end + a small border. Actually this turned out to be slowing the code down once I reorganized things. The only time this would speed things up is if the map were really huge, the start and end locations were really far apart and every room on the map was open... So this got dropped for now. I was doing some esoteric things with getting the nearest node in the graph for a start and end point, which was almost taking longer than the A star search (on short routes)! So that got cleaned up. The route smoothing pass cleans that up anyway. Here's the end results for comparison: Almost a 50% reduction in some cases. It may not seem important but once there are

Side Projects V2.0

I've been working on a number of side projects recently, so no actual work on Treasures of the Deep Dwellers. However all but one of those side projects have been aimed at testing some ideas with a view to restructuring the project or developing key components which were missing. When I finished working on the most recent version, it felt like I was nearly ready to put out a demo... but after trying it out for a while I wasn't satisfied. Movement calculation was too slow, the characters and AI were too complicated and not well designed. Adding to them was becoming too much of a chore. And there was something wrong with the pathfinding... I took part in a game jam and had the opportunity to work on an FSM ( Finite State Machine ) for character management. The version I designed for the competition was a little limited because I didn't use classes , I had to define all properties for all states at initialization of the game. The result was pretty messy, but it worked m