This post requires an introduction, and as such I hope to do it well here. UTC or better known as The UNKNOWN [?] Trading Company, is a group of players that originate from Counter Strike(1.6 I believe) that moved on to play Minecraft and then eventually in 2012 settled on a Minecraft Server called MineZ. MineZ is basically DayZ if it was ported to Minecraft and wasn't as buggy as DayZ. In concept it is a very cool idea, and it generally works better for the casual player. The UNKNOWN [?] Trading Company, as the name suggests set out to do Trade Runs in the south. In doing so, they developed tactics and a unique culture and community unlike anything else on the server at the time, a lot of this spearheaded by the Directoire(Directors) of the clan. How I came to be involved with them was in the Summer of 2016. I stuck around for a good four years and I enjoyed a lot of my time with the UTC. Nowadays, I'm no longer in their discord out of choice(on account of it being a major distraction for me), but I am still very active on the UTC Subreddit.
The project in question here is a full archive of all News Articles. When I was new to UTC and still sometimes to this day, I like to look at the older News Articles as you can gain some insights into the formation of the clan. It also wasn't impossible either. In 2018 I had attempted something similar though my efforts were cut short by the lack of a proper website to host the contents, and my lack of knowledge of external APIs to gather the Subreddit data for these news articles.
On my main page under the extra information, you will find a direct link to the full archive. In this list you will find both an archive link to the markdown text converted to HTML, as well as a full URL link to the original reddit post. The motivation for this being that subreddits can get taken down or quarantined(and given the sometimes dicey nature of content on the subreddit, this isn't at all impossible), though I will say it is unlikely given it has only some 200 Subscribers.
You can find this full script yourself if you wish to generate this yourself. It is uncommented, but only 15 lines long so you should be able to understand it. The link to this code is here. As the observant Shell Scripter will note, it is indeed a POSIX compliant Shell Script, which means it can be run in other Shells besides Bash. The observant Shell Scripter will also note 3 depedencies. wget, which if you don't have just stop reading this and evaluate your life decisions, jq, which is a JSON parser that can be used in the Shell, and Markdown. Markdown just converts text in markdown format to its corresponding HTML format. It's very useful for this specific case of archiving every single News Article and retaining the formatting used- though it's doesn't cover the Reddit Markdown Specification which contains slightly more features than the regular Markdown Specification. An example of this can be found in the first issue, with the tiny text. My solution was... it was too minor to be worth any time, and barely affects readability of the news anyway.
As for jq... One major performance improvement in this script remains. I could use Streams instead of parsing the whole file which would be much more efficient and effective. The reason this wasn't done is because the documentation for parsing JSON with streams is difficult to read and understand for jq, however as the file size of the JSON is very small, it only takes about 20 seconds for the parsing in the script, and variable time for the wget operation. If you have a better solution, feel free to send me the source code of your better shell script to my email email@example.com. Also feel free to send me suggestions there too.
This is just to show that a static website can be used as a full archival system for a regular clan newspaper posted on the subreddit. One might ask "Hey, does that really count as you need to be there to actually run the code?". To affirm this, just set up a cronjob to once a week or so update the archive.
The most likely way this script will break, is if the API I am doing wget requests to breaks. If that happens, the saving grace is that the parsing will almost definitely fail and the script will just not run
So if you own a site(or even a github.io site), I highly recommend experimenting with using Shell Scripts for managing that site, and using either FTP or GIT to update it. There's plenty of ways to automate execution of Shell Scripts, git and ftp. For a personal site like this, it's more than enough to handle all changing aspects like this.
I've properly set up neomutt so I can actually send and receive email now. That's a small thing. On another note, I've been learning a little bit of TMUX(Terminal Multiplexer), and now I have modified my setup so cmus is detatched and running in the background. I have also combined DMenu, and a script using Tmux to bring up a menu of taskwarrior(3 Panels effectively, 1 for burndown daily chart, 1 for most urgent tasks and 1 for interaction using taskwarrior).
I might make a video on taskwarrior if I find it to be very useful. We will see if I get substantial use out of it.
I have gotten around to moving my main system over to Linux. I am running Arch Linux, with default config files provided by Luke's LARBS project. I have modified a fair amount of the configs provided in the mean time, moving from its default music player to cmus.
I have also gotten Aseprite, Godot, Steam and Discord setup as well. With regards to both Discord and Steam, they don't play the nicest with DWM but they play well enough. I will need to make adjustments to a few batch scripts I was using previously to batch export source aseprite files, however that should be a quick fix.
I have also set up a proper game design document for the project I have chosen to title The Bermuda Theory, primarily based on its location. I will probably talk more about its development later on, especially with respect to its level generation, as Godot's Scene system makes procedural generation by means of chunks or modules particularly easy and incredibly powerful due to the tree-based nature of it.
I made a quick video showcasing Aseprite's exporting capabilities and talking about how I batch export a lot of .aseprite files. I mainly use this so I can touch up sprites then just run it so I don't have to open each file manually to export it. As such, probably useful to game developers, particularly in connecting the programmer and artist sides of the development coin better(So a programmer doesn't have to reimport files, and an artist doesn't need a developer to update pictures).
Git has a command called git log. With it, you can get Hash, date, author, tag and commit message data, and probably more. I wrote a short bash script to take my git log and write it to a changelog.md as well as commiting it with the changes made prior. You can find this under my github profile under the name "CommitChangelogs"
The website has a new look. I have also gone ahead and updated a lot of the materials there too. Have a look around if you want. Basically anything that I thought was objectively garbage or quite useless I removed from the site. I might make an extra HTML file for extra information, since there's quite a bit of information I want to port over from the old site.
I also have a new email server set up on my VPS. Send me mail!
Also about the old blog posts, I will have a look through them and see if there's any worth transcribing over to this blog. If there's none, I will leave them buried, since most of them were not worthwhile to me, and likely to anyone.
As for the game I'm making, I've completed the overall Level Generation algorithm. Now I need to make some items, get dead-ends sorted out, get an adapting AI sorted and then I'll just need some UI for Inventory. I plan to have like 4-5 items for this minimal build just to see what it's like.
I might make posts on Reddit about this game continuing from minimal build onwards, and I will also likely discuss Design issues. I am building on top of the basis given by Teleglitch, and want to expand on it, but also solve its Design Issues. There were a selection I observed in Teleglitch: How it didn't respect player's time, How the difficulty curve was insane, How it was inaccessable in a lot of ways, and How the time to death is very quick. The tutorial it provides I find to be lacking especially in regards to very important information such as the value of armour against bullets.