Game Design | Programming School
Game Design.
Game Programming.
Game School.


Special Topics in Multimedia: SPT399

Michael Eilers is recruiting for SPT399 Wellspring, a project-oriented class with one goal in mind: to build, test and polish an original game for entry into the Independent Games Festival contest for 2005. This is not a learning project – it is an opportunity for those with well-developed skills to push those talents to the limit. And Wellspring is open to new students who want a little testing experience.

Wellspring itself is an original game design based on the characteristics of many arcade classics. It is an action-oriented puzzle game with elements of Robotron, Marble Madness, Pengo and many other Golden Age classics crossed with high school science experiments.

“This is an excellent opportunity for any student to step outside the classroom and really put their skills to the test,” Eilers said. “We’ve got a fantastic game program that is only beginning to gain steam, and we need to prove it by placing a game in the Student Showcase. If we don’t have a game in the top 10 by 2006, we might as well pack it in,” Eilers said.

In an interview, Eilers explains his game plan for Wellspring:

Wellspring is an idea you’ve had for a while now. Exactly how long has this been forming in your mind?

I began work on the design document December of 2003, after spending a few weeks working on an article about classic games and the Golden Age of gaming. My idea from the outset was to make a simple, addictive game of the type you’d find on PopCap or Yahoo games, but include puzzle and strategy elements rather than relying purely on “twitch” skills. I also wanted to design something that was feasible to build in a short period of time, and that would use as many off-the-shelf and industry standard components as possible.

What’s the basic idea behind Wellspring technically?

Due to the effects of the open-source movement in PC programming, there is a huge surplus of components out there which are just begging to be incorporated into a functional game. I wanted to take a lot of open-source and open-license components and use them to build the engine, with the dual goal of making something very complex in a short period of time, and hopefully making that project platform-independent (for future Linux, Mac OS X and perhaps even console versions). The game engine is based on SDL (Simple Directmedia Layer), an open-source DirectX clone, coupled with OpenGL; that takes care of graphics, sound and input. We’re also using an open-source physics engine, and using Python for scripting of certain functions such as weapon behavior, AI and enemy actions and level design. Our goal is to make a fast-action game with good graphics, low CPU and graphics card requirements and an extensible structure that can be re-used or added on to for future projects. We would also like to have level-editing tools built right into the game, and have many components of the game (especially AI and enemy behavior) scriptable so that someone could add their own components and designs to the game with relative ease.

Describe the story behind Wellspring...

Wellspring is an arcade puzzler, and as such doesn’t have much of a story, but here’s the setting: the player controls the Stylus, a small spacecraft designed to assist in the operation of a defense grid above an alien planet. The grid itself is protected by four Wells, powerful defense weapons which must be “awakened” from their dormant state. An enemy (currently known as “The Froth”) is attacking the defense grid with wave after wave of biomechanical minions, and you must use the Wells to defend your planet from destruction. It isn’t exactly Shakespeare, but we’re talking about a game designed with the arcade mindset of being something that you can just walk up to and intuitively understand how to play.

What's the strategy for players?

Wellspring is an arcade puzzler; your actions in the game are realtime, but you must plan ahead and strategize as well. Your basic mission is to destroy the Infestoids, which act as “spawn points” for enemy invaders, by blasting them with beams generated by the Wells. In order to “power up” a Well so that it can fire, you collect color-coded Cells from the battlefield, with each color of Cell providing power for the matching-color Well. Once a Well has been powered up to one of three power levels, you can aim and fire it at enemies – but the enemy won’t always be in the direct line of fire, and you can only aim in 90-degree increments. That’s where the strategy comes in. You can use other Wells as well as Mirrors and Prisms placed on the grid to aim and split the beams you fire from the Wells, and also set up beams to “cascade” through dormant and powered-up Wells in order to create spectacular chain reactions; there is also a “combo” system where you earn more points, power-ups and bonuses for creating elaborate beam reflection events. Wells are destroyed if an enemy touches them while they are dormant, so you must keep them powered-up as a defense; the Stylus itself is immortal, but you must wait several seconds for it to respawn if you are destroyed. The game ends when all four Wells have been destroyed. In classic arcade-game fashion, each level will get tougher than the last, and we may even have time to include a few “boss” monsters to battle.

Are you still looking to add more people to your group? If so, what skills should they have and how experienced should they be?

Yes, we are currently recruiting more members for the project. Students can either join the class itself, or I can add them as 1- and 2-hour independent study projects if they just want to contribute some art or a few models. We need C++ programmers, OpenGL programmers, 2D artists, 3D artists and animators, Python scripters and of course testers.

How can a new student get involved in a project like this? Would they be better off waiting until their skills are a bit further developed?

New students would be extremely valuable as testers; there are also many students “new” to UAT who are actually coming in with lots of experience and transfer credit. I would say that those types of students, coming from another University, would be ideal candidates for a project like this – no better way to get into the UAT mindset than a “trial by fire.”

How far along is the development?

We made slow progress last semester, as the project was severely understaffed, but we still managed to refine the game design and build the foundation for the game engine. Right now we have concept art, an OpenGL engine with particle effects and physics and a well-polished design doc, and we’ve got a solid framework for completing the engine.

What are your plans with this project? Where will it be displayed?

Our plan, audacious as it seems, is to have the game complete by November 15th and enter it into the Student category of the Independent Games Festival, a rapidly growing and highly competitive game development contest that is part of the Game Developer’s Conference. I don’t plan to settle for just being in the list of entries; we’re shooting for a top-ten slot. If all goes well, the game will be seen by thousands of gamers, game developers and publishers, and will be a showcase project of UAT’s game development skills. Beyond that date the game will continue to be polished and developed, and hopefully will become a Web-downloadable game for students (and potential students) to download as freeware from the UAT web site.