Write programs in BASIC on your PC - then run them on your Android phone or tablet.
See the Basic4GL Mobile website for more information.
Click here to Download the Basic4GL installer for Windows (Vista, 7, 8, 10).
Also see the plugins page.
Basic4GL is a compiler and virtual machine that allows you to write and run programs written in the Basic4GL programming language, a language based on the traditional BASIC syntax, but updated for modern computers.
Basic4GL has builtin support for OpenGL 1.1. Version 1.1 is a bit less relevant now than in 2003 when Basic4GL was first released - in fact it's one of the versions they now refer to as "legacy" OpenGL - but you may find it useful for learning the fundamentals of 3D graphics programming without the setup hassle of creating your own pixel and vertex shaders etc.
Or you can ignore OpenGL entirely, and use Basic4GL's text, sprite, tile-map and sound libraries to create 2D graphics without writing any OpenGL commands at all.
Basic4GL is designed to be a safe, easy to learn programming environment, suitable for creating games and graphical programs, rapid prototyping, or just learning basic programming.
Basic4GL is built around the OpenGL 3D accellerated graphics library. It automatically handles such tasks as creating an OpenGL window and initialising OpenGL for you, so you can skip all the usual linking, header file and initialisation and start writing OpenGL code from line 1. For example, here's an OpenGL program to draw a triangle.
glBegin(GL_TRIANGLES) glVertex3f(0, 10, -30) glVertex3f(8, -4, -30) glVertex3f(-8, -4, -30) glEnd() SwapBuffers()
Vectors and matrices are integrated directly into the Basic4GL language as 1D and 2D arrays respectively. Mathematical operators such as multiplication (*) and addition (+) behave appropriately on vector and matrix types, so you can write vector and matrix notation algebra directly into your programs.
You also get a standard library of trig functions and matrix creation routines (designed to mirror OpenGL's matrix creation routines), which makes trigonometry calculations quick, easy and compact to implement.
If OpenGL isn't your scene Basic4GL has a sprite and tile-map engine for writing 2D scrolling shooters, platformers or whatever takes your fancy.
A few clicks will then convert your program into a stand-alone Windows executable which you can distribute to whoever you want.
All editing takes place within the Basic4GL integrated development environment with a syntax highlighting editor and built-in symbolic debugger.
The Basic4GL programming language is designed to be simple, flexible and very hard to crash! Run-time errors (such as array index out of bounds) are caught cleanly, and all resources (such as textures or file handles) are automatically cleaned up for you when the program finishes.
Basic4GL supports plugins, which allow the language to be extended with new commands and functions. There are a number of existing plugins created by members of the Basic4GL community providing access to many quality third party libraries, such as phyiscs and music/video playback.
C++ programmers can create their own plugins using the Basic4GL plugin SDK.
The IDE now has an autocomplete function to help you with standard BASIC functions and constants, plus a popup tooltip displaying the parameter and return types of the current function. These appear automatically, or only when the corresponding keyboard short-cut is pressed (see the settings screen).
Fix bug in plugin DLL version check that was preventing plugins from being loaded.
Enable software OpenGL mode for PCs that don't support hardware acceleration.
Added GetFunctionByName routine to lookup function/subroutine at runtime by name.
This is mainly useful for extracting function pointers from runtime compiled code.
dim a, b a=Comp("sub t():printr 1:end sub") b=Comp("sub t():printr 2:end sub") dim c as sub(), d as sub() c = GetFunctionByName("t", a) d = GetFunctionByName("t", b) c() ' Will print 1 d() ' Will print 2
For more information see the "Language Guide" (in the "Help" menu).
Now with function/sub pointers. You can take the address of a function/sub, assign it to a variable or pass it to another function, and of course call it.
sub Apply(fn as function(x)) dim i for i = 1 to 10 printr fn(i) next end sub function Twice(n) return n * 2 end function function Squared(n) return n * n end function printr "Twice": Apply(&Twice) printr "Squared": Apply(&Squared)
For more information see the "Function/subroutine pointers" in the "Language Guide" (in the "Help" menu).
This is new product designed for creating games and programs for mobile phones/tablets in the Basic4GL language.
Get it from here.
A brand new Basic4GL release for the first time in 7 years.
The Basic4GL editor has been converted to Qt, GLFW and Open Sourced under the BSD license.
The whole IDE has been given a face lift, and you can build the whole thing yourself using freely available tools (e.g. Visual Studio Community Edition) and libraries.
More details in this blog post.
Because I felt like it :-).