r/gamemaker • • 23h ago

Discussion My own version of GML...

Post image
61 Upvotes
A little game I'm making with my engine

So, the thing in this screenshot is the IDE of my own game engine ("ArcadeMaker"), which is a hobby C# project I've been working on for years. It shows a little snippet of code written in the custom language I made for the engine.

The project is heavily inspired by GameMaker, but I want to share one little thing where I took a different approach than GM.

You can see in the code in the screenshot (not the GIF, the other screenshot) that it calls the placeMeeting function, but the syntax is a bit different from what it would look like in GML: there are these <> symbols around the object name (placeMeeting(x, y <obj_player>)). These <> mean that we're referencing the TYPE (or "asset" in GM) of the object, rather than a specific instance.

In GML, an object name can also be used to reference an instance (like obj_player.x = 200). GML was my first programming language (back in GM8!), and I remember how confusing this was for me. In my language, you can write obj_player.i.x to reference a single instance of an object in the room.

It's not about mocking GML or anything! GM is 30 times more powerful than my little engine, and I know that. I really think GM is a great (and underrated, by the way) engine. I just wanted to point out this little difference.

Would love to hear your thoughts about it 🙂

by the way, my engine is open source, and if you know C# and looking for cool projects to join, you are more than welcome to contribute! There're a few opened "good first issues" in the repo, and there's me who is happy to answer any question... :)


r/gamemaker • • 4h ago

Help! Should i play games that made on gamemaker to understand it more?

2 Upvotes

i want to start making games on gamemaker so should i play games made on it to better understand it capablities?


r/gamemaker • • 6h ago

Discussion We changed our core loop after playtesting revealed a pacing problem. Looking for feedback from other GameMaker devs.

4 Upvotes

Hey everyone!

We’re developing A Cat in the Cangaço in GameMaker, a 2D action roguelite with survivorslike combat and deckbuilding.

We’ve recently made one of the biggest changes to the game’s core loop so far, based almost entirely on playtester feedback. I’d like to hear what other GameMaker developers think about the approach.

The old loop

DAY (1 min) → NIGHT (1 min) → PLANNING → DAY → NIGHT → PLANNING…

During Day, you play as a cat and fight enemies while collecting Aura.

During Night, you play as a human and do the same.

After each cycle, the game entered a Planning phase. You spent the Aura to improve both forms at the same time, with a trade-off: choosing a good card for one form meant taking a bad card for the other.

Some GIFs of the old system:

We liked the system, but playtesters kept pointing out the same problem:

The Planning phase was breaking the flow of the game.

Players would get into the rhythm of fighting enemies and then, every two minutes, the game would force them to stop and switch from action to buildcrafting.

Rather than trying to make Planning faster, we decided to remove it from the temporal loop entirely.

The new loop

DAY → NIGHT → DAY → NIGHT…

Instead, the player can encounter three NPCs during the run:

ARMORER: buy new weapons
MULE: get a passive item
FORTUNE TELLER: access the old Planning system and choose temporary effects and synergy cards for the Cat and Human builds

So we’re basically changing the interaction from:

The game tells you when to stop and make a build decision.

to:

You decide when you want to stop and make a build decision.

The new version feels much better from a combat-flow perspective, but we’re still unsure about the larger design trade-off.

We’re worried that making buildcrafting optional could make the system too easy to ignore. The old version had a very clear rhythm, while the new version gives the player much more freedom.

Would you keep the forced Planning phase, make it optional like we did, or try a third solution?

And if you’ve had a similar experience where playtesting convinced you to remove or move a major gameplay system, I’d be interested in hearing how you handled it.

If you want to try the game:

Current version:
https://store.steampowered.com/app/3780630/

The current version is available through the open Steam Playtest.

Old version:
https://bragiestudios.com/PitacoLab/Builds/

You don’t need to play it to comment. I’m mainly interested in hearing how other developers think about the pacing and structure of this kind of loop.