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

Want to learn programming...again

33 posts in this topic

Hi all,

 

I'm about to scrape the rust off my brain and learn to program for PC. I did some programming waaaaay back in the c64 days and would like to get back into it.

 

What's a good program to learn with and am I able to download it or do I need to purchase it? It doesn't need to be too basic as I tend to grasp things reasonably well.

 

If there are languages more geared towards creating games that would be preferred. I've been looking around but there are so many different answers I thought I would see if there was a general consensus here.

 

Thanks in advance for any advice.

 

Rhino.

Edited by Rhinotones
1

Share this post


Link to post
Share on other sites
My usual advice for starting programming, is get a python book, and go from there. Your prior programming experience will help you, but I still recommend this path. You don't need to buy anything but the book, and even that can be found online for free.
1

Share this post


Link to post
Share on other sites

Most developing tools are for free now. C++ is still often used (IDE Visual Studio Express, free), but other hi-languages like java (IDE e.g. eclipse) are good alternatives. If you want to write some casual/web based game, scripting languages are a good choice too.

 

If you want to dive into 3d games, try out the SDK of Unity or UDK, both are very good engines you can play around for free (thought it costs money/royalities if you want to get some money out of it).

2

Share this post


Link to post
Share on other sites

Thanks for the prompt responses. What's the main differences between C# and C++? 

No memory management,

No multiple inheritance,

No pointers or references ( as in you can declare them as such ),

 

Generally easier to use, masssive support framework (.NET library which handles a lot of things for you).

0

Share this post


Link to post
Share on other sites

Thanks again.

 

I've just downloaded Bloodshed Dev-C++ as it seemed to have the most hits in a search. Looking forward to reading the forums and learning from you all.

1

Share this post


Link to post
Share on other sites

Thanks for the prompt responses. What's the main differences between C# and C++? 

learning c++ is better, i learned c++ and vb and I can recognize c# codes and even code or script with them without learning

 

Learning C++ isn't at all "better" than learning C#.

 

C# is a very powerful language with a huge amount of libraries available as NightCreature mentioned, and it is considered to be much more beginner friendly than C++ is.

Modern C++ (ie. C++11) is a vast improvement to 'old' C++ when it comes to usability, but it's still completely possible to do things horribly wrong in very spectacular ways without being given a clear reason why things went wrong. This is not a position you want to be in when getting (re-)acquainted with programming.

 

Focus on the essentials of the actual programming first, not on all of the additional things C++ makes you go through. C# is a very good language for this, and it has a bunch of game-related libraries you can jump into from day 1, although it definitely isn't the only choice available.

2

Share this post


Link to post
Share on other sites

 

Thanks for the prompt responses. What's the main differences between C# and C++? 

learning c++ is better, i learned c++ and vb and I can recognize c# codes and even code or script with them without learning

 

Learning C++ isn't at all "better" than learning C#.

 

C# is a very powerful language with a huge amount of libraries available as NightCreature mentioned, and it is considered to be much more beginner friendly than C++ is.

Modern C++ (ie. C++11) is a vast improvement to 'old' C++ when it comes to usability, but it's still completely possible to do things horribly wrong in very spectacular ways without being given a clear reason why things went wrong. This is not a position you want to be in when getting (re-)acquainted with programming.

 

Focus on the essentials of the actual programming first, not on all of the additional things C++ makes you go through. C# is a very good language for this, and it has a bunch of game-related libraries you can jump into from day 1, although it definitely isn't the only choice available.

 

ya, but when you learn c++ it is way to do with c# but if you are going to use engines then use c# or java. i am using OpenGL, c++ is best for me

2

Share this post


Link to post
Share on other sites

Thanks again.

 

I've just downloaded Bloodshed Dev-C++ as it seemed to have the most hits in a search. Looking forward to reading the forums and learning from you all.

 

Bloodshed hasn't been updated in years (a couple of projects have tried to revive it, but the last I heard they weren't very far along). I strongly recommend you ditch it and go for one of the many up-to-date, active IDEs below. Note that some of these come with a compiler, but others will require you to download and install a compiler separately, such as MingW.

Code::Blocks (has a version with MingW bundled)
CodeLite
Visual Studio Express (comes with the MS compiler)

Eclipse

Netbeans

If windows is your only target OS then installing MSVC++ Express is your easiest option to start development in C++. A good second is Netbeans which also out of the box does C++ both on windows and Linux.

0

Share this post


Link to post
Share on other sites


My usual advice for starting programming, is get a python book, and go from there. Your prior programming experience will help you, but I still recommend this path. You don't need to buy anything but the book, and even that can be found online for free.

 
My advice is to never ever touch python whilst it is really easy to pick up it is a pain to find why your thing isn't doing what it is supposed to (whitespace is a bad indentation indicator especially when tab and space are handled differently). You are better of starting with C# or Java both have additional libraries that allow you to make games with them.
Eclipse is free and a good IDE for Java development and for C# there are the Express editions of Visual Studio to work with. There are numerous tutorial sites out there that help with either language and the game development packages for them.


The language's choice of Line terminator and block syntax is a pretty lousy reason to avoid a popular language. Python has libraries for making games too. Pygame is especially good for beginners. Java and C# are good too, but for both a simple hello world program is littered with references to constructs that can only confuse a beginner. They aren't as beginner friendly. Meanwhile, python is beginner friendly, but not a beginner language in that it's suitable for writing large applications by experienced developers. The reason experts use python is that it's designed for rapid development, and when you're paid for how much your application can do, not how fast it runs, that can be a good choice.

But beginners benefit form rapid development too. Hugely. It means beginners can create working programs, with each feature learned, that much sooner. It means you can do more while knowing less, because the language does not force boilerplate on you that you could get wrong.
2

Share this post


Link to post
Share on other sites

Thanks for the prompt responses. What's the main differences between C# and C++?

A lot. C++ is a harder language to learn, the hardest out of all popular general purpose programing languages. But it is the top choice for writing fast programs, when that is the highest priority.

C# is a managed language, on par with Java. I recommend Python over both, but it's reasonably easy too. C# is a language developed by Microsoft, so is only preferred for Windows development, but that's not a small audience, especially for games. And while I said C++ is preferred for speed, C# is not by any means slow.
0

Share this post


Link to post
Share on other sites

I honestly didn't expect to get such great advice when I posted here and I appreciate the time taken to help. Looks like I've found the right community.

 

Cheers, 

Rhino.

1

Share this post


Link to post
Share on other sites

You can't go wrong with either C++ or Java as a primary language. C++ is the darling of the games industry whilst Java can be used for Android games.

 

However, if you are learning from scratch then its wise to leave alone OOP languages until you have the basics of structured programming nailed. Both C or JavaScript are ideal beginner languages and share almost identical basic syntax with both C++ and Java. Well, C and C++ are considered the same language but there are some differences beside the obvious use of OOP in C++...

-2

Share this post


Link to post
Share on other sites

You can't go wrong with either C++ or Java as a primary language. C++ is the darling of the games industry whilst Java can be used for Android games.

 

However, if you are learning from scratch then its wise to leave alone OOP languages until you have the basics of structured programming nailed. Both C or JavaScript are ideal beginner languages and share almost identical basic syntax with both C++ and Java. Well, C and C++ are considered the same language but there are some differences beside the obvious use of OOP in C++...

I do agree that starting with C before C++ is a good decision (it helped me quite a bit), but I can't agree that C and C++ are considered the same language.

1

Share this post


Link to post
Share on other sites

In my opinion, you should pick up what you want to programm and move from there. 

 

I mean, when I needed to write scripts for Autodesk Maya, I picked up their language of choice and started coding in Python. When I needed to mess with Maya API, I had to dive into C++.

When I started mess around with Unity endinge, I picked up C# and started coding using.

 

In other words, think about a problem you want to solve, and then about programming language.

 

By the way, Python is really cool. My favourite so far. It is strict enough to not let you do foolish mistakes and typos, but meanwhile really easy and enjoyable to code. And you type less! Screw you, "}", "{" and ";".

1

Share this post


Link to post
Share on other sites

There is no consensus about it, but I fully agree that C++ is majorly used for game creation, because of it's speed, free tools and libraries. Also, I agree, after learning C++ you can learn and understand C#, Java, JS and Python code very easily.

 

There is no language directed right at games creation, but if you want to create game as quickly as possible - you should look at JavaScript. It won't allow you to create very computational-heavy game, but it will give you rapid start.

0

Share this post


Link to post
Share on other sites

You can't go wrong with either C++ or Java as a primary language. C++ is the darling of the games industry whilst Java can be used for Android games.

 

However, if you are learning from scratch then its wise to leave alone OOP languages until you have the basics of structured programming nailed. Both C or JavaScript are ideal beginner languages and share almost identical basic syntax with both C++ and Java. Well, C and C++ are considered the same language but there are some differences beside the obvious use of OOP in C++...

I do agree that starting with C before C++ is a good decision (it helped me quite a bit), but I can't agree that C and C++ are considered the same language.

And now if you will read the remaining words of my post you'll find I go on to say "but there are some differences beside the obvious use of OOP in C++".  My advice of learning C before C++ should make it clear that such a consideration that they are the same language is a common misconception.

0

Share this post


Link to post
Share on other sites

i don't care what you guys choose but i support c++, with it you could even program games for consoles and learning it makes it easy to learn others. why not spend a little more time and more hard-work to learn c++ and achieve...???



on of the book i am using to learn which is great and really understandable. It is also a friendly version, click here to see it in google books, amazon selling the book, or if you are not able to buy the book like me, send me a pm and i will send you a pdf file of the book xD smile.png

Edited by Sugavanas
0

Share this post


Link to post
Share on other sites

You can't go wrong with either C++ or Java as a primary language. C++ is the darling of the games industry whilst Java can be used for Android games.
 
However, if you are learning from scratch then its wise to leave alone OOP languages until you have the basics of structured programming nailed. Both C or JavaScript are ideal beginner languages and share almost identical basic syntax with both C++ and Java. Well, C and C++ are considered the same language but there are some differences beside the obvious use of OOP in C++...

This is bad advice, IMO. Firstly, because OOP is a good thing to learn early, so you should start with an OOP language. Secondly, because when learning C as a precursor to C++ there are a number of things that are common practice in c, that are bad practice in C++.

C and C++ are different languages, and not just because of OOP. Two big differences are how to write constants, and how to write generic code. Edited by King Mir
1

Share this post


Link to post
Share on other sites

I've decided to go with C# as many people have pointed out here that for a beginner it's easier than c++. Someone also mentioned that C# goes hand in hand with unity and I am looking at learning that also. As my long term goal is to program for games this seems to be the logical choice.

 

Thanks once for for your invaluable suggestions and information.

 

Cheers,

Rhino.

Edited by Rhinotones
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