Where to start when getting into game developing?

  • (2 Pages)
  • +
  • 1
  • 2

19 Replies - 8039 Views - Last Post: 27 May 2011 - 01:42 AM Rate Topic: -----

#1 Tesgah  Icon User is offline

  • New D.I.C Head

Reputation: 5
  • View blog
  • Posts: 8
  • Joined: 18-May 11

Where to start when getting into game developing?

Posted 18 May 2011 - 05:24 PM

Hello posters here at Dream.In.Code.

A friend of mine and myself have wanted to become game developers for a long time. Make our own (two-man) indie company, and program our own games. Lately, we've been looking at the possibility of pursuing this dream. However, we have absolutely no knowledge of any area of the developing process (programming, graphics etc.), and our only expertice is what years of gaming have given us; knowledge about how a game should be (feel, presentation, story and so forth). In other words, we're at the very bottom of the learning curve.

We've been checking the internet and read the tutorials on this site, and while we've gotten a few ideas of how to start off, we're still not certain which of the many paths we should choose. So we've decided to ask you, the experienced ones, what tips you can give us. What do you need to make a game? What do you need to learn?

Make no mistake, we both know the considerable amount of work that is ahead of us should we embark upon this quest. But we are young, and more than willing to put hundreds of hours, years, into first learning, then making a game. We know that we're looking at an enormous pile of effort to get to where we want to be, but we are ready for it. We are prepared to do what it takes.

So what tips can you give us? We know that we can attend special schools, but lets leave that out for now.

We don't really know how to formulate the best question, but perhaps one of you could be so kind as to give us a possible list of what we should focus on learning, and in what order?

For example: Python + Vim ---> C++ ---> SDL ---> DirectX. If you also use a game engine, like Ogre3D, can you make a game with experience in these areas? Where do we begin, and with what?

Sorry for the wall of text, guys, but thank you for reading it and helping us. It is very much appreciated :)

Is This A Good Question/Topic? 1
  • +

Replies To: Where to start when getting into game developing?

#2 Tesgah  Icon User is offline

  • New D.I.C Head

Reputation: 5
  • View blog
  • Posts: 8
  • Joined: 18-May 11

Re: Where to start when getting into game developing?

Posted 18 May 2011 - 05:36 PM

Sigh, we don't know how we missed it, but this page came up as recommended when we posted this thread: http://www.dreaminco...me-programming/

It had a lot of info, though we would still like to hear any information or tips you could give us. Thanks again :bigsmile:
Was This Post Helpful? 0
  • +
  • -

#3 heyoman1  Icon User is offline

  • D.I.C Addict
  • member icon

Reputation: 64
  • View blog
  • Posts: 735
  • Joined: 30-November 09

Re: Where to start when getting into game developing?

Posted 18 May 2011 - 06:24 PM

Well for starters, you have to choose your target platforms. If:

Windows only: C++ with DirectX (9-11) is the way to go for high-speed Graphics/Audio/Events. This does have a steep learning curve, so it you want to start off easy, everybody recommends C# with XNA, which brings the ease of OOP with high-speed Graphics (and maybe audio, not to sure).
Mac OSX only: Objective-C and OpenGL also brings speedy and great graphics.
Linux only: It's pretty hard to develop for Linux alone, but you can use OpenGL along with C/C++ for graphics.
Cross-Platform: You can bring the best of all 3 worlds into one language called Java. This does have it's own graphics and Java3D, but for really great graphics (and audio), use jMonkeyEngine3 as your engine.

Please note that OpenGL is ONLY a graphics library, and you would have to provide audio/windowing/events yourself. This can be done with some frameworks/API such as SDL, GLFW, FMOD, etc.

This post has been edited by heyoman1: 18 May 2011 - 06:26 PM

Was This Post Helpful? 2
  • +
  • -

#4 stayscrisp  Icon User is offline

  • フカユ
  • member icon

Reputation: 998
  • View blog
  • Posts: 4,173
  • Joined: 14-February 08

