I'm a game developer, programmer, and designer studying computer science and graphic design at Ithaca College. I have many interests across a wide variety of areas, but the majority of my time is focused on game development, 3D rendering and modeling, data visualization, and making neat little things on the web. Check out my portfolio here, my github page, or take a look at my resume below!
I created this over about 8 months starting in the summer of 2017. On the project I originally created it for, I was the principal programmer. Therefore, I focused much of my efforts on the in-engine editing tools. EelEngine has an in-engine level editor with sprite placing and layers, navmesh editing, and a bsp-like physics editor. The rest of my work was focused on developing a robust ECS framework to control all of the rendering, input, physics, sound, game logic, and the coupling between these.
At Ithaca College's 2018 Global Game Jam site, a group of around 6 club members (including me) worked on an untitled steampunk mail-delivery game (shown in the screenshots on this page).
Omnibar was mine and Adam's entry into the Ludum Dare 43 game jam. I decided to try and make my entry under 64kb, as Adam and I had recently started working on a 4k demo project, and I was particularly excited about the graphics work we had been doing on it. The theme for this jam was "sacrifices must be made". I decided to implement this theme by creating a simple first-person shooter with a single bar that's your health, ammo, and xp bar - sacrifice your health by playing aggressively, or sacrifice your speed to save your health by playing cautiously.
Omnibar was created almost entirely using C, C++, and GLSL. All of the rendering takes place in a fragment shader. This shader uses a number of signed distance functions (SDFs) to define the world and its geometry. The rendering is done by raymarching through the SDF field. When appropriate, shadow rays and a reflection ray are also casted from the initial ray hit. The physics is a very lightweight engine simulting spheres in a world defined by the same SDF that defines the world's geometry. Part of this process was defining a lightweight header file defining vec2, vec3, vec4, and a number of glsl builtins. This let me copy and paste the world SDF with minimal tweaks (mostly changing swizzles into function calls). The awesome music was composed by Adam Lastowka using the V2 synthesizer. This produces a pair of assembly files that can be linked in alongside an .obj file to play the music.
In my 3 years as a competitive TF2 player and community member, I've had the privilege of working with a number of competitive leagues and community events to create medals that are added to Team Fortress 2 as awards for participants and winners. This is a complex process, involving concept art, modeling, rigging, texturing, creating the materials, and packaging to ship to Valve. Below are images and details of a few of my favorites.
Adam and I are working on creating a 4k intro in our free time. (Demoscene on wikipedia) The project is relatively early in development. However, we have some screenshots of various graphics and procedural generation tests below. Also see Omnibar, the game I created on the same codebase in 72 hours and 54kb for Ludum Dare 43.Close Project
For the summer of 2018 I worked with Ali Erkan, Professor of Computer Science at Ithaca College, doing research on Ithaca's course enrollment data. I was able to build several network-based models of IC with this data. This gives us a way to understand the big picture and trends as a whole, rather than simple summary statistics. We placed a large emphasis on the visualization aspect of the project. In 2018, Ithaca College is going through a review process of the Integrated Core Curriculum, or ICC, its general education program introduced in 2013. By studying and visualizing how the network of courses changes over time, we can analyse how the introduction of ICC impacted the structure of the college itself.
Throughout the summer, I worked on three separate interactive visuals. Our work also continued into the fall, where I created an additional visual, and we presented our work at Ithaca College's Data Day.