Sign in to follow this  
elobire

learning game development

Recommended Posts

elobire    141
What is the best way to learn game development?
I know its a broad question, but should i first learn a programming language such as Java, or should i learn to use something like Unity?

Thanks.

Share this post


Link to post
Share on other sites
Learn a programming language first, especially if you intend to go further into game development. Unity is only one game engine... theirs tons of other ones you will have at your disposal if you can program.

Share this post


Link to post
Share on other sites
elobire    141
[quote name='DevLiquidKnight' timestamp='1341786271' post='4957049']
Learn a programming language first, especially if you intend to go further into game development. Unity is only one game engine... theirs tons of other ones you will have at your disposal if you can program.
[/quote]
Thanks. Is there any language that you would recommend i start with? I already started learning some Java in college, so i was thinking about learning from there, or is there something else i should learn?

Share this post


Link to post
Share on other sites
Python is good, but if you already started with Java, I'd suggest sticking with it - it's an equally good choice. You should stick with Java for a few years. Learning any language deeply is more important than learning "the right language". Eventually, you'll want to learn multiple languages, using the right language for the right job - but when starting out, any language that you are capable of understanding is the best language for any job you are capable of undertaking.

Go deep in Java before branching out to other languages. When you do branch out, because of your deepness in Java, you'll find other languages much easier to understand. Edited by Servant of the Lord

Share this post


Link to post
Share on other sites
elobire    141
[quote name='Servant of the Lord' timestamp='1341789935' post='4957071']
Python is good, but if you already started with Java, I'd suggest sticking with it - it's an equally good choice. You should stick with Java for a few years. Learning any language deeply is more important than learning "the right language". Eventually, you'll want to learn multiple languages, using the right language for the right job - but when starting out, any language that you are capable of understanding is the best language for any job you are capable of undertaking.

Go deep in Java before branching out to other languages. When you do branch out, because of your deepness in Java, you'll find other languages much easier to understand.
[/quote]

I did try python a while back, but for some reason i just couldnt get into it and enjoy it like i do with Java.
Does anyone know any good books to learn java from?
Thanks for the help :)

Share this post


Link to post
Share on other sites
Fredericvo    1765
I recommend C++ but I'm biased. Have only recently started to appreciate the beauty of it. I don't know Java but I have a feeling it's bloatware and slow just from hearsay so I really don't know if I'm wrong about it.

Share this post


Link to post
Share on other sites
Narf the Mouse    322
[quote name='Fredericvo' timestamp='1341791205' post='4957077']
I recommend C++ but I'm biased. Have only recently started to appreciate the beauty of it. I don't know Java but I have a feeling it's bloatware and slow just from hearsay so I really don't know if I'm wrong about it.
[/quote]
Hearsay is a bad way to form an opinion on a language. And no programming language I've ever heard of tries to be deliberately slow.

Share this post


Link to post
Share on other sites
Fredericvo    1765
[quote name='Narf the Mouse' timestamp='1341796900' post='4957099']
[quote name='Fredericvo' timestamp='1341791205' post='4957077']
I recommend C++ but I'm biased. Have only recently started to appreciate the beauty of it. I don't know Java but I have a feeling it's bloatware and slow just from hearsay so I really don't know if I'm wrong about it.
[/quote]
Hearsay is a bad way to form an opinion on a language. And no programming language I've ever heard of tries to be deliberately slow.
[/quote]I don't think I said it was deliberate.

Share this post


Link to post
Share on other sites
Without getting into a language war, I think Java, C++ or C# are all excellent choices, I really don't like Java's debugging capabilities though. Personally I found C++ the most versatile and useable as a beginner. Edited by DevLiquidKnight

Share this post


Link to post
Share on other sites
phayer    150
I would suggest C# - kinda more fun and motivating to have some GUI easily available.

Don't know how that is done in Java. Only used it for small console apps.

Share this post


Link to post
Share on other sites
Pashbee    246
As Java is familiar with you, you could try this path:-

This is an awesome free resource you can download free online - http://math.hws.edu/javanotes/ - I can't recommend it enough. Start by following those notes through and get a firm grasp of computer science/programming basics.

Once you have the basics you can then look at this as a stepping stone to actually getting some games going using purely Java - http://www.amazon.co.uk/Beginning-Java-Programming-Jonathan-Harbour/dp/1435458087/ref=sr_1_1?s=books&ie=UTF8&qid=1341814742&sr=1-1 - This is a very good resource to get you into programming Java games as applets (mainly), and also you will learn which IDE's (Integrated Development Environment) are popular for programming in Java (although Eclipse is probably still the best choice anyway). A word of warning about programming java applets, they can be a real pain to get working sometimes (but there is JWS to make things much easier).

