Showing posts with label ai. Show all posts
Showing posts with label ai. Show all posts

Wednesday, October 26, 2011

Update! Open beta & other news

Yeah, it has been awhile. School has been extremely rough, and I've had *a lot* of trouble getting any kind of coding done in my spare time.

What have done at all recently? Well, I have managed to overhaul the AI and movement in the game to use velocity vectors. This means that the player can now shoot in 360 degrees (instead of in 8 directions, which was the case before). This also means that instead of doing a lot of resource hogging A* path finds, the AI can now use target vectors to smoothly traverse the battlefield on its own initiative. The AI still does an occasional A*, but only for more complicated paths over larger distances.

While this isn't new content, it does change the way the game plays significantly. Elves, for instance, are 100% bigger pains in the ass now that they can run away intelligently. Now they will run away before you can close in on them and will keep their distance as they rain arrowy death down on you. Luckily, your own Phantoms will do the same. I've had some trouble making Phantoms useful, and while they aren't quite there yet, they are getting there quick.

Did you say Open Beta?

Why yes, yes I did. I've given up on any kind of release schedule, as my time is just too tight. I'm not very happy with this, but that's how it goes. At any rate, I want to save the open beta for when I've ironed out a few niggling environment collision issues with the AI and have Dwarves functioning and in game. When can you expect this?

Hell if I know!

But really, I'm hoping against hope that I can get this out by next week, but we'll see.

Monday, June 28, 2010

AI woes...

So I'm finding the base AI in Quake to be totally inadequate for my needs. The inadequacy comes from the fact that a major part of the Quake AI, the part where the monster decides where exactly on the map he wants to move (IE: his goal), is HARD CODED into the engine. That means I can't do any QC magic to change it. Why they decided to do this when the rest of the game relies so heavily on the QC scripts is beyond me.

This means that I have to gut the AI code and put in my own. My only problem? I don't know jack about AI! Sure, I've done the same basic tutorials on how to get an entity to intelligently (and efficiently) move towards a goal using a couple of different methods as everybody else... But now doing it in practice, as well as in 3D space... This is scary!

Luckily, the Quake modding community is there to rescue me. There is some super old code for simple, beautiful bots hanging around. The TutorBot, made by a (former?) community member named Coffee (I'd be hyperlinking the shit out of this, but it is all so old that Coffee's Quake site doesn't exist anymore except in Internet archives and the memories of appreciative Quake modders). It is exactly what I need as a nice base reference from which to build my new AI on top of.

What do I need my AI to do? Well, the base AI can find an enemy (usually the player) and intelligently(ish) move to it and attack it. This means pathing out a bunch of waypoints based on the level geometry so that the monster moves around walls, avoids falling off of cliffs, ect... My monsters, however, will not path around walls. I want my monsters to climb the damn walls.

Imagine having a Quake level in an office full of cubicles, desks, and chairs. Normally, the player would be bounding all over the environment while the monsters would have to awkwardly weave through the obstacles in a maze like fashion. I want my monsters to be able to climb just as well as the player can jump. Maybe even better.

We'll see.