Jesse Pirnat Writes

And sometimes, blogs

November 2023 Update

This was a really good month for getting things done.

A New Productivity Tracking Era

And that’s mainly because I’ve retired my Daily Doings 2023 Google Doc and replaced it with Sprintlog Tasklog 2023.

That’s right, I’m back to doing my doings in the form of sprints, with goals and deadlines and estimated timelines and all that junk that burned me out back in 2021 after doing it for years.

Is that going to happen again? Probably, at some point. But I was already getting burned out on my “Daily Doings” method of self-tracking. Just making a bulleted list of what I did every day, while interesting, wasn’t enough of a system for me. I needed more direction. I needed sprints.

This time around, they’re just 1 week long instead of 2 weeks long. So it’s really just, every Sunday night I make a plan for what I hope to accomplish in the next week. Wowee zowee, I guess that counts as sprints? Anyway, I’ve been doing it for 4 weeks so far, and it’s been keeping me on track.

Game Dev – Shifty Squares

For a little while back in college, I was addicted to a mobile gacha game named Puzzle & Dragons. It’s a match-three game where you can drag your selected tile all around the board, rather than to a single adjacent tile. You can thus string together long chains and combos and cascades and it’s really cool.

I’ve wanted to make a game like that for a long time now. A match-three game where you drag your selected tile around and it alters the entire board. A game where dragging the tile to the right, for example, will drag the entire row it’s in, and then dragging down will drag the entire column that you put it into, and the tiles will wrap around the edges of the board, and you can chain all those moves together to do cool combos.

A game like… this.

Seriously, I need to get some actual screen recording software if I’m going to keep doing this.

Tentatively titled “Shifty Squares” until I come up with an actual game aesthetic other than “colored blocks I made in MS Paint.”

It may be a simple concept for a game, but I don’t care. I’ve been daydreaming about it for years and it’s finally real AND it’s fun to play! And that’s with just a core gameplay mechanic and literally nothing else. So, I’m feeling pretty satisfied for now.

Porydex

I’m deep in working on Porydex again! After being on and off with it since the summer, it’s now at the top of my priorities list, and it’ll stay there until it’s fully up to date again.

Unfortunately, it’s an even bigger mess now than it was the last time I mentioned it. I’ve realized I need to redo how a lot of its data is stored. In particular, move data and ability/item/move descriptions ought to have been stored by game rather than by generation.

For most of the series, any in-generational differences in that data used to be negligible. For example, who cares if the description of the move Pound changed between Ruby/Sapphire and FireRed/LeafGreen? The move still has all the same effects, PP, type, and so on. In fact, to my knowledge, the only time a move’s true details changed in-generation was Hypnosis getting a mild accuracy change from Diamond/Pearl to Platinum. A good trivia factoid, but not enough of a reason on its own to duplicate (or triplicate) all the move data across every version (or version-group, technically).

But then came Let’s Go. And then came Legends: Arceus. And now, it’s not so unheard of anymore for a move to have different effects from one game to the next in the same generation. So, in the pursuit of perfectly accurate data, the data from the older games needs to be re-imported on the new per-game basis.

Sigh. Normalized databases are a pain sometimes.

Attack on Titan

About a decade ago, this weird anime named “Attack on Titan” came out and took the world by storm and then went on indefinite hiatus to give the manga more time to finish. Okay, I thought at the time, I’ll just wait for the anime to finish and then watch the whole thing at once.

Well, it finally happened. I found out that “Attack on Titan: The Final Season: Part 3: Part 2” came out the day before, and I just kind of instantly dropped everything in my life and did nothing but binge AOT for the entire next week.

It was a good series, for the most part. Season 1 was insane and I could tell exactly why it blew up in super-popularity; it seemed almost tailor made to be a show that blows up in super-popularity. Season 4… was bad. It went in bad directions and did bad things with all the characters. And I had such high hopes after the revelations at the end of season 3…

***

Currently reading: the Bobiverse series by Dennis E. Taylor

Okay, technically I just finished reading it, but I haven’t started my next book yet, so Bobiverse wins this coveted review placement for now.

These books are an absolute delight from beginning to end. Brief teaser summary: a cryogenically frozen software developer is woken up centuries after his death as an artificial intelligence, to be the brains behind a self-replicating Von Neumann space probe. Chaos ensues.

(Tbh, you can probably summarize just about any book with “[Chapter 1 summary here.] Chaos ensues.”)

But for real though, these books are SO FUN, and the audiobooks especially are just a masterful performance. Read them. Listen to them. And then join me in waiting for book 5, which will hopefully be out in the next few months.

Getting hyped on tools you won’t use

A few years ago, the writing app Scrivener was gearing up for its next major release. Scrivener for Windows v3.0 had been in beta for ages, with a long list of new features to bring the app (mostly) up to par with its macOS older sibling. My writer friends and I were hyped as all heck for the shiny new software, even contributing to the beta testing cycle a little bit because we were so impatient to start using v3.0 for real.

And then, finally, after multiple months of delays, Scrivener for Windows v3.0 was officially released! I cheered internally and immediately bought the non-trial version of the app… And then I forgot all about it, and never used it, because I never used the previous versions of Scrivener to begin with.

***

I have a problem. Maybe this isn’t just ‘my’ problem; maybe this is something that plenty of people struggle with. I don’t know if that would make it better—the possibility that this is just a silly flaw in my own brain, or that it’s a tragic quirk in human psychology as a whole. But for now, let’s just call it my problem to keep things simple.

I have a long pattern of getting hyped on tools I end up never actually using. Years ago, it was Scrivener. Years before that, it was yWriter. At some point in the middle of that, it was the Pomodoro Technique of time management. That last one isn’t even a product that you have to buy! This isn’t just about products.

It’s not even just about writing. A few weeks ago, while browsing itch.io for tools that might help me with my indie game development, I stumbled upon a really neat piece of software named Tilesetter. Automated generation of all the standard blocks in a 2D pixel art tileset, based on a few template tiles? Hell yeah! But oh, what’s this, there’s a Discord server? And the developer recently posted that the next major version is going to be released soon?! HELL yeah! Time to put on my hype hat and start getting excited!

(Although, in the case of Tilesetter, the only reason I haven’t used it much yet is because my current game project doesn’t use tilesets. My next one might, though, and I’m eager to use the existing version of Tilesetter to make those tilesets.)

In a similar sequence of events, I’m not working on any multiplayer games yet, but when I eventually do, I’m planning on using Fish-Net as my multiplayer networking package for games made with Unity. And even though I haven’t really used it yet… for some reason, over the last month, I got really into following the discussions, the dates, the bug fixes, etc. for the very recently released Fish-Net v4.0… Why do I keep doing this?

***

If I’m being completely honest with myself, it’s probably not even about tools. When I went overboard last year with collecting Pokémon TCG cards, my method of expanding my collection was to look for any and all cards that looked like they’d be fun to ever include in a deck of any kind, and then I just went wild and got them all. (Well, the cheap ones, at least! Haha card games are expensive.) And what a surprise, most of those cards haven’t ended up in decks yet—they just ended up in a box. Just like Scrivener for Windows v3.0, and probably a bunch of unused things I don’t even remember anymore.

Hype is weird and dumb and probably a little irrational. But dang, it sure makes life more fun most of the time.

I do a lot of things as a joke

I’ve been thinking about this part of my personality a lot lately. There are lots of things I like and/or do that are objectively silly, and probably shouldn’t be taken seriously, but I do them sincerely anyway to add to the joke.

I don’t quite think it’s the same as “doing things ironically.” There’s a very specific feel to all of these things; it’s not just being dumb for the sake of being edgy. It’s more like… an elevation of sorts. Taking a silly idea and respecting it in its own right, laughing with it instead of at it. If that even makes sense.

Anyway, here’s some examples.

***

I got a minor in Philosophy as a joke.

When I was studying Computer Science at Stevens Institute of Technology, the curriculum involved taking a lot of electives. I kind of liked the philosophy courses, so I just… kept taking those. Until eventually I realized I had taken so many philosophy courses that I only needed to take one extra philosophy course beyond what was required for my main degree, and I would have enough for a minor.

