top | item 6866539

(no title)

dariusk | 12 years ago

Hi, author of the site here. Spelunky was made using GameMaker 8, and I ported it to GameMaker Studio and used its HTML5 exporter to get it working in Chrome, then I modded the core game from there for this tool.

So: the reason it's constantly redrawn is because GameMaker redraws the whole screen.

But also, it's important to note that GameMaker is meant to be general purpose game engine. Dirty rectangles work great if you're building very specific kinds of games where only small portions of the screen are updating at any time. For a game like Spelunky, which is a platformer where the whole screen moves (aka there's fast "camera" motion), it doesn't provide very large performance boosts at all. I don't work on GM so I can only guess but I'm pretty sure it's a combination of a super-legacy engine (GM is 15 years old and hasn't had a complete rewrite ever) as well as a need to be as flexible as possible.

discuss

order

girvo|12 years ago

Man, nostalgia. I got started with GameMaker back with version 4.0... I was 11, lol. GML, my first ever scripting language...

wreegab|12 years ago

> "For a game like Spelunky, which is a platformer where the whole screen moves"

Ok. It's because from here nothing moves. Using Chrome 30 on Linux Mint.

dariusk|12 years ago

Right, it doesn't move in this version. This is a mod of the full game, which does move quite a bit. I wasn't going to rewrite the entire core render loop for the original game just for this weekend hack.