Development Diary: Development has been extremely slow

Development has been extremely slow
kveroneau(Game Creator)
Oct. 5, 2020, 6:34 p.m.

As most players who may have been following Hacker's Edge throughout the years, may have noticed development move from fast paced back in 2016-2017, only to slow down, and immediately stop last year. I apologize for this, as I realize that many players are very excited to see where Hacker's Edge will eventually go once it leaves these beta and alpha stages.

I am not ready to toss in the towel on Hacker's Edge, as the server is still always running, and constantly be monitored. I am determined to keep Hacker's Edge alive for the foreseeable future. However, it may not be in it's current form.

Currently, Hacker's Edge is written entirely in the Python programming language, including the 65c02 Virtual Machine which runs all the in-game systems, and player compiled code. While this has been a great overall direction for Hacker's Edge, in terms of making it more hackable and extendable by players with computer science knowledge, it also takes a lot of time to develop the game centric systems, as everything needs to be manually created in 65c02 assembly and/or C code.

I have recently been experimenting more with various container technologies, and feel that this could potentially be a direction a future iteration of Hacker's Edge can take. It will be a much more modern take on hacking, as each running machine in-game could technically be a new running container. Unfortunately, this will result in huge memory overheads if the game engine remains written in the Python language. As a result, the game engine will need to be written in a compiled language. The idea about using containers isn't to provide potential players with what is technically a light-weight Linux virtual machine, instead these containers will lack almost every UNIX userspace program, and instead spawn the game engine for that in-game machine, and instead of writing a completely custom network stack for inter-machine socket communication, the native network namespacing of container technology will be that pillar. This will drastically lower the overall development issues with trying to emulate a network stack in-game.

If containers do become the future of Hacker's Edge, how will player created programs and content work, you might be asking? Will players be-able to compile their own ELF binaries and run them inside these containers? These questions and more are still part of the planning phase, to determine if this container idea is feasible, scalable, and secure. While I am doubtful that I will enable players to compile and/or upload custom ELF binaries, as that could cause some potential security issues on the server itself. I feel that it may at least be possible to allow a group of "trusted players", so say players whom have been active for 30 days, to develop "plugins" for their specific hosts to allow for some compiled code to run in the form of a custom in-game device. I still feel the best approach for the majority of players is to use a custom virtual machine to run player created code. This makes it much easier from a player perspective to introspect machine code and memory. If native ELF binaries were supported for player programs, it will require otherwise real-world hacking skills and knowledge of modern assembly and ELF binary format in order to perform any type of hacking. I am trying to make an enjoyable hacking game for almost anybody to jump right in with a minimal skillset and still be-able to do something fun.

With all that said, none of this is yet set in stone, and the current Hacker's Edge server and game engine will remain as the primary game for the foreseeable future. Do watch these forums for any potential updates on this idea and more!