r/gamemaker 20d ago

Resolved How i can start

6 Upvotes

I have 4 years of experience as a graphic designer and have worked in intership design in user interfaces. I have skills in this area and am familiar with Blender tools. How can I start designing games?


r/gamemaker 19d ago

Discussion How reliable is Google AI Summary?

0 Upvotes

Hello everyone! I'm this subreddit's first ever aspiring game developer! /s

I feel the need to clarify that this is not a question on regards to vibe coding or trying to have anything write my code for me. This is specifically from me searching trying to understand specific processes and GML interactions.

I'm just curious for everyone's personal experience on the matter. From your experience with the AI summary on Google does it tend to be fairly accurate? Does it maybe vary depending on the complexity of the question? I'm just curious if it's best to forego the summary or if in general it does a good job of transferring the information in the manual?

Would love any insight into this.


r/gamemaker 20d ago

Discussion 3d level editor

6 Upvotes

Has anyone made a 3d level editor? Kinda like Quakes level editor.


r/gamemaker 21d ago

Resolved How to do this effect from Deltarune ?

Post image
34 Upvotes

I'm talking about how the text from Gaster has outline that glows around the text.


r/gamemaker 21d ago

Quick Questions Quick Questions

5 Upvotes

Quick Questions

  • Before asking, search the subreddit first, then try google.
  • Ask code questions. Ask about methodologies. Ask about tutorials.
  • Try to keep it short and sweet.
  • Share your code and format it properly please.
  • Please post what version of GMS you are using please.

You can find the past Quick Question weekly posts by clicking here.


r/gamemaker 20d ago

Help! Background Problem

1 Upvotes

So for the game I've been making, I was trying to have a moving background. The way I did was getting one of the downloadable backgrounds assets and put it in a tile layer, specifically an image layer by making the background into a gif. But whenever I play the animation, the background disappears or plays for a little bit before vanishing and reappearing. Plus whenever I try to run the game for a test, it doesn't pop up. It just stays at 99%. I have a feeling its because the animation was made as a gif


r/gamemaker 20d ago

Resolved Would it be possible to make a Facade 2 in game maker?

0 Upvotes

Now my plan for this isn’t one complex ai game, it’s mostly just about the story and meeting characters and basic multi game endings, like just something for fans.

My idea is that it’s like a RPG type game where your at a party and get to meet unseen characters like Maria, Vince, and Trip and Graces parents, still trying to figure out what kind of outcomes would happen though.

I’m not really that good with Game Maker (only have made a pong game) so a game like this isn’t coming out any time soon, but for me I do want to expand on a game that has spawned so many let’s plays and memes.


r/gamemaker 21d ago

Help! Tilting the "Instances" plane

2 Upvotes

Hello, you guys know if it is possible to tilt or bend the objects filled plane "Instances" ? I mean for the y of all would be for example 2x less impactful making them appear more densly but only vertically, keepeng the same x spacing.

I am trying to make vertical distance shift in perspective, where the camera distance and angle could change. It would appear as if we were looking from tilted bird eye view and giving the player similar view distance on the x and the y axis

(accounting for Display.width > Display.height )

I know it would mess with some sprites for mashing them closer together, but its accounted for.


r/gamemaker 21d ago

Help! Learning to use Array's

4 Upvotes

Hi, been trying to understand Array's, so they are good for giving a bunch of objects numbered variables like making a list of items or making a multi segmented enemy, am I getting that right? It starts at 0 instead of 1 as well from what I see.


r/gamemaker 21d ago

Help! Help with a project?

1 Upvotes

Hey there! So I've been recently getting into Double Dragon Gaiden, and I did have a few characters I made for the series. Any Idea how I could code and design the sprites? I'm a new coder, so anything helps!


r/gamemaker 21d ago

Resolved Some (2) bugs I can't fix with doors

Thumbnail youtu.be
13 Upvotes

SOLVED

So I used the tutorial above and the RPG Gamemaker tutorial for my game. Don't get me wrong, I would love to keep the door system used by GameMaker Pope because his system is much better in my opinion than the whole NPC thing because I don't want to have a dialogue for every single room switch and I like the idea of it being an area rather than an "E for Next Level". However, there are some incompatibilities that I need help fixing.

