Showing posts with label RPG Maker. Show all posts
Showing posts with label RPG Maker. Show all posts

Friday, April 3, 2026

CUPdate 97: Character Personality Quiz

So my friends and I were in a voice chat and we took some online personality quizzes for various fandoms for fun. Then we thought about the idea that it would be fun to make our own personality quizzes about our characters! And thus began this fun little mini project.

This is a personality quiz where you select different choices, and at the end, you can see which character you're most like and learn more about them. This was an iteration I made partway through development:

To take the quiz for yourself, check out my itch.io page here and let me know who you get: 

I started with a very bare bones project because it would really just need text to show up (and maybe some pictures) and would likely be brower-based. So this ended up being what my first text looked like where you can choose the answer to a question and it determines which character you are. I just wanted to start with one question:

So to start, I made a very basic show choices event that adds to specific character variables depending on what choices you make. I figured with numbers, I could also weigh some questions higher than others (e.g., if someone feels strongly about an answer, they could be worth 2 instead of 1). So I used a basic one that I figured the 6 Main M Nays would answer mostly differently for.

Then I had to figure out how to actually determine the top value out of a bunch of variables. I could nest a bunch of if statements that compare them, but I thought that wouldn't be very efficient. So I discovered the Math.max() function where I can essentially find the maximum value of the range, get its index, then find the ID based on that.

This also meant making an array of character names so that I could essentially call that ID and associate it with a character. I made it simple with associating the variable ID. I reserved the first 20 variables for anything I might need to figure this out, so just put those as empty strings in the array so they would line up.

And that was it for the basic functionality! At this point I had the system in place and it was just a matter of adding more characters/questions. I did this all in about an hour, so it was a fun little challenge.

And then... I decided I wanted to optimize. So why not make yet another plugin? I ended up spending the next 2 hours translating this into a plugin so it'd be easier for me to edit the character list instead of that array and list of variables. So I started by translating the list into string list that the developer could input in the Plugin Settings. I later added the instructions in the help area that you can see here too.

And from there, I made my very first Plugin Command! It essentially takes a string that they input and searches if it exists in that string list. If it does, then it adds (or subtracts) a set number of points, based on what the user puts in there. I have it set to add 1 by default, but they can change that.

So once I got the code working, I was able to actually see it in RPG Maker, which was exciting. 

Then I translated the last script block into a single line Plugin Command for the user. It stores the character's name in a variable that they can set in the Plugin Settings. And after some testing and optimizing, I updated my event to use these Plugin Commands instead and the results were the same in-game, but so much easier for the user to customize!

The next day, I added a reset function so you can essentially retake the quiz and it would reset your points each time.

I decided to rework how the parameters work and updated the character to be a struct instead of a single parameter so that they could have multiple values associated with them like name and description. I could add to this if I found anything else useful too.

Then I started to design the results page for my own project. I used a few other plugins to add additional windows, clickable pictures, and the character's image that appears based on the variable.

From there, Jinny and I started collaborating and coming up with questions and answers for the quiz. She was mostly working on writing the questions and I would help her brainstorm while setting up our sheets to track our data for inputting into RPG Maker. I filled out responses to the first question with about 30 of my characters to try and figure out what formatting would work best for us.

While working on the questions, we ended up having some questions a bit longer than others. So I made the buttons wider than they had been previously to help accommodate for that.

I also went on a little side track and thought it would be cool to track responses to see which characters are most popular. So I found a way to essentially send data from RPG Maker to Google Sheets! So I added a naming screen so they could write a name and then it would record which character they got. This opened so many doors for me in future projects. I'll have to add some disclaimers about allowing users to opt out of data sharing if they'd like, but I can already envision how much generic data I can gather to look through for analyzing my future projects and how players interact with the game!

 

Then I used the CGMZ_Screenshots plugin to create a share results button so the player can take a screenshot and share on social media if they wish. It saves to their screenshots folder or prompts them if it's a browser version. I also edited the plugin to allow escape characters in the filename so I could use variables to print their player name and the character's name.

We iterated on and wrote all of the questions, then updated our points system as well. We decided we could give points to multiple questions for the same character to make it varied a bit if they were leaning towards more than one option. We also updated the order of the questions a bit so they'd flow into each other better.

Then I went through and answered every question for all of my characters! I tried to stick with a point system of 2 if they really agreed, 1 if they slightly agreed, and then in rare cases if it was completely against what they'd say, I would do a negative point.

And from there, the questions were done! So I imported them into RPG Maker. I imported the questions, then the choices. And then I used my plugin to add all of the points per character. Adding the points was definitely the most time-consuming part.

I wrote all of the results text for the characters, then added a few more quality of life aspects like music, a credits scene, and showing the results at the bottom, compared to other players who have taken the quiz.

I did some final playtesting and decided to update my plugin a bit to help me track character variables in the console. This helped me understand if any characters were popping up more often than others. I also added a new feature where in a tie, it could randomize the results instead of always choosing the first character in the list.

Then after doing more playtesting and finalizing it, I uploaded the final version to itchio! I noticed that if you play it in the web, it will crop it if you don't enter full-screen mode though. So I added a note on the page to account for that.

And that was the end of this project for now! I still need to import all of Jinny's responses with her characters once she finishes those, but for now this project is complete. It turned into a bigger project than I anticipated, but it was a fun little break in between projects. Overall I spent about 40 hours on this project, which is about how long I spend on an Eventure Trailer. But I was able to cut back and not do every wishlist idea I had so I could practice scoping down and making a little finished project.

If you end up taking the personality quiz, I would love to see your results! Click the share button and share your results in the comments below. 

Sunday, December 14, 2025

RPG Maker Plugin Development

I've always wanted to learn how to make my own plugin in RPG Maker, so I decided to finally take the leap and figure out how it all works! This was a side track from a little creature collection game that I was experimenting with for a couple of days.

So to start, I read through the official RPG Maker plugin guide (using Google Translate since it's in Japanese) and learned some of the basics. While I didn't learn how to actually write my own plugin with reading it all the way through, I did take a lot of notes and now have a better understanding of how some of the structure works. It also helped me try and wrap my head around objects and classes, since those are always programming concepts that feel a bit abstract and I haven't fully used in my own projects (outside of the built-in objects from the RPG Maker Database).

I started by just making basic plugin parameters and making it all show up in RPG Maker, even if it wasn't really doing anything yet. Generally, I was just understanding parameters, their types, and basic structure.

Then I started to dive in and just start looking things up as I made my own plugin. I wanted to make a party manager plugin that deals with Windows, because those aren't easily editable through events or scripts. So I started with this forum post to use as a reference point for learning how to make a basic window where I could select options. It was a basic list with functions and handlers.

I was learning about setting window positions and then also figured out how to make fields editable and connected to the Plugin Manager in RPG Maker. So I was able to reference parameters that I set within the code itself. This included loading scenes, specifying images, etc.

From there, I learned about referencing specific RPG Maker events and objects from the database. Because I wanted this to be a party member manager, I had to get the party member data. This led me to working a bit with scoping because I had to make a function with the party member data that I could reference in all of my windows of the scene. So I stored it in an array.

Then I started to work on the window itself. I started with a command list that listed all of the party members by name from the database. Then I played around with some of the box sizes so I could fit face graphics in there. This led down a path of learning about how to show graphics in general. I was having some issues getting them to show up, so I preload them at the start of the game. Then, I also had to figure out how to use the built-in itemHeight(), itemWidth(), and maxCols() functions to change the size of those boxes to how I wanted them to display.

Then I decided to start working on what happens when you hover over a character. I wanted some kind of stats screen on the side so you can view their stats. So I made another window, but this time I called the window functions without the handlers to essentially load the data of the current actor you're selecting. Then I added stats like their name, an image, attack, etc.

The next day, I spent a few hours figuring out how to convert RPG Maker variables (and arrays) to be properly used in a plugin. It involved preloading the data after the scene is loaded, but was a lot more complicated than I was expecting. Then from there, I made the next window: the character window below. The main reason I needed an array is because I need to store all of the characters somewhere that's not the party members because it can exceed the number in the menu. So I wanted somewhere to store those actor IDs. It took me awhile to get that extra window showing up simultaneously, but I eventually got the faces to show up in a separate window. They had to be in a separate window because the size of those differed from the party so it also took some time to figure out getting the player to be able to move from the top window to the bottom one with the arrows.

I'm still working on this plugin and plan to continue adding more functionality so I can use it in my games. This was a fun challenge to start my pathway down creating my own RPG Maker plugin! I'm happy with what I have so far. Though this one isn't finished, I did manage to complete my own full plugin after this that you can read more about here. I'll come back to this plugin in the future, but it's a bit more complicated and has more parts to it, so it's taken more than a day like the other one did. I'm learning a lot and having fun with it!

Sunday, December 7, 2025

CUPdate 92: Creature Collector Game

So lately I've been playing a lot of monster collection games like Digimon Story Time Stranger and Pokemon Z-A. I've always wanted to make my own monster collector type of game, but just never got around to doing it. So I was talking with some friends about ideas for our own and it inspired me to actually mock something up in RPG Maker. So that's where this little project started!

We started with some really rough Google Docs/Sheets to come up with brainstormed ideas. But then I hopped into RPG Maker to test out some ideas. I created a system where you can add creatures as party members and name them. I started with just 2 options to add to your party and used basic events.

Then I started to optimize this and dive into the code. I created a variable that stores the number of creatures you've caught and assigned that for an actor's ID. If you have more than 4, then it would essentially send it off to a box and not be on your active party. Then, once you choose a creature (in the game it would be catching it somewhere), then it changes the class of that actor ID to the name of the creature you caught. I'm essentially storing your party in the Actors and the creatures' default stats in the Classes.

Then I made some code that sets all of the information according to the class the creature takes on. It sets the name of the character to be that class (or creature's name), then sets their face and charset images to match that name, and allows the player to type a name for that creature. Then it shows you how many creatures you've caught.

So here's a little demo of how this all works, with a few different character options:

And from here, I took a little side journey into making my own RPG Maker plugin. Because that ended up getting pretty involved, I'll dive into more details about that in my next blog post. This ended up being a short one, but was a fun little side project I worked on for a couple of days!

Friday, July 22, 2022

CUPdate 28: Stage 1 of the IGMC Project Wrapping Up

So for this CUPdate, I mostly worked on my game more for the IGMC2022! I've been making a lot of progress on the first stage of the game and tried to get most of that finalized by this CUPdate so I could present as much of it as possible before it's finished (which is the goal for the next CUPdate!).

I started out this CUPdate by finishing some character art. I made digital drawings of all of the character portraits. I started with at least one drawing of each of them, then built off of that to make all of the expressions that I needed.

Then I started to work on the dialogue system. I set some things up in RPG Maker and set up the ink dialogue system. Then I wrote the whole first stage of the game (besides one character path). I made a bunch of branching story paths and wrote it all in Ink! This was my first time writing something this in-depth directly in Ink, so it was fun to fully utilize this powerful plugin. I really love it for longer story-focused games, so this was the perfect time for me to use it and test its full potential. I ended up writing a lot throughout the week (~3000 lines).

The transition from Ink to RPG Maker went fairly smoothly and it was honestly maybe my favorite part. It just felt so good seeing everything come together and working with more simple switches and variables to progress the story. I've been working so much on setting everything up with more complex code that I forgot what it was like to do the more simple parts! Those parts wouldn't have been possible without all of the setup I've been doing though, so it paid off!

Then I started to figure out the UI for all of the stages of the game. I used my initial concepts and added color to them so I could start to figure out what I wanted to do with them.

And then I finalized the UI and imported it into the game. Here's my first official final screenshot:

While working on the UI, I made the menu for the game. I wanted to keep it simple and really only include information that would be needed. Right now it's entirely mouse-based, but one of my wishlist tasks is to see if I can make controller/keyboard support too. Not sure if I'll get there, but maybe!

Then I worked on making some sound effects to replace some of the default ones. I plan to come back and make more, but there's at least something there for the minimums now!

And then I made the transition scenes to the second stage of the game. The writing for that is done and I have basic events working in RPG Maker, I just need to make the art so it all comes together. I'm having some trouble with plugins not working well together, so I'm trying to figure out what I want to do with the text boxes for the second stage of the game, since my original plan isn't working out as intended. I might end up using more manual coding of window positions than a plugin since I couldn't get them to work well together, or might just stick with something a little more simplified.

So for my next CUPdate post, I hope to have this game finished and playable!

Thursday, September 12, 2019

RPG Maker Games

I've been working on RPG Maker games during my weekends for fun recently. These have been fun weekend projects overall!


I figured out the functionality on the programming side and have been working on the interface/art for one that is supposed to be a psychiatrist simulator.

I've been making progress on my custom Turn-Based battle system for one of my games! The art is still super rough, but I've been working on getting the gameplay mechanics functioning in RPG Maker.

Monday, March 27, 2017

Terra's Dreams Remastered

Over the weekend, I made a quick opening to a game and made some resources from scratch. Sometimes it's fun to take a break from games and projects I'm currently working on and just make something new for fun. It's not anything serious, more of just a little activity I did for fun!

Also this game was based on a really old RPG Maker 2003 game that I made over 10 years ago, so it was fun to re-invent the basic ideas using my updated art and an updated game engine.


Some screencaps!

And then these were some of the new faces I drew for this game.

Monday, January 23, 2017

Global Game Jam!

After 30 to 40 hours of hard work and little to no sleep, I finished my second Global Game Jam! This time me and Steve created a game in RPG Maker MV, but we used entirely our own art. No pre-made stuff this time! We spent a lot of time on the art, and were also able to make a few puzzles. This game's definitely a lot more polished than last year's. And it was a lot of fun to make!


Here's the final menu screen that I created for our game! It was entirely made from pictures, and no pre-made menu.

This was the final text box that I created.

Here was the title screen that I made. 

Steve painted this background for our jungle maze! I created the character sprite and menu button. 

 Another background by Steve. I created the UI elements. I was also the one who programmed this part to function in RPG Maker.

And this is another shot of the same map as above. I created the sprites of both Mr Dude and Mar.

And this is another shot of the same map as above. I created the sprites of both Mr Dude and Marr. I also made the UI and Marr's portrait drawing.

I drew a bunch of mushrooms for our cave puzzle! 

And then this was our splash screen. I created the text based on the font we used in our game, Bubblegum Sans. And that was a picture of The Gek that I drew awhile back that I decided to incorporate!