Ideas for games to teach programming with

Started by
5 comments, last by ferrous 10 years ago

I teach game development classes, and have two sets of games I commonly teach to help students learn to program.

the first is a simple MUD/RPG style forms app. Player, stats, inventory, oop principals, etc..

the second is a simple 2D space shooter. physics, AI, Descriptor Engine, etc...

I'm looking for other simple game ideas that are primative enough that they could be taught as part of a programming 101. Small topics, Tiny games, quickly getting to game play.

Thanks.

(Also, I teach multiple languages and engines. the technology needed is not my concern here, just games that are small, quick to program and get to playability Thanks)

(Additional note: I feel this belongs in the programming section, not design, because I wanted people with experience making games to chime in on not just small games, but small to program games)

Moltar - "Do you even know how to use that?"

Space Ghost - “Moltar, I have a giant brain that is able to reduce any complex machine into a simple yes or no answer."

Dan - "Best Description of AI ever."

Advertisement

Some simple games I started out with are Space Invaders, Pong, Columns and Tetris. They provide a simple intro to a lot of programming concepts and are not heavy weight, certainly clones of these games can be written quickly. I would consider a Mud (networking + multiple players) or anything with 'physics' a bit too heavy as an 'introduction' and more suited to a 201 or higher course.

n!

Not really a game, more like emulator - show your students how funny physics can be in the gaming manner.

Imagine the mobile app where you can spawn particles at any point of the screen and they immediately fall down on the floor by impact of gravity (which you can grab from mobile accelerometer) and jump back, by inverting and fading the impulse at the point of collision with the floor. You can utilize forces, impulses, accelerations and speeds in this simple application, also collisions and so on. You keep spawning them and rotate your screen - those particles follow your gestures by recalculating their physics properties in real time.

The magic mysterious world of formulas becomes very simple and clear, when you see their applicative nature in a simple mobile app =)

flying saucer shooter!

similar to missile command.

arrows control crosshairs

flying saucer moves at random around the screen.

laser beams (triggered by spacebar) shoot from lower corners of screen to crosshairs.

when you kill a saucer, another appears (or maybe two or more!)

if 3 (or x # of) saucers fly offscreen before you shoot them, you lose.

easy to implement.

fun to play.

a basic arcade game.

first game i made up once i got my own PC (an 8mhz 8088 overclocked to 10khz). mostly at first i wrote apps (a quicken type thing, a text editor, an auto-scheduler, etc). but i did do flying saucer shooter, sort of as a lark - its cool, but arcade games aren't really my thing, give me a good tabletop war game any day.

before that it was a text/vector graphics RPG on a friend's pc. a sperry rand pc w/ 64k ram, a cga card , and dual 360k floppies. both were done in interpreted basic.

after that i got into developing operating environment systems and integrated packages.

it was probably five or six years later that i wrote the first version of SIMTrek / SIMSpace and seriously got into game development.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

Rather than list games, I think a beginner is more motivated doing fun interactive graphical cool stuff and important game logic rather than feel overwhelmed they need to make a game.

Game feature to get your feet wet with 2D Graphics Coordinate System and game logic all at once

1) Just getting the image on the screen is probably the first thing any beginner to do!

2) Game Object movement tests your understanding on 2D Graphics Coordinate System super fast! Introduces the beginner to event listeners, key and mouse!(Super fun stuff) (Super useful for pong, breakout, space game)

3) Animation - this feature has intermediate difficulty. If the codebase is done cleanly, it can be reused as a animation system. This feature teaches adding images to a list and iterating the list through while evaluating frame counter comparison and drawing images on the screen.

4) Game State Management- this can be a character moving, running and having an animation system draw the appropriate animation relative to the character state. This can also be the behavior of the game itself(is the game over, is the game in main menu or in the overworld?)

5) Dialogue System - this feature will definitely take the cake as being as a larger feature and will make a teacher super amazed. This feature promotes creative thinking, string manipulation, handling more art assets.

6) Inventory is a good idea. Get them aquainted with lists and arrays. Deleting or adding items.

Rule of thumb: Always tell student to start small!

I think one of the first games I did was I guess you could say a console style text game (it was done on a C64) where you start in one "town" and buy stuff, then go to another town and try to sell it at a profit. Make enough money and you can expend your capacity to carry stuff. Every time you moved from one town to another the prices for things at each town would fluctuate a bit.

Asteroids, or variations of it, are pretty fun to see in action, and tend to involve some simple physics and either vector or angle math.

This topic is closed to new replies.

Advertisement