Archive for the 'CS' Category
Frederick County “Future Link”, and memories of the past
Sunday, June 1st, 2008I gave three half-hour hands on presentations at the Frederick County, Maryland Future Link conference for high-school sophomores Thursday. It was pretty fun, and the students (about 25-30 in each group) were great!
Preparing for this, I remembered that back when I was in junior-high and high school, I’d learned a ton about programming by typing in the game programs in SoftSide magazine, a little bit at a time to see what they did and debug them. Later I branched out to writing my own (very simple) games, which I gave away to my friends. One was a snake game, using the IBM PC’s line characters for the snake body. I wrote it as a high-school student in Maryland, then went off to college in Illinois. One day, I came back from classes to find my roommate from Washington state playing it! I don’t know how it made it coast to coast, but I really hoped to be able to give that sense of possibility to the students Thursday.
We used Microsoft’s XNA Game Studio, in part because it’s free and very accessible, in part because it has a rich set of examples, and in part because their new community game distribution system gives a way for individually created games to get out there. Plus, I was able to bring one of our XBox 360s to show what we did running on a game system. We started with the catapult mini-game example. With only half an hour, we could only do relatively simple things, but I wanted to show how easy it is to get started. First I dropped in an image of my head to replace the pumpkin that the catapult normally flings, then we walked through changing the bounce logic to do random bounces instead of the simple predictable bounces it normally does. Some of the students went off in their own directions, creating other simple modifications beyond the ones I’d suggested. Not bad in half an hour!
Game developers on academic research
Monday, March 17th, 2008In the past month, I’ve had the pleasure of attending two conferences bringing together academics and the games industry. The first was I3D, the Symposium on Interactive 3D Graphics and Games, sponsored by ACM SIGGRAPH. The second was GSCSE, or Game Development in Computer Science Education. GDCSE was formerly the Microsoft Academic Days in Gaming Conference, but this year’s was co-sponsored by EA and held in cooperation with ACM SIGCSE. One of the most interesting things to come out of both was the perspectives of games industry veterans on the roles of university research in the games industry. Here are a few of my notes, from most researchy (I3D) to most industry focused (GDCSE).
(more…)
Multimedia malware in Second Life robs avatars
Monday, February 18th, 2008There’s a role for almost every area of Computer Science in game development, including security. A article Exploiting QuickTime flaws in ‘Second Life’, describes a vulnerability in Second Life that allows an object with a multimedia link to inject malicious code into the victim.
“Researchers Charlie Miller of Independent Security Evaluators, and Dino Dai Zovi, turned their attention to Second Life during a Saturday morning presentation at ShmooCon, an East Coast computer hacking conference. The researchers didn’t exploit a flaw within Linden Labs’ Second Life, but within QuickTime. They showed how an attacker could make money stealing from innocent Second Life victims.” (link)
Their SmooCon talk was titled “Virtual Worlds - Real Exploits” and had the abstract
“Virtual worlds serve as a new way to deliver exploits to the masses. Besides traditional attacks, they also allow attackers to control the “avatars” of players, including being able to steal the player’s virtual money and possessions. When there is a link between the virtual money and real money, this can be an easy way for an attacker to profit. This talk will address these issues and illustrate the technical details of a Second Life exploit.” (link)
Apparently the general approach used in the exploit has been around for a while, as Vint Falken blogs in The Second Life Quicktime exploit soon redone?. Here’s how Miller and Zovi demonstrated the current version of the exploit.
“For their demonstration, they created “the most evil pink box you will ever see.” They could have linked their malicious code to attributes of an avatar’s hair, clothes, or anything else. They also could have buried the pink box underground or otherwise hidden it, but both researchers admitted they weren’t very good players within Second Life. … In the demo, the researchers were able to show that their avatar became infected when it came too near the pink box. The code they used raided the avatar’s Linden dollars and emptied the bank account.” (link)
Reassuring Parents about Game Degrees
Wednesday, January 2nd, 2008I almost missed it with the holidays and all, but game career site gamecareerguide.com had an interesting article at the end of last month entitled “Reassuring Parents about Game Degrees” by Andrew Tuson, who heads the Department of Computing at City University London. He makes a bunch of great points, all of which apply at least as much, if not more, for programs on this side of the pond. In particular:
- “Are there jobs…” - He mentions jobs in the UK, but the industry is clearly booming in the US, and a number of the major Baltimore area game companies have been growing.
- “How can a degree help…” - I agree with his points 100%. There are plenty of examples of people working in the industry who don’t have a game-focused degree, but we’ve talked to lots of game developers, and they all agree. They are desperate for skilled people. Anyone can learn to play a game without formal training, but only a select few can learn game development without formal training.
- “Will a game degree be recognized outside of the games industry” - We came to the same conclusion he does. A “game degree” may not mean much outside the games industry. A game-focused version of a regular degree (Computer Science or Art) can be your ticket into the games industry, but can also just be a fun way to get that regular degree that will be widely recognized.
- “Are game degrees a soft option” - Hardly! Ask any student taking an advanced graphics or AI or parallel programming class (Cell processing anyone?). Just be sure to ask them both if it’s easy, and if it’s fun!
GameCareerGuide is a great site, by the way, run by the same people who do gamasutra, game developer magazine, and the annual Game Developers Conference. Well worth a look.
Microsoft launches effort to exploit multicore processors
Tuesday, December 18th, 2007In yesterday’s New York Times, John Markoff wrote (Faster Chips Are Leaving Programmers in Their Dust) about a major new effort Microsoft is making to develop their capability to exploit the new multicore processors being developed by Intel, AMD and IBM.
When he was chief executive of Intel in the 1990s, Andrew S. Grove would often talk about the “software spiral†— the interplay between ever-faster microprocessor chips and software that required ever more computing power.
The potential speed of chips is still climbing, but now the software they run is having trouble keeping up. Newer chips with multiple processors require dauntingly complex software that breaks up computing chores into chunks that can be processed at the same time.
The challenges have not dented the enthusiasm for the potential of the new parallel chips at Microsoft, where executives are betting that the arrival of manycore chips — processors with more than eight cores, possible as soon as 2010 — will transform the world of personal computing.
The company is mounting a major effort to improve the parallel computing capabilities in its software.
“Microsoft is doing the right thing in trying to develop parallel software,†said Andrew Singer, a veteran software designer who is the co-founder of Rapport Inc., a parallel computing company based in Redwood City, Calif. “They could be roadkill if somebody else figures out how to do this first.â€
Games and interactive entertainment are among the first application areas to benefit from multicore processors, primarily through the Sony PS3 console.
The UMBC Games, Animation and Interactive Media programs includes the study of parallel and multicore computing as one of the key technologies in the Computer Science track and in partnership with UMBC’s new Multicore Computing Center. This coming Spring, for example, UMBC is offering a special topics course (CMSC 491s/691s) on the topic — Introduction to Cell Processors and Applications.
Make games for OLPC with the Etoys programming environment
Wednesday, November 7th, 2007Etoys is a computer environment and object-oriented programming language for use in education that is getting increased attention these days because it is included in the One Laptop Per Child XO. A post in Lambda the Ultimate notes:
“Etoys was invented by Alan Kay’s research group and is in continuous development and use as an integrated feature of Squeak Smalltalk. The Squeak/Etoys community includes lots of researchers, programmers, teachers, and kids around the world. Squeaky Tales is a series of short tutorial screencasts designed to each people to program with Etoys. I’m very excited that this may be what’s needed to make Etoys programming easy to learn for people at home. My experience has been that it’s easy and fun to teach Etoys programming face-to-face with everybody using their own laptop, but that it’s very slow and frustrating to try and learn Etoys by yourself just by installing it and clicking around. If Squeaky Tales makes it easy and fun to learn Etoys all by yourself at home then it’s quite a contribution to the world!”
Security and games: exploiting online games
Tuesday, July 17th, 2007
Massively multiplayer online games (MMOGs) like World of Warcraft and Second Life are large, complex, dynamic distributed software systems with hundreds of thousands of users scattered around the world. A new book, Exploiting Online Games explores a range of security issues associated with these games, including topics like the following.
- Why online games are a harbinger of software security issues to come
- How millions of gamers have created billion-dollar virtual economies
- How game companies invade personal privacy
- Why some gamers cheat
- Techniques for breaking online game security
- How to build a bot to play a game for you
- Methods for total conversion and advanced mods
Tim Wilson of Dark Reading motivated it this way in his post about the book
“You’re playing an online game in which players are warriors who can only walk, jump, or run. Suddenly, another player appears out of nowhere, draws his sword, and hacks you to bits. Game over. But were you really beaten by a superior player? Or did a hacker or cheater simply rig the game?”
This book illustrates a theme that underlies the game track in the CMSC program. Studying computer games is a good way to learn the basic principles of computer science and studying computer science is a good way to prepare yourself for a career in the interactive entertainment industry.
A science of games
Wednesday, July 4th, 2007
The current issue of the Communications of the ACM (v50n7) is a special issue on Creating a science of games. The introduction and siX articles will be of special interests to computer scientists.
“The time has come to take computer games seriously, really seriously, says Michael Zyda, professor of engineering practice at the University of Southern California where he is director of the USC GamePipe Laboratory. … The authors share their latest research and vision toward this goal. All contend that future research, innovation, and creativity in education and training will demand the skills and knowledge of computer scientists, not just game developers, many of whom are still reeling from early attempts at edutainment. The potential for revolutionizing math and science education using a game-based learning infrastructure is immeasurable and will happen, Zyda says, only via the efforts of computer scientists and the realization that educational programs must produce graduates able to create next-generation game technologies
Articles in ACM’s digital library should be available if you access them from a computer on the UMBC network or if you establish a VPN connection to UMBC from your off campus computer. (Note — you might try the new OIT web based VPN system).
Here are the articles…
- Creating a Science of Games, Michael Zyda, Guest Editor, (pdf)
- Games for Science and Engineering Education, Merrilea J. Mayo, (pdf)
- Games for Training, Ralph E. Chatham. (pdf)
- How to Build Serious Games, Henry Kelly, Kay Howell, Eitan Glinert, Loring Holding, Chris Swain, Adam Burrowbridge, and Michelle Roper. (pdf)
- Carnegie Mellon’s Entertainment Technology Center: Combining the Left and Right Brain, Randy Pausch and Don Marinelli. (pdf)
- Using Storytelling to Motivate Programming, Caitlin Kelleher and Randy Pausch. (pdf)
- Real-Time Sound Synthesis and Propagation for Games, Nikunj Raghuvanshi, Christian Lauterbach, Anish Chandak, Dinesh Manocha, and Ming C. Li. (pdf)
Nick Baker on the XBox 360 Architecture
Wednesday, May 30th, 2007Microsoft Developer Network (MSDN) has a half-hour interview with Nick Baker, director of the Xbox 360 hardware team, on the architecture of the XBox 360.
“What is the XBox 360, exactly? How do you go about designing and building a game console that meets the high standards of today’s gamers and handles the computational pressures of today’s highly realistic games (think real time physics computation, incredibly rich graphics, etc)? Did you know the XBox 360 team saw into the multi-core future before most anybody else?”
If you are interested in how computer architecture and systems support games, it’s worth listening to.
HGE open-source 2D game engine
Tuesday, May 29th, 2007
The game industry today is mostly focused on producing 3D games, but there’s still life in 2D games, especially if they offer something novel and fun. Creating a 2D game is also a good way to to develop your confidence and skills in some universal game aspects and features, like game logic, HCI, scoring, narrative, etc. HGE is an open-source game engine for developing 2D games for Windows.
HGE is an easy to use yet powerful hardware accelerated 2D game engine. It is a full featured middleware for all who want to develop commercial quality 2D games rapidly and easily. It covers all imaginable 2D game genres: you could create everything from a simple puzzle to advanced multilayered platformer or strategy without even thinking of any non game logic code! And you don’t have to know anything about “window messages”, DirectX programming and all that stuff. Instead you can start developing your own game within 15 minutes!
HGE runs on Microsoft Windows 98, 2000, NT, ME, XP and requires DirectX 8.0. It will run even on low-end video cards, including built in video cards such as Intel Solano (i815 chipset). HGE can be used with virtually any C++ compiler including Visual C++, Borland C++, MinGW and Metrowerks Codewarrior.
HGE 1.7 has just been released (28 May 2007) and includes all required libs, headers, tutorials, authoring tools, documentation and source code.

