Search Unity

Game Design Theory resources

Discussion in 'Community Learning & Teaching' started by LeonardChallis, Aug 29, 2014.

  1. LeonardChallis

    LeonardChallis

    Joined:
    Apr 16, 2013
    Posts:
    3
    Hi everyone,

    I've been learning Unity for a little while now and I'm getting quite confident with it - it really is fabulous tool. I'm mostly interested in 2D development, and for my first game that isn't part of a tutorial I'm making a card game. I'm having a blast, but I've also discovered that although I know how to use Unity pretty well, I am a little worried/confused about doing things properly. Admittedly, being my first game, I'm going to learn loads, it's most likely going to suck and I will (hopefully) look back on it and think wow... did I really do that?!

    However, and maybe this is because I come from more of an object oriented web background, I find some of the transition to using Unity a bit weird. For instance, I have a GameController empty GameObject, with a script attached, which does things like setup a List for the 52 cards, setup players, deal the cards, etc. My instinct is to create more with code, whereas it it comes to a point where I need to do more through the editor (or at least instantiate prefabs), so what I'm ending up with is having objects that have references to a visual counterpart. For instance the Card class is just an object in code, that has a property linking to s VisualCard prefab (with a VisualCardController). Then when someone clicks that it needs to link back to the GameController, so it has a public GameObject variable that links to it, to call public methods. To me this seems like dodgy OO. OK, so I've rambled enough here - this is my point:

    Can anyone suggest a decent book or resource where I can learn more about the theory of game design, preferably geared towards using Unity? I want to know how I should structure my games properly - where to use GameObjects, where to use code, the best way to reference other objects in some form of hierarchy and so on.

    I know a lot of this will come from experience, but I'd love to be able to give myself a decent headstart. I want to give myself a better chance of not picking up too many bad habits.

    Thanks for reading my rambling, and for any suggestions!

    P.S., if my post title isn't the best for this topic, feel free to modify it.
     
  2. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    Just a quick note on terminology. "Game design" you'll find generally refers to stuff like how replayable a game is, balancing risk vs. reward, having clear goals and all that sort of higher level stuff that isn't technology dependent.

    Probably I would call what you're asking about "code structure." Unfortunately, most of that is a matter of personal preference and can be very dependent on a particular game. At the end of the day, if the code is maintainable, extensible, testable, and performs well, it's "good." In some cases, you may structure things for a smaller game in a much different way than a larger game, and that may be perfectly appropriate.

    Still, it may be helpful to learn about some of the common design patterns. You'll see techniques like singletons used for certain things in games, for instance.
     
    LeonardChallis likes this.
  3. LeonardChallis

    LeonardChallis

    Joined:
    Apr 16, 2013
    Posts:
    3
    Thank you Steve, that makes a lot of sense (and probably why I've found lots of interesting resources that I wasn't really looking for!)

    I think looking for resources about patterns is a really good piece of advice, but I'm guessing from your reply that this really will just be down to experience, learning from my mistakes, becoming comfortable with a workflow that both doesn't hinder progress or creativity and that has the level of robustness applicable to the size of the project.

    I suppose the same applies to matters such as testing and team development.