Comments (32)
By the way the ‘Bot Development’ section should be updated too. Now it is more about the SC2 bot.
from commandcenter.
The latest version of CC was updated to use unit pointers, perhaps you need to update to the latest version of the SC2API
from commandcenter.
git clone --recursive https://github.com/Blizzard/s2client-api
This should give me the latest, or? If so, then I tried.
Also:
hints that an older api is needed, which I tried and also didn't work.
from commandcenter.
Hi @sklett-src
No, you don’t need the older version of the API. It was decided to specify the revision only to tell which version of the API we used to tests OS X build. However everything changes. According to the error log the older version of the API is the one to blame, if I not mistaken.
from commandcenter.
Ok, so my first error was the right one. With the newer one I get this, which is not that surprising, because I had to create the /opt/local/... folders myself. What surprises me, is cmake finds the package and there is no error before make:
::AddListNode(void*, void ()(void))'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o): In function google::protobuf::internal::GenericTypeHandler<SC2APIProtocol::Weapon>::New(google::protobuf::Arena*)': data.pb.cc:(.text._ZN6google8protobuf8internal18GenericTypeHandlerIN14SC2APIProtocol6WeaponEE3NewEPNS0_5ArenaE[_ZN6google8protobuf8internal18GenericTypeHandlerIN14SC2APIProtocol6WeaponEE3NewEPNS0_5ArenaE]+0x5c): undefined reference to
google::protobuf::Arena::AllocateAligned(std::type_info const*, unsigned long)'
data.pb.cc:(.text._ZN6google8protobuf8internal18GenericTypeHandlerIN14SC2APIProtocol6WeaponEE3NewEPNS0_5ArenaE[_ZN6google8protobuf8internal18GenericTypeHandlerIN14SC2APIProtocol6WeaponEE3NewEPNS0_5ArenaE]+0xa8): undefined reference to google::protobuf::Arena::AddListNode(void*, void (*)(void*))' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol10EffectDataE[_ZTVN14SC2APIProtocol10EffectDataE]+0x20): undefined reference to
google::protobuf::Message::GetTypeNameabi:cxx11 const'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol10EffectDataE[_ZTVN14SC2APIProtocol10EffectDataE]+0x58): undefined reference to google::protobuf::Message::InitializationErrorString[abi:cxx11]() const' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol10EffectDataE[_ZTVN14SC2APIProtocol10EffectDataE]+0x60): undefined reference to
google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol10EffectDataE[_ZTVN14SC2APIProtocol10EffectDataE]+0xa8): undefined reference to google::protobuf::Message::DiscardUnknownFields()' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol10EffectDataE[_ZTVN14SC2APIProtocol10EffectDataE]+0xb0): undefined reference to
google::protobuf::Message::SpaceUsed() const'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol8BuffDataE[_ZTVN14SC2APIProtocol8BuffDataE]+0x20): undefined reference to google::protobuf::Message::GetTypeName[abi:cxx11]() const' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol8BuffDataE[_ZTVN14SC2APIProtocol8BuffDataE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorStringabi:cxx11 const'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol8BuffDataE[_ZTVN14SC2APIProtocol8BuffDataE]+0x60): undefined reference to google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol8BuffDataE[_ZTVN14SC2APIProtocol8BuffDataE]+0xa8): undefined reference to
google::protobuf::Message::DiscardUnknownFields()'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol8BuffDataE[_ZTVN14SC2APIProtocol8BuffDataE]+0xb0): undefined reference to google::protobuf::Message::SpaceUsed() const' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11UpgradeDataE[_ZTVN14SC2APIProtocol11UpgradeDataE]+0x20): undefined reference to
google::protobuf::Message::GetTypeNameabi:cxx11 const'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11UpgradeDataE[_ZTVN14SC2APIProtocol11UpgradeDataE]+0x58): undefined reference to google::protobuf::Message::InitializationErrorString[abi:cxx11]() const' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11UpgradeDataE[_ZTVN14SC2APIProtocol11UpgradeDataE]+0x60): undefined reference to
google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11UpgradeDataE[_ZTVN14SC2APIProtocol11UpgradeDataE]+0xa8): undefined reference to google::protobuf::Message::DiscardUnknownFields()' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11UpgradeDataE[_ZTVN14SC2APIProtocol11UpgradeDataE]+0xb0): undefined reference to
google::protobuf::Message::SpaceUsed() const'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol12UnitTypeDataE[_ZTVN14SC2APIProtocol12UnitTypeDataE]+0x20): undefined reference to google::protobuf::Message::GetTypeName[abi:cxx11]() const' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol12UnitTypeDataE[_ZTVN14SC2APIProtocol12UnitTypeDataE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorStringabi:cxx11 const'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol12UnitTypeDataE[_ZTVN14SC2APIProtocol12UnitTypeDataE]+0x60): undefined reference to google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol12UnitTypeDataE[_ZTVN14SC2APIProtocol12UnitTypeDataE]+0xa8): undefined reference to
google::protobuf::Message::DiscardUnknownFields()'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol12UnitTypeDataE[_ZTVN14SC2APIProtocol12UnitTypeDataE]+0xb0): undefined reference to google::protobuf::Message::SpaceUsed() const' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol6WeaponE[_ZTVN14SC2APIProtocol6WeaponE]+0x20): undefined reference to
google::protobuf::Message::GetTypeNameabi:cxx11 const'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol6WeaponE[_ZTVN14SC2APIProtocol6WeaponE]+0x58): undefined reference to google::protobuf::Message::InitializationErrorString[abi:cxx11]() const' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol6WeaponE[_ZTVN14SC2APIProtocol6WeaponE]+0x60): undefined reference to
google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol6WeaponE[_ZTVN14SC2APIProtocol6WeaponE]+0xa8): undefined reference to google::protobuf::Message::DiscardUnknownFields()' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol6WeaponE[_ZTVN14SC2APIProtocol6WeaponE]+0xb0): undefined reference to
google::protobuf::Message::SpaceUsed() const'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11DamageBonusE[_ZTVN14SC2APIProtocol11DamageBonusE]+0x20): undefined reference to google::protobuf::Message::GetTypeName[abi:cxx11]() const' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11DamageBonusE[_ZTVN14SC2APIProtocol11DamageBonusE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorStringabi:cxx11 const'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11DamageBonusE[_ZTVN14SC2APIProtocol11DamageBonusE]+0x60): undefined reference to google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11DamageBonusE[_ZTVN14SC2APIProtocol11DamageBonusE]+0xa8): undefined reference to
google::protobuf::Message::DiscardUnknownFields()'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11DamageBonusE[_ZTVN14SC2APIProtocol11DamageBonusE]+0xb0): undefined reference to google::protobuf::Message::SpaceUsed() const' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11AbilityDataE[_ZTVN14SC2APIProtocol11AbilityDataE]+0x20): undefined reference to
google::protobuf::Message::GetTypeNameabi:cxx11 const'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11AbilityDataE[_ZTVN14SC2APIProtocol11AbilityDataE]+0x58): undefined reference to google::protobuf::Message::InitializationErrorString[abi:cxx11]() const' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11AbilityDataE[_ZTVN14SC2APIProtocol11AbilityDataE]+0x60): undefined reference to
google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11AbilityDataE[_ZTVN14SC2APIProtocol11AbilityDataE]+0xa8): undefined reference to google::protobuf::Message::DiscardUnknownFields()' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTVN14SC2APIProtocol11AbilityDataE[_ZTVN14SC2APIProtocol11AbilityDataE]+0xb0): undefined reference to
google::protobuf::Message::SpaceUsed() const'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTIN14SC2APIProtocol10EffectDataE[_ZTIN14SC2APIProtocol10EffectDataE]+0x10): undefined reference to typeinfo for google::protobuf::Message' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTIN14SC2APIProtocol8BuffDataE[_ZTIN14SC2APIProtocol8BuffDataE]+0x10): undefined reference to
typeinfo for google::protobuf::Message'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTIN14SC2APIProtocol11UpgradeDataE[_ZTIN14SC2APIProtocol11UpgradeDataE]+0x10): undefined reference to typeinfo for google::protobuf::Message' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTIN14SC2APIProtocol12UnitTypeDataE[_ZTIN14SC2APIProtocol12UnitTypeDataE]+0x10): undefined reference to
typeinfo for google::protobuf::Message'
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTIN14SC2APIProtocol6WeaponE[_ZTIN14SC2APIProtocol6WeaponE]+0x10): undefined reference to typeinfo for google::protobuf::Message' /opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTIN14SC2APIProtocol11DamageBonusE[_ZTIN14SC2APIProtocol11DamageBonusE]+0x10): more undefined references to
typeinfo for google::protobuf::Message' follow
collect2: error: ld returned 1 exit status
src/CMakeFiles/CommandCenter.dir/build.make:958: recipe for target 'bin/CommandCenter' failed
make[2]: *** [bin/CommandCenter] Error 1
CMakeFiles/Makefile2:85: recipe for target 'src/CMakeFiles/CommandCenter.dir/all' failed
make[1]: *** [src/CMakeFiles/CommandCenter.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
from commandcenter.
It seems that you haven’t properly installed protobuf from sc2api.
What surprises me, is cmake finds the package and there is no error before make:
The Blizzard team will gladly accept patch for ‘make install’ :) otherwise you should either use suggested approach or adjust build routine to your needs.
from commandcenter.
How can i install protobuf from sc2api properly?
Logs below are from before I did the following steps:
git clone https://github.com/Blizzard/s2client-proto
sudo ./install_proto.sh
sudo python setup.py install
Then tried building everything again, didnt work. How should it work?
I attached the cmake and make files of the steps in the installation guide.
from commandcenter.
Sc2api-proto != protobuf
Just follow our instructions in the readme, i.e. compile the api and execute all the suggested commands. There is no need in doing something with sc2api-proto
from commandcenter.
I did follow the steps multiple times. Do you mean by installing tthis line
$ sudo cp -R contrib/protobuf/src/google /opt/local/include/sc2api
?
sudo protoc --version
libprotoc 3.4.0
Is this the right version?
Might that be a path problem? Do I need that in system or python path? Not all distros have those in the path automatically.
from commandcenter.
Do you mean by installing tthis line
And copying the library too. All the commands are essential.
Is this the right version?
Unfortunately I don’t know which version is correct. The Blizzard team uses its own fork of protobuf as a submodule with several patches (you can see it in the code of the api). If you have another version of protobuf installed (e.g. from your repos) that could be a problem, but this is just a guess.
from commandcenter.
Might that be a path problem?
At least on OS X this is not needed.
from commandcenter.
I also copied the libraries of course. Did you test it on a Linux Distro? If yes, which?
I am close to out of ideas. How does blizzards fork get installed in the whole process? Could I check if that worked? Should I purge all proto-stuff from the system before building?
I can use the PySc2 stuff without problems, so I dont know where the problem is.
from commandcenter.
Could you please give me the output of your
protoc --version
OS X or Unix.
from commandcenter.
Did you test it on a Linux Distro?
Not me, but other people did, e.g. see #33
How does blizzards fork get installed in the whole process
Headers must be taken from the contrib folder and the library from the build folder.
I can use the PySc2 stuff without problems, so I dont know where the problem is.
Because it is python and all the c++ things are precompiled. According to your logs you have linking problem thus you should check which library is used by the linker.
Please look at #21 there are a lot of useful info.
from commandcenter.
#21 looks like he had the same problem. Not sure if he succeeded at the end, but I'll have a look at this if, hopefully next week.
One OT question: Is there any performance boost gain by using commandcenter over pysc2? I'd love to program in c++, but python is also ok if isn't the bottleneck when running headless sc2 simulations.
from commandcenter.
In general only Cython is comparable to C++ if you search for performance. However I haven’t heard about any performance issues in pysc2 yet.
Regarding pysc2 there was small discussion here:
Blizzard/s2client-api#116
from commandcenter.
Sincere apologies to everyone who has been helping on the linux side of things but this new huge update probably broke everything you had done so far
from commandcenter.
No problem. Thanks for the support so far! I cant promise (because new stuff which has to be done first pops up basically daily right now), but I'll try to get into it mid november, but it is now low priority because I am very happy with pysc2 and python in general.
from commandcenter.
So many ifdefs now :(
I’ll check OS X in the nearest time. Is there any way to run BW bot on OS X with the API?
from commandcenter.
I realize the ifdefs aren't fun, but they're 1) mostly in the wrapper code, and 2) all dependent on a single define "SC2API" being there or not being there, so it should be easy to stick that in a makefile. I couldn't think of any other way to make this work without their use, since SC2 requires x64 and BW requires x86 they have to be compiled separately anyway
from commandcenter.
In general it is possible to get rid of ifdefs mostly by moving all the specific code into a separate files /classes with additional inclusions/inheritance and using cmake to optionally include either one file or another. However that leads to a much more complicated project.
The bot is still good, see #50 for the latest fixes. No problems with compilation under the latest API.
from commandcenter.
I would much rather have a few ifdefs than bloat the project with inheritance everywhere - which also means maintaining more files and a separate project for each bot.
Unless you are modifying the bot's underlying data types like MapTools, Unit, UnitType, etc - you probably won't even come across any of the ifdefs :)
from commandcenter.
If this issue has been resolve, can you close the thread?
from commandcenter.
I couldn't resolve it and wont be able to test it until in 2 two weeks, but @alkurbatov has tested it with the new fixes? If it worked on any Linux distro it can be closed. But please state on which distro in the readme.
from commandcenter.
I believe this is a different issue caused by presense of another version of the protobuf library. Several people have reported similar issues before.
I’ve tested the build on OS X but Ubuntu/other linux could be different. I will try To build in a Docker Container, that could help to test the build but not the execution.
from commandcenter.
Then leave it open, because the linux build is still problematic, which is ok, Windows and OS X support seems a lot more important, but some people might try to build it on linux.
from commandcenter.
That's a tricky one.
I've reproduced the issue in a Docker Container with Ubuntu 16.04.3 LTS however I don't understand where this failure comes from. It seems that the protoc utility is not the one to blame (as it is used internally in the API to generate some source files) and it is enough to link with libprotobuf. Also there are no other protobuf libraries inside so this is not the versions conflict.
The problem comes from libsc2protocol.a which requires some symbols from libprotobuf.a which by unknown reason not found by the linker. I assume that the real problem comes from the way the API build because there are a lot of options (like 'use zlib', 'use sdl', 'use multythreads' and many-many others).
Probably we should try the precompiled version of the API if it exists.
from commandcenter.
Just in case somebody wants to create the same build environment using Docker:
https://github.com/alkurbatov/stash/blob/master/work/docker/ubuntu-dev/Dockerfile
from commandcenter.
At what installation step is your build crashing? And with which output?
from commandcenter.
At linking.
Linking command:
/usr/bin/c++ -Wall -Wextra CMakeFiles/CommandCenter.dir/BuildOrderQueue.cpp.o CMakeFiles/CommandCenter.dir/MapTools.cpp.o CMakeFiles/CommandCenter.dir/WorkerData.cpp.o CMakeFiles/CommandCenter.dir/BaseLocation.cpp.o CMakeFiles/CommandCenter.dir/BuildingData.cpp.o CMakeFiles/CommandCenter.dir/SquadOrder.cpp.o CMakeFiles/CommandCenter.dir/MicroManager.cpp.o CMakeFiles/CommandCenter.dir/RangedManager.cpp.o CMakeFiles/CommandCenter.dir/BuildingPlacer.cpp.o CMakeFiles/CommandCenter.dir/MeleeManager.cpp.o CMakeFiles/CommandCenter.dir/BuildOrder.cpp.o CMakeFiles/CommandCenter.dir/CCBot.cpp.o CMakeFiles/CommandCenter.dir/Util.cpp.o CMakeFiles/CommandCenter.dir/BotAssert.cpp.o CMakeFiles/CommandCenter.dir/JSONTools.cpp.o CMakeFiles/CommandCenter.dir/Squad.cpp.o CMakeFiles/CommandCenter.dir/UnitType.cpp.o CMakeFiles/CommandCenter.dir/UnitInfoManager.cpp.o CMakeFiles/CommandCenter.dir/BaseLocationManager.cpp.o CMakeFiles/CommandCenter.dir/DistanceMap.cpp.o CMakeFiles/CommandCenter.dir/StrategyManager.cpp.o CMakeFiles/CommandCenter.dir/Unit.cpp.o CMakeFiles/CommandCenter.dir/main.cpp.o CMakeFiles/CommandCenter.dir/BuildingManager.cpp.o CMakeFiles/CommandCenter.dir/GameCommander.cpp.o CMakeFiles/CommandCenter.dir/ScoutManager.cpp.o CMakeFiles/CommandCenter.dir/SquadData.cpp.o CMakeFiles/CommandCenter.dir/Building.cpp.o CMakeFiles/CommandCenter.dir/ProductionManager.cpp.o CMakeFiles/CommandCenter.dir/BotConfig.cpp.o CMakeFiles/CommandCenter.dir/TechTree.cpp.o CMakeFiles/CommandCenter.dir/WorkerManager.cpp.o CMakeFiles/CommandCenter.dir/CombatCommander.cpp.o CMakeFiles/CommandCenter.dir/UnitData.cpp.o CMakeFiles/CommandCenter.dir/MetaType.cpp.o -o ../bin/CommandCenter -rdynamic /opt/local/lib/sc2api/libcivetweb.a /opt/local/lib/sc2api/libprotobuf.a /opt/local/lib/sc2api/libsc2api.a /opt/local/lib/sc2api/libsc2lib.a /opt/local/lib/sc2api/libsc2protocol.a /opt/local/lib/sc2api/libsc2utils.a
Produce errors like this one and a lot of others:
/opt/local/lib/sc2api/libsc2protocol.a(data.pb.cc.o):(.rodata._ZTIN14SC2APIProtocol11DamageBonusE[_ZTIN14SC2APIProtocol11DamageBonusE]+0x10): more undefined references to `typeinfo for google::protobuf::Message' follow
from commandcenter.
Lets ask Blizzard, I have no idea how to solve the issue.
See Blizzard/s2client-api#170
from commandcenter.
The build problem is solved in #52
However I haven't tested the bot itself.
from commandcenter.
Related Issues (20)
- Linker errors after merging latest changes HOT 5
- Bug with CatalystLE: unable to find all base locations HOT 4
- null self base location HOT 3
- Config file not found? HOT 5
- "corecrt.h" not found? HOT 3
- how can use in online mode? HOT 1
- How do I play against my own AI ? HOT 2
- Expansion Error
- a
- class BWAPI::Race has no member "Protoss" HOT 14
- Segmentation Fault After Game Started HOT 1
- How many kinds of units and buildings CommandCenter can construct? HOT 1
- Cannot open include file: 'cstdio' HOT 5
- cannot open input file 'BWAPI.lib' HOT 1
- COMMANDCENTER: AN SC2 AI BOT on windows HOT 3
- CommandCenter doesn't work with StarCraft 2 >= v4.10 HOT 2
- Default BotConfig.txt Causes Crashes in SC:BW HOT 1
- [Windows] [SC2] Bot unable to build building HOT 5
- malloc: can't allocate region
- Run example of Commandcenter,* homeBase = getPlayerStartingBaseLocation(player) is NULL HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from commandcenter.