• Advertisement
Sign in to follow this  

Best language to be "versatile" in game making.

This topic is 1955 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

My friend and I are small coders, know some here, know some there, but...We are looking for a language to be open to make any kind of game, I do not mean FPS or something like that witch requires Unity, UnReal, etc. We are looking for a CODING language that can be made into 2d, Not any 3d! And by games I mean 2d-sh game, aka at a angle, and it be able to be used on any type of game like that and be made to look nice and PROFESSIONAL, I was thinking C/C++ or Java, what do you guys think? Maybe even top down, or complete side view, please reply! [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

Share this post


Link to post
Share on other sites
Advertisement
[quote name='jbadams' timestamp='1347075542' post='4977886']
[u][i][b]Any[/b][/i][/u] language meets those requirements.

Professional quality games have even been developed in Game Maker ([url="http://store.steampowered.com/app/109200/"]Legend of Fae[/url], [url="http://store.steampowered.com/app/201480/"]Serious Sam: The Random Encounter[/url]), RPG Maker ([url="http://freebirdgames.com/to_the_moon/"]To The Moon[/url]), and Multimedia Fusion ([url="http://store.steampowered.com/app/48900/"]Saira[/url]). [url="http://www.terraria.org/"]Terraria[/url] was written in C# with XNA. [url="http://www.runescape.com/"]RuneScape[/url] was written with Java.


It isn't the language or tool you use that makes a game look professional, it's the quality of the artwork and the polish you put into the game. It really doesn't matter which language you choose as long as it's capable of displaying graphics and playing sounds -- which really aren't limiting factors. You'll be able to make any type of game, with any 2d view with any language you might care to choose.


So, what languages do you already know?

Python and C# are commonly recommended options, both of which are more than capable of meeting your needs.
[/quote]


I looked at tutorials on BOTH, and to me, well, to us, We like python. C++ Looks difficult, not saying it is, just saying it looks, and In contrast, All the games made on Java/C++ are they ABLE to be made in Python, like in theory, and in another note, is python, powerful/popular/worth learning?

_Edit* I saw you asked what I knew, Honestly..I have very little in java, from messing with Minecraft Mods, I am fluent in HTML/CSS, but that is not important haha, and for Python I have watched about 5 tutorials from thenewboston And in C...NOTHING I am not educated in C at all! Edited by Tyl3r684

Share this post


Link to post
Share on other sites
You should choose whatever language you are most comfortable with.

C++ is generally considered to be a little more difficult than some other languages, so if you think it looks harder I'd probably trust that instinct, it's probably a good one.

[quote name='Tyl3r684' timestamp='1347076787' post='4977891']
are they ABLE to be made in Python, like in theory, and in another note, is python, powerful/popular/worth learning?
[/quote]
Absolutely. Python can definitely be used to make games, it's very popular, and it's definitely a useful general purpose language that's worth learning. Python was uses extensively in the creation of [url="http://www.eveonline.com/"]EVE Online[/url] and [url="http://toontown.go.com/"]ToonTown Online[/url], and was used as a scripting language in [url="http://www.civ4.com/"]Civilization 4[/url]. You can read some things people from companies such as Google, Industrial Light and Magic, and others have said about Python [url="http://www.python.org/about/quotes/"]on their website[/url].

Once you've learned the basics and are comfortable with the language (perhaps using the freely available [url="http://www.mindview.net/Books/TIPython"]Thinking In Python[/url]) you'll probably want to look into using either [url="http://www.pygame.org/news.html"]PyGame[/url] or [url="http://www.pyglet.org/"]Pyglet[/url]; you'll probably find PyGame more approachable.

Share this post


Link to post
Share on other sites
[quote name='jbadams' timestamp='1347077821' post='4977894']
You should choose whatever language you are most comfortable with.

C++ is generally considered to be a little more difficult than some other languages, so if you think it looks harder I'd probably trust that instinct, it's probably a good one.

[quote name='Tyl3r684' timestamp='1347076787' post='4977891']
are they ABLE to be made in Python, like in theory, and in another note, is python, powerful/popular/worth learning?
[/quote]
Absolutely. Python can definitely be used to make games, it's very popular, and it's definitely a useful general purpose language that's worth learning. Python was uses extensively in the creation of [url="http://www.eveonline.com/"]EVE Online[/url] and [url="http://toontown.go.com/"]ToonTown Online[/url], and was used as a scripting language in [url="http://www.civ4.com/"]Civilization 4[/url]. You can read some things people from companies such as Google, Industrial Light and Magic, and others have said about Python [url="http://www.python.org/about/quotes/"]on their website[/url].

Once you've learned the basics and are comfortable with the language (perhaps using the freely available [url="http://www.greenteapress.com/thinkpython/"]Thinking In Python[/url]) you'll probably want to look into using either [url="http://www.pygame.org/news.html"]PyGame[/url] or [url="http://www.pyglet.org/"]Pyglet[/url]; you'll probably find PyGame more approachable.
[/quote]

Shocker 1_ EVE was made/assoc. with PYTHON? That is awesome!
As for another note, We are fully going for python/pygame thank you! I am ready to start learning! :)

