• 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
Oxymoron28

Complete beginner

15 posts in this topic

I'm a complete beginner at programming, I tried to teach myself C++ a while ago and it all went downhill. I struggled a lot with it and was really put off, but I've always regretted giving up.

I made a topic a while ago about dyscalculus and programming and many people here posted about how they'd dealt with it so I've decided I'm going to work on it as well, but I don't know a good place to start.

What languages would you suggest for a total beginner? And what books?

Because I'm interested in Game Development is it advised I focus on that area more so? Or just programming in general?

Thanks for your time and help!
0

Share this post


Link to post
Share on other sites
I would suggest trying different languages out, but I suppose that sounds a little daunting to a complete beginner. In my experience (which isn't much), Python is a fairly aproachable language, and is currently used by lots of developers. I'd say it's a good place to start.

Check this out: [url="http://docs.python.org/tutorial/"]http://docs.python.org/tutorial/[/url]
2

Share this post


Link to post
Share on other sites
Start with pseudo language, I don't know if there are books focused on that.

But I am a great advocate to learn C++ as a first language if possible, my first language was Pascal, then I moved to C++.
0

Share this post


Link to post
Share on other sites
[quote name='Oxymoron28' timestamp='1342620203' post='4960482']
I'm a complete beginner at programming, I tried to teach myself C++ a while ago and it all went downhill. I struggled a lot with it and was really put off, but I've always regretted giving up.
[/quote]

Persist and keep trying, if not with C++ then something else. At some point things will click and probably sooner than that you'll realize that you did learn something from your prior experience, even if you think a little negatively of it now.

Bear in mind that a little of people have difficulties learning some aspects of C++, including and commonly things like pointers. Don't worry too much about this, just keep trying with such concepts and eventually it will fall into place. We all went through this and if it held us back which is comment, it was eventually proven to be a temporary setback, as will your challenges.

[quote name='Oxymoron28' timestamp='1342620203' post='4960482']I made a topic a while ago about dyscalculus and programming and many people here posted about how they'd dealt with it so I've decided I'm going to work on it as well, but I don't know a good place to start.[/quote]

I don't have much knowledge of that in particular but bear in mind plenty of programmers have one issue or another that holds them back. I've always had a problem remembering formula for example and while it is not as serious as dyscalculus I do have to more or less constantly look things up.

Also bear in mind that programming and math have a strong link, but not all programming involves doing math. Doing non-math programming will help eventually bust through the barrier of other challenges.

[quote name='Oxymoron28' timestamp='1342620203' post='4960482']What languages would you suggest for a total beginner? And what books?[/quote]

Don't know about current books and for the most part I'd say 'use the internet for the same' anyway, but as far as languages go a lot of people recommend C# over C++ as a first language.

Personally I would try several different languages and in addition to C#, try Java and Python in order to get a feel for which one you like best and are going to be most comfortable with. While all languages are different, there are many traits that are shared and learning one will help you learn another. Finding what is easiest for you will either way help you learn the language you eventually desire (even C++) and you won't be wasting time looking at any of them because what you do learn in one language, even if it does not transfer directly (and it often does) will broaden your knowledge and experience FTW.

[quote name='Oxymoron28' timestamp='1342620203' post='4960482']Because I'm interested in Game Development is it advised I focus on that area more so? Or just programming in general?[/quote]

You don't need to focus on games to learn programming. There are many examples of small games however that do make good exercises. For whatever aspect of a language you are currently learning, follow whatever source material you use (books/web) and learn with their examples first. Then I would search the web for other examples of the same language aspects, which should introduce you to other programs which use the same. This'll tell you a lot about how the various concepts are applied, which should give you good ideas for how you might want to pursue exploring them further, via a game or whatever.

That's actually a masked suggestion to look at other peoples code as often as possible. You'll learn a lot from others, both good and bad ways and experience will eventually guide you down the good path...but don't be scared to learn the bad either. You need to crash and burn in order to take the best path later on.

Don't try anything too big until you have learnt enough. How to judge that? Well, you'll gradually sense this more than anything and it won't hurt to start things and then try something smaller. Testing your boundaries like that is par for the course. You may not realize this, but you've already been doing this by the sounds of it.

Time and patience is more the issue than anything else. If you have those, try out various languages as I've mentioned and take your time to do whatever you feel comfortable with.

Also...just ask, as you have done here. There are plenty of people that will help with whatever you are stuck on so in many ways there is no need to even go near the highest levels of frustration. Edited by freakchild
1

Share this post


Link to post
Share on other sites
Personally, I would strongly advise against learning C++ as a first language. There is currently a longer thread happening about that topic anyway: [url="http://www.gamedev.net/topic/627781-c-as-first-language/"]http://www.gamedev.n...first-language/[/url]
I did not keep close track of it but several people whose opinion I respect agreed with that assessment when I quickly skimmed over it. I do not want to pollute this thread with what would better be placed in the other thread but let me make one quick point:
As a beginner in programming, you need (and want) to be able to try something and see if it works. With C++, a lot of things can be horribly wrong (and will cause huge problems later on) but appear to work perfectly fine.
No language is perfect with that, but Java let's get you away with very little bad stuff. I don't have much experience with either Python or C# but both should be reasonable choices as well. At least much more reasonable than C++. Edited by BitMaster
0

Share this post


Link to post
Share on other sites
Try this book [url="http://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319"]'Code' by Charles Petzoid[/url]. I have this bood and it helped me understand how computers really work. The book starts with some history and then progress into how to build a computer from scratch using relays and logic gates. Afterwards, it shows how asm translate to binary. This is not c++ but it will help you get a better understanding about computers and programming in general.
0

Share this post


Link to post
Share on other sites
[quote]What languages would you suggest for a total beginner?[/quote]
Try learning Python or Java, even C# is easier. I beleive Python has a very active game development community. If I am understanding what I have read about games, C++ is what you need for top notch games, but to build simple ones, where you can hone basic programming skills without the hassels of the C++ language there are several to choose from. If I had to recommend one I would say give Python a look their website has some very well done documentation. In fact to date I only know of one other language that does a slightly better job on documentation, PHP. Most languages are refered to as c-based languages so if you get one down you have a big step up in learning C++.

[quote]Because I'm interested in Game Development is it advised I focus on that area more so? Or just programming in general?[/quote]
I would think you could make a game right out of the shoot. How much code does it take, for example, to make a text based dice game? You could probably do it in a hundred lines of code or less. Start simple and work you way up. The trick is to get your mind set on the fact you will not be starting your million dollar game idea for at least 2 or 3 years (not to discourage you).

By "dyscalculus" I assume you mean "dyscalculia". I guess if I was about 10 years younger I would have had it too. But as I was born too soon I never got dyagnosed, thankfully. To do complex math you need to forget the methods you were taught in school. Most don't realize it but just about every day you are doing algebra. If you go do anything were you plan to spend a predefined limited amount of money the process by which you decide how to spend that set amount is algebra. And I guarantee you didn't write out the equation and you likely did the math in your head. The basis for all math is 2+2 (addition) or 2-2 (subtraction), anything more complex than that is had it origin there. Sometimes geometric calculations require a formula but those should be as simple a basic addition (multiplication) and subtraction (division). If its more complex than that someone is just showing off and go find a simpler formula elsewhere. Knowing you have dyscalculia is likely a bigger disadvantage than the actually having dyscalculia, as it causes one to give up long before they would have otherwise. Edited by Krik
0

Share this post


Link to post
Share on other sites
[quote name='Oxymoron28' timestamp='1342620203' post='4960482']
I'm a complete beginner at programming, I tried to teach myself C++ a while ago and it all went downhill. I struggled a lot with it and was really put off, but I've always regretted giving up.

I made a topic a while ago about dyscalculus and programming and many people here posted about how they'd dealt with it so I've decided I'm going to work on it as well, but I don't know a good place to start.

What languages would you suggest for a total beginner? And what books?[/quote]

I will share my two cents on the subject. I think learning the syntax and actual programming methods is not the problem. Usually people find it easier when they take baby steps, this is usually best when you're working with something straight forward that let's you do things in order. Languages like C++, C#, or Java are object oriented programming languages, while it's possible to implement none object oriented designs with them, most tend to focus on that and assume that you will be using them for an object oriented purpose.

My advice is to choose something straight forward yet challenging at the same time. The first time I learned how to program is when I was doing windows forms with VB 6, and while it was great and easy, is was way too easy and did not teach me a lot of fundementals. Eventually I did learn C programming by doing tutorials and writing command line programs, only then I learned how to program very well. I found C to be a great language for a begginer because it was top to bottom and once the concepts of programming were learned, I was able to apply them to other languages later on such as C++, C#, Java, JavaScript, PHP, etc, though I eventually had to takle the different styles of programming, but that should be done when you can program a bit.

[quote]Because I'm interested in Game Development is it advised I focus on that area more so? Or just programming in general?

Thanks for your time and help!
[/quote]

Don't worry about game programming until you at least learn how to program. Dedicate yourself a good month to two to learn programming (Depending on how fast you pick things up). Game programming will eventually be waiting for you when you're done with general programming.
2

Share this post


Link to post
Share on other sites
You should buy these two books or borrow them from you local lib:

[url="http://www.amazon.com/Beginning-C-Through-Game-Programming/dp/1435457420/ref=sr_1_1?ie=UTF8&qid=1342624511&sr=8-1&keywords=beginning+c%2B%2B+game+programming"]http://www.amazon.com/Beginning-C-Through-Game-Programming/dp/1435457420/ref=sr_1_1?ie=UTF8&qid=1342624511&sr=8-1&keywords=beginning+c%2B%2B+game+programming[/url]

[url="http://www.amazon.com/Python-Programming-Introduction-Computer-Science/dp/1590282418/ref=sr_1_2?s=books&ie=UTF8&qid=1342624588&sr=1-2&keywords=python+programming+an+introduction+to+computer+science"]http://www.amazon.com/Python-Programming-Introduction-Computer-Science/dp/1590282418/ref=sr_1_2?s=books&ie=UTF8&qid=1342624588&sr=1-2&keywords=python+programming+an+introduction+to+computer+science[/url]


The first one will teach you the basis of C++ and the second one will give you a good basic introduction to python, which is a little easier to learn than C++. Start with python and then after a while the C++ book will seem to be more easy to pick up. I have read the two books my self and I learned a lot form them. They are true gems for beginners [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img]
0

Share this post


Link to post
Share on other sites
Thanks for all the help and advice! I'm going to get a book on C++ I think, and try and work from there. This time though I'm going to approach it differently I think.

I'm going to order this book http://www.amazon.co.uk/gp/offer-listing/1435457420/ref=sr_1_1_olp?ie=UTF8&qid=1342638656&sr=8-1&condition=new and see how I get on with it. If all else fails, I'll have a look at different languages such as Python and C#.

Any more advice feel free to add on! Thanks guys!
0

Share this post


Link to post
Share on other sites
I would at least take a look at c#.

It's a lot easier to put something with a GUI together FAST with it...and if you are using VS2010 intellisense works better with c# than c++, which makes the learning curve a bit smoother (although relying on it too much can bite you in the ass later).

The blessing and curse of c# is that it has automatic garbage collection...which is nice when you do not need or want absolute control over memory, but sucks when you want to micromanage and squeeze as much performance out of your program as possible.

I'm not trying to sell you on either language...I just recommend that you experiment and keep your mind open.
0

Share this post


Link to post
Share on other sites
C++ is a great language, I've been using it for 20+ years. Don't try an learn it as a first language, it will destroy you.

C#, VB, etc are really cool languages, but the sheer volume of library functions is enough to put anyone off.
Python also has a lot of libraries and again this can cause issues when it come to learning. Also (since I guess you ultimate aim is to learn C++) it has a number of un-C++ like areas that might cause you issues when you try and move over.

JavaScript is probably quite a good place to start. It has no cost, Firefox and notepad will get you going and you can get quite complex with it. I think it will be quite easy to get to grips with thinking like a programmer, which is what you really need to learn, not the language, also its quit C like. (see [url="http://www.w3schools.com"]www.w3schools.com[/url])
0

Share this post


Link to post
Share on other sites
Perhaps try give scripting a go. Jump into something like PHP and try apply Programming Concepts there, as you build your confidence you can jump around into C++,

I'm repeating myself alot - I suggest this book to everyone lol [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] But read up on Professional C++ (Marc Gregoire, Nicholas A. Solter, Scott J. Kleper) 2nd Edition. It will teach you HOW to program, and how to program in C++. Alot of beautiful organized information that can help you go in the right direction.

As you say your completely new to programming, the issue isn't learning C++. First you need to know how to program. Pick a simple language, and learn how to program.

Game programming is difficult, its not just Programming moving Pictures - theres a whole unity of systems and tecniques in place, so while yes - even if you program boring applications like a word processor, or a messenger - these are all concepts you can use and apply to game programming to. (EG Multithreading, Networking, Program Flow & Control, Streams - File Loading/Saving)

Best wishes to you Edited by dimitri.adamou
1

Share this post


Link to post
Share on other sites
[quote name='FredOrJoeBloggs' timestamp='1342692195' post='4960870']
C++ is a great language, I've been using it for 20+ years. Don't try an learn it as a first language, it will destroy you.

C#, VB, etc are really cool languages, but the sheer volume of library functions is enough to put anyone off.
Python also has a lot of libraries and again this can cause issues when it come to learning. Also (since I guess you ultimate aim is to learn C++) it has a number of un-C++ like areas that might cause you issues when you try and move over.

JavaScript is probably quite a good place to start. It has no cost, Firefox and notepad will get you going and you can get quite complex with it. I think it will be quite easy to get to grips with thinking like a programmer, which is what you really need to learn, not the language, also its quit C like. (see [url="http://www.w3schools.com"]www.w3schools.com[/url])
[/quote]

I have been working with JavaScript quite a bit lately, between some Appcelerator mobile work, using JavaScript server side with Node and even writing a [url="http://www.gamefromscratch.com/page/Cocos2D-HTML-5-Tutorial-Series-table-of-contents.aspx"]HTML5 w/ cocos2D tutorial series[/url]. So I've put a lot of thought recently in JavaScript / HTML5 as a beginner platform.

First let me say, JavaScript is a much maligned language. It is much better than many people give it credit.

That said:

- most of the tutorials are really bad.
- much of the language is really bad.
- HTML/CSS is a right stupid platform.

These three combinations make it very hard to recommend to a beginner.

The biggest negatives to JavaScript are:
- it's FARRRRRRRR to easy to create globals.
- data hiding is crude at best

Actually those two are reason enough for me to recommend a new developer stay away, but there are more reasons. One, it's not a classical OO language, its a prototype based language, and there are very important differences. This isn't a "bad thing", but it is a confusing one for new developers, especially new developers that want to move on to 4g OO languages. There are some downright confusing aspects too... the rules around super and this are almost byzantine enough to make the C++ designers blush!

Then there is HTML5, which is a gigantic hackjob of a platform. You can make it work, and it can do some powerful stuff, but a new developer shouldn't be hacking out things just to make it work.


Dont get me wrong, I like HTML5 to a degree, and JavaScript is actually quite fun. I just wouldn't say that's true for a beginner.





.... still better than C++ though.

If you do go the JavaScript route, there are two books that should be on your must buy list. [url="http://shop.oreilly.com/product/9780596805531.do"]JavaScript:The Definitive Guide[/url] followed by ( seriously followed by, this isn't a beginner book, but it's the closest thing JavaScript has to Effective C++ ) [url="http://shop.oreilly.com/product/9780596517748.do"]JavaScript:The Good Parts[/url]. Warning though, the author in the second book comes across like a gigantic dick. You know it's a good book when I read it and thought "Wow, this guy is a massive arrogant prick"... but still finished it and recommend it to people! Oh, plus it's short and cheap. [url="http://www.gamefromscratch.com/post/2012/03/23/A-tale-of-two-Javascript-books.aspx"]I reviewed both of them[/url] earlier, and these books are pretty much all you need to work with JavaScript should you decide to go that route. Edited by Serapth
0

Share this post


Link to post
Share on other sites
I recommend Head First : Java 2nd edition, it will hold your hand all the way to using Objects. The book is very interactive with lots of illustrations. Although you know, if you are someone like me that likes to procrastinate and do everything but something productive it can be difficult to learn by yourself.

I can say many times that I'd read a chapter and almost always close my eyes and fell into a deep sleep. Thankfully I went into CS at school to push me into learning more. Edited by DZee
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