Computers are better than humans at a lot of things but there are numerous problem spaces where they struggle. Anything with complex branching or large numbers of possibilities forces them into costly jumps, negating the benefits of their ability to think in microsecond increments. This is why it took computers so long from beating humans at something like tic-tac-toe, a computationally simple game, to beating humans at chess. However one game has proven elusive to even the most cutting edge AI developers, the seemingly simple game Go. This is because unlike chess or other games, which often rely on brute forcing out many possible moves and calculating the best one, Go has an incomprehensibly large number of possible moves making such an approach near impossible. However Google’s DeepMind AI, using their AlphaGo algorithms, has successfully defeated the top European player and will soon face its toughest challenge yet.
Unlike previous game playing AIs, which often relied on calculating board scores of potential moves, AlphaGo is a neural network that’s undergone whats called supervised learning. Essentially they’ve taken professional level Go games and fed their moves into a neural network. Then it’s told which outcomes lead to success and which ones don’t, allowing the neural network to develop it’s own pattern recognition for winning moves. This isn’t what let them beat a top Go player however as supervised learning is a well established principle in the development of neural networks. Their secret sauce appears to be a combination of an algorithm called Monte Carlo Tree Search (MCTS) and the fact that they pitted the AI against itself in order for it to get better.
MCTS is a very interesting idea, one that’s broadly applicable to games with a finite set of moves or those with set limits on play. Essentially what a MCTS will do is select moves at random and play them out until they’re finished. Then, when the outcome of that play out is determined, the moves made are then used to adjust the weightings of how successful those potential moves were. This, in essence, allows you to determine what set of moves are most optimal by refining down the problem space to what is the most ideal set. Of course the tradeoff here is between how long and deep you want the network to search and how long you have to decide to make a move.
This is where the millions of games that AlphaGo played against itself comes into play as it allowed the both the neural networks and the MCTS algorithm to be greatly refined. In their single machine tests it only lost to other Go programs once out of almost 500 games. In the match played against Fan Hui however he was matched against a veritable army of hardware, some 170 GPUs and 1200 CPUs. That should give you some indication of just how complex Go is and what it’s taken to get to this point.
AlphaGo’s biggest challenge is ahead of it though as it prepares to face down the current top Go player of the last decade, Lee Sedol. In terms of opponents Lee is an order of magnitude higher being a 9th Dan to Fan’s 2nd Dan. How they structure the matches and their infrastructure to support AlphaGo will be incredibly interesting but whether or not it will come out victorious is anyone’s guess.
There are some genres in which few dare to tread for fear of being crushed by the long reigning champion. For city building games there was really no comparison to Sim City, a game that had been around for decades and had captured the hearts and minds of a generation of gamers. However their last release, Sim City 4, showed that even the mighty can fall and the community began looking for alternatives. There have been others that have recieved some praise, like Banished and Anno 2070, but they never tried to beat Sim City at its own game. Cities: Skylines is a new entrant into the city building genre and it takes direct aim at the crown, going right at the foundation of what made Sim City great.
Despite its namesake Skylines is not the next instalment in the Cities series of games (which are developed by Focus Home Interactive) instead it comes to us care of Colossal Order who’s previous titles are the Cities in Motion series. Essentially these were cut down versions of what Skylines looks to achieve, being focused solely on the deployment and maintenance of subway systems in famous locations. Skylines is then a natural progression for Colossal Order, taking their lessons learnt from the mixed reviews their games received and aiming high in the wake of Sim City’s failures.
Skylines is built on the ever popular Unity engine which means, as usual, it has a very similar look and feel to other titles that have been released on it. For a city building simulator this isn’t much of a bad thing as you’ll spend the vast majority of your time at a birds eye view. That being said close inspection of my screenshots from both games shows a pretty similar level of detail with the main difference being Sim City favours a light and bright colour palette whilst Skylines is a bit more muted. Indeed comparing both of them it feels like Skylines simply directly ripped off most of the visual and interface elements from Sim City as even the order of the bottom row is identical. The layout works however so it’s hard to fault the imitation but usually it comes with just a touch more subtly.
As you’d expect Skylines is a city building game, one where you start out with nothing and have to build your way up to a grand town with thousands of citizens. The controls and mechanics will be instantly familiar to anyone who’s played their fair share of games in this genre, especially anyone who’s spent even a small amount of time with Sim City. You’ll drop down roads, zone areas for certain types of development and deploy services that your citizens needs. Interestingly most of it isn’t accessible to you right at the start, instead the game slowly unlocks things as your population increases. Considering there’s no real tutorial to speak of (those hints don’t really count) this helps in understanding what each of the services does and where the best place is to place them. On top of this Skylines boasts an AI that doesn’t do the things that made Sim City 4 such a chore to play however it still has its own set of quirks, some of which are fun and others which are downright confusing.
Like all city building games Skylines has an optimal configuration for the roads, facilities, zoned areas and transportation but what that is can be a tricky thing to decipher. My first couple towns, which were centred on a main arterial with small roads coming off it, worked reasonably well at the beginning but quickly fell apart once the population started ramping up. The configuration below seemed to be the best one I could come up with, using long main roads without many intersections and having side roads come off them. The main limiting factor is the fact that zoned areas need to be next to roads so there’s only so much space you can pen in. I wholly admit that this was me trying to solve the transport problem with roads alone as once I added in metro lines things seemed to get a lot better.
There’s a few quality of life features in Skylines that makes your time a little easier, like power jumping from adjacent buildings so you don’t have to run power lines all the way through your city to get it going. The same can’t be said for other services though and so you’ll spend much of your time laying water pipes and other various bits of infrastructure to expand your city. That’s not terribly laborious however it does start to lose its lustre after a little while. It would be nice to be able to create patterns that you could stamp down, something which would form its own little mini-game of developing the best city cells to use for your larger deployments. Thankfully that’s something that might end up happening thanks to the already thriving modding community that’s sprung up around this title.
The city simulation seems fairly robust with things behaving how you’d expect them to. It’s a little more logical than what I remember Sim City being with things like the size of the road mattering when you place down a fire station or university. This adds a little more complexity to the city planning aspect of the game but it’s also far more rewarding when you manage to place a single building that then covers your entire city for that particular service. The AI actors are also not functionally retarded and perennially homeless like their Sim City brethren were, going back to the same homes each night and not taking the least cost path to everything all the time. This means that you can stack certain services on top of each other to service a particular need, something you just couldn’t do in Sim City 4.
As to whether Skylines is “the game Sim City should have been” well in all honesty they both play very similarly, Skylines just has the benefit of the hindsight gleaned from the last failed release of its competitor. The main gripes (poor AI, can’t expand, always online, etc.) have all be addressed but they were things that weren’t above being fixed in Sim City anyway. I do like the potential the modding community has though as that could extend the life of this game well past anyone’s current expectations. Indeed just looking through the mods now shows many solutions to the issues currently plaguing players and some interesting concepts for improving some of the core game mechanics.
Which, if I’m honest, are where Skylines is the weakest. Try as I might to understand why certain things are happening in my game, like below where there are dozens of buildings lying abandoned, I can’t for the life of me figure out what’s going wrong. Sim City got around this problem somewhat with the advisors, something Skylines attempts to do with the tweet roll at the top, however it’s hard to trace problems to their root cause when all the information you get is “This building is abandoned!”. I know its hard for smaller developer houses to invest heavily in tutorials or helpers like this however this was what made me stop playing as I really could not be bothered hunting around forums to figure out how to stop buildings from being abandoned, make commercial places produce more goods or the bloody lumber yards from burning down even though they had 2 fire departments right next to them.
Cities: Skylines does a great job of taking the fundamental ideas that Sim City 4 attempted and addressing every issue that the community had with it. The resulting game is something that has the same look and feel of its elder genre brethren but has many of the features the community wanted in it. That doesn’t necessarily make it the game that Sim City should aspire to be, indeed Skylines lacks any real originality or direction to where it might be going in the future. It’s a solid title, one that plays a heck of a lot better than Sim City 4 did, however it’s derivative and the onus is on the community to take it in new and strange directions to help differentiate it from its main competitor. That being said it’s still enjoyable to play and most certainly worth its current asking price.
Cities: Skylines is available on PC right now for $29.99. Total play time was approximately 8 hours with 36% of the achievements unlocked.
In a world where Siri can book you a restaurant and Google Now can tell you when you should head for the gate at the airport it can feel like the AI future that many sci-fi fantasies envisioned is already here. Indeed to some extent it is, many aspects of our lives are now farmed out to clouds of servers that make decisions for us, but those machines still lack a fundamental understanding of, well, anything. They’re what are called expert systems, algorithms trained on data to make decisions in a narrow problem space. The AI future that we’re heading towards is going to be far more than that, one where those systems actually understand data and can make far better decisions based on that. One of the first steps to this is IBM’s Watson and it’s creators have done something amazing with it.
Whilst currently only open to partner developers IBM has created an API for Watson, allowing you to pose it a question and receive an answer. There’s not a lot of information around what data sets it currently understands (the example is in the form of a Jeopardy! question) but their solution documents reference a Watson Content Store which, presumably, has several pre-canned training sets to get companies started with developing solutions. Indeed some of the applications that IBM’s partner agencies have already developed suggest that Watson is quite capable of digesting large swaths of information and providing valuable insights in a relatively short timeframe.
I’m sure many of my IT savvy readers are seeing the parallels between Watson and a lot of the marketing material that surrounds anything with the buzzword “Big Data”. Indeed much of the concepts of operation are similar: take big chunks of data, throw them into a system and then hope that something comes out the other end. However Watson’s API suggests something that’s far more accessible, dealing in native human language and providing evidence to back up the answers it gives you. Compare this to Big Data tools, which often require you to either learn a certain type of language or create convoluted reports, and I think Watson has the ability to find widespread use while Big Data keeps its buzzword status.
For me the big applications for something like this come for places where curating domain specific knowledge is a long, time consuming task. Medicine and law both spring to mind as there’s reams of information available to power a Watson based system and those fields could most certainly benefit from having easier access to those vast treasure troves. It’s pretty easy to imagine a lawyer looking for all precedents set against a certain law or a doctor asking for all diseases with a list of symptoms, both queries answered with all the evidence to boot.
Of course it remains to be seen if Watson is up to the task as whilst it’s prowess on Jeopardy! was nothing short of amazing I’ve still yet to see any of its other applications in use. The partner applications do look very interesting, and should hopefully be the proving grounds that Watson needs, but until it starts seeing widespread use all we really have to go on is the result of a single API call. Still I think it has great potential and hopefully it won’t be too long before the wider public can get access to some of Watson’s computing genius.
I’m not sure why but I get a little thrill every time I see something that’s been completely automated that used to require manual intervention from start to finish. It’s probably because the more automated something is the more time I have to do other things and there’s always that little thrill in watching something you built trundle along its way, even if it falls over part way through. My most recent experiment in this area was crafting the rudimentary trainer for Super Meat Boy to get me past a nigh on impossible part of the puzzle, co-ordinating the required key strokes with millisecond precision and ultimately wresting me free of the death grip that game held on me.
The world of AI is an extension of the automation idea, using machines to perform tasks that we would otherwise have to do ourselves. The concept has always fascinated me as more and more we’re seeing various forms of AI creeping their way into our everyday lives. However most people won’t recognize them as AI simply because they’re routine, but in reality many of the functions these weak AIs perform used to be in the realms of science fiction. We’re still a long way from having a strong AI like we’re used to seeing in the movies but that doesn’t mean many facets of it aren’t already in widespread use today. Most people wouldn’t think twice when a computer asks them to speak their address but going back only a few decades would see that be classed as the realms of strong AI, not the expert system it has evolved into today.
What’s even more interesting is when we create machines that are more capable than ourselves at performing certain tasks. The most notable example (thus far) of a computer be able to beat a human at a certain non-trivial task is Deep Blue, the chess playing computer that managed to beat the world chess champion Kasparov albeit under dubious circumstances. Still the chess board is a limited problem set and whilst Deep Blue was a super computer in its time today you’d find as much power hidden under the hood of your Playstation 3. IBM’s research labs have been no slouch in developing Deep Blue’s successor, and it’s quite an impressive beast.
Watson, as it has come to be known, is the next step in the evolution of AIs performing tasks that have only been in the realms of humans. The game of choice this time around is Jeopardy a gameshow who’s answers are in the form of a question and makes extensive use of puns and colloquialisms. Jeopardy represents a unique challenge to AI developers as it involves complex natural language processing, searching immense data sets and creating relationships between disparate sources of information to finally culminate in an answer. Watson can currently determine whether or not it can answer a question within a couple seconds but that’s thanks to the giant supercomputer that’s backing it up. The demonstration round showed Watson was quite capable of playing with the Jeopardy champions, winning the round quite with a considerable lead.
What really interested me in this though was the reaction from other people when I mentioned Watson to them. It seemed that a computer playing Jeopardy (and beating the human players) wasn’t really a big surprise at all, in fact it was expected. This was telling about how us humans view computers as most people expect them to be able to accomplish anything, despite the limitations that are obvious to us geeks. I’d say this has to do with the ubiquity of computers in our everyday lives and how much we use them to perform rudimentary tasks. The idea that a computer is capable of beating a human at anything isn’t a large stretch of the imagination if you treat them as mysterious black boxes but it still honestly surprised me to learn this is how many people think.
Last night saw Watson play its first real game against the Jeopardy champions and whilst it didn’t repeat its performance of the demonstration round it did tie for first place. The second round is scheduled to air sometime tomorrow (Australia time) and whilst I’ve not yet had a chance to watch the entire round I can’t tell you how excited I am to see the outcome. Either way the realm of AI has taken another step forward towards the ultimate goal of creating intelligence born not out of flesh, but silicone and whilst some might dread the prospect I for one can’t wait and will follow all developments with baited breath.