GrapheneKid

<-- back to Index

September 2024

-----------

9/13/2024

It's amazing what happens when you let yourself go.

I am an anal person. REALLY anal. Or maybe, "control freak" is the more apt descriptor. I need to have absolute control over as many details as possible. From a project management perspective, this is great, but from a programming perspective, it is a nightmare and one of my greatest weaknesses as a programmer.

In past attempts at projects I have always adopted a "room by room" approach - when building a house, I start by building a room's skeleton. Then I put in the drywall, then the floor, then I paint the walls, then I wire it up for electrical and/or plumbing, then I patch the walls up, then I re-paint the walls, then I add the windows, then I add tasteful furniture that brings out the room's natural strengths.

Then, I move on to the next room.

I'm sure you can see how easily this approach falls apart. I spend so much time on so many details but trapped within such a small development scale, with meticulous effort put into aesthetics and none put into actual functionality.

One project I shelved right around the time COVID hit was a very heavy simulation-based title. I had a lot of the simulation up and running and it looked fairly sleek, but you couldn't interact with it much or really do anything outside of the scope of the demo. In the games industry, this is often referred to as a "vertical slice" and it's used to paint a "what if" picture of how the whole game will play when it is finally released. These are usually created for demo reels, publishers, investors, and/or trade shows.

My development technique was starting to pigeonhole itself into a process of "design, polish, optimize, then plan" and as a result projects with even small development scope had exploded into these massive code monsters that I had to walk away from or shelf indefinitely.

I'm trying something different now, something I actually learned 10 years ago when I made my first game, Hot Clock. This was not a jam game or anything, but a personal challenge to see if I could actually finish a game. And I did. I gave myself 31 days in October 2013, I holed up in my room or loitered excessively on school campus with my laptop and headphones, and I worked.

One thing that became apparent as I cranked away at this game was how messy the codebase was getting. I didn't like it then. I wasn't as experienced then as I am now with programming, but I still had a fair amount of bloat and redundancy in my code. I was always enamored with the wizards at id software, making code that was not only effective and boundary-pushing, but also very beautiful to read, very efficient and self-explanatory.

I wanted to be a wizard when I barely even knew how to hold a wand.

It took working on Xgram for me to finally throw up my hands and admit I was never gonna be a Carmackian savant. Nor should I try to be. I should just be me.

Xgram is in alpha right now. It is not optimized. Its codebase is not pretty. There is some redundancy. There is some spaghetti code. There is some overencapsulation. There is some redundancy. But the important thing right now is that the program works and that I am programming in a way that plays to my strengths, with systems that can largely police themselves after a while with a fairly clear hierarchy and a straightforward control structure.

I also took great pains to build the house's skeleton. Get the foundation nice and firm, erect the walls, set up a roof, and so on. I planned for how to get cars in and out, and what the roof should look like. Speaking more literally, I began work on the user interface VERY early in devellopment, having basic menu navigation by the second pre-alpha, and robust file support shortly into alpha. What I did was plan, in the beginning, everything I wanted the game to do, and I held myself to it. I made sure to keep firm so that I wouldn't get overwhelmed with ideas, but at the same time I budgeted time-wise for enough room to include cool ideas or unforseen expenses as they came up. Scope creep has always been a huge problem for me, and making this game is teaching me how to manage the contrasting problems of a need for microscopic neatness and a desire to stretch everything to its furthest creative and logical conclusion.

It's too early for me to go on a fabulous press tour and say that you, yes you, can make games just like a pro with this 1 easy step, but so far I have seen things play out differently this time with Xgram. By sticking to a plan just enough, I can strike an effective balance of innovation and efficiency. By keeping my expectations and my publicity addictions under direct supervision, I can avoid sucking the energy out of a project before it even has time to blossom.

I feel confident this time. Not confident that I will make some glorious game of the year, but confident that I can make something ambitious, sturdy, and delightfully personal without my head sinking firmly up my ass.

-----------

9/12/2024

It's amazing what happens when you let yourself go.

I'm getting really close to announcing Xgram, but I'm trying to push for that secret weapon I mentioned in another blog post. I'm really bad about both extremes of showcasing: not wanting to show something off until it's UBER-polished, and also showing off mountains of inane and meticulous bullshit way too early without providing any emotional or practical connection to the project.

