Advertisement

Major selling games and language types

Started by June 12, 2016 09:44 AM
6 comments, last by Kylotan 8 years, 6 months ago

Absolute noob here. Forgive my question if it's absurd.

Based on my spare time and a mixed message from different experienced people, I will learn C++ before Java (though I'm literally only 2 days in to learning).

What I really would like to know is; what games of any magnitude for consoles are written on what language?

For example, is there some kind of database somewhere listing "Gears of War was written using C++" "Skyrim was written using Java" etc?

Are one of the other required for more advanced games? i.e., Assasins Creed rather than PacMan?

aut viam inveniam aut faciam

Most AAA PC and console games are written in C++, android games are written in Java IIRC. Because the popularity of Unity (the engine) C# is used in some titles. (mostly indie if memory serves). Some game engines use a scripting language in addition to the 'primary' language... for example LUA.

-potential energy is easily made kinetic-

Advertisement
Console games tend to use C++, mostly out of inertia... But that shouldn't really sway your own learning path at all. By the time you're a professional programmer working on these kinds of games, you'll know half a dozen languages and posess the ability to learn new ones quickly.
e.g. In my first games job, I went in knowing C++, and was asked, "do you know unreal script?", followed by "No? Ok well read the documentation today and we'll start giving you some tasks tomorrow".

No, no kind of advanced game has a dependence one the features of one language.

android games are written in Java IIRC

The platform-specific parts of an Android engine will use Java, as that's the language used by the OS APIs. Likewise, Windows engines will use some C, modern Windows (Win8 metro store/Win 10 universal apps) will use some C++/CX or C#, iOS games will use some ObjC or Swift, browser games will use some JavaScript -- because these are the native API languages for those platforms... But a cross platform engine could be mostly C++ as well as all the above :wink:

Is the JNI (i think its called that - java native code interface) really used alot in android games? I don't really follow android development that much.

-potential energy is easily made kinetic-

This is excellent thank you.
I suppose ultimately, my concerns are more "If I learn X, will it be defunct in 2 years when I should have learned Y".
However, unless the opportunity presents itself, I'll be doing all the C++ I can and Java where possible.

I've literally also just downloaded Unreal engine too, to mess about with.

aut viam inveniam aut faciam

I suppose ultimately, my concerns are more "If I learn X, will it be defunct in 2 years when I should have
learned Y".


Without a crystal ball to foretell the future, that kind of thinking will stymie any learning. So learn
already. Don't worry about what might happen in the unknowable future.

-- Tom Sloper -- sloperama.com

Advertisement

The first languages I learned were GWBASIC and Pascal. Years later I learned Visual Basic. Then a while later I learned C. Fast forward another couple years and I learned Ruby, then C++, then Lua, then a glance at Lisp... Then a ton of miscellaneous nonsense. At some point during that, learning new languages was pretty much a non-event. It's a lot more important to me what tools I have available and have something that matches up well with what I want to accomplish. These days that usually means Ruby for trivial tasks, C++ for not being a scrub (come at me), and C# for Windows tools or for working in Unity.

Anyway, my point is that I don't use the vast majority of languages that I've learned over the years, and it was over a decade from my starting point before I learned the ones that I use commonly today. However, all that I have learned up until now depends on the principles that I picked up with every language along the way. My advice is to find something that you're comfortable with and can accomplish something with, even if it's not where you want to end up. Get good at something and then expand your comfort zone at a decent pace.

Some people can leap headlong into C++ and succeed. Some people struggle to learn HTML. Software really is a moving target, so it's not really about getting where you want to be as much as it's about getting moving at the right speed and figuring out where you want to go from there.

void hurrrrrrrr() {__asm sub [ebp+4],5;}

There are ten kinds of people in this world: those who understand binary and those who don't.

This is excellent thank you.
I suppose ultimately, my concerns are more "If I learn X, will it be defunct in 2 years when I should have learned Y".

Nothing disappears that quickly.

And computer languages are not like human languages - the skills learned in one transfer over to most of the others very easily.

This topic is closed to new replies.

Advertisement