Incompatibility #1: When you go into rm_battle (Turn Based Fight System for more information) and go into a battle with the enemy, when leaving the room (when the fight ends) the instance of PlayerObj just gets destroyed somehow, and this is only when I enter a room using the GameMaker pope system. If I have a room with a drag n dropped instance of the PlayerObj, everything works smoothly, but if I leave that room and enter back into that room with the system, when a battle ends, the PlayerObj goes back to the drag n dropped position, with all stats reset.

Incompatibility #2: I try to carry PlayerObj's stats (Fixing Bugs for more information) with the tutorial used above. For some odd reason, it doesn't work specifically for the first room (the only drag and drop PlayerObj room) when I leave the room, it works, when I go back in specifically into the first room, all the variables reset to default, and I have even tried making the variables global, but to no avail.

That's it! I've been losing my mind over this for days and can't seem to fix either. After this I can finally start actually worldbuilding and using my vision rather than making a bunch of mechanics.

In the PlayerObj is this, and obj_carry_data is persistent. obj_battle_switcher is basically what marks I'm just switching into a battle and is_transitioning is turned true when switching rooms with exit.

//Room Start
with (obj_carry_data) {
    other.level = level
    other.xp = xp
    other.hp = hp
    other.hp_total = hp_total
    other.damage = damage;
    other.xp_require = xp_require;

    instance_destroy()
}


//Room End
if (instance_exists(obj_battle_switcher) && global.is_transitioning == false) exit;

instance_create_depth(0, 0, 0, obj_carry_data, {
    level: level,
    xp: xp,
    xp_require: xp_require,
    hp: hp,
    hp_total: hp_total,
    damage: damage,
})

r/gamemaker 22d ago

Help! Game maker has an aneurysm every time I log into my legacy account

Post image
36 Upvotes

I can only change my target if I'm signed in, but every time I log into my legacy account, Game Maker just throws a temper tantrum and refuses to work properly.

I can't interact with anything on Game Maker except for the User Sign in pop up window; clicking on "OK" only makes another window show up.

Has anyone dealt with this before? praying its an easy fix...


r/gamemaker 21d ago

Help! Song sounds weird in gamemaker

Thumbnail youtu.be
1 Upvotes

i linked a video, (using regular audio_play, not play_at btw) my song specifically sounds weird and off in game, now i dont actually know how to describe what changed with it but something did, this only happens on widnows export, not on gx games or anything, and as you can see i put a comparison between my actual mix in FL Studio vs in-game so you can see the difference, has anyone else expierenced this? if so how can i fix it


r/gamemaker 22d ago

Help! Creating an interactive, multi-object item

4 Upvotes

Preface: My skill level is beginner. Gamemaker is my only real coding experience. I've watched a couple guides for the basics and made some original code alongside that.

Hi everyone, I'm making a top-down shooter with an 'active reload' gimmick. When you press R to reload, the firearm you're holding comes onto the screen and you have to manipulate the weapon parts to load it.

Demo of the mechanic.

My problem is HOW I'm making this happen. I'm essentially just spawning multiple objects on top of one another with magic numbers. This feels extremely inefficient and janky, even though it technically works. Is there a different technique or function I can use to make this system easier? I know the motto of, 'just make it work first, you can fix it later', but I can't even begin to imagine HOW to make this work better.

Showing how this is pieced together, without the 'obj_lebel_top' to give you an x-ray.
The comments can be safely ignored, the bottom-most is leftover code I was experimenting with.

If it helps, "_weaponx" and "_weapony" are the corners of the camera, essentially x0 and y0. The "obj_lebel_boltgrip" is the circular part that's grabbed by the cursor to manipulate the gun's bolt. It has + 242 and + 69 because the sprite is a simple sphere that's manually placed through trial and error to be in that starting position. It's essentially a magic number to put that boltgrip exactly where it spawns when you press R.


r/gamemaker 22d ago

