• Stars
    star
    109
  • Rank 317,166 (Top 7 %)
  • Language
    Scheme
  • License
    Eclipse Public Li...
  • Created almost 11 years ago
  • Updated over 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SC:BW Terran AI using JNIBWAPI and Clojure

Korhal

Korhal is a Brood War AI written in Clojure on top of a custom fork of JNIBWAPI that we use to extract even more information from the Brood War process. Korhal was started during my time at Hacker School.

Getting Started

A virtual machine image is provided to get you up and running. [See the setup page in the wiki.](../../wiki/VM Setup)

The wiki also has a decent amount of info about how Korhal works. Check it out before digging in.

Current Status

Korhal is still in early development and is not combat ready. There's a whole lot of work to be done, so get in touch or file an issue if you'd like to contribute!

Features

  • nREPL server for interacting with a running game
  • Brood War API designed for Clojure, ported from JNIBWAPI
  • Fully asynchronous AI using Clojure's awesome ref types
  • Contracts system keeps track of resources that have been committed to actions but not yet spent
  • Can execute build orders given in similar format to how humans write them, e.g. 9 :supply-depot
  • Very basic micro routines, e.g. marines attempt to kite zealots

Example Videos

Marines kiting zealots

Ghosts coordinating lockdowns

Skirmish against zealots and dragoons

Basic build order execution

More Repositories

1

github-selfies

Everything is better with selfies. Yes, even pull requests. Trust me.
JavaScript
1,138
star
2

dagobah

Simple DAG-based job scheduler in Python
CSS
755
star
3

py-dag

Python implementation of directed acyclic graph
Python
116
star
4

soundcloud.el

SoundCloud frontend for Emacs powered by emms
Emacs Lisp
33
star
5

exa-rs

libretro core for the TEC Redshift featured in EXAPUNKS by Zachtronics
Rust
15
star
6

better-search

Search results with more context in their own tab for VS Code
TypeScript
13
star
7

tarrasch

A Chess bot for Slack with graphical boards, win tracking, and automated analysis
Python
9
star
8

nsq-clojure

NSQ client using core.async
Clojure
7
star
9

sandbox-in-docker

Free your sandbox using Docker
Clojure
6
star
10

clojure-zulip

Unofficial Clojure bindings to Zulip using core.async
Clojure
4
star
11

korhal-starter

Korhal Starter Kit
C++
4
star
12

lazubot

A spin-off of flatland/lazybot for Zulip
Clojure
3
star
13

rvb

Cooperative routines in a competitive environment
JavaScript
2
star
14

mongo_commander

Get a realtime view of your Mongo cluster's stats using ncurses
Python
2
star
15

gcdb

The Worst Idea Ever
Go
1
star
16

async-anything

Easily use core.async with blocking APIs
Clojure
1
star
17

arduino-projects

JavaScript
1
star
18

snake-node

JavaScript
1
star
19

ggtracker-python

API Client for ggtracker.com
Python
1
star
20

asteroids

Let's try to write Asteroids from scratch in JS for fun
JavaScript
1
star
21

ColorBox

A first attempt at making an iOS app that does anything at all
Objective-C
1
star
22

open-source-sweeps

The Open Source Cryptocoin Sweepstakes
JavaScript
1
star
23

steam-automigrate

Automatically move Steam games between SSDs and HDDs based on last play time
Go
1
star