It will be interesting to see how his talents are applied at Unity. Is Unity looking to improve the Asset Store with better AI, or is Unity looking to add an AI layer within the Unity Engine to make certain AI tasks easier to implement in games?
Yeah, his wiki page lists extensive work with machine learning. The problem for adding machine learning to most games is that machine learning takes a lot of CPU time during the training phase. That makes training largely impractical in a game engine.
I am wondering if Unity is planning to launch a premium AI as a service option with the AI training algorithm largely running in the cloud. If Unity did that and launched it with a good API, then there would be some market for that. The typical use case for that would be games that fed training data points to the cloud periodically and then called API methods to make predictions based on all of the users behaviors so far, instead of learning a specific user in realtime.
But I am a bit skeptical about running machine learning training on the user’s device during actual gameplay, simply because that would take away a considerable amount of CPU time that could be better used in other areas of the game. Once it is trained, it can be queried frequently with little CPU usage. But during training, machine learning hogs CPU clocks.
I am very interested to see what gets announced. I am really into everything AI related.
After reading the link, and especially Dr. Lange’s previous job and the comment from Unity’s CEO, I’m pretty certain it has nothing to do with game mechanics and everything to do with smart analytics. Applying machine learning to game design is still pretty much a pipe dream and Unity are hardly going to lead the way with that kind of thing.
Also, one of the main differences between Unity’s free and paid versions is analytics, so I expect they would be spending a lot of money making sure that it’s something that will benefit people who pay for it.
@Arowx … it’s starting to look like “AI” is your personal “Make MMO Button” magic-solution fixation. There isn’t much “AI” (insert flavor of the month, ML, DL, etc.) that Unity could provide to a game developer in a useful black-box way that couldn’t already be implemented by a dev who knows how to actually use it.
My first thought before I actually read anything was that they were hiring someone to develop tools to assist with AI in games but then it occurred to me that you don’t really need someone like that for a behavioral tree asset.
There’s a lot that Unity could do for AI with what’s already been known about for a decade. I was pretty sure it would be something a little more to do with infrastructure and not the game itself.
I see it as similar to database access, for example. Unity could add some type of DB support, and there are definitely games that need it, but it’s not really a game engine area of concern. And that’s what I meant by saying if a dev needs it and knows how to use it (e.g. not the hand-waving “Deep Learning will make my game Super Smart!” fantasy), then they can already add it – plenty of libraries around and so on.
The implementation of well-known techniques is rarely that difficult, it’s using it correctly (and training it correctly) so that it does something useful that is the real roadblock.
Exactly. Well said. A lot of people have misconceptions about what machine learning is and how it can be used. Most people cannot grasp the idea that machine learning is basically just a computer randomly generating a math formula based on a set of data. The real obstacles for implementing machine learning are actually boring data sciences stuff (like selecting data sets, normalizing data, etc).
There are plenty of libraries, including good free ones in nearly every language. If people wanted to integrate machine learning into a Unity project, they could do it right now for free. Of course, that is only true for people who are able to define the data well enough that they can feed it into the algorithm and receive something useful from the formula generated by the algorithm.
It was a joke, it’s all over the media about automation (AI ML) and robotic systems becoming more capable and starting to take over more jobs e.g. Smart Cars, Trucks, Vans and Drones will massively impact the transportation and delivery sectors.
IMHO machine learning is just getting computers with Deep Learning systems that are designed to be good at picking up on patterns in data. e.g. a Smart Car vision system.
And it takes a lot of examples to build up a good ML system for a specific task e.g. Imagine training an ML robot to pick up your coffee cups and put them in the dishwasher, how many images of coffee cups and things that it might encounter that are not coffee cups would it take for an ML system to recognise your empty/cold coffee cups before you teach it where the dishwasher is or how to pick up a coffee cup without spilling any of the contents.
ML’s pattern recognition could be a massive boon to any business with lots of historic training data, where trends or problems could be detected.
The question is what data does Unity have lots of that it can use to enhance its business?
And/Or how could game developers harness user data fromt their games to enhance their business, and how can Unity leverage ML to provide those services?
I’m guessing some sort of Cloud Analytics would be a great place to start providing a ML as a Service. If an ML can auto-detect problem areas in your game e.g. level, areas, purchases, stages that are causing a drop in players, then it could be a great system to have.
If the ML via an API then had Game Master control to adjust difficulty to maximise player retention it could make companies a fortune and be a good service for Unity to provide.
Q: Could games with Machine Learning ‘Game Masters’ be really hard to review and improve upon?
Your next Unity games uses Unity Cloud Analytics with the Game Master (ML) service sdk. This allows the GM to drive settings within your game that can affect difficulty and even the style or tone of your game (e.g. Lighting / Sky Colours / Textures ).
All players of your game that use their “Facebook” login and have played other Unity games have a player profile that the GM can then use to set the style and tone of your game and initial difficulty.
As players play through your game the GM is constantly analysing their data patterns to ensure maximum player retention.
A: Therefore one reviews experience of your game could be massively different from another reviews. Also games without this type of adaptive technology would struggle to provide a dynamic maximised flow state for their players.
Now I do not know if a ML system can do the above but I suspect that their inherent pattern recognition technology could with the right approach to open the way to ML GM driven games.
I’m not at all talking about generalised machine learning. I think Unity could add a dedicated interface for state machines and behaviour trees. I’ve made my own code for both of those, but (in the case of behaviour trees) not only was it hard to approach the subject in terms of how to code it, but both of them are perfectly suited to a visual editor which is something that again takes some time to learn how to create. Unity could easily save a lot of people a lot of time here. I’m not one of those people who likes to spend all my time ‘rolling my own’, I’d rather save my time for something a little more ground-breaking.
I’m aware of assets on the store but I’d rather it was part of the engine, and I’d prefer to depend on Unity themselves to keep things updated and running properly.
Again, I’m not talking about generalised machine learning (which, by the way, is anything but random). Generalised machine learning has very little application to games. When I say AI, I mean stuff that is and has been used across games of all kinds for years.
The short answer is ‘yes’. Generalised machine learning can potentially be whatever you want it to be. What’s more important is how long it will be before we reach that point, and how long after that it takes before it comes in a form that you can afford and use, and lastly whether or not it (in that state) would still be relevant to you in terms of your ability to take advantage of the games market.
My comment about random was with regards to how the training portion of machine learning is actually implemented. A training algorithm literally starts with random numbers as coefficients in the generated equation, and then randomly generates new coefficients over and over until it finds an equation that best fits the data. Even genetic styled training algorithms rely on a lot of randomization.
I bring this up because a lot of people have a fantasy about creating general intelligence using machine learning and then automatically adding smarts to every game they write. If those people understood how training works in machine learning, then I think some of those fantasy ideas would be replaced with more realistic solutions.
The training portion of machine learning literally tries to write an equation that best fits (according to a scoring formula) a set of training data.
When used properly. machine learning can do some interesting things. For example, you could set it up to predict the color of a flower based on several physical measurements of many flowers. With enough data, machine learning is useful. But is does not create a generalized intelligence that can automatically add smarts to games. It is certainly not something that game developers would want to use instead of all of the existing game AI techniques. (finite state machines, behavior trees, utility AI, route planning, possibility maps, etc)