schoolprojects

VR Factory Training Simulation

Submitted by zach on Sat, 05/01/2021 - 03:03
For my senior capstone I worked with a small group of people to develop an interactive factory training simulation with Unity. In large scale production factories it can often be costly to train new workers and can use up valuable factory resources. With the advent of Virtual Reality technology, it is now possible to create virtual scenarios that can allow new workers to learn their job before ever stepping foot on the factory floor. The goal of this project was to create a VR simulation to teach workers how to work in one specific production unit for manufactured housing. The goal of this project was to create a simulation that would teach new workers with simple instructions and guidelines, but also be easily adaptable to other production units in the factory. See the video in the full article!

OpenGL Final Project - Metroid Clone

Submitted by zach on Thu, 09/17/2020 - 07:30
This is the grand finale of my OpenGL classwork and the project I had the most fun working on. This project was fun because I had to do more problem solving and engineering to really get it to work the way I wanted. In my class on GLSL shaders I tried to create a scene from one of my all time favorite games Metroid Prime. I was happy with the results of that project but since I had all the shaders and models I decided I would build on them and create an interactive scene. Check out the video and the nitty gritty after the break!

OpenGL Project 6 - Bezier Curves

Submitted by zach on Thu, 09/17/2020 - 07:17
This project was really simple but was a good introduction into bezier curves and their uses. I didn't have a lot of inspiration for this project but the result was fun and it looked cool. This introduction to bezier curves was a great experience because it gave me an insight into how a lot of graphical tools create curves and splines. Check out the video and the code after the break!

OpenGL Project 4 - City Scene

Submitted by zach on Thu, 09/17/2020 - 07:04
This project is where I really let my creativity out of the box during my OpenGL class. This project was really about lighting, but I took things a step further by implementing my own OBJ file loader to load in a model I created in blender. All we really had to do was create two colored lights and a moving object that would move between the lights. Having done the helicopter in a previous project I thought it would be really fun to use that to animate a little city scene and the result was pretty good. It was with this project that I realized how much power OpenGL really had and what I could do with it. After this project I really started to connect the dots on how game engines work and how I could create a simple engine. Check out the video in the full article!

Linux Networking

Submitted by zach on Wed, 09/16/2020 - 22:54
For my networking class we had to create a client and server to pass a file back and forth successfully. Setting up the network sockets is pretty easy, everyone has read beej's guide, but the trick was in setting up the data to send and to ensure that I was getting data I expected. I could have just sent the data and tried to deal with it but I decided I would create a basic packet header to ensure I was getting my data and the length of the data. This header is super simple and contains 3 four byte integers. The first one is actually just HEAD spelled out in ascii (which if necessary would give the endianness of the sending system, a trick I learned from the Halo 2 map file layout), the second one is the length of the message being sent in case we have to read multiple times, and the third one is a type field. All of this together allowed me to determine if the data being received originated from my server process and allowed for easier handling of data. The type field was really important for this project because we were required to emulate the way that FTP opens two connections when transferring: a command connection, and a data connection. Setting up my packet header with a type field allowed me to use the same code for both command and data connections by simply changing the type. In the end this worked out really well and proved to be a simple file transfer solution. Check out the full article for the code snippets!

OpenGL Project 1 - The Heart

Submitted by zach on Wed, 09/16/2020 - 08:39
The first project I did when learning OpenGL was a very simple project with one goal: create something pretty. We were challenged to create an object that would render on screen with a given OpenGL project sample and I decided I would create a heart. Check out this video for the rundown on the project: https://youtu.be/HZ1ytOLi9iM. Open the article to see the code!