What is the best game programming Language/SDK

Started by
34 comments, last by Telastyn 12 years, 8 months ago
Depends what you want to do, really. Programming language is not as relevant as it once was, however you will hit performance walls at some stage, and will have to identify and address the bottlenecks in your application. Usually, they can be greatly improved without resorting to a lower language just by tightening up the implementation of whatever algorithm.

Personally I find game engines a waste of my time, the learning curve is typically mountainous, and the functionality is generally broad in an attempt to be all things to all people - and so is (always, in my experience) missing vital functionality specific to your application that you feel at the time is so generic that you express genuine surprise (read shock, horror) at its absence.

All you really need is a RENDERING LAYER, and a suitable basic App Window framework suited to each target platform.
It's nice if you get a SCENEGRAPH with that, but you can roll your own the same day, and grow it to meet your evolving needs.
You're going to need some kind of STANDARD CONTAINER classes, STL being the obvious choice, again you CAN roll your own.

Most of this stuff will be available in pretty much any game engine you pick up.
The game logic (including AI code) is far too specific to your application, so you will be definitely writing that stuff yourself.

Basically, you ARE going to need a programmer, or to learn to program, just writing scripts on top of a game engine will provide you with a workable demo that runs like a wet dog.
So most of the appealing aspects of a game engine end up not being utilized, as they turn out to be the bottlenecks in more cases than I care to think about.
In C++, friends have access to your privates.
In ObjAsm, your members are exposed!
Advertisement
I like C++ with Allegro or Java, haven't done anything with 3d as I have no real interest in it right now and do not program for a living.

Sprite Creator 3 VX & XP

WARNING: I edit my posts constantly.

If you want to do it the really hardcore/heavy/I-will-have-long-hair-before-I-even-begin-working-on-my-first-title way (id Software, Blizzard, Valve etc.) I would recommend this:

Languages:
  • C/C++ (combined with a basic understanding of x86/IA-32/64 assembly)
  • NVIDIA Cg

SDKs:
  • Windows SDK 7.1
  • Direct3D (9.0c if you are planning to make your games XP compatible, 11 if you are only targeting new computers), and/or ...
  • OpenGL (4.1 (2010) is the newest standard and, of course, the further you go back the more computers will be able to run your programs)
  • NVIDIA SDKs (Cg 3.0, Graphics 11.0, CUDA Tookit 4.0 etc). What you need depends on your graphics cards requirements.
  • OpenAL and/or DirectX audio SDKs (DirectSound, XACT, XAudio2 (if you want to target XBox) etc.)
  • LZMA SDK or Zlib if you are planning on using data compression in your games (which you very likely will eventually).
Language: English
Development Kit: Programmers on your payroll

If you want to do it the really hardcore/heavy/I-will-have-long-hair-before-I-even-begin-working-on-my-first-title way (id Software, Blizzard, Valve etc.) I would recommend this:

Languages:
  • C/C++ (combined with a basic understanding of x86/IA-32/64 assembly)
  • NVIDIA Cg

SDKs:
  • Windows SDK 7.1
  • Direct3D (9.0c if you are planning to make your games XP compatible, 11 if you are only targeting new computers), and/or ...
  • OpenGL (4.1 (2010) is the newest standard and, of course, the further you go back the more computers will be able to run your programs)
  • NVIDIA SDKs (Cg 3.0, Graphics 11.0, CUDA Tookit 4.0 etc). What you need depends on your graphics cards requirements.
  • OpenAL and/or DirectX audio SDKs (DirectSound, XACT, XAudio2 (if you want to target XBox) etc.)
  • LZMA SDK or Zlib if you are planning on using data compression in your games (which you very likely will eventually).



Even if your goal is 'hardcore programming' starting with this list is probably the least optimal approach.

[quote name='Dragonion' timestamp='1312546628' post='4844971']
If you want to do it the really hardcore/heavy/I-will-have-long-hair-before-I-even-begin-working-on-my-first-title way (id Software, Blizzard, Valve etc.) I would recommend this:

Languages:
  • C/C++ (combined with a basic understanding of x86/IA-32/64 assembly)
  • NVIDIA Cg

SDKs:
  • Windows SDK 7.1
  • Direct3D (9.0c if you are planning to make your games XP compatible, 11 if you are only targeting new computers), and/or ...
  • OpenGL (4.1 (2010) is the newest standard and, of course, the further you go back the more computers will be able to run your programs)
  • NVIDIA SDKs (Cg 3.0, Graphics 11.0, CUDA Tookit 4.0 etc). What you need depends on your graphics cards requirements.
  • OpenAL and/or DirectX audio SDKs (DirectSound, XACT, XAudio2 (if you want to target XBox) etc.)
  • LZMA SDK or Zlib if you are planning on using data compression in your games (which you very likely will eventually).



Even if your goal is 'hardcore programming' starting with this list is probably the least optimal approach.
[/quote]

Key word starting, but ending at that point would be acceptable.

Sprite Creator 3 VX & XP

WARNING: I edit my posts constantly.

You're naive if you think that by the time you get to 'ending' that the list won't have changed.
Even if your goal is 'hardcore programming' starting with this list is probably the least optimal approach.

Allow me to quote the original post:

"I would like to know what really is the best language for programming games, and with what SDK. I my self have taken the time to learn DirectX and C++ but I was wondering what you guys think!"

Is he asking for a place to start, as you are implying? No; he is asking what the best language for programming games is, and what SDKs to use. As a matter of fact, he clearly states that he himself is currently using C++ and DirectX, and that he merely wants to know what other people think. As a respond to that I listed some of the languages and technologies used by large game companies and, before doing so, making it very clear that this extremely difficult approach is how companies developing AAA titles are doing it. Exactly how you interpreted this as "if you are a newbie looking for a good place to start, then read this list" is a mystery to me.

[quote name='Telastyn' timestamp='1312553760' post='4845018']You're naive if you think that by the time you get to 'ending' that the list won't have changed.[/quote]
Of course this list will keep changing, but I can obviously only list the technologies currently being used. What is your point with this statement? Is it to ensure that a couple of years from now you can say "Hah! You should totally use DirectX 13; not 11 as that lunatic wrote on the list"?
C++ just doesnt give a shit about you.



As I fumble about, trying to get comfortable with C++, I find myself regularly bludgeoned about the noggin with that particular nugget of wisdom.

[quote name='Joe P' timestamp='1311113298' post='4837656']C++ just doesnt give a shit about you.



As I fumble about, trying to get comfortable with C++, I find myself regularly bludgeoned about the noggin with that particular nugget of wisdom.
[/quote]

Haha I only speak the truth my friend :)
Never, ever stop learning.
- Me

This topic is closed to new replies.

Advertisement