Thursday, October 9, 2025

The Note Competition Remake Devlog 1: RPG Maker MZ Updates & Optimization

So after attending the GDEX (Game Developer Expo) in Columbus, my brother and I were very inspired to make games. After seeing all of the indie developers with tables, showcasing their games, we also thought it'd be cool to do that some day with one of our own games. We haven't released any of our personal projects commercially, and we've just had them all on itchio for free. But we were thinking it would be fun to use one of our existing games as a starting point, and then expand upon it and publish it to Steam.

From there, we were playing our game jam projects and I was taking notes on areas each of them could expand or improve. Many of them were contained within the project because we intended them to be short, so expanding some of them might've felt unnecessary. We thought about World Bub mainly because it's the most fun to play and our best one, but it's also really the one that's most complete.

So then we decided on the one that was the least complete and the most prototype-like: The Note Competition.

This was our first time making a game that was very different from the several mini-games formula that our previous ones had been. You can check out my portfolio page for it here and read the devlog, watch the dev vlog, and even play the original game for yourself there.

But basically, it had a lot of potential to be something bigger and was the start of our more ambitious game jam projects. So this seemed like a really great place to start.

This was also our last game jam project that we made in RPG Maker MV. So I started by converting the project to MZ, as we wanted to ensure we were using updated plugins that we were used to and just all of the overall improvements that MZ offers. It was pretty straightforward to copy the events over.

The main area that didn't fully copy over was the plugins. So I updated the title screen to use the new title screen plugins. The title screen was one of the aspects I liked most at the time because it was the first time I really did something different. So I was glad to get that working. We might change some aspects of it once the game is finished, but the functionality is there.

The rest of the plugins were for areas of the game that might change anyways, so I didn't want to spend too much time on updating those areas. I took a lot of notes on areas we could be more efficient with our code and overall process, so I imagine a lot of this will be reworked anyways. I played around a bit with zoom scripts because one of the areas I wanted to improve was on the art direction for this game. The sprites are currently pretty small, which makes them hard to see, so I thought maybe a zoom plugin could fix that. None of them really worked how I wanted, so I decided just doubling the sprite size is likely the way to go. I might redraw a lot of the sprites anyways, so I can just create the new ones at a larger resolution in the end anyways.

From there, I went on a sidetrack and figured out how to event my own local multiplayer system! I was looking for plugins and couldn't find any that did local multiplayer, just a couple for online. I found 1 but it was a paid plugin for commercial use, so it motivated me to figure it out on my own. At first I was using different common events for each keyboard press, but then I realized you could actually hard code keys in conditional statements with Caethyril's Keyboard Inputs plugin.

So I started with basic movements with the IJKL keys. Then I used a combination of conditional statements and JavaScript code to check if the event was facing a specific event and would start that event's code if it was. I had to do some precautions to activate a self switch and use a switch so they couldn't move during the conversation, and so it didn't activate twice.

So after that sidetrack, I did some brainstorming and came up with a new direction for this game. Instead of it being The Note Competition and about repairing the Party Place, I thought about the game USA Jr that they would compete in within Tag World. It's usually part of the Master Bird Tournament, so I thought it made sense that this could be around that game and with a Tag World theme instead. This could also add more mechanics like choosing party members and having different abilities. So I thought about how to rename it to make it make more sense. I thought about acronyms that would be fitting for Tag World, so like BIRD or WING. I decided it'll probably be WING and stand for Warrior, Investigator, Nay, Guard. These are the different positions they can have.

So from there, I decided to dive back into the original game and how it was laid out. I knew we would still be using some of the same functionality like spawning items in a region, so I fixed that mechanic using the VisuStella Events Move Core. It was very straightforward to get it all set up!

I also knew we would be using health bars again, so I updated that visual using our previous projects like World Bub as a guide. I even simplified the code a bit and then also added our specific features like showing a character picture depending on the state and changing the visual of the base.