Share this post


Link to post
Share on other sites
[quote name='Servant of the Lord' timestamp='1347075541' post='4977885']
keep on striking the anvil until what you are forging is finished.
[/quote]

QFT. Often times, I find myself quitting early and getting discouraged. Just make sure you always stick with it until the end and you will learn a lot and feel good in the end [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

Share this post


Link to post
Share on other sites
I received the following question from the original poster via private message, but I'm answering here so others can also benefit from the responses.


[quote name='Tyl3r684']
As you know I want to begin python, where may I find updated tutorials there all from 2 - 3 years ago... :|
[/quote]
You'll want to learn Python 2.7 rather than Python 3; the differences (from your perspective) will be fairly minor and easily adjusted to once you decide to update, but for now a lot of the libraries (such as PyGame) you will want to use have not been updated to Python 3.

I recommend [url="http://www.mindview.net/Books/TIPython"]Thinking In Python[/url], [url="http://www.ibiblio.org/g2swap/byteofpython/read/"]A Byte of Python[/url], and [url="http://www.python.org/doc/"]the official documentation[/url] for learning Python. Once you get to learning Pygame you'll want to start with the official documentation and tutorials listed on the website.

Share this post


Link to post
Share on other sites
[quote name='jbadams' timestamp='1347080627' post='4977903']
I received the following question from the original poster via private message, but I'm answering here so others can also benefit from the responses.


[quote name='Tyl3r684']
As you know I want to begin python, where may I find updated tutorials there all from 2 - 3 years ago... :|
[/quote]
You'll want to learn Python 2.7 rather than Python 3; the differences (from your perspective) will be fairly minor and easily adjusted to once you decide to update, but for now a lot of the libraries (such as PyGame) you will want to use have not been updated to Python 3.

I recommend [url="http://www.mindview.net/Books/TIPython"]Thinking In Python[/url], [url="http://www.ibiblio.org/g2swap/byteofpython/read/"]A Byte of Python[/url], and [url="http://www.python.org/doc/"]the official documentation[/url] for learning Python. Once you get to learning Pygame you'll want to start with the official documentation and tutorials listed on the website.
[/quote]

Would there be a difference between 3, and 2? We both have 3 and are willing to downgrade.

Share this post


Link to post
Share on other sites
I LOOOOOVE Python. I am not a programmer by any means, but have still been able to write very useful tools in Python for work.

I originally went through the free book [url="http://www.greenteapress.com/thinkpython/"]http://www.greenteapress.com/thinkpython/[/url], which has been used/revised for classroom use for several years now.

I recommend downloading and using Python 2.7, since basically every library out there work with it, plus it has had a lot of the great improvements made for the 3.x series backported to it. Python 3.2 is technically newer and the language has had a few changes to make it more "Pythonic", but not all the stabilized and proven libraries work with it yet.

I use Aptana + PyDev for my IDE and debugger. It is a fantastic free dev environment for Python.

Share this post


Link to post
Share on other sites
[quote name='zer0wolf' timestamp='1347082859' post='4977910']
I LOOOOOVE Python. I am not a programmer by any means, but have still been able to write very useful tools in Python for work.

I originally went through the free book [url="http://www.greenteapress.com/thinkpython/"]http://www.greenteap...om/thinkpython/[/url], which has been used/revised for classroom use for several years now.

I recommend downloading and using Python 2.7, since basically every library out there work with it, plus it has had a lot of the great improvements made for the 3.x series backported to it. Python 3.2 is technically newer and the language has had a few changes to make it more "Pythonic", but not all the stabilized and proven libraries work with it yet.

I use Aptana + PyDev for my IDE and debugger. It is a fantastic free dev environment for Python.
[/quote]

I looked at Aptana and PyDev, they seem to do basically the same thing...I am going with Aptana, because installing pydev was difficult, Aptana looks nice! Edited by Tyl3r684

Share this post


Link to post
Share on other sites
[quote name='Shaquil' timestamp='1347115335' post='4977987']
But when we're talking about making games, I reiterate, you're going to have to read some C at some point).[/quote]

