Wednesday, March 1, 2017

c# - What are the dangers of self-teaching game development?



I am about to embark upon a journey into game development. Following answers to my last question, I will be using C# and XNA.


However, I don't personally know any other game developers and I don't work in the industry so, as such, will be self-taught. The exception to this is obviously the asking of questions and reading of online/printed information but I would still class this as being self-taught.


With that, I want to be prepared for issues that I may encounter through not having someone to "keep me under their wing".


As an analogy, when self-teaching myself to play guitar, I played the A major chord in such a manner that it made moving to a chord I learned later more difficult.


If you could share your lessons learned and advice on what might go wrong in my learning of game development I'd be grateful.


I am well aware that making mistakes is the biggest part of learning but, if there're mistakes I can be prepared for then I'd be happier with that.



Answer



Game development is like structural engineering


There are minimum requirements for functionality. The minimum requirements are not exceptionally challenging and many people can learn how to fulfill them. That's the function part. It's the small part. This is where the decisions of what language to use, platform to develop on, or what libraries to utilize come in.



The next part is the big part. The form part. Form is what really distinguishes the good games from the great games. This is the part that's the art of game development. I'm not talking about just the sensory assets (graphics, sound, etc?). I'm talking about crafting an experience. This is the hard part.


The function part comes from tutorials, libraries and a bit of time. Anyone can do it.


The form part comes from you. It's the passion that got you to want to make games in the first place. It's like telling a story, a made up story (or a true story you embellish, a lot). The more you tell the story, the better it gets. In software development we call it iterating. Your story is your code. The first time you tell it, it won't be very good. Things will be out of place, you'll realize that this bit should go there and that one here. You'll find that things will probably flow better if you arranged things this way or expanded on this bit. So, just like a good story, you'll tell it, gauge how good it is, and then modify it. This takes dedication and this takes time. Don't fret if the first thing you produce isn't gold. I have worked long and hard on many parts of my game only to rip them out later because I thought of a much better way of doing it. Don't worry about this, it's all part of the learning process. You always learn from your mistakes, and often making those mistakes is what leads you to the better way of doing things.


So what you should take away from this is this:



  • Play test often.

  • Don't get caught up on the function right now. Don't worry to much about optimization, or which library will be the best in the long run. Just get the minimum functionality, then iterate.

  • Once the function is done, congratulate yourself, you're a small fraction of the way done.

  • Wear sun screen

  • This is a skill that takes time to develop, you know that from learning a musical instrument, this is no different, you will get better.


  • Remember what you're in this for, the joy of creating! If things get boring, then switch to something else (try out some game jams to break-up your development time). But don't quit just because it's hard.

  • The game development community here on SE is great. You'll find everything you need here. You can post a question or hop into chat and discuss your ideas.


The internet is full of feathers of information in blog posts, tutorials and communities like this one. Collectively, I'd say that's a pretty good wing to be under. Basically the dangers are not severe. You might do things the "wrong" or hard way for a while, but you'll learn eventually. You appear to have plenty of programming experience, so I think you'll pick up on the function part quickly. The mistakes made in game development and "regular" development overlap a lot. Your experience will help you avoid many of the common issues the befall new game developers. I think you'll do just fine. Good luck.


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...