Showing posts with label The Note Competition. Show all posts
Showing posts with label The Note Competition. Show all posts

Sunday, August 2, 2026

Linkship Competition Devlog 5: Core Battle Mechanics Continued

I came back to working on this game after about a month or so break. I continued to focus a lot on figuring out core battle mechanics and trying to really get that MVP there.

The first thing I did was update the resources and other HUD elements so they would line up properly with our placeholder assets. I also updated the enemy resources to associate with those enemy variables.

Then I started creating the functionality for the health bars so that they'd be tied to the variables and scale based on where the health was at. I also updated the special attack bar to work similarly to this. 

To make this all functional, I started working on the Knight teammate's abilities. I started with an attacking feature where it would deplete health. I also added a healing mechanic to heal them.

While I was adding these, I decided to update the characters (which are actually listed as Armors in the Database) to use the Armor Types. This way, I could check if they're healing, attacking, defending, etc. with just checking their type instead of having to cycle through every character we set as that.

And then after that, I worked more on the cooldown timers. I updated the visual to show their face icon filling up when a cooldown is active, so the player can tell how close they are to completing them. Then, an animation plays on the character to show that they're ready.

Then I took a little break from game dev to draw some rough animations. I decided I wanted to do run cycles instead of walk cycles for the characters to look more natural with the actual speed that they're moving at. So I started with Ralphie. Just doing roughs for right now.

Then I got the animation working in RPG Maker after using Galv's plugins. It took me awhile to figure out how to get it working, but I was able to adjust the animation speed and also show different animations for idle and walking. It allows me to use 4 frames instead of 3 also, which makes it overall more smooth than the typical RPG Maker limitations.

After our full work day, I decided to update some mechanics we talked about. I started with changing the Knight's ability to be a regular cooldown and then the healing and attacking to be button mashing instead.

Then I changed the orange resources to automatically fill up your special meter when picked up instead of acting like a regular resource.

Then I fixed our current issue of resources being stuck on the page with self switch B even after you turn them in to the Inventor. I wrote some code to find the last event on the map, and work within a range to reset those and turn self switch B off.

And I bought Kadaj's Parallel Lives plugin since he added controller support. It had some conflicts with some of our existing plugins and I couldn't quite get it working correctly, but I was messaging with him to try and see if it could get fixed in the future at least so we might actually end up using it. He made some updates and we're still working to see if we can get the rest of the plugin conflicts figured out.

Then I started working on the hacking mini-game functionality and loop. First, the player destroys the room door when they have their weapon. Then, it turns off the roof of the room to reveal what's inside of the room.

And from there, the player can interact with a control panel. If they complete the mini-game, they successfully destroy it. I haven't actually implemented the mini-games, but it does work for what would happen if you did complete the mini-game, as the HUD updates with it.

I added all of the door and control panel events with some placeholder art so I could properly test out all of the mechanics.

I also added a cooldown timer that refreshes where the enemy will actively destroy the player's control panels as well. This is on a timer and it randomly selects one of the rooms to destroy if it hasn't yet.

With most of the core win and lose mechanics set up, I decided to actually implement the win and lose conditions to show that. So I created an event that checks for all of the win and lose conditions, and triggers the end of the battle when that happens.

I did a few performance optimizations since I noticed some lag. So I added a loading screen and set it to fade out when it goes there and back in once everything has finished loading. I'm hoping this will help a bit.

Add that's the update for this time! I spent a few days on all of the updates in this post and our battles are getting closer to including all of the core mechanics needed. Only a few parts left in the battle for the MVP to be fully there, then we can work on polishing things up and testing the fun. I'm looking forward to having everything in place so we can also figure out some of the timing on the cooldowns and seeing how it all works together.

Monday, June 22, 2026

Linkship Competition Devlog 4: Battle Mechanics Begin

So after another break between working on the project, formerly known as The Note Competition/The WING Competition, I got back into it! And we're currently calling it the Linkship Competition. Still another name we're not sure if it's the final, but it's closer!

