Stop Posting Pictures of Your Children Online

One thing I’ve noticed more and more as I’ve grown older, is that adults are surprisingly stupid! Mothers will get their infant boy’s penis mutilated for no reason other than aesthetics. My own parents made a lot of stupid decisions while raising me that in my view, didn’t need to be made. I don’t think of myself as a smart person, so most of this might just be hubris.

The biggest problem I have with most parents these days is the obsession with posting their children on social media for everyone else to see. It’s just very sad, I don’t know what goes through these parent’s minds. It’s a level of narcissism rivaled only by IVF and surrogacy. How much disrespect must you have for your children’s privacy to just post them on the clear-web for every weird pervert to have access to? This is a very big reason I’m not completely pro-parental rights.

I’m very grateful I was born before this point.

Simulation Theory Is Bullshit

Getting diagnosed with mental illness is a bitch. In a certain way, you’re treated as “less as” than others. I’m sure many people already know this, though. It makes me feel angry and alienated.

As a Christian who lives with mental illness who literally believes that the resurrection happened in a very literal way, I find it stupidly offensive when some redditor dismisses me as ‘insane’ or ‘ridiculous’, only to then promote ideas like ‘simulation theory’ as though they’re more reasonable.

Ever since I’ve first heard about it back when I was in 3rd grade, it always sounded off to me. I’ve always found the hypothesis both dull and unconvincing, as it borrows heavily from the core principles of general deism, yet then asserts that the creator of this universe is finite. This finite creator concept rests on the assumption that because humans have developed relatively fast computers—hardly remarkable given theoretical limitations—it would therefore be feasible for some ‘greater finite’ being to create a universe that appears infinitely complex on both macro and micro levels.

They also don’t seem to account for the fact that computers can break down, too. If it was true, we should at least be seeing literal glitches and errors right now considering the harmful things we are doing to and on Earth. Or maybe there are glitches, and we just can’t recognize them yet…?

The simulation theory, at its core, is an unoriginal idea created by innovation. No one would’ve thought of this before Alan Turing.

tldr; Simulation theory is religion for atheists.

Why I Make Video Games

While my body is sweating and my head hurts, I stare at my screen wondering why am I doing this? Making a video game for people to play and toss away next minute. “I just want to go to sleep”, I say while I continue working at the bug I’ve been tackling for the past 4 hours. Twitter is open on my other monitor just to piss me off more. Nothing about this is healthy.

After many hours of work, the problem as been resolved, and I look at the game in its state. Unfinished, but full of potential. It’s when I remember why I do this.

I haven’t eaten in days, and yet I sit here more, waiting to complete my creation; because that’s what I want.

Work on Motionmelody continues slowly. Maybe one day, it will finally be completed.

The Consequences of a Childless America

I’ve been very interested in population decline since I was about fifteen. I’m not sure why, probably just an autistic thought I’ve had for a while. I’ve decided to put my thoughts about it here.

When the Industrial Revolution happened, what we know as “modern society” was created, and we live in it today. Most people take advantage of this society without truly understanding how we’ve gotten to it. Because most people don’t understand how society works or operates, they fail to also understand the implications of how their actions may impact the society they take advantage of.

The Perpetuators

There are three main reasons people don’t want to reproduce anymore (not counting people who just can’t):

  • Older generations have made life so shit for younger generations that they refuse to procreate anymore.
  • Older generations have made life so good for younger generations that they have better, more interesting, more fulfilling things to do with their time than to procreate.
  • Mental illness.

The biggest perpetuator of these problem is, ironically enough, are capitalist business owners. Some (or most) companies do not support paid family leave, or any equivalent. This has led to most childless people to believe that they simply can’t afford children.

And in some cases, they’re probably right. However, in most instances the simple fact of the matter is that most humans are simply too hedonistic to actually care about reproducing. For most people, reproducing is a very last thing they want to do when they’re absolutely confident that it won’t “get in the way” of anything else in their lives. The obvious implication of this is millions of people who never reproduce because these people are never confident about anything.

To cope with this, they convince themselves that this is a “liberating” and “individual choice” that they’re making instead of the most logical conclusion of living on a capitalist society that prioritizes profits over people. Instead of recognizing the issue with the system and choosing to reform or change out entirely, people have decided to continue playing along with the system while refusing to keep the game running. This will inevitably cause a huge societal disrupt.

The Consequences

Most people I talk to would insist that the only reason they’re working is so they can ride on retirement for maybe 15-30 years, but the problem is that the only way to make sure that your retirement is legitimate is if you have young people who are making sure that society is still running while you’re sitting on your ass. If there’s more people who are unable to work than people who are able to, or more accurately, if there are more people who are just consuming resources than creating, this is a recipe for economic disaster.

