AI in FPS

I did some work on implementing a hierarchical finite state machine for my FPS AI, similar to the system described here. I’m not entirely happy with the way I designed the hierarchy, so I’m holding off for a bit as I re-plan.

A* Pathfinding

This website has a great generic C++ implementation of the A* algorithm.  It’s easy to learn from the examples, and the code seems well-written.

Object Views

I prototyped an object view class to implement the multiplayer system defined in this gamasutra article. Here it is (it’s a C++ file, but I had to rename it to .c to get wordpress to link it): Object View Prototype

Why it’s cool:  it’s a generic class that can attach to an object, track some parameters, and then serialize data (currently only a text “serializer” is implemented, but it would be trivial to write a binary one).  If the object changes, and you re-serialize, only the parameters that changed are serialized.  Code for de-serializing isn’t written yet.

Resource Manager

I added a generic resource manager template class to the VFramework. It’s pretty handy, less than 200 lines, and I used it for managing textures, which allowed me to delete a lot of complex junk from the textures class. Here it is: Resource Manager Class

Here’s some example code (based on the prototype resource manager): Resource Manager Example Code

Artificial Intelligence for FPS

I’ve been thinking a lot of about creating AI for an FPS game. This post I made on the gamedev forums has provided a lot of great feedback. My initial approach of using A* as a method for state space search may be slower than I’d hoped unless I can come up with a good heuristic.

Client/Server Code

I’ve been experimenting with how to do client/server code while maximizing code reuse.  Generic serialization and deserialization seems difficult, so I’ve been prototyping to try to shake out an architecture.  I made a post on gamedev asking for some advice.  The C++ FAQ has some good ideas as well.

First Post!

Welcome to venzon.org. I like to develop games in my spare time, and decided to journal about it. I would have used gamedev.net, but that site seems to be ridiculously slow… so I figured hey, why not put up my own site?

Dev Journal and Project Hosting