Platforming Game Level Programming
#1 Members - Reputation: 118
Posted 07 July 2012 - 08:48 PM
I have a question which I believe should be relatively simple for someone with experience. I am planning to make a 2D platformer (like Mario or Super Meat Boy) in Java. Why Java? Well, I'm familiar with graphics in Java and feel comfortable with the language in general. While I know languages like C and C++, I have not done graphics programming in them.
Anyway, for the sake of brevity and hopefully clarity I am leaving out some other possibilities. My platformer world will be made of blocks similar to Terraria, and I was first wondering if it is reasonable to use sprites to represent each block, or if I may come into problems with that method. In other words, each block represented on the screen would be a block sprite. Would that become very taxing if I end up having something like 200 sprites on the screen? I don't have a good concept of how taxing representing sprites repeatedly can be.
Also I want the levels to be relatively large... in other words they won't entirely fit on the screen. Would it be best to keep track of the entire level all the time (or at least reasonable if not the best), or would it be highly advisable that I only worry about sprites in range of the screen?
Alternatives to handling this situation are also appreciated. As a quick recap I'd like to know, is representing many sprites on a screen very taxing and a bad way to design a level, and is keeping track of the entire level (even if it is off screen) a bad method? Also, are there any better alternatives?
Thanks in advance!
#2 Crossbones+ - Reputation: 1018
Posted 07 July 2012 - 09:02 PM
#3 Crossbones+ - Reputation: 967
Posted 07 July 2012 - 09:03 PM
As for keeping track of the entire level, I'd advise you to only render what's on screen. It's fairly easy to implement.
Edited by Mussi, 07 July 2012 - 09:05 PM.
#4 Members - Reputation: 118
Posted 07 July 2012 - 09:36 PM
It sounds like I can always go back and find more efficient methods of displaying many sprites later on, if it comes down to them causing too much of a problem, so perhaps I can just see what happens when I place all of them, and change it if needed.
Once again thank you for your responses, though I am still open to more opinions... especially if someone feels there is a much more efficient way to solve this problem.
#5 Crossbones+ - Reputation: 967
Posted 07 July 2012 - 11:53 PM
They seem conflicting because it's situational. I'm not sure how efficient Processing is in rendering a large amount of tiles, but it wasn't good enough in my situation. You're not using Processing, so you might not run into the same problem. I actually used a tileset from Terraria btw.I appreciate both responses, though they seem a bit conflicting. Many of the sprites will be the same. Similar to Terraria, there will only be a few different types of blocks, which will be repeated several times.
I'd suggest you do that, don't need to fix what isn't broken. However, If you do find it to be insufficient, the solution I posted is probably as efficient as it can get.It sounds like I can always go back and find more efficient methods of displaying many sprites later on, if it comes down to them causing too much of a problem, so perhaps I can just see what happens when I place all of them, and change it if needed.
#8 Members - Reputation: 1038
Posted 09 July 2012 - 12:00 PM