“But shouldn’t pensions be supported by the people paying in to it? Rather than the next people to pay into it? Otherwise it seems a little bit like a pyramid scheme.”

Duh? Did you think it was anything else? Why would you ever think that society was anything other than a big pyramid scheme? Dumbass.

The worst part of this is that no country has been successful in stopping this trend. They give out money, parental leave, tax cuts. Doesn’t matter. We don’t know how to stop it. We can only prevent it from happening, and even then only temporarily.

Unless you’re Israel… Jesus. What’s their secret?

The implication is obvious no matter which way you look at it: When people have other things they’d rather do, they choose not to have kids. This is a bug that really cannot be fixed. A bug that modern society is simply not compatible with. When people want to take advantage of a society that runs on young people’s labor while refusing to create more young people… well… that’s just the basic economic principle of supply and demand.

There’s no real fixing this. As long as capitalism and, by extension, industrialism exists, this trend will continue to worsen and society will inevitably collapse. I don’t know about you, but when I’m about sixty-something when that happens, I’ll be hiding out in my bunker drinking Dr. Pepper waiting for the nukes to go off. No, you may not join me. Wait… who’s making the Dr. Pepper?

Sorry, humans. Turns out hedonism always wins in the end. Man plans, God laughs.

Sad!

New Game Engine

While Motionmelody has been fun to make, the one thing that I regret every single day is the fact that I have to use this shitty, slow, bug-prone garbage collected game engine. You may have heard of it, it’s called Unity.

In the future, after Motionmelody is released and we officially start production of our next game, I will be writing an article about everything I hate about Unity and why we’re using and maintaining our own game engine for the foreseeable future.

I’ve started writing the new engine a couple months ago, and it’s going well so far. It currently has hot-reloading of data assets, it can render text, basic 3d models, what isn’t there to like? It makes me wonder why we didn’t do this in the first place…

Of course, we aren’t planning on writing our games in C++, so we need to have a proper “scripting language” to script our games in. I chose Beef, the only acceptable language for this.

A big part of this process is calling C++ from Beef, and calling Beef from C++. So while that’s easy enough to do manually for a few functions, as our engine gets bigger and bigger, it’s not feasible with the amount of stuff we’ll eventually want to bind.

APIGen

I wrote a tool called APIGen. It allows you to define API functions, which then creates a transition layer between C++ and Beef. It looks like this:

API_FUNCTION(APITable_Drawing_Clear)
void Clear(const Color &color);

API_FUNCTION(APITable_Drawing_DrawLine)
void DrawLine(float x1, float y1, float x2, float y2, const Color &color);

APIGen will read these files and generate .json files, which, inside of them is just a list of functions and information about them.

{
    "functions": [
        {
            "name": "Clear",
            "returnType": "void",
            "tableIndex": 5,
            "params": [
            {
                "type": "Color",
                "name": "color",
                "const": true,
                "pointer": false,
                "reference": true
            }
            ],
            "pointer": false,
            "reference": false,
            "private": false
        },
        {
            "name": "DrawLine",
            "returnType": "void",
            "tableIndex": 6,
            "params": [
                {
                    "type": "float",
                    "name": "x1",
                    "const": false,
                    "pointer": false,
                    "reference": false
                },
                {
                    "type": "float",
                    "name": "y1",
                    "const": false,
                    "pointer": false,
                    "reference": false
                },
                {
                    "type": "float",
                    "name": "x2",
                    "const": false,
                    "pointer": false,
                    "reference": false
                },
                {
                    "type": "float",
                    "name": "y2",
                    "const": false,
                    "pointer": false,
                    "reference": false
                },
                {
                    "type": "Color",
                    "name": "color",
                    "const": true,
                    "pointer": false,
                    "reference": true
                }
            ],
            "pointer": false,
            "reference": false,
            "private": false
        }
    ]
}

The next part after this is generating bindings for Beef using these .json files. This is technically a different tool but for simplicity’s sake, I’m just gonna call it “APIGen Stage 2”.

I wrote another C# script that reads these .json files and generates the appropriate code files for us to use in our scripting library, which we then use in our game!

/// ===========================================================
/// Auto-generated by the Trinket API generator. Do not modify!
/// ===========================================================
using System;

using internal Trinket.EngineAPI;

namespace Trinket;

public static class Drawing
{
	[Inline]
	public static void Clear(Color color)
	{
		function void(in Color color) func = (.)EngineAPI.callTable[5];
		func(color);
	}
	
	[Inline]
	public static void DrawLine(float x1, float y1, float x2, float y2, Color color)
	{
		function void(float x1, float y1, float x2, float y2, in Color color) func = (.)EngineAPI.callTable[6];
		func(x1, y1, x2, y2, color);
	}
}

This system might change a bit as we develop the engine more but I’m proud of how it works right now. It’s probably better than how Unity manages it, for sure.