No you aren't.
There is no ultimate 'you must use a C language for making games' requirement anywhere.

People make games in Python, in C#, in Java, in JavaScript, in Lua and others without touching a line of C or C++.

If Python fits the need of the OP then there is NOTHING to be gained by going to a more complex language which is considerably more dangerous to use. And lets not fools ourselves here; C++ IS a complex language. Yes, you can use it for a year and go 'hey, there is nothing hard here..' but that's because you've been using it for a year and you've no idea what lurks in the darker areas of the language or [b]how many mistakes you have already made which haven't come back to bite you yet.[/b]

At one year of using C++, more so if its your first language, I do not believe you are qualified to say how hard the language is. You are still very firmly a beginner and more than likely are making mistakes which you are lucky haven't blown up in your face yet. I work with professionals on a daily basis who have been using C++ (as well as many other languages; C++ is not an end point either, most professionals if any degree of skill will know a few languages and can switch between them at will) for years and still make mistakes which can lead to hours in a debugger tracking them down.

So no, C++ is not easy.
It might look easy but that's just because you don't know what you are doing wrong.
(and that's coming from someone with 10+ years of using the language behind them.)

Share this post


Link to post
Share on other sites
[quote name='Shaquil' timestamp='1347115335' post='4977987']
1. C++ is not nearly as hard as you think. In fact, since I started I've always wondered what exactly is supposed to be so hard about it.[/quote]
Wrong. You just haven't explored enough of the language to be bitten by it yet.

[quote]2. C++ is widely considered the "main" gaming language. It's what industry professionals use, it's what indie devs use, and it's what you'll probably have to learn eventually.[/quote]
C++ is still quite widely used for pragmatic reasons, but I'd say it has fallen far out of favour, even with many industry types.

[quote]3. And finally, the most important thing: C++ is just damn fun. It's so complex, so versatile, and there's always something new to learn.[/quote]
There is always something new to learn. That includes vitally important pitfalls that you have yet to learn, and will eventually trip you up.

[quote]C++ is not advanced calculus.[/quote]
It's more like a live nuke with rusted wiring.

[quote]Programming is programming is programming*.
[size=2]*Unless you go from procedural programming to a functional programming language like Haskell.[/size][/quote]
As a programmer, you ought to recognise that functional languages are just another facet of the familiar (hint: many modern C++ idioms come directly from functional programming).

Share this post


Link to post
Share on other sites
As a fellow C++ coder, I agree with phantom. C is just too low-level for a lot of current needs.

Of course, you have to use C/assembly for some down-to-earth (or down-to-hardware?) projects. There is just not a need for everyone to know it. That said, being a low-level programmer is going to be very lucrative when the C generation retires, so if you are in it just for experience and money, you should learn it :-)

There simply is not any "best language". It all depends on one thing: WHAT do you want to do with it. You have to weigh all the advantages and disadvantages of each language for the current job. And game industry passed the point of no return – for normal applications, C(++) is not only obsolete, it is a burden.

So yeah, if you are looking for a first coding language and do a 2D game with it, Python is a good choice.

Share this post


