Game Development Log #2
Feb 17, 2019, 7:56:47 AM
In this devlog, I'm mainly going to go over the progress from this past Saturday, and I’ll touch on a bit of what I did last week too. There's new art, and a bunch of new things I learned from playing with RPG Maker and the Ruby programming language.
Progress for my game Jam project is going really slowly but, like I said, I only work on this project on the weekends. During the weekdays, if I'm not tired at night I'm usually either playing some Minecraft or working on the novella series for this Mortal Coil.
Coding in RPG Maker
RPG Maker VX Ace mainly uses Ruby 1.9.2 -- just so ya know. You can find that out by printing out the RUBY_VERSION in a script.
Today (i.e. Saturday), I worked on a event spawner. It's a set of ruby scripts that will run a countdown timer and then spawns an event from a separate embedded RPG VX Ace map to a random tile from a region on the map.
In the game, you're supposed to ferry souls across the river. This tile map represents the individual "soul" events that you can meet. In theory I'd go and write a story snippet for each tile and I could expand the map to add more as needed. This is probably not the way to do it in RPG Maker VX Ace, but whatever.
The Ruby script runs a modified Game_Timer that sends an event when the timer is done. It's not a Game_Event that the GUI lets you make, but a function call via the ruby send() function. I don't really know if it's good practice to use the send command, because I read that you can actually violate the encapsulation rules in Ruby and access private methods in a class. But, it works, and it allows me to create a timer that can trigger a callback event.
The event spawn function I use is a modified version of Yanfly's event spawner and takes one of the events from this hidden tilemap and drops it into the playable game map.
On the playable game map, I can paint various regions and assigned them to the event spawner to create these new events.
Here's Yanfly's original plugin script for RPG Maker VX Ace: https://yanflychannel.wordpress.com/rmvxa/utility-scripts/spawn-event/
I also made a Game_Event where I can test spawning these events. It's a simple game event, where you can walk over it and it'll create a text box and a choice menu to allow you to spawn an event or delete all of them.
A quick note for last weekend’s work, I mostly worked with RPG Maker to create a tutorial scenario so the player can understand the basic gist of the game right away. You are introduced to the characters and given a taste of what to expect.
The Goal and Next Steps
The big idea is that the game will randomly spit out these soul events and you go and collect them (talk to them, get them in your party) and then bring them across the river (styx) to "go home" or "be born".
I figure the souls should be on a timer and appear independent of whether or not you have finished ferrying previous souls across the river. It would give the river a sense of life all of its own.
The next step is to get a few of these to work and tune the spawn time and see if it really makes sense for the project, or if it was, what I liked to call, a "science project."
I had a pretty hard time with this since I almost gave up on RPG Maker.
How close did I come?
I spent most of Saturday morning hemming and hawing about how I should build this in RPG Maker. I concluded that progress was really slow and that if I had access to tools I knew such a C# and Unity I could work faster, because I'm fluent in the language and much more capable with the Unity editor.
I actually installed Unity 2018.3.6 and thought "well, it's got a tile map, and I know Unity/C# better than RPG Maker/Ruby." But then I realized I'd have to code it all from scratch and that would take... a long time.
So, I made the best decision I could at the time…
I took a nap.
Then I watched some youtube videos on RPG Maker and ruby scripting.
Then it clicked.
I figured out how to make an update loop that would run every frame.
The bits and pieces of code I was grokking in RPG Maker’s script editor were making sense.
I was able to google what I needed to know about Ruby and pick it up as I was making it.
I stuck with it in the end.
I haven't really worked at any of the art for this game. The game sprites are still RPG Maker’s stock overworld tileset. The only custom art I’ve done is the title screen and the sprite of Kamiko which I talked about here years ago.
I also have a bigger visual novel-y sprite of Kamiko used for conversations.
Which I really hated because she looks so lifeless in that drawing.
I did that one while I watched the Super Bowl on Feb 3rd. I’m not a fan of the Rams or Pats, and the game, half-time show, and commercials were all boring.
This past week I came up with a new version of Kamiko. Once more, with personality:
I don't think I'm going to finish this project by the end of February, but at least I have a start of something and it does seem to be shaping up.
More next time...