Ultra Tag!
A downloadable game for Windows
This was a school project!
Ultra Tag!
The controls are simply WASD to move and Space to jump!
It characters are red (meaning run away), not it characters are green (meaning chase them if you are it)!
As long as you are not it, you gain points! The first one to fill their score wins! The bottom right shows your score (top) and the score of whoever is winning (bottom)!
I also made the character models myself (but not the animations)!
The AIs have a pretty complicated but optimized pathfinding system, where adding more characters is almost negligible in performance because they share so much information! With 100 AIs, the only real cost to performance comes from the models themselves!
The very brief explanation for the pathfinding is:
1. I press a button in the editor (Generate Nodes) that generates ground and air nodes in a grid-like fashion in the scene, and connects them with certain rules.
2. I press a button in the editor (Reduce Nodes) that goes through the nodes and find some ways to delete redundant nodes (could be improved further) and rewire the nodes around it.
3. I press a button in the editor (Calculate Paths) that uses a modification of the Floyd-Warshall algorithm to go through all the nodes, and (treating them like a directed weighted graph) finds the shortest paths from each node to each other node. At the same time, it also calculates "From node X, what is the node the farthest from me?"
All these calculations are done in the editor, so the user never experiences this!!! Now, when going into playmode:
If an AI is considered it (chasing):
1. It finds the closest non-it character
2. Look at node X closest to that character
3. Looks at node Y closest to itself
4. Uses the pathfinding information calculated earlier to find a path from X to Y (more specifically, the immediate next node to go to)
If an AI is considered not it (running):
1. Looks at node X closest to one of the it characters
2. Looks at node Y the furthest node from that node X (calculated earlier)
2. Looks at node Z closest to itself
3. Uses the pathfinding information calculated earlier to find a path from Z to Y (more specifically, the immediate next node to go to)
Then there's some more stuff to handle jumping that breaks some of the time, but was still cool to make! Plus, some slight randomness to make them sometimes pick a random place to go to!
Enjoy!
Status | Released |
Platforms | Windows |
Author | Cyber Chroma |
Download
Click download now to get access to the following files:
Leave a comment
Log in with itch.io to leave a comment.