#1 Members - Reputation: 129
Posted 21 September 2012 - 04:27 AM
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
#2 Members - Reputation: 2045
Posted 21 September 2012 - 04:33 AM
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.
Edited by Radikalizm, 21 September 2012 - 04:33 AM.
#3 Members - Reputation: 774
Posted 21 September 2012 - 04:38 AM
#4 Members - Reputation: 129
Posted 21 September 2012 - 04:43 AM
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.
Edited by xhh, 21 September 2012 - 04:45 AM.
#5 Crossbones+ - Reputation: 1064
Posted 21 September 2012 - 06:02 AM
Yeah, you probably heart it here.XNA/C#? I've heard bad things about it. I've also heard it's slowly dying.
I also like distributing games as single-file executables or at least very few files. With XNA you have to distribute the XNA Framework.
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.
Setting fire to these damn cows one entry at a time!
#6 Members - Reputation: 290
Posted 21 September 2012 - 07:00 AM
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).
Edited by roadysix, 21 September 2012 - 07:08 AM.
#8 Members - Reputation: 181
Posted 21 September 2012 - 07:03 PM
XNA/C#? I've heard bad things about it. I've also heard it's slowly dying.
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.
#9 Members - Reputation: 507
Posted 21 September 2012 - 07:12 PM
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.
#10 Members - Reputation: 1050
Posted 22 September 2012 - 04:17 AM
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.
#11 Members - Reputation: 774
Posted 22 September 2012 - 06:23 AM
#12 Members - Reputation: 521
Posted 22 September 2012 - 02:09 PM
Personally I believe C++ is faster than pretty much any other choice you have. However developing anything with C++ will take more time to get it working and even more time to get it right. Performance provided by C++ is useful only if you are going to develop (very) heavy game (application) and bother to do optimizations. I've had a lot of troubles with Java, Flash, Unity (but not C#) in the past, I have them even right after fresh Windows install, therefore I always choose C++ over any other language, even if other language is more suitable.






