Search Unity

[Design?] Best practices with creating scenes

Discussion in 'Game Design' started by Madix, Nov 22, 2014.

  1. Madix

    Madix

    Joined:
    Nov 22, 2013
    Posts:
    16
    Hello!

    A couple friends and I are trying our hand at our first game for the fun of it, nothing serious. We're playing around with creating a CCG style game as we figure it's a good first project as it's not too complicated.

    My question is, from a best practices standpoint when should you create a new scene? In terms of a CCG, how many scenes would be recommended? We were thinking 2 scenes would be sufficient. One scene for the game load, login, game lobby where you would create decks, have the various menus and starting a match. The second scene would be the game environment where the match would be played.

    Thank you for your time and support.
     
  2. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    I think this topic just borders the line between 'How do I...' (which, is implementation, not design) and 'For what reasons do I...' (which, pretty much is design.) I'll answer the latter, but with references to the former, due to your stated experience level.

    First things first, from a design perspective, it really depends on what the user needs. This sounds similar to Hearthstone, which is perhaps too complex for a first timer, but you could conceivably make it work for you.

    What I would do instead is have an initialization scene to set up any persistent objects that don't get destroyed on load, a title/main scene that lets users select what they want to do (queue for a match, or build decks), a scene for matchmaking, a scene for deck construction, and finally as many 'at the table playing' scenes as necessary (since you seem inspired by Hearthstone, start by making one 'at the table' scene.)

    The reason this 'one scene at a time' thing would work for the user, is you could make each scene visually distinctive, which will help the user understand 'where they are' in the application (yes, games are a software package, you should treat them as such.) If you have a deckbuilding scene which looks like an arcane library, and a matchmaking scene which looks like the entrance to a coliseum, it would help the user not make a "OMG Stupid User!" mistake.

    The reason this 'one scene at a time' thing would help you and your friends, is each person could work on a single scene with less of a chance of affecting another part of the application. What's more, because you're all inexperienced as developers, you could use the Weekly Game Design or WIP topics to help fine-tune each individual screen, without worrying about having to rewrite the whole app - each screen has one and only one responsibility!

    If I were you, what I would start by doing is building the 'at the table scene', and use that for iterating your overall design. Get the basics of networking in using hardcoded IP addresses so that two people could play a game with each other (ideally, you'd want to do this on some local network where you know what IP addresses you're going to be communicating with. When you add matchmaking, then you would worry about the tougher stuff, because by then you'd be more experienced and generally make better decisions.)

    I'd say 75% of a CCG game is being at the table, playing against another human being. This way, you can iterate your art style, iterate your sound design, iterate your artifacts' balance (by that, I mean the cards themselves), and iterate the game's presentation. You're going to get it wrong the first few times!

    Remember, those WIP and Weekly Game Design threads are your friends! So is getting the game in front of other people, any way you can.
     
  3. Madix

    Madix

    Joined:
    Nov 22, 2013
    Posts:
    16
    Thank you for the great feedback. I understand exactly what you're saying and it makes perfect sense. We're experienced developers due to our jobs but none of us have experience developing a game so unsure of best practices. This helps clarify things, I appreciate the feedback.