Hi!

I am just wondering what would be fastest(performance-wise) of Game Maker(with GML) or Python with Pygame?

Dani AI

Generated

Short answer: it depends. For many straight 2D sprite games GameMaker will usually feel faster out of the box because the engine does rendering, batching and many collision/particle operations in native code. Pygame delegates rendering to SDL (also native), but your game logic runs in Python — so Python-level loops, per-pixel math and lots of object updates are where you’ll hit the bottleneck. ’s later move to Unity is a good example: tool choice often follows feature needs as much as raw speed.

If you use Pygame, focus on pushing work down to C/SDL and avoiding Python hot paths: convert images with convert()/convert_alpha(), batch blits with Sprite groups, avoid per-pixel loops each frame, and profile with cProfile to find slow spots. For tunneling (fast-moving objects) step movement instead of moving the full velocity in one update:

# pygame: simple stepped movement to avoid tunneling
dx, dy = vx, vy
steps = max(1, int(max(abs(dx), abs(dy)) / 4))
sx, sy = dx/steps, dy/steps
for _ in range(steps):
    rect.x += sx
    rect.y += sy
    if collide_with_solid(rect):
        handle_collision()
        break

If you use GameMaker, prefer built-in systems (particles, surfaces, engine collision functions) and deactivate off-screen instances. ’s mention of missed collisions for fast objects is common; use continuous checks (line/collision tests or stepped movement) rather than relying on a single-step x += hspeed. Example GML pattern:

/// GML: stepped movement
var steps = max(1, ceil(max(abs(hspeed), abs(vspeed))/4));
var sx = hspeed/steps;
var sy = vspeed/steps;
for (var i = 0; i < steps; i++) {
    x += sx; y += sy;
    if (place_meeting(x, y, obj_solid)) { /* resolve */ break; }
}

Final points: always profile first, then optimize the hotspots you find. For quick prototyping and engine features choose GameMaker; for flexibility and Python ecosystem choose Pygame but be ready to move heavy logic into C/Cython or use optimized libraries.

Recommended Answers

All 4 Replies

Well, from what i could gather, Game maker has EXTREAMLY low system requirements.
According to Wikipedia, any processor of the pentium series (released in 1985), and any card using directx 8 (released in 2000) should be enough.

Pygame does not even seem to be finished yet, and may have performance bugs.
The last message on the pygame website was from 2009, so i think that project moved or died.

either way: these programs are so unintensive, why even care about performance?
And to answer your question: i'd go for game maker, since it's finished for one :P

I was just a bit curious to what was fastest.

Anyway I am actually using Unity 3D and Blender 3D now, but I have used Game Maker a bit before(and Pygame too).

Use MAYA 3D and you will see the quality ofy our game and fasteness

Game Maker is actually pretty slow and inflexible, but I guess that's the tradeoff you have to deal with for ease of use. I've had to deal with Game Maker myself when I was making amateur games and even their built-in collision detection functionality was broken for objects that moved quickly.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.