Re: Where to start when getting into game developing?

Posted 19 May 2011 - 02:57 AM

You might want to check out this thread
http://www.dreaminco...ing-start-here/
Was This Post Helpful? 1
  • +
  • -

#5 anonymous26  Icon User is offline

  • D.I.C Lover

Reputation: 0
  • View blog
  • Posts: 3,638
  • Joined: 26-November 10

Re: Where to start when getting into game developing?

Posted 19 May 2011 - 10:56 AM

View PostTesgah, on 19 May 2011 - 01:24 AM, said:

Hello posters here at Dream.In.Code.

A friend of mine and myself have wanted to become game developers for a long time. Make our own (two-man) indie company, and program our own games. Lately, we've been looking at the possibility of pursuing this dream. However, we have absolutely no knowledge of any area of the developing process (programming, graphics etc.), and our only expertice is what years of gaming have given us; knowledge about how a game should be (feel, presentation, story and so forth). In other words, we're at the very bottom of the learning curve.

We've been checking the internet and read the tutorials on this site, and while we've gotten a few ideas of how to start off, we're still not certain which of the many paths we should choose. So we've decided to ask you, the experienced ones, what tips you can give us. What do you need to make a game? What do you need to learn?

Make no mistake, we both know the considerable amount of work that is ahead of us should we embark upon this quest. But we are young, and more than willing to put hundreds of hours, years, into first learning, then making a game. We know that we're looking at an enormous pile of effort to get to where we want to be, but we are ready for it. We are prepared to do what it takes.

So what tips can you give us? We know that we can attend special schools, but lets leave that out for now.

We don't really know how to formulate the best question, but perhaps one of you could be so kind as to give us a possible list of what we should focus on learning, and in what order?

For example: Python + Vim ---> C++ ---> SDL ---> DirectX. If you also use a game engine, like Ogre3D, can you make a game with experience in these areas? Where do we begin, and with what?

Sorry for the wall of text, guys, but thank you for reading it and helping us. It is very much appreciated :)

Have a read of my blog entry and the responses that follow. It should make your questions more focussed. :)
Was This Post Helpful? 1
  • +
  • -

#6 Tesgah  Icon User is offline

  • New D.I.C Head

Reputation: 5
  • View blog
  • Posts: 8
  • Joined: 18-May 11

Re: Where to start when getting into game developing?

Posted 19 May 2011 - 03:52 PM

Thanks a lot for replying! :tup:

So, if I were to learn C++ I would use Visual C++ 2010 Express to code, and DirectX to make the graphics/audio/events? Do you think that going straight for C++ and DirectX is a bit too heavy for a beginner, or is it possible for a devoted person?

XNA and C# seems like an "easy" route to start with, but after taking a look at the price of Visual Studio I literary fell off my chair. We do not have the money to pay such amounts right off the bat. Is XNA really that expensive, or have we overlooked something?

How many different programs do you need to make a game anyway? I realize that knowing how to use many different programs and languages is benefitial, but that is something that comes with time and experience.

What do you use to make your games?

Thanks again :sorcerer:
Was This Post Helpful? 0
  • +
  • -

#7 anonymous26  Icon User is offline

  • D.I.C Lover

Reputation: 0
  • View blog
  • Posts: 3,638
  • Joined: 26-November 10

Re: Where to start when getting into game developing?

Posted 19 May 2011 - 04:15 PM

View PostTesgah, on 19 May 2011 - 11:52 PM, said:

Thanks a lot for replying! :tup:

No problem. :)

View PostTesgah, on 19 May 2011 - 11:52 PM, said:

So, if I were to learn C++ I would use Visual C++ 2010 Express to code, and DirectX to make the graphics/audio/events? Do you think that going straight for C++ and DirectX is a bit too heavy for a beginner, or is it possible for a devoted person?