As you move on and get more confident there is - http://jmonkeyengine.com/ - as a game engine choice to program in. It's well documented and seems to have a good community to ask questions from. It also comes bundled with its own SDK....which looks good. This was my choice of game engine in Java before I switched to C# and XNA (which isnt a game engine of course, but more a language and a framework or scaffolding if you like). I don't consider learning Java first a waste of time, it's a fantastic primer language and usable for cross platform game making.

Lastly, since your question is about game development, you have to actually work on your design skills as well to really appreciate how you should approach game design. For this I recommend this book - http://www.amazon.co.uk/The-Art-Game-Design-lenses/dp/0123694965/ref=sr_1_1?s=books&ie=UTF8&qid=1341815432&sr=1-1 - For me, it is the perfect read on game design. It covers important concepts such as game design through iteration, anthropology and other human studies, which allow you to understand the very basics in human thinking. A good game can be a great a game if you get your design fundamentals right.

I HTH and I wish you good luck and lots of fun.

[quote name='phayer' timestamp='1341801904' post='4957126']
I would suggest C# - kinda more fun and motivating to have some GUI easily available.

Don't know how that is done in Java. Only used it for small console apps.
[/quote]

Sorry phayer, I am not being insulting here but I read this at least 10 times and I am not sure I understand what you are saying? If by GUI you mean IDE (Integrated Development Environment), then yes good call, Visual Studio is a good IDE, has everything you need including Intellisense, ability to mouse wheel zoom into your code (trust me if you're getting old like me this is a big help and I don't think even Eclipse supports this out of the box) and generally the debugging information seems to be helpful.

Share this post


Link to post
Share on other sites
SimonForsman    7642
[quote name='Pash' timestamp='1341816346' post='4957170']
[quote name='phayer' timestamp='1341801904' post='4957126']
I would suggest C# - kinda more fun and motivating to have some GUI easily available.

Don't know how that is done in Java. Only used it for small console apps.
[/quote]

Sorry phayer, I am not being insulting here but I read this at least 10 times and I am not sure I understand what you are saying? If by GUI you mean IDE (Integrated Development Environment), then yes good call, Visual Studio is a good IDE, has everything you need including Intellisense, ability to mouse wheel zoom into your code (trust me if you're getting old like me this is a big help and I don't think even Eclipse supports this out of the box) and generally the debugging information seems to be helpful.
[/quote]

I think he is talking about WinForms or WPF, (The Java counterpart would be Swing)

Share this post


Link to post
Share on other sites
Pashbee    246
[quote name='SimonForsman' timestamp='1341817090' post='4957173']
[quote name='Pash' timestamp='1341816346' post='4957170']
[quote name='phayer' timestamp='1341801904' post='4957126']
I would suggest C# - kinda more fun and motivating to have some GUI easily available.

Don't know how that is done in Java. Only used it for small console apps.
[/quote]

Sorry phayer, I am not being insulting here but I read this at least 10 times and I am not sure I understand what you are saying? If by GUI you mean IDE (Integrated Development Environment), then yes good call, Visual Studio is a good IDE, has everything you need including Intellisense, ability to mouse wheel zoom into your code (trust me if you're getting old like me this is a big help and I don't think even Eclipse supports this out of the box) and generally the debugging information seems to be helpful.
[/quote]

I think he is talking about WinForms or WPF, (The Java counterpart would be Swing)
[/quote]

Ahh, understood. That could make more sense.

Share this post


Link to post
Share on other sites
Pashbee    246
[quote name='elobire' timestamp='1341824599' post='4957197']
Thanks Pash, those links are really helpfull.
[/quote]

No problems, you're welcome. Good luck and post back with updates.

Share this post


Link to post
Share on other sites
phayer    150
Sorry for not specifying; Yes, I was talking about WinForms/WPF - Swing is the Java counterpart you say? Got to google this. Never really gotten naked with Java.

Share this post


Link to post
Share on other sites
jimobama    89
Just getting Him Confuse the more, his question is "What is the best way to learn game development?", Answer learn a language first,
The most common Language use for game programming are C++,java,C#, Python and others. But the best of all is C++ which is not sooo easy to deal with. for a beginner i will recommemed java first. because it is easy to deal with compare to C++.

C++ is faster than java in compilation. and many things. u can have more books reference in C++ than in java too.

Share this post


Link to post
Share on other sites
SimonForsman    7642
[quote name='jimobama' timestamp='1341843129' post='4957275']for a beginner i will recommemed java first. because it is easy to deal with compare to C++.

C++ is faster than java in compilation. and many things. u can have more books reference in C++ than in java too.
[/quote]

I would actually advise against Java for a beginner, it isn't all that easy to write games in (the standard library is pretty much crap for it and having beginners deal with things like LWJGL isn't a good idea imo)), C# with XNA or Unity is much easier to deal with. (Allthough if he allready knows Java moving onto making games with it won't be that difficult)

