What should i learn to become a gamedev?

Started by
6 comments, last by Madolite 8 years, 5 months ago

There are many roads to Rome. I know that.
But what should my friends and I do if we want to become gamedevs(Programmers, we use C#)?

Is it good to learn alot of basic and advance programming?
Should we for example learn different sort algorithms and such things? To have a good background before jumping into gamedev?

What about math? What sort of math is important to know when we want to make games as mario. Diablo 2. In other word 2d and isometric games?

Other things we should learn before we hit gamedev?

I known some developers jump straight into games and learn it that way. But is that better than having a solid background in basic/advance prog, math and then start creating games?

Thanks for all replies smile.png


-Thomas

//Thomas Wiborg

Advertisement

I would say that would depend solely on what you want to do. Are you budding designers? Producers? Maybe all of you are programmers or artists? Perhaps even a jack-of-all-trades?

I'm going to base this on the jack-of-all-trades answer. It always helps to learn some programming :) advanced may not be as necessary unless it interests you. It would be beneficial for employing more advanced techniques of coding into your game. Knowledge is power, and the more you know the better you will be. Me personally, my approach to learn programming was to make games. As I was learning C++ basic flow of control (if loops, while loops, etc) I made a rock paper scissors game. While I was learning to use classes, I made a kitten simulator :D I learn best by doing, so maybe you could make that work for you?

Math is fairly important, but sadly that I do not personally know :(

I would recommend a bit of business learnings as well as straight up game design. Both are things you can learn a lot of on this website as well as on http://www.gamasutra.com/. For design, start playing games looking at them from a design perspective. Figure out why some systems are there and why they work the way they do. Watch the Extra Credits Youtube channel a bunch and I can almost guarantee that's the only way you'll be able to see things after :)

But to really answer you question, I would say no. There is no need for a really solid background. You could just start making small games right now and keep learning and assimilate the knowledge to apply it to the next game. Eventually you will come across some major leaps, but that's what all of these resources are for :)

<Shameless self promotion> I also have a game making blog for beginners that tries to teach the foundations as I learn them in my Undergrad program (for game development!). You can find the link at the bottom :)

Check out my dev blog here :) https://jaythedanielsdev.wordpress.com/

But what should my friends and I do if we want to become gamedevs(Programmers, we use C#)?

Go make some games.

Is it good to learn alot of basic and advance programming?
Should we for example learn different sort algorithms and such things? To have a good background before jumping into gamedev?

No. Learn those things on the way, while you make games. Things you learn because you have a practical application for them have a tendency to stick better in your memory, and you tend to understand their purpose, pros, and cons much better. They become better-understood tools in your toolbox. There are lots of things that might be useful to you, but only some of those will be useful to you and the games you actually make. There's not a lot of sense in putting off making games to learn some intricacies of the math involved in isometric tile picking if you never make an isometric game.

But is that better than having a solid background in basic/advance prog, math and then start creating games?


It may help to have some experience in programming and basic math, but it is not always necessary. The best method for learning game development is to start with a small idea and work your way up. You will learn what if/else statements and for loops do while you develop your basic idea. You will probably start with simple 2D shapes as your game art, and you will learn how to improve your visuals as time goes on.

What I recommend for a beginner like yourself is to work on a small project that both challenges you, but remains in your scope (somewhere between Pong and world 1-1 from the original Mario Bros). When you are satisfied with your game, you can work on a slightly bigger project, and if you need help with your code, game art, or game design, we're here to help.

Need help getting started as a game developer? Check out my channel:

https://www.youtube.com/channel/UCq417Slwr-Qt8hN-gemJS0w?&ab_channel=HowtoMakeGames

Math is always good... I am one of those programmers that loved programming but hated most math, and I curse myself often today because when I run into a task that has to be solved with Math, I either need to learn some Math that I should have learned ages ago or (bad idea, but it seems so easy at first) try-and-error my way to the correct solution.

That being said, I am with Josh when it comes to programming AND math. Instead of reading theoretical literature for years and not really getting it, try your hands at a real project, no matter how small, and see what programming and math problems come up with it. Try to find a solution yourself, see how others solve the problem. Learn from it. Do it better the next time the problem comes up.

This way you learn new things, get expirience in real game development (as opposed to "ivory tower knowledge" which never translates to how it works in real life), and you might just get some awesome finished games to show your skills with.

Also make sure you know what you want. Is it programming, art, game design, project management, the business side? You might be able to wear many hats, but you will limit your abilities to become a specialist this way.

Depending on your future goals that might be a problem (you are either employed as programmer, artist or game designer in a bigger studio, not as a Jack-of-all-trades)... it might be a good idea if you want to stay small and get into Indie development though. Be clear to yourself and others what your plans are, and stick to it.

Thanks for alot of good replies!

Seems like trying/failing while programming games, and learn along the way is what we should do!

Ill take this with me to my friends :)

//Thomas Wiborg

Just be sure to start small.. REALLY SMALL! Otherwise you'll never finish anything. Here's a great article that tells you what you should code, and why.

http://www.gamedev.net/page/resources/_/technical/game-programming/your-first-step-to-game-development-starts-here-r2976

If you don't know anything about programming, you might need to scale it back to a "guess a number" game while you learn the basics.

- Eck

EckTech Games - Games and Unity Assets I'm working on
Still Flying - My GameDev journal
The Shilwulf Dynasty - Campaign notes for my Rogue Trader RPG

Game development is an extremely iterative process. You can't possibly learn to make viable games without trial and error, thus understanding why/how the things you're doing is right or wrong. Think of it as becoming an engineer, cook or martial artist. Studying it only takes you so far, you must practice it to become better and the best executions are usually not derived from great ideas, but rather great prototyping, iteration and continuous microadjustments. That's not to say that you should never come up with great ideas, just have in mind that you're usually your own worst critic. As for being a great game designer, that's a continuation of being good at development, and both are crucial for your game to succeed.

You first need to be fluent in a language (e.g. C# as you mentioned) and then learn about proper (conventions of) programming methodology. Then you need to be comfortable enough with your coding skills that, every time you want to have something created on screen, you know exactly how to do it properly, efficiently and fast. Structure your code in such a way that each project is little more than a concrete feature in your game, and game test these features to figure out if they work well together (prototyping). With enough projects created and linked together, you will eventually have your game ready for either public testing or ship.

I like to think that you're never really "making a game". What you're making are chunks of functionality - projects or "functionality tropes" that work well on their own. Whenever you add new functionality, you need to fit it into existing design. Sometimes, you even may need to redo your previous features if they make it hard for you to add more stuff. You need to be able to "kill your babies".

You're really engineering a set of "interconnected programs" that cowork within the same user interface and eventually emerges into a game with time, love and a deep understanding of what makes games interesting, ontologically speaking. (Which in and of itself has nothing to do with programming and everything to do with psychology).

So on one hand, game development is extremely iterative. On the other hand, game development is also extremely emergent. "Great" initial ideas usually end up (1) on the chopping block because it fails to execute well in reality or (2) as a feature that works differently or even better than you ever imagined as you thought it up.

Anyways, my two cents. I hope it helps.

This topic is closed to new replies.

Advertisement