The latter got me into trouble a long time ago with a now-cancelled postmodern RPG I was developing with some friends, called Faust. I would post every single piece of concept art I could talk people into creating, every single demo song I composed for it, every overarching philosophical idea I could fart out of my college-addled brain, and so on. I even posted a single solitary "speed dev" episode onto YouTube where I barely managed to create a character that could move in 8 directions. I was getting all these short-term dopamine rushes from scraping together anything I could find and throwing it onto social media for some quick likes.

With Xgram, I flirt with that line between ambition and trepidation once again, but this time I've had a decade's worth of experience in managing my own expectations for the projects I work on. Nobody is watching me right now. I can say whatever I want. And since I'm not on social media, I have to actually work for the validation of "cool, you're making a thing."

I know it's a bit reductive to think of modern development as working like this, but such has become my outlook since the days of that hubris-laden RPG. Like an addict in recovery, I cannot look at something the same way again, lest I fall into the same traps.

Right now, all I do is post updates on Discord to my closest friend. They give me a little feedback here and there, but it feels more like emotional support rather than the onlooker validation I was chasing before. It's been nice to have someone to stand there and "take the hits" meaning I talk at them about the project and rant over a few OBS recordings where I showcase really technical shit. It's certainly a much more wholesome dynamic, and it strikes a balance of being able to show daily progress and get meaningful response without wasting time dolling things up to build hype among strangers.

I suppose if Xgram or another project of mine DID become big, I could achieve that audience my attention junkie brain is really jonesing for. But I'd rather spend time working on the game right now. Active development is not the time to build hype.

Also, I'm still trying to move back to the city. Hopefully November this time. The goalpost keeps moving back, I'm afraid.

-----------

9/6/2024

You know what's weird about this blog? I had that initial honeymoon phase of "oh, man, I'm gonna use this ALL day! I'm gonna be an unstoppable onslaught of regular rants! But now that I'm a week or so into having this site, I don't feel a profound itch to post. I mean, I'm writing a post right now, because I want to, but my point still stands.

I used to be very active on Twitter. Not MovieBob-level of active, god no. But pretty much once a day I'd have something I felt was witty or insightful enough to tweet about. It makes sense, twitter is the original "microblogging" platform. Small thoughts you can pull out of your ears and cast into the ether. Problem is, once money became involved, Twitter slowly, then all at once, became shit. Ads were the king of revenue generation, and who clicks on ads? People who are very easy to emotionally manipulate. And for a while, that was good, but Twitter wanted more money. They needed to justify the price raise to advertisers. They needed to justify to old and new business firms why they need to allocate a marketing budget solely to Twitter. They had to bump up their numbers.

So it became not just a game of getting as many emotionally-compromised people to interact with advertisers, but also drawing and attracting new swaths of these people like bugs to a light. At a certain point, this stopped being about the quality of eyeballs on ads, and became more about the quantity. The more people Twitter can shove ads to, the more they can charge ad companies because "look at all this exposure we give you! Now fork it up!" and they do this very slowly and subtly. Entice them. Give them cool or entertaining personalities to follow. Then get them to openly express themselves. Then make the content viral-able. Make it easy to know when you're looking at a certified Tweet even on another platform (incidentally, TikTok is REALLY good at this). Slowly and surely test their boundaries. So on and so forth. I'm losing my train of thought.

Basically, make them hooked, and you can charge advertisers as much money as you want because you're selling them a bunch of zombies that will almost certainly do your bidding. Yes, this all sounds incel-ish, but I'm only saying this because I was one of them for a while. Following instead of forging my own path, buying Product A in order to spite the people who bought Product B, and spewing mountains of filth and toxicity to any stranger I could get my hands on.

I'm not proud of it. I deleted it all because I no longer stand by that person and their actions. I do miss the convenience of being able to just fart out a thought and have it get a little traction here or there, but honestly, I still greatly prefer just having my life back. I like having control over my emotional responses. I like knowing that the world isn't entirely bleak and that there aren't always bastards and assholes all around me. I like the way the sunshine feels on my skin.

Work is also really hard right now, so it's considerably more effort just to sit down and write these. It's a labor of love, though. I want this to mean something more than typing 140 characters into a box and hitting Send. Unlike Twitter, where I got off on feeling like I was hot shit and the best at what I do and the king of snark, being here and seeing other peoples' sites has been weirdly humbling. Some of these people are wizards and come up with the most creative layouts and content around, and I will never be as smart or as creative as them. And yet, I'm ok with it. I'm ok with having the playing field be un-leveled again. I feel like it builds a sense of discipline.

And to demonstrate this discipline, I will now wrap up this blog post so that I don't burn myself out before the next time I write.

-----------