Basic4GL Mobile

What is Basic4GL Mobile?

Basic4GL Mobile is a development tool for writing 2D games and programs in BASIC for mobile devices.

It consists of a Windows application - the Basic4GL Mobile compiler and integrated development environment (IDE) - and an Android runtime which can run the compiled Basic4GL programs on Android phones and tablets.

Currently only Android devices are supported, but iOS is also planned, and other platforms - like web (via webassembly/asm.js) are under consideration.

Basic4GL Mobile is built on top of the Basic4GL compiler and virtual machine, which allows BASIC programs to run very similarly (often identically) on mobile as they do on PC.

Basic4GL Mobile comes in a free version, and a paid for "Pro" version which will allow you to bundle your programs as Apps which can be uploaded to the Google Play store.

How does Basic4GL Mobile relate to Basic4GL?

The original Basic4GL is a free, open source program which you can use to build Windows applications in BASIC. You can get it from the main Basic4GL site.

Basic4GL Mobile is a separate product. It uses the same compiler, virtual machine and BASIC language syntax, but is designed specifically for creating games and programs for phones and tablets. It uses a lot of the same commands as the original Basic4GL where it makes sense to do so, but drops some of the more Windows specific ones and the old OpenGL v1.1 commands, as well as adding new commands for mobile specific features like touch input.

Basic4GL Mobile is developed by Tom Mulgrew, the author of the original Basic4GL.

Is 3D supported?

Currently no, but options are being evaluated.

The OpenGL v1.1 commands used by the original Basic4GL are not suitable, because OpenGL ES (the flavour of OpenGL used by mobile devices) doesn't support it and although there are libraries to emulate the support it is difficult to make a good case for implementing the old legacy OpenGL API.

Adding the OpenGL ES 2.0 commands to the language is an option, but writing an OpenGL ES 2.0 program is quite a steep learning curve in any language. Including a 3D engine written in BASIC itself might be a solution to this problem, as it allows people to use the 3D engine to get up and running quickly, or dig deeper into the OpenGL ES internals if they wish to.

The final option would be to find a suitable 3rd party 3D engine with a compatible license that could be integrated in, or simply design a new one from scratch.