The next big task was optimization. We hard coded a lot of areas to work for just this one battle. As you do with game jams and time constraints! So I wanted to work on really streamlining this so it'd be a lot easier for us to reuse the same map and just pull data from the enemies and your party so we could really just plug and play with it all set up. I used a combination of World Bub, Compass Nays, and Biggert City Battle Show as my inspiration on how I wanted to set up my events. I was actually pleasantly surprised with how organized I was in the Biggert City Battle Show code, so it was really easy to parse through and reuse.

While optimizing the code, I wanted to change the resources in the corner to use text instead of typing it on the image so it'd be a little easier to update and change later in the engine. I spent way too much time trying to figure out how to center the text, because the ExtraWindow plugin wasn't playing nicely with the VisuStella Message Core plugin. So eventually I just modified the ExtraWindow plugin to include a new switch that you can choose to center the text. This will be useful for future games, and maybe even within this one, so I was glad that I spent the time on it.

I optimized various other areas as well, such as which sprites show up on the map, images that are displayed, etc. I also spent some time making classes for the characters and pulling data like attack stats, HP, etc. so it'd be easier to control from 1 area.

I was slowly deconstructing our code from 5 years ago to really just modernize it with how I make projects today. There are still some areas I need to update, but a lot of those are really specific to the mechanics. So I didn't want to dive too deep there until we figure out if we're still using those mechanics for the new gameplay style. So I want to think through that a bit more before getting too deep into that. So far it's been fun to really update all of this.

I'm looking forward to making more updates to the game in terms of mechanics, story, look, and more!

Thursday, October 2, 2025

Nay 50 Project: Outlaw Bar Bowling

My brother and I spent another day on our Nay50 Unity project. This time we only made one mini-game, but it was a lot more involved than the previous ones were. It was "created by" Hannah and Elfno.

This one's called Outlaw Bar Bowling, where you have to bowl for bottles of different drinks, and whichever ones you hit, you get to take with you into a drink mixing menu. When you mix drinks, you get different types of power-up balls with different abilities. We were very ambitious with this one, so we didn't actually finish all of these plans that we were hoping to. But we made quite a bit in the ~12 hours that we worked on it.

I started with the Unity project on the drink mixing menu. I created a drink script that first checks for the name of the object and checks which drink number it is based on that, so it can show or hide the drink, depending on if you got it or not. I really wanted to focus on optimizing here so this could be reused for all 5 drinks.

From there, I made something happen if you clicked the specific drink. I learned a bit about the new Unity input system for mouse clicks with this. Because this involves mixing 2 drinks, I checked if less than 2 drinks were selected, then you could continue to select them and it would show text under it to indicate which drink number it was. Otherwise, it brings up text that instructs you to mix them.

I also realized I needed some kind of Game Manager to make sure it could communicate between scenes and different objects. So I started with a manager for the scene, but then I ended up splitting it into 2 files in the end. The first is one that controls what happens when you click the mix button and which drink is shown. I had to make 10 different combinations of drinks and show results based on that.

At this point, the art was pretty rough and just shapes, but I was laying everything out on a canvas and where it would go.

Then I ended up splitting up my GameManager, like I mentioned. I needed a simple one that just tracks what the status of all of the booleans are. That way, it could move between scenes and save that data. I also had to dive into learning about persistence of game objects between scenes.

So with that, the whole drink mixing mechanics worked mechanically! I mainly had the art left for this scene.

I also made a simple script for transferring between scenes so we could reuse it later. I made a new 3D scene and used simple buttons to give you two of the drinks, then switch to the next scene. So this was able to work and all set up for the bowling part to be started!

During this time, my brother was working on 3D modeling the bowling scene. This included the lane, the "pins" (bottles), and the ball. So I gave the project to him for starting on programming the bowling part.

And in that time, I started to work on the labels for the drinks that he made, in Photoshop. I stayed pretty simple and just wrote the names of the drinks, added some colors/effects, and used some art I already had of all of the characters they were centered around. I haven't done a lot of work with drawing materials for 3D models, so it was fun to try it out.

I ended up making a few extra elements like adding Hannah to the drink mixing screen and Elfno to the bowling screen. My brother was working on the throwing mechanic, and it turned out to be a lot more complicated than we thought. So I started to help out and we were troubleshooting together. The main issue ended up being the transition to the new Unity input system and how little resources were out there to help with it. We finally got it to be thrown in 1 direction and not at a crazy high speed, but it still has a lot of work to do.

