Practice Platformer in Gamemaker Studio 2 – Conclusion and beyond…

Where do I even begin with this one? Quite a few changes, tutorials all finished, many post-tutorial changes…so many things I can’t even remember them all off the top of my head. Let’s just start at the beginning and go from there.

Final changes in the last parts of the tutorial series

  • Added an ending scene
  • Added horizontal and vertical gun recoil, but didn’t like how the horizontal recoil felt so just left in the vertical which ended up turning into a cool gun-boosted high jump ability
  • Added new and improved effect for bullets hitting walls
  • Proper fullscreen mode
  • Tightened up various little things like sign reading and animation flipping for when you’re looking one way and firing/moving another way

That was about all there was left of the tutorials, but I wanted to fix up a lot of things on my own before making this post. Primarily, the situations with the gun/gun pickups and the controls were a huge mess. The tutorial series was very helpful and I’m grateful, but man, there’s some big cleaning up to do on these fronts. The way the guns had been setup was that you had no gun by default and had to get one by picking it up. Sounds cool, but this meant that every time you died you’d lose your gun and if there wasn’t another gun pickup available in the room you were in, well, that’s it the game’s pretty much broken and over. You could try to work around this by turning back on the old system that would give you a gun automatically on every subsequent room, but with the gun pickup this now resulted in you having multiple gun instances spawning on top of each other. It was a tangled mess and the whole system had to be reworked. Now it’s back to you having your same default gun at all times and the pickups now give you a 3-way shot, which you lose if you die, but you’ll respawn with your basic gun again at least.

As for the controls, I don’t know what he was thinking. There was keyboard/mouse controls for all gameplay, controller support added for most gameplay controls, but not all for some reason.  Keyboard support for the menu, but no controller support, and it would use the arrow keys instead of the WASD for movement like the gameplay did. Sign reading controls went from right mouse button to the W key, which still left no way to read signs on the controller. There were also mouse controls with an invisible cursor for the menu and those would lock you out of the keyboard/controller menu controls when used. Lot of cleaning up to do there, but it’s mostly all sorted out now. Only problem left is the lack of thumbstick control on the menu, which is a pain in the ass to set up apparently (but I’ll get it in there someday). Menu control with the controller has to be done with the D-Pad for now.

Ah, what else?

  • Changed some level design elements a bit
  • Did a little work on the ending to add a weird little final scene to it
  • Added in a brief credits sequence and disclaimer sequence in the beginning
  • Added a little mouse pointer that appears if you’re using mouse/keyboard so you can have a better feel for aiming in that mode
  • Added a cheap little boss fight at the end just to add a dash of finality to it
  • Also added music just to see how that worked and what it would be like. These are original loops that I cut and edited from some crappy old songs I did a long, long time ago (but they did have a few good bits to use). Probably not quite the way the music direction will go in the future, but it’ll do for placeholder purposes. Probably some other small changes I’m forgetting too.

The biggest changes are probably: I decided that I’m going to continue working on this project and turn it into an actual game. This project is now named GOREVOIDa name I was pretty surprised to found not taken by anything else. I think it has an appropriately retro/extreme sound to it and is pretty fitting for the theme of the game.

You can find future information about GOREVOID at the new GOREVOID.COM, along with a download link for the GOREVOID PROTOTYPE DEMO if you’d like to try this thing out for yourself.

Also, surprise, I figured I should probably go ahead and attach my real name to this for copyright purposes so…now you know. No reason to be Richenbaum anymore I guess. Oh well!

You probably won’t be hearing a whole lot more from me here anymore. Major updates will be announced at GOREVOID.COM and will probably be pretty infrequent as the process of turning this into a real, full-fledged game is probably going to take a few years. So…seeya there I guess.

Practice Platformer in Gamemaker Studio 2 – Part 4