Ideally you should, but the ultimate goal should be using the tools that allow you to complete your game. I wrote my very first game after I graduated in computer science so I had a fair old bit of coding experience before hand in academic artificial intelligence. This is a significant head start over others currently starting out in game development. At the very least, if you wish to 'go pro' you will certainly need the Visual C++ knowledge without a doubt.

View PostTesgah, on 19 May 2011 - 11:52 PM, said:

XNA and C# seems like an "easy" route to start with, but after taking a look at the price of Visual Studio I literary fell off my chair. We do not have the money to pay such amounts right off the bat. Is XNA really that expensive, or have we overlooked something?

I'm reluctant to call it an 'easy option', but it certainly is a lot cleaner than the code you will be expected to work with in the industry. Even professional game code is a confusing nightmare at the best of times. I'm currently playing around with C# to see what all the fuss is about and it (coupled with XNA) is not what you will see in the industry. For a hobbyist with talent I would certainly suggest they look at this option rather than the often punishing C++/DirectX route.

View PostTesgah, on 19 May 2011 - 11:52 PM, said:

How many different programs do you need to make a game anyway? I realize that knowing how to use many different programs and languages is benefitial, but that is something that comes with time and experience.

That would depend on the platform you are working on, and the supported tools and SDKs for your development environment. As well as the quality of the game you hope to create. Too many variables in there.

View PostTesgah, on 19 May 2011 - 11:52 PM, said:

What do you use to make your games?

Thanks again :sorcerer:

Everything spawns from Visual C++ with DirectX for my home projects, and whatever SDK for whatever platform when at work. :)
Was This Post Helpful? 2
  • +
  • -

#8 heyoman1  Icon User is offline

  • D.I.C Addict
  • member icon

Reputation: 64
  • View blog
  • Posts: 735
  • Joined: 30-November 09

Re: Where to start when getting into game developing?

Posted 19 May 2011 - 05:36 PM

Actually, C# and XNA Game Studio are free of charge, and VC# Express (free version) does allow distribution with it's ClickOnce tech.
Was This Post Helpful? 1
  • +
  • -

#9 Tesgah  Icon User is offline

  • New D.I.C Head

Reputation: 5
  • View blog
  • Posts: 8
  • Joined: 18-May 11

Re: Where to start when getting into game developing?

Posted 19 May 2011 - 06:44 PM

View Postheyoman1, on 19 May 2011 - 05:36 PM, said:

Actually, C# and XNA Game Studio are free of charge, and VC# Express (free version) does allow distribution with it's ClickOnce tech.

What do you mean by "does allow distribution"? Are there certain programs where the licensers won't allow me to distribute/sell a finished product if their program is used to make it?

Would you say that it is easier to learn C# than C++? Would it be a good idea to first become familiar with programming using C# and XNA, then maybe along the line learn C++ and DirectX once I've become more experienced?

Because of the nature of our lives it would be difficult to be more than hobbyists in the beginning :rolleyes2:

You guys are great! :rockon:
Was This Post Helpful? 0
  • +
  • -

#10 heyoman1  Icon User is offline

  • D.I.C Addict
  • member icon

Reputation: 64
  • View blog
  • Posts: 735
  • Joined: 30-November 09

Re: Where to start when getting into game developing?

Posted 19 May 2011 - 07:08 PM

By distrobution, I mean that VC# will allow you to create a .msi installer so that the application would fully work on a customer's computer. But be warned now that because you are using an Express edition, you have limited your self for what you can deploy, as for one: you can't deploy database programs. Here is a pic explaining the rest.

As for learning, I would suggest that you learn the basics of C# before attacking graphics. Get up to working with OOP, then start with XNA. C# brings the feel of Java, with the power of native programming. So learning C# would give you an easier path to learning C++. Once you feel comfortable and settled with C# and XNA, and feel like diving in deeper, then by all means move onto C++/DirectX. Just be careful that DirectX can become confusing at times, but is easy to manage.
Was This Post Helpful? 1
  • +
  • -

#11 Oler1s  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1395
  • View blog
  • Posts: 3,884
  • Joined: 04-June 09

Re: Where to start when getting into game developing?

