Archive for the ‘Games’ Category
Moon Phases
Here is a sneak peak at half of the lesson we are designing to teach the phases of the moon. I am currently extending the game to include rise/set/transit times.
The game was designed with Unity3d. At first, I had trouble with the webplayer again because I had forgotten about a previous problem I had with my host and unity files. Luckily, I was able to read my old blog post to remedy it quickly.
Let me know if you have any thoughts on the game.
GDC 2011
I was lucky enough to be sent to GDC this year. While the trip (travel and registration) is quite expensive, there is a reason this is the Game Developer’s Conference. Just about everyone from the game industry is here: producers, designers, artists, programmers, media etc. from the biggest companies down to Indies whose names you may or may not have heard. And there is something to be learned from just about everyone.
Having all of these developers together makes networking easier than at any other event. This ca n lead you to find a new team member (temporary or permanent), discussions about how to solve problems in development, or even long term friendship. I’m not lucky enough to be in a city with any significant game development meetups, so being able to meet so many great developers at GDC was fantastic.
I started out the week in the Level Design Tutorial. While most of the talks didn’t apply directly to what I’m working on, I feel as though I got a good deal out of some of the lessons, specifically, how to think about level layout. Despite focusing on shooters, many of the concepts apply to any game in which you need to concentrate your player’s focus, specifically if they are controlling an avatar in a 3D world.
On the second day of the conference, I attended the Unity track, which was like a mini Unite conference. Despite being all about the engine I use, there were a lot of topics covered that weren’t important for my current project (mobile, art, etc.), but the presentations were mostly well done. It would be nearly impossible for a set of talks this broad to be perfect for everyone.
Wednesday, the conference really began with the Keynote from Satoru Iwata and Reggie Fils-Aime. After thinking that the conference was hectic through the first two days, I realized just how much crazier it gets for the full conference with sessions scheduled all day and enough on the expo floor to keep anyone busy for the remainder of the conference. From the huge Unity booth, to playing unavailable handhelds like Xperia Play and the 3DS, to the new UDK reveal, the Expo floor was incredible. I haven’t been to any of the other game industry shows, but I imagine the show floors are quite a bit more hectic. The GDC Expo floor was certainly busy, but save for a few big demos (3DS), everything was accessible even during the busier times of day. Although I wouldn’t want to miss the sessions, there is easily enough to do on just the Expo floor to keep an attendee busy for all three days.
Before the conference, I spent probably too much time trying to determine which talks to go to at what times. I realize now that isn’t too important considering the all access pass grants access to the GDC Vault where you can catch any talks that you miss. That isn’t to say I didn’t enjoy a great number of the talks, but I am glad I spent a bit of extra time on the Expo floor and I can catch the talks now. Some notes on my favorites:
The Post Mortems were great, though I didn’t learn a lot other than making games early on was a completely different process. Back then after deciding the genre, constraints really defined your game. Now, the bigger constraints are budget or deadline, not graphics or performance (this is becoming more and more true even on handhelds). For Marble Madness, Mark Cerny spoke about how the arcade board he was given really determined how he created his sprites for the art. For Maniac Mansion, Ron Gilbert spoke about how despite having too many characters and only one tester without any sort of test plan, the game has relatively few dead ends. For the Pac Man talk, Toru Iwatani spoke about how the simple, easy to grasp mechanics made for a great game and how he had to fight with his boss to get 4 different colored ghosts. I highly encourage anyone interested in game development to check them out at the GDC Vault.
The Indie failure talk was incredibly interesting. 5 drastically different lessons from how to grow an Indie studio to design mistakes by small teams applicable to nearly any project. Most of the lessons came down to two important instructions: figure out what is fun about the game you want to make, and iterate on that.
Two of the most entertaining talks I attended were Jeremy Bernstein’s Minimizing Exposition and Dustin Browder’s Starcraft 2 as an e-sport. Jeremy is a freelance writer that explained how to cut, control, and hide exposition to make the game’s story more interesting to the player with examples from his experience on Dead Space 2. Browder is a lead designer on Starcraft 2 who described the painful choices they made that affected nearly every facet of Starcraft 2 in order for it to be played as an e-sport.
The final day of the event includes talks about breaking into the industry to compliment the student passes which are only good for that day. I attended the last two and most of the information was of the form: know what you want to do and do more of it so you have something to show when you apply for jobs.
With all of that activity during the day, it is important to note that some of the most important business at GDC gets done over lunch, dinner, and at the parties thrown by nearly every major company in attendance. It was a struggle to get up for the keynote on Wednesday, but going to the parties at GDC is a must for networking. It’s pretty incredible to see entire bars full of people with a passion for this industry and being able to talk to nearly anyone in the building about gaming and development.
After all of the activity at the conference, I was exhausted. But I’m already looking forward to next year and trying to get even more out of the conference.
Google Pac Man
As many of you probably already know, yesterday Google changed their logo to a playable Pac Man game in honor of the 30th anniversary of the game. A few members of StackOverflow put together the code and assets to allow others (like me) to host it on their own site or even locally. Here is the game:
And here are the assets if you want to host it locally:
Unity
Currently, my job is to create a game to teach astronomy to middle school students. Luckily for me, there is an abundance of options for game engines to help me ranging from the simple and free (Scratch and Alice) to the expensive and complex (Unreal, etc). For our project we wanted an engine deep enough to cover multiple game types in one game that was reasonably priced. After debating over the 2D vs. 3D issue, I decided 3D might be too complex for the style of game we wanted to create. However, after prototyping a few game ideas in several different engines, we settled on Unity for its flexibility and affordability (free for the indie version $1200 for the pro version). Even though it is primarily a 3D engine, 2D games can be made without much trouble.
In order to get familiar with the Unity engine, I followed two tutorials I found in the Unity forums. The first was a basic shmup.
The second tutorial was a redux (in C#) of the first plus an extension that included models for the ship and asteroid. While I followed along with this tutorial, I decided to keep everything in JavaScript. This helped me to clarify some of the elements of the Unity engine independent of language.
After completing the tutorials, I decided to extend the game a bit to include bombs, more asteroids and large asteroids. As of this writing, I haven’t made final decisions for how to complete the game (whether it will be a score the player must or a set time limit), but the current version can be found here:
http://programmingmylife.com/spaceShooter/spaceShooter.html
Unity makes the process of uploading any game you build in the engine to a website incredibly easy. When making a build of a game you simply have to use the following settings:
File > Build settings > web player (make sure to include all scenes)
When you build the game it will create a *.unity and a *.html file (the * represents the name of the game that you set). Assuming your web host knows what to do with the .unity file, you can simply upload the two files and the game will run at that web location. If, like me, your web host doesn’t support the .unity file format likely this will cause your browser to fail to download the content. I received an error on Chrome stating ‘Failed to download data file’ with details ‘Download failed, try again’, but on Firefox, the download status simply stayed at zero. To fix this, you will simply need to include in the directory with the .unity and .html file the following in a file called web.config:
<?xml version="1.0" encoding="utf-8" ?><configuration> <system.webServer> <staticContent> <mimeMap fileExtension=".unity3d" mimeType="application/vnd.unity" /> </staticContent> </system.webServer> </configuration>
I was able to find these instructions from this query at Unity Answers. Unity Answers is a great service that runs in addition to the Unity forums. These two complementary services along with the users give Unity a strong community that should allow users from novice to advanced to find answers to any problems they might have.
It Just Works: Steam and Blizzard
I recently purchased a well reviewed laptop (ASUS UL80Vt-A1) as well as Torchlight on Steam. This was the perfect opportunity to see how Steam works on multiple machines. I downloaded the Steam client to my laptop, entered my password, and all of the games I had purchased both online (Torchlight and Bioshock) and at retail but had authenticated through Steam (The Orange Box) were available immediately. I simply downloaded and installed Torchlight and Bioshock and was able to play them immediately. It just works. The download speed was impressive reaching 2Mb/s.
Steam recently announced that its Steam Cloud feature was integrated into Torchlight. This feature makes gaming on multiple machines much less work. Previously, I would have had to set up a way to share my game save files and copied them to the appropriate folder each time I moved from one machine to another. Now, I am able to just load up the game on either machine at any time and find my avatar exactly where I left him on the other machine just seconds before. Outstanding.
The only thing that doesn’t ‘just work’ with Steam is being signed in on two machines at once. Upon signing into my Steam account on my laptop, I was kicked off on my PC. I am told that I can avoid this by playing in offline mode on my secondary machine, but I see this as a bug, not a feature. I can understand not being allowed to play games on multiple machines at once due to piracy issues, but signing me out just for logging onto another machine is bad design. This is a minor annoyance, though.
Blizzard also has a client for registering retail games. While creating an account for the Starcraft 2 beta, I decided to register my StarCraft and Diablo Battlechests
. I didn’t have any use for the service when I signed up, but having my disks who-knows-where right now, I found the perfect opportunity to test their service as well. The ‘my games’ section of the account is a bit buried, so finding it took a few minutes, but upon finding it, I was able to download the games patched to the most recent version in about 20 minutes each. The system also keeps the CD keys saved so that during the install, I don’t have to search for the boxes. Considering I would have had to patch up the disk versions, this may have actually been faster than installing from the disk.
Although both systems presented minor annoyances, they represent what is so enticing about the digital age: I have purchased these games, whether at retail or digitally and am able to access them quickly at any time even if I don’t have the disk at hand.
Torchlight: When Fewer Features Means Better Gaming
Torchlight is a recent PC game available digitally for <$20 by Runic Games. The developers decided to match the low price with a relatively sparse feature set. Most games based around classes have more options for types of classes (or at least more subsets for those types) and many more spells/skills to learn. While it may sound like you are getting what you pay for, it is precisely the limited number of classes and skills that seems to make this game so well balanced.
As Jeff Atwood pointed out two years before the release of Torchlight (and in regard to non-gaming software), software should not be measured as a bundle of features. While Dragon Age (another game based around character classes) easily has a greater number of features, it does not make it a better game, per se. It would be unfair to compare the two games as they were developed by two teams of differing sizes and are built to entertain is different ways. However, the smaller feature set allowed the smaller development team to create an incredibly well balanced loot driven game in Torchlight.
While adding more classes and skills would allow more flexibility, and possibly more replayability, who wants to replay an unbalanced loot game? In addition to providing a reasonably scoped feature set to provide a more focused experience, the developers of Torchlight followed another great traditional software (and gaming) convention: Let the users determine what is broken. While Torchlight was initially a solid experience, a few of the mechanics were ripe for breaking the game. Specifically, enchanting weapons and heirlooming gems multiple times made some items game breaking.
Instead of holding the game for months to find these subtle problems, Runic released a game that was fully functional with a few exploits (that they likely were unaware of). When users found these exploits, Runic was quick to patch a solution. Version 1 may have ‘sucked’, but they shipped it anyway. When problems were found, they responded.
While Torchlight may not be the biggest selling, or most epic game of this holiday season, it succeeds in being great software with great support.
Retro Tech
Moore’s Law states that the number of transistors on a chip doubles every 24 months. Clearly, with ever increasing transistor counts the consumer can expect increasing performance. The performance increases seen up until the early 2000′s allowed software (from games to, more recently, web applications) to increase in complexity as well to take advantage of the boosted performance of new hardware. But in the last few years, most software has reached a point where the increases in hardware performance just don’t affect their day-to-day use. This has given rise to a new category of laptops, dubbed netbooks, which forgo the ultimate in performance for cheap, low power parts.
Netbooks were originally created for the One Laptop Per Child (OLPC) project, which allowed less fortunate children around the world to gain access to laptops for simple tasks, such as word processing and accessing the internet. Around the time the first netbooks were coming to market, manufacturers and consumers alike seemed to reach an epiphany that ‘hey, there is a significant portion of the laptop market (read: me, in the consumer’s case) that only needs to be able to access the internet and do some word processing.’ Thus, instead of one market for laptops, we now have market segments for gaming laptops and power users, as well as netbooks and lower end laptops that are either much cheaper or much smaller than their desktop replacement counterparts.
A similar trend has been seen in gaming in recent years. With the previous generation of consoles, most games were delivered in the form of disks. Nearly every game was made to take advantage of as much of the processing power as was possible on a given console, take up all of the space available on the disk it was delivered on, and arrive at market for full price. However, with the proliferation of smart phones and digital systems for delivering games, companies small and large have begun reverting back to retro style games that focus more on intuitive, fun gameplay mechanics rather than the most in depth physics or graphics simulations. Now, in addition to the blockbuster games, we see segments for all types of smaller games across the range of platforms.
In both instances, consumers have increased options because someone decided to move laterally rather than forward. Perhaps this is just forward in a different direction.
Interactive Storytelling
I recently finished Batman: Arkham Asylum on PC and enjoyed it. The gameplay was fun and the mix of puzzles, combat, and stealth made the game rarely feel repetitious. What really makes Arkham Asylum interesting, though, is the storytelling. There are many games known for their story (for better or for worse) that tell the large majority of the story, especially the major plot points, in the form of lengthy cutscenes. I have enjoyed a number of stories told this way but, it is not the best use of the medium of video games for storytelling. Arkham Asylum forgoes the lengthy cutscenes and tells the story through sections of gameplay and short cutscenes that mostly flow with the action. This made me feel as though I was a part of the story rather than driving through a game to unlock the story.
NB: There will be spoilers in the following sections for the story of the game.
Instead of beginning with a cutscene, you begin in control of Batman walking Joker (surrounded by guards) into Arkham. While you can’t do much at this point other than walk, it sets the tone for feeling as though you are part of the action rather than just watching it. There are several other story moments where simply walking around tells the story better than a cutscene. For example, rain begins falling in the halls of Arkham Mansion. As Batman advances down the corridor, the mansion walls are replaced by one of the most famous scenes from Batman. After walking through the scene, Batman opens a door to reveal that the hallucination was caused by Scarecrow.
It would have been simple to make a cutscene showing Batman under Scarecrow’s ‘spell’ similar to what was done in the movie Batman Begins, but changing the scenery while the player is still in control makes it significantly more visceral; it is as though the player is being influenced by Scarecrow as well. This occurs on more than one occasion and each time is done in such a way to make the player experience it rather than just watch it.
Interactions with The Joker, the game’s primary villain, are also handled primarily while the player is in control; he toys with Batman during the game on the TVs scattered throughout the Asylum. The backstory for many of the villains is handled in a similar way. Instead of TVs in the game telling the stories, the player collects disks containing audio recordings of therapy sessions with the inmates/villains, which can be listened to as the player explores Arkham.
Although it deepens the experience, the implementation of the audio tapes breaks up the flow of the game occasionally. By default, the recordings start up when the player picks up a disk, which sends the player out of the gameplay and into a menu. The extra information in the menus is interesting, but the experience would be smoother if the audio started up still allowing the player to be in control. This option is clearly available as there is an option to exit the menu and continue playing while the audio finishes up.
Batman: Arkham Asylum has its share of problems and poor design decisions; it’s not perfect. However, the developers surprised me with their effective use of the medium of video games to tell an interactive story. This certainly isn’t the first game to adopt this style, but I was surprised to see it so well implemented in a game that could have easily sold well (thanks to a powerful license in Batman) with much less care taken in the design. Hopefully, more developers come up with ways to let players experience stories rather than watch them.