DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Cover image for Building a Cybersecurity Game with Three.js - Inspired by Google’s Interland
Samina Rahman Purba
Samina Rahman Purba

Posted on

Building a Cybersecurity Game with Three.js - Inspired by Google’s Interland

Project hunting πŸ”

Over the summer for our project management and implementation course (PRJ 566 and PRJ 666), we were tasked to create a project entirely of our liking. We had the freedom to choose, plan, and manage a project all by ourselves with weekly mentorship and guidance from our professor. The only requirement was - we had to do something creative and complex. But complex looks very different from one person to another. We had to justify why what we chose to do was complex enough to pass the course. It was unclear to us what we were going to do. We brainstormed and brainstormed as a team. The fields of AI seemed pretty appealing, and we were thinking of something to do with optical character recognition (OCR) because I was dealing with an OCR-related project as a research assistant at Seneca Innovation at the time.

It just so happened that on that day when I was listing down all the cool ideas that could potentially be our project for PRJ566 and PRJ666 – Batuhan (our team leader) and I came across this podcast talking about a skill shortage in the cybersecurity industry.

That got us thinking. Hmm… what if we did something related to cybersecurity? Why not build a game? We started googling cyber security games for inspiration and came across IBM Terminal – an awesome browser-based cybersecurity game. Then we found Google Interland – another amazing quiz-based cybersecurity game built with three.js.

As a team we were thrilled. It finally clicked. We were going to build something similar to Google Interland’s Reality River. We named our project – Exploit.

River of trouble ⁉️

Well, the only problem right now was – none of the four team members ever coded a game before. Never authored the most basic line of three.js before. More challenging and complex than the game itself was the learning curve. With a time constraint of 16 weeks, four team members (Samina, Batuhan, Lihan, Vansh) a steep learning curve, zero game development experience and four other challenging courses in the semester – we questioned our sanity for choosing to work on this project. However, our professor showed so much faith in us that it boosted our confidence and we were determined to not let him down. We got started on our Software Requirements Specification and passed the class with a shining A+.

Note: This is a work in progress, and we hope to have the most basic game ready by mid-December. We spent the entire summer planning the project and will spend the entire Fall coding it. The demo site currently contains dummy questions and not the actual ones. So tag along with us!

Modules

Image description

Moving forward πŸš€

We are currently building the game environment. We already have the fully functional little game character we call β€œthreat hunter”. Maybe we will come up with a cooler name later on. This little guy - very similar to the Interland's character - moves forward in their environment, answers questions, and collects points. We are constantly filing issues and documenting our progress in our GitHub repository. This is going to be a many part series. So stay tuned for the next blog!

Image description

Top comments (4)

Collapse
 
arsalannury profile image
ArsalanNury

i hope your project will be a great game as you want.

Collapse
 
samudras_andra profile image
Muhammad Dedi

This project is great, I'm very impressed.

Collapse
 
itwal profile image
Dread Itals

I wish I had that chance ..to be in that position ..I'm just a programmer here with no resources.. no much skill and luck and have little to null motivation ...I wish life gave each one equal chances ...nowadays I've lost my confidence even in myself ...you are so blessed I wish you all the best guys

Collapse
 
saminarp profile image
Samina Rahman Purba

Hello Dread Itals,
You are always welcome to connect with us and work on some projects with us :) In fact, after our initial release in December we are happy to have you contribute to this game project as well for gaining some experience.

Advice For Junior Developers

>> Check out this classic DEV post <<