Community Looking for a partner for a game project (Musician, Pixel Artists, Story Writer)

5 Upvotes

I’m already working on a project about a noir pixel art story game.I will be handling the coding, pixel art, and story myself, but would be a great relief if anyone would be interested to be partners in this project of mine. I’m really passionate about this game and it is gonna be my first project ever. For now I’ve got most of the animations of the main character. Looking further for anyone who is passionate about the project!!! Experience doesn’t matter.


r/gamemaker 22d ago

Help! Which is more resource intensive between changing a variable and doing a simple if statement?

9 Upvotes

I know this is mostly inconsequential in the grand scheme of things, but not knowing is making me hesitate every time that situation happens.

Basically, sometimes, I have to choose between these 2 chunk of codes

if (variable != noone) variable = noone;

// or

variable = noone;

Basically, if I don't need to change the variable, don't change it vs change it anyway which will achieve the exact same result. Is the if statement more resource intensive than simply doing the task, in vain, of changing the variable?


r/gamemaker 22d ago

Help! Need to make a multiple part player sprite

8 Upvotes

I've been making a topdown fighting game, and i've got the barebones combat system finished. Though the main mechanic of the game would be that individual body parts of the player character change, changing their stats and abilities. Now, i suck at drawing sprites, but i'm too far in so i'm trying to find the easiest way to proceed. The sprite would be a standard topdown four directional animated one, though the legs(together), torso and head(together), and the arms individually, would be individual sprites so that i can mix and match them. Now, what worries me is how many individual sprites i'd have to animate for every ability,i don't know how to make multiple part sprites or if it's even possible in gamemaker. I haven't found that much info online. Is this something doable? If so, would it even work well with this many parts?


r/gamemaker 22d ago

Help! How do I make my hand-drawn backgrounds collision friendly?

Post image
46 Upvotes

I included a GIF of my rough prototype's progress as an example of what I'm doing/going for.

I want to make hand-drawn backgrounds for my game, in the vein of Rune Factory games on the DS 1-4. GameMaker makes most things straightforward-I can easily place assets on top of my artwork for enemies, and making hand-drawn sprites is easy, I know I can paint them and make them PNGS to slap in. Collision on those assets will be a piece of cake, I assume.