Now, I didn’t actually think a minor in Philosophy would be worth anything, or that it would even grant me any kind of authority in the subject. But, the idea of taking just one extra class and then for the rest of my life being able to jokingly say “WELL, as someone with a Minor In Philosophy,” whenever I was in a remotely philosophical conversation that no one was taking seriously? That was the funniest shit ever to me.

So I did it.

And it’s been minorly paying off ever since.

***

A few months ago, I was working on a clone of Pong for practice getting started with game development. While I was wrapping up the basic functionality of the game, a thought struck me: “Biblically Accurate Pong Paddle.”

And I thought that was the stupidest, funniest idea. Immediately, I knew I wasn’t even close to being done with making my Pong clone. Not until adding an absolutely over the top final boss fight against a giant eyeball surrounded by multiple layers of rotating pong paddles, with cliché epic choral background music.

100% worth it.

***

Many years ago, a handful of my writer friends and I made a Skype group to collaborate on a bunch of cool stories and novels together. (We were all in high school/college at the time, and didn’t realize that our plans to simultaneously write multiple collab epic fantasy trilogies was completely unrealistic. But it was still a really fun and awesome time.)

One night, I had a dream that I was just chilling in the group chat, during a normal conversation, and nothing was dream-like or out of the ordinary whatsoever… except that in the dream, the official name for our group was Bloodwriters of Sol.

Holy shit, dear reader. That name is just so incredibly ridiculous that I couldn’t help but absolutely love it. So later that day I told the group about the dream and laughed with them about the dumb-as-hell name—and one of them changed the actual Skype group name to that. We continued to call ourselves the Bloodwriters of Sol for a few years, and I was not-so-secretly delighted the entire time.

***

When I was 11 years old, I tried writing a fantasy novel. Chronicles of Yabachi: Orbs From the Core – the epic story of the heroic warriors Ktalaki and Nanor, who go around defeating “evil.” (In the world of Yabachi, “evil” mostly means people who announce that they’re evil and then run off to an ancient hidden castle to brood and wait for a hero to fight them.)

It was… not a good story. But the combination of the literal child-level writing quality, along with the absurd plot movements, over time made the novel and its world endearing to me much in the same way as Axe Cop is.

A little over halfway through the book, my 11-year-old self thought it’d be super cool to have a two-part chapter: “The War of Yabachi, Part 1” and “The War of Yabachi, Part 2”—in which the two continents of the world of Yabachi go to war, and Ktalaki and Nanor (having just gone through a devastating broken-trust best-friendship-breakup) become the opposing generals of the war.

An entire world war… in just two chapters. How did I think that could possibly work? Maybe it was a better idea in the original vision of the story, where the chapter outline was actually an “Anime Episode Guide.” Even then, probably not.

But it ended up not mattering, because child Jesse fell off the writing wagon an arc and a half before the asinine war plot, and Book 1 of the Chronicles of Yabachi series was left unfinished for the rest of time.

… Or it would have been, had I not decided to finish writing it 17 years later, as a joke. Sticking religiously to the original chapter outline, hamming up the action scenes and the dialogue alike, and intentionally emulating my inexperienced childhood writing style… with one fundamental exception. To add on to the joke, I decided I would in fact write the two-part war arc with the original two chapters… but with all the sincerity and actual skill of writing quality that I could muster.

Hidden deep within a blight of a novel, where the average chapter was a page or two long, the two-chapter war arc was a straight up full length novella, where every character actually wrestles with the tragic backstory that the overall novel implies they should have. Ktalaki, the orphan who broke out of childhood slavery and rescued his people from a dragon tyrant, is now fighting for the dinosaur island to retain its territorial sovereignty. Nanor, the “good” child of an “evil” parent, is desperate to prove his value to the surrogate father he found in a politician who only cares about conquest. There are epic battles, tragic deaths, deep philosophical asides about the true nature of good and evil—

And then, right after the war ends, we go right back to the emulated child writing quality of the rest of the novel, and Ktalaki and Nanor become best friends again with ease. Chronicles of Yabachi: Orbs from the Core is perhaps my crowning achievement of stupid jokes.

October 2023 Update

At the end of my last monthly update, I mentioned how I had been reading the web serial Katalepsis—and that, having just finished with Arc 12, I was probably “done with this story for good.”

Well… That barely lasted 2 weeks.

