Piko's Bubbles: Learning Pixel Game Maker MV


So on a Sunday night after dinner, I made a list of potential options on what I could do for the night. One of them was to learn a new game engine for fun (Pixel Game Maker MV). I ended up choosing that one and it turned into a night of about 5 hours of game dev and making a short game!

 

🎥 Watch the playthrough video here:

I had previously looked at the engine and started a few projects using the template project, but never really did that for longer than an hour a a time. So I had a few test projects that were all the same of just the default assets and nothing really beyond a map with nothing playable.

So I decided to actually sit down and learn how to make the very basics of a game, similar to how I learn any game engine. And while doing that, I learned that this engine is not really widely used. Or if it is, there's not a lot of people talking about it or posting tutorials or documentation on how to use it.

I found a few YouTube videos and then there are the built-in tutorials, but it's pretty limited overall and some of the core features were missing or difficult to figure out how they worked.

So I started out by actually collecting art I had already made so I could easily import sprites without having to immediately create anything new. I unfortunately didn't get any screenshots while the assets were still in there, but I was using some of these placeholders to start.

So I was able to get some sprites into the Resources folder, which is how you store all of your images and other resources in PGMMV. It's similar to how RPG Maker has a Resource Manager, but I honestly never really use that. It's interesting that I couldn't find a way to just drop images into the folder itself, but they all had to be manually imported in.

Most tutorials started with lengthy descriptions on drawing/importing all of your animations and states before just getting a character moving on the screen, so I struggled at first to figure out the basics. I skipped around a lot to try and get that in there first with some basic sprites. I set up the object states in there using a sprite of Piko from my GGJ25 project for this.

I was using some placeholder platforms I made as the first platforms to jump on, and eventually replaced them with a new underwater-looking tile. I made a very small tileset to just have enough in there to have a playable game.

Once I had a player that could jump on platforms, I wanted to make a collectible item. It ended up being a bit more complicated than I was expecting. I was trying to find a simple player collision with an object event that I could use to detect if the player collides with the item, but the player would bounce off of them because there had to be a collision. I finally figured out that there's a field of vision feature that can be used for this type of collision, so I set that up for the item collision, and eventually for teleporting to the final scene.

Then I wanted to create a score for the collectible items to add to. So I learned about on-screen text, which is also a bit different from what I'm used to. You basically set up a resource in the Resources that's for text, and then reference it in your objects. And then to display it on the screen in a HUD, you create a new layer on a scene for the menu. It's an interesting method. So I turned the score into a variable and had it display after the "Score:" text.

Then I made a new scene for the credits because that displays text too. I reused sound effects and music from the GGJ project too, so I had those creators ready to add. I had the scene transfer there when the player reached the end of the level. I used a larger bubble in the level to show that.

From there, I wanted to make an enemy. The first thing I learned here was how to make the player attack the enemy and destroy them. I used some of the built-in tutorials for this, and so I had to actually make animations for my player to see if they were attacking or not because the enemy wasn't getting destroyed right away. So I just used some alternate views of the Piko sprite for this, but set up some basic states in the animation editor. I eventually got it all working though.

Then I wanted the enemy to be an obstacle that destroys the player when they collide. I had a hard time figuring out how to just restart the level. My temporary workaround was going to be teleporting between scenes. But then I discovered that some of the built-in switches are actually meant to be events. So I found the "Restart" switch that when it's on, it restarts the game. So that was exactly what I needed.

So because of this new discovery, I was able to create an end to the game. Once the player's on the end credits screen, they can press a button and it closes the game.

I also made the title screen. I decided to just make all of this in Photoshop because I was wrapping up this little project and wanted to do it quickly.

I ended up adding some slopes while I was playing around with the level design as well. And I made the level much smaller to only be 1 screen where the camera didn't even need to scroll. I was originally making it pretty large but then ended up just scoping it down as a little short test level.

I had a few weird gameplay bugs where the game would sometimes start and the player can't move or control anything. I still really don't know what causes that, but I found it works better with a controller. I tried the PS5 controller and the controls were pretty messed up though, so had to resort to trying with an Xbox controller for it to be fully supported. I tested along the way and eventually had a full level with art mostly replaced and made just during this.

So then I decided to just record a gameplay video and upload it to itchio! This was a fun little Sunday night project that I completed in about 5 hours. I love learning new game engines and just new things in general, so I had fun with this side project.

Overall Thoughts

While this engine is very cool that you can do everything without code and that I was able to make a short game in a very short time, there were a few things that I didn't enjoy and are reasons I likely won't be going forward with this engine.

I've always really wanted something as easy to use as RPG Maker, but for action games like action RPGs or platformers. But I don't think this was quite there. It's possible it gets easier with using it more, but the complex animation and state system made it fairly difficult to really find everything and make simple interactions quickly. After I found where things were, I was able to understand more how it works, but I do feel like there's a lot of setup until you can get something moving and playable, which is a big downside for me.

I've recently been learning GDevelop, and while this does have more complex features built-in, I do think that GDevelop is overall a lot easier to get started right away with. Because GDevelop is free and open-source, I'd also overall recommend that over PGMMV for someone starting out and looking to get an action game made quickly. I understand GDevelop came out after PGMMV, so PGMMV was really the easiest you could get at the time. But now there are other alternatives!

Something I didn't try out was that there seem to be built-in dialogue boxes and choices, using plugins, similar to RPG Maker. So that could be a big plus though. I still haven't played around with how GDevelop handles it with the Yarn plugin yet either, but that's always something I'm looking for easier methods to do, after being so used to how easy RPG Maker makes dialogue.

I might see what's possible with a top-down action game at some point in PGMMV, but I'll probably look to other engines in the future for creating this type of game. I had fun making this and trying it out though!

Files

Piko's Bubbles.zip 31 MB
4 days ago

Get Piko's Bubbles

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.