Game Development Log #2

Feb 17, 2019, 7:56:47 AM

Kamiko Sketch Gamejam VN Image v2

Kamiko Sketch Gamejam VN Image v2

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.

TMC Gamejam Animated gif of spawning NPCs

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.

TMC Gamejam Project Event Tilemap

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.

TMC Gamejam Region Map

TMC Gamejam Region 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:

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.

TMC Gamejam Spawner Debug Event

TMC Gamejam Spawner Debug Event

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."

On Quitting

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.

A lot of that comes from programming for years and seeing the same idioms in C++, C#, javascript, written in a different form. So, learn the form and viola. I worked for a few hours and managed to make this script.

I stuck with it in the end.

Kamiko Art

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.

TMC Game Jam Kamiko VN Image

TMC Game Jam Kamiko VN Image

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:

Kamiko Sketch Gamejam VN Image v2

Kamiko Sketch Gamejam VN Image v2

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...

Vote For Us!

Please vote for the comic on TopWebComics

If you like my work, you can follow me here:

All my links are on LinkTree.

Where to Read This Mortal Coil

This website will always be the best way to read This Mortal Coil, because I can present it the way I want too, BUT, the comic is serialized on these sites as well. If you prefer one of those portals, please follow me there!

Lolita Fashion Coloring Book

I'm also the creator of the Lolita Fashion Coloring Book, which you can purchase on Amazon!

And as always have a great weekend!