Category Archives: Development

Creating a Starcraft AI – Part 21: Spiky stars and bad heuristics

First part of this series | Previous | Next | Index

In the last part, I managed to work out some bugs in my in-area jump point pathfinding. Again, let’s climb up a level of my rabbit hole. The end …

Creating a Starcraft AI – Part 20: Philosophy and mining equipment

First part of this series | Previous | Next | Index

In the last part I tried to solve a subproblem of a subproblem. BWEM is really not solving the exact problem I’m having (Not talking about midlife crisis, although …

Creating a Starcraft AI – Part 19: Pathfinding resulting in a rabbit hole (where cats are)

First part of this series | Previous | Next | Index

First, a sub-problem from the last part. Given a start point, and a collection of endpoints, I’ll return the first endpoint that the flood fill reaches. This is …

Creating a Starcraft AI – Part 18: Going to ground

First part of this series | Previous | Next | Index

This time, I’ll continue working on the ground-only pathfinding. Last time I mentioned that BWEM returns a bunch of chokepoints, which are composed of WalkPositions. It looks like this:…

Creating a Starcraft AI – Part 17: Smoking, Unboxing, Flooding

First part of this series | Previous | Next | Index

A slight detour from the JPS problem first. I needed a way to write tests for stuff that can only be tested in-game, so I implemented a smoke test …

Creating a Starcraft AI – Part 16: Improving of the Things, and curbing CPU addiction

First part of this series | Previous | Next | Index

After getting JPS to work reasonably well in the last part, for once I decided to tidy up, and improve things on the to-do list instead of diving …

Creating a Starcraft AI – Part 15: Code Scene Investigation

First part of this series | Previous| Next | Index

As you might have guessed, the JPS code in the previous post wasn’t entirely correct. What a shocking revelation! I mean, it found some paths some times, much slower …

Creating a Starcraft AI – Part 14: Jump point search for jumpy doggos

First part of this series | Previous | Next | Index

What a coincidence in naming. I plan to finish my “derping around with already solved problems while not improving my bot in any meaningful way” adventure with this post. …

Creating a Starcraft AI – Part 13: A star is born

First part of this series | Previous | Next | Index

Today’s lesson is: Always test your assumptions. A while ago, I posted a method for getting WalkPositions in a radius. I added a check for bounds outside the map, …