There was a discussion in the comments when the Alpha Go results were released. Some commentors were postulating that AI researchers are discounting more fluid games such as the RTS StarCraft.
The comments then devolved into a discussion of what would make the AI fair to consider against a human player. Many times, AI in RTS games win because they have direct access to the variables in the game. Rather than physically looking at the small area of the screen where a unit is located and then moving their eye to take in strategic information like exact location, health, unit level, etc, the AI just knows that it’s at 120x,2000y,76%,lvl5, etc instantly. The AI also has no click lag as it gets direct access to the game’s API, it simply changes the variables and action queue of a unit directly.
So we were interested to see [Matt]’s Star Craft AI that required the computer to actually look at the game board and click. [Matt]’s AI doesn’t see using OpenCV, which in its own way is forcing the computer to look in a way that’s unnatural to it. He instead wrote some code to intercept the behind the scenes calls to the DirectX library.
The computer is then able to make determinations about what it is looking at using the texture information and other pieces sent to the library. Unlike AI’s that get a direct look at the variables, it has to then translate this and keep its own mental picture of the map and the situation. If a building is destroyed, for example, it has to go over and look at that part of the map, test what it’s seeing against a control, and then remove the building from its list.
The AI’s one big advantage are its robot fingers. Even though this AI has to click on the interface, it doesn’t do it with a weak articulated fleshy nub like the rest of us. This allows the AI to get crazy Actions Per Minute (APM) in the range of 500 to 2000.
The AI has only been tested against StarCraft’s built in cheater bots. So far it can win most games against the hard level bots. If you want to see a video of what the AI is looking at, check after the break.
Continue reading “Impressive StarCraft 2 AI More Fair to Fleshy Opponents”
Except for the really terrible Nintendo 64 port, StarCraft has always been bound to desktop and laptop PCs. Blizzard could take the code for StarCraft, port it to an ARM platform, put a version on the Google Play an iTunes store, and sit there while the cash rolls in. This would mean a ton of developer time, though, and potentially years tracking down hard to find bugs.
Or one random dude on the Internet could port StarCraft to an ARM platform. Yes, this means all the zerg rushes and dark templar ambushes you could possibly want are available for tablets and Raspberry Pis.
This godlike demonstration of compiler wizardry is a months-long project of [notaz] over on the OpenPandora team. Without the source for StarCraft, [notaz] was forced to disassemble the Win32 version of the game, convert the disassembly to C with some custom tools, and recompile it for ARM while linking in all the necessary Win32 API calls from the ARM port of Wine. Saying this was not easy is an understatement.
If you have an OpenPandora and want to relive your heady days of youth, you can grab everything you need here. For anyone without an OpenPandora that wants to play StarCraft on a Raspi, you might want to get working on your own recompiled port. Video below.
Continue reading “Playing StarCraft On An ARM”
A month ago [Andreas] started playing Starcraft 2 again. As he was not comfortable with the default hotkeys on a normal keyboard, [Andreas] decided to build his own.
He started by salvaging keys from an old keyboard he had lying around, then 3D printed the case you see in the picture above to fit them. The keyboard electrical design is a simple matrix and it appears that he etched the PCB himself. To provide the required USB connectivity, the Atmega8U2 was chosen. It comes with a pre-programmed USB bootloader that [Andreas] chose to activate when the left key is pressed at the system startup. The HID class was implemented using the LUFA-USB Framework and the final product is definitely good looking.
All the files required to duplicate his design can be found here. You can also checkout another starcraft keyboard and an ergonomic keyboard that we previously featured.
What do you do if you’re looking for a project, but don’t know what to do? If you’re [gltovar], just look around at your hobbies. He’s been playing Starcraft for a while and finally decided to build a custom Starcraft keyboard.
[gltovar] came across an interesting keyboard layout known as TheCore. Ostensibly, this layout allows the player faster access to the commands most used when playing Starcraft. [gltovar] decided he needed a keyboard specifically designed for TheCore, and set about making one of his own design.
The keyboard matrix is designed around a 1×5 row of keys, each attached to a Teensy microcontroller acting as a USB device. Each of these rows are a separate circuit board, allowing [gltovar] to move the rows up and down ergonomically in a custom enclosure.
It’s everything [gltovar] wanted in a custom keyboard. Whether it improves his Starcraft game is another story entirely, but we’re sure he’s at least having fun.
Continue reading “A custom Starcraft keyboard”
This Starcraft controller was designed as a contest entry. The goal of the contest was to provide a custom controller for the Starcraft Real-Time-Strategy game that shared some of the features seen in First Person Shooter controllers.
The design started as rough sketches. From the there button layout was prototyped before actually building a virtual model of the entire controller. A rendering of the model was submitted as a contest entry, and we’re glad it was also seen through to a physical device. This involved sending the design files off for 3D printing. What came back was painted and assembled to achieve the beautiful look seen above.
On the right is a stick that acts as the mouse controller. The buttons on the left are just the most necessary of Starcraft control keys. They all map to the appropriate keyboard keys and the device enumerates as an HID keyboard so no button mapping is necessary. That being said, a player does have the option of remapping if the layout doesn’t suit.
[Via Reddit with more info at Shoryuken]