Friday, October 30, 2009

Trajectory

Looking at formulas in physics to calculate trajectory of balistics.





Forumla: Angle to hit Co Ordinates (X,Y) where X = distance, and Y = Altitude.

A bot could use this formula to calculate the angle it would need to fire it's weapon at, in order to rocket jump to a reach a ledge or different area that is not connected with a path. When it finds a new path way using a rocket jump it could store the map Co Ordinates in a knowledgeable for future use.


I was also looking at maybe writing the bot in C++. I need to look at how exactly that would plug in to the existing game engine which is written in C. However, it may just be a lot simpler to code the bot in C.

I also need to start coming up with design prototypes soon enough. I need to narrow the focus of this project down to concentrate on one of the main ideas I had chosen in the project proposal and start from there.

Tuesday, October 27, 2009

Pathfinding randomisation

Looking in to the Monte Carlo algorithm and applications of it to this project.
  • Path finding.
  • Behavioral trees.
Must look at the complexity of such an algorithm.

Also, random number generator "Mersenne twister".

Wednesday, October 21, 2009

Quake Live and Quake Arena source code

Played a bit of Quake III: Arena yesterday to get a feel for how the existing AI works and how believable it is. There were a couple of things I noticed about the bots.
  • They seem to move pretty fluidly thorough out the map, but it appears to be random and after a while the movement behavior becomes rather obvious. I may need to look at an adaptive strategy.
  • When spectating, when the bots are aiming at another player it seems as if they're picking random points in the players general direction to shoot at and pointing at those points instantly. The motion doesn't look fluid, and it looks as if they're jumping from point to point. A possible solution to that wold be to SLERP from the points at which they are currently aiming at to the point at which they want to aim at so it looks less obvious.

I also played some Quake Live to observe the behavior of human players who play. The main thing I noticed was that players don't seem to chat that much on the game servers. Also, there were a couple of times where myself and one other particular player would return to the same point and try and battle it out for the same camping spot, which sparked that player engaging in conversation. I may need to look at how exactly to go about provoking conversation like this.

I had a look at the documentation for the existing AI and it seems pretty good. I should get around to building a base AI entity to start work on soon enough.

Saturday, October 17, 2009

Start();

This blog is to mark development in my final year project. I plan to implement an artificial agent that will try to simulate a human player on the game server.