Posted 19 May 2011 - 09:26 PM

> So, if I were to learn C++ I would use Visual C++ 2010 Express to code

Doesn't have to be VC++. You could use another IDE and another compiler like GCC.

> and DirectX to make the graphics/audio/events?

Not necessarily. Also, you'll use Direct3D for rendering, but the window context and input handling are going to be through the Windows API. Audio, I'm not sure. XAudio2 maybe, or FMOD, or something else. Up to you. Or you could use OpenGL.

> Do you think that going straight for C++ and DirectX is a bit too heavy for a beginner

You're not going to be starting off with Direct3D. If you start off with C++, you'll start off with a rather difficult language to learn. And even if you were an expert programmer, C++ is still a time intensive language to use.

> XNA and C# seems like an "easy" route to start with, but after taking a look at the price of Visual Studio I literary fell off my chair.

Visual Studio is not required for XNA. You can get VC# Express for free.

> What do you use to make your games?

Depends on the game and other factors. I don't start by asking about language or libraries or what not. I start by getting requirements.

> Would you say that it is easier to learn C# than C++?

Significantly.

> Would it be a good idea to first become familiar with programming using C# and XNA, then maybe along the line learn C++ and DirectX once I've become more experienced?

Your goal is to make a game, right? But your question seems to suggest your goal is to learn C++ and Direct3D. Stop making C++ your goal. Focus on being able to program and create something. You'll move languages and libraries as needed when you have experience.

> Because of the nature of our lives it would be difficult to be more than hobbyists in the beginning

And that's why a language like C# or Python will help. It takes less time to accomplish something in those two languages. Not to mention that they are (relatively) easy to learn, particularly Python.
Was This Post Helpful? 4
  • +
  • -

#12 anonymous26  Icon User is offline

  • D.I.C Lover

Reputation: 0
  • View blog
  • Posts: 3,638
  • Joined: 26-November 10

Re: Where to start when getting into game developing?

Posted 19 May 2011 - 11:07 PM

View PostOler1s, on 20 May 2011 - 05:26 AM, said:

> So, if I were to learn C++ I would use Visual C++ 2010 Express to code

Doesn't have to be VC++. You could use another IDE and another compiler like GCC.

> and DirectX to make the graphics/audio/events?

Not necessarily. Also, you'll use Direct3D for rendering, but the window context and input handling are going to be through the Windows API. Audio, I'm not sure. XAudio2 maybe, or FMOD, or something else. Up to you. Or you could use OpenGL.

> Do you think that going straight for C++ and DirectX is a bit too heavy for a beginner

You're not going to be starting off with Direct3D. If you start off with C++, you'll start off with a rather difficult language to learn. And even if you were an expert programmer, C++ is still a time intensive language to use.

> XNA and C# seems like an "easy" route to start with, but after taking a look at the price of Visual Studio I literary fell off my chair.

Visual Studio is not required for XNA. You can get VC# Express for free.

> What do you use to make your games?

Depends on the game and other factors. I don't start by asking about language or libraries or what not. I start by getting requirements.

> Would you say that it is easier to learn C# than C++?

Significantly.

> Would it be a good idea to first become familiar with programming using C# and XNA, then maybe along the line learn C++ and DirectX once I've become more experienced?

Your goal is to make a game, right? But your question seems to suggest your goal is to learn C++ and Direct3D. Stop making C++ your goal. Focus on being able to program and create something. You'll move languages and libraries as needed when you have experience.

> Because of the nature of our lives it would be difficult to be more than hobbyists in the beginning

And that's why a language like C# or Python will help. It takes less time to accomplish something in those two languages. Not to mention that they are (relatively) easy to learn, particularly Python.

I would be extremely careful with this advice, as these are some of the very assumptions that leave people wondering why after all the effort in making games they actually don't make it into the industry. Another message that isn't getting through even though I have made it perfectly clear is that if making games professionally is your goal, then the tools you use for your hobbyist development is very important - and I'm speaking from actual experience.

