[back to main site]

Sebastian's Video Game Project Showcase

This page showcases my video game projects. They run on platforms from Nintendo, Sega, Atari, to Windows, browsers, tablets and beyond. Also, they are written in a variety of languages, ranging from Assembly, to C++, C#, Basic, and JavaScript.

The source code is provided for most of the projects, as well as an SDK you can use to modify my games, or kick-start your own projects. The SDKs include my source code, which can be built out of the box.

The projects are sorted in order of source code quality, from the best to the worst (in my opinion).

Follow the [detailed project page] links to get to project areas containing screenshots, ROM and executable download links, and development logs.

Husband Chores

Platform: ZX Spectrum

Language: Z80 Assembly

[detailed project page]

Keep your house clean by unclogging toilets, taking out the trash, etc.

zxian (emulator)

Platform: Windows

Language: C

[detailed project page]

A ZX Spectrum computer emulator

Geoincursion

Platform: Nintendo DS

Language: C++

[detailed project page]

A classic arcade-style beat'em up for the Nintendo DS. Go around the world beating up bad guys!

Timeline

Platform: Browsers

Language: JavaScript

[detailed project page]

A text mode adventure.

Gold of the Kingdoms

Platform: Windows

Language: C#

[detailed project page]

A trading game in which the player attempts to make a profit and ultimately gain influence over all kingdoms of the realm. The player's caravan can encounter hazards such as thieves and wolves.

Hangman

Platform: Snowdrop OS

Language: x86 Assembly

[detailed project page]

My version of the well-known word guessing game.

Snowmine

Platform: Snowdrop OS

Language: x86 Assembly

[detailed project page]

A Minesweeper-like game for my own operating system, Snowdrop OS.

aSMtris

Platform: DOS

Language: x86 Assembly

[detailed project page]

A Tetris clone, with a few improvements over the original.

Compact Pong

Platform: Pocket PC

Language: C#

[detailed project page]

A single player, multi-ball pong game for the Pocket PC (Windows Mobile)

Storks

Platform: Snowdrop OS

Language: x86 Assembly

[detailed project page]

A matching game in which a stork must deliver babies.

libzx

Platform: ZX Spectrum

Language: Z80 Assembly

[detailed project page]

I wrote this game development library for programmers who want to write games for the ZX Spectrum, in assembly language.

Space Invaders Invaders

Platform: 3DO Interactive Multiplayer

Language: C

[detailed project page]

My take on the classic Space Invaders game, with the twist that the player is in charge of the invaders.

NGCollector

Platform: Neo Geo Pocket Color

Language: C

[detailed project page]

A whimsical simulation of the life of a Neo Geo games collector. Trade with a fellow collector, gamble at the casino, strike gold at the flea market, or even work at the Burly Burger for an honest way to earn your precious games. Or you could try robbing a convenience store...

Newton Voyage

Platform: PlayStation Portable (PSP)

Language: C

[detailed project page]

You control the launch parameters of a space ship whose purpose is to reach a "goal" area, by using nearby planets to steer.

Saturnade

Platform: Sega Saturn

Language: C

[detailed project page]

Position the space gates so that your ship travels safely through.

Jagmatch

Platform: Atari Jaguar, CD

Language: C

[detailed project page]

A tile-matching memory game which requires knowledge of Atari gaming history.

Overbearing Burgers

Platform: Sega Dreamcast

Language: C

[detailed project page]

Help a hungry brown bear get all the hamburgers, while avoiding obstacles.

Animated Sprite

Platform: Atari 2600

Language: 6502 Assembly

[detailed project page]

An example of how to implement an animated sprite on the Atari 2600.

Swan Driving

Platform: WonderSwan Color

Language: x86 Assembly

[detailed project page]

Control your car, trying to avoid incoming traffic.

Swan Driving BW

Platform: WonderSwan (Mono)

Language: x86 Assembly

[detailed project page]

A back port of Swan Driving, targetting the WonderSwan (Mono) version of the console.

Sheepish Bearings

Platform: BlackBerry PlayBook

