Is C++ still the best language out there for games?

Anything else
Post Reply
User avatar
Jaz
Posts: 513
Joined: Mon Mar 05, 2012 3:33 pm
Location: Earth, Near The Sun, Milky Way, Universe, Time Loop

Is C++ still the best language out there for games?

Post by Jaz » Thu Jul 18, 2013 11:40 am

Just wondering if C++ is still considered the best(most efficient) language out there for video games.

I don't mind learning advanced languages as I have plenty of time so ease of use isn't really an issue, barring if there are no tutorials.

I'm looking to get into the RPG games industry after college and figured I should start building a skillset now.
Obviously, since they're becoming standards, whichever language I learn now would have to be capable for online gaming and cloud computing.

User avatar
Korban3
Posts: 4146
Joined: Tue May 31, 2011 9:14 pm
Location: 42nd St E, Hell

Re: Is C++ still the best language out there for games?

Post by Korban3 » Thu Jul 18, 2013 2:21 pm

Well, C++ is pretty powerful. The use of classes and the other functions in C++ allow for some really fantastic control of low-level functionality like entity handling and such. It can be a bit quirky at times, but it is for the most part really solid and capable. There are also plenty of libraries for OggVorbis playback, XML parsing (Serialize ur data!), 3D and 2D graphics, etc etc

Other options that are very much feasible and have their own sets of pros and cons are Python or Java.
I can't vouch for Java much, having almost not experience in it.
Python, however, I've used a fair bit. Has some great features in the way of list handling. Real clean syntax, not too hard to learn and get used to managing. Forces your code to be really readable, as far as structure goes. There are a lot of libraries and such for Python as well to aid in graphics, audio etc.

Either way, OpenGL is an industry standard if you want to make games without paying for a DirectX license that leaves your game only functional on a Microsoft product.
For OpenGL and C++, you would simply use the basic OpenGL libraries, which are very well documented.
Also, if you're looking into this, I'd recommend tracking down a copy of The OpenGL SuperBible 5th edition. It covers the new core functionality of OpenGL in a super manageable way, easing you into using shaders in the newer fashion. Definitely worth buying and following along with in your compiler.

For Python, I did some experimenting with Pyglet (http://pyratesarecool.appspot.com/Pyglet). Pyglet was a bit tough to get set up, but I think that was because I wasn't super familiar with Python at the time. Once it is setup, it's fairly straight forward to use if you're familiar with OpenGL already. pyedpypers.org was where I'd found a good tutorial for starting out, but it seems to be gone now. I'll upload an archive of some good example scripts that I snagged a while back, in case this interests you.

I'll try to think up some more stuff if you'd like. I can help you learn a fair bit of C++ as well, as long as you don't blast past my intermediate knowledge.
Attachments
stretching_pyglets_wings-1.3.zip
(47.86 KiB) Downloaded 294 times

User avatar
Endoperez
Posts: 5668
Joined: Sun Jan 11, 2009 7:41 am
Location: cold and dark and lovely Finland

Re: Is C++ still the best language out there for games?

Post by Endoperez » Fri Jul 19, 2013 5:27 am

Jaz wrote:I'm looking to get into the RPG games industry after college and figured I should start building a skillset now.
I'm saying this as a game dev student myself.

Don't do that. There's no "RPG industry", there's game industry where some people work on RPGs. It's like deciding to "look into becoming a Formula 1 championships driver" after college. You could look into becoming a racer, but not into getting the exact position up top that you dream of.

You could look into becoming a game developer. Perhaps, once you've been doing that for a while, you get to work in making RPGs.

What sort of a skillset are you thinking of? Are you sure that's what you want to do?

You mentioned RPGs, so I assume you're interested in the story and adventure and character interactions more than, for example, precise physics-based simulations, optimized network protocols or making all characters balanced against all other characters in as many different scenarios you can think of.

The story is written by a storywriter, who most probably will also write descriptions if items, potions, spells, backstories for various characters, dialogue, probably parts of the game manual and so on. Because that doesn't take 2-3 years like the rest of the game, the storywriter might be out of a job unless he can do something else - art, programming, level design, trap design, level and trap implementation, updating the game's web page, handling marketing and social media hype...

C++ isn't required for story and character interactions, but it's helpful for the interactions thing. If someone wants to do something like a scene where your options cause the NPCs to react in various ways and your party members to react in various ways depending on your actions or dialogue choices, someone needs to program it. That's very simple stuff, though, so it's more likely to be some sort of a scripting language rather than raw C++. Think of Overgrowth and hotspot scripting. It's not difficult, but there's lots of it and someone has to do it, and if he's interested in making those interactions feel as good as possible (instead of, say, optimizing systems to be as fast as possible - there's better things for those programmers to work at) that's all the better.

