Introduction
Knight Hacks 2019 is a hackathon my school, University of Central Florida, hosted during March 1st to the 3rd where over 600 people attended and worked over 36 hours to create a product. I had the privilege of hosting two Unity workshops for the hackathon and introduced more application focused developers to the real-time engine. The demand for Unity developers has grown beyond just gaming as the applications and need for Augmented Reality, Virtual Reality, and enterprise applications grow in the world. Hundreds of companies you’d never guess would use Unity are using it daily. Additionally I was able to land an on campus interview with Electronic Arts.
The Workshops
My first workshop was the Unity Fundamentals Workshop 2.0, a variation of the Unity Fundamentals workshop I gave earlier this year for the Game Development Club that was more centered on game development and for people who understand game development and the different things that go into game development. This workshop covered the basics of Unity.
- Unity engine and navigation
- Importing art assets (Meshes, Textures, and Sprites)
- Introduction to scripting
- User interface example
The augmented workshop used Vuforia integrated into Unity to create a simple application that allowed you to detect when an image tracker has been recognized and to interact with an object in AR.
- Augmented Reality and the different SDK options available
- Vuforia and tracking images
- Augmented Reality interaction through the Unity Engine.
Below is a video of the final product after the 60 minute workshop.
The Hackathon Product
For the hackathon I worked with another programmer, Kaitlin Long, to create an experimental multiplayer Augmented Reality game that was sort of like Clash Royale. One player would play as the defender, the other as an attacker. The defender must defend a building from units of enemies the attacker sends in, using arrow attacks and meteor showers to destroy the enemies. We would’ve liked to make it more custom where you can drag specifically to create a meteor shower or arrow shower and drag units into the map and have more strategy but due to the time constraint we made it all automatic.
I worked on the networking and UI while my partner worked on the level design and game-play.
The game is ran by a master server that handles game rooms and readying and match states and uses C# Sockets and sends and receives binary data packets that are serialized and deserialized. Unfortunately in-game networking is not available because of the requirement of physics and object tracking which is definitely 100% possible however in the time constraint we were unable to get that done. In the future I plan on using UNET or Photon or another pre-created networking library to do this over mine because of how long it would take to get something functioning on my own.
The judges were all definitely interested in the project but I feel that the lack of complete functionality was a major deciding factor in the final decision. Continuing the project was something that was suggested.
Below is a video of the end result
The Interview
EA Sports was a big sponsor of the hackathon and was doing on-campus interviews during the hackathon. In-between working on the project and giving workshops I did two interviews for EA Sports as an intern, one for a UX/UI role and another for a software engineering position in game-play. These two roles were right up my alley, I feel 100% confident in my ability to code and pick up a project and language.
I had interviewed at EA before starting school at UCF as a full-time AI Programmer and was rejected because of my lack of experience in C++, a skill I knew I had to work on but hadn’t thought of it as essential as I have picked up languages quite rapidly in the past however for a full-time role I understood the decision. My plan for this summer had been to create my own C++ Game engine using OpenGL after finishing my current projects and contracts that I’ve obtained. During the summer I had accepted a role as a Space and Intelligence Software Engineering position at Harris Corporation in New Jersey working on space satellite communication software in Java for the new generation of GPS Satellites coming soon. However I’d decided to go after EA one more time after seeing them recruiting at my school and additionally to stay in Orlando.
The Interviews went great and my experience had drawn in a lot of interest from the team leads. I was invited to do a in-person interview at the studio followed by a tour and I fell in love with the atmosphere. I am happy to say that I have accepted a position this summer at EA Sports for the Madden team as a Systems Software Engineer. Even though I lack the experience in C++ I think I showed promise and I’ve began to set aside time exclusively to learn C++ as much as I can with them time I have to be better prepared for this internship.
Conclusion
The Hackathon was a great experience overall and I had the best weekend that I’ve had in a long time. It was fun seeing the final projects and the winners and the projects they worked on. I recommend any game developers to attend a hackathon and experiment with new technologies they’ve never used before, who knows who you might meet.