I've finally had the time to sit down and upload this! The game is finally available and can be downloaded on Itch.io totally free of charge!
My first game made in only 3 months!
Now that this is done, I plan to continue moving forward with life and learning to code more and more where I can. I would like to continue to upload to this blog on my learning journey, even if the contents won't specifically relate to Mindy Morton.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
ā Live Streamingā Interactive Chatā Private Showsā HD Quality
Anya is LIVE right now
FREE
Free to watch ⢠No registration required ⢠HD streaming
There's been a lot of updates over the past few weeks, and I have been a little too busy implementing them to take the time to upload my progress, so here I will quickly try to show off these features and credit my resources!
New Animations and Player States
So I actually had to totally rewrite the player code to add these new animations and a couple of new states involving getting damaged, dying, and winning the game.
I mostly used the logic from this Godot tutorial by Nathan Lovato in GMS2 which helped me to really break down the character into good chunks. It was tricky to work out the kinks when I started but it worked just as well now and made the workflow with these other new features a lot easier. I also used a lot more functions() to be able to speed things up, since physics would need to be written in every state.
Essentially, these new states work like this:
Touch something bad? Damage State.
Damage State? Check if they still have health.
(tutorial on invincibility frames by HeartBeast)
No health? Enter death state.
Death state? Transition to title Game Over room.
And the winning state will simply transition you to the "winning room" as soon as you touch the winning item. And the looking-up and looking-down animations are used in the idle state if the camera detects that that is what the player is inputting.
Title Screen, Pause Menu, Game Over, and Winning Screen
So to make these work, the first thing I had to do was actually decouple my camera from my player. Coupling is what happens when you write the code of two objects in such a way that they can't run without each other being present. Decoupling was difficult for me since I did not understand the key difference between calling an instance and calling an object. Basically, an object includes all instances of that object, but an instance is only one specific object that's already loaded.
However, once I did, it was fairly easy to move the camera around through code without a player present and create the Game Over, Title Screen, and Win Screen all on my own.
For the pause menu, I used this tutorial by Shaun Spalding and implemented some assets in the Draw event to make it feel like a proper pause menu.
I'm also just going to mention here that I used this other tutorial by Shaun Spalding to implement a transition so the game doesn't just freeze for 20 seconds while it loads the other room.
A few more assets
I implemented a few more assets, mainly for UI. I actually was able to figure this out by reading documentation! It was pretty much all handled in the DrawGUI event. I also added some simple hearts and coins by using GameMaker Studio's health and score properties, which are universal throughout the project, like a global variable!
Everything past that was mostly more assets like recoloring the roots, making some more roots with the spikes on them, and then making additional backdrops for above ground and underneath the ground! I would share them all here but I intend to share a link to download the game in the next post, so keep your eye open for that!! :)
This is just a sample of some of the assets I've been generating for the project! I still want to keep tweaking and developing a lot of these. Some of these screen-caps I've shared aren't even up to date anymore (most of them are though, don't worry).
There are some other things I'd really like to experiment with too, like using shaders to help with some of the color work so that I'm not manually coloring 7 different sets of grass and 4 different kinds of Mindy's house and things like that.
I'll continue to go hard on the assets for the last month of this semester. I want to implement more quality-of-life features like PAUSING and a TITLE SCREEN. You know, the basics.
It's crunch time, and who knows what I'll be able to truly get done. I'm already banking on not having the time for features like shooting mechanics and shooting enemies, but that will be okay as long as the visuals and platforming are fun.
With the time limit though, now I get to really buckle down on some of the small and quick features just to get them done. I've already followed this tutorial by Shaun Spalding to implement a quick pause menu!
I'll likely have to keep these things as simple as possible for now, but they'll do! See you in the next one!
In case google brings anyone here because of the title and they're looking for a recommendation, I can't give you much but feel free to keep reading, lol.
Anyways, it's been a second since I updated this blog. It was mainly due to spring break so I've not been working on this for a few weeks. Sort of...
I do have some stuff to show off which I will put in a separate post, but that's mainly some asset-creation things that should be interesting! But no, while it was spring break I did mess around with the project but not in a necessarily productive way (?), I guess you could call it a learning experience. I got to mess around with the Godot game engine.
What was I doing in Godot? Well just recreating the game from scratch, or trying to anyways. I might be insane. Part of me found this Godot engine very novel and exciting, plus it was the underdog so why not try it out?
It was a pretty overwhelming experience actually. Godot is a really awesome engine but I actually don't know if I believe it's necessarily as beginner-friendly as GameMaker Studio 2. This is just my personal experience, however, and I already have some experience with languages like javascript so GML just really clicked with me a little more right off the bat than GDscript did, although that's not to say the language itself was difficult for me to learn. On the contrary, GDscript's syntax was very beginner friendly.
Here's a snippet of some of my code that controls things like which way the sprite is facing, the gravity, friction, and acceleration. These things were very easy to implement in Godot, although it might be because I've already done it once in GameMaker.
I'd say the main thing that made Godot a little tricky for me was you have to use signals and hook up nodes to be able to have them communicate with each other. It took me a second to figure out how this works, which was a real headache while trying to recreate my camera system. Actually, the whole Godot version of my camera system really made me second-guess myself a lot and has kind of shot my confidence a little with Godot.
In general, I think there's a lot of really solid potential with Godot though. While there are far fewer resources, they are all consistently higher quality. And a lot of things are just naturally supported without coding compared to GMS 2. Here's a list of some of the more basic comparisons of how far my project has come:
Controller Support. Godot has built-in controller support and profile editing. This was basically a non-issue. GMS 2 doesn't do this natively but there is an AWESOME script called Input that did everything for me. It's basically even footing but props to Godot for supporting it natively.
Camera Limits. Godot's camera is just a lot more flexible out of the box, supporting things like lerping without needing to code anything nitty gritty and you don't have to code the camera to clamp to the room, because the camera has a limit property which you can just set in the inspector.
3D. Godot has proper 3D support. GMS 2 has 3D but frankly, it's just not made with 3D in mind.
So do I have a final opinion? Well, GameMaker Studio 2 just makes a little more sense to me so my project will likely continue prototyping in GMS 2. However, I really like Godot and want to learn it properly. It's very likely that once this academic year has ended, then I will take the time to do some smaller projects in Godot and really get used to it, and then continue developing Mindy Morton in it š
With that said, I'll see you next post with some new assets to show off!
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
ā Live Streamingā Interactive Chatā Private Showsā HD Quality
Anya is LIVE right now
FREE
Free to watch ⢠No registration required ⢠HD streaming
If only you knew the pain I've been going through with cameras in Game Maker Studio for the past few weeks! But it's fine, I've got it all figured out now. This post is going to be a pretty long one. To be honest, there are a lot of little things I've done since the last post that I'm just going to either gloss over or save for a different post (maybe?) Primarily trying to standardize my code, resizing my sprites again, and hitbox thingzzz.
Anyways let's get into CAMERAS!
So game cameras were a little bit of an enigma for me going into this. From application surfaces to resolution, to window size... Quite frankly, they're very powerful tools when it comes to building a game, and all the stuff you can control with GameMaker's camera was frankly-
a massive headache.
Come down the rabbit hole with me-
TRIGGER ZONES
First things first, I had to get the camera set up. There are a lot of tutorials on this, all of which are slightly different. My code ended up somewhere in the middle of all of them. Here was the first tutorial I followed:
How to make a Camera for any GameMaker game in 4 minutes
by Shaun Spalding
So Shaun Spaulding's video helped me get the camera set up in the first place, although frankly, this method didn't last very long in my project. It was good and simple but for whatever reason, people really don't recommend you use GameMaker Studio's Room Builder's camera settings, but rather code them yourself. I'm not sure why else other than the fact you get a lot more control over your game's in-game camera, resolution, and window size, plus you can create cutscenes and stuff with it. Next was-
Smooth Camera Tutorial + Pan/Zoom [GameMaker Studio 2]
by Matharoo
Matharoo's code was more complicated at first but it gives you that level of control that I was just talking about, and it sets it up in mostly the same way. Although, my code now is definitely a mash-up of the two tutorials.
With those two tutorials, now our camera looks like this:
This is great! Now we have an actual camera instead of looking at the whole room! But if we look at our camera's view, we can see that the camera is seeing out of bounds. Matharoo's video may have actually covered this (you can watch it yourself) but where I found my solution was-
Camera Modes | GameMaker Studio 2
by FriendlyCosmonaut (this one starts at 14:33)
I did not watch this entire video but it looks like it has a lot of useful information in it. Even though she isn't making the same type of game in the video, she does cover the topic I needed, which the provided link will actually jump straight to that section of the video
This is solid! Now that we have one problem solved, it's time for another-
Unless you're going for something more old-school like Super Metroid, we're likely going to have big open rooms that twist in multiple directions. I had a pretty clear vision of how I wanted the camera to operate. My trajectory is in the direction of Hollow Knight, which has a simple yet complex camera system that is very well explained in this YouTube video:
This video sort of became my "mission statement" with all this. Unfortunately, I don't have a tutorial I can point to for how I coded all the stuff in this video, but I did realize Shaun Spalding briefly touched on his own solution to this kind of problem with what he called "trigger zones". This is a good way to describe my own solution. Essentially we're going to create an array of overlay objects, or "trigger zones" that will restrict the camera's movement to only being able to move where they say. This is more or less the setup we're looking at:
This is how Hollow Knight's cameras appear to be working in the video, and how we'll set them up too. I won't dive too deep into the nitty-gritty coding on this one, but basically, each of these trigger zones is an object in GameMaker that will bind the camera by their respective dimensions.
This gets very inter-relational with all these objects since each object needs to be able to apply its own unique dimensions to the camera boundaries. It did become a little bit of a headache managing what turned into 5 or 6 different camera-related objects which were all modifying each other.
Here are some pictures of how this looks in practice. Keep in mind that these would all be turned on at once to function properly:
Vertical Trigger Zones
(the camera won't move above or below the zone the player is in)
Horizontal Trigger Zones
(the camera won't move too far left or right in these zones)
Zoom-In (or Zoom-Out) Zone
(the camera will zoom in/out as far/close as the width of this zone)
These are just a few examples but hopefully, the concept makes some sense to you! So finally, with these systems in place, our cameras will finally move like this:
And that is (mostly) the end of that. Scope creep has kept me coming back and adding incremental changes to all these features (specifically the zoom one). Fundamentally they will continue to work the same but it's easy to keep tuning things like camera speed and zoom speed.
Anyways, with this stuff done it's time to get to the next thing:
PARALLAX HELL
So the actual solution to this was straightforward--use a 3D camera and follow this tutorial:
From 2D to 2.5D: GameMaker Studio 2 TUTORIAL (Using 3D Camera) | Easy Parallax
by Matharoo
It's what Hallow Knight does, it creates a natural parallax effect, and it makes a lot of the artistic work pretty easy. But, the reason it took me so long to get here is a story that brings me great pain...
To start, I wasn't originally going to use a 3D camera because they sounded somewhat complicated. Even Shaun Spaulding sounded like he didn't recommend them in his tutorial that I shared above (although maybe that's just for beginners). What I was going to do could be called "interpolated parallax," where we are basically moving a bunch of image layers around relative to the position of the camera.
You can learn more about this in this video by Pixelated Pope.
That doesn't really need to make sense to you, but that's what I was doing. Now, this method could have totally worked theoretically if it weren't for the fact that GameMaker Studio 2 has actually removed certain coding properties from GameMaker 1.4, which makes this method kinda unreasonably difficult? At least from what I tested. It works great if your only intention is to have an endless runner game or if you want to accommodate for open space by drawing individual sections of background together in a giant 4k+ canvas.
It sounded messy and I didn't really want to deal with it. Eventually, I learned more and more about GameMaker Studio's 3D camera, which was easy to set up for my specific needs.
It did take a while to fine-tune it all but I did get there in the end. It did, however, break my zooming trigger zone. This post is already long enough but basically, I thought the solution would be needing to change the camera's field of view with trigonometry when it was actually just changing the camera's distance with a basic ratio...
Not my brightest moment there and it took a painful couple of hours of staring at the same code and Desmos to figure that out.
ANYWAYS...
The camera system is finished! Or at least, finished enough that I can move on to designing backgrounds, and just fine-tune this bit by bit later down the line.
Honestly, this was all very time-consuming, and the struggles with the zooming trigger zone were a bit demoralizing, so I'm ready to get back into the art generation side of things!
I also plan to spend some time beating Hallow Knight and maybe a few other platformers I can take reference from for backgrounds š
So part of this whole project is that I'm pretty much just totally feeling my way through it all and only vaguely following a straight tutorial. If I was still following Shaun Spalding's Ultimate Platformer tutorial then I would be working on attack animations right now, but instead, it's CAMERAS AND SPRITES BAYBEEE.
This post is about my sprites. Notice how small Mindy is?
The thing I've been noticing for a little while now is that Mindy should be bigger. You might remember from a previous post I made that the ideal character size is within 2-3% of the screen area, which for a 4k resolution was 436 pixels. However, there was an interesting thing I did when making those sprites-
She's way smaller than the box I drew her in!! For extra comparison-
As you can see, a majority of Mindy is actually taking up way less space, which means we have room to grow! This isn't a massive deal to me right now but since this project is for an illustration capstone project, making the sprite more legible is important to me.
Anyways I did some math and blah blah blah (it's 4 am right now), for the sprite to take up the same area as our original green square, we need to increase her size by 19.9%
Living large! Of course, we still have to take this 4k resolution and then DOWNSIZE it for the 1080p resolution I'm building the game at.
Maybe I'm working too hard...
Anyways, the new size for the 1080p canvas would have been 569 pixels. To be clear, I leave a lot of extra space for animations outside my green square, which is why this size is actually bigger than 436 px square.
The thing is, I accidentally set my sprites to 475 instead of 569, and they actually looked too big even though they weren't full-size. I ended up playing around with the size and also Gamemaker Studio's camera settings and found a nice balance at 400 pixels and a slightly bigger camera now.
It's like nothing ever changed! š„²
It's worth playing around with more along with dynamic window sizing and resolution but frankly, every time I try to look into that stuff, I get a massive headache. It may be worth it to go back and strictly follow some of these tutorials for full games from start to finish later down the line if I want to understand some of this stuff better.
Anyways, I took the opportunity to build a new level with some actual gameplay lol. The next post is going to be about more camera stuff and hopefully some parallax scrolling too!
After uploading all of my old blog posts here, I feel the urge to not let these go on too long, so we will keep things quick and easy.
The next step for Mindy is getting the GMS 2 camera to track her. Thanks to this tutorial by Shaun Spalding (again), I basically had the camera working perfectly, with the exception that the camera would move out of bounds. Thankfully, this OTHER tutorial by FriendlyCosmonaut had a few lines of code that fixed this immediately.
I'll attach a working video of this camera setup at the end of this post.
After I got this camera done, I ran into a weird headache with my sprites. I noticed that my animations were looping on the wrong frames, and I kept messing with the code to fix it. In the end, the code I already had worked perfectly, and I needed to add a filler frame to some of the sprites so that GMS 2 could actually do what I was telling it.
My code says "every time the animation plays frame 5, reset the animation to its second frame, and skip the first one." That's pretty simplified but that's the idea. But my problem was I didn't have a "frame 5" for the code to use, so it wouldn't run it and end up looping the wrong animation. Funny how simple the solution was! It was just a big headache that I felt like sharing.
Anyways, now the camera is working properly and we are officially done with sprites (for now), that means it's time to code in parallax scrolling and then draw in the backgrounds! Now for the video-
Normally the camera icon won't be there, but I left it on for demonstration purposes. It's tracking Mindy but its height is the same as the level so it can't move up and down right now.
Wanted to share some of these drawings I made the other day as I was spitballing ideas around. I kind of jumped around from BG design to set pieces, to fast travel, a cat boss battle, and a Hot Wheels race, lol. I really tried to focus on random things that could be in an 8 year old's backyard.
I've been working in the Apple Notes app on all of these to keep myself from trying to hard
Well, that was fast.Ā While thereās a lot of new stuff to share, I have made a lot of progress on integrating the character sprites.Ā You could even call them doneāto a point.Ā There are a couple of transition frames which arenāt included yet and there are even a few that I decided to just cut entirely.Ā I was also able recondense a few animations instead of having them so broken up.
The rest of the assets are still around, theyāre just living in the āsMindy_Trashā folder right now until I decide they are definitely not getting used, or until I figure out how to use them.Ā But for now it works.Ā I lucked out too.Ā In the last post I mentioned the finite state machine I invested in to save time and a lot of headache, but I still had to learn how to use it.Ā Well luckily, the creator himself had a YouTube tutorial of him showing the whole process.Ā This really made things easier to figure out.
And now, Iāll end with post for the night with a short little demo of Mindy running around in test-world hell.Ā Itās a little choppy but itās the best I could record:
Also, this is the last post that was written prior to this blog, so weāre all up-to-date now!
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
ā Live Streamingā Interactive Chatā Private Showsā HD Quality
Anya is LIVE right now
FREE
Free to watch ⢠No registration required ⢠HD streaming
Todayās the big day, time to install the animations Iāve been working on into the game!Ā Iāve created a little demo of all the animations flowing together in my last post. Iām actually writing this after multiple hours of messing around with code and such.Ā This is likely going to be a difficult task.
The tutorial Iām following has much simpler art assets for itās game and so the code really doesnāt work for me at all which means I have to research new methods to fully animate my character in-game.
For the first step, I actually had to break down all the animations with multiple steps down into separate files.
Aside from breaking down the animations, I also had to reduce the resolution of the drawings.Ā This was already the plan from the start but now that itās finally happened, Mindy does look a little rough around her edges, but it doesnāt bother me too much.Ā Plus playing the game with the 4k drawing really hurt my computerās performance.
Having to take the time to do this felt like a bastardisation of my animations, lol.Ā It really felt so unnatural to see them so dissected in this mechanical overview.Ā But hopefully it means I will be able to use the full range of my animations in the end!
Iām a little nervous about what this decision could mean in the future for my project.Ā The game is currently bound to be at a 1920x1080 resolution, which is standard HD, but definitely not as nice as 4k or even Full HD.Ā I would love to be able to scale the gameās resolution which is a pretty normal feature for computer-based games.Ā It might be less of a problem if this were for a console release?Ā Unsure.Ā However, the main thing Iām wondering is if these scalable options have whole different sets of game assets at different resolutions or if they just take the high-res ones and scale them down.Ā Apparently, the ladder option can actually impact performance though so Iām really not sure.Ā Either way, it sounds like it could be a daunting task to work with in the future.Ā Thankfully itās not really a worry to me right now.
Also, I realized I never posted about this, but I decided to switch my animation process from Procreate to Rough Animator on my iPad.Ā Iāll likely still use Procreate for initial pencil roughs since it only requires a single layer and runs a little smoother for me, but for final linework and color, it will be Rough Animator.Ā Nothing really beats actual animation layer support.Ā It makes life WAY more flexible.
The next step is figuring out how to make these animations work with the code logic.Ā Essentially, I really want to avoid using If-Then-Else statements because those slow the computer down if you have too many, so a solution I found in this Reddit post is to use a system called a āFinite State Machine.āĀ Sounds pretty cool and this video by Shaun Spalding (itās always him) gives a very brief explanation of the concepts of a state machine.Ā To make a very quick TL;DR version though, essentially you write code for every possible āstateā the player could be in, and then you tell Game Maker Studio to load that state based on what the player does.Ā If that didnāt make sense, try watching the video instead.Ā Ā
Anyways this is essentially the most likely way I can get my animations working properly.Ā Not only that, but it also seems like it could be extremely important in developing other things later on, like climbing ladders, walking on ice, or who knows what.Ā But basically, anything that could change the way the character moves that isnāt āleft, right, and jumpā will likely require its own āstateā and subsequent code.Ā Frankly, itās a headache for me right now, especially since Iām writing this at midnight!Ā Iāll have to spend a few days on all this, unfortunately.
To make my life easier with state machines and keep me on track with my art output, Iāve decided to invest about $5 in a premade state machine.Ā This is essentially the wireframe for the code, but I still have to put in the effort to learn and understand it as well as code all the specifics of each state.Ā Essentially, I bought a bike with no wheels, and I have to teach myself where to get the wheels and how to attach them to the bike.
Game Makerās official article on Finite State Machines.
Iām a little nervous about what this decision could mean in the future for my project.Ā The game is currently bound to be at a 1920x1080 resolution, which is standard HD, but definitely not as nice as 4k or even Full HD.Ā I would love to be able to scale the gameās resolution which is a pretty normal feature for computer-based games.Ā It might be less of a problem if this were for a console release?Ā Unsure.Ā However, the main thing Iām wondering is if these scalable options have whole different sets of game assets at different resolutions or if they just take the high-res ones and scale them down.Ā Apparently, the ladder option can actually impact performance though so Iām really not sure.Ā Either way, it sounds like it could be a daunting task to work with in the future.Ā Thankfully itās not really a worry to me right now.
Also, I realized I never posted about this, but I decided to switch my animation process from Procreate to Rough Animator on my iPad.Ā Iāll likely still use Procreate for initial pencil roughs since it only requires a single layer and runs a little smoother for me, but for final linework and color, it will be Rough Animator.Ā Nothing really beats actual animation layer support.Ā It makes life WAY more flexible.
But thatās pretty much it.Ā On a slightly different note, I am worried about other classes also impeding my progress on this project.Ā I feel like I stormed ahead the first two weeks and now I feel like a snail.Ā Multiple reading assignments and a couple of different personal projects are getting in my way.Ā Iām trying to balance my stuff out, but this is definitely why I shouldnāt be my own boss!
I expect the next time I update this; it will be with more information on state systems.Ā I donāt think Iāve ever posted a video here of the game in action directly, so Iāll link to the one I used from my presentation here--
Hereās a demo of all of Mindyās finished animations working together!Ā Iām really happy with this video.Ā It makes it feel like the game is coming to life :)
The past few weeks have mostly been polishing up different animations.Ā Iāll have to dedicate them to their own post, but this past Tuesday was crit and I put together a presentation that pretty much encompassed the entire project up to now including the animations.
After I finished the presentation last Friday, I decided to take a break for a few days and focus on other assignments.Ā Now that crit is over, itās finally time to get back to polishing these animations.Ā Moving forward I really want to implement backgrounds as well as some shooting attack animations.Ā I think it will take the game pretty far to feeling like an actual game.Ā The code to tie together all these animations WILL be difficult though, I already predict!
Hopefully I can accomplish all this by next crit!Ā If not, then definitely by the third crit.Ā And hopefully at least a single programmed enemy by the final crit.
Itās been a process but after about a week and a half, I finally have the jump animation finished-
Ā I have also put together a separate video of all the animations I have finished where they flow in and out of each other to give a sense of how they will look.Ā Itās pretty satisfying to see it all work synergistically.Ā Ā
The next few steps are as follows:
Finish the clean sketches of the run and halt animations
See if I can get them working in the game in time for CRIT
If I canāt, get them working afterwards to see if they need any edits
Create alternate versions of each animation where Mindy is holding her weapon
Add some test backgrounds?Ā Or start on enemies?
It gets a little uncertain because while I would like to start on some background to bring it all to life, the tutorials I have been following mostly focus on enemy development next, both of which will be important.Ā Ā
I will say itās desirable to not stray too far away from the tutorials in fear of missing critical information, but I suppose weāll cross the bridge when we get there.
I finished the character model for Mindy, at least for now.Ā Iāve actually already started on the process of redesigning her spots, since they are kind of small and āun-lady-bug-like,ā and Iāll make them bigger and warp around her form more.
Also, in the past two days, Iāve managed to have her idle animation 90% finished, aside from her dots.Ā All the most and base color are there though and are in a usable form!Ā You can view it here. YouTube forced it to be a shortĀ š
The next thing on my list of things to animate is jumping animation.Ā Above is an example of Hollow Knightās jump animation, sprite-by-sprite.Ā This kind of stuff is particularly useful for seeing how many āin-betweensā another game may use so I can use it as a standard on my own.Ā This seems to range from game to game.Ā Ā
Hollow Knight has virtually none while some have maybe 2-3 frames of in-betweens max, followed by the actual ājumpā animation.Ā Thereās also an animation for the peak of the jump where the legs and cape change direction, and a landing animation which is more or less its own set of 2-3 frames.Ā
Ā If I had to guess, Hollow Knightās launching frames are reused in his landing frames as well, especially since heās such a simple character.Ā I was already planning on reusing a frame or 2 from the idle animation for the jump animation, so perhaps Iāll end up using them for the landing as well.
For more examples of jump animations, I recorded some jumps from a few different games I own that have a similar feel to what Iām going for--
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
ā Live Streamingā Interactive Chatā Private Showsā HD Quality
Anya is LIVE right now
FREE
Free to watch ⢠No registration required ⢠HD streaming
So, after coding nearly ALL DAY, I decided Iām not gonna code the run button.Ā I actually got it simplified way down and working properly after scavenging code and tutorials online for hours but then I thought about it and played around with a few different games that inspired me, and I realized they were all great without the run feature, and Iām not sure if itās really necessary?Ā That being said I only commented out the code that made it work.Ā Like HELL am I getting rid of it after spending way too many hours refining it.
I was also able to get rid of all my WHILE and REPEAT functions.Ā There are more IF statements now, but I canāt really help it.Ā It works great now though, and without the risk of loops!
Iāve also been fiddling around with exact feel of the game.Ā I actually have a separate file in the game where I can fine tune settings like jump-strength, gravity, momentum, friction, etc etc.Ā Iāve been playing with the feel as I go along.Ā Itās a little hard to find the exact feel without more to look on the screen other than some squares but I think Iām in the ballpark.
Well, was today a waste?Ā I suppose not but you might not necessarily say I made progress, lol.
I unexpectedly spent a few more hours with coding friction into the horizontal movement, but this time I also added acceleration and a run button.
In most 2D Mario games, holding down the B button will make Mario run faster.Ā I was thinking about this in bed and thought to myself āhow hard could that be?ā and technically it wasnāt hard at all until I started trying to make sure friction and acceleration worked properly.
Essentially, I ended up needing to make the speed flow from moving to stopping.Ā First, I made the code for when the player should STOP.Ā The first thing it does is check if the left or right key is pressed.Ā If both are pressed, then it skips the code for left and right movement.Ā This is because the code for āno keys pressedā and āboth keys pressedā would have been the exact same, so itās saves on space and computer power if I make it the same line of code.
I also recoded how the walk speed works.Ā Since now the player will have 2 different walk speeds depending on if theyāre running or not, I created a new variable that by default will equal the walk speed, but when the āA Keyā is pressed, it adds on an extra value that will increase the speed.Ā Technically thatās all I need for a run button, but I wanted there to be a transition from slow to fast and back to slow, because right now itās essentially just flipping a switch.
Next, I added 2 new while functions.Ā Both of these check if the player is faster than or slower than the currently set movement speed respectively.Ā Then depending on if either is true, they will either reduce or increase the playerās movement speed to match what it should be.
Iām not sure if this is the perfect solution to these problems (surprise, it isnāt) but it at least plays like it should.Ā I did some asking around on StackOverflow, Game Maker Studio Subreddit, and the Game Maker Studio Forums to try and get some input.Ā None of them necessarily helped solve the problem directly, but they did spark some ideas which put me where I am now.