Board Thread:Wiki - General Discussion/@comment-26235098-20170917135604/@comment-26388711-20170918001533

Hullo Cat,

Thank you for making this blog post. Nevertheless, you have contributed substantially in this wiki, especially in regards to content synchronization and level ratings. Your work allowed content to be sorted, synchronized, and placed securely to provide a more consistent format, and to prevent users from changing ratings without consensus. This is a rather long comment at around 888 words, but you are definitely welcome to read everything I wrote here.

The Lua question you've been asked refers to the synchronization of hexagon levels. You are responsible for synchronizing difficulty ratings, so that should not be any harder, if even easier. You are also intending to create a back-end database layer on this wiki to synchronize more information (I would still prefer others to fill out the information first, and then do the synchronization if necessary), and to make editing even easier for other users.

I have finished creating a synchronized version of the hexagon levels template, but keep in mind that the template (both the regular and the synchronized version) is really just a table. As you said before, it is very poor programming practice to mix the presentation layer (template and table) and the data layer (module), but for that template to work, it has to have a variable number of columns or entries, in the form of source code snippets; I have yet to find a more efficient way to present the hexagons and at the same time maintain a format like the old non-synchronized version, and I don't know if this is even possible. You can see my profile page: one section lists my current progress in creating these programs. Please note that even if I made this program fully functional, it is not sufficient to earn a 100% completion, indicating that I still need optimization.

The Hexagon Levels Sync is much easier to use than the regular hexagon levels, as you do not have to manually determine the hexagons and superhards, and that it can support any number of hexagons and superhards, as opposed to the original. It only requires one parameter,, representing the episode number. It then uses  to call a helper template, called   to generate the corresponding range of   helpers. The  has one parameter representing its corresponding level, and invokes the module you programmed to generate the table snippet; it will return an empty result if the level is not hexagonal. Therefore,  generates all table snippets of hexagonal levels within a given episode by calling the corresponding   helper templates. You can see all the synchronized hexagon level templates (plus unusual situations I made in the end) in this link.

In my experience, it only took around 20 minutes to finish this thing, but I encountered several issues especially with the extraneous spacing and formatting issues. As I said, I cannot grant this project a 100%, and I need further optimization, especially those which present the user with a similar layout, yet does not mix the presentation and data layer through snippet generating.

You have also noticed that I have programmed a software that can extract and analyze configs, difficulty ratings, scorecards, and hexagon levels behind the scenes; this is done mostly in Java and Python. I provided the output to and  (who fills out config information) so they do not have to spend 40-or-so minutes to analyze each config by hand. I also provided another section which holds the past version of configs in case an update or a wave of redesigns were made to show exactly which levels were redesigned; in one case I saw numerous redesigned levels that have been overlooked. This software stores the raw data (config text files, hexagons, difficulty Lua code), and turns it into a datastructure on the back end, and uses public methods to provide front end capabilities.

I am sorry that you could not finish the work in this wiki on time, but I understand that you might have put that to secondary importance, and that you are busy working on your main work for up to 11 hours a day. I am also busy at some periods, as I am currently at university studying primarily computer science, along with some other mathematics and history; I am also not immune to studying more than 11 hours a day, and facing "university debt". I also have told other users that I may delay schedules in case my work does not gather too much comments, and I usually work on that software during my free time. The months from May to July has been unusually active for me, since my academic load is lighter (May-Aug is considered summer in this institution). In other times, I program software designed to help me in my academic work, or read academic articles, novels, and history books. Right now, I have completed everything for my config extraction, and I am currently working on to optimize my code, provide a variety of test cases, and update my documentation to confirm that I have not made a subtle mistake in my code and output. The final phase of this software is when I can create a graphical blueprint for each level similar to 's level notes.

I wish you the best of luck in your projects. Keep up your good work in your projects, and hopefully you will have enough free time to contribute to this wiki.

a mulligan. (talk) 00:15, September 18, 2017 (UTC)