Advertisement

Best practices worst practices?

Started by February 17, 2016 08:24 PM
5 comments, last by Ocimum 8 years, 10 months ago

Hey Guys,

My question is from your experiences and feedback from this forum: What seems to be the best learning and worst learning paths that new game developers seem to make? In other words, does there seem to be common mistakes or best practices that new game developers make when starting out?

Thanks


does there seem to be common mistakes or best practices that new game developers make when starting out?
There are many common mistakes. Everyone makes their own.

Read all you can so you can learn from other people's mistakes and pick up good practices.

Do as much as you can and think about it afterword so you can learn from your own mistakes and develop better practices.

You make good software by relying on your experience. You gain experience by making bad software. If you never make software you won't gain that experience, so do much, fail often, and frequently reflect on what you have done.

Advertisement


does there seem to be common mistakes or best practices that new game developers make when starting out?
There are many common mistakes. Everyone makes their own.

Read all you can so you can learn from other people's mistakes and pick up good practices.

Do as much as you can and think about it afterword so you can learn from your own mistakes and develop better practices.

You make good software by relying on your experience. You gain experience by making bad software. If you never make software you won't gain that experience, so do much, fail often, and frequently reflect on what you have done.

Well said. I think I will print that response out and frame it. Thank you.

1) You learn from making mistakes. Do NOT try to avoid them while learning, even if they hurt sometimes (when you wasted months trying to implement something, just to find out you were on the wrong track all along and have to redo it)... they will ALL teach you important lessons way better than the best experts on the field can (In case of the wasted months, not to waste so much time on something you don't even know will work for you use case).

Of course not learning from other peoples mistakes will not serve you well, if you have to make all these mistakes all over again. All I am saying is to not worry too much if you do make mistakes along the way. A Mistake you made is only time wasted if you don't learn from it. And share it with the world, be "proud of your mistakes"... many people might thank you for it, because that is one mistake they can scratch off their list.

2) Best learning path by far is: practice, practice, practice. Just start somewhere, and keeping working on games, prototypes and subsystems. Don't worry too much about "wasting time" and stuff like that... programming takes many years to master alone, with the additional things involved in game development, that time only increases.

3) Be ready to invest A LOT of time. Years. Many. And then some more. If this is not a labour of love for you, you should look elsewhere.

One best practice that gets named often for beginners is to start small and work your way up. Basically working your way through the history of video games, start with a pong clone or text adventure, move to pac-man and snake, and so on.

What a lot of people would call bad practice is to jump directly to 3D development with a modern high end engine and try to create a AAA level game. That will certainly lead to dissapointment as the scope is just way too large.

In my opinion the worst thing you can do is look for shortcuts.

Take your time, and make sure you're having fun doing what you're doing. Some people just dive in, grab hold of an engine like unity, unreal engine 4, etc, and then get disheartened when their mass of pre-built assets, pre-written code, and duct tape just doesn't work together.

Without understanding of what you're doing, you don't get something to work. It would be like trying to fix a car when not even understanding what a wheel is...

Start at the beginning by reading the FAQs in this forum section, and having some goal in your head with clearly defined steps of how to get there from here. e.g. if you want to create a 2D game entirely yourself, you'll need to learn to program, and possibly know the basics of using a graphics/paint program at the least.

Whatever you choose, good luck!

Worst practice : not practicing.

Program everyday for however long, may it be an hour or seven. However, don't let up for a moment.

Typically I try to learn at least two new things about whatever language im using per day, while also working on my projects.

Every day you neglect is a day of learning you can't get back.
Advertisement

Worst practice : not practicing.

Program everyday for however long, may it be an hour or seven. However, don't let up for a moment.

Typically I try to learn at least two new things about whatever language im using per day, while also working on my projects.

Every day you neglect is a day of learning you can't get back.

Yeah thats like with every other language, if you don't practice it everyday you won't have the words to describe things and talk to people. In programming context you can't speak to the machine so nothing is happening.

But to get back to your question, if you don't concentrate on the new stuff you do, and you maybe do a lot of copy & paste you might not understand the magic in between and if there will happen an error you might not understand where errors come from because you didn't write the code.

I give you some small examples I had in the last time using Unity:

--------------------------------------------

- I got a script to make objects selected with the mouse dragable, on drag I wanted to change the height of the selected object. Changing the height value wasn't possible, and I didn't understand why. So after some hours of try and error I saw, the height value was public, so it will be displayed in the inspector. ( so you don't have to step into the code ). So for me the problem was, it was already a public variable and from the first run the script will always take the values from the inspector ( NOT THE CODE ). So till I found the solution for my problem it took me hours because I didn't write the code, so I was not totally aware where errors could come from.

- I tried to get the colliding event on the wrong object because I wasn't aware how the principles behind collision was done in Unity....

But to be true, many things will be learned by doing mistakes so that you understand why its better in a different way.

But staying calm and first understanding how things work will save you a lot of time. Even you don't want to invent the wheel totally new you will have to work on it a little even it looks repetitive. And if you can speak a language, its always nice and you might get good feedback on each conversation ( script )!

Indie Unity & iOS Developer

[twitter]xandru.cea[/twitter]
Website

This topic is closed to new replies.

Advertisement