Mobile Gaming and the Zune William Birmingham ASEE Conference June, 2010 Louisville, KY Grove City College ASEE 2009: SDR 2 Key points • Mobile gaming classes are popular and covers many CS areas – Math, physics – Software engineering, UI design – Networking • • • • Game classes are technically challenging Zune is a great platform for mobile gaming Software (Visual Studio and XNA) are free and well designed Students enjoy using the platform ASEE 2009: SDR 3 Zune HW ASEE 2009: SDR 4 Mobile and Pervasive games • Important and rapidly growing market • Traditionally owned by specialized hw devices – Sony PSP – Nintendo DS • Increasingly driven by smartphone – iPhone and iPad – Android • Becoming a general technology and game play driver for the industry as a whole – Support for (fix) console/mobile gaming coming soon (XNA) ASEE 2009: SDR 5 Gaming and CS education • Uses much of CS student’s education – – – – – – – – – Math and physics Software engineering/project management Object-oriented design and advanced programming Real-time programming Data structures and algorithms Graphics UI design Networking Projects • Game design – Building a great experience – Developing multimedia (audio and video assets) ASEE 2010 6 Gaming and CS education • Most programs based on Windows PC platforms or specialized engines – Not useful for mobile gaming • Special hardware (devkits) from Nintendo, Sony – – – – Hard to get (must be licensed) Expensive Proprietary programming environments NDA and other legal issues • Other platforms, especially smartphones – Still relatively expensive – May have NDA and licensing requirements (e.g., Apple) – May require cellular data contracts ASEE 2010 7 Gaming curriculum • Games 1 – – – – 2D Gaming (graphics, physics and AI) Art and craft of creating compelling games Students create “arcade-style” games Microsoft XNA and PCs • Games 2 – – – – – – 3D gaming (graphics, physics) Camera Significantly more mathematically complex AI learning Students use Agile methods to create sophisticated games Microsoft XNA and PCs ASEE 2010 8 Gaming curriculum • Games 3 – Console – Multiplayer • Multiple cameras • Synchronization issues – Networked – Game design methods significantly different – Advanced use of multimedia • FFT data for game play • Using “album art” to populate game • XNA, Zunes, Xbox 360 – Professional devkits available for students who want to use them ASEE 2010 9 Networking • Significant element of Games 3, particularly for mobile games • XNA provides a gaming abstraction for the network – Players – Network object – Latency and throughput are controllable • Explore latency and packet loss issues – “teleporting” vs interpolation • Game issues – How do you start? – How do you end? – Mechanics of mobile games, screen size and using device on the run ASEE 2010 10 ABET course outcomes (c) An ability to design, implement, and evaluate a Students will write specifications for the games they create, with emphasis on good game play and a computer-based system, process, component, or sophisticated gaming experience. Students will develop games—including code, artwork, sound program to meet desired need effects, and music—to realize the specifications. Students will develop the software for their games for the Microsoft Zune and the Microsoft Xbox 360 using Microsoft XNA 3.1. The Zune games will be implemented in c#. To run their games, students will use the Zune and the Xbox 360 as attached, development hardware. (i) An ability to use current techniques, skills and tools In other words, games will not run on Windows machines, and thus must be loaded and debugged on different hardware. These techniques are common for embedded computer applications, mobile necessary for computing practice device applications, etc. In addition, students will read papers from the games literature to find the latest techniques and best practices. This class will use a significant amount of mathematics and sophisticated algorithms for implementing console games. Physics, collision detection, and AI algorithms, particularly for console applications, rely (j) An ability to apply mathematical foundations, on good implementations that balance memory usage and speed. Since memory is limited on consoles, algorithmic principles, and computer science theory in and there is little memory management support, memory/speed tradeoffs are important. the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs In addition, students will study the tradeoffs in memory, processing power, and assets storage on different console device, the Zune and Xbox 360. While maintaining a similar programming model, involved in design choices these devices have vastly different performance that directly affects the games that can be run on these devices. (k) An ability to apply design and development principles Students will need to develop a variety of games, from relatively simple ones for homework in the construction of software systems of varying assignments, to complex ones for projects. Applying principles of object-oriented design, as well as complexity other techniques, will be important to complete the projects. ASEE 2010 11 Evaluation • Used Zune for two classes over two year • Approximately 20 students total • CS Students reported: – Skeptical at first due to form factor (screen and input devices) – Most end up liking the device – Some do not like it (too limited) – Good experience in networking (but there’re some problems) – Produced excellent games in about four weeks ASEE 2009: SDR 12 Evaluation • Zune HD should help with most problems – Increased screen size – Better input modes (especially in a touch-based world) – Networking seems more reliable • Students continue to use the device after class – Campus tour – Games ASEE 2010 13 Curriculum Issues: Support materials • Hardware – Zune HD • Touch and accelerometer – Zune 4G, 8G, 16G, 30G, 120 G • Three buttons and an analog “joystick” • Software – Microsoft Visual Studio 2008 or 2010 – Microsoft XNA – Microsoft Creators Club Website • Starter kits and tutorials • Message board – Image and audio creation and editing software • Syllabus and course materials available ASEE 2009: SDR 14 Summary • Zune is a capable device for game development – We’re moving to Zune HD this year • The Zune ecosystem is excellent – Support for education is excellent – Even supports professional (indie) development – “App” store for game • Requires minimal investment • Fun and popular • Willing to share all class materials (syllabuses, projects, homework, exams,…) ASEE 2009: SDR 15 Acknowledgements • Supported in part by the Grove City College Swezey Fund • Portions of the work reported here were contributed by Justin Kabonick and Adam Kaufman (GCC CS ‘10) ASEE 2009: SDR 16 ASEE 2010 17