RPGX

What is RPGX?
Screenshots
Features
Tools
My Role
Downloads

What is RPGX?

RPGX is the role playing game my team created for our Foundations of 2D Game Programming class at RIT. RPGX is a filler name we used until we came up with the final name, Tirian Journey. We didn't come up with the game's final name until the very last day, so it will always remain RPGX to me. Our team consisted of Russell Dare, Jason Arata, Chris Boncha, and myself. We had 10 weeks to complete a game from the ground up using DirectX and C++. None of us had any experience with DirectX or game programming before this venture.

Screenshots

Opening screen.

The storyline.

This is where you actually gain control of your character and can begin to explore. The clouds in the image scroll using the parallax scrolling technique.

As you attack enemies, the damage you take off floats up from them. The main character's stats are located in the upper left as a HUD component.

Everything is darkened at night. The world is tinted depending on which part of the day / night cycle it is in. A HUD component in the upper right tells you which part of the cycle you are in.

This image shows dialogue from a greeter of the town of Fordeas. When you run into someone, they will say whatever it is they have to say to you.

The trees are sprites attached to a specific tile. Using sorting from back to front when rendering, we get a sense of depth. Characters can walk behind trees and walls.

If the main character doesn't want to attack with the sword, he can shoot fireballs.

An oasis in the desert.

At this oasis, you regain health. A trigger is set up around the oasis. Triggers can trigger any event. They are also used for getting rid of enemies when you enter a town.

Fighting the main boss as the sun goes down.

The boss has multiple attacks.

As if you couldn't tell, it's the "Game Over!" screen.


Features

Very large world - 10 screens wide by 10 screens tall
Smooth scrolling
Isometric tiling engine
Per pixel based collision
Smooth character animation with multiple states
A* path finding for enemies
Day / night cycle
Dialogue
Parallax Scrolling Clouds
Generic event triggers
Font Engine

Tools

*NOTE: More exhaustive READMEs are included in the tools subdirectories

Johnny Appleseed ZIP 8K A Java app used to add overlays (trees, buildings, etc) to a map.

Level Editor ZIP 3.3M A Macromedia Director app used to build a level one screen at a time.

MergeMap ZIP 4K The level editor Russell wrote in Macromedia Directory outputs one screen at a time. This little java utility merges a 10 by 10 set of screen files together into the final world file.

Mask Builder ZIP 12K A Java app to allow the easy creation of mask files.


My Role

Principle engine programmer
Collision Detection (per tile and per pixel)
Isometric Tiling Engine
Implemented SplashManager, KeyboardManager, SoundManager, ScreenManager
Implemented TextureManager, WeatherManager, Stamp classes
Tools: Johnny Appleseed, MergeMap, and Mask Builder
Created splash screen graphics
Debugging

Downloads

Source Code (Visual Studio Solution) - ( ZIP 16.5M )
First Design Document
Final Design Document
A Not So Up to Date UML Diagram (but you get the idea)
The Original Mockup of the world (which had to be scaled back a bit)