throbber
Graphically Speaking
`
`Editor: Miguel Encarnação
`
`Educating the Next Generation of
`Mobile Game Developers ____________________________
`
`Michael Zyda,
`Dhruv Thukral,
`and Sumeet
`Jakatdar
`University of
`Southern
`California
`GamePipe Labs
`
`Jonathan
`Engelsma,
`James Ferrans,
`Mat Hans, Larry
`Shi, Fred Kitson,
`and Venu
`Vasudevan
`Motorola Labs
`
`Mobile gaming is one of the fastest growing seg-
`
`ments in the video game industry.1 The $680 mil-
`lion acquisition of Jamdat by Electronic Arts to form EA
`Mobile in 2006 is indicative of how lucrative this seg-
`ment is becoming to game development and publish-
`ing companies. The attraction lies in the huge, accessible
`market of mobile phones: it is estimated that more than
`two billion are in use. Most of these mobile phones have
`at least the computing power of earlier Pentium-based
`PCs. Yet, development on these phones is still far from
`simple, with various standards and platforms available
`for the plethora of phone types on the market. Even
`Java game developers have to publish hundreds of ver-
`sions to cover the great variety of mobile devices.
`Recently the push has been toward using open source
`Linux as the basis for a standard platform. Some mobile
`devices already ship with Linux, and the share of Linux
`devices is expected to grow. The bulk of today’s devices
`ship with proprietary operating systems, while the rest
`use Linux, Symbian, Windows Mobile, AJAR, and other
`platforms. Platform fragmentation characterizes the
`industry, and Apple’s iPhone, with its OSX-based plat-
`form, will not improve the situation.
`Fragmentation makes it hard for mobile developers,
`who must support many different implementations.
`Working toward a common platform will enable faster
`and less expensive development and deployment of appli-
`
`1 GamePipe Laboratory at the University of Southern California.
`
`cations for third-party developers. Based on this broad-
`er direction is the initiative to build open source games
`that use the Linux platform and its rich functionality.
`Through a partnership between Motorola Laboratories
`and GamePipe Laboratory at the University of Southern
`California (see Figure 1), we are exploring Linux’s capa-
`bilities for mobile gaming and to provide developers
`with an alternative to what is predominantly a Java-
`based medium. Moving beyond Java lets game devel-
`opers fully leverage the hardware advances and
`software capabilities of high-end smart phones. Doing
`so will help bring to mobile game development the same
`kind of developer’s utopia we already have in PCs.
`
`Initial preparation
`To help achieve our goals, we divided the project into
`two phases: analyzing existing technology and under-
`going required training.
`
`Existing technology
`To begin with, we evaluated current technology
`(hardware and software) to determine whether it was
`mature enough to provide the basic functionality we
`needed to build games—namely graphics, networking,
`and sound.
`On the hardware side, we used Motorola’s Linux-
`based E680i smart phones. The E680i has strong hard-
`ware specifications (see Figure 2 on page 92), with a
`huge touch screen and ample memory and processing
`power. Interestingly, the games preinstalled on these
`devices for China Mobile are nearly all Java-based,
`reflecting the current market.
`On the software side, we chose to use whatever
`standard graphics, network, and audio libraries were
`available on the phone as part of the EzX platform.
`EzX, Motorola’s Linux framework for mobile phones,
`is built on Montavista’s Linux Consumer Electronics
`Edition running on a Linux Kernel 2.4 core. The
`framework comes with a range of APIs for standard
`applications, such as communications and multime-
`dia. However, with the exception of Java 2 Micro
`Edition, the framework didn’t have direct support for
`games. We chose to use the existing APIs for game
`development and, as the platform matured, add fur-
`ther API support to provide full flexibility to mobile
`game developers.
`
`Continued on page 92
`
`96
`
`March/April 2007
`
`Published by the IEEE Computer Society
`
`0272-1716/07/$25.00 © 2007 IEEE
`
`Playrix Ex. 1014, Page 1 of 5
`
`

`