Also, C++ is far slower at compiling than Java (and most other languages). (This can be a fairly big disadvantage for beginners as you'll quickly hit a point where compiling can take several minutes and unless you throw in scripting support (not that easy if you're still learning the language) you'll have to recompile frequently which really kills productivity (This is most noticable when you start using templates))

Share this post


Link to post
Share on other sites
Narf the Mouse    322
[quote name='Fredericvo' timestamp='1341797300' post='4957101']
[quote name='Narf the Mouse' timestamp='1341796900' post='4957099']
[quote name='Fredericvo' timestamp='1341791205' post='4957077']
I recommend C++ but I'm biased. Have only recently started to appreciate the beauty of it. I don't know Java but I have a feeling it's bloatware and slow just from hearsay so I really don't know if I'm wrong about it.
[/quote]
Hearsay is a bad way to form an opinion on a language. And no programming language I've ever heard of tries to be deliberately slow.
[/quote]I don't think I said it was deliberate.
[/quote]
Not what I meant. :) Just saying people who make programming languages/compilers/etc. tend to make them fast and efficient.

Share this post


Link to post
Share on other sites
elobire    141
[quote name='Pash' timestamp='1341826589' post='4957204']
[quote name='elobire' timestamp='1341824599' post='4957197']
Thanks Pash, those links are really helpfull.
[/quote]

No problems, you're welcome. Good luck and post back with updates.
[/quote]

Will do :) Guess its going to be a while though.

Share this post


Link to post
Share on other sites
Fredericvo    1765
[quote name='Narf the Mouse' timestamp='1341881222' post='4957465']
[quote name='Fredericvo' timestamp='1341797300' post='4957101']
[quote name='Narf the Mouse' timestamp='1341796900' post='4957099']
[quote name='Fredericvo' timestamp='1341791205' post='4957077']
I recommend C++ but I'm biased. Have only recently started to appreciate the beauty of it. I don't know Java but I have a feeling it's bloatware and slow just from hearsay so I really don't know if I'm wrong about it.
[/quote]
Hearsay is a bad way to form an opinion on a language. And no programming language I've ever heard of tries to be deliberately slow.
[/quote]I don't think I said it was deliberate.
[/quote]
Not what I meant. :) Just saying people who make programming languages/compilers/etc. tend to make them fast and efficient.
[/quote]
They certainly do. But I suppose that since Java compiles to a machine-independent bytecode that requires a run-time sitting in-between it's probably not going to be as fast as C++ but anyway it wasn't my intention to start a language war either.

Share this post


Link to post
Share on other sites
Narf the Mouse    322
[quote name='Fredericvo' timestamp='1341946486' post='4957725']
[quote name='Narf the Mouse' timestamp='1341881222' post='4957465']
[quote name='Fredericvo' timestamp='1341797300' post='4957101']
[quote name='Narf the Mouse' timestamp='1341796900' post='4957099']
[quote name='Fredericvo' timestamp='1341791205' post='4957077']
I recommend C++ but I'm biased. Have only recently started to appreciate the beauty of it. I don't know Java but I have a feeling it's bloatware and slow just from hearsay so I really don't know if I'm wrong about it.
[/quote]
Hearsay is a bad way to form an opinion on a language. And no programming language I've ever heard of tries to be deliberately slow.
[/quote]I don't think I said it was deliberate.
[/quote]
Not what I meant. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Just saying people who make programming languages/compilers/etc. tend to make them fast and efficient.
[/quote]
They certainly do. But I suppose that since Java compiles to a machine-independent bytecode that requires a run-time sitting in-between it's probably not going to be as fast as C++ but anyway it wasn't my intention to start a language war either.
[/quote]
Fair enough. Wasn't trying to, myself; just trying to correct misperceptions.

I've been told I can be overly blunt; sorry. Edited by Narf the Mouse

Share this post


Link to post
Share on other sites
azonicrider    421
[quote name='elobire' timestamp='1341790650' post='4957075']
[quote name='Servant of the Lord' timestamp='1341789935' post='4957071']
Python is good, but if you already started with Java, I'd suggest sticking with it - it's an equally good choice. You should stick with Java for a few years. Learning any language deeply is more important than learning "the right language". Eventually, you'll want to learn multiple languages, using the right language for the right job - but when starting out, any language that you are capable of understanding is the best language for any job you are capable of undertaking.

Go deep in Java before branching out to other languages. When you do branch out, because of your deepness in Java, you'll find other languages much easier to understand.
[/quote]

I did try python a while back, but for some reason i just couldnt get into it and enjoy it like i do with Java.
Does anyone know any good books to learn java from?
Thanks for the help [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
[/quote]I was going to recommend you Python as its such an easy language, but then again Java is only a tab harder in my opinion.

I don't know your prefered method of learning, but I learned Java mostly through video tutorials, and I'd recommend it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this