So I've made a lot of progress with my game, but ran into yet another unforeseen hurdle: my game sucks up Memory like nobody's business. Right now I'm looking at maybe 200 MB or so of RAM, by the time the game is done it'll probably be using up somewhere close to a gig.
I figured most computers nowadays have at least 2 gigs of RAM standard, and if it's for gaming even more, but there seems to be an overwhelming number of people that see the word 2D and assume it has to be small, cheap and short. I made the decision to half all the resources, cutting memory usage significantly, but after seeing the new neutered game in action… my heart dropped. I could see pixels!!! The original beast is a sleek, ultra sharp monster that looks even better under the scrutiny of an HD monitor or TV. I don't know. I guess I can make two versions, but realistically they'd come out years apart, or maybe not at all. So, to HD or not HD? That is the question. I risk alienating a lot of people by putting out such a demanding game, on the other hand, I made those sprites myself, I want them to look their best. Oh well, right now I'm leaning towards making the "weak" version.
HD
200 megs of RAM is perfectly fine. What you should be more worried about is how much video memory your textures are taking up. Go past 256 megs and then you'll have some serious issues. Memory management in this regard is tricky and depends on the game, but usually you don't need that many textures all loaded up at once. Keep in mind the player can only see one screen's worth of stuff at a time and you should be able to keep everything HD.
In comparison, the game I am currently working on is designed to run at 1280x1024 resolution (and will support up to 1900x1200 or whatever crazy widescreen res you have), and one of its levels is a GIGANTIC ship. If I were to load the ship at max res into memory with no management, it'd take up around 250 megs by itself. To counter this, the middle portions of the ship you can only see when zoomed out, so I will be enforcing lower resolution textures in the center of the image and only go super duper high res on the edges. This should slice my memory usage down to 50-100 megs with basically no loss in quality.Erik, what about 2048x1152? A lot of things don't support my resolution of choice. :(
Game Makers ok, just not a language to brag about.
Well then HD it is. I'll have to make some adjustments; switch things up a bit.
@blackhole, you're right it's all about Memory management, I was already able to knock things down a bit. Yeah, I figured if people wanted to play good regular sd 2D games there are more than enough awesome emulators out there. Thanks.I *think* I can support that. The issue usually isn't the resolution itself, just the number of pixels I have to render, since the textures only go up so far in res before I just start zooming the camera out to match the resolution. All the GUI and everything are all calculated dynamically so theoretically any resolution will be supported. The goal here is that the game can always run in whatever native resolution you have the desktop in.
carritohmc, remember that you only need to load up HD textures if the resolution needs it. If you are on a low-end system, chances are it won't support high resolution in the first place, and so you can save craploads of memory by forcing all the textures to be downsized before they are loaded into memory.2d HD needs an argument? Odin Sphere isn't true HD, and lags to death on the poor PS2, while Muramasa is the same developor on Wii. Still not true HD, but in both cases those sprites are made to be zoomed in and out on, and a screen-filling dragon still looks fantastic, as does Odin Sphere's Valkyrie next to it, when the camera is zoomed in close enough to just be on the dragon's face, resolution regardless.
HD 2D is a gorgeous, under-employed thing. GM is capable of it, but requires good management of your resources or the whole thing'll slow to shit. I've tampered with it, but it's definitely not the ideal tool.Blackhole, get your animation system done so I can delegate my RPG coding to someone else under an engine that doesn't suck at what I want to do. :CI'M TRYING ZAR.
HD
SD