In the last 20 days, I’ve read Arcs 13 through 17. That’s 75 chapters, which I’ve been reading at an average pace of around 34 minutes each, for a total of 42.7 reading hours this month. (Because for some stupid reason, I’ve been keeping track of that in a reading progress spreadsheet, all the way back to when I read Arc 1 early last year.) (The stupid reason was that I thought it’d be neat to have all the time stats if I ever finished reading the whole thing. Which at this rate, I guess I will.)

So. That’s the main thing I’ve been doing lately, I guess.

Also, for the last week I’ve thrown myself into Super Mario Bros. Wonder. That game is truly a delight, from beginning to end. As great as any of the classic Super Mario games are, if not better.

As far as creative projects go: I put the game dev on pause for the last few weeks, when I realized/remembered that SMBW was going to be releasing in just another week. (Which was why I then threw myself so hard into the Katalepsis reading—I didn’t want to get too mentally deep in a game project when I knew I’d slam it to a halt to play SMBW as soon as it came out.)

But the game idea I mentioned last month, the one that didn’t have a playable prototype yet? It has a playable prototype now, and I’m relieved to discover that it’s actually fun! Now I just need to get good artwork for it, and music, and probably a hundred other bits of polish and pizazz.

Or, I could drop it and start another new project, as my creativity-ADHD is starting to demand. (Creative writing is starting to look awfully appealing again, what with the fact that all it requires is writing, as opposed to writing + programming + artwork + music. Maybe it’s time to give NaNoWriMo another go.)

I want a competitive multiplayer platformer

I want a competitive multiplayer platformer. I’ve wanted one for as long as I can remember. A Mario-esque game with a battle mode where you can jump on your opponent to defeat them, just like with any other Goomba- or Koopa-esque monster. But, your opponent can jump on you too, so you need to evade them while trying to hit them first!

I’ve been gaming for decades now, all the way back to Pokémon Red and Blue on my GameBoy Color. I also had Super Mario Bros. Deluxe on that GameBoy, and that was where my love for platformers began. I’ve played most of the “core” Super Mario games since then—64, Galaxy, Odyssey, and so on. And at some point in those early years—maybe after the hundredth Goomba stomped, maybe after the thousandth—the idea of it being a human opponent struck me and never let me go.

Spoilers for a 16 year old video game. Not sorry.

Super Paper Mario was the first time that desire was remotely fulfilled, and was what showed me that this desire of mine—already ancient at that point—was genuinely possible. A boss fight against a human-sized opponent whose main attack was to jump on you, and you did damage by jumping on them! All that was missing was an actual human being behind the controls of the boss, but this was proof-of-concept enough. The dream could be a reality.

A year or two ago, I discovered New Super Mario Bros. – Mario Vs Luigi. A fan remake of the Download Play multiplayer mode of New Super Mario Bros. for the Nintendo DS. I used to play that multiplayer mode a lot with my sister when we were kids, though neither of us were very good at it, and the gameplay wasn’t anything special at the time.

Just a race to be the first to collect stars that randomly spawn throughout each small-but-infinitely-looping level. Each level had a few things that could potentially kill you (Goombas, Koopas, bottomless pits), but the main action was that if you jumped on an opponent, it would knock them down and they’d drop a star or two. Simple, casual PvP gaming. About what you’d expect from Nintendo’s first go at a thing named “Mario Vs. Luigi.”

The fan remake took that foundation and unlocked so much of its hidden potential.

NSMB:MvL allows matches of up to 10 players (not just 2) and gives you total control over the settings of each match—how many stars until someone wins, how many lives until you’re out, , a match timer, how many coins you need to collect to get a random power-up (always 8 in the original, but now as low as 1!). And most importantly? Five additional custom maps, and the addition of the power-ups from from New Super Mario Bros. Wii: the Propeller Suit and the Ice Flower.

This was it. This was the multiplayer competitive platformer I had been looking for all along. I had finally found it, and I eagerly dove in and became maybe a little too addicted to this little game for probably way too long.

The custom maps are so much better designed for actual competition, to the point that the original maps just seem downright bad and bland in comparison. Top tier among them is “Jungle,” the map inspired by NSMB World 4’s forest theme, with poison water in every pit. It’s pretty common to log into NSMB:MvL and find a room where the settings are 99 stars and 1 to 3 lives. Just a straight up deathmatch battle royale, where the star collecting doesn’t matter at all anymore, and it’s all about killing and/or out-surviving your opponents. Finally.

And I can’t praise this remake sufficiently without mentioning the Ice Flower that was ported over from NSMBWii. Ice Mario (or Ice Luigi, if you prefer Luigi’s slightly altered stats) is the strongest yet most well-balanced power-up in the game, the thing that ties it all together and (in my opinion) makes competitive play remotely viable in the first place. In a game that’s so tied down in its non-lethal foundations, the ability to freeze an opponent, pick them up, and throw them into a bottomless pit to kill them is an absolutely necessary breath of fresh air.

And yet… For everything that NSMB:MvL improves on the original, it’s still stuck with the framework that the original gave it. The default power-up, the Super Mushroom, is basically worthless, because most things do knockdown damage rather than lethal damage. Jumped on by an opponent? Knocked down, lose a star. Get hit by a fireball? Knocked down, lose a star. The original maps are a slog to try to hold deathmatches on, even with the one new item that can help you kill someone.

And the Blue Shell power-up from NSMB DS? Sure, that one can do lethal damage too, but it also gives you near invulnerability, so it falls more on the “unfun and unfair” section of the strategy spectrum.

And so, NSMB:MvL isn’t the end of my long search. Not yet. But it is the closest I’ve ever come, and it’s helped me figure out a lot more of exactly what I want in this dream game of mine. For one thing, it needs to be balanced around multiplayer battle royale type gameplay from the get-go, especially with respect to whatever power-ups the game will have, or what movesets its characters will have. And it probably can’t be as simple as “jumping on someone = they die,” because that would mean very, VERY short matches, so Mario Vs. Luigi at least got that part right.

But I have zero intention to keep waiting for someone else to make this dream game of mine. For the last several months, I’ve been learning game development with Unity as a hobby—with the ultimate goal of taking matters into my own hands and making the competitive multiplayer fighting platformer game I’ve always wanted.

I’m nowhere near skilled enough to make it yet. I have to work my way there, proving myself with many smaller projects first, before I can even begin to think of tackling things like multiplayer functionality. But I have the goal, and that puts the rest of my journey into perspective. One way or another, I know I’ll figure out how to get there.

It’s just a matter of time.

That One Insignificant Moment

There was a morning, back when I was in middle school. The bus was turning up the school’s little hill of a driveway, and I was lying back, tired, trying to squeeze just another minute or two of rest out of the morning before I had to face an entire day at school. It was a typical morning, similar to hundreds of others before it, and probably after it. A completely unexceptional, worthless moment of transition between the parts of the day that actually mattered.

And somehow, for some reason, I realized all of that in that moment.

I realized I was living through the most mundane, unremarkable moment in time. A moment that would soon be forgotten by everyone on the bus, including myself, because what reason was there to remember it? A moment so defined by its insignificance that, in just a few more days, or hours, or maybe even minutes, it would be like that moment never happened at all.

So I decided to remember it.

I didn’t want that moment to not matter. I didn’t want that moment to be as insignificant as it was destined to be. I didn’t want it to be forgotten and therefore die, losing every effect it ever had on anyone who lived through it.

I couldn’t rescue every moment in eternity from its inevitable oblivion, but I could rescue that moment, on that one day, on that one morning, on that utterly insignificant bus ride before school.

And so I remember it. I remember all the silly things that were going through my head as I made that vow of remembrance, which I’ve now shared here (without too much extra dramatization—I was a dramatic child, inside my own head).

I remember the feeling of defiance that went into the act, the feeling of struggle against an impossible enemy—eternity itself. The feeling of borrowed/mutual insignificance, because I too was just screaming against the void of Forever. Someday I would be forgotten too, and the world would move on as if I never existed.

But for now at least, for just one lifetime, I could remember—and therefore keep alive—that one insignificant moment.

August 2023 Update

Another month, another monthly update. Let’s just jump right into it.

Jumping Right Into It

In last month’s post, I wrote about how I’m developing a platforming game with the Unity game engine. I also wrote a bunch of junk about how I’m basically learning Unity and game development as I go, because this is the first time I’ve dipped into game development since my high school and college days.

Which were really shallow dips back then, to be honest. In high school, I was a member of the niche online forum subculture of TI-83 Plus graphing calculator “game developers” who mostly just hyped up our cool game ideas to each other and rarely actually made them. (Probably because we were all just dumb kids with no idea what we were doing.) (Shoutout to the dumb kids who actually finished and shared their calculator games, and gave the rest of us something to strive for.)

And then in college, I was a member of the school’s game development club—and I actually finished some games! A few small Flash games… right before Flash was killed off as a platform. And a few other small games, the most exciting of which was a two player competitive Snake game… with player 1 using WASD, and player 2 using the arrow keys. On the same keyboard.

Like I said. Shallow dips. Rough around the edges, all of them. Rough enough and small enough that, ten years later, it feels like I’m starting from scratch.

So, jumping straight into developing a big platformer with multiplayer functionality and all the other bells and whistles I’ve never had to consider before… Maybe that was the wrong move.

Starting Smaller

Near the end of last month I stumbled upon the very good (and very should-have-been-obvious-all-along) advice that fledgling game developers should make a few extremely basic practice games to learn the ropes before they try their hands at making whatever passion project they actually want to make.

And so, for the entirety of this month, Untitled Multiplayer Platformer has been on pause—and instead of that, I’ve been working on a clone of Pong.

Well. Technically, the bare minimum working version of “a clone of Pong” was done a few weeks ago. In the time since then, I’ve just been fleshing it out and giving it a personal touch. Adding all the bells and whistles I usually don’t bother with. Some sound effects here, an overdramatic boss fight there… You know how it is.

I don’t know how long I’ll be on this silly “Pong clone but wait did you just say boss fight” side quest. Probably until I get bored of it, or until I get more enthused by something else. For now, it’s still a useful learning experience, so it hasn’t yet overstayed its welcome.

An Unexpected Revival

In other major project news, I’m working on Porydex again. My competitive Pokémon battling usage stats + Pokédex data website has been dormant for almost a year, and getting back into it now was the last thing I expected. Its game data section is three sets of games behind (BDSP, L:A, SV), and I still don’t do competitive battling anymore.

Then I saw a Reddit thread where someone was asking “what ever happened to Porydex?”, because they used to use it and they liked it.

It always catches me off guard when anyone actually uses a resource I made. Or when anyone reads a story I wrote. Even back when I made the MSPA Prophet, I was surprised that so many dozens of people liked it. And then hundreds. And then thousands.

(I may have some deep self-esteem issues where I can’t imagine people valuing anything I do. Maybe. In theory.)

But seeing that one mention was enough to get the ball rolling. I spent a couple days finishing importing the data from the Sword/Shield DLC, then I made a list of what I need to import from BDSP, and I started doing that and L:A and now a little bit of SV at the same time too and—

Okay, Porydex is a huge mess right now. But I’m enjoying it, and I know how to un-mess it, and I’m looking forward to it being “up to date” again, probably just in time for the Scarlet/Violet DLC.

All in all, I’d say it’s been a pretty good month.

***

Currently reading: Axiom’s End

Do you ever think of yourself a science fiction/fantasy fan, but then when you look over all the books you’ve read recently, you realize it’s mostly science fiction, with the fantasy few and far between?

I wonder if my tastes actually changed, or if I’m just doing a poor job balancing them lately.

Childhood Creative Projects: Master Men

Have you ever gone through your oldest papers, all the mediocre drawings and the dumb Pokémon fanfiction you made when you were 10-12 years old (which you still have, of course, because deep down you knew you’d never want to get rid of them)—all the assorted monster drawings you doodled in school, and been surprised to find a collection you barely even remembered? A literal collection—titled, themed, stacked and stapled together, featuring a wholly original cast of characters with names and artwork and biographies?

A world you almost completely forgot you had ever created… but clearly, it must have mattered to you a lot, once upon a time—after all, why else would you have written so much cringe-worthy backstory for this “epic” monster war saga?

That, roughly, is my modern day experience with rediscovering my file folder for Master Men.

Continue reading
« Older posts

© 2023 Jesse Pirnat Writes

Theme by Anders NorenUp ↑