Language: C

[detailed project page]

Tap the sheep to save them from the roaming bears. After enough sheep are saved, you get a bear horn powerup, and can scare a few bears away by tapping near them. Your attempts are graded from D to A+.

Mama Bear Puzzle

Platform: Nintendo GameCube

Language: C

[detailed project page]

An implementation of the "15 puzzle" game.

Groundhog Puzzle

Platform: Nintendo Wii

Language: C

[detailed project page]

A port of Mama Bear Puzzle "15 puzzle" game to the Nintendo Wii.

Neo Thunder

Platform: Neo Geo AES, CD

Language: C

[detailed project page]

Neo Thunder is a run of the mill space shooter. You move all over the screen shooting enemy ships and dodging the myriad of bullets headed your way.

The 11th Power

Platform: PlayStation

Language: C

[detailed project page]

My take on the shortly popular JavaScript game called 2048. The 11th Power uses coloured balls instead of numbers, each representing an exponent.

Mini Cookie

Platform: Pokemon Mini

Language: S1C88 Assembly

[detailed project page]

A tech demo of a hungry bear eating cookies.

Gen Poker

Platform: Sega Genesis

Language: C

[detailed project page]

Gen Poker lets the player play video poker and try to make some money.

Burly Bear vs. The Mean Foxes

Platform: Game Boy

Language: C

[detailed project page]

The adventures of a bear out to teach some foxes a lesson! Go around eating cookies and swiping at foxes.

Burly Bear vs. The Mean Foxes (GBC)

Platform: Game Boy Color

Language: C

[detailed project page]

The adventures of a bear out to teach some foxes a lesson! Go around eating cookies and swiping at foxes.

Animal Keeper

Platform: Browser

Language: JavaScript

[detailed project page]

You control a keeper who is trying his hardest to maintain the well-being of his animals. He must both feed and administer medicine to sick animals.

Balanced Diet

Platform: Game Boy Advance

Language: C

[detailed project page]

In this game, the purpose is to keep a balanced diet. You cannot become too unhealthy, but at the same time you wish to feel like you're living your life too, so too bland is also not good.

Pocket Worm

Platform: PocketStation

Language: C

[detailed project page]

Eat 30 pieces of food trying to not collide with the walls, or yourself!

Bucket

Platform: Super Nintendo

Language: C

[detailed project page]

Control Hugz the polar bear (who uncannily resembles Burly the bear...) to have him bring buckets to the distraught walruses moving frantically back and forth.

Raining Squares

Platform: Dreamcast VMU

Language: LC8670 Assembly

[detailed project page]

Avoid the falling squares.

Hotel Bunny

Platform: Intellivision

Language: Basic

[detailed project page]

Help nine bunnies reach Hotel Bunny, while avoiding the dogs.

Mowleco

Platform: ColecoVision

Language: C

[detailed project page]

Mow the lawn around the house while trying to avoid the two dogs who roam happily around the yard.

Invaders must die!

Platform: Nintendo NES

Language: C

[detailed project page]

Your city is under attack by invaders. Naturally, they must die!

Real Danger

Platform: Virtual Boy

Language: C

[detailed project page]

Real Danger is a simple game in which you are controlling a rabbit, guiding him away from the diving eagles who are out to get him.

Eight Queens

Platform: Sega 32x

Language: C

[detailed project page]

Eight Queens is an implementation of the Eight Queens Problem on the Sega 32x. It displays all solutions whereby no two of the eight chess queens threaten each other.

Burgers of Hanoi

Platform: Sega Master System

Language: C

[detailed project page]

Burly the bear returns with the task of moving a burger, ingredient by ingredient, from one spot to another.

Burgers of Hanoi GG

Platform: Sega Game Gear

Language: C

[detailed project page]

A port of Burgers of Hanoi from the TV-based Master System to the portable Game Gear.

Snappy

Platform: Atari 2600

Language: Basic

[detailed project page]

Help ten explorers cross Snappy's pit via the vine swinging back and forth.

No Snakes!

Platform: Snowdrop OS

