Video Games Development

What is the best language to program video games?

>best

assembly

javascript

The language that your game engine uses

VB.Net

gentoo

lisp

C++

>/thread

C++ and C#

>Elder God tier
Assembly
>God tier
C++, C
>Normie tier
C#, Java
>Baby tier
Python, Lua
>Hipster tier
JavaScript, Ruby

most AAA developers use C++
most popular game engines use C#
other then that anything you want since any language can make a good game

Whatever language Unreal Engine 4 uses .

For a development team: Engine in C++, scripting in Lua potentially with a custom scripting language if MMO or very large scale.
For Indie: Anything goes as long as you can make it work.

Python on Planes.

ARM assembly language

ddefinately JAVA, it's miles ahead of it's competitors in terms of features. Don't listen to the cry babies that shit all over it because they like to make life difficult for themselves.

For a beginner C# is great. Powerful features packaged in a way even third worlders can understand.

If you are starting from scratch building your own engine (why) then C++ is the absolute best option.

Japanese

lua

Luo

Pascal!!

Literally no one uses assembler faggot

Visual Assembler

Unity

do it in c and add lua support for the modding community
they will love you for it

Scratch

C/C++ are typically used for implementing the engine (low-level routines that are frequently used) mostly because they are fast. On top of this some engines have a script interpreter that may parse a language like lua or python (both used frequently in the industry as such, especially the former).

If you want to get straight into development of a project you've already planned look for existing engines that meet your requirements. If you're trying to learn how video games work under the hood, C/C++ with the SDL library and some tutorials on how to use it should give you a good understanding.

>If you're trying to learn how video games work under the hood
Skip that part, always go to somthing that has a decent fundation that is not a ripoff

C++

Python's actually used in game development?

I thought that was just a meme.

Search up the pygame module

no but lua is

Google frostbite

Just learn C# and develop games using Unity. That is the safest bet.

RPGMaker

C/C++/C#

glhf

LOL

Some games and just-fill-gaps-in-this-script frameworks use Python, but you probably don't want to go there unless you just want to make a quick visual novel or something.

Lua is more popular for simple scripting because it's far easier to embed; The Python language's C API seems more oriented towards writing C addons for Python than the other way around, the language has many more types and features complicating the API, and it's complicated enough to begin with because it's more like the original CPython interpreter's internals than Lua's simple stack machine interface.

pygame is shit. It's basically just a Python wrapper for SDL but they're not calling it that because it's not complete and not much of an abstraction either. You'll easily hit stupid cross-platform issues because something wasn't initialized in the right order, or your supposedly high-level code didn't pump the underlying window system's event loop the right way. If it's supposed to be a game framework it should at least provide something resembling a working main loop by itself.

which ever one gets you to stop developing video games

Which is ironic, given that Lua wasn't and still isn't developed for game scripting and it shows.
People bitch all day about better fitted custom languages (excluding TorqueScript, those fuckers use strings for everything), yet ignore scripting languages made for game scripting in favor of sub-par solutions like Lua, Mono, JS or Python.

Quite possibly the best game in the past 10 years was written in Java. It doesn't matter if you write everything from scratch in assembly if the game is shit.

>best game in 10 years
You better not mean Minecraft, that boring PoS.

Tell that to IBM and all the legacy code maintained on mainframes for muh performance.
Oh wait, you wouldn't know about that cause you don't have a job.

As opposed to what? Rehashes of rehash?

>minecraft
popular != best

I left my uni because assholes tryed to use more languages instead of teaching us more features

if you want to make games, there is only c++, all posters in this thread never made a game in their life, and even if they have, it was from a xyz book about xyz language that is only used as a proof that games can be done in that language also

indie, pro, aliens all make games in c++, ue4 is c++, unity is made in c++, if you want to make games, get a job or be a millionair use c++, if you want to be regular Sup Forums poster learn anything else

Come again how Minecraft isn't a rehash?
/thread

What is Minecraft a rehash of?

Anybody know cross platform engine(mobile, desktop) that exports C api or has C++ api that could be easily wrapper C?

Depending on your POV either Infiniminer, Cube or every tower defense ever.

I'm looking to integrate a scripting system in a game written in C++. Heard Lua might be a good choice. How would I go about doing this?

>Infiniminer
I stand corrected. Here I thought there was hope when there is none.
Video gaming industry is dead.

>Heard Lua might be a good
That's wrong, though. Use something that actually integrates well into C++ like AngelScript, Falcon or ChaiScript. You don't need LuaJIT for game scripting anyway, if you do you're doing it wrong.

How that is done works usually like this:

1. create a context - a new VM object that may contain settings like language options or stack depth or whatever
2. expose all the high-level functions and/or objects/types/error handlers you want to expose to the scripts - that is where interpreters differ. More primitives ones - likely the ones written in C - require proxy functions. Others use macros and others again use template magic. All of those are a pain in the ass to debug, but that is C++. Make sure you know the consequences of exposing unwanted or too low level functions to the script and make sure you know about how to deal with infinite loops in the scripts. Make sure you know that bytecode often can be exploited to do malicious things.
3. Decide when and what from to parse and run the scripts.

>DING
>and another thing died!
kek

Engine programmers like to mess with Lua because its integration is well documented and understood. Some other common languages are used because they're familiar to low-tier programmers who can't see the logic beyond the syntax and can only code in the language or two they've "learned" through examples and memorizing common code snippets.

There's quite a cliff to climb if one wanted to use some less known language. Guess it's basically the same as big enterprise projects being coded in Java and sometimes C++ even when there are far more suitable tools; you can hire code monkeys in bulk and some of them will stumble on working solutions no matter how bad they are.

How deeply do you want to script things? If every object in the game needs a Lua API, you probably want to start looking at existing solutions for this --- or start chanting arcane preprocessor macros and template runes to generate Lua methods for your classes.

Addendum: Depending on the runtime you can trick your scripting to have latent functions, infinite loop catchers and concurrency facilities

>Engine programmers like to mess with Lua because its integration is well documented and understood.
Apparently they don't.
Neither Unreal nor Unigine nor Unity nor Source features Lua. Also, neither do the adequate FOSS engines, namely Godot and the latest fork of the Doom 3 engine.
The rest is just memes and garbage like Crytec.

I didn't really specify *successful* engine programmer.

And most of the ones you listed are older than the Lua meme.

Not the newest major, incompatible version of them. They actively decided against Lua.

And well, about the rest, about 2/3 of them implement scripting wrong. Hell, even many of the ones I named implemented scripting the wrong, badly scaling way.

DWARF

FUCKING

FORTRESS

Ignore everyone else: It is either C++ or C#. Everyone is being unhelpful here.