Hack CU Reflections

Published 2019-02-27

Introduction

Over the weekend, I competed in Hack CU, a hackathon hosted by the University of Colorado Boulder. I had an absolutely amazing time, and would just like to share some of the highlights and information here.


The Project

I worked with Fisher Darling to create Cookie Injection but with Real Cookies. The idea of this project was to teach 3rd through 6th graders the concepts and ideas that are used in cyber security today. The idea was to use physical cookies to represent a HTTP packet that the client (player) delivers to the server (a Cookie Monster). The Cookie Monster will only accept the correct type of cookie to get past, otherwise you will be denied. You can download or view a video of the game at the release page of the GitHub page linked above. 

Additionally, we created a white paper that expands on the first two levels into things like a “Monster in the Middle Attack” to teach the kids about MITM attacks. This white paper additionally included an estimate and rollout plan for the project. It can be found as a pdf on the release page. 

While we didn’t win the prize we where after (best k-12 educational game), we did win the “Most Random Hack”. While initially I was a little offended, as we wheren’t trying to be random, I actually realized that the whole concept of using actual cookies to represent real cookies is pretty silly and I am glad that we achieved something. 


Design Challenges

Neither me nor Fisher have done anything with game design before this challenge. This actually brought out one of the best parts of hackathons - you have 24 hours to figure out something new and do something with it. For a long time, I have slightly considered learning game design, but never really was willing to invest time into getting over the initial hurdles. However, by choosing it as a hackathon project, I forced myself to learn something about game design so that we could complete it. It took us the first 12 hours to get the text boxes to appear correctly, but after that we got exponentially faster at fixing issues and making progress. I am really glad that I was able to use this hackathon to learn something that I probably never would have otherwise.

The good part: Godot


We chose Godot as our game engine. This was helpful for a handful of reasons, primarily the MIT licensed examples. Additionally, it worked incredibly well with git. In my past hackathon project, we have always ended up using multiple Git repos and other forms of versioning and backups. Also, this all did an excellent job dealing with cross platform: I was able to design everything on macOS and Fisher had no problem on Windows. I could simply push a fix to something, and he could pull it with little to no issues. And at the end, when we wanted to make an executable, I was able to use my Mac to create an executable for Mac, Windows, Linux, and even (kind of) the web. I tested all of these, and was really surprised at how easy it was. For each and every project, I had to do nothing but run the executable, even on my Ubuntu VM. 


Reflections


I had a great time at CU. The hackathon was well run (maybe minus the judges having to stumble around randomly to find the tables). Additionally, I was able to have some really good conversations with the people at the CU Cybersecurity Club, and it was really interesting to hear about the new programs they are starting to teach more people of cybersecurity.