A questionhttp://forum.devmaster.net/t/a-question/21553
Hi guys I want to hear your opinion about the question "Wich one I should pick? Python with Pygame or C++ with DarkGDK?"
I'm kinda confused because the both of the choices are amazing but I must pick only one of them, that's why I want to hear your(experienced programmer's) opinion.
Fri, 22 Jun 2012 20:47:10 +0000languagesA questionno-reply@example.com (@Stainless Paul Blythe)@Stainless wrote:

Yes, but you can say the same about C#

Some of the "standard" items supplied with C# are just beautiful.

Like the ability to invoke the C# compiler from within your code, lovely for genetics.

The tools you get to work with in C# are many orders of magnitude better than the tools you get for Python.

Obviously if you want real performance, neither are the best, but for a new coder just learning.... either do it right (C/C++, lot's of time, need talent to have a hope) or use something with a tool set that will ease you in.

Okay I tried Python with Pygame and I can tell that python is s**t. Iknew that the best one is c++

Do you mean s**t as in "good", or s**t as in "bad"? You can never tell these days...

A language like Python is abstracted at a higher level than C or C++. It imposes limits and other disadvatages, but you can do in one-line what it would take umpteen C lines to do. Where performance in code doesn't matter, but performance in coding/maintaining matters, this is a godsend...

First of all, thanks for stopping by and giving feedback. I didn't know you had the experience you had. I thought you didn't know a language at all. With your experience level, Darkgdk with c++ should be all right. Good luck and stop by and tell us how you are doing.

I agree with Reedbeta - although I'm heavy fan of C, C++ and ASM (low level is good) and Haskell (high level also ). Don't drop python to trash - it's not that bad (especially for doing stuff in Gtk for example)...

Every language has it's advantages and disadvatnages (and is better for something) - there is no "uber" solution (well... except for Haskell! :ph34r:). For game development, you can use actually almost any available language - standard C, Pascal (e.g. strictly procedural languages - and do lots of stuff through pointers); C++, Object-Pascal (e.g. object-oriented AND procedural languages - very good thing to work with - you have all the power C has, plus something more); Java, C# (e.g. strictly object-oriented (with lots of extensions) and managed code - also very usable); or even some "ninja languages" like Haskell is.

For example - we actually doesn't write our game + engine in single language (not that it would be impossible, but it's easier to do this in one language and to do that in another one). For game engine core we're using C++ (GNU++11 (formerly GNU++0x) standard). For actual realtime ray-tracing core in engine we use native C - C99 std (CPU ray tracing) with SSE intrinsics heavy code and C - OpenCL/C99 std (GPU ray tracing). And this is just a core. We now have game engine editors - e.g. the important stuff, where C# with Gtk (known as Gtk#) is a lot better tool than using C++ (and don't ever use Gtk and C - our first editor was actually writen in Gtk + C - and it WAS nightmare, compared to Gtk#). Our game scripts can be done in LUA (C/C++ like scripting language) and we're also going to try Haskell on this (and that will own! - it's just for test & fun). The actual game is in our case written in C++ (but! it can actually be also written in C# - which we considered several times, but still we like C++ a bit more). And at last - game & game engine configuration files - are written in bash-like syntax.

As you can see, we do lots of stuff in C-like languages, but not in single one... why to limit just for a single language, where there is so much of them?

NOTE: You don't want to see makefiles :lol:

EDIT: So actually we use lower-level languages, where speed is critical ... and higher-level languages where structure and understanding of code is critical (because 'one does not simply read & understand intrinsics code block on the first try').

I'm experienced in web developing, and actualy I'm pissed off from HTML5,CSS,PHP and etc.But I am unexperienced at object-oriented programing

How about doing some asp.net. This way you learn with webbased stuff that you are already familiar with and you can get into c# which is object oriented. Then you can get away from the webforms and more into winforms. After that it should be easier to switch to e.g. C++.

Actually, JavaScript is quite nifty and can be a lot of fun. It allows you to do some interesting stuff e.g. closures, prototype etc. The annoying part is to create some html that will work in all browsers. This gets old really fast.

HTML and JavaScript are certainly not as fun to work with, but the HTML5 canvas is quite powerful and I would wager on-par with pygame in comparison of supported 2D graphical features. Since you already have a background in web dev, it might be a quicker development option for you.

I would recommend python/pygame. I made the mistake of purchasing an engine first thing when I wanted to learn programming and it didn't work out. There are so many free engines around now that it's not at all necessary. Programming structure is something you need to go through no matter what engine you end up with. With a 2d engine like pygame, you will do things like simple rectangular collision, possibly path finding, simple physics ( the guy jumps and comes back down), and design simple games rather than starting out with an rpg and giving up after a year. Granted, you could do it with Dark Basic, and it's tempting to say, I need to learn c++ anyway so why not start with it. There are a lot of reasons why not to start with it, however. It's a picky language that's hard to find all the errors at first. It's a lot easier to learn the structure of programming with a language like Python, and when you've gotten that under your belt, you'll be better able to deal with c++. Most programming courses start with another language such as Python. Believe me, it takes a long time to learn everything necessary. An engine like DarkGDK will save a huge amount of time, but you won't really lose any learning Python and writing some small 2d games before you move on to a 3d engine if you choose to do so. 3d generally means you need to be able to model unless you can find a partner you can work with for no money. You can do some simple 2d art games no matter what kind of artist you are. People are pretty forgiving with it if the game is original and fun, and the restraints will make you a better programmer and game designer. My personal opinion is that c++ is no longer necessary for an indy programmer and is more of a hindrance. C#, or whatever is handy is just a lot easier to deal with and get the job done in the shortest possible time. If you are doing it all yourself, that's pretty much a necessity. Also, if you learn Python first, you will probably be more likely to use those other languages whether As3, Java, C# or whatever because they only vary in small ways. In my experience, c++ programmers need to do it all themselves and get stuck in the details, which is fine in some circumstances, but when you have to write and do the art for an entire game, that can be a deal breaker. Lastly, DarkGDK will mask a lot of things that, had you done some of it in pygame, you will see what they are doing and understand the structure better.

c!? I never heard of that one before. Is that like C in between ++ and #?

teck, if I were you I would download both and try them a little bit. Go as far into development as you're comfortable with and then weigh the pros and cons of what you like and don't like. It will only take at most a week of your time, but that invested time will assure you made the right choice you will be happy with.

Hi guys I want to hear your opinion about the question "Wich one I should pick? Python with Pygame or C++ with DarkGDK?" I'm kinda confused because the both of the choices are amazing but I must pick only one of them, that's why I want to hear your(experienced programmer's) opinion.