
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 to program 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 actively developed and the one I recommend in the first place. The ones toward the bottom are not actively 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.
Unlike most items on this list, LÖVE is not a "programming language", it is a framework but the reason I include it on this list and recommend it is that LÖVE is portable and include everything we need to code, run and share games. We can use Lua to code which is a very simple scripting language and we can deploy our games to all popular platforms. However, LÖVE does not come with an IDE but it is not a bad thing. We can use any text and code editor to program our games and we can run our code using LÖVE without any complicated setup required. In case we prefer an IDE, there is a dedicated Lua IDE called ZeroBrane Studio that does support LÖVE out of the box and offer a similar integrated, all-in-one experience to code, debug and run games like other game programming tools mentioned on this list and there are extensions available to many popular text and code editors too. It makes LÖVE (and Lua) a really good alternative 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 using any code editor you prefer.
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.
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!
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.
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
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.
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.
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.
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 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.
Terrains 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!
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.
-
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.
-
Language 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.
-
IDE 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.
-
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.
Monkey is a modular language. You can create your own custom modules and use other people's - including the awesome box2d and minib3d modules!
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.
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.