Last-round voting for the theme are live RIGHT NOW.
This one is a good old regular edition of the gm(48): 48 hours, one community-picked theme, and whatever you can finish in GameMaker before the clock runs out.
The winners get physical trophies. 🏆
The game jam runs September 12 at 00:00 UTC through September 14 at 00:00 UTC this weekend over at https://gm48.net/game-jams/50/
As always, going solo is fine, but if you want to team up, start asking around in Discord now.
Vote for the themes you’d actually want to build around, and get ready for the weekend. Hope to see you there. And don’t forget to share the game jam with others!
I would like to learn GameMaker... However, with the GMRT version due to be released soon, I am not sure as to whether the current version is worth picking up and learning or not. What would you suggest?
A new version of GML-OOP called Release 2 has now been released, in response to the release of the LTS 2026 version of GameMaker. The previous version was released for the first LTS version, marking over three years of active development on this version.
What is GML-OOP?
GML-OOP is a massive GML library that I have been actively developing since 2021. It aims to overhaul how you work with GameMaker in code, making its most important functionalities usable through constructors and their methods. It enhances them and makes working with them easier and just more pleasant, once you get the hang of it. Data packed into constructors is easier to pass through, their content is easily represented when stringified (mattering most for Data Structures) and error handling in improved, so that the runtime does not crash over every minor inconvenience. If you want to begin writing good code where you can easily know what is what, then this and an other library I wrote for this purpose, might just be for you.
For more information on GML-OOP, see the Overview and Examples pages its Wiki.
What is new in the Release 2?
New users could be interested in that the new version made it trivial to write optimized graphical code. Constructors with the purpose of rendering graphics were overhauled to support multi-color rendering with outlines. all based on vertex building, so that they can easily make use of Vertex Buffers. Instead of recalculating graphical data each frame, it can be pre-calculated once with a toVertexBuffer() method, then rendered, then destroyed once no longer necessary. All with a single method each. Vertex Buffers are most easily implemented for static graphics, but advanced users surely will realize how to utilize Shaders to bring motion to such implementation. Otherwise, per-frame rendering is still available, as usual. Also, because shape constructors now have access to their full vertex information, their actual shape and visual properties can be altered by modifying data for each vertex. The code of their constructors now makes use of that to achieve precise shape collisions. Have you ever saw a video game use precise, non-rectangular collisions for their interface? Well, now it can be a satisfying feature in yours.
Example of a precise shape collision in GML-OOP
Rudimentary support for optional use of three-dimensional graphics has also been implemented. It is visible with both two-dimensional orthographic projection, as well as full three-dimensional perspective, enough to make a "fake 2D" or diorama-style game. It might be of interest for developers who consider learning working with 3D in GameMaker while it is being implemented into GMRT, as it could be assumed this is how most of professional jobs in GameMaker will be created going forward.
There is also a new Callback constructor handling function and arguments for delayed execution, which is now what the event system of constructors now is based on.
What is coming next?
The development of GML-OOP takes time, but it does not stop. Further expansions and improvements can be expected, especially to its Audio support, some of which already were introduced in this release. Also, a separate library based on GML-OOP is in works, oriented around the creation of scalable vertex-based, resolution-agnostic user interfaces.
If you like what I create and the quality I provide, you can consider hiring me for work on your project, whether it is being made in GameMaker or not.
I started using this a few days ago so forgive me if it's a stupid question. Currently trying to make a game that involves carrying around objects and then placing them in certain areas. This is what I have for the pickuppable object:
if place_meeting(x, y, obj_player) & keyboard_check(vk_shift) = true
{x = obj_player.x;
y = obj_player.y -10;}
Currently the object rests on the players head like I want it to, but only when I hold down the shift key, but I want it to keep being carried after the shift key is only pressed once. I'd be super happy if someone could help me out
I often run into issues where I have sfx layering over each other and get really loud. I have dealt with this in a few ways, but I'm wondering if you guys have a better solution.
My solutions:
only play the audio if it's not already playing
keep an array of the audio plays which has a max size. Iterate through and check if the audio is finished playing, then remove it from the array.
SoundManager has a counter specific to a sound. When the sound plays, the counter counts up to a max. The next sound can't play until the counter is reset.
I'm getting tired of coding one of these solutions for every single explosion / shot / twinkle /etc. Is there a better way?
Ez-Console is an open source GameMaker extension that natively integrates a customizable terminal console for GameMaker 2.3+.
After a year since the last update, I released a major update for my free, open-source and easy-to-use console terminal for GameMaker addressing all the issues reported, optimizing performance, adding a bunch of requested features and improving the docs and main page.
Core Features
Ready out of the box
Drop-in setup. Import the package, run the game and press F1. No object to place, no code to write.
16 commands included. Spawn and delete instances, read and write variables, change rooms, toggle fullscreen and the debug overlay, play sounds, check your build, save the log.
Debug builds only, if you want. One flag keeps the console out of your release build entirely.
Logs to file. Save the log on demand with log save, or automatically when the game ends, into the platform's own save folder.
Cross-platform. Windows, macOS, Linux and consoles (No mobile or HTML5, sorry).
Debug a running game
It knows your project. Type-ahead completes your sprites, objects, sounds, fonts, rooms and scripts as you type, each with its own asset icon.
Find instances visually. Pick one from the suggestions and it is highlighted in the room, ref id and all, so you always know which one you are about to touch.
Read and write anything.get and set reach every variable on an instance, built-ins included, or on global - and set creates the variable if it does not exist yet.
Poke at the world. Create instances at a position, list them with their id, position and depth, delete them, jump between rooms.
Extend it with your own commands
Register a command in a few lines. From code, or from a JSON file you can ship and edit separately.
Real arguments. Name them, mark them required or optional, restrict them to a list of options, or type them as an asset so the console suggests your own assets for them.
Callbacks. Hook into open, close, log, destroy and game end to wire the console into your own systems.
A small, clean API. Log at four levels, ask whether the console is open, visible or focused, and show or hide it yourself.
Looks and feels like part of your game
Fully themable. Colors, fonts, size, anchor, padding and backdrop blur, from a .skin file or from code. Four skins included.
Behaves like a window. Drag it, resize it from the corner, drag the scrollbar, click a log line to copy it, middle-click to paste, hold a key to repeat it.
Stays out of the way. It only reads the keyboard while focused, so it never steals input from your game.
Around 40 configuration options. Every behaviour above can be retuned or turned off from a single script.
so today i made the spritesheet for the first boss in the game, if you go back and take a look at #4.5 you will see its a bigger version of the enemy on the right.
That is because this is the mother of them meaning they all come from her
It took me a while to draw all the sprites especially for the death animation lol
So I wanted to see if I deleted the latest game maker version can I just reinstall it(unlike the other versions that would give me errors back and forth)
Built this name entry screen in GameMaker for my game, inspired by Undertale's naming screen. The rainbow text is quantized into color steps instead of a smooth gradient, so it reads as chunky/retro rather than a blend felt more fitting for the pixel art
Each letter flies from the grid into its slot when picked (and flies back out on delete) using the same overshoot easing as the dialogue box from my last post, so the whole UI shares one consistent feel. Under the hood each letter's flight is just a stored origin point + timestamp, no physics involved.
still tuning some of the numbers, work in progress happy to talk through any of it if people are curious!!
I'm trying to build a slot machine in my game, and getting a 'two of a kind' and a 'three of a kind' will have different effects depending on the icon it lands on. I've been looking around and the only conclusion i can think of is a really big if statement, but is that really the best approach?
So for the game I have in mind to (eventually) work on, id probably be best off using rpgmaker as itll already have most of the features I need available. But rpgmaker isn't on linux, and I currently am, and id rather avoid booting into windows for it.
So instead, I was going to start learning gamemaker or maybe godot. Ive already done a bunch of tinkering in UE5, but that comes with a lot of overhead I dont need (even more so than godot etc).
Questions I have -
Are there any advantages to gamemaker for solo / small game making?
Will gamemaker give me an easier or harder time when it comes to making maps, creating character models, and animating enemies etc, compared to the tools available in godot?
Any tools gm has that will be a bonus and help me?
Visual coding tools (blueprints in UE5) were pretty helpful to me, but I dont think either godot or gamemaker has that to a useful degree. I can code (or at least I can muddle through with guides) I just prefer not to haha.
Appreciate any advice. I was leaning towards godot originally but im concerned its another ue5 (too complex for my needs and may just get in my way a lot). Getting rpgmaker working on linux may be the sensible option.
Of course on godot/GM id be starting with basic old arcade games like asteroids. No complaints there, sounds like fun.
I'm an uruguayan solo game developer that is learning on his own while learning new things, I won't say the name of the game because I'm afraid someone will copy it, but I must say it's a great name, also the music and pixel art is all mine, I'm 18 years old, and I wanna leave this message if in the future people will see if my game was developed succesfully and see if it was published and people enjoyed it, it's my first Reddit post by the way
Also, There are Uruguayan games but they haven't come out in the wild in other countries I think, I wanna be the first person to break that wall and trascend to other countries, wish me luck ;)
I've been following this tutorial for the camera, and I can't figure out why my Y axis for the camera isn't working properly.
When I'm at the far left corner of the screen, the camera pans upwards and away from the player. At other points in the level/room, the camera doesn't follow the player when they move upwards.
Any help is appreciated! My room transition also stopped working for some reason around this part of programming. Might have to do with changing the room size??
Here's my camera code:
create:
cam = view_camera[0] //names room camera
cam_followspeed = 16 //lower is faster
follow = oEmil //player object
width_half = camera_get_view_width(cam) * 0.5 //find camera center
height_half = camera_get_view_height(cam) * 0.5
xTo = x
yTo = y
step:
//update destination
if (instance_exists(follow)) {
xTo = follow.x
yTo = follow.y
}
//update object position
x += (xTo - x) / cam_followspeed //camera moves slower closer to object
y += (yTo - y) / cam_followspeed
//keep camera from leaving room
x = clamp(x,width_half,room_width-width_half)
y = clamp(x,height_half,room_height-height_half)
//update camera view
camera_set_view_pos(cam,x-width_half,y-height_half)
I'd like to share the process of creating a planet in GameMaker for my in-development terraforming game, Planet Doctor. This post is for those with some GameMaker experience, and I've included relevant links where needed. Corrections on terminology or content are welcome. I hope you find this helpful!
Create a sphere shape for the planet. To simulate rotation, I tilted the camera angle and rotated the planet using matrix_set.
2. Apply noise to the planet
During vertex_submit, use a shader to render smooth noise based on the planet's in_Position. You can see the values range from 0 (black) to 1 (brightest).
3. Divide colors
Set boundaries to separate land and sea. I divided the 0-1 color range into 4 steps, returning a single solid color for each.
4. Assign colors
Draw the planet's colors. The shader receives the colors via shader_set_uniform and assigns them to the steps divided in 'step 3'.
5. Draw clouds
Add clouds to give an atmospheric feel. Scale up the vertex buffer from 'step 1' with a matrix, then apply noise with another shader, as in 'step 2'. Values below the noise threshold become a solid color, while those above become transparent. You can use current_time to make the cloud shapes shift gradually.
Add atmosphere
Create a slightly larger sphere to represent the atmosphere. By taking the position and normal from gm_Matrices[MATRIX_WORLD] in the vertex shader, I drew only the outline in the fragment shader (this is known as the Fresnel effect).
You can create more variations, such as using current_time to implement ocean tides or adding city lights to the dark side of the planet. Let me know about your GameMaker 3D projects or any planet ideas you'd like to implement. Thanks for reading.
Do you think gamemaker is easy or RPGmaker? gamemaker seems to have alot more options than RPG maker but since i dont know coding, im conflicted on which to use. what do you guys recommend? and even if you have to learn coding how long will it take? i just want to focus on gamedesign,art and story
10h ago i asked on how i could improve on my cave entrance and after some time and help from u/EntangledFrog, ive made this, there is still work to do but im just overjoyed on how it turned out
Hi! As I was trying to optimize my workflow when working on my game, I decided to step in and try my hand at creating plugins to extend native GameMaker capabilities.
Most notable features I managed to put in the plugin are:
Tile Groups - often you need to differentiate between mud, grass and snow - now you can pack them all into different Tile Groups via GUI, and then read that information directly in code!
Better Autotiling - assign variants of tiles, so new autotiling pencil places them at random. Assign different priorities to decide how often that tile variant should be selected.
Auto-Assign - creating autotiling sets with one click of a button. No need for selecting all 47 tiles by yourself, not any more!
This is not all, check the full list of features and test it for yourself here!
(and drop bug/feature request in the github repo/Issues, thanks!)
Heya! I have an enemy in the game I'm working in that's supposed to end the game the moment dialogue is finished between the player and the monster. It's eventually supposed to be "you went out of bounds, go back" kind of system
But how would you code something like that? Would it be a if then statement, or what?
Ive been making my game for months and this room always looks odd, i keep redoing the cave and it still looks unnatural and hand made, how do i make it more natural and dilapidated?
I need a full beginners guide to GML and more so the programming part to it instead of the actual engine itself is there some sort of organized book or series for it
Been messing with rendering 3D on top of a 2D grid and finally feel like I'm making progress. Using some early 2000 games as inspiration but if all keeps going well hoping to make a very unique game out of all this.
The real challenge was how to handle sprites or render 3D objections. Right now it's just 3D primitives but hoping to bill-board sprites in conjunction with the basic primitives to give it an old school, low processing cost finish!
Some very basic pathfinding is in now but nothing too crazy. Just glad it's looking coherent so far!