I have made too many projects in my lifetime, and thought that a repository is not enough to handle support for them. I also believe that to be able to dump my mind from time to time keeps myself on track. I make projects because I like to help people with problems that may or may not be an issue, now or in the future.
What makes experiments most interesting is graphs. Or at least what they represent. To do this, my program generated a csv file with all the metrics it had gathered, and with that I loaded it into a second program that created the graphs. Here lay some mines to be aware of.
First of, how should the values be represented? If there are some deviates, most of the points may end up in a tiny cluster where we have no idea what they mean.
One important part with a study is to reference your sources. It is not just to give credit where credit is due, but also to reduce repetition of known information, or avoid explaining redundant or complex structure that has little to no value for the paper itself.
What is hard is to find good references. You need a few, very rarely a whole article itself. My study for instance uses only two paragraphs as my core, and one page for the overall structure.
An experiment in Computer Science usually is a small trivial program that runs a larger complex program.
There are tons of ways to execute an experiment. Most end up checking how long it takes to run a specific task, and compare between different algorithms or change the size of data. Another is the amount of occurrences of a specific event. Most of the time it is difficult to determine what metrics to measure, so you end up taking several of them in different locations and later create graphs which you can pick whether you think they are useful for your study.
I said I would not do this, but then I thought it would be possible so I spent a couple of hours, i.e. too much time, to implement this for Bedrock worlds: block light. As I mentioned previously, Bedrock worlds does not store light maps as Java does. This means that I need to manually generate the lights for night mode. I thought it would be a simple algorithm:
Find min-max on world.
I am a procrastinator by heart. I often start something, and whenever I feel that something is off or not fun enough, I will deviate from the subject, find something else that is easier, or just stop completely. Sometimes I plan to do something, but it is being postponed for months, even years, because I do not feel like doing it.
For this paper, I do like the topic in itself, but there are some issues that makes it a bit difficult to complete:
I have since I wanted to make this program open sourced contemplated over the best licensing for it. Not only have I skimmed through several license types, but also discussed with a multitude of people (sadly no lawyer). Just recently I went through what the existing mappers, those being released as FOSS, had and found three licenses: GPLv3, MIT and BSD. I also figured other issues that I needed to settle with licensing.
I forgot to mention that while Bedrock tries to avoid saving sections in order to reduce storage footprint, it also avoids saving certain data, like light maps. This makes it a whole lot harder to determine light in the world, and I rather avoid generating light, even if it should be straightforward (find light source; breadth first search with reduction and light conditional check), but I guess I have no other choice.
Last week I spent most time writing the experiment and figure out what metrics matters. I have tried to dedicate myself to write at least a section each week to keep up with the schedule, but sadly I barely managed to write down 3 sentences. I do hope that it will eventually flow better.
I recognized that I have not written what the project is about. I first thought that the brief explanation in PixelMap would describe this, and as it will definitely change over time, it could be confusing over time.
Two weeks ago I sent in an application that describes what I was going to write about. It was denied, so the next week I had to skim through a bunch of articles to find references and then write down in more detail what the paper was about. It took me almost the whole week, but finally it was approved, so I immediately began building the folder and file structures that I’m going to use the next over two months.
It has finally been released. I spent about an hour to just fix all compilation errors that popped up in Windows, but now it is done. I expect several bugs, and stability going through the roof, due to how Bedrock works, but at least I can focus on other things, like fixing bugs, optimize, stabilize and additional features.