Is c++ better?

Started by
10 comments, last by Ripiz 11 years, 7 months ago
Ok, Hi! I have been using Game Maker for a few years now, and I have made a bunch of 2D games. I've never used the Drag 'N Drop part just the GML. But I really wanted to stop using it and I want to switch to making games with a programming language like c++ or python. So I made a game in Python using Pygame. Worked out great except for making the "camera" follow the player. It was pretty frustrating, but I enjoyed working out the problems so much! I have been surfing the net looking for all kinds of methods of game programming and engines. I have seen on many websites that most games are made with C++. I have always been scared to move to c++, but I fear that eventually I will have to use it.

My question is, is it fine if I continue using Pygame, or should I switch to working with c++. If I should switch to c++ what library or engine would I use?

-Thanks in advance
Advertisement
I suggest you search through the beginner's forum for a while, this exact question has been asked a lot the last couple of days/weeks so it's pretty useless to dedicate yet another 'language war' thread to the subject.

A small note though: There's no such thing as a 'better' language, a language is a tool and you should choose the appropriate tool for the job you're trying to do. Saying one language is better than the other is like saying a screwdriver is better than a hammer.

I gets all your texture budgets!

I would say that you should continue with python till it's second nature. Make a bunch of games! Clones of Tetris, Mario, etc etc till you feel comfortable and you understand the process you go through to setup the game. Then I would move over (slowly) to C++ or C#. I just moved from pygame to XNA/C# actually for a different experience.

I would say that you should continue with python till it's second nature. Make a bunch of games! Clones of Tetris, Mario, etc etc till you feel comfortable and you understand the process you go through to setup the game. Then I would move over (slowly) to C++ or C#. I just moved from pygame to XNA/C# actually for a different experience.


XNA/C#? I've heard bad things about it. I've also heard it's slowly dying. mellow.png I also like distributing games as single-file executables or at least very few files. With XNA you have to distribute the XNA Framework.

XNA/C#? I've heard bad things about it. I've also heard it's slowly dying. mellow.png I also like distributing games as single-file executables or at least very few files. With XNA you have to distribute the XNA Framework.

Yeah, you probably heart it here.

If it is really dying or not, only time will tell. Many have said C++/C, Java, whatever will die out soon, but it hasn't happened yet. C# at least is going strong.

If you're not a professional game developer, it shouldn't concern you about if it is dying or not (you also shouldn't care that much how to distribute your game). You are an amateur, you are here to learn, not to make money. As long as there are good tutorials and a community, it is a choice to get a foot into game programming. It hides some nasty aspects of game programming while giving you the comfort of a high level language.

You can always go to C++ with SDL/SFML, but if you are new to programming, it is like going from aspirin straight to heroin.
Project: Project
Setting fire to these damn cows one entry at a time!
If, like me (and so many others), you enjoy programming for what it is, and not just because you want to make a game, then you will probably enjoy tinkering in c++. Though, if all you're looking for is something a little more powerful than Gamemaker to take your ideas to the next level then best bet is to stick with python, C# or some other high level/managed language.

If you want to try C++, SDL/SFML as has already been mentioned, are choice libraries to develop applications such as games so don't forget to check those out (I would personally recommend SFML simply because I am familiar with it somewhat and seems generally cleaner than its C based competitor).
Thanks for all the helpful responses. I'm definitely going to try to master Python and Pygame/Pyglet. ^-^ Umm, where on this forum can people share games they are working on?

XNA/C#? I've heard bad things about it. I've also heard it's slowly dying. mellow.png I also like distributing games as single-file executables or at least very few files. With XNA you have to distribute the XNA Framework.


You probably heard that from some other thread in the beginner's forum. I would take it with a grain of salt, this isn't necessarily a good place for the kind of business analysis involved in determining whether or not microsoft is going to drop XNA.

However, it's extremely unlikely microsoft plans on dropping C# any time soon. They invested far too much money and resources to drop it and go back to C++.

Assuming I'm wrong and microsoft drops XNA -and- C#, it would ultimately be irrelevant because of mono and monogame.

Thanks for all the helpful responses. I'm definitely going to try to master Python and Pygame/Pyglet. ^-^ Umm, where on this forum can people share games they are working on?


The Your Announcements section is a good place to announce a game that you're working on or completed. And the developer journals are a good place to kind of document your journey if you so desire.
One thing to consider is the fact that pygame is a wrapper of SDL. Basically its a python module that just calls the C code from the existing SDL library. So if you were to move to C++ SDL would be the closest to what you have already used.

C#/XNA isn't really dying. Support seems to be fading but its still there and available. XNA actually works with all .net/cli languages not just C# but all tutorials assume C# (odd visual basic one out there too). There is now an open source XNA clone that is cross platform and actively developed called monogame. You can actually use either one with ironPython which is just Python 2 running on .net.

The actual topic title: is C++ better. Lets say you were asking is C++ better for performance then the answer would be yes, is it the BEST for performance, debated (some C# tasks are actually faster than plain C, not many though, something to do with stuff that I can't fully understand. Hand written assembly is often fastest). Is it the BEST for ease of use, no.


Carrying on with Python + Pygame or Pyglet is an excellent idea. You may hit performance issues but by then you will probably have a firm grasp of writing code for 2d graphics at which point you could look for bigger and better. C# is a nice choice, as is Java. Python to C++ is a bigger but not impossible gap. If your concerned about XNA dying then use monogame instead as that is being actively developed all the time and is going to be around for the foreseeable future. Java and .net also have SDL bindings available to them aswell so in theory you could carry on using SDL with C# or java or even ironPython or Jython (python for .net and JVM respectively). I personally don't see any need to go the full hog with C++ anymore although if thats what you want to do one day then no ones stopping you.

This topic is closed to new replies.

Advertisement