Software and Games Developer
- Austin, Texas
- April 7, 2019
- Experienced in C++, C#
- Source Control (Git, Subversion)
- Data Structures and Algorithms
- HTML and CSS
- Networking (Sockets TCP,UDP)
- Real Time Animation
- Multi-Threaded Programming
- Artificial Intelligence
- Gameplay Programming
- Graphics Programming
- Unreal Engine
- AI behavior - When the AI should do certain actions. This is mostly for the boss AI as the other AI mostly just fly around or towards the player and shoot at intervals.
- Object pooling - All projectiles and AI ships are pooled dynamically as needed. The projectiles and ships spawned during the game are all dynamically allocated as needed. For the most part the AI ships are spawned during the beginning of the game and just reused as they are destroyed by the player.
- UI Design and Development - Simple responsive UI that is easy to follow and has smooth animations. Used Unity’s built in UI system and animation/animator system to create fluid and responsive UI.
- Developed physics engine - All physics are custom written and handled, no prebuilt physics. Most of the physics just used AABB or a capsule, the floor however was custom built for smoother transitions and with networking in mind.
- Programmed Graphics - Using DirectX 11 with hlsl I created all pixel and vertex shaders. Used post-processing to implement the bloom effect of the glowing textures.
- Networking, Gameplay and AI - For the gameplay I helped design and implement the movement and throwing systems for the players which also meant that I needed to help improve and implement the networking for player specific actions. For the AI, I helped with the pathfinding of the agents through the ever changing floor path.
- Created AI behavior system - Some AI follow some try and stay at a distance and some just don’t care about the play they just try and get where they are going.
- Developed and designed a two stage boss fight - The has many different attack patterns and based on what happens during the fight different patterns are used. The entire area is dynamic the the fight, so the lights on the walls and floors change during the battle.
- Optimized code base and assets for web - Web requires the use of more refined or optimized assets due to the limitations of Web platforms.
- Optimized UI for web play - The UI for the web version was changed because of the loss of save game during a browser close. I made it possible to choose what level to go to and it does save your progress as long as you don’t close the browser.
- Android Studio and Java - Used Android studio to make and design a randomizing app for android, published on Google Play Store.
- To Learn and Adapt - Main reason for creating this app was to learn and develop in the Android API. I was also able to test my ability to learn and adapt to new designs and technologies as I was able to create this App in a fast manner.