A group of 14 students from Singapore’s NUS High School of Math and Science had the opportunity to travel overseas this summer when they participated in ProjectFUN workshops at DigiPen Institute of Technology in Redmond, Washington.
While about half of the group learned how to program a 2D game engine, the other half completed a workshop on Artificial Intelligence for Games alongside other American students in grades 8-12. The two-week workshops took place August 1-12 and were taught by a combination of DigiPen undergraduate students and faculty members.
Chin Tian, 16, was one of the students in the artificial intelligence workshop. While she came to the workshop with some prior experience in programming video games, this was her first experience with learning how to program specifically for artificial intelligence.
“We try different kinds of games and try to make the enemy A.I., and sometimes we also make the player A.I. so that we don’t need to play the game — we just watch,” Chin Tian said. “When we first started we did simple games like Pong. Then, after that, we moved onto harder ones like (a Pac-Man-styled game).”
For the latter game, she said, students had to program the behaviors for the four enemy ghosts, each of which relies on a unique pattern of movement to chase the player through an on-screen maze.
So we try the best strategies, and we also programmed the player A.I. to see if the player can eat the dots and escape from the ghosts,” Chin Tian said. “Sometimes there are functions coded for us, and we just need to put them together. But usually there are other things that we need to add on.”
In addition to creating A.I. for video games, students in the workshop also spent one of the days learning how to program autonomous movement for a robotic car.
When asked about the most challenging aspect of the workshop, Chin Tian mentioned program debugging.
“Sometimes you type out the code and it seems OK, but when you run it, it doesn’t actually work — or you don’t know if it works,” she said.
Meanwhile, NUS High School student Chua Hou, 17, was busy learning how to develop a 2D game engine using the C++ programming language.
A game engine is a software program that supports, among other things, a game’s most fundamental operations, such as graphics, sound, and simulated physics for objects in the game world. By creating a successful engine, game programmers can reuse much of the same code for multiple game projects — often saving time, energy, and money.
We were taught about the different components of a game engine, and we had assignments along the way to gradually build up each component,” Chua Hou said. “From the start we have the rendering code, which was one of the components that we didn’t need to program. … Then, first thing we did was to basically render things on the screen. Then, after that, we started adding player controls, for example. Then we tested our player controls. Then we added physics, tested our physics — that kind of thing.”
At the end of the workshop, Chua Hou and his classmates had created a basic game engine that they will be able to use for making their own computer games.
“The most fun thing was using the engine to make mini games and putting together funny combinations of pictures, like our friend’s faces,” Chua Hou said.
When not in class, the NUS High School students were getting a taste of independent living. Instead of staying at a hotel, students resided at DigiPen Housing apartments located near campus. As a part of the experience, students were responsible for preparing their own evening meals (“We just made some simple stuff that we bought from the supermarket,” Chin Tian said.) and cleaning up their own living spaces.
The students also took part in weekend sightseeing activities around Seattle — including trips to the Space Needle, EMP Museum, Pike Place Market, and a tour of the Bill and Melinda Gates Foundation visitor center.
“I liked the Nirvana exhibition at the EMP Museum,” Chua Hou said. “It’s quite cool. You have the entire history and displays, and a lot of music samples as well.”
“I think the Pike Place Market is quite interesting,” Chin Tian said. “And along the streets we saw many people performing — street performance.”
Given the opportunity, Chin Tian said she would be excited to return to the United States for even more ProjectFUN workshops. For Chua Hou, who also came to the workshop with previous game programming experience, he says he’s looking forward to the idea of studying more advanced computer science topics at a university.
I think my interest in college would be more in computer science than programming, like not necessarily coding but more of the algorithms behind that,” he said. “This class has given me a lot of practice in good programming practices and how to design complex systems. So it will definitely be useful.”
This is the second year that DigiPen has partnered with NUS High School to offer an overseas summer program.