So.. Where do I begin?

Started by
8 comments, last by AlphaSilverback 6 years, 6 months ago

Hi! 

Basically, game development is something I've wanted a career in for a few years but I've never really known how to get started.

 I've downloaded Unity and worked through a few of their tutorials but I can't help feeling like i'm staring in the middle rather than at the start. Should I learn to program first then learn how to use an engine? Would that make my life easier in the long run or is Unity the logical starting point? If programming is the right first step, which language? Do I start at square 1 with HTML and work my way up to the more complex languages like c+ or Java? Is that even necessary? 

I understand that's quite a few questions, I'm still very new to all this so I hope i'm making sense!

Any help would be appreciated! :)

Advertisement

I'm assuming that you view yourself as an aspiring developer as part of a larger team, rather than a generalist making games alone or with 1-2 others. Let me know if this is not the case, as the advice would change.

Within the realm of "development" there are really multiple tracks, although that isn't necessarily obvious to beginners. You can be a web developer, mobile app developer, graphics developer, backend developer, full stack developer, etc, etc. Depending on who's doing the recruiting you might have more/fewer/overlapping options, but you get the idea. In my experience, you'll have the most fun and be the most motivated when you're learning tools that are most relevant to the specific role you want to have. So, let's talk about those tools you listed...

  • HTML: Required if you want to do web dev or games in HTML5. The good news for you is it's pretty basic and easy to learn. Not a bad idea for any role just because some degree of HTML knowledge is usually assumed, but if you're not doing browser-based stuff you could invest less time in it.
    • CSS and JavaScript: You didn't mention these, but they are also necessary on the web side. CSS is more in the UI/design bailiwick, but similar to HTML in that a basic proficiency is generally assumed. JavaScript deserves special mention due to the prevalence of NodeJS on the server side -- basically, if you don't know what role you might like but you know it involves code, start with JavaScript. :-)
  • Java: Android development. Not interested in Android? Well, Java is a solid beginner language (it was what my CS program used and I imagine plenty others do too), but other than mobile I probably wouldn't bother.
  • C++: Definitely learn C++ if you want to make PC or console games. I'll warn you, C++ is a fair bit more challenging than Java or JavaScript, but it's the fastest way to that goal.
  • Unity, etc: Do you want to make an indie game using Unity (or some other specific engine)? Is there a potential employer you have in mind who uses it? Full disclosure -- I've never used Unity :-D -- but I think here you might be getting too specific too quickly to be much help. Again, if there's a good reason for this specificity, then have at it.

Hope this is helpful!

Start by making a text adventure or by remaking a classic game like Pong or Packman. The engine and language you use won't  matter much, they are just tools and don't define the game.

The only most important deference between these "small" games and AAA games is scale of the game.

 

I recommend the text adventure because you spend a lot less time making assets and a lot more time on just making the game.

This article (that I wrote) may help you out on where to begin.

 

Beginner in Game Development?  Read here. And read here.

 

Thanks everyone, your answers really helped and have given me a lot to think about!

Shelvick, initially i'd like to work for a company yes but at this moment in time I haven't picked one in particular, so maybe i'll put Unity on the back burner for now.

I have a basic understanding of HTML and CSS already so i'll crack on with Javascript and work my way up from there! ?

Scouting Ninja, i'll definitely give that a go, thanks!

GDNet+, your article is really interesting, thanks for sharing. ?