Oh boy. A lot of little additions this time, but one or two big ones as well. Let’s see…

  • Added a placeholder title to the title screen, though still have no idea what this will eventually actually be called
  • Added ability to operate menu with mouse
  • Enemies now have the ability to detect and avoid ledges
  • Player’s gun is now a pickup object
  • Small animated effects added to ground when landing and bullets when hitting walls
  • New breakable blocks (excuse the incredibly half-assed look/animation on those right now (even more half-assed than a lot of the other half-assed stuff in here)

And then there’s the biggest, most obvious change…the fact that the enemies now have guns, can track and kill you with them, and…their guns are basically big pulsating dicks. I’m not sorry.

Following the tutorial exactly had them carrying the same kind of gun as the player, but by complete chance it ended up positioned exactly on their groin area so it kind of looked like they had guns for dicks. Naturally I thought “what if they DID have dick guns?!” and so I made a little animated…appendage. It doesn’t look explicitly like a dick, but let’s face it, it’s a gun dick. The accompanying sound effect really seals the deal too.

Had another snag that was causing the game to crash due to some code in the “enemies having guns” parts, despite the fact that I definitely followed the tutorial exactly, but was able to fix it on my own without too much panic this time, so I guess I’m really getting the hang of this.

I don’t know quite know where this game is going yet, aside from the obvious side-scrolling shooter genre, but it’s gettin’ weird! Weird and fun. I’m still not quite sure how far I’ll take this particular project after the tutorials are all done, but I know that at the very least I’ll spend some extra time on it afterwards to tighten a few things up, change a few mechanics that I don’t really like, but don’t want to change until the tutorials are done in case they end up being important later, and probably fix a few of the more rushed sprites/animations in there. Though even thinking about all the changes I have in mind makes me think that this might turn into something more than the dumb practice demo I thought it would be when I started…

Practice Platformer in Gamemaker Studio 2 – Part 3 (Now with sound!)

Let’s see, what’s new this time?

  • There are now sound effects for almost everything (which have a whole story behind them that I’ll get to in a minute)
  • Created a new and improved background layer that I think looks a lot better
  • The game autosaves each time you move to a new room and the continue feature on the menu screen actually works now
  • Player character can now die
  • Added signs with readable text bubbles
  • Added larger enemy types with more health

I believe that’s everything since last time. Had a bit of a scare when adding the sound effects, but I suppose it taught me a few lessons as well. After adding some 8-bit-ish sound effects that were created using a program called BFXR, testing revealed that the game was now completely freezing up during combat. Since I hadn’t had this problem until adding the sounds I assumed that it must be related to the sounds, possibly some kind of conflict when multiple sounds played at once since that’s when the freeze seemed to be occurring. However, after disabling each sound effect one by one, and then just plain replacing them all with differently created ones, it turned out that the sound seemed to have no effect at all on the issue.

Next I made a backup copy of what I’d done so far (which I should have already been doing – Lesson #1) and started rolling back the last few sets of changes I’d made step by step, thinking that one of these recent changes must have been the culprit. Nope, that also did nothing.

After more testing to attempt to narrow it down, I found that the freeze only happened when killing an enemy while your character was jumping, so I started looking into the code related to each of these actions for both the player and the enemy. It only then occurred to me that Gamemaker Studio 2 has a debug mode, one that works very similarly the one I’m already familiar with in Visual Studio. I reeeeeeeally should have thought of that sooner. Embarrassing Lesson #2. Anyway, this was able to show me the exact line of code that was running each time the freeze occurred. It was a while loop that  must have been getting stuck in an infinite loop, but why was it doing this? It still wasn’t exactly clear what was causing this loop to get stuck.

Luckily, I guess I learned something from all those Computer Science classes after all and I was able to figure out exactly what it was triggering the freezes. Turns out it was all caused by one tiny little change I had made to the enemy collision box when creating the larger enemies. This had to be adjusted a little because thanks to their increased size they would just spawn stuck in the floor. Apparently I over-adjusted it by just the tiniest bit and so now whenever you killed and enemy and it switched into its death animation, which involves its corpse flying back in the opposite direction it was shot from, the corpses were now being told by the code to teleport into the floor, which sent the collision detection code crazy and crashed the game. Fun times.

These collision boxes have been the cause of most problems I’ve had with this game and I guess I still don’t know how to utilize them as perfectly as I’d like to, but I think I’m finally starting to get the hang of tweaking them properly so that sprites can stand/fall right where I want them to without getting stuck in the environment.

Aaaaanyway…that’s about it for this check in. 15 parts of this tutorial down, 17 more to go. More to come in a few weeks again, most likely.

Amazingly, still working on this game:

Sooooo…surprisingly (to me anyway) I haven’t procrastinated to the point of abandonment on this thing like I have with every other overly ambitious video game idea I’ve had over the last several years. I haven’t gotten a huge amount done on it this month since I just had final finals and graduation to deal with over the last few weeks, so there hasn’t been a lot of time for it, but I’d say there has still been a decent bit of progress anyway.

One thing I decided to take care of before getting too much further into this lengthy tutorial process was to create all original assets for this thing. The previous background, walls/floors, and bullet sprites were all placeholders that I just found on Google or just ripped right out of Contra. Everything in there is now hand drawn with the single exception of the gun, which is a Photoshop-edited version of the pulse rifle from Aliens. I like how it looks, but it doesn’t really match the rest of the art style does it? Maybe I’ll change it later, we’ll see.

Other additions include an animated menu screen with working New Game and Quit options (title to come later), a camera that follows the character, room transitions (though there are only two rooms right now), a shaking effect to firing the gun (which I’m not sure if I actually like. maybe it’ll feel better once there are sounds or I might just need to tone down the level of shaking a bit, not sure), parallax scrolling background layers, and controller support.

Something I’m not super thrilled with, but am kind of stuck with as part of this tutorial process is the 360 degree aiming. I feel like eight directional firing would be better and easier to control. I don’t think a game like this really needs to control like a dual stick shooter, especially one where you still have to manually press a fire button on top of aiming, but I don’t want to deviate too far from the tutorial model here and end up painting myself into a corner again. Also the character used in the tutorial has little stick figure limbs so the effect of the gun spinning around with his little stick figure nubs on it doesn’t stand out too much, but for my guy I just had to go with no arms because how am I going to have big white drawn arms that don’t look terrible when they start getting twisted around 360 degrees? Again, that wouldn’t be an issue with simple eight direction firing, but this is just going to have to stay like this for now.

Still less than halfway through this tutorial series so there’s still a lot more to go, but I’m feeling pretty good about it still, and I have a lot of ideas about what I’d like to start next. I think I’ll take some good advice I heard recently though and stick to something relatively simple for my first real attempt after this, something like a basic original Contra type side scrolling shooter. Best not to get ahead of myself though. Back to learning…

Finally getting around to game development?

Here’s a quick look at a game project I’ve started working on. This is just something I’m doing as I follow along a long tutorial series by Shaun Spaulding for Gamemaker Studio 2. though I have deviated a bit from the lessons a bit by adding my own hand drawn characters and animations (which are pretty dam basic, buuuuut I am a little proud of that death animation). It’s nice that the characters being so small helps cover up the fact that I can’t draw for shit. I do like how this is turning out though. Once this is all finished I’ll make the whole “game” available here or I suppose just some more videos since it probably won’t actually be as fun to play as it is to make.

When this is all over I’d like to finally get off my ass and start on the first serious project of my own though and I’d like to think that posting about it here will give me some kind of incentive to keep working on this and said future project. At this point it seems likely that you’ll be seeing a lot more posts like this and little to none of the old kind of post, which frankly I’ve pretty much lost all interest in at this point. I feel like the time could be better spent on working on stuff like this, so…hope you enjoy this little taste of things to come.