Game-Related Projects

Non Game-Related Projects

Barfight
BF 1 BF 1

Barfight is a game designed using the Quake III: Arena engine on the iPhone. I joined this project as a programmer for an internship with TMSOFT. The idea behind the game has been summed up as essentially 'Duke Nukem in a bar'. We started with an unfortunately buggy open source iPhone Quake 3 port on Google Code.

I handled the core gameplay coding rather than most of the port working. To this end I implemented new entity types for Ken to place into the maps, a Survival style gametype, warning animations before the npcs attack, new weapons based on animations rather than ammunition (different punch styles), new buttons for inputs to control the different punches, and blocking into the game.

Zero Barrier (video coming soon!)
ZB 1 ZB 1

Zero Barrier was a total conversion for the Quake IV engine. It was a student project done at the University of Advancing Technology. Unfortunately it suffered, as so many games do, from a large scope and much of the development time was split between a single player campaign versus the multiplayer aspects. Unfortunately the single player campaign didn't pan out and near the end (we were competing with other projects for the school to send us to GDC - we won :o)) we scratched that for a focus on the multiplayer.

On the project I replaced the existing weapons and added in our own, added a sprint and stamina system, a leaning system, implemented animations such as zoom-in for the sniper rifle, added location sensing (mappers could give rooms names for navigation purposes), and added in a Running Man gametype and a Zone CTF variant.

In Running Man it was everyone against one player, the running man. He was signified by a glowing trail, and was able to move much faster than the other players. He was given a goal to get to (using the navigation system) to where he would have to remain for a set amount of time. The other players would have to hunt him down and prevent him from getting to the goal in time. The non-runners were only notified when the runner entered the zone and left it.

In the Zone CTF variant, the flag could be thrown and if it were thrown into designated safe zones (visible via shaders around the perimeter) it would be only able to be picked up by a fellow team member (until fallen out of the zone). Zone control was determined by whoever threw the flag in.

jasbrawler
jasbrawler screen #1 jasbrawler screen #2

JasBrawler is a side-scrolling beat 'em up that started out as a modification of the default XNA 'game' project that XNA comes with. I added a tiling system, with collisions, enemy spawns, decorations, scrolling, and such. I then replaced this with with a sidesroller using some art from a class I had at UAT as I had wanted to make a sprite sheet reader. I merged back in the tiling system for kicks.

I wanted to avoid having punches kill someone who in reality would be to the side of the player. The technique I chose to do this consists of the playfield being partitioned into bands, or 'brackets'. In debug mode they are represented by colored highlighting bars overlaid on top of the field. When an attack of some sort is made, it is limited to the bracket it is in (or near, if the attack has wide spread).

At the moment the AI is very rudimentary, and only chases after the player, punching when it gets close enough. I moved on from this to dedicate more time to Zero Barrier.

Element of Power/Maelstrom
maelstrom screen #1 maelstrom screen #1

Element of Power was a Q2 FPS/RPG in the spirit of KOTS (King of the Server) and Q2: Vortex. I had high explosive ammunition added into the game along with the ability to level up and select new abilities. I eventually carried this over into Quake 3 (Maelstrom) where I had upgrade menus ingame working over a network along with a few abilities (sans the high explosive rounds). I have lost the code as this was a few years back :(

Stop and Go Quake 2

Stop and Go (SaG) Q2 was a small mod I thought up while at my summer job one day. The idea was that a green or red shell would encase everything (Q2 had a shell effect, think of how Quad Damage looked in multiplayer) to signify whether it was usable or not. Essentially just like the game 'red light green light'. In the end, the idea worked okay, but I felt it was too reliant on chance. The original idea was that while some guy was dominating the map with the rocket launcher, chasing you with say, the machine gun, the colors could switch (as they did randomly), and then YOU could get him. Depending on color you could take damage or not. Items would also have shells - red being unable to be picked up, green being able to.

If I were to remake this, I would consider the red light green light mechanism controlling movement as well. This could make for some interesting gameplay as different sets of players are free to roam and grab items and get into position before they are frozen next - some might choose to camp one waiting, under the assumption they won't be frozen when their prey is thawed. From a design standpoint, however, I still feel this is rather reliant on chance and have chosen to dedicate my time to more promising ventures.

Ultima Online Scripting

In the early days of SPHEREserver, before RunUO, I held the position as a scripter on several shards. All of their websites are now defunct unfortunately. I include this here as it still constitutes gameplay design/scripting just as much as any other game.

I added in many things from new crafting items/systems, to new npc behaviors based on memories, new spell effects, and leveling/experience systems.

Two spell effects of note were an enhanced flamestrike and treeform. The flamestrike would cause the standard UO spell flamestrike effect to ripple out about 6 tiles out infront of the user over time - more reminscent of a traditional Diablo spell than an Ultima one. (This raised the issue for me, of wether the spell over time should remain in place or follow a moving player.)

The treeform was on a roleplaying server, for the druid class. It would make the player's character invisible and create a tree in their place. The tree that appeared was generated on the fly, so it was different in different locales, and if they moved it would cancel the spell.

Curves
Bezier curve drawing in SFML. C# curve drawing App.

Back to Top