Best languages for games

Hi guys, I have doubts, my question is, so far I’m developing games with Babylonjs, but I want to learn a “more” powerful language than Js for games, because the fact that a single thread makes bigger games impossible, what one of you recommend me?

c++ would be the most portable across the industry

2 Likes

As Seb mentioned, C++ is probably the most “powerful” language used around the industry, both to make frameworks by itself and also as part of Unreal Engine. It has quite a lot of new ideas compared to JS, especially with memory management (and static typing if you aren’t used to TypeScript), so don’t be discouraged if you don’t get it all in one go!
C# is also pretty widely used since it’s on Unity, but I haven’t used it as much so can’t comment much on it. The general syntax is similar to C++/Java through.

2 Likes

Here are some tips that I think web game development will be on par with native language used for game development

  • compiling written c language algorithm into binary (you can see in the works of recast and ammo from bullet) running with incredible speed because binary!

  • don’t forget webworker in case you wondering about multithread though it might still not be what you need atm

  • and then there is beautiful Webgpu :heart_eyes:, future for creating possibly AA games on the web because it can access native gpu such as Vulkan, metal etc

Others might have some more they might want to add

Cheers

1 Like

I believe that at the moment one can recreate with Babylon.js as rendering engine almost any game which was released before 2005-2006 (approximately; DirectX 10 was released at late 2006), probably even with better graphics in most cases.
When browser vendors will open more GPU possibilities and improve some other things this date will be even more close to the current date.

I typed this starting text: "The best languages for games is " the rest is generated by the artifical intelligence of InferKit…

The best languages for games is a weirdly philosophical issue. Some languages don’t support keybindings because they believe that the game should be a pure abstraction. Other languages don’t support keybindings because they think it’ll tie the game too closely to the keyboard. Languages that support keyboards, like Python, for instance, are often perceived as being a more mature, open, more productive version of a development environment, and thus often times regarded as superior. And then there’s cross-platform development, which has shifted largely to languages like C++, where you can do cross-platform development to a large degree. But it’s not really a question of which language is better. The tools in any language are almost certainly the most important part of the development pipeline. That’s why Python is great for games because Python comes with excellent debugging tools, but you can’t use it for rendering because it doesn’t have simple frames-per-second rendering for fast GPU-accelerated games.

Python is certainly not the “right” language for every game. But that doesn’t mean it’s not a great language to use for game development, and for those looking to get started right now, there are thousands of free educational resources on the web, free documentation for code, and the excellent teaching material on offer from PyGame. If you want to learn game development, Python is probably the right language for you.

Cool, now let’s start with an other sentence:

The best way to create a game in 3d is … to create all the buildings and objects first, then, in the second step, to make a dynamic object: the player character. It is a player character that is integrated with the game in an interesting way: it should have a name and personality. The player should feel like this character is a person he or she is playing. Also, players are interested in playing characters that can have adventures with him or her.

not bad! :slight_smile: … have fun!

1 Like

I don’t think you’re doing anything wrong by developing your applications in typescript, since this is a meta-language for javascript and possibly other languages yet to come. you choose the actual target language in which the program will run. why shouldn’t typescript be able to produce c++ or python code later? - apparently another programmer came up with this idea: GitHub - ASDAlexander77/TypeScript2Cxx: TypeScript to C++

That all browsers, not only chrome, are constantly evolving is only a matter of time until all browsers are also multi-thread capable.

Chrome has a multi-process architecture and each process is heavily multi-threaded. The main goal is to keep the main thread (“UI” thread in the browser process) and IO thread (each process’ thread for handling IPC) responsive. This means offloading any blocking I/O or other expensive operations to other threads.

The problem with threading on JS is its terrible memory model or lack thereof. The result is race conditions between threads unless data is passed back as Web workers do

1 Like

I am not sure is it in the interest of web browser providers to make web based apps as performant as the native stuff. I heard (lost the link to the article) that they even throttle down web apps intentionally. Reason is that its harder for them to make a cut on profits from web apps comparing to app stores for native apps.

1 Like

Anyway browser vendors will need to evolve further in order to sell more illusions to us :slight_smile: