Sunday, February 25, 2024

The Nays Origins Devlog 7: Playtesting and Physical Assets

The game is officially done! I have a few more things I want to go back and polish up, but those are mostly wishlist and if they don’t get into the final version, it’s not a big deal. But took a couple of months off after some of this and then came back to finish up after I finished some other projects.

So I started out by finishing up playtesting. I was able to get through the game from start to finish with only some minor bugs throughout! I did some intensive debugging to iron out some of the parts that were having weird issues but weren’t technically game-breaking. So overall A LOT OF TESTING. Though I was taking notes and it was played throughout the day, I’d say it takes about 3 hours to complete the game from start to finish. So it ended up being a lot longer than I thought it would be! No wonder testing has been taking so long. This might be the longest game I’ve ever developed.

So I ended up fixing all of the bugs I ran into, including some of the music-related ones too. And everything is pretty much good to go. I would like to go back and add color if I have time, but we’ll see if I end up getting to that. I also was looking into the Super Game Boy borders for a bit. I’m not sure I’ll put a lot of time into fixing colors for the SGB, but making the border won’t take long. I started by doing some sketches for what it might be. I was leaning towards one of the more candle-like ones.

So I took a very short side trip to try and implement a Super GameBoy border because I thought it’d be cool. But then I discovered from some research that SGBs don’t play well with EZ Flash Jrs and my game is technically a GameBoy Color game to bypass some limitations, so it probably wouldn’t work on one anyway. I at least didn’t spend too much time on it, but was an interesting thought.

Then I did some sketches to figure out the cartridge and case artwork. I was also thinking about coming up with a more detailed logo and seeing how I can incorporate it into the existing title screen as well. One idea I came up with was that I’m going to add a QR code to the back that takes you to the itchio page instead of a bar code.

Then I looked at some instruction manuals. I was mostly inspired by Pokemon Red/Blue and Donkey Kong Country 2, since those were ones I remember fondly looking through a lot when I was a kid. I wanted to create fun themed ones like those ones were. So I started to sketch out some ideas and wrote up a Google Doc with some of the text/rough ideas for what all I want in there.

So then I took all of the sketches I drew on paper and brought them into Photoshop. I was mostly working on the whole instruction manual. I resized them and then used this Figma template to lay out all of my pages.

Unfortunately it ended up being not the actual print size so I had to remake them and recreate the roughs in Photoshop. But it at least helped me with lining things up and I used a few of those.

I spent a lot of time doing printing tests. When I was first starting, I was going downstairs to the printer pretty much every day to try something new. I haven’t printed a book on my own before, so this is pretty new. I’ve only printed on Blurb where they did the actual printing for me, so this has been a learning experience.

I started with figuring out the pages and which ones I needed to print together. There was a PDF booklet setting but it didn’t print at the size I wanted, so I ended up manually pairing the ones I needed together. I cut out little pieces of paper and wrote numbers on them to get a feel for how many pages I needed and which ones paired together. This was actually really helpful as a reference!

I did some different size tests and eventually got a ruler to really measure everything precisely. I ended up with 4x4 for the instruction manual. So I ripped out papers to fit the sizes so I could test and make sure before completely resizing everything.

So as mentioned earlier, I got these exact sizes down in Photoshop with my templates. Then I proceeded to work on the case art. Luckily the instruction manual cover, box art cover, and cartridge sticker all use the same art, so I just had to design it for the largest one, the case, and then that art was good to go for all of them.

I designed the entire box art to include the GB side (and I reprinted it to make sure it was sized correctly and the logo was facing the correct direction). I also made the back cover with the QR code like I mentioned earlier.

I was going to print a test print before the final, but unfortunately the printer didn’t have any color ink. So I just had to use the black and white for my first test. I got a final black and white test print and learned that I probably made the colors a bit too dark for the print, so I learned that at least. I also made sure it fit into the box exactly as I wanted, so that was great to see!

Then once the color printer had ink, I was able to print a final version of the box art. I still want to reprint it a little bigger so it can fit better, but it was a good first color print!

And then I proceeded to work on the final art for the instruction manual! I was heavily inspired by the early Pokemon watercolor concepts, so I tried to emulate that style and used some of the same color palettes.

After I finished the art, I did a final test print of everything and then had a few things I wanted to change, so I made some changes and need to reprint. One of those being that I printed them on the wrong sides so when I compiled it, it didn’t line up with the pages in order. But it was good to test printing all the way through with the front and backs. I also needed to fix some of the pages that didn’t quite line up.