`Graphically Speaking
`Continued from page 96
`
`Network: GSM 900/ GSM 1800/ GSM 1900
`Size dimentions: 109 ´ 53.8 ´ 20.5 mm, 105 cc
`Display type: TFT touchscreen, 65K colors
`Navigation: 8-way navigation key
`Memory: 50 Mbytes shared memory
`Card slot MMC/SD: Up to 2 Gbytes
`Processor: Intel xScale 300 MHz processor
`OS: Linux
`GPRS: Class 10 (4僓1/3僓2 slots), 32-48 Kbps
`WLAN: No
`Bluetooth: Version 1.1
`
`2 E680i technical specifications.
`
`3 Symon Says uses Qt for the graphical interface.
`
`In terms of graphics, the phones come with Trolltech’s
`Qt. This is a C++-based GUI toolkit that developers use
`to build complex interfaces, such as the Linux K Desktop
`Environment. Although not primarily intended for game
`programming, Qt provides a powerful ability to build
`widgets, sprites, and other GUI-based elements that
`attracts game developers. The Qt API comprises useful
`graphics-related classes suitable for building 2D games.
`Through OpenGL, Qt also can provide an interface to
`3D graphics, but this feature does not come with the
`E680i.
`For networking capabilities, although the commer-
`cially shipped phones support numerous commonly
`used Bluetooth profiles, they didn’t support the personal
`area networking profile. So, Motorola added the open
`source BlueZ Bluetooth stack for our use.
`
`92
`
`March/April 2007
`
`For sound, we chose to use either Qt’s internal API for
`sound support—the E680i’s implementation of the
`MPEG Audio Decoder library—or Libmad—a sound-
`decoder library that works for MP3 files.
`
`Training
`The next phase of the project involved the training we
`needed to work with all the internal tools that Motorola
`provided to GamePipe. The EzX framework is built on
`layers of standard as well as EzX-specific APIs, and has
`an SDK not yet generally available outside Motorola.
`Two graduate students went to Motorola’s headquarters
`in Schaumburg, Illinois, for training on various aspects
`of EzX, ranging from setting up the desktop develop-
`ment environment to working with the phone setup.
`Next, the two students undertook a project to create
`a multiplayer prototype game that used Qt for the graph-
`ical interface and BlueZ for networking. The purpose
`was to test the framework’s feasibility for game devel-
`opment as well as test the learning curve for such an
`effort, considering that this collaboration was to teach
`students how to build games on Linux-based phones
`using APIs that they had never worked on before. The
`result of the effort was Symon Says, built in a space of
`six weeks.
`The success of Symon Says (see Figure 3) enabled fur-
`ther possibilities of integrating new APIs into EzX.
`Moving from 2D to 3D was the next obvious direction.
`For this, we used Simple Direct Media Layer, a multi-
`media library written in C that abstracts over various
`graphics platforms and is widely used for Linux-based
`games. We ported SDL and SDL Mixer—SDL’s audio
`component—to EzX to enable both 2D and 3D game
`development.
`In addition to providing multiple API support for
`graphics and audio, Motorola provided another option
`for networking in the form of WiFi Secure Digital I/O
`cards. This option lets programmers use the standard
`UNIX sockets interface rather than going through the
`Bluetooth adapter and BlueZ specific bindings.
`
`Design philosophy
`With significant involvement from Motorola, the
`University of Southern California offered Advanced
`Mobile Games and Devices for the first time in the Fall
`2006 semester. Mitch Lasky and Zack Norman, the
`founders of Jamdat, gave our introductory lecture. This
`confluence of a relatively new and constantly maturing
`platform and the participation of two of the best-known
`and well-respected personalities in mobile gaming made
`the course very attractive; thus, class enrollment was
`beyond both our expectations and planned capacity.
`In their talk, Lasky and Norman stressed that despite
`the recent advances in mobile devices’ graphic capabil-
`ities, mobile game development still favors design inno-
`vation over flashy graphics and extra features. They
`emphasized that mobile devices are inherently mobile,
`and that developers and designers must factor into game
`design that the end user is not sitting at home. People
`play games on mobile phones on demand, wherever
`they are. Mobile games must be tolerant of interference
`from the real world, as the human world is often noisy,
`
`Playrix Ex. 1014, Page 2 of 5
`
`

