Jump to content

  • Log In with Google      Sign In   
  • Create Account


Best language to be "versatile" in game making.


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
68 replies to this topic

#1 Tyl3r684   Members   -  Reputation: 107

Like
0Likes
Like

Posted 07 September 2012 - 09:15 PM

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! Posted Image

Sponsor:

#2 Servant of the Lord   Crossbones+   -  Reputation: 18461

Like
11Likes
Like

Posted 07 September 2012 - 09:39 PM

Any good language can do 2D or 3D (though I agree you should stick with 2D starting out).

I'd recommend Python. Also, see the PyGame library with Python. Python tutorials and documentation.

You mentioned you, "know some here, know some there..." - the key is not finding the right language that'll make games pop out, the key is sticking with whatever language you choose, and keep on striking the anvil until what you are forging is finished.
The good thing in your situation is that your friend and you can learn together, and encourage each other. Be accountable to each other to spend time programming, and be each other's motivational coach. When one of you feels tired, frustrated, or bored, the other can force you to continue, and vice-versa.
It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.
All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.
Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal

[Fly with me on Twitter] [Google+] [My broken website]

[Need web hosting? I personally like A Small Orange]


#3 jbadams   Senior Staff   -  Reputation: 17921

Like
10Likes
Like

Posted 07 September 2012 - 09:39 PM

Any language meets those requirements.

Professional quality games have even been developed in Game Maker (Legend of Fae, Serious Sam: The Random Encounter), RPG Maker (To The Moon), and Multimedia Fusion (Saira). Terraria was written in C# with XNA. RuneScape 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.

#4 Tyl3r684   Members   -  Reputation: 107

Like
0Likes
Like

Posted 07 September 2012 - 09:59 PM

Any language meets those requirements.

Professional quality games have even been developed in Game Maker (Legend of Fae, Serious Sam: The Random Encounter), RPG Maker (To The Moon), and Multimedia Fusion (Saira). Terraria was written in C# with XNA. RuneScape 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.



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, 07 September 2012 - 10:03 PM.


#5 jbadams   Senior Staff   -  Reputation: 17921

Like
2Likes
Like

Posted 07 September 2012 - 10:17 PM

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.

are they ABLE to be made in Python, like in theory, and in another note, is python, powerful/popular/worth learning?

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 EVE Online and ToonTown Online, and was used as a scripting language in Civilization 4. You can read some things people from companies such as Google, Industrial Light and Magic, and others have said about Python on their website.

Once you've learned the basics and are comfortable with the language (perhaps using the freely available Thinking In Python) you'll probably want to look into using either PyGame or Pyglet; you'll probably find PyGame more approachable.

#6 Tyl3r684   Members   -  Reputation: 107

Like
0Likes
Like

Posted 07 September 2012 - 10:20 PM

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.


are they ABLE to be made in Python, like in theory, and in another note, is python, powerful/popular/worth learning?

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 EVE Online and ToonTown Online, and was used as a scripting language in Civilization 4. You can read some things people from companies such as Google, Industrial Light and Magic, and others have said about Python on their website.

Once you've learned the basics and are comfortable with the language (perhaps using the freely available Thinking In Python) you'll probably want to look into using either PyGame or Pyglet; you'll probably find PyGame more approachable.


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! :)

#7 DeafTV   Members   -  Reputation: 1188

Like
0Likes
Like

Posted 07 September 2012 - 10:35 PM

keep on striking the anvil until what you are forging is finished.


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 Posted Image

#define TRUE FALSE //Happy debugging...


#8 jbadams   Senior Staff   -  Reputation: 17921

Like
3Likes
Like

Posted 07 September 2012 - 11:03 PM

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.


As you know I want to begin python, where may I find updated tutorials there all from 2 - 3 years ago... :|

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 Thinking In Python, A Byte of Python, and the official documentation for learning Python. Once you get to learning Pygame you'll want to start with the official documentation and tutorials listed on the website.

#9 Tyl3r684   Members   -  Reputation: 107

Like
0Likes
Like

Posted 07 September 2012 - 11:06 PM

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.



As you know I want to begin python, where may I find updated tutorials there all from 2 - 3 years ago... :|

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 Thinking In Python, A Byte of Python, and the official documentation for learning Python. Once you get to learning Pygame you'll want to start with the official documentation and tutorials listed on the website.


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

#10 zer0wolf   Members   -  Reputation: 1018

Like
3Likes
Like

Posted 07 September 2012 - 11:40 PM

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 http://www.greenteapress.com/thinkpython/, 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.
laziness is the foundation of efficiency | www.AdrianWalker.info | Adventures in Game Production | @zer0wolf - Twitter

#11 Shaquil   Members   -  Reputation: 815

Like
9Likes
Like

Posted 08 September 2012 - 08:42 AM

