Friday, December 29, 2023

Humble RPG Maker 2000 Beginnings

When I was a kid (about 17 or 18 years old) I spent an entire school year and that summer "creating" a game for my friend Katie. This was about 2006. I used RPG Maker 2000 and paint to throw together scripts, animation, physics, and many hand-drawn assets to work up something of a starter RPG. I didn't realize at the time that I was working with event commands, variables, control flow, placeholder commands, and plugins to make this game work. I always wanted to major in computer science, but I never quite realized that life could be for me. I never knew that I was already getting the fundamentals of control flow down. For instance, in RPG Maker, the developer might check if a player has a certain item before allowing a door to open, or in as written in a pseudo-code example:

FUNCTION keyCheck():
    IF Golden_Key EQUALS 1 THEN
        RETURN True
    ELSE
        RETURN False

I also wouldn't realize it at the time, but this gave me a sense of purpose. I would transcend time in such a way that a week would go by and I'd barely notice it. I'd be thinking instead that I hadn't made enough progress on the game and that this was ultimately a waste of time that could never amount to anything. The writing was surely so cheesy and probably cringe to look at the logistics again, but I don't have to worry about that because I'll never know . . .

Some years later, I saved everything to a flash drive USB and mailed it to Katie who was living in New York City at the time. Just by fate, my computer crashed and burned before I had the chance to back up anything and I hadn't quite become aware of servers or cloud storage (which was well on its way to taking over everything). Because of the way mail worked / didn't work at her old Bushwick neighborhood, she never received the flash drive, and it was lost for good.

Or so I thought.

Flash forward to 2023, where I've been playing videogames online with Katie and two other friends about every Sunday since covid began. We've all been teaching ourselves the Godot engine, which has me feeling very nostalgic for these days I've described. I am both wishful thinking that I could go back to 2006 and encourage my younger self to go after what matters, and also happy that I've had enough life experience to make something that would make a bigger impact. 

I've also been taking coding bootcamps, some better than others. I learn more and more about databases, backing things up, and obviously trying out some AI models, and it's helped me realize the power of having secure data and what that can actually mean for soemone. 

I'm a minimalist who still has enough childike wonder to believe in "energy," so I take a lot of joy in throwing stuff out and burning old stuff, including uploading things to servers and throwing the physical objects away. I burned up flash drive after flash drive, finally coming across an old terrabyte I'd saved years ago that I'd held onto despite thinking it was broken.

It just needed a new cord. 👺

I believe that "fate" and maybe that same energy brought me to do this, maybe you're a mature person believe in "real" things and just find this to be a dumb coincidence. Either way, it turns out the old dusty terrabyte drive contained my old sprites, pieces of the original game, and so many of the other resources and code I'd thrown together.

It's like I have another chance, and got all my time back.

Some highlights / lowlights I'll post below. Maybe I'll make this a regular thing to stay humble, maybe it's meant to be a one-off. I'm excited for this new journey, and want to use my eventual success story as a template to show how someone can leap from point A to point B with a little time and dedication. Something like, "It's never too late, even in 2024 when people are automating processes and not replacing those lost jobs with anything where someone can make a living and people are nearly destitute according to Linkedin not being employed for over a year damndowecareatallaboutotherpeopledoesanyofthismattershouldtherobotsjustwinalready.."

Some old facesets below. I believe the first may have been an edit of an original Squaresoft character if someone feels impelled to help identify(?) who it is. I loved the art style, and I vaguely remember thinking the original character looked like a lady, so I used it as a template to edit and create the others:


My best friend had this wonderful exotic shorthair cat named By'Tor. You know I had to include him:


 
(used Asesprite to show you how he looked walking around in RPG Maker)



Apparently the blank pink tiles in front of the gray arrow tiles (near the equipment room) triggers a scene that takes the player into a battle scene, something of the colosseum archetype.

 


The writing, as expected: horrible. 

If you can see the dialogue message (console.log("I had a little help training)), I am refering to the training in the colesseum that literally happens DIRECTLY before this scene. The reader does not need a reminder, and why would a knight character admit vulnerability so soon? Ugh, terrible, terrible writing. 

But some interesting switches, events, and placeholder commands to pull up the stored name of each character with the ¥ n[1] (representing the character in placeholder 1). I don't know why the Japanese Yen sign was used, but I bet it stands out as obvious non-text in the same way we use something like %n or $var as placeholders today. I'm not going to pretend to understand Japanese code at just getting my grip on English coding.

Anyway, sometime this weekend I plan to post an update on my progress with Godot, noting the way things have changed over the course of 17 years, and in what ways things have remained the same, along with setting some future goals for 2024.

Merry Xmeth, hope you had a Hannukah, keep enjoying your Kwanzaa, "let me know in the comments" if any other cool thing happens this time of year, and feliz año nuevo en 2024!