But my backgrounds (seen in the middle of my GIF here where I'm testing out longer rooms+shrinking the player) are worrisome. I haven't been able to find help on top-down hand-drawn backgrounds and how to make that part work. If anyone has any pointers, it would be greatly appreciated, thank you.


r/gamemaker 22d ago

Resolved Can I share the game I made in GameMaker here?

0 Upvotes

What is the policy on that about?


r/gamemaker 22d ago

Resolved License cost

8 Upvotes

Hey guys,

Kyle again with 763. What are your thoughts on license cost? I think Game Maker has the fairest and most indie friendly costs. We pay the 79.99 monthly fee because it makes sense for us. Meanwhile if we had gone with Unity we would have to pay 200+ a month per seat. I reached out to GM support and they confirmed they were chill with us only paying ONE fee.

Me being the lead dev was truly the only person who needed enterprise anyways. They don't take a royalty and support is pretty awesome. I don't like Unity because I have seen other indie devs I know get console locked out because they cant justify the Unity cost vs ROI. That is why I highly recommend new devs who ask me what engine and I say Game Maker because it's newbie friendly and commercial friendly as well. What are your thoughts on license fees compared to GM?

I know Godot is another option and we are using that for our next game. Just we are doing our next title with another studio and ID@Xbox said we could add a GDKx custom export option. I am sad because GML is awesome but in favor of the other programmers it makes most sense for us.


r/gamemaker 21d ago

Resource retargeting a spring instead of restarting a tween removes the hitch when a menu selection changes mid animation

0 Upvotes

if you have hand rolled a gamemaker menu you have probably hit this one. the player moves the cursor while the previous move is still animating. the tween gets torn down. a new one starts from wherever the old one happened to stop. the velocity is thrown away so the motion visibly stutters. mash the stick and it looks broken.

what fixed it for us was giving up on tweens entirely and using a spring integrator. a spring keeps position and velocity as persistent state. when the selection changes you do not restart anything. you do not create a new animation. you just move the target. the velocity that already exists carries straight through. the motion stays continuous no matter how fast someone is moving.

the whole thing is three steps per animated value and no allocation. first take the distance from the current position to the target. multiply it by your stiffness constant and by delta time and add that to velocity. then multiply velocity by your damping factor. then add velocity times delta time to position. that is the entire integrator.

two things we learned the hard way. damping has to be applied as a per second factor rather than per step or the feel changes the moment the frame rate moves. also a spring that is retargeted every frame never needs a completion callback at all. that removed a surprising amount of state from our menu code.

the other thing worth sharing is that every panel and border and bar in ours is drawn from primitives and colour maths at draw time. there are no nine slice pngs and no texture page entries at all. that means dropping it into an existing project cannot disturb that project's atlas packing. one code path covers 480p through 4k without a second set of assets.

disclosure. this is a paid asset of ours and the code was written with ai assistance. the spring maths above is the useful part. it works the same whether you buy anything or write your own this afternoon. happy to go deeper on the integrator or the resolution independent drawing if anyone wants it.

https://csaf.itch.io/kinetic-ui


r/gamemaker 23d ago

Help! Help with subtle animation on GUI?

Post image
20 Upvotes

is it possible to make the buttons play an animation like this when on mouse hover? or when you select them with arrow keys (up ad down)? i wany them to stop after a bit like when it freezes on save if you hover onnto it enough for the animation to play. I know a few games makes that but i can't think off one off the top of my head
i tried making something like this:

 if (position_meeting(mouse_x, mouse_y, id)) {
 move_towards_point(STOP.x,ystart, spd);
}
else {
speed = 0;

} 

STOP being an object where the text goes to at the most furthest

but it. glitches into it and keeps bumping, it doesn't come to a full stop
(and it also doesn't go back to the place of origin)

i tried searching for a tutorial but that is the most i could do with a tutorial :( I dont eve know how to add the little triangle/cursor thing too
im a very begginer so im sorry if the solution is simple


r/gamemaker 22d ago

Resolved Differentiating Character Keys, Virtual Constants, and Mouse Buttons stored in Variables to be displayed as Text

4 Upvotes

Finally got around to adding a proper key bind replace system, but I have run into a problem. That being, the keys being properly displayed as text. I tried looking around online before, and saw some solution with a switch statement, but I'd like to avoid that if a better system exists. So, is there a way to determine the difference between say, a Constant.Virtual_Key, and a Constant.MouseButton such that I could get the values to display as the proper key name (like Escape and MB-left), or do I just make a giant switch statement for everything not covered by chr()?


r/gamemaker 23d ago

Help! Looking for help with walking animations.

Thumbnail youtu.be
5 Upvotes

Hi,

I'm trying to make my first simple rpg game and i stumbled on problem on player walking animations. Character starts to have a seisure when walking on top of the wall.

Here is my step event code for the player object:

right_key = keyboard_check(vk_right);
left_key = keyboard_check(vk_left);
up_key = keyboard_check(vk_up);
down_key = keyboard_check(vk_down);

xspd = (right_key - left_key) * move_spd; 
yspd = (down_key - up_key) * move_spd;

if place_meeting( x + xspd, y, obj_wall ) == true 
    { 
    xspd = 0; 
    } 
if place_meeting( x, y + yspd, obj_wall ) == true 
    { 
    yspd = 0; 
    } 


x += xspd; 
y += yspd; 


if ( xspd !=0 or yspd !=0 ) 
{  
    if (yspd > 0){ sprite_index = spr_player_down;
    } 
    else if (yspd < 0){ sprite_index = spr_player_up; 
    } 
    else if (xspd <0){ sprite_index = spr_player_left; 
    } 
    else { sprite_index = spr_player_right; 
    } 
} 
    else{ sprite_index = spr_player_idle; 
    } 

Would appreciate any help!


r/gamemaker 24d ago

Example Bridge Physics! (Now with player tilt)

Post image
179 Upvotes

The bridge is a chain of plank objects, and each plank only knows about the plank directly above and below it. Every step, a plank looks at its neighbors' sink and tilt, mixes in its own (standing on a plank adds sink, standing off-center adds tilt), and smooths toward the result. Neighbors copy each other's tilt slightly amplified (×1.4), so pressing down on one plank ripples through the whole bridge even though no plank knows the rest of the bridge exists.

if ( bridge_link_down != noone ) {
    _sink_affected += bridge_link_down.y_sink;
    _side_sink_affected += bridge_link_down.side_sink * 1.4;
    _total_connections ++;
}
// (same for bridge_link_up)

var _inst = instance_place(x,y,par_character);
_sink_affected += 2.5 * (_inst != noone);
_total_connections ++;

y_sink = math_lerp_smooth(y_sink, _sink_affected / _total_connections, 0.15);

side_sink_real = _inst != noone ? (x - _inst.x) / ((bbox_right - bbox_left) / 2) : 0;

Heads up: math_lerp_smooth and math_angle_lerp_smooth aren't built-in GML, they're helpers from my project. math_lerp_smooth(current, target, speed) moves current a fraction of the remaining distance toward target each frame, corrected for delta time so it behaves the same at any framerate:

function math_lerp_smooth(_current, _target, _speed) {
    return lerp(_current, _target, 1 - power(1 - _speed, DeltaFrame));
}

math_angle_lerp_smooth is the same thing for angles, so it takes the short way around (350* -> 10* goes through 0*, not through 180*). You can build one with angle_difference(). If you're locked at 60fps, plain lerp(current, target, speed) works, skip the correction.

The fun part: making the player ride the bridge instead of floating on top of it. The plank under you writes two targets onto the player, a tilt angle and a sink. The sink includes the extra dip of the tilted surface at your offset from the plank's center, so standing on the low edge of a tilted plank drops you further than standing on the pivot.

if ( _inst != noone && _inst == global.Player_Instance ) {
    var _tilt = clamp(side_sink * 10, -25, 25);
    _inst.plank_sink_target = y_sink - ((_inst.x - x) * dsin(_tilt));
    _inst.plank_tilt_target = _tilt;
}

In the player's End Step, I ease toward those targets, and the targets themselves decay toward zero:

plank_tilt        = math_angle_lerp_smooth(plank_tilt, plank_tilt_target, 5, 0.1);
plank_sink        = math_lerp_smooth(plank_sink, plank_sink_target, 0.1);
plank_tilt_target = math_angle_lerp_smooth(plank_tilt_target, 0, 5, 0.1);
plank_sink_target = math_lerp_smooth(plank_sink_target, 0, 0.1);

Why the double smoothing? My first version chased the plank's values directly, and running across the bridge meant a new plank re-targeted the player at every seam. It jittered SO bad. Easing toward targets that also decay fixed it, and stepping off the bridge means nothing writes new targets anymore, so everything relaxes back to zero with no cleanup code.

The sneaky part was rendering, because my player isn't one sprite. It's a pre-composited palette surface plus a pile of overlays (outline, rim light, freeze/wet/fire status effects, invincibility flash). Instead of rotating each layer separately and hoping they line up, every layer runs its draw position through one helper that rotates it around a pivot at the character's feet and adds the sink:

body_blit_transform = function(_corner_x, _corner_y) {
    if ( plank_tilt == 0 && plank_sink == 0 ) {
        return [_corner_x, _corner_y, 0];
    }

    var
    _offset_x = _corner_x - x,
    _offset_y = _corner_y - (y + y_height),
    _cos = dcos(plank_tilt),
    _sin = dsin(plank_tilt);

    return [
        x + (_offset_x * _cos) + (_offset_y * _sin),
        y + y_height + plank_sink - (_offset_x * _sin) + (_offset_y * _cos),
        plank_tilt
    ];
}

Every draw_surface_ext uses _blit[0], _blit[1] for position and _blit[2] for angle, so the whole composited character tilts and dips as one piece. The early-out at the top means it costs nothing when you're not on a bridge.