Link to post
Share on other sites
[quote name='Tyl3r684' timestamp='1347119478' post='4978004']
I looked at Aptana and PyDev, they seem to do basically the same thing...I am going with Aptana, because installing pydev was difficult, Aptana looks nice!
[/quote]
Aptana is an IDE, based off of Eclipse. PyDev is a plug-in for Eclipse and Aptana (now developed by the Aptana team), that adds Python support to the IDE. Aptana just so happens to come bundled with PyDev.

Share this post


Link to post
Share on other sites
[quote name='zer0wolf' timestamp='1347132297' post='4978074']
[quote name='Tyl3r684' timestamp='1347119478' post='4978004']
I looked at Aptana and PyDev, they seem to do basically the same thing...I am going with Aptana, because installing pydev was difficult, Aptana looks nice!
[/quote]
Aptana is an IDE, based off of Eclipse. PyDev is a plug-in for Eclipse and Aptana (now developed by the Aptana team), that adds Python support to the IDE. Aptana just so happens to come bundled with PyDev.
[/quote]


I have been looking at PyGame/Python tutorials, and it seems difficult-ISH to the extent of all the tutorials are old...

Share this post


Link to post
Share on other sites
I'm going to take a stab here and guess that you're trying to walk before crawling [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Spend a couple weeks to work your way through all of the exercises in the book I linked to above and/or check out some of the books jbadams linked to. The one I linked to, Think Python, was written by a professor for his intro to programming class, and has iterated on in for several years now from feedback from his peers and students. I believe it does a great job at walking you through the fundamentals of Python. I do mean EVERY exercise, don't skip out or you're only hurting yourself. THEN move onto the PyGame tuts! Edited by zer0wolf

Share this post


Link to post
Share on other sites
[quote name='swiftcoder' timestamp='1347121744' post='4978017']
Wrong. You just haven't explored enough of the language to be bitten by it yet.
[/quote]

You don't have any idea how much I know about C++, and so your vague "Ya just don't know enough yet, sonny!" statement is unqualified and invalid.

[quote]C++ is still quite widely used for pragmatic reasons, but I'd say it has fallen far out of favour, even with many industry types.[/quote]

Oh, it's still widely used? Well I'm glad we agree.


[quote]There is always something new to learn. That includes vitally important pitfalls that you have yet to learn, and will eventually trip you up.[/quote]
Once again, you have no idea my skills or knowledge of C++. I also enjoy the implication. Something will trip me up and so I should avoid it? Then at what point does the "learning" thingy happen again? Fill me in.

[quote]It's more like a live nuke with rusted wiring.[/quote]

I love it so much when people use these extremely hyperbolic descriptions of advanced topics/programming languages. I guess it's an easy way to scare the hell out of beginners because it doesn't seem to make any sense whatsoever. You hear people say this kind of stuff and think "What the hell is this guy talking about? Whatever it is, it sounds like worst possible thing that could ever happen to me ever. I better do what he says." What is this nuclear holocaust that could potential spark because someone started with C++ instead of actionscript or something? What's the implication? "You didn't delete that memory you allocated! YOU'VE DESTROYED THE FREE WORLD." Oh please.

If you disagree with me, fine. I made it clear at the start of my post that many, many people disagree with me. But trying to undermine my credibility is ridiculous and childish. You don't know anything about me. Edited by Shaquil

Share this post


Link to post
Share on other sites
[quote name='phantom' timestamp='1347120468' post='4978010']
[quote name='Shaquil' timestamp='1347115335' post='4977987']
But when we're talking about making games, I reiterate, you're going to have to read some C at some point).[/quote]

No you aren't.
There is no ultimate 'you must use a C language for making games' requirement anywhere.

People make games in Python, in C#, in Java, in JavaScript, in Lua and others without touching a line of C or C++.

If Python fits the need of the OP then there is NOTHING to be gained by going to a more complex language which is considerably more dangerous to use. And lets not fools ourselves here; C++ IS a complex language. Yes, you can use it for a year and go 'hey, there is nothing hard here..' but that's because you've been using it for a year and you've no idea what lurks in the darker areas of the language or [b]how many mistakes you have already made which haven't come back to bite you yet.[/b]