`

`crowded, and busy. Moreover, mobile gaming remains
`a spare-time medium, so play time on these games
`should take no longer than a few minutes.
`When designing a game, developers must also con-
`sider mobile devices’ unique interfaces. Keypad layout,
`the ability to press multiple key presses all at once, and
`finger travel all can affect gameplay. Developers must
`also consider screen size, battery life, and network
`latency.
`
`The games
`Lasky and Norman’s design philosophy influenced the
`game design of each of our student project teams in the
`class. Altogether, the four-to-five member teams had to
`create five multiplayer mobile games by the end of the
`semester, when they would showcase the games at
`GamePipe’s Industry Demo Day in December 2006.
`Each of the games is multiplayer, requiring one phone
`per player.
`
`Sizzlin Stylus
`Sizzlin Stylus (see Figure 4) is a two-player game
`played using stylus pens. The game begins by show-
`ing both players a randomly selected path. The play-
`ers start from different ends of the path at the same
`time and use their pens to move their characters along
`the path to the other ends. If a player moves his stylus
`outside the path, he must move it back in the path to
`continue. The player who finishes the path first wins
`the game. Both players have 30 seconds to finish the
`game; if neither finishes in time, the game ends in a
`tie. Both players’ visited paths are painted in a differ-
`ent color, so the players know each other’s position.
`The game was inspired by the arcade classic called
`Flamin Finger.
`
`BattleBoats
`BattleBoats (see Figure 5) is a two-player game in
`which each player chooses a fleet of three ships each
`drawn from types that have positive and negative attrib-
`utes. They take turns moving and/or attacking the oppo-
`nent’s ships. At the beginning of each round, each player
`is given several points to allocate to moving ships, laying
`mines, or attacking enemy ships. Any unused points roll
`over to the player’s next turn. The game ends when one
`player loses all of her ships.
`
`4 Sizzlin Stylus.
`
`5 BattleBoats.
`
`6 Finger Football.
`
`Finger Football
`Finger Football (see Figure 6) is a multiplayer game
`in which players take turns and try to score a goal in a
`maximum of three strokes. Like the tabletop game,
`three coins form a triangle, and each stroke consists of
`attempting to hit the rearmost coin between the two
`front coins.
`An unlimited number of players can participate in
`one game. Tournament play is in a knockout fashion,
`with the winner of each round advancing to the next.
`During one player’s turn, the other players watch the
`strokes and coin positions. This turn-based game was
`designed to continue for a fixed number of rounds.
`The player with the most goals at the end of all the
`rounds wins.
`
`Titan
`Titan (see Figure 7 on page 94) is a two-player game
`in which each player is building a castle, along with walls
`that shield it. By drawing cards from a deck, a player
`either builds up his castle to 100 points to win the game
`or destroys his opponent’s castle by bringing it down to
`zero points.
`The game also adds strategic elements in the form of
`card attributes, chief of which are strength, resource,
`God’s favor, and gold. Strength is the ability to attack
`and destroy your opponent’s castle and attributes.
`Resource includes such abilities as restoring your
`defenses and building up your castle. God’s favor is the
`magic in the game, used for such actions as carrying out
`an enormous attack on your opponent’s castle.
`
`IEEE Computer Graphics and Applications
`
`93
`
`Playrix Ex. 1014, Page 3 of 5
`
`

`

