Project "Computer Games"
(scroll down for publications)
The San Francisco Chronicle reported already in 2004 that the $10 billion computer game industry generates more revenue than Hollywood. Now that the graphics of computer games is very realistic, manufacturers compete on other grounds, including the realism of the behavior of the game characters. Techniques from artificial intelligence can help them, including search, planning and learning. Our current research is on trajectory planning but we are also working towards planning and learning of higher-level behavior.
Playing pinball provides an interesting control problem (namely, how to best affect the ball to score high) that combines high-level planning (and learning) with low-level control (and learning) in a time-constrained and not completely predictable environment. The control problem has the advantage that the physical world is relatively simple and there are basically only two binary user inputs, namely the two flipper buttons. Yet, insight into this control problem can be used to solve more complex control problems, such as flying helicopters. One of my undergraduate students interfaced a pinball machine to a computer and tried to teach neural networks when to flip the flippers. The computer controlled the flippers, and a camera tracked the pinball. This project won two of eight main awards at the CoC Undergraduate Research Opportunities in Computing (UROC) competition in 1999.
|"Autonomous" Pinball Machine (1999)|
Computer Games in the Classroom
We explore how to use computer games in the classroom to teach concepts from computer science, especially artificial intelligence. Computer games have a variety of advantages over other applications. First, students are typically highly motivated to learn how to program computer games. Second, students are able to debug their code more easily since computer games are very visual. Finally, computer games can introduce a friendly element of competition into the classroom. Overall, computer games can help to increase student enrollment and retention in computer science, which is important given that the US needs to double the number of science and technology graduates by 2015 according to the July 2005 report of the TAP Forum.
Our research on fast replanning studies how to find trajectories quickly, especially when one has to find similar trajectories repeatedly. Efficient replanning is important for computer games since they often simulate a large number of game characters and their other software components, such as the rendering of graphics, already place a high demand on the processor.
Any-Angle Path Planning
Our research on any-angle planning studies how to find realistic trajectories. Grids with blocked and unblocked cells are often used to represent terrain in computer games. However, paths formed by grid edges can be suboptimal and unrealistic looking since their possible headings are artificially constrained. We developed Theta*, a variant of A*, that propagates information along grid edges without constraining the paths to grid edges. Theta* is simple, fast and finds short and realistic looking paths.
Programming Pinball Machines
Pinball machines are basically robots since they interface to the physical world. I am not a good pinball player but pinball machines fascinate me because current computer science technology can be used to develop more entertaining pinball machines. We have performed a feasibility study in Summer and Fall 2008 for a motivational project class on programming pinball machines, where the students interface a PC to an existing pinball machine and then re-program the pinball machine with a pinball game developed by them.
Many publishers do not want authors to make their papers available electronically after the papers have been published. Please use the electronic versions provided here only if hardcopies are not yet available. If you have comments on any of these papers, please send me an email! Also, please send me your papers if we have common interests.
This page was automatically created by a bibliography maintenance system that was developed as part of an undergraduate research project, advised by Sven Koenig.
Home Page of Sven Koenig