At one year of using C++, more so if its your first language, I do not believe you are qualified to say how hard the language is. You are still very firmly a beginner and more than likely are making mistakes which you are lucky haven't blown up in your face yet. I work with professionals on a daily basis who have been using C++ (as well as many other languages; C++ is not an end point either, most professionals if any degree of skill will know a few languages and can switch between them at will) for years and still make mistakes which can lead to hours in a debugger tracking them down.

So no, C++ is not easy.
It might look easy but that's just because you don't know what you are doing wrong.
(and that's coming from someone with 10+ years of using the language behind them.)
[/quote]

Once again, I must state how funny it is to see people talk about programming as if it's bomb defusal. So let's unwrap some of the logic here:

I've been programming in C++ for a little over a year, and according to you it's likely that I have yet to encounter [i][b]any[/b][/i] of the world-ending, flood-causing, tsunami stirring disastrous mistakes that you can make when writing C++. Which means, then, that none of these vague, non-specified horrors actually apply to a beginner. Right? I haven't come across them yet, my life isn't a waking nightmare, and I [i]enjoy[/i] C++ and coding games with it. So then how is it a bad language for beginners, exactly? I'll never understand this use of vague scare tactics to keep people from just [i]trying the damn language out[/i]. Don't do it! There's stuff hidden! You're [i]too stupid to make the mistakes, that's why you haven't made them yet!!!![/i] Oh, well then I guess I'm all good then. And when I do make the mistakes, I'll probably do what you did: [b]Learn from them[/b].

Typical forum behavior. You see someone who's honest about their possible ignorance and try to inflate it to a size reasonable enough for you to discredit his opinions. Instead of arguing against what I say reasonably, you try to take away my voice by reminding me and everyone else that "You haven't been doing it enough yet to ruin everything." But as I've already shown, if I've been doing it a year and I still haven't encountered the horrors, that means beginners won't encounter the horrors until they're not beginners anymore. And even if I do find out something and want to switch languages, is that the death of my programming career? Is Java an entirely different world? Or Python? Or [i]any other object-oriented language[/i]? Was my time spent with C++ wasted? Will I start from scratch? This is ridiculous.

Share this post


Link to post
Share on other sites
[quote name='Shaquil' timestamp='1347138203' post='4978102']
I've been programming in C++ for a little over a year, and according to you it's likely that I have yet to encounter [i][b]any[/b][/i] of the world-ending, flood-causing, tsunami stirring disastrous mistakes that you can make when writing C++. Which means, then, that none of these vague, non-specified horrors actually apply to a beginner. Right?
[/quote]

Wrong.
Just because you haven't seen the outcome of your mistakes does NOT mean you have not made them.
Welcome to C++ - when you do something wrong you don't always get tripped up on it.
Doesn't make what you did RIGHT it just means you've been lucky.

Does it sound vague as a reason? Yes.
Welcome to C++.

[quote]
I haven't come across them yet, my life isn't a waking nightmare, and I [i]enjoy[/i] C++ and coding games with it. So then how is it a bad language for beginners, exactly? I'll never understand this use of vague scare tactics to keep people from just [i]trying the damn language out[/i]. Don't do it! There's stuff hidden! You're [i]too stupid to make the mistakes, that's why you haven't made them yet!!!![/i] Oh, well then I guess I'm all good then. And when I do make the mistakes, I'll probably do what you did: [b]Learn from them[/b].
[/quote]

No, it is not a matter of 'being too stupid to learn from your mistakes' it is that C++ makes those mistakes hard to spot, hard to understand, vague due to the massive amount of 'undefined behaviour' which is allowed and more importantly makes the whole process of learning HARDER for BEGINNERS which implies, very heavily, that this is their FIRST language.

Which is why we advice against it and point out that C++ is a BAD language to start with - not that it is impossible but because you are making your life harder for yourself by trying to both learn to program AND learn to program around C++'s own vagueness and issues which is NOT helpful. C++ as a starting language WILL teach bad habits and WILL teach bad design - how do we know this? because we have seen it both in ourselves and many many times over the years.

[quote]
Typical forum behavior. You see someone who's honest about their possible ignorance and try to inflate it to a size reasonable enough for you to discredit his opinions. Instead of arguing against what I say reasonably, you try to take away my voice by reminding me and everyone else that "You haven't been doing it enough yet to ruin everything." But as I've already shown, if I've been doing it a year and I still haven't encountered the horrors, that means beginners won't encounter the horrors until they're not beginners anymore. And even if I do find out something and want to switch languages, is that the death of my programming career? Is Java an entirely different world? Or Python? Or [i]any other object-oriented language[/i]? Was my time spent with C++ wasted? Will I start from scratch? This is ridiculous.
[/quote]

Yes, it is typical behavior of [b]people who have more experiance than you in a subject.[/b]
You wouldn't take 1 year of a maths class and then declare that the maths behind QM is easy - nor to should someone who is, regardless of if your ego likes it or not, a beginner in the subject be saying 'oh, I've had no problems, it must be easy'.

Many people with many more years of experiance KNOW you are wrong by saying 'C++ is easy' so YES your lack of experiance IS important when giving advice to other people who are just starting out.

And no, it isn't rediculous it is advice given after years of experiance in both learning the language ourselves and watching others trying to learn it too. Your claim that it is easy and that everyone has to touch it at some point is the thing which is rediculous here.
(Also throwing around sentences like 'world-ending, flood-causing, tsunami stirring disastrous mistakes' in an attempt to make the person you are replying to look like they are over stating the problem is also rediculous and a tactic so transparent you'd have to be blind to not see through it.)

You want to learn C++? Fine. Great. Knock yourself out.
HOWEVER the moment you come here and claim it is 'easy' expect this reply because those of us who know better WILL take you to task on it because not doing so is a disservice to those who follow you and think 'oh hey, this random guy who has only been doing it for a year says it is easy so it must be!' and end up taking longer to learn to code than they might well have done with something like Python (and in many cases Python would have got them where they want to go faster and with less mess than trying to deal with C++). Edited by phantom

Share this post


Link to post
Share on other sites
@Shaquil: As a fellow C++ user myself, I know what you mean when you say C++ isn't as hard as everyone makes it out to be. C++ isn't "hard" to learn, but it is "hard[i]er[/i]" than other languages more suitable for a beginner. I learned C++ as my first language (and it's still my primary language), but I did so knowing it'll be hard[i]er[/i] than other easier alternatives like Python. So though I made that choice for myself, when people ask my [i]recommendation [/i]for a beginner, I recommend Python.

One thing Python has over C++: Run-time interpretation, meaning no need to compile, meaning faster development time and easier experimentation for beginners trying to learn.

Why is C++ hard[i]er[/i] (though not "hard") that Python or some other languages?
1) It's more low-level, which requires more boilerplate to learn. It requires alot of, "Don't ask what this does, you'll learn about it later in the tutorials in chapter 27 - it just works, okay?".
Example:
[code]std::cout << "Hello world!" << std::endl;[/code][list]
[*]Why is the bitshifting operator << being used here? [i]Operator overloading, you'll learn about it later.[/i]
[*]What is the weird 'std::' or the 'using namespace std;' doing? [i]Namespaces, you'll learn about them later.[/i]
[*]What is 'std::endl', and why am I printing it like text? [i]It's actually a callback function being passed in to std::cout - you'll learn about how it works later.[/i]
[*]What [i]is[/i] std::cout anyway? [i]An ouput stream class inherited from ios inherited from ios_base - you'll learn about classes and inheritance later.[/i]
[*]Why are there brackets in std::vector<int> and what do they mean? [i]Templates, you'll learn about them later.[/i]
[/list]
This isn't bad, and will always be there to some extent (C++ just happens to have alot of that), but does add to confusion (and fear) in people learning it. I personally avoided templates for a long time, because I was afraid of them. [img]http://public.gamedev.net//public/style_emoticons/default/laugh.png[/img]
Note: I avoided [i]using classes that use templates[/i]. I didn't actually [i]write my own[/i] templated classes for even longer.

2) C++ also has alot of "[i]Don't pay for what you don't need[/i]", which is one of it's strengths... but new programmers don't know about what they [i]do[/i] need, and when they do know, they don't know it already exists and is waiting for them to use. How many C++ new users stick with char* strings because someone told them not to use std::strings, or because the API they use requires or returns char*, and they don't know they can convert to and from std::string?
How many manually use new and delete (because they saw someone else do it), when variables on the stack would be better in 90% of their cases, and shared pointers in the other 9%?

3) C++ is a great language. It is powerful, it is flexible, it is stable, it is fast. But it also requires you to have [i]alot [/i]of knowledge about how and when to use what it offers, that requires alot more memorization for someone who is at the same time trying to learn programming in general. C++ has alot of features, and some non-uniform syntax issues, and so many corner cases and asterisks that a programmer won't learn for [i]years [/i]before he suddenly encounters them. Even this week, I was surprised to find out (in a forum thread here by someone actually using them) that C++ allows 'and' and 'or' as keywords instead of the much more common && and || - and I've been programming C++ for 7 years. [img]http://public.gamedev.net//public/style_emoticons/default/rolleyes.gif[/img]