So after that, I started to import the final art assets I had been working on. This included the labels for all of the bottles and a skybox for the background.

I also added Elfno to the canvas for the bowling scene. I was thinking we could use that area for adding points of some kind down the line also. I made it a bit off-centered so it would give us more space to add parts to the UI.

Then I took screenshots of all of the bottles and erased their backgrounds so they could be used in the drink mixing menu. I also added my drawing of Hannah and background. Through this scene, I learned a lot about scaling for canvases, which is still a bit confusing at times.

So with that, that's as far as we got in the day of working on it! We realized this was a much bigger project so that we should probably scope down, especially on the 3D projects, because they involve a lot more physics and mechanics in the coding side of things. So I decided to revisit it the next day and look into some fixes. I did a lot of research to essentially redo the whole throwing mechanic. I also added a lot of features like adding points, making bottles disappear when you hit them (and turn the booleans on), and remove the ball when it reaches the end.

Originally my button to the next scene only worked once as well. I ended up completely redoing how it was set up because it seems like the Unity events may not be as reliable as hard coding the button presses. So I updated how they worked and it overall fixed the issue I was having. I'm still not a fan of using strings instead of objects for it, but I couldn't really find a better solution without using external packages for it. So that's how it'll be for the time being.

So overall, I spent about 4 more hours on this project after our original day to just fix it up and do some polish. I really wanted to fully make use of that drink mixing scene that I made, so I was determined to get this all working and turned into an actual game. So definitely our most ambitious game for this project so far, but I'm happy with how it turned out! 

Monday, September 15, 2025

Nay 50 Project: Dump Typing & Harrugh Ball

My brother and I started a fun little project inspired by UFO 50, which we're placeholder calling "Nay 50". The idea is that we came up with a bunch of mini game ideas (up to 50) about The Nays. We're also making them as if the characters themselves made them, which is adding a lot more flavor and personality to the presentation and contents of each game.

Because we're coming up with a large variety of gameplay styles, we decided this project would be best in Unity. Starting out, we're only spending about 4-6 hours on each game so we can get through more of them and mainly have quick prototypes done for this project. The first day of this project, we worked on 2 games.

Dump Typing 

The first game we worked on is currently called "Dump Typing". This game is "created by" Pigger and Boney, two of the leaders of the group of orphans. In this game, there are prompts related to the orphans (names and phrases) that pop up, and you must type the word(s) correctly to move the character Chila forward, when racing against Boney.

With this project, I focused on the programming, while my brother focused on the art. I started earlier by making our Unity project with GitHub so we could have version control and easily share it. I haven't really worked on many personal projects in Unity, and it's been a bit since I made a project that used C# (since my previous project at work used Visual Scripting), so it started out by remembering where things were and refreshing my knowledge. I also coded in VS Code rather than Microsoft Visual Studio for the first time with Unity, and I can say that I definitely prefer it overall.

Even though the art in this one is 3D, we made a 2D scene and used 2D exported sprites. I started with the typing mechanic. I hadn't used player inputs by typing before in Unity, so I researched that a bit and used an input field. It looked a little different layout-wise when I was initially testing, compared to the screenshot below, but this is how the final UI layout looks now.

From there, I made a function that changes the text that you must type, depending on a variable. After you press Enter, it checks if you matched the text, switches to the next one.

I set up a timer and sound effects for if the text was correct. I was glad that changing the color and text itself was only 1 line of code each!

Then I set up the movement code. Because Boney moves automatically and Chila only moves when you type the correct prompt, I made separate movement scripts for each of them. This meant also setting up some code to make them stop moving if one of them has reached the end.

While I was writing all of this code, my brother was 3D modeling the characters and background. He exported them out as 2D spritesheets and implemented the animations in Unity. I replaced my placeholder shapes with his final art in Unity and restructured how the whole screen was set up based on that.