`Graphically Speaking
`
`7 Titan.
`
`8 Pac-Mania.
`
`Pac-Mania
`Pac-Mania (see Figure 8) is a two-player version of the
`classic Pac-Man arcade game. Each player controls a
`Pac-Man and races the other player to eat the most dots
`on the screen. Players can also eat each other for a time
`after eating “power pills.” The player with the most points,
`or the one who eats up all the other Pac-Mans, wins.
`
`Lessons learned
`Last fall, GamePipe Demo Day showcased the work
`of students taking project classes at GamePipe. More
`than 35 representatives from companies such as Disney
`Buena Vista Games, Electronic Arts Los Angeles, THQ,
`Activision, Disney Feature Animation, Verizon Wireless,
`Crystal Dynamics, EA Mobile, and Motorola attended,
`and each appreciated the efforts of the students of the
`Advanced Mobile Games and Devices course.
`Participants analyzed each game from design and
`technical standpoints to determine the project’s matu-
`rity. At the end of the day, games from the Advanced
`Mobile Devices and Games course were considered
`sound in technology and design, and a few graduating
`students were also offered internships as a result.
`Getting to this point, however, was an uphill battle.
`
`Technological hurdles
`The course’s technological aspects were too intense
`for some students, most of whom had never worked on
`embedded systems. Every game leveraged various tech-
`nologies, and each technology had its own learning
`curve, making progress estimation difficult.
`However, once the students were past the learning
`curve, they warmed up to the platform quite well and
`
`94
`
`March/April 2007
`
`completed almost 70 percent of production during the
`last six weeks of the semester. During that time, some
`teams even dabbled in adding multimodal features to
`their games. Multimodal user interfaces integrate voice,
`visual, and sometimes other user-interface modalities.
`Motorola ported their multimodal application frame-
`work to the E680i for our use.2
`A couple of team projects also faced design flaws
`halfway through their implementation because they
`overlooked limitations of the medium. These teams had
`to rethink their game designs and modify their existing
`implementations to fix the design flaws without affect-
`ing their final production schedules. For instance, the
`alpha version of Titan was difficult to play because of
`information and display overload on the phone screen.
`There were just too many visual elements, making it
`hard to comprehend what was going on. The team need-
`ed to modify the game engine core to work with fewer
`game strategy elements, so that the team could simpli-
`fy and unclutter the look and feel of the game.
`
`Interpersonal hurdles
`Team dynamics turned out to be an interesting soft
`issue. The students selected the initial four games by
`vote—out of 20 proposed game concepts. It was diffi-
`cult to convince a few of the students whose games
`weren’t chosen to work on teams, since they didn’t like
`any of the games chosen. A couple of those students pro-
`posed forming a separate team so they could work on
`their own games. To avoid fragmenting the class into
`small groups, they finally chose to work on two select-
`ed projects and ended up making significant contribu-
`tions to each. This approach reflects a philosophy
`adopted by GamePipe for all its classes, using such sit-
`uations to acclimate students to real-world soft issues
`such as the ability to work in a team. The exercise also
`demonstrates that in industry you sometimes might be
`assigned projects you don’t like, but you are still expect-
`ed to do a good job.
`By the end of the course, both the instructors and the
`students learned a lot about the entire process.
`
`Future work
`In the Fall 2006 semester, two projects tried multi-
`modal interfaces in small ways. For example, one project
`used a multimodal interface to activate cheats in the
`game to make gameplay more interesting. The next iter-
`ation of Advanced Mobile Games and Devices will be
`offered in Spring 2007 and have a stronger focus on using
`multimodality as a key area in mobile gaming. Games
`will use speech recognition as a part of gameplay, and
`teams will design games around this multimodal enabler.
`As we mentioned, Motorola developed and deployed
`a multimodal application framework on the E680i for
`this purpose.2 As Figure 9 shows, the game server and
`game client software on the devices work in conjunc-
`tion with a multimodal voice server deployed on the
`same local area network. Motorola’s client framework
`allows access to multimodal enablers from within a Qt-
`based game. So, when a user gives a voice command to
`the game, it makes a request to the voice server (in our
`case over the WiFi connection).
`
`Playrix Ex. 1014, Page 4 of 5
`
`