The C++11 standard makes C++ much better for new (and old) users. But I can't truly recommend that to new users, because of a real lack of books and tutorials teaching beginners in the new C++11 way (there are some, but google will turn up way too many old C++ tutorials), and also, a lack of full support for C++11 from IDEs and compilers, though we are getting closer. When C++11 practices are mainstream in the C++ community, then it'll be much easier to recommend new programmers to start there. And even so, that'll make it (hopefully) [u]even[/u] with Python in terms of friendliness to new programmers.

Learning Python teaches you the basics of programming in general, which when you do decide to pick up C++, makes it much easier. Also, you won't give up Python when you learn C++, you'll use them both. So it's not like it's wasted effort.

Share this post


Link to post
Share on other sites
[quote name='phantom' timestamp='1347120468' post='4978010']
[quote name='Shaquil' timestamp='1347115335' post='4977987']
But when we're talking about making games, I reiterate, you're going to have to read some C at some point).[/quote]

No you aren't.
There is no ultimate 'you must use a C language for making games' requirement anywhere.

People make games in Python, in C#, in Java, in JavaScript, in Lua and others without touching a line of C or C++.

If Python fits the need of the OP then there is NOTHING to be gained by going to a more complex language which is considerably more dangerous to use. And lets not fools ourselves here; C++ IS a complex language. Yes, you can use it for a year and go 'hey, there is nothing hard here..' but that's because you've been using it for a year and you've no idea what lurks in the darker areas of the language or [b]how many mistakes you have already made which haven't come back to bite you yet.[/b]

