List of game programming languages

This is a list of programming languages that aims at game programming and include everything out of the box required for developing games like the IDE, Compiler, graphics, audio, video, input and other libraries such as physics and networking so the user doesn't need to install and configure anything else in order to start coding games.
The list includes languages that may be no longer in development. The ones on the top are currently in development and the ones toward the bottom are no longer developed at the time compiling this list but may still works on current devices and can be an easy way to get started with game programming.

  • LÖVE

    Free Mac Windows Linux Android iPhone ... BSD iPad FreeBSD Website

    Unlike most items on this list, LOVE is not a "programming language" but I think it is a very beginner friendly alternative that worth mentioning here. LOVE is a free and open-source framework to develop games for desktop, mobile and web using the Lua programming language. The reason I think worth mention it here is that, LOVE is portable and has everything we need to code and run games. Including libraries to draw graphics, text, play audio, handle input, manage data and file system..etc. The community also provide lots of tutorials, documentations and libraries written in pure Lua to implement additional functionality in LOVE such as camera, physics, lights, GUI, networking and more. It makes LOVE (and Lua) a really good fit for complete beginners who looking for a simple way to get started with game programming, while also offer freedom to dive deep in to code and program everything from scratch if you desire. Unlike most items on this list, LOVE does not come with an IDE, instead we can use any text editor to code and simply run our code with LOVE without any complicated setup required. In case we prefer an integrated development environment (IDE), there is a dedicated Lua IDE called ZeroBrane Studio that does also support LOVE. There are also plugins available for other popular code editors like Atom and VS Code that offer syntax highlighting, intellisense, autocompletion and also the ability to debug and run our Lua and LOVE code with a click of a button, which offer a similar integrated, all-in-one experience as the other game programming tools mentioned on this list.


    LÖVE icon
  • AppGameKit Classic

    Freemium Mac Windows Linux Android iPhone ... iPad Raspbian Raspberry Pi HTML Website

    AppGameKit is a simple cross platform game development tool that runs on Windows, Linux, MacOS and Raspberry Pi. A version to run on Android and iOS is also available. With AppGameKit you can use a simple Basic like programming language to develop cross platform applications, 2D and 3D games and deploy to many platforms such as Windows, Linux, MacOS, iOS, Android, HTML5 and even develop AR and VR applications for desktop and mobile without need to change any of your code. The same code runs everywhere. The best part is, you can preview and run your application on the target device right from the IDE through WiFi with access to all device features such as camera, sensors and touch. It is allow you to test your applications on the target device at any point during development without need to manually compile, export and install it on the device.

    You can also use C++ to code your applications to get better performance or implement 3rd party libraries and tools and even add your own features and share it with the community if you want. This is how it become possible to use community made implementations of AppGameKit to code in C#, Python or any other languages. Some of the extra features available today are also developed by 3rd party using the C++ library and offered as a DLC to add even more functionality.


    AppGameKit Classic icon
  • Cerberus X

    Free Mac Windows Linux Android Website

    Cerberus X is a cross-platform, easy to learn object-oriented programming language focusing on game development with a powerful set of APIs that make it easy to draw lightning fast graphics on all supported platforms To achieve this, Cerberus X translate our code to the target programming language (JavaScript, C++, Java, C#) for maximum performance and compatibility. The binary sizes of the created apps are also very small and they run like any other application that was developed natively.

    Because Cerberus X is a modular language, you can create your own custom modules and use other people's modules like box2d, Diddy, minib3d and more!


    Cerberus X icon
  • BlitzMax NG

    Free Mac Windows Linux Android iPhone ... Raspberry Pi Nintendo Switch Website

    BlitzMax is a strongly-typed, garbage-collected, open-source, cross-platform programming language with built-in support for advanced 2D graphics, sound, unicode and is ideally suited to making all kinds of apps and games. It is the continuation of the BlitzMax Programming language originally developed by Blitz Research Ltd which is no longer in development.


    BlitzMax NG icon
  • PlayBasic

    Free Personal Windows Website

    PlayBasic is a game programming language that gives new programmers the flexibility and feature set for rapid game development, without the complexity or cost. So everybody can experience the challenge of game programming again!

    PlayBasic provide a wealth of graphical features at your finger tips. Ranging from Mapping (Creating worlds), Sprites, Image effects, Cameras, Vector Shapes, Polygons (Texture Mapping) through to a full set of traditional 2D vector art (Dots / lines / Circles, Boxes etc).

    PlayBasic's sprite engine supports Rotation / Scaling / Flipping and Sprite Depth, as well as various real time image effects such as Alpha Blending (Variable, Additive, Subtractive), Tinting (Diffuse), logical masking through to Raster Bar and real time Colour Replacement just to name a few.

    Collision detection in game programming can be challenging, So we've built in support for map and sprite collision methods. Including Pixel Perfect Collision,Rect, Rotated Rect, Circular , Polygonal, Sliding and Sticky modes. Collision methods can be rotated / scaled and even mixed. Allowing vector collision methods to be used along side pixel perfect collision and vice versa


    PlayBasic icon
  • GLBasic

    Free Personal Mac Windows Linux Android iPhone ... HP webOS HTML Website

    GLBasic is a cross-platform programming language aiming at game development with OpenGL.
    We can develop 2D and 3D games for Mac, Linux, Windows, Android, iOS, HTML5, Xbox, Pandora and GP2X using a simple and easy to learn Basic language that compile directly to C++ so we get native performance on all platforms. Also due to the fact Basic compile to C++, we can even use C++ code in-line.

    GLBasic comes with a complete 2D and 3D engine. Support for images, animated and static 3D meshes, physics, networking, dynamic lights, shaders, keyboard, mouse, joystick input and more.


    GLBasic icon
  • RCBasic

    Free Mac Windows Linux Android iPhone Website

    RCBasic is a free and open source dialect of the BASIC programming language. It is intended to be a simple and powerful language for developing games and multimedia software with many built-in functions to aid in game and multimedia application development.


    RCBasic icon
  • Monkey 2

    Free Mac Windows Linux Website

    Monkey 2 is a cross platform programming language aiming at game development. Write your code once in an easy to use language called the Monkey code and publish to multiple platforms. The Monkey code compile to native code best for each platform such as Java and JavaScript so you get native performance on all platforms.


    Monkey 2 icon
  • Blitz3D

    Free Windows Website

    Create 2D and 3D Games for Windows.

    If you've been yearning to create games but have been frustrated by the complexity of programming languages such as C++ or Java, you've come to the right place!

    Blitz3D provides a simple yet powerful environment for game creation - simple, because its based around the popular and easy to use BASIC programming language; and powerful, thanks to a highly optimized underlying 2D/3D engine.

    Blitz3D includes many commands to help you out with game creation - but not too many! Rather than confuse you with tons of commands, Blitz3D's command set has been carefully designed to provide maximum flexibility for minimum effort.

    Super flexible entity system
    Blitz3D is designed around the idea of entities. Typically, a 3D game will consist of many types of 3D elements such as cameras, lights, meshes and so on. In Blitz3D, these are all considered to be entities. This means that the same commands can be used to manipulate and deal with a wide range of 3D objects - for example, the TurnEntity command can be used to turn a camera, a light, a mesh, or even a massive terrain!

    Meshes are the workhorse of any 3D engine. Blitz allows you to either create your own meshes from scratch, or load existing meshes in either X, 3DS or B3D format. The B3D format is unique to Blitz3D, and has been designed to provide for all the features of the Blitz3D engine. B3D exporters are available for a wide range of modelling software including 3D Studio, Lightwave and Truespace. Blitz3D meshes provide features such as vertex colors and multiple texture coordinate sets.

    Blitz3D terrains can be used to generate apparently HUGE scenes! This is achieved through a trick known as LOD (level-of-detail) reduction. This completely automatic process works by picking a set of polygons which approximates the shape of a very high resolution heightmap. Blitz3D terrains can also be modified in realtime - great for blowing holes in things!


    Blitz3D icon
  • BlitzMax

    Free Mac Windows Linux Website

    Create 2D Games for Windows, MacOS and Linux.

    BlitzMax is the new, next generation game programming language from Blitz Research. BlitzMax retains the BASIC roots of Blitz3D and BlitzPlus, but adds a ton of cool new features and abilities.

    Enhanced BASIC language

    BlitzMax is BASIC...but with a few twists, including:

    Function pointers
    Fully dynamic arrays
    Inheritance and polymorphism
    'By reference' function parameters
    Byte, Short, Int, Long, Float and Double numeric data types
    Array and string slicing
    Flexible 'collection' system for dealing with linked lists etc
    Low level pointer handling
    UTF16 strings
    The ability to 'Incbin' binary data and access it as easily as if it were a regular file
    External language support for interfacing with C/C++/ObjectiveC or assembly code

    Modular design
    BlitzMax is largely based around the idea of modules, collections of commands stored in special files. You can add your own modules to the system, allowing you to cleanly reuse code in your own projects. Modules are also a great way to distribute libraries of commands, and Blitz Research have many weird and wonderful modules lined up for future release!

    Easy to use 2D command set
    BlitzMax includes the Max2D module which contains a set of very easy to use 2D commands. On MacOS X and Linux, Max2D uses the OpenGL API, while on Windows PCs you have the option of using either the OpenGL or DirectX APIs. Both OpenGL and DirectX use 3D hardware to draw graphics to the screen, allowing for advanced effects such as realtime blending, rotation and scaling.

    Intelligent build system
    BlitzMax allows you to split a project up into multiple source files which can be pre-compiled to massively reduce development time. This process is handled automatically by the included BMK ('Blitz make') utility and is completely transparent to the developer.


    BlitzMax icon
  • BlitzPlus

    Free Windows Website

    Create 2D Games for Windows.
    BlitzPlus provides developers with a complete 2D programming solution for the PC. Utilising a BASIC/C hybrid language for use with its compiler, BlitzPlus is capable of creating any type of 2D program, with minimal development-time and with minimal hassle. Just run the included IDE (or use one of your own), type your code and your Windows executable file will be created, ready to be run on any computer running Windows 95/NT 4 or later.
    BlitzPlus' language is a BASIC/C hybrid. As well featuring the classic BASIC constructs such as goto and gosub, it also features C influences such as functions and types. On top of this, BlitzPlus' command set features over 500 commands. This command set is highly streamlined meaning complete programs require very few lines of code indeed.
    2D Engine
    BlitzPlus' 2D engine is based on 'pure' 2D blitting operations, as opposed to 'fake' 3D ones. This has the combined benefit of allowing for pixel-perfect graphics, as well as allowing for compatibility with virtually all graphics cards, 2D or 3D. The 2D engine itself is highly capable, with the capability of performing thousands of blitting operations per second.
    GUI Support
    BlitzPlus' GUI support is implemented via an event-driven 'Gadget' system. Simply by adding GUI gadgets to your program, and setting up a small loop which deals with program events, you instantly have yourself a fully-blown application to compare with anything created by other languages.
    BlitzPlus comes with its very own Integrated Development Editor (IDE). The IDE allows you to edit, test, debug and compile your program all from the one environment. If the included IDE is not to your liking, then you are free to use the code editor of your choice, as the Blitz compiler features command line capabilities.


    BlitzPlus icon
  • DarkBasic Professional

    Free Windows Website

    DarkBASIC Professional is an advanced game development package built on the BASIC language, features more than 1000 commands that are geared towards game development, giving you an extremely powerful tool that is easy to use. DarkBASIC Pro uses the BASIC programming language and utilises Microsoft's game engine DirectX 9.


    DarkBasic Professional icon
  • Monkey X

    Free Mac Windows Linux Website

    Monkey is a modular language. You can create your own custom modules and use other people's - including the awesome box2d and minib3d modules!.


    Monkey X icon
  • Lite-C

    Free Windows Website

    Lite-C is a programming language for multimedia applications and personal computer games, using a syntax subset of the C language with some elements of the C++ language. Its main difference to C is the native implementation of multimedia and computer game related objects like sounds, images, movies, GUI elements, 2D and 3D models, collision detection and rigid body physics. Lite-C executables are compiled instead of interpreted. Lite-C runs on 32-bit and 64-bit Windows XP or Vista operating systems.

    Lite-C claims to allow very fast programming with a minimum of code, and easy access to non-programmers. For this, the developer provides a 25-lesson workshop that especially deals with the game and multimedia related objects of the language.

    Lite-C supports the Windows API and the Component Object Model (COM); therefore OpenGL and DirectX programs can directly be written in lite-C. It has integrated the free A8 rendering engine.


    Lite-C icon
  • sdlBasic

    Free Windows Linux Website

    sdlBasic is a small, efficient and multiplatform basic interpreter aimed to game creation using the power of SDL library, it was inspired by the old and glorious AMOS.
    sdlBasic is open source software. This means anyone is welcome to download it at no charge, including the source code if you need to make special changes.


    sdlBasic icon

Comments on List of game programming languages

Echo echo ... Feels empty in here

Maybe you want to be the first to submit a comment?

Sign up to comment, it's simple!