What C++ is good for is the stuff David is doing - making an engine. Making new features. Making a sun you can double-click and drag around. Making new game engines. Making prototypes, raw and crude stuff that needs to be finished and polished off, perhaps by other people, while you keep working on new features.


You most probably won't get a job doing any one of these things in an RPG as your first job. It might be a mobile game, a facebook game. It might be an X-Box live arcade game. All of those require different languages - maybe the X-Box game would actually use C++. You should look into this - which game companies exist near you? Which accept interns? What games do they make, what languages and skills does one need to work for them? If you're living next to Bioware, then that's great, study RPG stuff.

It's still relatively easy to get a job without papers as long as you have the skills, and something to show them off. Make mods, your own prototypes, write stuff, make games, make a showreel or portfolio page that looks awesome and makes people think you're a pro. Or, at the very least, that you will be one.

User avatar
Korban3
Posts: 4146
Joined: Tue May 31, 2011 9:14 pm
Location: 42nd St E, Hell

Re: Is C++ still the best language out there for games?

Post by Korban3 » Fri Jul 19, 2013 9:39 pm

Mm, guess I missed the ball on this a bit. He said, in a nutshell "Make a game" and I immediately defaulted to hard coding it from scratch.
But, Endo is right. Unless you're making Sui Generis(http://www.youtube.com/watch?v=qPZ5yuiWWeE), you're probably safe using an existing engine or tool and making the game itself rather than spending years on an in-house brew.
You can if you want, I'd encourage it because that's what I like to do, but there's no rulebook saying you have to.

User avatar
Jaz
Posts: 513
Joined: Mon Mar 05, 2012 3:33 pm
Location: Earth, Near The Sun, Milky Way, Universe, Time Loop

Re: Is C++ still the best language out there for games?

Post by Jaz » Sat Jul 20, 2013 5:46 am

I'd rather build an engine initially so that I can get a job working on an existing engine.

I'm not planning on going indie as I can't afford to pay anyone and I have no interest in 3D modelling /:

So no, not going to be using an existing engine. I suppose Endo's right though, I should probably look at smaller tasks as well so that I can actually get some work experience before rising to the top.

User avatar
Endoperez
Posts: 5668
Joined: Sun Jan 11, 2009 7:41 am
Location: cold and dark and lovely Finland

Re: Is C++ still the best language out there for games?

Post by Endoperez » Sat Jul 20, 2013 6:17 am

Jaz wrote:I'd rather build an engine initially so that I can get a job working on an existing engine.

I'm not planning on going indie as I can't afford to pay anyone and I have no interest in 3D modelling /:

So no, not going to be using an existing engine. I suppose Endo's right though, I should probably look at smaller tasks as well so that I can actually get some work experience before rising to the top.
You could consider looking into UDK. It is basically the source code of Unreal core classes (object -> character pawn -> UDK bot, object -> held item -> weapon -> rocket launcher), and you can learn a lot just by trying to change that so you can get your own stuff working. It's not the only way of doing things, but it's a very well documented, logical approach to doing a shooter game.

It's not open source, it doesn't have the code for the important things or the optimized things - physics calculations, pathfinding formulas and such. Still, it does show you one approach to the core functionality of a game, and I think it's quite close to "a job working on an existing engine".

I worked on UDK a bit, I can give you a few pointers on how to get started, and the forums are pretty active. You also get to use several existing models, textures and such from the Unreal games.

GurpreetSingh
Posts: 6
Joined: Fri Nov 25, 2022 3:56 am

Re: Is C++ still the best language out there for games?

Post by GurpreetSingh » Mon Mar 20, 2023 4:45 am

Jaz wrote:
Thu Jul 18, 2013 11:40 am
Just wondering if C++ is still considered the best(most efficient) language out there for video games.

I don't mind learning advanced languages as I have plenty of time so ease of use isn't really an issue, barring if there are no tutorials.

I'm looking to get into the RPG games industry after college and figured I should start building a skillset now.
Obviously, since they're becoming standards, whichever language I learn now would have to be capable for online gaming and cloud computing.

The content in this article is very useful, I enjoyed reading it, thank you for sharing this good content with my vision, keep up the good work. It was awesome to read your post. Thank you for sharing such great content with my vision. Keep sharing


Best IT Training Provider in India

Salesforce Course in Pune


Post Reply