General • 1:06:56
Like music and movies, games are an integral part of the digital lifestyle. Gaming on the Mac offers a great opportunity for you to bring original products to the platform, port world-class titles for a new audience, or develop the next best-selling game for multiple platforms. Kick off the gamers' view of WWDC 2006 with this overview, and get a glimpse of things to come.
Speakers: Ron Okamoto, Mark Lentczner, Ian Lynch Smith, Travis Brown, David Helgason, Andy Hess
Unlisted on Apple Developer site
Transcript
This transcript was generated using Whisper, it has known transcription errors. We are working on an improved version.
My name is Ron Okamoto, and I'm really happy to welcome you to this year's State of the Union for the games industry and the games market, Mac games market. It's going to be really interesting today. What we're going to do is we're going to talk a little bit about Mac games, what's been happening on the platform, and we're also going to get into some things about some trends that we see, two things that we think will be important for you.
And we'll also be talking about some ways to get your games done. And when we're all, you know, done with looking at them, figuring out what's going on with the market, we'll then tell you maybe even how to get published. So that's the ground that we want to cover this afternoon. So let me start off by something that I think all of you guys are very well aware of, which is the Mac market itself is booming right now. You can take a look at the revenue trends there.
It's been really strong for us. But what I think is important for all of us here is, if you stand back and think about it, a lot of people have been saying, well, gee, that's a lot of iPod revenue, that's a lot of iTunes revenue. You know, what's happening with the Mac? What's happening with the things that's running your games? Well, if we take a look at that, let's look at volume. So here you have 2003, 4, and 5 showing the steady growth that we had in Mac volume. But look what happens when I lay 2006 on top of it.
You can see it's been really strong. And Steve mentioned to you the strong sales and the strong unit growth that we've had in our Intel-based portables over the last year as well. So what's great for you guys is that we think there's a fantastic opportunity now for the Mac and gaming because the volumes were up and we know that people want to play games.
But the other thing that they do is they also want native applications. They want platform experiences and things that really take advantage of what makes a Mac app a Mac app. And, you know, that's really what this whole week's dedicated to. And we're going to get really deep into that. But we want to just let you know, you know, there's some developers out there who have been doing really great jobs. I mean, there's a lot of you guys doing a great job.
But two that come to mind. One, for example, is Microsoft. When Microsoft introduced their most current version of Office, they used a lot of really cool things. Like transparency, Aqua, OpenGL, and some stuff to make their app look great. And they have been having fantastic business on it. In fact, within Microsoft, they're considered one of the stars of business performance for last year.
Another great developer is Delicious Monster and their Delicious Library product. You know, Will Shipley has integrated EyeSight camera functionality into his application, really taking advantage of some of the things that we provide with the baseline Mac. And we think that's another opportunity for you because, for example, if you take a look at what we're doing with all of our applications in general, all third parties in general, it's been really strong. A half billion dollars sold only in our channel, only in our retail channel over the last year. So that's a lot of products moving. And if we click down underneath that, you can see that games is the number one volume category in our retail stores.
Now, this is just our stores. That's not everybody else out there that's distributing and selling Mac products. So again, one thing I really want to make clear is, the games and Mac go together extremely well, and it's extremely strong. And in fact, sales are up 10% by revenue this year. So again, these are pointing to a really, really strong trend toward what's happening with us today, games on the Mac.
Now, another thing, another way of measuring that interest is taking a look at how are people looking for these. So for example, if you look at our Apple store, we search for everything, right? People are looking for iPod accessories, they're looking for, you know, bags for their new MacBook, and things like that. Oh, I went a little too fast there. Sorry, guys. Anyway, it is within the top five of all the searches that are going on. And these are millions of searches that are happening today.
So one thing I want to make clear for everybody is that what's happening here is that we've noticed, and we know, that our Mac customers are rewarding developers for a great platform experience. And what applies to Office and Delicious Monster applies to games as well. So Mac customers want native games.
And right now, today, we have some efforts going on there. So for example, Universal Binaries, a really big thing that we introduced last year. And we have to tell you, the games community was one of the fastest to jump on top of that. So here we are today, a little over a year since we announced it, 212 days since we shipped our first machine. And take a look at some of the great titles that are out there now.
Shipping Universal today, Aspire, Blizzard, a lot of our great partners have been doing a good job on moving to Universal Binaries. And we want to thank you for that. But it's not just what's happening with these kind of titles as well. There's international involvement now. There are some really interesting things going on overseas. And I want to show you one here that we're particularly fond of. And maybe you'll see why.
This game came from a Chinese student developer. This gentleman, his name is Ben, I believe. He is in Tangji University in Shanghai, China. And if you take a look at what's going on here, he's making some really interesting things happen here. I love this part, because you're going to see a bunny eat a bull.
Look at that. That's one mean bunny. Anyway, you see this bunny eat this bowl, but this is done by a student developer using the Mac platform. This is only on the Mac. And these guys have a great student effort going on there, and I think it's just one of many going around the world.
And I'll tell you, the coolest experience I had was about now about two and a half years ago. I was at this university. And these guys have these great labs out there. You know, they have a Mac lab, they have a Windows lab, and they have a Unix lab.
And when I went to visit them, they said, "Man, the Mac lab is the most popular on campus." Now for background, there's not a lot of Macs in China right now. We're still growing that market, but our penetration isn't nearly what it is for Linux and Windows. And so when I asked the guy, I said, "Well, that's interesting.
How come this guy, this student looks at me like I'm crazy and says, 'Well, because it's cooler.'" And so, you know, if you have that kind of resonance going on worldwide right now, again, we think not only are we doing great things with our major developers, but there's a seed here. There's inspiration going on for student developers as well.
And of course, there you go, Animal Kingdom by Ben. And of course, we got AAA titles, things like Worlds of Warcraft, which has been fantastic. I mean, these guys were one of the first to come out on universals, and they've been having huge success. Look at that, they got six and a half million users today.
And a good, you know, not a good portion, but there's a strong number in there that's Mac users. In fact, I dare say, you know, some of you out in the audience could probably count yourself in that group. So again, there's an example of what's happening with Mac development today, we got the universal binaries, we have student developers, we have AAA titles, all happening right now.
So that's what's going on right now. But we also wanna look a little bit forward. So, there's two things we'd like to highlight today. Two things. The first is online gaming. How many of you guys here in this room have actually played an online game? Okay, the data's good.
Yeah, myself as well. Let's take a look at this. First of all, PC remains the favorite gaming device, primarily because of online games. You know, it's really what's been holding the PC market together for the gaming industry is the online phenomenon. Take a look at this. You know, Red Herring, the famous, you know, prognosticators of telling people where the world's going technology-wise, finance-wise, and otherwise, they cite that online gaming is one of the major trends. And, you know, again, just looking at you guys saying how many of you guys have played online games, we get it.
The second thing is, take a look at here, you know, of the Mac and PC online gaming, 46% of the users are playing online games. That's huge. That's almost one out of every two. Another thing is, take a look at the growth of the projected revenue in this segment. You know, today, it's $1.1 billion. By 2009, $3.5 billion. This is a projection, but guys, there's a lot of zeros in there, so this is significant.
The last thing, and the thing that we think is really great, is if you take a look at your typical Mac user, and you take a look at your typical Windows user, that Mac user is broadband, they're connected, and they're online. They are a perfect audience for online games.
And because of this, what I want to do is introduce you guys to Mark Lenstner. Now Mark is with Linden Labs, and these guys are doing some super interesting things with online, and games, but as well as a concept. And I want him to go ahead and show you guys all the cool stuff they're doing. So Mark, thank you.
So I'm Mark Lenstner. I'm a studio director at Linden Lab, which means I run one of the engineering studios or groups in Linden Lab. By the way, for those of you that missed it, that's not a mock-up. That is a Real Business Week cover. The avatar on the cover there is one of our most famous residents. She's Anqi Cheng. She's a virtual real estate developer. And the real Anqi Cheng, the person behind the avatar, actually makes a six-figure real-life income from her work in Second Life. So you might want to listen up.
All right, let me tell you a little bit about Linden Lab before I delve into Second Life. We're a really
[Transcript missing]
Now, Second Life is a virtual world, or a metaverse, in which we simulate land and physics and objects, and we have a scripting system and an economy.
And it's really big. I mean, really big. There are a lot of numbers up there that are fun. It's not just bigger than Boston, it's three times bigger than Boston, or twice as big as San Francisco. Second Life is a whole ecosystem of people and social groups working to do everything from fun to serious business, making use of our existing economy. There's a whole in-world economy that actually supports real payments. And this creates, well, let's go ahead and see it. Let's go get the demo and see what's going on in Second Life.
This is live, we're running off the internet here live. Now our heritage is certainly games, but it's... Great, someone's already talking to me in world. Our heritage is certainly games, but we've evolved into something much bigger. So for example, we're starting here at Riverwalk. Riverwalk is an in-world cafe and art gallery, outdoor art gallery with some, let's say the Swan Boats from Boston for you to be able to ride.
But something you can also do at Riverwalk is you can play games. So here is actually a chess set that someone's built. And over here is some kind of interesting, some kind of hex grid-based land game. And you can see Mahjong off on the side. Now everything in Second Life, if I haven't mentioned it, is built by the residents. We don't build this. It's all built by the people in Second Life. And people build a lot, a lot of games. So there's all these kinds of games.
But there's a big variety of other kinds of games that we're going to go see. So for example, let's see why I start going there. There are board games and sports games. There's golf. There's yacht racing, which is really, really cool. There's giant 11-meter-tall snail racing every Saturday.
It's really great, worth going to go see. People build word games. People build all sorts of games. And hopefully, I've got a bunch of friends here who were going to be playing war games. Let's see if they're actually there. I think they're over in the other spot. Let's go see them.
Ah, yes, there Yeah, so you can fly over. Let's see, this is, this game is actually, we have a games contest in Second Life. Every year we get people to build in games, and this is one of this year's winners. And they are building, this is great, this is kind of like a robot war style thing. All these things are objects they've built, they're all scripted, they're all having a big fallout battle here, which is really a lot of fun.
And we'll say something, thanks. and David So I like this example because this is kind of a new kind of game that people have built in here. All sorts of crazy stuff. Now when it comes to games, we have to talk about not only just existing games, but also a new trend of serious games. Serious games are simulations and games and training exercises designed for research or for training purposes.
A good example is there's an emergency response training program with a complete simulated UC Davis campus where people can set the hospital on fire and all the fire trucks come out. It's pretty wild. There's also, someone did, there's I think 13 courses, university courses taught in World this year, and someone did a whole physics optics lab where you can do optics experiments in World.
So games can have a lot of other meaning. This is an interesting place. This is the International Space Flight Museum built in World with I think a building of every rocket ever shot into outer space. Complete models with note cards and information about all the things that are there.
But of course, you know, we can have a little fun with it. We can actually, actually ride one of the rockets. Here, I think we can go to the Gemini rocket and ride it. Alright, there we are on the Gemini rocket, and it's asking us to say "blast off" when we're ready. So, there we go. So we're blasting off.
And I'll show the, we'll zoom out here. As soon as we get, there we go. So you can see the rocket flying up into the space here. There it is, flying out. So the International Space Flight Museum is kind of a whole museum and simulation of some of the facts where you can do an interesting amount of learning. We're now in orbit around the Earth, and soon we'll actually go up and see the museum there.
Interesting about entertainment is that there's a wide variety of games and entertainment in Second Life because we have a wide variety of population. There we go. We have 43% female users. Our age demographics exactly match that of the United States, and we have 25% international users. So there's a wide variety of things going out there. It's one of the great things you do when you do stuff online, is that you get great, diverse user bases.
Here's the International Space Station. Endeavor loaded there, and there's a bunch of stuff. Actually, this whole simulation allows you to fly to, I think, every planet in the solar system, which is a tremendous amount of fun. We're going to do a two-second see if this is going to work today. Yes! We made it to Mars. There we go. There's actually the lander and stuff. So there's a whole variety of things. By the way, this is... All right.
Now, while there's this stuff happening up here in space, there's some more real-life stuff going on, which is, I think, getting interesting. We're beginning to see a connection between real life and virtual online life. So, we've recently had book readings and signings by Cory Doctorow, Professor Lawrence Lessig, and Kurt Vonnegut. There were, the BBC held a simultaneous concert in Scotland and in Second Life.
Susan Vega recently gave an in-world concert. And these kind of connections between real life and Second Life, or between things online and things in the real life, are beginning to expand and do just great things. Here's a commercial opportunity. This is American Apparel, an actual manufacturer of clothing, that opened a virtual store.
So, many people say, "Well, why have an online virtual 3D store when you can actually just go to a website?" And that's because shopping is, well, a social experience, right? So, here you can actually go into a store and buy something. So, you can actually go into a store and buy stuff. Oh, my God, there's Amy Webber. I'll talk about her in just a second.
So, you can see a whole bunch of people in this store hanging out. We can actually look at the goods. I like this great, here's a, yes, the real world, the real world shirt, the virtual shirt. I can actually go buy stuff, so I'm going to actually buy this jacket right here.
They're all talking. So I've actually bought-- so that's actually using the virtual and world currency to buy things. Let's see, here's the jacket. It's just dumped. Actually, I get-- it's great. I get one of every single color. I'm going to go off and wear the red one. So here's an interesting thing. So we've got virtual versions of real-life clothing.
There it is on me. But there actually is a connection back out again. So this actually is-- you click there, and it takes you to their website, where you can actually buy the real-life version of the virtual clothing that you just bought that was a mimic of a real-life-- my head's spinning. Actually, what it's really great is that if you buy it virtually, you get 15% off. You get a coupon. You get a virtual coupon that works in real life.
How cool is that? Another aspect that's interesting for developers and development here is this store is a professional development done by a professional company that does virtual development for real-life customers. In this case, actually, Amy Webber right there is the lead developer, I believe. And actually, I think she just mentioned Sarah. Sarah Linden there actually works in our office, and she almost always wears in virtual life what she is actually wearing in real life. People do the craziest things.
There are 20 companies now, at last count, that I recently spoke to, doing actual development in Second Life. They're doing real things for the BBC. They're doing things for companies for several universities, and here in the case of American Apparel, building things. And development in Second Life is a real, well, there's a real business there. We mentioned the economy. There was a stat there you might have seen, $10 million U.S.
equivalent trading hands every month in Second Life. $1.4 million actually goes into Second Life from customers' hands and back out again into the market. And that's just growing. That's just a great thing. Now, last thing I want to point out is that, how does all this happen? All of this building happens in Second Life.
So, building is an important thing. I'm falling down on the ground. I've gone to a sandbox, which is a public area for building, and so I have to apologize. I have no idea what's going to be in here when I get here. We'll see all sorts of crazy stuff. But I want to show you how this all really happens. This isn't magic. It all starts... Whoops. That's not what I wanted to build.
It all starts... With a plywood cube. There's a plywood cube. We can make it bigger. And so, notice that all building happens in world, creative, that any resident can do these things. I'm going to go off and twist this a little bit. You have the ability to pull in textures. You can take any textures you want. and apply them. So actually there's a nice multidisciplinary work in building in Second Life for which the Mac is just perfectly, perfectly suited. You have to do texturing and scripting.
There's a nice sphere. Do you like the sound of creation? It's one of the best things we've got. So I'm going to go off and build a little wither. There's a little brass sphere. Let's go off and make it some shiny, because everything's better when it's shiny, and show you that it's physical.
[Transcript missing]
Well, where is it? Well, I just made it fly all over the place. Yeah, well, you know, the best laid demos. Here, let's go off and make the big pedestal bounce, too.
Oh, I didn't make it physical. Here, we'll make it physical. Now, the great thing about-- How did that happen? I don't know. The great thing about Second Life is that building happens in a social space. All these green dots up here are people. This is happening-- I'm going to zoom out and get a little sense of what's going on in this place.
This is a sandbox where people are building the craziest of things. And we've got some big tree house going on there. We've got some other pods and houses. And one of the things I wanted to show you is, you can see over here, here's a group of people Well, let's see. Oddly enough, two of them are dancing.
But these people are building. And building becomes a social experience in Second Life, which means they're all helping each other, and they're helping learn. And it helps make the whole experience, by being an online social experience, just so much, so much, so much more better. OK, we're going to leave Second Life now for the moment. And I'll go back to my last little bit. So we can get back to the slides.
So now just a few geeky details about how we build this thing. The client for Second Life is built from a single source for both Mac, Linux, and Windows. Runs on all three. It's universal binary. We were universal binary within just a few weeks of the shipping MacBook Pros. We really love supporting the Mac program.
And I was mentioning in the other session, our users are surprisingly-- they were telling us they had MacBook Pros and we were waiting for it faster than we could get it out the door. They loved it. Mac users are loyal users and early adopters. It's all open GL for the rendering. So that makes it easy. Helps our cross platform. And of course, the debugging tools in the Mac are just great for it.
We compile with Xcode on the Mac. And we make just extensive use of all the Xcode features, like distributed building and zero link and all the abilities to make building really, really fast, which otherwise would be really problematic. Lastly, some other geeky things. The actual back end simulation is running in a huge rack of machines in a building a couple blocks from here. There's one process in CPU for every 16 acres. So if you do the math right now, we're about 3,100 CPUs all running in a giant grid computation simulation, simulating all that land and physics and stuff.
Lastly, just a note that the Mac fans, Mac users, are always just-- they're so loyal. It's great. So this is at the Space Flight Museum. I was taking the screenshots for stuff and planning things out. And this is one of the creators. And he walks up and starts talking to me. And when he talks, a PowerBook appears in front of him that he's typing on every time he talks. Just made it because he liked it. Anyway, that's Second Life, a great online game, a great platform that integrates and was built with Mac. Thanks.
Let's see. So that's one, online gaming. I have it on good authority that is the real Mark Lettseer, not the Avatar, just in case you were wondering. Okay. So, second trend, casual games and casual gaming. Again, this is another one. So we talked about, first of all, about online gaming.
Now let's talk about casual games. Like a lot of things going on in gaming right now, casual games are big. So let me just ask a question. How many of you guys got a game on your phone? How many people got a game on the phone? Okay. A lot of people. Not most.
Anyway, that's a lot of casual gaming. But in addition to that, there's a lot of casual gaming going on on computers as well. In fact, it's the most popular segment title that we sell in our retail stores. So, first of all, audience, look at that. You know, we have over 100 million PC users who say they're casual gamers. Casual gaming is a business. It's a quarter of a billion dollars.
So from that aspect, it's very large. And consoles are now starting to get on the bandwagon. So originally, you know, we always think of consoles as being driving games, first-person shooters, and all that kind of stuff. But more and more, with the trend of, you know, the casual and the family game becoming more prevalent, we're seeing the consoles jump on board. There were four conferences this year just on casual games.
And, you know, some, you know, it's interesting when you consider what's been happening with some of the first-person shooter kind of AAA stuff, the emphasis now that's moving in that direction. And as a further proof point, EA's Pogo site has, you know, a million subscribers right now. And so we think casual games and online gaming are two trends that are going to be very, very different. And so we think casual games and online gaming are two trends that are going to be very, very different.
So Freeverse is involved in the Mac gaming market on all sorts of levels, and I want to go the wrong direction. And I want to touch on four of them: casual games, original Mac game development, which we're very excited about, PC ports, and distribution. And let's begin. First, a casual game in today's market has a very specific definition. A casual game is a small game, like 20 megabytes or less, downloadable.
A casual game has almost no learning curve. You can pick it up, put it down. It's got a very small time commitment. And all these things come together, and I'm sure you've played them. You've played Zuma or Snood or Bejeweled, any number of these games, I'm sure. Raise your hand if you've played any of these games.
Everyone. Yeah. And casual gamers are pretty much everyone. Everyone who owns a Mac is a potential casual gamer. And the casual game market skews a little older and skews a little more female. And that's a good thing. And Freeverse has been in the casual game market for a while, and we're seeing just great results. Casual gaming on the Mac has never been stronger than it is this year, and Apple deserves a lot of credit for that.
We're also big, big boosters of original Mac game development. Last year, we co-sponsored the original Mac games programming contest, which we'll be doing again this year, with a great resource, idevgames.com. So if you haven't been there, you should check that out if you're interested in doing Mac game development.
We think a Mac, original Mac game made on the Mac and made specifically for the Mac will always be a better user experience and will always be a better game than a PC port or a game that's designed without the Mac specifically in mind. And the Mac has some great technologies that you can plug into and it has a design sense that just makes the whole gaming experience much better.
And I'm going to talk about four casual games that Freeverse is doing this year. Wingnuts 2, which you may have seen already, came out two months ago. And the other one I want to talk about is a new suite of casual games called the Big Bang Brain Games, and specifically Big Bang Reaction. So I guess let's talk about them. Let me dive in.
First is Big Bang Reaction. And this is, at its heart, it's a simple puzzle game. But, as I hope you'll see, there's nothing simple about the technologies we bring to it, and the level of quality. This is using all the same stuff you'd see if you're trying to make a AAA title. Open GL, beautiful sounds, scores, and just... Sounds not quite high enough to hear him.
But all of this quality, all of this production value is brought for what is basically a puzzle game, and that's something I think Freeverse has always tried to do. Regardless of the scale of the game, we've tried to make it as high quality as possible. And I think users really appreciate that, especially Mac users. They know what's happening. So in this game, you're adding You're adding balls, and when you get to a certain level, it explodes and can cause a train reaction. So let me just quickly show you another level.
Let's see. And so I guess the story behind this game is that as if you caught Bertrand's State of the Mac OS speech yesterday, he was talking about the cinematic experience they bring to the OS, the wow factor. And that's the language of games. And it's being done with the technology that's been developed for games. And having the wow factor is very important.
And also-- Easy to do on the Mac, especially with the new technologies they talked about with core animation and stuff. Those are all great things for increasing the level of quality in the finished product. So as you can see, if you know where to go, this is a pretty big chain reaction. And we're using a golf metaphor for this game. So if you look at the top, this is a par-5 board. And I'm two shots into it, so I'm doing OK. And that's Big Bang Reaction, which is almost in beta and will be out in the fall.
And the other game I wanted to show, sorry about that, is Wingnuts 2, which you may have seen already. Again, it's got very high production values, soundtracks, it's an original Mac game. You can only play this on the Mac. And it takes a little while to load because it's over 800 megabytes. It's 30 levels. Each level is hand-built with dozens of, not that long on the machines they give us a demo on. But there's 30 different boss monsters, and I'll just try and quickly show you.
Hopefully you can see that it's a thing of beauty. And this game also demonstrates, in addition to the beautiful particle effects and the use of OpenGL, this also is a good example of how we integrate Mac technology. Because it's a Mac app, it runs windowed, it runs full screen. We use the iSight camera if it's available for generating victory pictures for your top score list.
We use core image effects. And here's a mecha mode power-up, which I'm going to get. And notice that I just turned into... Yeah, I'm a badass right now. And notice how I come apart. I turn to individual rectangles and they all spin off. Anyway, that's the very first few seconds of level one of Wingnuts. And I will get out of that.
Now going back to this. We also chose this year to do some PC ports, which is a first. We've done some publishing of other people's PC ports before, but Freeverse thought what with all the new technologies coming on and the Intel transition, now is really the perfect time to get into the PC porting market. And we chose two very specific titles.
And I'd like to reveal a little bit about our thinking, just so you can get a sense of how we're evaluating the Mac game market. First is Legion Arena. Legion Arena is hitting an underserved part of the Mac gaming market, we feel. It's a historical war game, and it's a beautiful game. It's fully 3D. It's in the genre of Rome Total War.
And there isn't much like that for the Mac. And so we thought that would be a good one to bring over. And that one shipped last month, I'm happy to report. It also has, because it's a historical war game, and that has its own sort of sub-segment of the market, it will continue to sell, we think, for a while.
And that's very important from a business side, because of the nature of the PC port, you're probably going to miss the first few months, and probably a lot of the advertising buzz around the launch of the game initially. And so if a game is going to spike and then go away in a year, you've missed a lot of your window of opportunity.
So Legion Arena will have longevity, and we expect it to sell in retail and from our store for a long time. The other game I'm very happy to talk about, is Heroes 5 of Might and Magic by Ubisoft. This is a AAA title, and it's a title that has a long history on the Mac. All previous four versions made it over to the Mac, and if you've been using the Mac for more than a few years, I'm sure you're familiar with the franchise.
It's a great game also. Again, we wanted to play it. Both Legion and Heroes have no console version. And in terms of maximizing it as a business venture, we thought that was important. If you want to play either of these games, and people do want to play them, you have to have a console version. And if you want to play either of these games, you have to do it on your desktop or your laptop.
And again, like in Age of Empires or a Civilization, we think Heroes 5 is the sort of game which, once we do a kick-ass Mac version and get it out there, it'll sell for hopefully years. And so just wanted to let you know a little bit about why we chose these specific titles. And then there's the final part of the points I want to speak to, which is marketing and distribution, I mean. And how do we get these games out? Thank you.
The retail side is interesting. We have a European and Asian partners to help us get into those markets. In North America, the Apple stores, I guess, and internationally now, the Apple stores are a great resource. I think there's almost 160 stores, and that's essential for getting your games in front of people who aren't necessarily Mac game players, even though they're Mac users. But they're potential customers, so we have to beat them. And of course, we maintain a great online store and try to keep our face in the press. But casual games present a special problem for us.
Casual games, because they're potential customers, are everyone with a MacBook and everyone with an iMac, or whatever Mac they have, they're not necessarily self-identified as gamers. A lot of them won't even say, are you a computer game player? And they'll say no. And then you ask them if they play Zuma, and they say every day. And because of that, they're also not geeky. So they won't go to a version tracker. They don't even know version tracker exists.
They might not read Macworld, and they don't consider themselves Mac addicts. And so how do we reach these people? And so we think we have a solution. And I'm proud to announce this week we launched MacFun.com, which is the premier Mac casual gaming portal. We've been talking to and partnering with some of the larger casual game developers, PopCap and GameHouse, et cetera, as well as Mac-specific developers like Brian Greenstone of Pangea.
And so what we hope to do is we hope to create a place where all this original Mac development and the more general casual game market can come together, and you can get the best Mac experience. It'll look great in Safari. All the games will be pre-vetted to make sure that they run great on OS X. And it's launching this week, so you can go check it out.
And if any of you are interested in developing casual games or talking about larger projects, we want to talk to you. So come up to me after the session, or just drop me an email. It's ian at freeverse. It's very easy to find. And now I'd like to introduce Ron Travis. Oh, sorry. Travis Brown of Apple, who will talk a little bit about putting this OS X technology to work.
Thank you. Thank you, Ian. Great games require great technology, and Mac OS X is filled with an array of great technologies that you have the ability to take advantage of in your game. So what I want to do in this section is actually take a look at the technologies that are relevant for games and sort of, you know, put the context around them so you understand how our technology portfolio can be used in your game efforts.
So there are several key technologies, areas that most games almost always have. They have almost always graphics. They have strong audio experiences. They, in many cases, have to exceed the input of a keyboard and mouse and use joysticks, game pads, and other forms of input. And also, games require certain degrees of optimization that aren't necessarily typical in your common application software. So we'll speak to a tool story as well. So what we're going to do is take each one of these categories and sort of drive down into it and talk about the technologies in Mac OS X, and what they're important for you to know about.
I'll also talk about trends and certain technologies, particularly in the graphic area, that I think you need to be aware about. Then also, I will talk about new Leopard developments where appropriate. So let's talk about graphics. Games are synonymous with graphics. I mean, you're trying to create an immersive experience, and therefore, every pixel on the display counts in terms of that experience. And what almost all games use on the platform is OpenGL. And for those who aren't aware of what OpenGL is, OpenGL is an industry standard graphics API. It came out of sort of science and CAD.
It was originally used principally for 3D, but more and more we're seeing it used pervasively throughout all categories of applications. But since it has such a strong 3D heritage, it's a sort of a foundational technology for games. And I'll talk about that in the next slide. You have also OpenGL is what we use in the platform of distraction for graphics hardware.
Because we're going to ship ATI, NVIDIA, and Intel GPUs in our systems, and you want an API that's going to abstract you from some of the complexity or specifics of the underlying graphics processor. We also are increasingly moving OpenGL as a fundamental component of Mac OS X graphics, all Mac OS X graphics.
Many of you have seen some dazzling demos so far at WWDC, and almost all those dazzling demos are powered by OpenGL. So let's really talk about games and OpenGL. I'm going to bring up sort of a, you know, go in the time machine, go back, and take a look at a sort of a, you know, a seminal game in, you know, 3D graphics and hardware acceleration in particular.
And that's going to be Quake 3 Arena. It looks a little bit dated, but it's going to, it's an interesting point because it points to a trend. You know, Quake 3 Arena in its day was absolutely cutting edge in terms of what it was doing. It was very fluid, real-time, hardware accelerated graphics using OpenGL. It also used some pretty cutting edge techniques for its day. So if we actually take a look at that and look at the sort of complexity that was involved in the scene, we have around 10,000 polygons. We also have a technique called multi-texturing.
And for those of you who aren't really familiar with textures and polygons, obviously the wireframe represents the vertex data or the polygon data that's being drawn, at least submitted to the graphics card. And the textures are the images that are laid on top of it to create the scene.
And so Quake is using these techniques to create a reasonably immersive experience. Now, the reason I have this slide is because this is where a lot of games and entertainment software today still sort of gravitate to, these techniques, a lot of texturing and a lot of vertex data.
And at least, you know, basic vertex data submitted in ways that go back a long way with OpenGL. Now, I don't know if many of you saw the -- Peter Graffagnino's Graphics and Media State of the Union yesterday where we showed an interesting application from ATI, which is something called Toy Shop.
And the reason why we're showing this at, you know, both here and in the Graphics and Media State of the Union and later in OpenGL sessions is because this is representative of people using the modern capabilities of GPUs as exposed through modern OpenGL or the latest OpenGL techniques. And you can see there is a quantum leap in visual capabilities where I have a scene that has not only a lot more geometry information, but you can see on the water ripple effect on all the windows. You can see puddles effects on the road surface.
You can even see rain falling. And this is an interesting technology demo. And you'll have an opportunity to see it again in the OpenGL optimization session or at least see a video of it in the OpenGL optimization session because it is representative of, like, the absolute cutting edge techniques that you're able to do. Many of these things, details, are actual physical simulations executed on the GPU.
So if we actually sort of take a look at the complexity here, we see that there's a tremendous increase in the amount of information you can throw at a GPU, okay? And the GPUs in our system at the high end are capable of really moving a lot of geometry. And there's also new techniques they're going to talk about in a bit to submit this much geometry to get in the scene and get it rendered.
In addition, we have something called programs, okay? Now, modern GPUs are programmable. You're no longer limited to the sort of fixed function that was available initially in OpenGL. You can actually change the way vertices and/or polygon data or, you know, pixel rasterization happens or fragment rasterization programmatically to meet the needs of your application. And that is really, really powerful, and that's how, you know, how Toy Shop is getting that quantum leap in capability, and you can do it too in your applications.
So obviously the key to sort of unlocking that is going to be the OpenGL shading language. Now, we've had the OpenGL shading language on Mac OS X since Tiger. We've improved it incrementally along the way. But this is going to be a high-level language. It's going to enable you to use a C-like language to get access to the programmable features of the latest GPUs.
The interesting thing is, you know, Peter Graffagnino brought up in his slides yesterday that GPUs, programmable GPUs, you know, basically started happening around 2003, and you actually program them through some low-level exposure extensions to OpenGL called ArbVertex and ArbFragment, which are very much like assembly language and very difficult to program. You know, GLSL sort of makes it significantly more accessible because it is a C-like language. It compiles and has a lot of language features that you're used to in a higher-level language.
So you're really going to want to check out the using the OpenGL shading language session because not only are we going to actually show you, uh, details about OpenGL and its usage, we're also going to have, uh, Rob from ATI, uh, who worked on the Toy Shop demo, come give you, uh, some, uh, information on some of the programs and shaders that they used to create that awesome demo.
[Transcript missing]
So let's talk about multi-threaded OpenGL. So what we've done for Leopard is an exciting new feature, where we've realized that a lot of applications themselves tend to be single-threaded, particularly games. And games also tend to run open at a sort of open-loop frame rate. They're driving as hard as they can to get as many frames as they can. So what this means is games are pushing hard against the OpenGL stack. And the OpenGL stack has to do a little bit of work to actually get commands ready to go up to the GPU so the graphics card can actually draw them.
So in Leopard, you're going to be able to take and tell the OpenGL stack that it needs to farm out some of that task of preparing the list of things to do for the GPU and move that onto a second thread. So in a multi-core or a multi-processor machine, you're going to get a net benefit.
Because let's say, for example, in this somewhat contrived example-- it's a little more complicated than this-- if I have an application that's spending 60% of its time in my game logic, it's spending 30% of its time pushing up against OpenGL, waiting for the OpenGL framework to do things, and you have another remaining 10% of time spent doing other stuff.
If you turn on multi-threaded OpenGL, we're able to take maybe 20% to 25% of the work spent in the OpenGL stack and farm that on the second thread, which suddenly makes your main thread have about 20% to 25% more cycles available for it to push harder and generate more frame rate.
Now, this is an opt-in option for developers, because not all OpenGL applications are suitable to have this enabled, because the way they use OpenGL may induce synchronization points, where we actually have to either check with the OpenGL framework or possibly even through the driver to the card to determine some current state. So things like glget will create these synchronization points, which means that we cannot get the parallelism we need with a multi-threaded OpenGL stack.
So you want to really watch your state management. And to help you do that, the OpenGL and Mac OS X section is going to talk about conceptually the multi-threaded GL stack. And also, it'll be touched a little bit in the optimization sessions as well. So let's look at where this gets us in terms of performance. We've taken Doom 3 and World of Warcraft and done before and afters. So you look at, in the case of Doom 3, when it's off, we're getting about 109 frames per second on a Mac Pro.
When we turn it on, we hit 160 frames per second. And again, this is just throwing a switch. On World of Warcraft, Ironforge, which is a very crowd-intensive benchmark-type scene, we're getting 48 frames per second with it off. We flip it on, and we're getting around 90 frames per second.
With World of Warcraft in a large outdoor scene on a mountaintop spinning around where you see the mountain ranges and you see all the trees and it's pretty geometrically complicated, you go from 68 to 132 frames per second. So this is the type of performance you can get with our new multi-threaded OpenGL stack in Mac OS X Leopard.
Now, obviously if you're here, you know, you're not getting this information in the core animation session. So I wanted to take a little bit of time to cover some of it because core animation, although we've shown it in the use of application UI, for example, in Time Machine, which makes use of core animation, we also, I want to make it clear that it's very appropriate potentially for casual games as a 2, 2.5D sort of a sprite engine that's built in and ready to go in Mac OS X Leopard. And it's got a couple of interesting details you want to check out.
One is this concept of automatic or implicit animation, where all my application, my game would need to do is put graphic elements on layers, tell core animation where the layers are, and then tell core animation what needs to happen with the layers, like the layer needs to go across the screen and fade out. And core animation takes it from there. It basically, you know, on its own rendering thread, its own rendering engine, takes it and animates that scene. You're out of the business of driving each frame of the animation. And this enables us to do all sorts of stuff.
With making it a really efficient system where we're able to ensure, you know, do our best to optimally draw the scene and ensure that we get maximal frame rate. And also in simple scenes, we don't draw too fast and end up trying to draw 3,000 frames per second on a trivial scene, even when the user's only going to see 60. So I really think this should be interesting for you guys to check out for casual games.
Let's talk a little about audio. Our solution for audio for games in particular, because they need very environmental sound, very sort of detailed, rich sound, much like they need with graphics, we use OpenAL. And that's a 3D positional audio stack. And it works pretty simply. You have a listener, and you have audio emitters around in a three-space scene. On the basis of that layout and where things are moving, an audio equivalent will be rendered.
And you can use that to represent that and sent through two or more channels. And the actual API is modeled after OpenGL. And so it's really conceptually easy for developers to pick up if they're familiar with OpenGL. It's also multi-platform. So if you want to take your title across platform, the OpenAL implementation is available on several other platforms. And then a key note is we added this because of popular request. A lot of game developers looked at Core Audio and said, hey, this is great. It's powerful. But we want something a little more tuned to our needs.
And so we actually found this in open source, brought it into Mac OS X, did an optimal implementation, and put it in Mac OS X Tiger. So what we're doing, well, here's a quick example of some AAA titles that are shipping with OpenAL. Things like Doom 3, the Mac version's sound is implemented on top of OpenAL, Unreal Tournament, Harry Potter. And there are about 25 other titles, a lot of casual games that are using OpenAL.
and David Levin. So what are we doing with OpenAL and Leopard? Well, like OpenGL, OpenAL is continuing to be moved forward by its standards body and its community. So there's a new version called OpenAL 1.1, and that's being included in Leopard. And it has a couple of new features, one, the ability to capture sound.
It also has distance models, so you can better replicate fall-off of sound as things, you know, go into, as sounds go into the distance. It also has reverb, occlusion and obstructions that are going to be very useful when you're trying to recreate the sound environment based on maybe what you're rendering with graphics.
So if, like, for example, you have a first-person shooter and someone ducks in a door or goes around the corner, you're going to be better able to create the equivalent audio representation that matches your visual representation. It also has static buffers, which are sort of like I talked about with buffer objects in OpenGL, a data flow optimization. In this case, this enables your application to hold onto the sound data versus having to have copies in the OpenAL framework.
So it's a very, very good way to do performance optimization. So let's talk briefly about input. Now, input is interesting, because this is actually surprisingly complicated. You think graphics and sound are complicated, but input is really, really complicated. So how we sort of try to simplify it is by USB HID, or the Human Interface Device Specification. We've actually taken our I/O, you know, I/O Kit framework, which is a device driver model in Mac OS X. We have a set of classes that deal with, you know, input devices, HID devices. Last year, we asked for feedback in this area, and we got a lot of feedback.
We got a lot of feedback from the users, and we got a lot of feedback from the users. And we got a lot of feedback from the users. And we got a lot of feedback from the users. And we got a lot of feedback from the users. And we got some great feedback at WWC, and, you know, we've taken it to heart, we've listened, and we've actually made some changes to USB HID and Leopard.
And what we've done is to create a group of higher-level APIs that enable you to have easier -- make it easier for the, you know, discover and access and parse HID devices, because part of the trick is a gamepad can have n number of buttons. You know, a joystick can have a throttle, a top hat. It can even have foot pedals, rudder, you know, they're used for rudders or area -- you know, used for rudders. And making sense of those is pretty complicated.
So we used to do this with HID utilities, which is some sample code, and we're actually sort of superseding that with the new HID, you know, new HID APIs and I/O Kit in Leopard. Now, we still have a little bit of areas that we want more information on. One is the issue of UI. Do you want in-game UI for configuration? Do you want us to provide sort of raw API for configuration? And you'll take care of the game experience.
And then, you know, do you want us to create a -- you know, create Aqua sort of UI and componentry for it? We're also interested in getting feedback on how you want to handle out-of-spec devices, because there's a fair number of devices out there, like mice that report they have 255 buttons and stuff like that, which can create issues when you're trying to configure your game.
If you want to give us some feedback, why don't you send it to Craig Keithley, our I/O technology evangelist. His e-mail is up there. And he's the one sort of championing this issue at Apple. So, quick note about tools. Obviously, tools is all about Xcode. If you're developing on Mac OS X from C, C++, Objective C, you're going to want to be doing it with Xcode. But I wanted to make a specific call out to some tools, some performance tools that are key to unlocking the performance of your entertainment title. And that's going to be -- I went too fast.
Oop. So that's going to be, it's going to be Shark, it's going to be OpenGL Profiler, and it's going to be Driver Monitor. And you can learn more about these tools and the OpenGL, optimizing OpenGL applications, we're going to take OpenGL Profiler, and we'll also take Driver Monitor and Shark together and teach you how to optimize your graphics. And then also, you'll learn more about Shark and sort of algorithmic level debugging and using performance analysis and debugging tools.
Now there's some other interesting tools that are out there that don't require C or C++ level of development. And that's going to be higher-level tools, and these are game development environments. And one great example is one done by a company called Unity. Now, instead of actually coding a game from scratch, you're going to be able to use a tool like Unity to focus at the gameplay and the sort of art level and, you know, geometry level, and build your game at this high level, and then have the Unity game system really, you know, enable that game to be developed without you having to think about physics engines, graphics engines, all the sort of details you might if you were starting at a low level. So it's a great high-level tool. It's fantastic. It's fantastic for game development, and I want to invite David Helgason to stage to show it to you.
Thanks, Travis. So it's been a great session. We've learned a lot about the opportunities for games, Mac games, ways to publish them. But this is the Worldwide Developer Conference, so a lot of you are probably asking yourselves, how do we actually tap into this and create the games? And one great answer is Unity.
So let's just look at that. Unity is a simple but powerful game development environment. It's one application only. So you just sit down with that, and you create your entire game inside it. It enables you to create stunning 3D games in an amazingly short time. and it's fully featured, meaning we just hand-picked all the most powerful game technologies, put them together, and at your disposal in the menus and in a very nicely laid out application. So this includes the most incredibly beautiful OpenGL graphics, Unity ships with dozens of shaders and 12 full-screen image effects, which can make your game look really great.
Another nice thing, cool thing about games is immersive environments. And the easiest and most powerful way to create those is using physics. So Unity includes a full version of the Geophysics engine, which is probably the most scalable and powerful physics engine out there. And we made it really easy to use, so you define how your objects should behave, material properties, and you set it to work. Of course, Unity has character animation, so you can import your animation. I've got animations from Maya from pretty much every 3D program, and just set it to play.
Now Unity is an application, it's not an API. So instead of mucking around with tens of thousands of lines of C++ code, you get a flexible scripting environment. It supports JavaScript, C#, and a dialect of Python. And it's super-powered, it's JIT-compiled, so the JavaScript, for instance, is 20 times faster than your normal JavaScript. And that's just really nice to use.
The last thing that is at the core of Unity is the no-hassle art asset workflow. And I'm going to show it to you, because it's kind of hard to explain, but it just makes it very, very easy and efficient to get all the art, whether it's textures, audio, or 3D models, into Unity.
So, I think we'll... Oh yeah, before we actually put out Unity as a product, we ate our own dog food and created the Goo Ball, which you may have heard about. It was published by Ambrosia one and a half years ago, and it's just still a gorgeous game. You can find it on the net. So, let's just look at Unity and see how easy it is to use.
So you see up there, Unity, gorgeous Cocoa application, totally lickable. And up there, you have, we've actually preloaded it with an early version of Tiki Magic Mini Golf, which is in production by Freeverse. So up there, you have your normal 3D view, kind of like, you know, in any 3D application, you can pan around your level, select objects, move them into place, build levels from there.
To the right, you have an overview of your objects, your files, very nice to kind of, everything is drag and drop. And down here, you have a game view, where anytime you want, you just press the play button, and play the game as it is right now. So this is a mini golf game, so you get to drive this ball around those fanciful, tricky levels. Let's just bounce it around for a second. Whoa.
So Unity has a million features to make your game look really gorgeous. One category of those is full-screen effects. So one of my favorites is the glow effect. So let's go and pick the camera and add a glow effect to the whole game. Image effects, you see the 12 image effects we ship, we're going to pick glow. So it pops up here, and you see there's several properties to it. Let's just play the game and see how it looks.
And if we turn it off and on again, we're going to see how nice it makes the game look. And kind of tune the properties, it's all drag and drop. Oh, that's a bit much. Cool. Perfect. It looks great. Maybe the color, color picker, everything is very, always, 10. Yeah.
Another thing which is important when you're making games is getting all the art, all the textures and 3D models to look great in context. And I think the ground there looks a bit washed out. So let's pick the ground texture. Here we just pause the game while changing it.
There's the ground texture. It's just a Photoshop file with layers and whatnot. But we're going to open it in preview, because it's faster. So I'm going to just-- let's just up the contrast a bit so it doesn't look so washed out. Cool? Looks great. So save the file.
Switch back to Unity, and this is the no-hassle art asset workflow. However you change your files, they just get imported into Unity right away. This is cool for textures, but it also works for 3D models. So put in your Maya binary files, your Cinema 4D files, your Cheetah 3D files, your Blender files. You change them, it updates in Unity across all your levels at the same time. That just blows your mind.
And it's really nice when you have to change and modify the game to make it look and feel right. To have this tight loop of tuning. So now we've worked on the look of the game, so let's go and add some interactivity. I made a fan for this, which will work as an obstacle. It's made in Maya, so we'll just drag it in.
Move it into place. This is a fan. In front of it, it has this trigger area marked with blue, and everything that's going to enter the trigger area is going to be affected by the trigger. So we can just rotate it so it's kind of in front of the bridge. That's an obstacle. Now, we need a trigger effect, so we wrote a trigger script.
And that's just a few lines of JavaScript in this case. What it does is it takes the object that gets in front of it and pushes it. That's going to be the fan effect. So if we switch back to Unity, we just drag the fan effect onto the fan. Cool. Yeah, and try to play it.
It's rotating, it's animated in Maya. Of course. And the bulb gets pushed over. So we've got an obstacle. It's probably a bit hard, but switching back to the fan script... We see there is a force variable at the top, set to two initially, and if we look it back into Unity, We're going to see that the force variable, like all member variables, show up in the inspector, so we can just tune it in there without having to change the code. It's really cool if you have graphic artists tuning the game for you. So let's set it to something more reasonable, and play the game again.
This is still a mini-golf game. Yep, and now it's actually possible to complete this level. Now this way, this game is kind of half-made, it probably needs two, three more months to finish. But once you're finished with it, you want to be able to deploy it. And then you just go to the file. Build, and you get to choose between: build for the web, build as a dashboard widget, OS X universal binary, a couple of other non-universal binaries, and then Windows. I think we're just going to go with the web, build and run, give it a name.
Now what Unity does is takes all the assets together, all the scripts, compiles it, optimizes it, and puts it into one file which can be put on the web. And that's exactly what we get here. And the same game inside Safari. I think we already made it as a dashboard widget, so if we bring up the dashboard. Same game, just play it. Same game, play it. All from the same source. So now it's ready to be published, so I guess we'll take it to ION.
That's pretty much it. Let me see. Last slide. Slide, please. So I'm David Helgason. Go to our website, download the demo. It's a one-month free demo. It includes a lot of different tutorials on how to make different types of games. And just to give you an overview, Codemasters is doing a game with this. Freeverse is doing two. We've got a small game startup with seven people doing an immersive third-person game set in Jerusalem with hundreds of characters and cars at the same time. So it's really scalable. And yeah, after the session I'll be around, so come talk to me.
Thank you, David. Okay, so we've been able to take a look at a lot of stuff today. So, three great developers doing some interesting things on the platform. And before we go, what we wanted to do is kind of give you a little bit of a look at still what's ahead for the week, because Travis told you a little bit about stuff. And so, let's take a look at it. So, first of all, if you're tired and all this makes you want to go play a game, go down to the first floor and go have yourself a blast.
Second thing is, there's some lunch talks that are coming on. There's Marketing Your Games and Garage Games. They'll be talking about their tools and engine as well. That's coming up later on in the week. We have more sessions, and these sessions will really give you a little bit more insight to some of the technologies that Travis has outlined for you. Core Audio, Go-To-Market again, OpenGL, Optimizing OpenGL, and Performance Analysis and Debugging. Take a look at those sessions, because they'll really help you out.
Another very interesting thing, again, you know, it's not just about doing it. We think we'll take the opportunity of having you guys here to come out and actually meet the publishers. So, you can see here, tomorrow night at 6.30, we'll have an event where you actually have a chance to meet the game publishers.
Come talk to these guys, and if you guys have been working on anything and you want to get it out there, here's your chance to meet them and hook up. Now, before we're done done, I want you guys to meet Andy. Andy, stand up. Now, I'll tell you why. Wait.