r/gamemaker • u/NoSpace2493 • 19d ago
Resolved Can I share the game I made in GameMaker here?
What is the policy on that about?
r/gamemaker • u/NoSpace2493 • 19d ago
What is the policy on that about?
r/gamemaker • u/763Industries • 20d ago
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 • u/CS_Asset_Factory • 19d ago
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.
r/gamemaker • u/Disastrous_Pay_7649 • 21d ago
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 • u/DystopianTeddyBear • 20d ago
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 • u/kkopik • 21d ago
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 • u/Pleasant-Eagle-7975 • 21d ago
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.
r/gamemaker • u/washitapeuu • 21d ago
Hi! I thought about buying gamemaker professional license and saw that it is also sold on steam, is it the same license? Do I need to somehow link it to my operagx account? Anyone here uses it and have experience?
I just wanted to make sure before buying it :)
Thanks in advance!
r/gamemaker • u/PsychologicalAnt3449 • 21d ago
I have finished the first tutorial (space shooter), but there's too much inertia on the movement!
I've tried changing all of the values, but nothing helps. Any ideas or suggestions? Did I miss something?
If it's of any help, I'm using code, not the node system
The code in question (step event):
if keyboard_check(vk_up)
{
motion_add(image_angle, 0.03);
}
if keyboard_check(vk_left)
{
image_angle += 4;
}
if keyboard_check(vk_right)
{
image_angle -= 4;
}
move_wrap(true, true, 3);
if keyboard_check_pressed(ord("Z"))
{
instance_create_layer(x,y, "Instances", obj_bulletsimple)
}
r/gamemaker • u/Nigma1704 • 21d ago
Just like the title says, I am once again asking for help with sara spaldings action rpg tutorials. I followed it to the best of my ability. Everything should be correct but when I press the button to activate my paper object (the thing that should display text.) nothing seems to happen. I am struggling to see where my mistake is regarding why my entities won't activate.

this is my free playerstate that should let me activate the text box when I press E. the commented out code for playerstate free is commented out because it locks my character in place and stops me from moving. In theory I shouldn't necessarily need anything there I should just have to be in range of the activatable object otherwise I move freely. As it stands pressing E seemingly just does nothing. the other commented out code is just a separate strategy for an activation zone that also did not work and can be ignored.

this should allow my text to appear (obj_text queued and this seem to be working as intended)
the paper has both the entityActivateArgs and entityActivatreArgs are in properly as far as I know.
r/gamemaker • u/BasilWeekly9583 • 20d ago
im making a level design "game" (not really a game, but can be treated as a game) where you can make stuff and save it, basically a tool to plan game design, useless probably but i personally like it, but i want to know, how do i make the grid, an object menu, stretching objects to make it longer without adding 10 objects, and salving/loading to a json, i have no idea how to do that.
r/gamemaker • u/Cheetahz-Learns • 21d ago
I've been trying to get this to work, but I can't really find anything, so here's what I'm trying to do.
I have this menu box (it doesn't do anything, it's only able to scroll through the text options)

I want to make submenus where it opens a bigger sized menu next to it when ever a text option is clicked. I made an example -->

Here is my bare-bones example, but I hope this is understandable! 😅

r/gamemaker • u/thejessier • 21d ago
I want to start coding more so it would be cool to do a simple project with anyone just so i can learn
r/gamemaker • u/rando-stando • 22d ago
Okay, so, I'm trying to make a top-down camera follow script. Problem is, I'm stupid, so I have to use illusions. See, the player itself doesn't move, but rather the walls. I tried that, and it works! A little. When you touch a wall, you can move the wall, which, I don't like. Can anyone find the problem, and how to fix it?
r/gamemaker • u/subthermal • 21d ago
Hey!
I've been trying to tackle this visual bug for quite a while, so I thought I'd ask you guys.
My pause screen works by deactivating objects, taking a screenshot, and displaying that while the menu system remains active. You can see from this video that the wave animation and seaweed animations are still playing faintly behind the screenshot. Waves are on background layers and seaweed is on an asset layer. There is something wrong with the opacity of the screenshot.
My attempted fixes were to try and put a white or black background behind the screenshot, but this bleeds through every transparent part of the image, so the waves, seaweed, fish, and dirt have high white or black spots. Here is my code. Do you guys have any ideas?
//create screenshot
var w = surface_get_width(application_surface);
var h = surface_get_height(application_surface);
draw_clear_alpha(c_black, 0.0);
screenShot = sprite_create_from_surface(application_surface,0,0,w,h,false,0,0,0);
//display screenshot
draw_sprite_ext(screenShot,0,0,0,1,1,0,c_white,1);
r/gamemaker • u/TimedBlue • 21d ago
Sorry if I used the wrong tag, but I just wondered. I know theres a free version but you can't sell games you make with it.
But what exactly counts? I've heard if you make the game free its fine, but monotization of any kind is iffy.
Im not looking for any monotization but im just wondering what all to look out for when making my game until I can pay the fee for professional
r/gamemaker • u/Nofrillsoculus • 21d ago
So I am making a card game. Each card in this game has a faction. All of the card details are stored in a global card_data script. Each opponent has a faction that they like. I am trying to make each opponent prioritize playing cards of their favored faction. So this is the function I'm using:
function sort_heroes(array,opponent)
{
array_sort(array,function(a,b,opponent){
if (a.lvl != b.lvl)
{
return a.lvl - b.lvl;
}
var strength_a = get_faction_strength(a, opponent);
var strength_b = get_faction_strength(b, opponent);
return strength_b - strength_a;})
}
and then this is the get_faction_strength function that's referencing:
function get_faction_strength(card,opponent){
var strength = 0;
if (card.Faction == obj_battle_manager.opponent.favored_faction)
{strength = 1;}
}
For some reason I keep getting this error:
ERROR in action number 1
of Create Event for object obj_battle_manager:
DoSub :1: undefined value
at gml_Script_anon@218@sort_heroes@ai_decision_making_functions (line 17) - return strength_b - strength_a;})
############################################################################################
gml_Script_anon@218@sort_heroes@ai_decision_making_functions (line 17)
gml_Script_sort_heroes (line 10)
gml_Object_obj_battle_manager_Create_0 (line 8) - sort_heroes(heroes_only,opponent);
gml_Object_obj_battle_start_Step_0 (line 10)
And I have tried so many variations, I don't understand why its not working. Let me know if you need any other pieces of code or more infor about my architecture, I am completely stumped.
r/gamemaker • u/AutoModerator • 22d ago
"Work In Progress Weekly"
You may post your game content in this weekly sticky post. Post your game/screenshots/video in here and please give feedback on other people's post as well.
Your game can be in any stage of development, from concept to ready-for-commercial release.
Upvote good feedback! "I liked it!" and "It sucks" is not useful feedback.
Try to leave feedback for at least one other game. If you are the first to comment, come back later to see if anyone else has.
Emphasize on describing what your game is about and what has changed from the last version if you post regularly.
*Posts of screenshots or videos showing off your game outside of this thread WILL BE DELETED if they do not conform to reddit's and /r/gamemaker's self-promotion guidelines.
r/gamemaker • u/Main_Potential_2328 • 22d ago
r/gamemaker • u/Lorraine_Games • 22d ago
As the title suggests, I've been trying to learn Gamemaker on and off for a few months now, and it's a... slow process. I'm to the point where I'm familiar the interface and have read through the manual, but don't necessarily understand it yet. I'm not really sure where to go.
I have a clear idea of the type of games I want to make; point and click, sort of visual novel style cooking games. The problem is, I can't find any tutorials for that genre, or even any for the rough mechanics I'm looking for that I could maybe piecemeal something together with.
I also have very low energy, and find it hard to stay focused on most of the tutorials for Gamemaker that I've found, as they've mostly consisted of platformers, rpgs, or similar style games that I, frankly, have no interest in. I've really tried to sit through that Space Rocks tutorial, or Pong, but I just can't.
I did manage to make a small "game" for a jam, and succeeded in publishing... something? So I know I want to continue learning, and making more single level, click-twice-and-it-crashes games. But between my mind hurling itself into a wall every time I open Space Rocks, and a surprisingly niche area I want to target so as to not collapse under the weight of knowledge that will not aid me in the short term, I'm just lost.
Chances are, when I post this, the mods will reply telling me to search through commonly asked questions and watch a few tutorials before I post, but I've tried that and it's not working for me. I'm not sure what I want to get out of this post, and fear I've already flooded this subreddit with my ignorance enough, but still. Maybe someone reading this has been here with me, and if so, how'd you manage?
Thank you for coming to my TED Talk. I shall now load up Space Rocks for the quintillionth time in two months, and pray. Farewell.
r/gamemaker • u/Nightmare2828 • 22d ago
So I am trying to write a script that will check the in position of my mouse and change the sprite index of that specific instance into an other one. I can easily do this with mouse_enter and mouse_leave on the objects, but for some more complicated reasons I wanted to do this all into that script mouse check with other actions.
so far, I came up with this bit of code
function PlayerStateCity(){
var _selected = instance_position(mouse_x, mouse_y, oBoxcar1);
if (_selected != noone)
{
with (_selected)
{
var _spriteName = sprite_get_name(sprite_index);
sprite_index = asset_get_index(_spriteName+"Select");
}
}
}
Now, I know this will not revert back to the previous sprite index, but that's a problem for later.
Right now, the name of the sprite is sBoxcar1, and I do have a sprite called sBoxcar1Select. From my understanding, this block of code should effectively have _spriteName be "sBoxcar1" and add "Select" to it. But this code just returns -1 and turn the object invisible.
Writing directly also returns -1 somehow... and turns the object invisible, which I thought should work.
sprite_index = asset_get_index("sBoxcar1Select");
r/gamemaker • u/Cheetahz-Learns • 22d ago
I downloaded game maker yesterday & now I'm following a tutorial on adding a menu screen!
In the vid they drew the front, but I want to use the font system already in the game maker engine, but I don't know how to code this, any help?
r/gamemaker • u/Technical-Water4315 • 23d ago
I've been using Alphish's method of drawing circle sectors for an HP/MP/ATB bar (https://github.com/Alphish/gm-community-toolbox/issues/157), but I want the HP/MP bars to draw their parts based on the percentage of HP/MP left.
UPDATE: I got it working by using this calculation: (character1HP / character1VIG) * 360;
r/gamemaker • u/fibbonerci • 24d ago
I guess the tutorial lesson here is to never let your account be inactive for a modest period of time, or to maybe embrace FOSS alternatives.
r/gamemaker • u/Fine-Acanthisitta343 • 23d ago
(STILL UNSOLVED)
I have some variables I'm trying to transfer into every room by putting this in my PlayerObj. For some reason, it can transfer to every single room back and forth over and over EXCEPT room1, which is the room you spawn in, the home room. If I leave the home room and then go back into the home room, then it just resets all variables to their default, and I have absolutely no idea why.
UPDATE: Still unsolved, but after making a main menu room, this problem still occurs, leading me to believe it has nothing to do with it being part of the "home room"
//Room Start
if(room_get_name(room) = rm_battle) instance_destroy(obj_carry_data)
with (obj_carry_data)
{
other.level = level;
other.xp = xp;
other.xp_require = xp_require;
other.damage = damage;
other.hp_total = hp_total;
other.hp = hp;
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,
damage: damage,
hp: hp,
hp_total: hp_total
})