At one year of using C++, more so if its your first language, I do not believe you are qualified to say how hard the language is. You are still very firmly a beginner and more than likely are making mistakes which you are lucky haven't blown up in your face yet. I work with professionals on a daily basis who have been using C++ (as well as many other languages; C++ is not an end point either, most professionals if any degree of skill will know a few languages and can switch between them at will) for years and still make mistakes which can lead to hours in a debugger tracking them down.

So no, C++ is not easy.
It might look easy but that's just because you don't know what you are doing wrong.
(and that's coming from someone with 10+ years of using the language behind them.)
[/quote]
I know that from personal experience

In my opinion it depends on platform really, i would pick c# for windows because of XNA and its xbox and windows phone support while on others i would say python and pygame due to the simplicity of it of the day i have tested it.

Good luck

Share this post


Link to post
Share on other sites
Guys, let's not turn this into a language flame war thread, okay?

@OP: As you can see, it's not really about the tools so much as it is about the craftsman. Any of the languages mentioned will be more than enough for your needs, and any language you choose is going to offer up plenty of learning opportunities. There is a lot of argument and discussion about the easiest language, the hardest language, etc... but rest assured that all of them offer challenges aplenty, and all of them offer ways to both create awesome things and shoot yourself in the foot many times in the process. The important thing is that whatever you choose, be it C#, C++, Python, Lua or something more esoteric like D or even (don't do this) Brainf**k; stick with it and give yourself plenty of time to learn it and gain experience. A good programmer can change languages very quickly; after all, most languages have far more in common with one another than differences.

Share this post


Link to post
Share on other sites
[quote name='Shaquil' timestamp='1347115335' post='4977987']
C++ is widely considered the "main" gaming language.
[/quote]You can't be more right !!

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement