• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
elobire

learning game development

24 posts in this topic

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.
0

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.
0

Share this post


Link to post
Share on other sites
[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?
0

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
1

Share this post


Link to post
Share on other sites
[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 :)
0

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites
[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.
0

Share this post


Link to post
Share on other sites
[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.
0

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
0

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites
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.
1

Share this post


Link to post
Share on other sites
[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)
0

Share this post


Link to post
Share on other sites
[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.
0

Share this post


Link to post
Share on other sites
[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.
2

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites
[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))
1

Share this post


Link to post
Share on other sites
[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.
0

Share this post


Link to post
Share on other sites
[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.
0

Share this post


Link to post
Share on other sites
[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.
0

Share this post


Link to post
Share on other sites
[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
0

Share this post


Link to post
Share on other sites
[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.
0

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  
Followers 0