ACBob's ZimZam - Blog

Self reflection; 2020

ACBob ◦ 2020-12-31 ◦ 6-7 minute read

# I never have ideas for these quote sections.
# So here, Have some pseudo-python!

class Year2020(Year):
    def end() -> Year2021:
        print("Happy New Year!")
        return Year2021()

Well, there's the year closing.
It seems to have just flown by, and feels like only yesterday I was in total lock-down.

One of the main take-aways from our Coronavirus situation - that I've had, at least - My ability to tell the time is quite weak.
I'm a creature of schedule, And when that schedule breaks down - I break down!
So that'll be my resolution for 2021, Figure out how to better tell the time in the absence of schedule. I'll just need to fit it into my schedule...

Writer's block is really difficult. I've been sitting with my editor open unable to write anything. Even just mid-way through that sentence, I disappeared to my local Reddit equivalent for a few hours before realising what I was doing.
So perhaps a more realistic resolution would be to stop procrastination? But in the past, forcing procrastination away has destroyed projects.
See Platformer and BobGUI for perfect examples of projects that... aren't dead per se, but just don't receive any more commits.
Both projects were promising in their initial phases, 'Platformer' even receiving help from badhaloninja. Platformer's issues are closer to it being an absolute mess (seriously, what are some of these decisions?) than procrastination, but it still counts.

BobGUI's issues are almost certainly procrastination. There's a few issues it has at the moment, Issues that I'm neglecting to fix.
For instance, It can't be imported like a python module. And widgets are completely missing certain attributes that are nigh required for GUIs (such as basic events)! There's also practically no capacity to style it. Sure, there's constants you can override before creating your widgets, but it's so limited that you shouldn't really bother.

Procrastination also plagues this website itself, There was a good month or so where the style was royally fucked1 in some hodgepodge because I was going to explore different styles for the site, and accidentality pushed it. It lasted for a month, because despite seeing that I'd done it, I only fixed it a few days ago (as of writing)!

This whole article's going to be a mess, I don't blame you if you skip it. It's going to touch on things that I probably wouldn't of dreamed of discussing in my blog - Politics for one! - but it's all in the nature of self-reflection.

This year has certainly been quite radicalising in both directions. I don't like using the political compass, but most people do, so I won't cut around it - I'm certainly still a libleft. Blah blah freedom, blah blah socialism, etc. But there's been some pretty... damning stuff for even just the quadrant I identify with. Not touching on specifics, But there was some racial tension that really rubbed me the wrong way. ...This is actually what causes most of my gripes with the compass system, Because I may not agree with another lib-left I come across, but I still hold my values of freedom.
And it doesn't end there, It's a political compass, so it only measures what I think should be possible. Not necessarily what I want to happen, nor what I think should happen - That's a more moral thing, And I think most people forget that morals are even... well, a concept.
Take for instance Circumcision - a lovely topic, no? - with my political views, they would 100% make it the freedom of the parent to choose. But my morals come in and say that you shouldn't circumcise children. It's all a clusterfuck2.

And those issues don't just affect me! Freedom of speech means all speech, And most people I've talked to - or listened to - that want 'free-speech', also want to ban hate-speech. But unfortunately, Hate speech is still speech, so it MUST be allowed for freedom of speech3. You may not want racism, But free speech allows racism - not to say that free speech WILL bring racism, or that free speech causes racism. Free speech doesn't cover harassment, that's a different, much much larger issue.

Admittedly, I've let arguably political topics bleed into my blogs before. Take the cloud flare one, for example. I've rewritten it a few times, And still don't like it. It's taken me until now to actually realize why - It's a mostly political opinion.
Now, I may think that centralised services shouldn't be a politics thing - but it is. I'm so unhappy with the article, Because I let the politics get in the way, And I end up misrepresenting the points I was making.
I think I'll try to avoid politics for now, It's an icky subject and I don't feel anywhere near enough qualified to cover it justly.

I certainly hope I'll make some progress towards my 'dream game' come this time next year. I've dabbled with small parts of it (It's a farming game, not the hardest thing in the world) through 2020, but nothing came of it. I'd like it to be first-person 3D, but that doesn't mesh well with some of the other features I want. Ignoring all that though, I don't even have a base level to work off of - I can't seem to choose an engine to use.
I've tried making my own, but OpenGL makes my head hurt. I've tried Godot, Source™, and hell - I've even tried using idTech 2, which powered quake 2.
The main issue I run up against, is one of design. Do I want to try learning the nodes of Godot? Do I wanna butcher the Source SDK 2013 and be bothered with engine-level issues (where there is no source code)? Or do I wanna rip out quake 2's game code in its' entirety and bother with idTech's downfalls (or hell, do I want the game to be GPL-licensed4)?
Furthermore, would map-seperated chunks be best, would entity-based be best, etc. With Godot and even just my own Engine, I find it really annoying and limiting there's no standards for these types of things. Hell, It's surprising for godot that there's no 'best-practice' way of separating your game into levels, and I'm surprised there's no 'standard' Wavefront .obj equivalent for animations.

I have way too many projects.
This is a realisation that has stuck with me through most of the year, and yet with it, I continue making projects. Even now, I can think of;

  • Source-Mod (Facility, Unannounced)
  • Farming Game (Unannounced)
  • Animated Show (Space-Void, Unannounced)
  • Animated Episode (Space opera: IN SPACE!, Unannounced)
  • Doctor Who Parody (Time-Void, Unannounced)
  • This Website
  • Probably a few books (reading/writing)

But there's probably plenty more I can't remember at the moment. I've filled my proverbial plate with so much food, and I'm very much stuffed.
I haven't the heart to cancel any of them, Despite not having the working files for Facility, nor an engine after nearly a year for the Farming Game. Lack of voice actors for Space-Void, and unfinished scripts for Space-Opera and Time-Void.
It's a big issue, and my current method of working on one when I want to, Isn't working well.

This blog article's very much a mess. I'm forcing it out of myself, As my procrastination - as usual - has lead to me riding right up against the deadline.
It's not even like I can delay the changing of the year. I hope at-least someone enjoys reading this. Although, I'm not actually sure how many people read my site, lol. There's at-least one!

From me and Jim, Happy New-Year!

  1. I don't like swearing. Although I've buggered up in avoiding them for this article, So I've just drawn a line through them.

  2. For real though, Don't cut your child's genitals.

  3. I'm not advocating for hate speech here, I'm advocating for speech - You can't have one rule for some speech and different rules for other speech, that's not freedom.

  4. I'm a big supporter of open-source, But as of late have shifted away from the GPL, to MPL and MIT - or related licenses. I could try getting a license for idTech-2, But I'd might as well get a license for idTech-3 (Quake III) or even idTech-4 (Doom III) at that rate.

I need more time for 'No Time'!

ACBob ◦ 2020-12-22 ◦ 5 Minute read

No Time is a Back-to-the-future Sandbox game. There's not much more needed to 'properly' describe the game, It's rather self-explanatory with just this sentence.

*Image of the Mach 3, the titular car of the game.*

With your trusty Mach 3 (Pictured), duely modified to reach 90+ mph, you dart from time period to time period - year to year - to accomplish various goals.
These goals may be suggested by the game's story-line, although, as is typical of sandbox games, you're not forced to do any of it. Want to see the evolution of humanity's development on Pine Island? Dial in 1750 and be on your way. Wonder what the distant future of 2020 is like? Dial that in and see the wonderous flying cars of the future - All nuclear powered of-course!

However, there are a few things you should consider before surfing the space-time waves of sci-fi glory. First things first, this requires a lot of energy. In the game, there's a few sources of fuel.
The first one you'll come across and have to use, is plain old uranium. Plug it into the fission reactor of your TDU, and reach 70mph to be on your merry way. However, as science progresses, Fusion reactors are possible.
You can either travel to that future and pick yourself up one for $45, or you can get your buddy Edward to program your Mr. Crafty. Personally, I'd recommend you grab yourself a fusion reactor ASAP. The Sir Atom addon means that you'd have to almost be trying to get stuck in the past.

And it's absolutely vital that you pack enough fuel for your adventures, Talking as someone who's gotten themselves stuck in 1 AD with no signs of civilisation or Uranium, you're going to feel like a right goof if you don't. Usually, I keep 2014 as a sort-of hub time, where I reside for the most-part. Whenever I go out, I either charge my fusion cell (Which allows 1 round-trip at full charge), or I make sure I've got at-least 2 canisters of Uranium1.
That's why I reccomend the Sir Atom, it allows you to refuel in almost any time period, as it converts organic material into energy. It does need the fusion reactor, however.

Second of all, You're making impacts on these time periods. Even if the future changes, You need to remember, you were there.
What this essentially means, is, don't go to the same when twice! If you left at, say, 1985-10-26 01:35 to arrive at 1955-11-05 01:35, Make sure you return AFTER 01:35 in 1985.
If you were to arrive at 01:30, or even just 01:34, You will see your past self - And that's when things get messy. Should you find yourself in that situation, KEEP YOUR DISTANCE!

*An illustrated example of a Time Paradox.*

The whole game is still in early access, so there's some jank here-and-there, but over-all, it's quite good. Even in this early-acess state, there's a lot of gameplay.
Most of the criticisms I have for the game are already present in the steam reviews, So I'll try and bring new ideas to the table.
Of-course, I won't be criticising the bugs, but probably reporting them somewhere (If I remember to)!


  • Currently, It's a bit of a bother if you get yourself trapped in pre-1795 years.
    Of-course, post-1795, you can grab yourself some Uranium ore and craft new Uranium (Assuming you have a Mr. Crafty and fission reactor!)
    BUT, I've frequently found myself without those, or in a pre-1795 year. So there has to be some year-agnostic (Like the Sir Atom) fuel generation, IMO.
    I propose this; A lightning rod.
    Potentially crafted with just a few metal rods, It would be inserted into either the Fission or Fusion reactor. When it's raining, lightning would have a chance of striking the rod. When it strikes the rod, It either A) Charges the car, or B) Instantly sends the car to whatever year you have set.

  • More side-quests.
    As it is now, Travelling between years and time periods is slightly... boring. There's not much to do, Beyond the missing person of 1944, Accordian Man of 1970[^2] - There's really squat.
    I think some more quests would go a long way. Hell, maybe there could be procedurally generated side-quests?
    What if, some guy from the past saw you, and asked to be taken to the future in your car? Little things like that.

  • Money is really a bore to get. Sure, there's the Burger minigame, Pizza minigame, etc. But that's little variation.
    C'mon man, we've got a time machine! Surely, we could maybe cheat at some lotteries? or better yet- abuse inflation?
    The price of the dollar in the 1970s was much higher than it was today. What if, we could buy some trinkets (Like the Mr. Pencil and Dinosaur plushies) in the future, where they're less valuable, and then sell them in the past for a profit?
    What if you went to the past, commisioned a soon-to-be classic artist for a low price, and came to the present to sell your never before seen work?
    Maybe, you sell some future item - say a Fusion Reactor - in the past, what if the item in the future changed to some branded variant of it, because that company reverse-engineered it first? That'd add to your impact on time.

  • More opportunities to modify time would be grand.
    In BTTF, Marty and Doc had to be extremely careful about where they went, and what they did. If they weren't, they'd catastrophically alter history.
    I'm sure there's systems for it already in the game, As you can leave uranium in a sheep pen and they mutate over the years.

  • I often leave my doors open, and come back to nothing happening.
    Given there's NPCs who walk around and stuff, wouldn't it be cool to have a BTTF 2-esq thing happen?
    I'd had something like that before, when I came back to my car, the year was set to 3112. Although I think that was a bug.

Over-all, despite these issues, the game's still pretty solid.
Were I to rate it under a number/star, I'd give it 4.5/5. Losing half a mark because of some opportunities not taken, and some bugs I've encountered.

  1. There was one time I didn't do this. 1655 didn't have any replacement energy, and I didn't have the Sir Atom. (I admit I DID cheat the uranium I had back to 100% charge, to escape...)

Blue is EVIL

ACBob ◦ 2020-10-18 ◦ 2-3 Minute read

I was going to start this article with a quote about the colour blue, but i couldn't find any negative quotes.
Seems everyone is positive with blue. Much like an STD.

Now, you may have seen the title of the article and started a tangent along the lines of "WHAT?! BLUE IS A COLOUR! HOW CAN IT BE EVIL?!" and I'm here to say, that despite being the colour of the sky, ocean and some people's eyes, it is the most evil colour i can imagine. And no, it's not something to do with magic.

Specifically, it's evil in design - Web design. Blue is the colour of future, it symbolizes tranquillity, hope, etc. So it's almost the perfect colour for web design, right? wrong.

There's one crucial flaw - It's the colour of the sky. And you know what that means? Humans being a convoluted mess of instincts and behaviours thanks to evolution1, causes blue to be an important colour to us. The sky is Blue when it is daytime. Evolution's natural progression means that, as a rather good assumption, the human mind takes blue to be a colour of 'Oh, sun's out, be awake!'.

That means, when you stare at your screen, you are lambasted by millions of pixels all displaying blue. Whether it's your phone, Laptop, or office computer. This is OK during the day-time, where you're supposed to be awake anyway. But, at night, when people use their phones to look on their various social media and laugh at the funny internet pictures, they're bombarded with Light.

Dark themes aim to solve this, but the majority of dark themes2 have blue hues! - Take Discord, for example. The primary background colour is #36393F, which is perfectly nice, looks good in context, a nice colour all round - BUT of all the components in RGB, Blue is the strongest! 54 on Red, 57 on Green, and a whopping 63 on blue!34

That means, despite making up 33.33% of the colour components, They account for 100% of the awfulness. You know what that blue does? It seeps into your eyeholes and casts an impression upon your brain, to hinder the production of sleepy chemicals5, and keeps you awake.

Now, there are some solutions to this, such as coming off of your devices a few hours earlier - But who's gonna do that? Not me, that's for sure!

So we must call upon the designers of the word, To stop using so much damn blue! Personally, I've taken steps to mitigate my use of blue in my projects. My OS uses a dark theme with low blue levels, This website is very green6 - leaving blue as a rare colour - and I even rectified my mistake of making the fiction section blue.

So, I ask - Beg, even Plead - web designers, to stop using blue!

  1. Creationists GTFO

  2. That I've seen, at the least.

  3. In a 0-255 colour space - R 21.2, G 22.4, B 24.7 in a 0-100 colour space.

  4. And that's not even all of it - Discord's icon is blue, their accent colour is blue, etc. etc.

  5. Don't take my word for it, take Harvard's.

  6. Colours taken directly from VGUI1 in Goldsrc/Half-life 1

ACBobz - A new 'fontier'

ACBob ◦ 2020-10-01 ◦ 2 Minute read

Yep. I've done it again. I made another font. But this one's slightly different. And if you don't care for the article, grab it at GitLab

As you can hopefully read from the image, ACBobz (Also acceptable: ACBob'z) has been designed from the ground-up. No more different Bobish variants.

Bobish was great at the time, it was my first font, and it taught me quite a bit. I'd tried multiple times to improve it. Going steadily from v1 to v12! In that time, it became monospace, prompting the first variant - 'Bobish Fluxuspace'. It was also good enough, and attempted to be more readable, but Bobish had a few flaws.

For one, Bobish tried way too hard. It thought it was great, purely because I made it. For second, from a style-perspective, it was all over the place. Some characters had serifs, others were sans-serif, and others just didn't look good.

So that brings us to ACBobz. The new font. Perhaps, a new font family? The future is yet to say. - Trying to rid myself of the sins of Bobish, I'm not even going to force it upon poor visitors of my site. Additionally, I have properly licensed it. Bobish was confusing, And I now deem Bobish to be Public Domain. However, ACBobz is properly licensed under the SIL Open Font License. Containing a FONTLOG.txt and copy of the License as-well.

It has a more consistent style. Being sort-of rounded, while also having flattened areas. The punctuation needs work, but it works at the moment. With the consistent style, it also has a consistent font-weight, which is something Bobish really struggled with.

You can download the font HERE (ACBobz.ttf).

That's it for font-specific things. I'm now going to talk about the benefits for me, of making fonts.

This whole experience of making fonts (Both Bobish and ACBobz) has been fun over-all. I get to release my own interpretations of the English alphabet, along with improving my pixel-art skills.

An issue I have in the physical world, is my hand-writing. I believe i may have some form of dysgraphia, so constructing letters is rather difficult for me. However, after Bobish, i noticed a definite increase in the quality of my hand-writing. Bobish forced me to make a readable typeface, so i considered things like Spacing and Construction. Even when making the individual characters themselves, i would occasionally go 'Hang on, how would i do this with a pencil?', And that helped to contribute to changing my 'bpdq' letters, as well as 'gy' and 'a'.

Over-all, i think making these fonts has been a good thing for me.

The issues with a Centralized Internet

ACBob ◦ 2020-09-14 ◦ 4 Minutes read

This blog post has been rewritten as the previous iteration was rather embarrassing.

Although, you can still find the old version in the commit history.

Ah, the Internet. A wonderful place, full of mischief, Furries, Nazis, Nazi Furries and everything else you could possibly think of1. It's this great creation where you can talk to people, browse images2, and pretty much anything legal. However, we don't live in the utopias of our fiction, so naturally, there's some chinks in the Armour.

For example, as I had said previously, you could do pretty much anything legal. However, some individuals can also do things that... are unlawful. It's rather grim in some situations, so I'm dropping this point here. You can probably fill in the details yourself.

But we're not touching on those for now, nay, we are touching on the actual model of the Internet! I know, how exciting. - When I'd originally written this article3, it was not long after Cloudflare had a rather bad bump in the road, causing quite a bit of the Internet to disappear. Websites such as Google remained, but Discord, Patreon, Gitlab and even some of the Down Detector websites all disappeared.

So, how come Cloudflare being hit causes these seemingly disconnected websites to go off the map? A few ideas could spring to mind. But the actual reason is quite simple.

Imagine Cloudflare as a bridge troll. And the bridge connects to the site you want to go to. So, you go up to the bridge, and are stopped by the troll. The troll goes "Oi, are you a human?", You answer yes, and are let past. You connect to the site with the blessing of the troll, and reap the rewards of the contents.

Now, Imagine that the troll, Cloudflare, sleeps on the job. You go up to the bridge, and see that Cloudflare is nowhere to be seen. So you assume it's ok to go past. You go past, and then you're stopped by a magic barrier, as you didn't receive the blessing of the troll. This is what happens.

So that was a relatively simple example - to the point I'm not sure i got it across well - but what actually happens isn't that much different. Your computer goes up to the website, the website asks Cloudflare if you're ok, and goes from there. But when Cloudflare goes down - for whatever reason - It doesn't get a response. Promptly, the website panics, and gives up.

Now, this is only an issue because it's one point of failure. Maybe the website has a back-up server4, where it asks instead of Cloudflare, in the event it can't be accessed. Or maybe the website doesn't use Cloudflare at all.

We call this the 'Centralized Web'. Now, technically, this is stretching the definition. As you're still asking different servers for the content, rather than one server for all the content. But I'm going to argue that it's still applicable, as you're routing all that network through one pipe. - Pipe fails, server panics, so on.

But what if, instead of this, we had multiple points? In the bridge example, this would be like having a few bridges, Each with their own troll.

So you go up to the bridge. In a normal situation, you talk to one of the trolls, go through, yadda yadda. But in the example i gave earlier, where the troll has a sick day/sleeps in, There's other trolls and bridges to fulfill your request. Hell, if you've surplus trolls, they probably have the permission to grant your blessing with the other bridges, and can still fulfill your request.

In the real world, this would mean multiple servers. The surplus trolls would be from A -> B -> C, with A being you, and C being the server. Personally, i think this is a more sane system, and i would emplore people to seek it. It's more expensive, and probably doesn't work for most situations, but if you're a big service, say, Discord or Patreon, you could probably afford it, and it would make sense.

Naturally, it's only an issue if Cloudflare goes down, and that doesn't seem to be very often. But it's always nice to have. Besides, what if Cloudflare doesn't come back up one day?

...But that's for Cloudflare. I'd argue any Centralized system is bad. If you can be taken down with one strike, it's like packing your entire government into one building... and not expecting it to be blown up. - Although that's terrorism5. But arguably Terrorism is the fault of an unsuspecting government.

  1. There's even a website where you can rate feces. Although i wouldn't advise going to it on a School computer.

  2. I didn't mean those 'images', get your mind out of the gutter. Although, yes, you can find those types of images on the internet.

  3. The 17th of July, 2020.

  4. I'm not sure if this is possible, but if it was, this'd probably be the way I'd go, depending on how difficult it would be.

  5. Terrorism here being any issue with any system. - ...Not the greatest example, and it probably flags my site as worrisome.

Stand back from the mirror - You're getting ugly.

ACBob ◦ 2020-09-12 ◦ 1 minute read

We've all done it. We've gone up to the mirror to check how we look, only to find a new spot. Maybe it's even a full-length mirror, where you then see how fat you've gotten recently. - It must be that cake. So you do your best to alleviate these issues, and to no avail, you end up back at the start... Hey, you seem to have gained weight!

I've gone through this cycle a lot, and personally, it's quite draining. But as of late, I've started to feel better about myself. And I've found the secret. It's a very simple trick, but it's effective. Hell, it doesn't even require you to rub foreskins1 on your face. And it's this one, simple, free, trick: Stand back from the mirror!

Sure, you've got a new spot on your face, but you know why you didn't see it? Because you didn't look that closely before. The spot won't be noticed by people, you're over-reacting. You know that awful pot-belly that covers your vision when you look down? Guess what, Nobody is going to be seeing it from your perspective. They'll be at least a few feet away, and can't see it from your eyes.

If you still don't believe me, try it as a practical experiment. Go up to your mirror, and stare at it. Get as close as comfortably possible, and find all of your issues. Now close your eyes, and walk a few feet back from it. Open them, and then try to find those same issues. They won't be as pronounced from this distance. Now, go even further back. Maybe to the other side of the room (Depending on how big the room with the mirror is). Notice how those issues seem to fade away? That's because you're not up close and personal.

Depending on your relationship with people, Go up to them as close as possible, and investigate their face. Notice the issues that you didn't before? Congrats, you've now proven the hypothesis. Use this new information to your advantage. Of-course, don't rely on it, you still need to wash your face, exercise, and all that, but don't feel like it's doing nothing helpful, just because you can't see any instant changes.

  1. Remember Oprah?

New Site!

ACBob ◦ 2020-06-27 ◦ 3 Minute read

In the beginning, there was darkness. A simple 404 on ''.
And I'd said "Let there be content!" and i made a site that would've fit in the 90s.
And it was fine, but could've done with a bit of work. And work it got.

Months later, I'd found GitHub Pages, and decided that the TLD '' was a bit shady. With this, I'd remade the site's styling and moved it to - Now you could actually look at it without your eyes burning. After this, i changed the theming to something more sensible - a modern-style dark-theme fitting for any page.

Naturally, a GitHub page wasn't the best place for a personal site, so a while later I had found NeoCities. Making the move there, i rebuilt the site from the ground up. Theming being "original", in a Windows 95-esq style, with grey everywhere. With the styling being the main goal, and designed to be functional while somehow vaguely windows-like, it's understandable the site became bloated and undesirable. With a JavaScript mess of user-selectable theme, holiday banners and a Blog, it quickly began to make even the most liberal web designers cry.

The site quickly became a real tricky task to update/upgrade. Wanted a new page? Make sure to copy all the JavaScript links! Want a new blog post? Add a numerical Json file and then update the manifest! What's that? The page is getting slower to load because the browser needs to download a manifest file? Tough luck!

A lot of these issues were due to my principle of 'If it's not automatic, what am i doing?!' in that - Every page needed an automatically updating navigation bar and the likes. This stems from the frustration i had during the GitHub Phase, where every single page i needed to add, required a new line in the Navigation, and every page needed to be modified to contain this new navigation bar. If the HTML specification had a client-side include ability, I'd probably still be on the old NeoCities website, as it's fine without all the JavaScript.

Of-course, there are a few solutions that are rather obvious. First of all, i could've just simply linked a navigation page instead of having it there. While that would work, all the other cool sites have their own navigation bar, and not a page. Another is to make the site dynamic, where all the handling of templating could be done server-side. I did go about doing this, but found that i couldn't be bothered. is great, but i found that my way of using it violated my principle of 'Don't define behavior twice, make it a function!'.

So, to state the obvious, i went with the third version. A static site generator. That is, a program that takes in content and templates, mashes them together auto-magically, and outputs HTML files. Sort-of like a dynamic site, but it doesn't need access to a Server. This is crucial to my decision making process, as while i may be able to express my freedom with a dynamic site, i actually need that freedom to begin with (I.e Domain, VPS). And i simply either can't afford that freedom, or don't feel the need for it. What i have already is quite swanky, a service willing to give away a subdomain and a web server that will deliver contents. To ask for more is just rude.

And along with changing my setup, I again remade the website from the ground up. This time, it has SCSS! Ah, the power of Static Site Generators is amazing.