Welcome

Noah Pell 

Hi. I’m Noah Pell.

This site is a running summary of the projects I do to learn about things that interest me. I’m always up to something new, so check back often or contact me to collaborate.

VR Pong game – using Oculus Rift and Unity

My dad’s friend lent me the Oculus Rift virtual reality headset to see what I could do with it. After downloading the SDK, I created a game environment within Unity for a 3D version of the classic Pong game.

noahpell_rift_project_03The twist with this game to take advantage of the Rift was to have your head movements control the paddle within the cube game space. It’s pretty fun to try and get spin on the ball by twisting your neck quickly.

This project was coded up in just 2 hours.


TECH USED
: Oculus Rift headset and SDK, Unity 3D, C#

3D Rendering Engine (software-only)

MonkeyCreated a software-only 3D renderer from scratch (with help from various sources) to learn more about the advanced math required to do this type of game programming. Used GLUT to draw to the screen, ASSIMP to import 3D models and the STB image library to import textures.

Has perspective texture mapping, surface tessellation, camera movement, backface culling and more. Translated arithmetic formulas from textbooks into C++ code to use quaternions, matrices, trig functions, etc..

The source code is available at:
https://github.com/noah4477/3D-Engine-V3
TECH USED: C++, GLUT

2D Engine

2D Engine

Created with a graphics library from the DigiPen Institude of Technology. The engine has box to cox collisions, circle to box collisions and circle to circle collisions. The engine also has collision resolutions.

TECH USED: C++

Game Development With Unity

In 2011 I decided that I wanted to make a game. I found that the Unity Game engine was very easy to work with. At this point I had already been programming casually for about a year, but it was my first experience with object based programming. The first game that I made was a flying game where you would fly around and shoot missiles and eventually I added peer-to-peer networking. After that my friend and I decided that we wanted to make a first person shooter. The game never went past the alpha phase, but it taught me a lot about programming. While developing games in Unity I learned many valuable concepts like resource management, parsing text, and a lot of other basic concepts that I was missing. I became very interested in how the rendering engine worked and the math behind the shaders and other aspects of rendering. This inspired me to eventually program the 3D renderer using OpenGL and the software renderer.

Interfacing an Arduino With Windows

While working with the Arduino for my simulator project I needed a microcontroller to use to control the circuit. It was relatively easy to program the Arduino, but I needed a way to connect it to the computer. There are not any really good free alternatives to connect it so I decided to just make one. Using the Microsoft Flight Simulator SDK I interfaced the Arduino with FSX. As a favor for a friend I made a program to interface an Arduino to a windows application to display gyroscope, accelerator, and magnetometer data for his quadcopter. It taught me about threads and serial ports. Currently I am working on finishing the program to interface the Arduino directly to Microsoft Flight Simulator X, so when the panels are made they can be used to control the panels in FSX.

Tech Used: C#, Programming (Arduino Language)