To start off, I set up the Inky file for the dialogue and then threw together a quick layout for the text box so there would be something in there. This was a quick task I could do to ease back into the project.

We spent our first full development day together on this project, which meant really digging into the mechanics and how this game plays. We started with a lot of brainstorming in our Google Docs and just re-reading everything.

Then we started to figure out the different roles of the characters, using the LINK acronym (Leader, Inventor, Navigator, and Knight). So we made a Google Sheet to figure out the abilities and whether their role would be passive, attacking, etc. This way we could balance and figure out what they all did.

After we had the battles pretty figured out, we went into the actual game project to start building it. I cleared out some of the old parts we weren't going to use and started by programming the mechanic where you hold a button down to make Cipo move forward. He moves backwards if you let go of it. I had this printing to the console first, then got him to move on the screen. We're still using very placeholder art for now as we figure out mechanics and get the MVP in there.

Then my brother was working on some basic HUD and background layouts just so we could get some of the spacing figured out. I added a button mashing mechanic in there for the healing, attacking, and defending in the meantime, since that was pretty similar to what I made with Cipo.

Then I made some cooldown mechanics. A lot of our character abilities involve having cooldown mechanics, so I wanted to work on that. I was going to use plugins, but they seemed more complicated than just using events myself, so I made some basic events for the cooldowns.

Then I implemented that into our Navigator's role. Part of this gameplay is that you infiltrate the enemy's linkship, and open doors, navigate a maze, and destroy parts of their ship. You can only destroy parts of the ship when you have a weapon equipped. And that weapon must be recharged after every use. So I used a lot of events, conditional branches, variables, and cooldowns to get that working overall.

After that, I started to rework some of our battle stats in the Database to reflect our new battle system. So I updated some Common Events and how characters are set up in the Database.

Then I also put some placeholders in for the teammate icons so I could code it to change, depending on who's in your party. I just used existing art I had of the characters for this. I also added the resource spawning into the battle map.

I cleaned up a lot of our Common Events after we had a more clear plan on the battle mechanics. I had some various stats that weren't really being used anymore, so I removed those and streamlined them. I also updated our Actors to the current list of characters we have.

So overall, we really decided we want to start with the basic mechanics and making it fun and functional with basic grayboxing and rough sprites until we do any of the final art. So we revamped our schedule a bit to really focus on these core aspects before diving into some of the art tests we were going to originally start with. But overall, we've made some pretty good progress to get some of the basics working. Next, we're going to work on more of the mechanics in the battles and figure out if we need to adjust anything before getting deep into it.

Friday, May 1, 2026

WING Competition Early Devlog 3: Logo Design & Steam Setup

I took a bit of a break from brainstorming for this project to work on a few other projects, including a couple of months on clean-up for our GGJ26 project, a personality quiz game, and some travel.

Once we wrapped up those projects and took a break, I slowly transitioned back into working on The Note Competition remake... which we're still figuring out a name for. Right now the code name is "WING Competition", but we may need to workshop it a bit more. I was still just working on this on and off while things have been busy the past few months, so this post will have a variety of small things working up to the bigger project.

To start back in, I was thinking about some of the expenses and marketing side of things. I was thinking about us making some social media posts, so I started making some accounts and things to prepare. With that, we decided we might want to redo our logo for The Gek Games. Right now it looks a little too similar to The Nays because we're using that same drawing of The Gek. So to make it a little different, I sketched a few thumbnail ideas for logo concepts.

I took some of those sketchbook drawings into Photoshop and started to turn them into digital versions. These were really rough, but I wanted to figure out the overall layout/feel before I got too far. Some of the designs I liked more originally ended up looking a little busy when I turned them to digital.

Then I took the bottom-right one and cleaned it up a bit and then tried out a few fonts. I was leaning towards the bottom-left but still wasn't sure if it's too busy.

