Weekly 4: World Generation

17 July 2020, Ecen

The basic hacking gameplay mechanics are now as done as they can be at this stage, so this week we started work on generating the world and the content in it.

Our goal is a game world where we can specify some things, like the name of a city, that it should contain at least one bank etc. and random-generate other things, like what people live in the city. The same goes for generating files that a skilled hacker might be able to find on computers: we need to be able to write those files by hand, but substitute names and values for ones that are relevant to the person whose computer the file is located on.

For this purpose I have been writing a system for parsing XML into our internal rich text format while substituting for variables and functions. I have to admit that I am not overly happy with the result, the code feels overly complicated and at the same time less powerful that what I had hoped, but at least it does seem to be working quite well for now. I reason that when we inevitably have to rewrite the system, we will be much more aware of what features we need it to have anyways.

Meanwhile, Algot has been implementing a system for defining clusters of network nodes that can themselves be connected to other nodes or clusters in a pseudo-random way. This allows us to hand-craft any parts of the network we think should look a certain way, while at the same time allowing for a fair bit of fresh, procedurally generated worlds.