Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I am still learning and I am trying to design the game levels for my first game (a platformer).

I have some straightforward questions because I feel I am on the wrong way.

Should each level have its own class ?

The way I am trying to do this is, when one finishes the first level I set all variables to null that belong to that class, unregister all events and remove all children from the stage, call a second level constructor, without declaring any variable, new level2(); and set a static var to true "in order to save" that progress in case one wants to play that level again.

However I see the code becomes messy, I run into issues, and memory management concerns arise.

I searched for help all over the internet but I can't find any tutorial that explain it in details, so I'm trying out many ways of achieving what I want, but now I am really in need of some advices to not get lost.

share|improve this question
    
What exactly is your question? How to purge a level from memory once it's done, or if you should write a class for each level you have? –  bummzack Oct 20 '11 at 7:17
add comment

2 Answers

Im not a great Flash programmer, but in general it's always a bad idea to mix data and code.

You should rather try to store your data in external formats like XML and write a class to interface it.

So you basically have one Level-class and your Importer-class which can transform your XML into a level.

I hope you get the basic idea.

share|improve this answer
    
+1, exactly what I was going to say. Take a look at Deadly Alien Map Editor for a good example of how you can store level data: dambots.com/dame-editor –  michael.bartnett Oct 20 '11 at 6:19
add comment

To add to @Anonymouse's very sensible answer -- if you intend to release it to Flash game portals, it's really important that you do not assume that you can use straight XML files with your final game, i.e. as separate files. The reason is that the portals generally expect to receive one file, your SWF, and nothing else. With AS3, it can then be better simply embed your XML into a class file using the [Embed] tag, and wire things up accordingly. Of course, if you want to keep the XML separate during development, and then put the XML body into a class file at the end, then that's fine too.

Although it sounds counter-intuitive, anyone who has released to the game portals out there will tell you the same. Even if not all of them require this, it is better to aim for the lowest common denominator and get a wider spread without having to have different versions for different portals.

share|improve this answer
    
What do you mean by "write your XML into a class file"? You can just use the [Embed] metadata tag to embed assets into the compiled swf. –  bummzack Oct 20 '11 at 8:03
    
@bummzack Agreed. Corrected. –  Nick Wiggill Oct 20 '11 at 8:10
    
@Nick Wiggill Vaguely related: To get around that limitation, do you think it's feasible then to host your own content swfs and stream those in remotely during play? –  michael.bartnett Oct 20 '11 at 12:09
    
@bearcdp I don't think you'd find many who'd recommend it. Certainly not for simpler games. But if you're creating something like an MMO with a persistent world, then obviously that would be a nessecity. In general? Avoid unnecessary integrations like plague. –  Nick Wiggill Oct 20 '11 at 13:50
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.