After over a year of planning, prototyping, and testing... Hacker's Edge is finally live on the Internet!
Hacker's Edge is to be a massively multiplayer online game, based around hacking. A rather geeky game some may think, however I plan on making it accessible, by simplifying many components and making it fun for almost anyone to jump in. The game will be objective-based, but also open world. Meaning, you as the player can either take on missions, or do what ever you please in the virtual computer network. I hope that most players will choose to play around with both, as in most open-world video games.
Currently the game is in beta, but open to registration to anyone with an Internet-enabled device with a web browser. The beta will remain browser-based, but in the future, depending on the popularity(if any), I will build a mobile app. The beta is the best time to join in, as you can decide how the final gameplay will end up being like. That's right, I am accepting feedback and ideas on the direction of the overall game. If you have interest in computer security, I urge you to join in and participate. I hope to evolve this simple idea in something big, the more feedback the better.
The best part of all, is that this online game is entirely programmed in Python using Django, so you know only good things can spark from this. If I can find a good way to sandbox Python apps within this game, I hope to build a Python community behind this. Where these apps can do all sorts of things to modify the internals of this virtual world. An interesting idea floating around is to use Twisted to implement a telnet server of sorts, an alternate interface into the virtual world.
In it's current implementation, it supports the following virtual data models:
- A Server or Computer. Able to store files, mailboxes, and a list of users and permissions.
- Mailboxes are stored on a server and contain messages.
- A File
- A standard file stored on a computer.
- A mission is made up of a bunch of these in a specific order. They explain what action needs to be taken on what virtual data, such as a file, a machine, or something else.
- A mission is a list of ordered objectives which must be completed in order to complete the mission.
These are the primitive types in the virtual world, as the world expands on resources, so will the amount of data models which reference these primitives. At the moment, only the Host and Mailbox models have been fully tested. Work is being done to test the other models and verify that they react correctly in the virtual world.
Currently, I am in the process of deciding on how to allocate Hosts. My original thought was that each user who registers is automatically provided with a Home host, and can later collect additional hosts as they play the game. Now, I am thinking otherwise. Perhaps it is best that these hosts are merely online servers, and not personal systems. Since the game is not yet officially launched, I can still play around with both ideas and see which one clicks.