After all that's been said about C++ not being very beginner friendly (not so much in this thread, but allover the net in general), I'd like to just say that I've been programming for about a year and three months now, and I started learning with C++. I can tell you firsthand that:

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. It's just a language, like any other; but, more importantly, it's got a ton of GUI/Game libraries and documentation. These are the two things any beginner programmer, let alone game developer, really need most of all. I know that python probably has some excellent documentation, too. I'm just making the point that it's really strange to say that Python is better because it's easier.

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. So while Python is a great language for beginners, it's more than likely going to just be a gateway language; you'll end up writing some C/C++ in the end anyway, so why wait? I guess if you want to very very quickly get into coding some complex things without knowing all the complexities necessary to execute those things (which is required of C++/C), then it'd make sense to go with Python, Java or some other language that requires less of the developer, but again--aren't you going to have to learn those things eventually anyway? Using a language that's easier to swallow as a go-between from where you are now and where you want to be in a couple years isn't always the wisest decision. (Not to take anything away from Python or Java. They're both amazing tools with amazing uses, and they have something they do best, much like C++. But when we're talking about making games, I reiterate, you're going to have to read some C at some point).

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. It's a challenge, but hey, welcome to programming: It's challenging. It's also so rewarding to write code in this language. Some think it's syntactically bloated, but maybe you'll disagree. I say ultimately, you should at least give it a try. If you spend a month with C/C++ and don't like either, then go try Java. Guess what: The syntax is pretty damn similar, and most of the concepts are the same. Don't like Java? Try Python. Again, you're not shooting yourself in the foot; you're still progressing. But don't get into the habit of avoiding things just because they "seem hard". If it's the right tool, even if it's challenging, you have to get used to picking up tough subjects and learning them. That's part of being a complete programmer.

This isn't necessarily for the original poster (who has probably already gone with python). It's more for anyone who'll find this post from a google search. C++ is not advanced calculus. Programming is programming is programming*.

*Unless you go from procedural programming to a functional programming language like Haskell.

Edited by Shaquil, 08 September 2012 - 08:44 AM.


#12 Tyl3r684   Members   -  Reputation: 107

Like
0Likes
Like

Posted 08 September 2012 - 09:51 AM

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 http://www.greenteap...om/thinkpython/, 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.


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, 08 September 2012 - 10:33 AM.


#13 phantom   Moderators   -  Reputation: 7013

Like
2Likes
Like

Posted 08 September 2012 - 10:07 AM

But when we're talking about making games, I reiterate, you're going to have to read some C at some point).


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 how many mistakes you have already made which haven't come back to bite you yet.

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

#14 swiftcoder   Senior Moderators   -  Reputation: 9845

Like
-1Likes
Like

Posted 08 September 2012 - 10:29 AM

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.

Wrong. You just haven't explored enough of the language to be bitten by it yet.

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.

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.

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.

There is always something new to learn. That includes vitally important pitfalls that you have yet to learn, and will eventually trip you up.

C++ is not advanced calculus.

It's more like a live nuke with rusted wiring.

Programming is programming is programming*.
*Unless you go from procedural programming to a functional programming language like Haskell.

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

Tristam MacDonald - Software Engineer @Amazon - [swiftcoding]


#15 ifthen   Members   -  Reputation: 820

Like
3Likes
Like

Posted 08 September 2012 - 10:51 AM

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.

#16 zer0wolf   Members   -  Reputation: 1018

Like
1Likes
Like

Posted 08 September 2012 - 01:24 PM

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!

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.
laziness is the foundation of efficiency | www.AdrianWalker.info | Adventures in Game Production | @zer0wolf - Twitter

#17 Tyl3r684   Members   -  Reputation: 107

Like
0Likes
Like

Posted 08 September 2012 - 01:28 PM


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!

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.



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

#18 zer0wolf   Members   -  Reputation: 1018

Like
1Likes
Like

Posted 08 September 2012 - 01:36 PM

I'm going to take a stab here and guess that you're trying to walk before crawling Posted Image 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, 08 September 2012 - 02:52 PM.

laziness is the foundation of efficiency | www.AdrianWalker.info | Adventures in Game Production | @zer0wolf - Twitter

#19 Shaquil   Members   -  Reputation: 815

Like
2Likes
Like

Posted 08 September 2012 - 02:32 PM

Wrong. You just haven't explored enough of the language to be bitten by it yet.


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.

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.


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


There is always something new to learn. That includes vitally important pitfalls that you have yet to learn, and will eventually trip you up.

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.

It's more like a live nuke with rusted wiring.


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, 08 September 2012 - 02:34 PM.


#20 Shaquil   Members   -  Reputation: 815

Like
2Likes
Like

Posted 08 September 2012 - 03:03 PM


But when we're talking about making games, I reiterate, you're going to have to read some C at some point).


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 how many mistakes you have already made which haven't come back to bite you yet.

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


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 any 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 enjoy 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 trying the damn language out. Don't do it! There's stuff hidden! You're too stupid to make the mistakes, that's why you haven't made them yet!!!! Oh, well then I guess I'm all good then. And when I do make the mistakes, I'll probably do what you did: Learn from them.

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 any other object-oriented language? Was my time spent with C++ wasted? Will I start from scratch? This is ridiculous.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS