Languages that Gamed

The following is my break down of languages based on how well I think they support desktop/web/mobile game development. These are my own observations and feelings. Things will likely be updated as time goes on (or people send me angry post on mastodon about how I misrepresented their fav language). This list mostly serves as a means for me to remember what I have looked over already.

Also, keep in mind this list is mostly looking at desktop and browser game development. Server-client based games are out of scope. Additionally, factor such as ease of distribution are a factor (do you need access to the host system to make a game for it? Does it have web support? How hard is it to distribute the runtime?)

Definitely Gaming

This section is for languages that have notable support for working with games. Be it a rich collection of libraries, a long history in game development, a major framework that has seen multiple releases, or a library that I feel is reliable enough to lean on.

Languages

Languages that Can Surf

Languages in this category do not have a robust game development story, but they can however surf atop another language that does.

Languages

Game Oriented DSLs

This category is defined by languages that exist as engine-specific language, in-studio created language, or some other DSL created specifically for making games.

Languages

Has the Parts, Bring Your Own Glue

This is a category for languages that have a limited set of tools to make games. Many libraries are early into development or lack dedicated maintenance. You'll likely need to write your own libraries and bindings.

You Are On Your Own

This is a category for languages that will require substantual work from the user to develop in. They have quirks that make binding existing libraries hard, languages that are quite young, lack robust tooling and/or have a small community.

You Can Try

This the section for languages that will likely be a struggle to make a game with. Some of these languages not only lack tooling, but are designed in a way that might make developing such applications a challenge. Additionally, some languages in this category may be too young for game devleopment.