And then I got some feedback from my friend Jinny on making the logo bigger and so it stands out more. So that was really helpful!

That’s it for this time! Like I said, I took a quick break and then came back to this project, so it’ll all be wrapped up next time. Though when this is posted it’ll be next time, back in CUPdate time, I paused a couple of months. But the next devlog will be finalizing and wrapping up the game! I’m just going to ask my friend Jinny to playtest it for me, then I’ll be good to try the final version on the hardware and in the browser. I’m hoping to have all of the final prints of the physical aspects at that point as well.

Sunday, February 18, 2024

The Nays Origins Devlog 6: Playtesting, Collisions, and Menus

So I ended up combining two posts into one for this devlog because I’ve been out of town and pretty busy during the past few presentations. I’m really winding down and getting to the end of my development here, so it’s mostly stress testing and tying up loose ends to get this game ready for completion!

I started by mostly just playtesting and making sure the art and event positions were all working properly with the game. I ran into a few bugs and have been documenting them as I go, and fixing anything game-breaking as I test. I still need to figure out some of the sprite limitations that I’m running into with some graphical glitches, but that’ll be one of the big things I tackle next. I at least figured out some of the weirdness of them changing into other sprites for the most part.

Then I added all of the collisions to the scenes! I mostly just focused on getting collisions set up for the outer areas of the scenes so the player can’t walk anywhere (as all of the objects already had them). It took a while to test those to make sure everything is still beatable since I kept running into small areas where I would make collisions too close to each other, and then I would go through and fix other various small bugs, so it took me a few days to actually fully test from start to finish on it.

After more research on my sprite limitations, I couldn’t really find any ways to be more efficient than I already was, so I decided to just remove some characters from some of the scenes to see if I could cut down that way. When there were characters that I would originally change the player sprite into, I ended up just making use of the Avatars feature for that instead. This way, it could still show their sprite on screen while they’re talking without dipping into my sprite/tile numbers. I also added a new feature to show these every time you use a character’s ability, but only for the first time per scene.

After that, I did more playtesting and debugging. I’ve been continuing to document bugs as I find them, and fix them if they’re quick to fix right away. As I play through it, I have a Notion database that I’m jotting down notes in to make sure I don’t miss anything.

I would periodically take a break from playtesting and debugging to make various sprites. So I made some of the Biggert City character sprites and a few effects animation between testing.

Then I started to concept the title screen. I started by thumbnailing some ideas in my sketchbook. I ended up liking some of the more simplistic ones that didn’t have as many characters or details.

I decided to go with one of the first concepts I made. I had trouble getting it down to 192 tiles, but I did it with one tile to spare! This one was done entirely in Photoshop and not Tiled, so that’s why I ended up running up to the limits.

And then I made the logo screen, which had no limitations because it’s set to a logo screen. And good thing, because I was at 246 tiles, so it would have been over. For this one, I decided to mostly Game Boy-ify The Nays logo.

Then I worked on the menus. I finalized the look of the Origins Menu (First Generation Nays) first, and also got some functionality in there. I figured out an efficient way to show the current characters you have unlocked on this screen without needing to use multiple scenes! And I made use of animations to show which one you have selected.

And from there, I used that as a starting point for the R Nays and Worlds menus and finished those as well.

Then I decided to work on getting some of my music into the game. I discovered this cool itchio page that lets you convert MIDIs to MODs without needing to worry about importing them into OpenMPT. It made some of my songs sound a little weird though so I didn’t really end up using it for the final versions. So I searched the GB Studio Discord server to see if anyone had asked any questions already about MOD files sounding kinda off. I found a post where someone mentioned that if you have chords/multiple notes playing at the same time on different channels, that can be what causes that. So I went through my existing music files and updated them to remove extra notes on different channels and it seemed to fix my issue mostly! So I went ahead and converted my other MIDIs and imported them all into the game. I also found some sound effects and added those to the game as well.

Then I continued to playtest and debug my game, finding bugs as I went and fixing them up. I got myself an EZ Flash Omega Definitive Edition, and I have to say that it’s not as good as the EZ Flash Junior. The SD card slot is really finicky and it took me about 20 minutes of taking it out and trying to put it back in before I got it to work properly. I decided I wanted to have a cartridge for myself after I gift the EZ Flash Junior, so it’s a good thing I’m keeping the finicky one for myself and not giving that as a gift.