I analyzed other game studio logos and decided to try one that's a bit more simplified with less going on so it could be a bit cleaner and easier to read. So this is what I ended up with for now!

I also started going through the process of making our Steam account! Since it requires many days to verify and have everything go through, I wanted to get that all set up early on so we could start testing the Steamworks SDK while we're developing the game. So I got our account all set up and verified so we officially have access to Steamworks.

Then, because of some of the things I learned from our GGJ26 project, I made a couple of spreadsheets to just organize our information like characters in the database and pictures used. It was honestly pretty refreshing to look back at this project after our intensive GGJ project this year because I set everything up not on a time crunch, so the project files and events were a lot more organized and well-documented. It's also a lot less complicated so far.

I also decided to dive into Steam integration more with some RPG Maker plugins. It was a lot of research, but I eventually found out I had to downgrade my NW.js to version 49.1. I found a few plugins that would help with adding Greenworks, but it wasn't until I found Undermax's Steam Link plugin that I was actually able to figure it all out. Their project file was set up with everything needed so I didn't have to go hunt down a lot of external files. And finally, I got something working where I could print the user's name! I still need to try achievements, DLC, and a few other things, but it was a great start to making sure we could get it all working.

Then we spent a whole night doing a brainstorming session! I'd say this was the start of the "official" development for this game. We really honed in on deciding the new theme and idea for the gameplay and overarching story. We bounced ideas around earlier of transitioning it to be about Tag World instead of PS World, but then we thought... what if it was multiple Worlds? So we decided you'd be riding a linkship around Worlds and be competing in some kind of competition across Worlds instead of it all being in Tag World. This could still keep the competition you're competing in as "WING" being the acronym and still make sense. And it allows us to include a lot more unique locations without being tied to Tag World specifically. It could be a few other acronyms like LINK or CIPO also, so we're not sure which one to go with yet.

I spent some time after our brainstorming session organizing all of our notes into a more official Game Design Document. We've been kind of just having a stream of consciousness notes in our document while talking, so I wanted to really hone in and organize our thoughts a bit better so we could have a more clear direction. So I made a new tab for the GDD and started to organize those notes and drop screenshots and images in whenever we referenced something so it'd be easier for us to keep track of and fully flesh out these ideas more.

Since we made an asset list, I started drawing the character sprite for the second playable character, Urom. We compiled a list of inspirations, so I used those as a guide for coming up with a few variations to try things out. I ended up kind of liking the middle one the most since it seems to have the most personality and shapes that fit.

Then I did very quick sketches of all of the characters we had planned. I was mainly trying to get sizes down in relation to each other and based on the middle Urom sprite above so I could try and get those figured out roughly.

I also saved these out as charsets so I could import them directly into the game and get some of those tests there for getting things set up.

Then I started to sketch some of the menu layouts while figuring out what the map layouts could look like. I'm still not sure how the battles are going to look, so we'll have to do a lot of experimenting there.

From there, I wanted to figure out the hub world and some of the basic ideas like challenging the enemy or the VS screen.

I also briefly revisited my debug log plugin because I noticed a couple of bugs with it affecting how you can close the game. So I updated it to allow you to close the game when you're on the title screen or when it's crashing. I also added a new crash report so it'll save a log if the game crashes and print the console error to the log. And it has more information included like the last called event ID and event command and the names of the variables and switches.

I also updated it to add functionality to connect with Google Scripts. This allows us to collect anonymous generic game data such as how long the game was played, what their party was, and if there were any crash errors. And I added a plugin command to call it anywhere in case I ever wanted to get a log at a certain point in the game.

Once I got back from a few trips and busy times, I decided to figure out a rough schedule for the next couple of years. That way, I could have weekly goals that I'm working towards to make sure I know where we're headed on the project. I added some milestone goals for us and deadlines. It's already started to shift quite a bit since I made this and I'm sure it'll continue to as we start working on the mechanics more, but I wanted to get something in there as a starting point so I could better scope and figure out where to start.