And with that, we wrapped up the Dump Typing game! It still has a few areas we'd like to update and fix up, but overall, we spent about 5 hours on the game. So I'm happy with how much we got done in that time. 

Harrugh Ball

The second game is currently called "Harrugh Ball". It's a little dodgeball game that takes place in the desert. This was "created by" Subeebia and Baw, and the idea is that it'll be the Little Kids against monkeys. We only got to making 2 of the players facing against each other for now though.

In this project, I focused on the art while he focused on the programming I started by sketching out a basic layout for the scene in Photoshop. Starting with a sketch to get down the placement and size of the characters. We weren't planning to have a camera that moves, so focusing on getting everything in the 1920x1080 space was how I scaled it out.

Then I started with the background so he could figure out the collisions and space for the mechanics while programming. I made a bunch of different layers so we could do some parallaxing with some of the elements in the foreground or background.

After handing those over, I moved on to drawing the characters. I wanted to have multiple poses like idle, walking, and throwing, but I didn't want to spend too much time drawing a lot of different poses for this little project. So I decided to draw each part on different layers and basically rig the movements to make it faster. I started with the player character, Subeebia.

Then I was going to animate the character in a software called Spriter Pro, but I hadn't used it before and wasn't really sure where to get started because their tutorials were fairly sparse.

I decided to just use something I was a bit more familiar with instead: Adobe Animate. I started with Subeebia's animations and basically imported each part as its own layer, and then motion tweened them to make subtle movements. With Unity, I could have a lot of layers without needing to worry about frames as much. So I started with the throw animation.

I tried out using scenes so I could reuse the same symbols for multiple different animations. It worked out really well. I just ended up having to re-export since it did export all of the scenes rather than one at a time like I was hoping. I also updated the export settings for including transparency, since that didn't work initially at first.

Then I repeated those steps for Baw and eventually had 3 animations done for each character. My brother imported the animations into the game as well.

While I was working on the art, he got player movement down and then also mechanics to pick up the dodge balls that appear in random positions and throwing them. So the basics are there! I was doing some extra art like for the dodge balls, finding music and sound effects, a font, and some other visuals while he was working on this.

So that was it for this Harrugh Ball game! This one was a bit bigger than the previous one, so it took closer to 6 hours for us to put together, but it was all done in 1 night. So I'm happy with where we ended up here too!

And that's it for these first 2 games that we made! I really enjoyed this project, so I'm looking forward to making more of these. We planned about 30-40 mini game ideas. I'm not sure how many we'll get through, and they definitely aren't as in-depth as what you'd see in UFO 50, but it's a fun side project that's been a lot of fun to work on.

Friday, August 15, 2025

CUPdate 84: Mr Marcus World Event

It had been awhile since we did a drawing activity, so my brother and I decided to bring back the Return to Mr Marcus World activity a couple of weeks ago day. This activity always involves a variety of art projects and it really gets us thinking creatively on a variety of mini-projects revolving around our characters.

The first one we did was draw over Steam screenshots that we had to include our characters in them and as close to the style of the game as we could. I drew Gair and Lonny in Afterlove EP, and then Piko, Lonny, and Urom in Goodbye Volcano High. We kept most of the background and just drew characters over it.

Then we drew the base of our characters, and swapped for the other person to draw a different character's clothes over top. The base characters I drew were Zandra and Lee, and my brother drew JrTr and Yaro's clothes over them.


He drew the base for JrTr and Yaro, and then I drew the clothes of Zandra and Lee over them. 

Then we did probably my favorite activity of the day, which was drawing game design levels on paper! We created a level that the characters would be in and it would be something that they'd enjoy based on their favorite games. Then we presented them and talked about them. First was Grenna's level, which was an RPG about Black Fortress, and based on our old RPG Maker 95 game, Cypriss the Elf.

Then Pubby's level was a 2D platformer with endless runner aspects (until reaching the boss). It was heavily inspired by Sonic levels, and based in Neo Obelisque City, which is where he hangs out with his friend Lonny.

So I had a lot of fun with this activity! We tried to think outside the box for more different activities than we usually do, since this is our 6th time doing this activity. It's always fun to do these creative little activities about our characters!