Inspirations
Our inspirations definitely varied! Main one being Typing of the Dead, itself a modified version of House of the Dead. In typing of the dead, the living dead approach you at a constant speed from all directions, with your only form of defense being a keyboard that slays them by typing out the sentences above their heads.
The idea actually came to us during the Roblox workshop. We figured we would adapt the idea into a game where you play in the unorthodox perspective of the hacker themselves, where instead of razing hordes of zombies you would pwn hordes of jeopardized users. At the same time, we took elements from other games, like the Undyne boss fight in Undertale, where players were forced to remain stationary while they shielded themselves from a barrage of spears.
What it does
By pwning the passwords of waves of users, you gradually gain an intuitive understanding of what passwords are strong and weak from the difficulty of typing the passwords themselves. Although hackers are not blessed with a kind of password precognition, passwords of greater length and varied use of both alphanumeric characters and symbols (which partly embody the strength of good passwords) were naturally more difficult to type on a strict time limit. One of the messages being: "If this password was hard to see and type even with my own two eyes and hands, then surely a password like this is superior in comparison."
In that way, the educational content of our game would be more subtle and implicit. A younger, less digitally literate audience would gradually come to understand the elements of a good password, even if the more complex cybersecurity concepts that we touched on (brute forcing, dictionary attacks, etc.) were purposefully left abstract.
How we built it
This project was built entirely in Roblox Studio using Lua. All three of us are first time Lua developers, so this was definitely a departure from our normal skill sets. Using the beta feature of script sync, we spent almost the entire 36 hours programming concurrently in the same development environment. Surprisingly, he fared relatively well without the use of version control tools like Git.
Challenges we ran into
Internet problems. Lots of internet problems. One of our developers was running on Linux, which Roblox Studio could not run natively on. Not to mention the internet all over Pauley Pavilion was rather spotty. Honestly, we all struggled immensely with Lua and the sometimes unintuitive (in our opinion) design choices of the language. But, thanks in many ways to the excellent API documentation of Roblox, we would always bounce right back.
Accomplishments that we're proud of
Haha! We are immensely proud of our project. The game play loop felt simple and fun. Even with our relative inexperience with Lua and Roblox Studio, we felt that we came out with a UI/UX interface that was more than pleasant to look at. We even drew our own logo!
More than anything, I (River, who is writing this part of the project description) think I speak for everyone when I say that one of our proudest accomplishments are the three special and unlockable abilities that players can get access through by spending the in-game coin currency one acquires by surviving through waves unharmed. These abilities required much more sophisticated calculations and fiddling around the limitations of the Lua language and we felt that our success was a testament to the ingenuity of our development team in the moment.
What we learned
That we love developing for Roblox games. The entire experience was beyond fun and hardly felt like a competition. Regardless of how our project ultimately does, we can definitely see ourselves returning to the project going further. If I had to choose something small, specific, and easy to put into words, it would be that the string concatenation operator is ".."!
What's next for Hack-A-Ton
If we had more time, we would love to add more abilities that teaches the players about common mistakes users have when creating passwords. We also have an idea for a final boss, who has a final trick up their sleeve.
And also perhaps, the front page of Roblox? : )
Built With
- lua
- roblox
Log in or sign up for Devpost to join the conversation.