And that's where we're at currently! We're still very much in the rough planning stages for this project. Our personal lives have been really busy with work and travel, so that's been delaying progress a bit from our original milestones. But we're not in a huge rush to release this, so if there end up being delays that bump things a bit, I'm not too worried about it.

Our new goal is to officially start full development on this by June, since that's when our life happenings will likely settle down a little bit. At that point, I'm planning to really dedicate a lot more time to it. Until then, I might have a few side project CUPdates in the weeks to come if I'm not working on this quite yet, so stay tuned!

Thursday, November 20, 2025

Debug Log File Plugin for RPG Maker MZ

I took a break from working on the menus in The Note Competition remake to make my own plugin for logging data. This was a bit of a sidetrack, so while it was in that project file, it's not officially core to the development, but something I thought would be useful to implement! This is a pretty text-heavy post, so be ready to see some code and not a lot of visuals.

I wanted to create a plugin that could be useful for playtesting and when players demo the game down the line. Information like play time, characters they chose, etc. I'll have more data like variable values likely in here too, but trying to print some basic data. So I started by creating a basic script like I did in #No_Hacks where it prints information to a log txt file. This was just to get the numbering set up and basic text in a text file.

Then I created a while loop where I check if a log number exists, then I iterate up by 1. This way, it could make a new log file for each time it fires.

Then I had to dive deeper into how to detect if the window is closed. I found this forum post where Caethyril details the code on how to create a custom handler to override the default close function. I started with their code just to get it functioning with my current code, then simplified it later.

Then I customized it a bit and moved it into its own function to make it a bit more readable for myself and my specific code. I was also turning this into a common event so I could have it running at all times to check.

I wanted to decide what data is printed in the file, so I created a new script command to store what's in that multi-line variable string. I tested adding some variables and data from RPG Maker in there and eventually added some extras like playtime and current team (which in this game is stored in the first party member's equipment).

It was starting to be a lot of code in these tiny script commands, so I figured because I had recently been learning about how to make a plugin for a different project, that I would turn this into a plugin. Then I could manipulate the data a bit more. So I started by copying all of my code from the first script command into a plugin and reformatting it. From there, I got it all working as a plugin that references that variable. I was having some trouble with some of the scoping, but eventually was able to turn this into a couple of functions to make it easier to look at.

The next step was just converting what was in my script command to set up the variable with plugin commands to make it a little easier on myself for editing what prints, so I wouldn't have to come back into this common event. I decided to store all of the data just in the plugin and then make plugin parameter settings where you can turn these on or off individually. I was going to have users be able to input that data themselves, but it was getting a bit complicated and I honestly will probably just use this internally anyways, so I decided to keep it all within the plugin itself. So I spent some time adding help files and parameters that you could turn on or off.

I had a lot of fun towards the end adding a bunch of parameters and seeing what data might be most useful to print. With the ability to turn them on and off, I figured I could add some that might be useful in some of my projects but not in others. I'm sure I'll continue to add to this list as I think of more parameters to add, but for now I'm calling it done! So below is the log folder with one of the log files opened.

And then because I spent so much time on polishing this plugin up, I decided to officially publish it on itchio! You can download it yourself here and use it in your projects.

So with that, I can officially say that I've finished my first RPG Maker plugin! I did a lot of research and was working on some various other plugins for this project and another one before this, but those were a lot more of learning experiences with a lot of stitched together code. For this, I feel like I understand what everything's doing fully and was able to write it on my own without a lot of coding references, and mostly core RPG Maker and JavaScript code. So I'm happy that I was able to finally do it! I've been wanting to make a plugin for awhile, so this was finally my leap into making one. And I'm hoping it'll be helpful to use across multiple projects. Maybe someone else will even find it useful for their projects too!

I know this blog post was definitely more technical and text-heavy than I usually do without many visuals (and the visuals were just more text!). But thanks for reading through my programming journey on making this plugin!