Taking some of the points and the reason why they could potentially be bad advice:

1. Yes, although it doesn't have to be VC++ it is very strongly advised that it is. When testing your code and running tools that are compatible with that environment you should be familiar with how to configure that environment for a variety of situations. If you don't know your way around Visual Studio you are at a significant disadvantage.

2. Good advice on the audio aspect.

3. No, C++ should be your goal if you really want to experience game programming and everything (good or bad) that goes with it. To advise otherwise is downright wrong.

As you quite rightly say use whichever path gets you completing your games, but strive to use the tools, if you are really serious about game development, that are used in the real world or their closest equivalents.

They key to being a game developer is to attack difficult problems head-on with a 'can do' attitude. Game development is difficult and there is no way around it. Hell, even to this day I am faced with programming problems that can't be Googled nor answered on a forum or any other reference material, it is the nature of the beast! :)
Was This Post Helpful? 2
  • +
  • -

#13 Tesgah  Icon User is offline

  • New D.I.C Head

Reputation: 5
  • View blog
  • Posts: 8
  • Joined: 18-May 11

Re: Where to start when getting into game developing?

Posted 20 May 2011 - 08:08 AM

View PostOler1s, on 19 May 2011 - 09:26 PM, said:

Your goal is to make a game, right? But your question seems to suggest your goal is to learn C++ and Direct3D. Stop making C++ your goal. Focus on being able to program and create something. You'll move languages and libraries as needed when you have experience.

Our goal is to make a game, yes, but it's not like we only want to make a single game, then return to our "normal" lives. A part of this pre-learning phase is figuring out both our short time and long time goals. As far as I see it, starting with C# might be smart for a complete beginner. That way I can become familiar with programming, but somewhere along the road C++ is necessary if I want to get into the industry.

I think that once we have been programming/learning/making a game, it will be easier to know which path to take next. We'll basically have enough experience to know what we need to learn.

Everywhere I look people recommend that we avoid starting with C++, unless we are really persistent. What do you think, Butch? Should we start with the easier language, then later go for the "better", but more punishing one? On the other side going straight for C++ might save us more time in the long run, but nothing would feel worse than working on C++ for a long time, hitting a brick wall then give up in frustration.

This is difficult :wacko:
Was This Post Helpful? 1
  • +
  • -

#14 anonymous26  Icon User is offline

  • D.I.C Lover

Reputation: 0
  • View blog
  • Posts: 3,638
  • Joined: 26-November 10

Re: Where to start when getting into game developing?

Posted 20 May 2011 - 09:18 AM

View PostTesgah, on 20 May 2011 - 04:08 PM, said:

Everywhere I look people recommend that we avoid starting with C++, unless we are really persistent. What do you think, Butch? Should we start with the easier language, then later go for the "better", but more punishing one? On the other side going straight for C++ might save us more time in the long run, but nothing would feel worse than working on C++ for a long time, hitting a brick wall then give up in frustration.

This is difficult :wacko:

So be honest unless you are proven to be an exceptional programmer, just choose the route that best suites you over going straight to C++. I have to admit that C# has grown a little (or maybe quite significantly) and I have been tested formally many times in C++ where I have practically 100% coverage of the language from memory. C# is clean and easy to follow in comparison. If you are unsure start with that. :)
Was This Post Helpful? 1
  • +
  • -

#15 Tesgah  Icon User is offline

  • New D.I.C Head

Reputation: 5
  • View blog
  • Posts: 8
  • Joined: 18-May 11

Re: Where to start when getting into game developing?

Posted 20 May 2011 - 01:27 PM

Thank you very much, everyone! You've been a great help and we are now fairly certain of what to do. Now let us cross our fingers that one day in the future, you will get the chance to pick up a game with our names labelled on the box, and, hopefuly, genuinely enjoy the experience :hehe:

We'll surely return should we encounter any problems or have any other questions. Maybe we'll even be here as advisors ourselves one day. Who knows ^^
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2