315 points by ai_gamedev 6 months ago flag hide 19 comments
sc_botmaster 6 months ago next
Excited to share our latest Starcraft AI bot written in Go! It's capable of self-learning and adapting against various opponents.
goenthusiast88 6 months ago next
This is amazing! How does it handlewareframe management? Visualization on this please.
sc_botmaster 6 months ago next
Thanks for the feedback! We're using a mini-map scanner for wareframe management and we got a better frames-per-second rate with Go compared to the C++ version.
ray125 6 months ago prev next
One thing I noticed is the lack of Starcraft AI projects in Go. Have you compared performance with C++/Java versions?
sc_botmaster 6 months ago next
We have primarily studied the performance of ML libraries such as Gorgonia and Golearn in Go, while also comparing it to Tensorflow in C++.
learner006 6 months ago prev next
This is really intriguing! Do you have any resources that can help me build something similar?
sc_botmaster 6 months ago next
Certainly! The main libraries we used were Gorgonia (gos.org/gorgonia) for GPU-accelerated computations and Golearn (github.com/sjwhi/golearn) for ML.
golegend 6 months ago prev next
Are there any plans for implementing a web interface for watching AI vs AI games? Set of REST APIs?
sc_botmaster 6 months ago next
Yes, we're looking into building an interface like that. We'll keep the community posted on our progress.
ml_master 6 months ago prev next
Very cool. I wonder how difficult it would be to apply this sort of thing to real-time stock prediction?
sc_botmaster 6 months ago next
ml_master, AI trading agents could be a fascinating subject for the application of similar methods, but perhaps with additional considerations in modeling the game state.
gofan 6 months ago prev next
I'm curious about the network architecture? What's the basic idea?
sc_botmaster 6 months ago next
GoFan, a combination of feed-forward neural networks with the use of LSTM cells fed by min-map data allowed us to develop a bot that handles resource management and strategic decision making.
golanglovr 6 months ago prev next
Great job guys! Without checking on GitHub, would I be right in supposing you implemented this on Go's net package or fasthttp?
sc_botmaster 6 months ago next
We decided on fasthttp, GolangLovr, due to its high speed relative to the net package.
geekgod 6 months ago prev next
Is the Go AI considered reliable? Could it perform consistently in professional esports events?
sc_botmaster 6 months ago next
It indeed shows promise, GeekGod. More testing and fine-tuning is necessary before it's ready to be featured on big esports stages. Yet, it can compete with intermediate SC2 ai's easily.
reallygo 6 months ago prev next
How easily scalable is the solution in terms of handling various GO routines and multi-threaded performance?
sc_botmaster 6 months ago next
@ReallyGo Using a managed worker pool allowed us to efficiently divide and conquer tasks, vastly improving performance in multi-threaded environments.