`

`This multimodal server is actually a slightly modified
`commercial-grade VoiceXML server. VoiceXML is the
`World Wide Web Consortium’s standard markup for
`specifying interactive voice dialogues between a human
`and a computer.3 It lets developers create and deploy
`voice applications in an analogous way to HTML for
`visual applications. Just as a visual Web browser inter-
`prets HTML documents, a voice browser interprets
`VoiceXML. Billions of calls are made each year using this
`technology. This VoiceXML example says “Hello world!”
`in synthesized speech:
`
`<?xml version=”1.0”?>
`<vxml version=”2.0” xmlns=
`”http://www.w3.org/2001/vxml”>
`<form>
`<block>
`<prompt> Hello world! </prompt>
`</block>
`</form>
`</vxml>
`
`Conclusion
`One topic that came out of this experiment was the
`controlled multiplayer environment in which the games
`were built. The world space in all the games was highly
`localized, limited by the Bluetooth and WiFi ranges to
`either a room or a building. We did not test any games
`over the wide-area carrier data networks. A better test
`for the games’ usability would be playing them on such
`a network, wherein latency and data consistency issues
`could drastically affect gameplay.
`We were encouraged by the many possible directions
`to take the Advanced Mobile Devices and Games
`course in the future. With access to camera APIs, sema-
`code image recognition, and rich context aware infor-
`mation that today’s mobile devices can provide,
`developers can radically change gameplay. The expec-
`tation is to produce results of the same or better qual-
`ity than what has been produced, and therein lies the
`challenge.
`Despite various challenges, this collaborative effort
`to produce games on an open source mobile platform
`provides a feasible and flexible medium on which future
`developers can build state-of-the-art games using cut-
`ting-edge technologies.
`■
`
`References
`1. J.R. Engelsma et al., “Ubiquitous Mobile Gaming,” Proc. Sys-
`tem Support for Ubiquitous Computing Workshop (UbiSys),
`2006; http://www.magic.ubc.ca/ubisys/positions/
`engelsma.pdf.
`2. D. Pearce et al., “An Architecture for Seamless Access to
`Distributed Multimodal Services,” Proc. 9th European Conf.
`Speech Communication and Technology, Int’l Speech Com-
`munication Assoc., 2005, pp. 2845-2848.
`3. S. McGlashan et al., “Voice Extensible Markup Language
`(VoiceXML) Version 2.0,” World Wide Web Consortium
`(W3C) recommendation, Mar. 2004, http://www.w3.
`org/TR/voicexml20/.
`
`Wi-Fi
`access point
`
`VXML
`commands
`
`Voice
`feedback
`
`Voice server
`
`Wi-Fi link
`
`Telnet session
`over Wi-Fi
`
`VXML
`commands
`
`Voice
`feedback
`
`Game client
`
`Game server
`
`9 Motorola multimodal application framework.
`
`Contact author Michael Zyda at zyda@usc.edu.
`Contact department editor Miguel Encarnação at
`me@imedia-labs.com.
`
`THE IEEE’S 1ST ONLINE-ONLY MAGAZINE
`
`IEEE Distributed Systems Online
`brings you peer-reviewed articles,
`detailed tutorials, expert-managed
`topic areas, and diverse departments
`covering the latest news and
`developments in this fast-growing field.
`
`Log on for free access
`to such topic areas as
`
`Grid Computing • Middleware
`Cluster Computing
`Peer-to-Peer • Web Systems
`Security • and More!
`
`To receive monthly
`updates, email
`dsonline@computer.org
`
`http://dsonline.computer.org
`
`IEEE Computer Graphics and Applications
`
`95
`
`Playrix Ex. 1014, Page 5 of 5
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket