Open Source Code
I currently maintain several Open Source software projects on GitHub which you can view below. I am always open to contributions and regularly accept pull requests.
To see all my projects, visit my GitHub Profile
If you are interested in other programming resources, check here: MUN Programming Competition Resources
STARTcraft
GitHub Link: https://github.com/davechurchill/STARTcraft
STARTcraft is a project dedicated to getting started with StarCraft AI programming using BWAPI. It contains a tutorial video covering the basics of StarCraft, as well as BWAPI.
UAlbertaBot
GitHub Link: https://github.com/davechurchill/ualbertabot/wiki
UAlbertaBot is a StarCraft:BroodWar playing bot written in C++ with BWAPI: The BroodWar API. It has competed in most major StarCraft AI Competitions since 2010 and won the 2013 AIIDE StarCraft AI Competition.
UAlbertaBot also contains the Build-Order Search System (BOSS) and SparCraft projects.
Command Center
GitHub Link: https://github.com/davechurchill/commandcenter
CommandCenter is written in C++ using BWAPI and Blizzard's StarCraft II AI API. It provides many wrapper functions around both APIs that allow it to perform the same functionality in both games via the same source code. CommandCenter is based on the architecture of UAlbertaBot, and is intended to be an easy to use architecture for you to quickly modify, play with, and build your own bot. The bot itself does not contain much in the way of hard-coded strategy or tactics, however it provides a good starting point for you to implement your own strategies for any race.
StarCraft AI Tournament Manager
GitHub Link: https://github.com/davechurchill/StarcraftAITournamentManager
This software is a tool for running Starcraft AI bot tournaments using BWAPI. It uses a server-client architecture with one machine acting as a server and any number of other machines acting as clients. The tournament manager is written entirely in Java, and can be run on Windows 7 or higher, either on a physical machine or a virtual machine. All data sent and received is compressed and passed through Java sockets, so no special network configuration is required to run the software.
StarDraft
GitHub Link: https://github.com/davechurchill/stardraft
StarDraft is tool for visualizing Starcraft maps, which facilitates the development of map analysis algorithms.
CWaggle
GitHub Link: https://github.com/davechurchill/cwaggle
CWaggle is an open-source robotics / physics simulator written with an ECS framework. It has been used for publications in robotics / reinforcement learning.
Tekken 7 Leaderboard Scraper
GitHub Link: https://github.com/davechurchill/tekken7leaderboard
I was sick of having to manually scroll through the Tekken 7 leaderboards, so I wrote a program to parse them visually with OpenCV. It is not currently being maintained.