You got some good advice here, but let me suggest a different approach (that's still builds on the concept of taking it one step at a time).

While I eventually managed to work a big name studio and publish a book on game development, when I started I knew nothing about game development or coding. It was just my creative drive that pushed me forward. I think getting too technical early on may discourage you too soon if you don't have the background and are not all-in. Instead, I'd say you need to get a taste of what it is like to build a game first before going deep. In a sense, dipping your toes in the water. Maybe you will like it, maybe you won't.

Programming/Coding is hard. Programming games is much harder. Programming good games is way harder!

So here's what I suggest: Drop Unity and other engines back on your back log. Do the same to all those programming language that you want to learn, they have to wait. You need to know what you're doing, then start picking the right tools to do it. Instead, pick a rapid application development tool like Clickteam Fusion, Construct, etc... that allow you to build games quickly and without coding (for the most part).

This will teach you basic mechanics and techniques that will be widely applicable. They probably won't be sufficient to land you a career in game development yet but they will give you an understanding of what's involved in building a game from a high level. If your goal is to just enjoy making games, that may be all you need. But if you want to make it a career, you can then start pivoting and looking at it would take to recreate one of your simpler games in code. Start leaning coding on the side, then when you are ready to make the switch, pick your next engine/tool and work on bridging the gap.

One step at a time, this will get you closer to where you want to be.

Check out War to the Core the world domination space MOBA-RTS hybrid.
Join us on Discord.
Into sci-fi novels? Then check out Spectral Legends.

On 10/4/2017 at 5:26 PM, shelvick said:

I'm assuming that you view yourself as an aspiring developer as part of a larger team, rather than a generalist making games alone or with 1-2 others. Let me know if this is not the case, as the advice would change.

Within the realm of "development" there are really multiple tracks, although that isn't necessarily obvious to beginners. You can be a web developer, mobile app developer, graphics developer, backend developer, full stack developer, etc, etc. Depending on who's doing the recruiting you might have more/fewer/overlapping options, but you get the idea. In my experience, you'll have the most fun and be the most motivated when you're learning tools that are most relevant to the specific role you want to have. So, let's talk about those tools you listed...

  • HTML: Required if you want to do web dev or games in HTML5. The good news for you is it's pretty basic and easy to learn. Not a bad idea for any role just because some degree of HTML knowledge is usually assumed, but if you're not doing browser-based stuff you could invest less time in it.
    • CSS and JavaScript: You didn't mention these, but they are also necessary on the web side. CSS is more in the UI/design bailiwick, but similar to HTML in that a basic proficiency is generally assumed. JavaScript deserves special mention due to the prevalence of NodeJS on the server side -- basically, if you don't know what role you might like but you know it involves code, start with JavaScript. :-)
  • Java: Android development. Not interested in Android? Well, Java is a solid beginner language (it was what my CS program used and I imagine plenty others do too), but other than mobile I probably wouldn't bother.
  • C++: Definitely learn C++ if you want to make PC or console games. I'll warn you, C++ is a fair bit more challenging than Java or JavaScript, but it's the fastest way to that goal.
  • Unity, etc: Do you want to make an indie game using Unity (or some other specific engine)? Is there a potential employer you have in mind who uses it? Full disclosure -- I've never used Unity :-D -- but I think here you might be getting too specific too quickly to be much help. Again, if there's a good reason for this specificity, then have at it.

Hope this is helpful!

I am also a beginner in the Gaming world but I have an idea that I feel worth pursuing. I have been going through multiple tutorials to get myself started. Can you please share some tutorials as well which would help.

Any help would be appreciated.
Cheers!

Software Developer

On 04/10/2017 at 12:45 PM, Mama said:

Hi! 

Basically, game development is something I've wanted a career in for a few years but I've never really known how to get started.

 I've downloaded Unity and worked through a few of their tutorials but I can't help feeling like i'm staring in the middle rather than at the start. Should I learn to program first then learn how to use an engine? Would that make my life easier in the long run or is Unity the logical starting point? If programming is the right first step, which language? Do I start at square 1 with HTML and work my way up to the more complex languages like c+ or Java? Is that even necessary? 

I understand that's quite a few questions, I'm still very new to all this so I hope i'm making sense!

Any help would be appreciated!

I would also advise to follow what MMK told.

To get lost in the technical infinity is very easy, and especially when you don't have any technical background. And once you choose one technical way, it's not that easy to have to start again in another one when you realize that the first one will not bring you where you wanted.

It sounds like you have some ideas in your head, that you want to try and produce to get it out of your head. Every true creator can relate to this.

The naked truth is that to use Unity fully as only a tool to get to your goals (without thinking much about HOW to do stuff), you will need to know something about programming in an object-oriented programming language (C#, Java or C++, preferably C++), something about real-time simulation engines and something about Physics-systems. These are the core components in any game (some logic, some physics, and rendering an image more than 26 times per second (rendering engine) ).

   I have been programming games, sims and tools since 2007, starting in C/C++ and it still took me an entire month to learn how to use Unity efficiently.

If you want to pursue a career and really quickly get into games and all the underlying stuff, I'd strongly recommend you joining the Game Institute at https://www.gameinstitute.com/. Their courses are cheap and the content is written for people who knows nothing - AND it will get you straight to the top. They even have courses in some of the game engines like Unity3D and Unreal Engine 4.  Here, you will learn to code, the inner workings of a real-time sim engine, to animate, to model, and get a really good feel for most customs in the field. The tutors are energetic and know exactly what you mean most of the time.   The courses are self-pased, so you can take all the time you need.

It is really bold just downloading Unity and expect to be able to create a game from nothing. Most good game developers know everything about efficiency(because the more efficient their code is, the more features and visuals and AI can run simultaneously) - so algorithms, math, Design patterns and Software architecture, and an understanding of the hardware that the programs run on is second nature to those of us who are good at it.

So, the recipe is:
1) Take some courses in programming

2) Take some courses in game engines

3) Take some courses in 3D modelling and Animation

4) Take a courses in using Unity or Unreal Engine

5) Fulfill your dream by designing a game-play and creating some concept art + simple story.

6) Implement it

7) Release and profit/get your heart out there.

 

I hope you chase this dream of yours - it is an incredibly illuminating journey. Feel free to contact us/me anytime if you have any other doubts or uncertainties about your direction.
 

Alpha Silverback

This topic is closed to new replies.

Advertisement