0
\$\begingroup\$

I wonder if my question is acceptable for your site:

I'm making a game for Android which has multiple levels, following the common practice where the player reaches a new level after the previous was completed.

During development, I would sometimes like to test the game directly at a higher level without completing the previous level(s).

One way which comes to my mind is using a configuration file to run the game in "DEV" or "DEBUG" mode. By adding data to this file, I'd be able to pass parameters to the game, to start the game directly at "LEVEL=F" for example, or even create a special menu for running the game in dev or debug mode.

Would this work or is there another more appropriate method in this case?

\$\endgroup\$
3
\$\begingroup\$

Generally I'd avoid a question that asks "would this work?" because they all have one answer:

Try it and find out!

You're in a much better position to evaluate whether a particular solution fits your needs than strangers on the Internet who know no more than a few sentences about your game, your development team, your tech ecosystem, your constraints, etc.

More often than not, when you try it, you'll find that the answer for your specific case was "yes" - but that's not a very interesting StackExchange answer on its own (it wouldn't even meet our minimum character limits for a comment).

Or, more to the point, "yes, it can work, if you do it right" ahhhh, there's the trick. Just about any strategy that makes enough sense to describe to strangers could work. The hard part is the how of making it work.

So, I'd start with a bit of a flowchart:

  • Do you have an idea of how to solve the problem?

    • If not, search for existing Q&A / Tutorials about it.

    • If you still can't think of any way to solve the problem, then ask how to solve it, giving enough details of the context of your game to fit solutions into.

  • Now you have an idea: does that solution make sense to you, and seem suitable for your needs?

    • If not, what specific problem does it have? Do you feel it's too error prone, too much work, won't cover all the cases you need, etc?

      Once you've identified why you don't like your current idea, ask for ways to solve those specific problems you've identified. (Just be sure to do the math / run a test to be sure they're real problems first, and you're not worrying over nothing)

  • Otherwise, you have a solution that seems suitable to your needs. You're probably right - it probably can work! So just try implementing it. Your idea doesn't need the blessing of the council of Internet strangers before you try it.

    If it helps you gain confidence: plenty of terrible ideas have been implemented in successful games. By contrast, yours probably isn't that bad at all. ;) It might even be great!

    Have confidence in your skills as a developer and your judgement of the situation. You got this!

  • What happened when you tried implementing your idea?

    • Did your attempt work, and serve all your needs? You're done. Congratulations, you can move on to your next feature without waiting for an Internet stranger to get back to you.

    • Did you get stuck somewhere in making your attempt? Now you have a concrete idea of where the hard parts of the problem are, and you can ask a more focused and detailed question using the concrete example of your attempt so far, and the knowledge you gained along the way.

    • Did you complete your solution, but find bugs or cases it doesn't cover? Now you can ask a question specific to solving those problem cases.

I think following this approach will help you get your work done faster, avoiding analysis paralysis and time spent on this site crafting/clarifying your question, waiting for answers, and iterating until the answers are actionable. When you do need to ask a question, these guidelines should help you ask more concrete, detailed questions that get to the heart of the problem you're having, so you get answers that are useful for what you really need.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .