Portfolio Icon // R. GRAHAM PRESTON //

Portfolio

Download Type Description

Nintendo DS ROM

     For this NDS ROM I combined an asteroids style demo with a memory editing tool. My game testers had a field day with this capacity, drawing things I never would have imagined to play with!

     This ROM showcases a number of programming algorithms, such as pixel perfect collision detection and sprite management.

     Recommended emulator: DeSmuME DeSmuME


NES ROM

     For my graduate research project I learned to program the Nintendo Entertainment System. This required knowing 6502/2A03 assembly language and the NES's memory map on a very intimate level.

     While most "hello, world!" programs are a few lines of code, the source code for this ROM—if printed out—would be 21 pages long!

     Recommended emulator: Nestopia Nestopia


Android App

     This project is an early prototype of a comprehensive game engine developed in Unity, highlighting my ability to collaborate effectively within a team environment. Our team coordinated using Discord and a privately hosted Git server that I managed.

     Sideload to an Android phone or emulate.

     Credits:
     Art and story by Kira Martin,
     Music and effects by David Provost.


Windows Executable

     This is Survival Shooter, Survival Shooter, a Unity demo that demonstrates my ability to build an interactive 3D environment, including player movement, enemy AI and health, user interface design, audio effects, and scene management.

     Linux users: run with Wine Wine, or
Steam/Proton Steam/Proton.


Linux Binary

     2D Roguelike 2D Roguelike is is a fully cross-platform project that utilizes Unity's 2D features, including tilemaps, sprite animations, and control schemes for mobile devices.

     The Linux version is provided here to ensure representation of all major operating systems within this portfolio.

     Windows users: run with the WSL the WSL.


WebGL

     This Unity demo showcases my capability to craft web applications and demonstrates my understanding of Unity's component-based architecture and physics system. I implemented player controls, scoring, and visual effects—all scripted in C#.

     Opens in a new browser tab.


Python Modules

     This demo shows off a variety of algorithms in Python, including an optimized quicksort, file I/O, object-oriented design, and a GUI.

     Required: Python 3, tkinter tkinter


Website

     This very website demonstrates my proficiency in web development, including knowledge of HTML/CSS, graphic design, and accessibility best practices.