Enable javascript to see screen shots.

prev next

Real Time Strategy Engine

Project Members:
Programmer: Jason Eaton

Languages: C++
Libraries: OpenGL, SDL

Date Added: 4/8/2011
File Size: 502k
Download: RTSEngine.zip

This was going to be a project so I could experiment with pathfinding and steering in RTS environments. Unfortunatly it only got to the point of being an RTS user interface where it can determine what the pointer is pointing at in 3d. This turns out to be a non-trivial operation of calculating the ray that needs to be cast from the pointer's position to the end of the viewing frustum.

After playing alot of Starcraft 2 and seeing some of the issues thier steering system had I wanted to try and experiment with some ideas that might fix them. Starcraft 2 seems to use more of a kinematic model than grid model for units. The pathfinding seems to use a combination of grid and nav mesh. When tring to implement my own pathfinding, I found that steering around dynamic objects was much more difficult to account for than simply A Staring units around mostly static terrain. I stopped working on this project to focus more on how to dynamically steer around moving units

On that note, I also noticed that starcraft 2 units can't pathfind around units, they can only steer based on local information. This is a contrast with Warcraft 3, it appeared that Warcraft 3 used a dynamic unit grid and did short range pathfinding to get units around other units. This meant that units could find thier way around mazes of dynamic units, unlike Starcraft 2 which decided that units were too mobile to waste compuation on short range pathfinding.