Language: x86 Assembly

[detailed project page]

A multiplayer snake game over serial port.

Catkanoid

Platform: Atari Lynx

Language: C

[detailed project page]

Inspired from Arkanoid and Breakout "paddle, ball, and bricks" type games.

Alddee

Platform: TurboGrafx-16

Language: C

[detailed project page]

Defeat a few enemies using your sword, re-enacting an arcade game I dreamed I was playing.

Poetiru

Platform: Atari 7800

Language: Basic

[detailed project page]

Guide your brown bear to each of the four cupcakes, before moving on to a harder level.

smgbalib

Platform: Game Boy Advance

Language: C

[detailed project page]

I wrote this library for developers who want to write games on the Game Boy Advance more easily, at the cost of performance.

Blackjack CD

Platform: Sega CD

Language: Basic

[detailed project page]

A casino-style blackjack game for the Sega CD

Tube64

Platform: Commodore 64

Language: C

[detailed project page]

A tech demo of drawing tubes on the Commodore 64.

Shooting Gallery

Platform: Atari 5200

Language: Basic

[detailed project page]

A simple shooting gallery game.

Scalar Ownage

Platform: Vectrex

Language: C

[detailed project page]

Scalar (as opposed to vectorial) Ownage has you guide a geometrical shape, to shoot other geometrical shapes.

Don't Be Square

Platform: Nintendo 64

Language: C

[detailed project page]

A simple Nintendo 64 tech demo of drawing coloured rectangles.

ZX Spectrum Demo

Platform: ZX Spectrum

Language: Basic

[detailed project page]

A simple demo of how to move an animated character around the screen in ZX Spectrum Basic.

RGB Overdose

Platform: Windows

Language: C

[detailed project page]

The player tries to eliminate all viruses by matching their colour (by red, green, blue components) to the colour of the charge being fired.

Airplane Slots

Platform: Browser

Language: JavaScript

[detailed project page]

A browser-based slot machine.

Project One

Platform: Windows

Language: C

[detailed project page]

An action RPG game, inspired mostly from Diablo 1 and Siege of Avalon.

Red Green

Platform: Odyssey2

Language: 8048 Assembly

[detailed project page]

A tech demo of an animated car.

About the projects

What I did

After discovering the amount of effort needed to put together a decent toolkit to even start development, I decided to make all my downloads as easy to use as possible. Almost all projects have the source code for the games packaged with the SDK and other tools.

What this means is that the make scripts (usually friendly .bat files) should compile and run (I often include emulators too) out of the box. Also, most are based on languages higher level than Assembly. Since the language I used the most is C, working knowledge of this language is required. Furthermore, the operating system required by the SDKs is predominantly Windows.

How hard is it to get an old SDK to work?

Well, you start out looking for development web pages for that system. Then you find an SDK, which most likely is incomplete. You dig around for code samples, but they require a different version of the SDK, or a different SDK altogether. So now you must evaluate which SDK will work best. Since these are all independent, open source, and/or poorly centralized code bases, it can take a while until you ensure compatibility.

Now, while your code may compile, it may not link, because the libraries are too old or too new for the sample code you're analyzing, so you'll have to find proper libraries. Then you notice that whoever wrote the sample code used some wacky graphics editor which is not mentioned anywhere.

This is when you start learning about the hardware and how things are stored, etc. Then you discover that the makefiles produce a rom which does not work in emulators, or on the real hardware. Or the compiler just crashes. And since these are all old pages, you are encountering a lot of dead links.

Also, since the SDKs are older, you sometimes have to find an appropriate operating system (such as an older Windows version), because they won't run on your modern operating system.

Rarely, you are blessed with a compiler which produces code that the assembler doesn't fully understand.

The good news? I've already done all this for you!

Download the SDKs from each project page, and the source code for my games should compile (almost) out of the box! That should get you started developing.

Contact me

I love hearing from fellow developers and gamers who have found any of my projects useful, or enjoyable.

Do not hesitate to write me an email at sm.website@yahoo.com

[back to main site]