I ended up making some updates to some of the art and scenes that I had on my list. And I did some testing on my GBA. It was good to actually test the game on the console since I had mostly been doing testing in the engine for the past few weeks. I also was able to make use of saving so I could playtest more casually between doing other things. I kept some notes for myself in a Discord thread while I was away from my computer for this.

Then I finally started to add all of the dialogue! It’s taking a while, but I’m excited to have the story finally connect more than just the one-liners I had been testing the game with. I was running into some limits with my objects being too long because of it though, so I found a way to cheat it by making multiple scripts for strings of dialogue so those could be imported into the event that you interact with, to trick it into thinking the objects are smaller. I hope it doesn’t cause any issues down the line, because this is much easier than splitting my scenes into multiple scenes in the middle of a part.

I finally finished adding all of the dialogue! So overall I got a lot of work done on my game! I’m hoping to really just polish it up and finish it for next time. All that’s left is to do some final playtesting and wishlist stuff. Next time the game will be done, and then I’ll just be working on the physical aspects! I’m excited to see this all come together.

Sunday, February 11, 2024

The Nays Origins Devlog 5: Puzzles and Background Art

So I made a lot of visual progress this time with backgrounds and officially finished all of them! And with the puzzles all I have left to do is test them, since I finished importing them (and I need to figure out how to cut down on the sprite limits in Meushi’s). This month has been proving to be busy in my personal life so that means productivity is a little slower, but hopefully, it won’t push me back too far. I did get one extra week before presenting this post, so I was able to mostly catch up to where I wanted to be by this update at least.

To start off, I finished adding ability events to all of the puzzle scenes to plan out the puzzles. Some of the puzzle layouts changed due to limits. I got pretty close to limits on others as well, and am still figuring out a couple of them that got pushed over.

I also put in some “placeholder” art for the abilities, which will probably just end up being the final for those. The only one I haven’t replaced was Gashil’s boulder because there was one in there that was fitting already. The rest have been updated though.
While making the puzzles, I made a few adjustments to the rough backgrounds as well. This included resizing a few and reframing them a bit. I’ve still been trying to figure out what all goes into what the sprite limits are on a scene, since it tends to be fairly inconsistent. But sometimes cropping the backgrounds in would allow for a larger Sprite limit, so I did that in a few cases where I didn’t need the extra walking areas.

So then I started to draw the final backgrounds! They took way longer than I was expecting, but I made a lot of progress. I started with some of the maps that were over the limits with my rough background sketches so I could remove any graphical glitches from the game.

The process I went through was that I drew the tiles in Photoshop, then I took those into a software called Tiled and placed the tiles. That way I didn’t have to line everything up manually in Photoshop while working on repeating tiles. I started with Biggert City, which was one of the biggest of the maps and more complicated, so it was good to start there while learning the process.

Then I continued to create the maps and as I imported them back into GB Studio, it was a huge relief to see the tile count going down under my limits! The Biggert City one (above) was actually too big, so I cut down on some tiles later, but ones like the Biggert Forest (below) were more simple with more repeating tiles, so they were faster to make and also way under the limit after using tiles more thoughtfully.

I ended up making all of the forests in one day since I was able to reuse a lot of sprites for those. They became pretty quick to make once I had the process down and a larger palette of tilesets to use.

Then I went through and continued to make most of the tiles, including inside of caves, Tag World, New Lady World, and just all of the outside of mind ones (other than Frosty Falls and Timeless Abyss).

I saved most of the backgrounds that are inside of minds for last because if I ended up needing to keep any as abstract and less detailed, those ones would make most sense.

And then finally I finished all 87 of the backgrounds!! I got the process down and a bunch of tiles drawn that can be reused. I did switch back and forth and make new ones as I built them in Tiled though.

For next time, my goal is to get all of the collisions in there as well as test all of the puzzles (with the new art and coordinates set up). If I have time to add the talking animations in there and start on the logo/title art, that would be ideal. I will be out of town for most of that time, so progress will get much slower and I can’t make too many promises.

My hope was to have the entire game finished by the end of next month, but we’ll see how it goes! I do have another project I need to work on in the months to come that takes priority, so luckily there are a couple of months after that before my latest due date on this one.

Sunday, February 4, 2024

The Nays Origins Devlog 4: MVP, Ability Puzzles, and Character Art

For this update, I mostly worked on getting the MVP in there, so all characters are moving in scenes that they should be. That part is done, though I’m still working on the MVP of the ability puzzles. And then other than that, I finished all of the character sprite art! So I got a lot done!

