C++ or another language

Started by
50 comments, last by TheTroll 12 years, 8 months ago
Hello again.

Several days ago I was on these forums, determined to make my first game, a text based rpg. I got the help I needed then continued with my project. I read an article about how C++ is a bad beginner language and you should start with a simpler language. That's when I realized that I had been working on a text-based game for a week and hadn't even done the hard stuff.


Should I continue with C++? I have been learning it for almost 2 months, so I am rluctant to give up. But C#,C, or maybe even python/java, are supposed to be more productive and beginner friendly.

So what do you recommend? I want to be productive and I also want to be able to create a halfway decent 3D game. In your answer, could you list your experience?
Advertisement
C# is very similar to C++, with exception to memory management. it has a Garbage Collector, so no need to worry about freeing the memory.

C# + XNA will be a quicker path to making your game.

Never say Never, Because Never comes too soon. - ryan20fun

Disclaimer: Each post of mine is intended as an attempt of helping and/or bringing some meaningfull insight to the topic at hand. Due to my nature, my good intentions will not always be plainly visible. I apologise in advance and assure you I mean no harm and do not intend to insult anyone.

In recently working with C++ again for the first time in ages, the tools are as big a barrier of entry as the syntax. Not only do you have to learn about the linker, binary formats, preprocessor and a bunch of other crap before your code works.

In C#, you download it and start writing code, at worse you need to add a reference.

This alone makes c# more beginner friendly.
When you look at your Text based RPG, never, ever expect it to be good looking the first week, it's your first game. Not only that, but you've chosen an extremely complicated Game genre 'RPG', you have to have many different variables etc. I think you should just make a text based fighting game, like for example:

Your turn...
1. Punch ( Attack 4) - > whereas Attack can be blocked more likely
2. Kick ( Attack 3) - > Kick has less likely hood of being blocked
3. Heal ( 3 left) - > you can only heal a certain amount of times

This type of game is mostly on luck.

To create an attack system, read up on the rand() function, and use it to pick between a max number
Example:

rand() % 100
~~~
rand() % 5

And simply check whether or not the number is a specific number or greater/less than a specific number
Using 100 is obviously going to be a number to big for attacking
5 is probably the better choice.

I think your more of a 'I just wanna see gameplay' type of game developer, If that's the case, you should be using game maker to make, the actual game-play rather than programming. Because a programmer knows how difficult programming can be and won't tell himself, I'm not getting *squat* done. You'll only discourage yourself, instead look at every little thing you add to the game, and tell yourself that you've reached a new milestone. It's your first game, relax, it may take a while to actually get something playable. But when you do, be sure to post a link to download, because I wanna try it out.

When you look at your Text based RPG, never, ever expect it to be good looking the first week...
I think your more of a 'I just wanna see gameplay' type of game developer, If that's the case, you should be using game maker to make, the actual game-play rather than programming. Because a programmer knows how difficult programming can be and won't tell himself, I'm not getting *squat* done...
But when you do, be sure to post a link to download, because I wanna try it out.



I'm not a programmer that is just looking for results. It just that I had heard that a working tetria game can be made in a week so I was worried.

I already use the rand() func for fighting in the rpg. and I will post it when I finish.

But I am still questioning whether I should switch to c#.
Two months o.o; Depends on how many hours, but I'm guessing you're quite familiar with most of the functions so stick with C++. That being said if you haven't put that many hours into it consider switching. Personally I want to broaden my horizons a tad so I want to recode what i've done in c, into python. Might be a good choice for you as well.
I'm a fellow new programmer, so keep in mind my advice is coming from another person navigating the same sea of choices and challenges you are but...

Two years ago I thought I'd go full force and teach myself C++ to break into game programming despite all the nay-sayers. After about 3 months, my greatest accomplishment was a text based version of Blackjack and I hit a wall, giving up soon afterwards.

Being the stubborn person I was, I picked up programming again about a month or so ago, but this time I decided to try something easier with Python. I learned everything I had learned from C++ in Python in about 3 days, and after 2 weeks of diving into Python I had created my first game, a simple top down shooter. This is also learning the language between a job and taking care of my daughter, so it's not like I had tons of time to devote to it. While Python does have a few limitations I took for granted while learning C++, I'm proud of my choice.

What I would suggest for you is to take a moment, step back, and look at your progress. If you're still making progress, no matter how slow, keep at it. C++ is a very useful language to know no matter how frustrating it is to learn. If you ever find yourself hitting a wall, don't give up. Learn C# if that's what interests you. Learn another language. Learn, learn, learn, and you will be surprised at what you are able to do and the skills you have acquired. I do one day plan to go back to C++, but not until I can competently and reliably program in Python.

Hello again.

Several days ago I was on these forums, determined to make my first game, a text based rpg. I got the help I needed then continued with my project. I read an article about how C++ is a bad beginner language and you should start with a simpler language. That's when I realized that I had been working on a text-based game for a week and hadn't even done the hard stuff.


Should I continue with C++? I have been learning it for almost 2 months, so I am rluctant to give up. But C#,C, or maybe even python/java, are supposed to be more productive and beginner friendly.

So what do you recommend? I want to be productive and I also want to be able to create a halfway decent 3D game. In your answer, could you list your experience?

If you are a beginner certainly learn C++ until you are comfortable with it first then maybe move on to learning to write a game.

C# (with or without the XNA combo) uses the .NET Framework and is Microsoft-specific. It has great tools to aid game development as far as I'm aware, so if you're happy taking that route to only write games for Windows then at least have a look at it.

I certainly wouldn't recommend learning C++ and writing a game at the same time (even though I saw a book on doing just that today!). ohmy.gif


Well, I'm currently learning x86 assembly, C++(4 years and still learning), and I plan on learning C# to make games available for Xbox Live Arcade. When I get to a point where I can churn out 2D games like nothing, Then I'll move to DirectX or Maybe OpenGL (it's industry standard I believe) and begin making 3D games.
I recommend C# for pretty much anyone looking to program who has a remotely modern windows machine.

But pretty much anything but C++ will do.

This topic is closed to new replies.

Advertisement