I am Alex, a dedicated programmer with a passion to innovate.
Rocket Race
Development Time: January 2017 - May 2017 Engine: Unreal Engine Platforms: PC, Mac, Linux Controls:
Keyboard/Mouse (Requires more tuning): WASD to drive and tilt in mid air, Left Click to fire, Right click to use powerup, Spacebar to rocket jump, Tab for score
Controller: Left stick to steer, Right Stick to aim, Left trigger to drive, Right trigger to fire, Right Bumper to use powerup, Back button for Score
Rocket Race is a full featured multiplayer game developed solely by myself, with art and assets by Derek Zhang, and other various Assets from the Unreal Marketplace. The objective is to get to the waypoints as soon as they spawn before any other player. Fire your rockets, use your powerups, boost around with your rocket jump, do whatever it takes to hit that waypoint before anyone else.
Over the course for 5 months I learned and implemented:
Using Nvidia's vehicle component, set up a RocketWheeledVehicle base class.
Designed and implemented the blueprint (scripted) base classes and extended classes for all vehicles.
All classes expose functions and variables to the editor in a clean manner so that designers can modify the game without having programming experience.
Created a effective auto flip feature so that vehicles always end up upright eventually.
Set up the particle and sound effect system for vehicle driving and collisions.
Set up all the projectile class logic.
Designed a fluid aiming system for the rocket launcher on each vehicle.
Designed a powerup system that's applicable to all vehicles and other actor classes.
Continuously tuned the physics of both the world and the vehicles to get a game that felt and played nicely.
Built the game with a multiplayer first mentality with secure server/client logic. The game is FULLY playable online.
Used efficient bandwidth principles.
Implemented game matching through Steam.
Built the game element logic for objectives, objective managers and scoring.
Built the UI, menus, and HUD for the game (Used some marketplace assets for better presentation).
Built the game element logic for objectives, objective managers and scoring.
Strong use of 3D math and physics to get tilting, collisions, and projectile explosions feeling smooth.
Powerful use of C++ and Blueprints to make a efficient and easy to use class hierarchy for each object in game.
Apoc Theory
Development Time: November 2016 - December 2016 Engine: Unity Platforms: PC, Mac, Linux, WebGL WebGL Playable Copy: https://apoctheory-c1a26.firebaseapp.com/ Controls:
Keyboard/Mouse: WASD to move, Space to jump, Shift/Right Click to dash, Mouse/Left Click to aim/fire
Controller (Twin stick shooter): Left stick to move, Right Stick to aim/fire, Left trigger to jump, Right trigger to dash
A boss rush, bullet hell inspired video game built in unity. First boss implemented with easy potential for more additions. Core game mechanics involve moving, shooting, jumping and dashing.
During the course of about a month and a half alongside one other partner, I developed the main bulk of the game, especially the:
Player Controller/Mechanics
Camera Movements
Boss Mechanics and Attacks
Tutorial levels and Main Boss level
UI for main menu and level select
Controller Support
File Reader for saving settings (currently disabled atm)
Ethereal
Primary Role: Sole Developer Development Time: April 2016 - June 2016 Engine: Oxygine (C++) Platforms: PC Controls: WASD to move, Space to jump, E to change weapons, Left Click to shoot.
A prototype of a procedural generated game built upon the Oxygine framework (C++). Box2D was used to define collision bodies for all objects in the game and to allow realistic physics. All art and sound assets were done by my other partner. The game is more of a proof of concept as many of the originally planned features (rouge like weapons and special rooms) were unable to be implemented in the time frame provided. However, the game is designed to be easily extended to add these new concepts.
Over the course of development, I was the sole programmer for the entire game, including:
Player Controller/Mechanics
Box2D implementation
Scrolling Camera
Using Oxygine’s sprite sheet reader built a custom animation rendering system.
Procedural dungeon generation based on a pool of rooms and required sections
Dynamic Room loading for efficient rendering
Extended the Oxygine framework by utilizing a tmxparser library to add Tiled Map functionality to allow easy room design
Enemy AI with proper inheritance setup to allow easy extensions and additions
Weapon logic with proper inheritance setup
Extended the Oxygine framework by utilizing selene to add LUA scripting functionality allowing certain game values to be changed without compiling
Designed a couple of the rooms
Purple Life
Development Time: October 2016 - November 2016 Language/Libraries: Firebase, HTML, JS, Jquery, CSS Platforms: Web Website: https://purplelifegame.firebaseapp.com/ (LOGGING IN IS REQUIRED TO SEE ALL FEATURES) Controls: Just point and click! Tutorial included in the first level.
A complete gamification of Conway's Game of Life provided by our professor Richard McKenna. Uses cell automation for all game logic.
Firebase database was used for storing game progress for signed in users as well as custom level
creation and custom level sharing. Built in a team of 4 and awarded top/most fun gamification of the base game of life.
I was essentially the lead developer behind the gamification of the Conway's Game of Life:
Game Cell additions to allow different cell interactions
Reset, Rewind, Play, Pause, and Quit buttons
Hover cell and ghosted cell placement for easy visual reminders
Game logic for winning and losing
Turret objects that fire premade cell weapons
Dynamic rendering loop that allows Turrets to run before the main play loop is started. Timing becomes important
Canvas scaling
Reading in levels directly from png files using pixel color values to denote cell types
Designed a quarter of the levels especially the turret stages
PathX
Development Time: April 2014 - May 2014 Language/Libraries: Java, MiniGame Framework (provided by Richard McKenna) Platforms: PC, Mac, Linux, WebGL Controls: Just point and click!
A point and click game made during my sophmore year of college built off a MiniGame framework provided by our professor Richard McKenna.
Involved extensive use of Java's swing library alongisde both self-created and provided images, audio, and XML files.
Incorporated a breadth first search algorithm used to transverse graph nodes.
Over 16 unique unlockable power ups and 20 levels.
This was our final project for our CSE III course and was done completely solo other than the provided framework/template:
Game Graphics and Images (not including state backgrounds and USA map)
Player progression (levels and persistent money)
Point and Click node based graph transversal, based on a breadth first search algorithm
Multiple different Enemy AIs to give the player variety
Scrollable map and level viewport
20 unique levels that work alongside a provided PathX Level Maker by Richard McKenna
Different thin/thickness of lines influence travel speeds
16 unique unlockable power ups that interact very well with the player, enemies, and level nodes
Extended a provided XML file parser by Richard McKenna to add extra functionallity and level description