Recently, I joined Google, where I'm the developer advocate for games. I've used this Gamasutra blog in the past to focus on game engines and middleware, and I'm planning to continue doing just that. In this post I'm going to talk a little about the work we've been doing with the team at Unity Technologies.
--
This week in San Francisco is Google I/O, the annual conference to get together and talk about all things Googley. There are over 5000 people attending for the two days, making Moscone West the temporary center of the Google developer universe. (Moscone Center is also where the annual Game Developers Conference is held.)
One thing that I've been pleasantly surprised by since joining Google is how focused on developers the company is. A friend of mine pointed out that when you live in Silicon Valley, you feel catered to as a developer - even the billboards on Highway 101 are targeted at developers. At Google, that feels amped up to another level. The company cafe I frequent has areas labelled "I18N" and "cd ~", for international foods, and homestyle foods. That may be a corny example, but this developer focus pervades the company. Making it as easy as possible for developers to work with Google technologies ultimately serves to benefit the users of the resulting applications.
At Google I/O this week, conference attendees are starting to see how Google's developer focus can manifest in the game development space. During the keynote Wednesday morning, Sundar Pichai, VP Product Management at Google, showed off Lego Star Wars, a Unity game developed by Three Melons (now part of Playdom).
The version shown in the keynote was the browser plugin version, due to issues with the presentation computer, but Lego Star Wars is now up and running in the Chrome browser via Native Client. Native Client will allow C++-based code to run securely inside the Chrome browser, enabling high-performance computing, 3D graphics, real-time interactivity... well, you know, I immediately just want to use it for games, so that's what I'm thinking about, but I'm sure other people will use it for other interesting compute-intensive tasks. :-)
Of course, Unity running inside the browser is nothing new - Unity has run in the browser via an installable plugin since 2006. But Native Client integrated into Chrome allows Unity games to run in the Chrome browser - on any operating system supported by Chrome - with no plugin required. Moreover, Unity also targets Android, making it a development solution that spans from small screen mobile games to large screen web-based games with a minimal amount of re-coding effort.
The team at Unity has been great to work with - they have a very similar philosophy to Google around empowering developers. Unity recognizes that the wider the reach of their platform, the more valuable the technology is to game developers. It's valuable for indy developers, who are trying to reach the largest audience possible with a tight budget, as well as large studios, who are trying to keep down development costs so they can outshine their competition and produce the best big-budget blockbuster that they can.
The Lego Star Wars game was shown in the context of the Chrome Web Store, an open marketplace for distributing web-based applications that will run in the browser. PopCap's Plants vs Zombies (a Flash-based game) was also shown in an example of purchasing a game via the Web Store. Just as it's important for game developers to have accessible cross-platform tools such as Unity and Flash, it's important for them to be able to easily reach an audience, to be able to distribute their games without too much pain. With Android Market and soon Chrome Web Store, Google will offer the ability to distribute - and even sell - games, from mobile to web.
Of course this is just the beginning for Native Client, and for the Web Store. I'm looking forward to seeing other game engines and libraries running inside the browser, and I'm thinking about porting over some of that old Game Programming Gems sample code to put into an online game programming tutorial. Why not? I think an open platform, plus an open marketplace for applications, plus high-quality tools for game developers, will result in a vibrant ecosystem for games and game developers. I'm looking forward to seeing what other game developers will create!
|
You are missing the point here. Google did not integrate the Unity plugin. They are pushing a new technology called native client, which allows execution of native code in a sandbox, embedded in a web site. This allows you to run Unity content, or do other things you wold normally do in a plugin, without requiring the user to install a plugin, or trust other parties to keep their data secure.
regarding "it would be great if google pushed for a web standard as well."
They are. Native client is open source, and they are actively encouraging other browser makers to pick up the technology.
There's privacy risks every time you run a non-browser or non-Steam based game, too.
"Also you want the ability to mod your games if you're going to be doing 'serious games' and not just simple flash games."
Or console games. Although Little Big Planet and UT3 seemed to do a pretty decent job at allowing mods; Halo 3 managed it too. But when you think about it, one of the most modded games of the past ten years has been StarCraft (spawning both the tower defense and MOBA genres), and it managed a it just with a map editor. I imagine Native Client's browser integration will make it even easier to allow users to distribute custom maps and such. I'm someone will be able to expose some sort of limited scripting too, maybe with LUA.
As long as there's a download and install process, it doesn't matter if it is a Native Client or a plug-in: you're going to get the same kind of user experience.
The only thing that could change is if Google bundles Unity with Chrome browser. If that happens, then it's a huge win for Unity.