Development Diary: My secret project

My secret project
kveroneau(Game Creator)
Feb. 25, 2018, 12:15 a.m.

I have had an interesting idea for awhile now which I believe could prove very popular with a wide audience. While Hacker's Edge has been my main focus for awhile now, it is a very complex project which is not very accessible to a large audience of people. I am not planning on abandoning Hacker's Edge, development will still continue. However, this new project which can be completed much quicker is to provide a platform and a product for the many beta players whom are interested in Hacker's Edge, or hacking simulation games while Hacker's Edge continues development. To my understanding there isn't a large amount of good hacking simulation games out in the market, and from the feedback I received on Hacker's Edge in the past years, the market wants a complex terminal hacking game, not some sort of awkward point and click unrealistic crap. May I please introduce to you a very unique product and platform which I am calling HackerMaker! I apologize for the bad formatting... those are supposed to be quotes

map LOGIN_MAP = {
    'alice': 'password',
    'brian': 'baseball',
    'cathy': 'love',
    'david': 'baseball',
    'elise': 'hireme',
    'frank': '11111971',
    'anderson': 'matrix',
}

map HELP = {
    'run':  'run the hack routine',
    'atip': 'a tip on hacking',
    'note': 'note about this routine',
    'gate': 'hack into the gateway',
    'jump': 'jump to your workstation',
}

void jump(){
  transmit('To be implemented.');
}

system gateway(){
  prompt('gateway> ');
  set_commands(jump, ls, type);
  mkfile('welcome', 'gateway/welcome.txt');
}

void gateok(){
  transmit('Successful login!');
  transmit('Welcome to the Gateway System');
  switch_system(gateway);
}

void gateerr(){
  transmit("Type 'atip' for a tip");
  transmit('Disconnected from the gateway system');
}

void atip(){
  show_message('hack/atip.txt');
}

void note(){
  show_message('hack/note.txt');
}

void gate(){
  transmit('Establishing a connection to the Gateway System...');
  sleep(1);
  transmit('Connection Established.');
  transmit('Log in with your Gateway account');
  authenticate('username: ', LOGIN_MAP, gateok, gateerr);
}

system hack(){
  prompt('hack> ');
  set_commands(atip, note, gate);
}

void run(){
  transmit('running the hack routine...');
  sleep(1);
  transmit('successfully launched');
  transmit("type 'help' for help");
  switch_system(hack);
}

void script1(){
  add_command(run);
}

system localhost(){
  prompt('localhost> ');
  set_commands(ls, type);
  mkfile('readme','localhost/readme.txt');
  mkfile('solution','localhost/solution.txt');
  add_trigger('type readme', script1);
}

void main(){
  show_message('greeting.txt');
  transmit('Press Return to accept my offer...');
  waitkey();
  show_message('bootup.txt');
  transmit('Started: ');
  show_dt('%d-%b-%Y %H:%M:%S');
  transmit("\ntype 'help' for help\n");
  switch_system(localhost);
}

This is the brains of HackerMaker, a simple to understand C-like language which compiles into bytecode, which then a custom game engine uses to run player created hacking simulation games! These player created hacking games will be sharable over the Internet to anyone who you either want to share it with, or by making it public for everyone to try out. There will be a web-based terminal, and a telnet interface to HackerMaker. This allows your created games to be easily played by the masses without any software downloads. The HackerMaker compiler and builder will be built into a website, which will allow you to design your game, test it, then share it with the world! HackerMaker will also have a built-in leaderboard system to track which player created games were beat, and how long it took that player to go through your custom mission.

Currently, I have a fully working game engine with a web terminal and telnet interfaces working. The above source code you see fully compiles and runs in the current version of the HackerMaker game engine. It is not yet ready for public consumption, there isn't enough features yet to create a diverse amount of unique content, and more commands still need to be built and tested. Here are some of the current features I have implemented:

  • Hashmaps! These are currently used to store login tables for the authenticate() function.
  • User created commands, and several built-in commands.
  • Triggers, run a script when the player does something very specific.
  • Files, creators and create and place files onto a host's file system.
  • Unique systems/hosts
  • Perhaps more I forgot about.

I am hoping to have a public release of HackerMaker soon, please watch the News section on the forums as the officially public release statement will be posted there. Initially HackerMaker will be part of the Hacker's Edge website, however depending on it's popularity, it may branch off into it's own entity.