| |
Personal Projects
| Project: |
Dynamic Streaming Content |
| Development Time: |
six months |
| Description: |
| • |
Uses my personal network library LobsterNET |
| • |
Designed file transfer protocol for transfering files |
| • |
Resource manager loads resources from offsite via file server when not locally available |
| • |
World uses uniform sized zones to know what data to load |
In this project I am implementing a means of dynamically loading resources from an external source. Resources within my engine usually consist of 3D models and textures, but can potentially be any file loaded. Specifically I have created a file server and an object loader which both use my network library, LobsterNet. The file server supports multiple connections and simultaneous transfer of files. Transferring of the file is done with a chunking system. The file is pre-allocated on the client end, and then filled in with data chunks. When a request is entered for an resource, the loader attempts to download the file locally if it is not already available, and then use an appropriate loader for the resource type.
|
|
|
| Project: |
LobsterNET |
| Development Time: |
three months |
| Description: |
| • |
Custom network library, layered on UDP using Winsock2 |
| • |
Supports reliable and unreliable communication |
| • |
Ensures packet ordering for reliable data |
| • |
Automatically chunks up and reassembles data too large to be sent as a single piece |
| • |
Network architecture designed to handle client / server or peer to peer |
My first focus study at the guildhall was to create a network library based on UDP using Winsock2. The library creates a reliable layer on top of UDP which will ensure data transmission, and proper ordering. The library will automatically chunk up large pieces of data before transmission, and will reassemble it on the other end, transparent to the user. To showcase this focus study, I created Generic Space Shooter, which demonstrates reliable and unreliable communication, along with a server that has been tested running 24 users simultaneously
Generic Space Shooter consists of a grid with which players move space ships around on. The players can fire bullets at other ships to destroy them, which will increase their score. There are several network metrics and functions designed to create artificial lag displayed to the user on screen.
|
| Screen shots: |
|
|
|
| Project: |
Terrain LOD |
| Development Time: |
three weeks |
| Description: |
| • |
Dynamicly chooses LOD per chunk based on LOD bias and camera position |
| • |
Stitching applied to not have holes through terrain |
| • |
Frustum culling |
| • |
Texture coordinates generated in shader |
| • |
Tested on 1024x1024, 2048x2048, and 4096x4096 versions of terrain in OpenGL and Direct3D |
For this assignment, we were given the height data for the island of Hawaii, and instructed to render said data using a level of detail depending on where the camera is positioned. This involved having multiple index lists for each individual level of detail, along with lists that would stitch two levels of detail together. The stitching would allow for a transition between two levels without having holes appear in the terrain. I also implemented a LOD bias based on the complexity of the terrain, and frustum culling.
|
| Screen shots: |
|
|
|
| Project: |
Super Slug Smasher |
| Development Time: |
three months |
| Description: |
| • |
Custom stand alone editor |
| • |
Supports any number of layers, each with a different depth |
| • |
Uses a single win32 blit call to render frame to screen |
| • |
Custom image class to render frame with alpha and transparency |
| • |
FMOD implemented for sound |
| • |
Collision based on a series of parametric lines |
| • |
Supports segmented characters |
| • |
Supports animated tiles |
This project was my individual 2D game I created for my first term at The GuildHall, and was also my first major project. Its features include the following:
|
| Screen shots: |
|
| Download: |
|
|
|
|