I started by troubleshooting the abilities that I was having issues with prior. I just had to update how some of them work. Previously, the abilities for Xalt, Meushi, and Fegg weren’t working because I was trying to use triggers for those. I updated them to use actors instead (which does unfortunately use more of my limits up), but they work now. I may just need to rework some of my puzzles due to this. But they’re all working from Scripts now.

I also started to think about what I wanted to do for dialogue boxes some more. I found this really nice plugin that allows you to type a name that goes above the dialogue box instead, which will save me a lot of space! It also has the option to show portraits, and I thought about adding them for a bit. I feel like that may take up too much space in the dialogue boxes, but I wasn’t sure if it would be worth it to show which character is talking a bit more, so I decided to not go that route. But at least I have the option to think about it if I want to revisit this idea.

And then I decided to figure out how to flash sprites. I wasn’t able to find an option in GB Studio, so I found a workaround where I can just set one of the sprites in the spritesheet to be a white overlaid version with a black outline. So that’s probably what I’ll be doing.

After that, I went through my script and started to finalize some character movements in my game progression. While doing this, I also updated all of the dialogue boxes that I already added to be the new plugin.

I was having a weird bug where text would overwrite itself in dialogue boxes even if there were only 3 lines, and after doing some research, I found out that only happens if you don’t have Color Mode enabled. So I decided to take the leap to turn this into a GBC game so I could expand my limits a bit. I turned everything to the original GB colors for now though just because I’m not ready to add color, so this just means it takes a little longer to compile for the time being, but I think it’ll be worth it.

Then I finally started to draw some character sprites! I started with Rotle and Xalt to get one animal character and one human-like character figured out. And both of them walk in all 4 directions, so I wanted to make sure I had a good grasp on making the more detailed ones first.

Then I tested out a new idea for adding dialogue! I didn’t want to take up too much space on the screen, so I debated with a few ideas. I thought about making a portrait in the text box, but that would mean my text boxes would get pretty long because I already have a lot of text. Then I thought about adding a bubble sprite on the top to indicate they’re talking. But I ultimately decided to go with an animation that looks like they’re opening and closing their mouth. They also face forward to better show who’s currently talking. This way players will be able to match the names with the sprites more easily!

Then I continued to make more character sprites! All of the R Nays are finished (all directions). Adding all of these animations into their sprites is making them take up a lot more resources in my scenes though, so I might need to figure out more efficient ways to conserve on those… Even just 7 of them in the same scene already exceeds what I have available.

So I ended up doing a lot of troubleshooting to split some of these spritesheets out into multiple so that I could just strategically switch between them if a character needs to move or face a different direction. I really only did this for the First Generation Nays since they’re really the only ones who are all in the scene at the same time for flashbacks. This was a little disappointing since I was looking forward to using the Animation States, but there are just some character sprites that won’t work out for.

Then I ran into even more limitations. When creating a really long cutscene, I ran into an error about “object files too large to fit in bank”. It turns out you can only have about ~100 event commands in a single object, so I ended up having to break up my scene into multiple scenes to manage those. It kind of worked out anyways because I needed to do that for a couple of scenes that had too many sprites moving around anyways. It’s kind of awkward that it’ll flash in the middle of the scene, but I tried to make them at natural stopping points to look more intentional.

And so then I also reorganized my Notion a bit to create a new calendar of smaller tasks I need to do. This’ll help me get more on track since I was getting a little lost where I was previously.

And then I made a new database to hold all of the outstanding bugs that I need to fix so I can keep track. I like to write them down as I’m playtesting, so in a database, it makes it easier for me to remember which ones I fixed and which ones are still left to go back and fix.

I finished all of the basic movements in the cutscenes. I still need to finish adding all of the dialogue, but I at least have movements in there where they need to be! I’m sure there will be a few more days of just importing dialogue once I get there. I would show one of the longer ones, but I don’t wanna spoil too much here. So here’s the previous cutscene updated with character sprites:

Then I worked on creating the puzzles! These had some more new limits because I was adding a lot of sprites and actors. Who knew that the sprite limits would be where it’d get me! I thought for sure it’d be actors. But so I ended up modifying a few of my dungeons so they could fit into these limitations, and I also had to edit a few more of the spritesheets to remove states to help account for this.

And then I made a little proof of concept video to show it working on the GBA. You’ll be able to see the Meushi puzzle in action at the end of the video after the intro (on the GBA!).

For next time, my goals are to have all of the puzzles finished and then also most of the backgrounds. I may be a bit busier though so we’ll see how far I can get! But that’s next on the list of what I want to do!