Jump to content

  • Log In with Google      Sign In   
  • Create Account

Is c++ better?


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
11 replies to this topic

#1 xhh   Members   -  Reputation: 130

Like
0Likes
Like

Posted 21 September 2012 - 04:27 AM

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

Sponsor:

#2 Radikalizm   Crossbones+   -  Reputation: 2993

Like
6Likes
Like

Posted 21 September 2012 - 04:33 AM

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.

Edited by Radikalizm, 21 September 2012 - 04:33 AM.

I gets all your texture budgets!


#3 Inuyashakagome16   Members   -  Reputation: 835

Like
1Likes
Like

Posted 21 September 2012 - 04:38 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.

#4 xhh   Members   -  Reputation: 130

Like
0Likes
Like

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. Posted Image I also like distributing games as single-file executables or at least very few files. With XNA you have to distribute the XNA Framework.

Edited by xhh, 21 September 2012 - 04:45 AM.


#5 Bluefirehawk   Crossbones+   -  Reputation: 1232

Like
0Likes
Like

Posted 21 September 2012 - 06:02 AM

XNA/C#? I've heard bad things about it. I've also heard it's slowly dying. Posted Image 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!

#6 roadysix   Members   -  Reputation: 290

Like
2Likes
Like

Posted 21 September 2012 - 07:00 AM

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

Edited by roadysix, 21 September 2012 - 07:08 AM.


#7 xhh   Members   -  Reputation: 130

Like
1Likes
Like

Posted 21 September 2012 - 04:48 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?

#8 zalzane   Members   -  Reputation: 191

Like
0Likes
Like

Posted 21 September 2012 - 07:03 PM

XNA/C#? I've heard bad things about it. I've also heard it's slowly dying. Posted Image 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 j-locke   Members   -  Reputation: 825

Like
0Likes
Like

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 6677   Members   -  Reputation: 1058

Like
0Likes
Like

Posted 22 September 2012 - 04:17 AM

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.

#11 Inuyashakagome16   Members   -  Reputation: 835

Like
0Likes
Like

Posted 22 September 2012 - 06:23 AM

Support may be fading a bit as 6677 said, however i think it's still a good framework to learn. :) I learned SFML at first and then moved to python and pygame then to XNA. I didn't completly understand SFML at first, then pygame was easier to understand, now XNA I'm finally understanding the process in which a game is "put together" if you will. < Probably sounds like a n00b statement but it's true.

#12 Ripiz   Members   -  Reputation: 529

Like
0Likes
Like

Posted 22 September 2012 - 02:09 PM

What I say here is not a fact, but an opinion, please don't start war.

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.




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