A downloadable tool for Windows and Linux

RCBasic is a programming language designed to simplify writing 2D games and applications. It is free and open-source. Please visit RCBasic Homepage  for more information on current development, community, and ports for other platforms.


  • Several graphics and multimedia commands
  • Extensive documentation
  • Many examples
  • Multi-Platform (Windows, Mac, Linux, IOS, Android, and Web)
  • Built-in support for Calling Java code on Android and Objective-C on IOS (ie. useful for implementing in-app purchases or using device specific features)
  • Ability to run javascript in rcbasic when porting to the web
PlatformsWindows, Linux
Rated 5.0 out of 5 stars
(4 total ratings)
Tags2D, basic-programming-language, development, Game Design, Game engine, GameMaker
Code licensezlib License
LinksHomepage, Community


RCBasic v3.21 For Windows (64-Bit) 386 MB
RCBasic v3.21 For Windows (32-Bit) 241 MB
RCBasic v3.21 For Linux 240 MB

Development log

View all posts


Log in with itch.io to leave a comment.

That mode 7 style example looks amazing. Is it actually using software to render this (faux 3d) or is it faking it with 3D routines?

It is using gpu acceleration to rotate and scale the background but it isn't using 3D.  The example comes with RCBasic so you can look at the code.

There is also a library available on the forum for using 3D but it is really only capable of Saturn/PSX level graphics.

PXS and Saturn graphics? MY FAVORITE! :D

Hi....today I read a comment on the new version of RCBasic. Maybe the comment will be helpful for making RCBasic better.

I am grateful for the feedback. I am planning on providing the android build stuff separately going forward which should reduce the size quite a bit. However, I don't think that I will be switching from wxWidgets anytime soon.  RCBasic is free and open source and anyone is free to contribute (https://github.com/n00b87/RCBASIC3 ).  If you can't contribute code then you can also help by just reporting bugs either at the forum ( https://rcbasic.freeforums.net ) or on the github page.  I am the only developer so updates are not going to happen as often as many people would like but I appreciate everyones patience.

Thanks for explaining. Thanks for continuing  to develop the software.   

Thanks for the encouragement. I think I will be ready to upload the next version by the end of this month which will address alot of feedback I have gotten over the last few months. Stay tuned.

Hi, I've been looking at RCBASIC for a while, I want to know if it supports Unicode or CJK language, as it's useful for making games with many texts.

It currently doesn't have unicode support. I plan to have it in the next release but that will probably not be until late January or February.

Hello!!!!!! Please add this tag "rcbasic" to this webpage, College Story's webpage, Out of Space's webpage and Lethal Shepard's webpage.  

Convenient for people! It is because people can easily find all items about RCBasic at the following URL. 


Thanks for the suggestion. I added the tag.

I accidentally named the Mac OS version as IOS so I updated the name. I am working on fixing some issues with detecting touch events on IOS so as soon as that version is available I will post it. Every other platform can be exported to from the build menu in Geany.

I’m running Ubuntu 20.04, any attempt to run a .bas file results in:

Init Error: No available video device
++Could not load rcbasic program

Does anybody know how to make it work?

On the second error, you need to compile the program before you run it. First of all, if you are using geany then make sure you ran the rcbasic_geany_config.sh script. You will need to close geany and restart it. After that, whenever you open a *.bas file you can compile it from the Build menu in geany.

Alternatively you can open a terminal in the same folder as the *.bas file and type this"

rcbasic_build name_of_your_file.bas

This will compile your program to a *.cbc file.  After that you can run it with this:

rcbasic name_of_your_file

You don't need to include the cbc extension, rcbasic will automatically load a cbc file with that name if no extension is given.

As for your Init Error, that seems to be an issue with SDL2 failing to initialize its graphics subsystem.  Make sure you have your graphics drivers updated and try it again and let me know if it is still giving you problems.

Hi noobCode!!

Thanks for your quick response.

The Print output is working, but the SDL2 initialising is still failing:

Init Error: No available video device

I’m using a lotta SDL2 applications, every one works fine, only RCBasic is crashing, so I think it may be a version conflict issue. I‘m using SDL2 2.0.14 – any known issue with this version?

There shouldn't be. Are you using 64-bit Ubuntu?

Yep: GNU/Linux 5.10.32-051032-generic x86_64, Ubuntu 20.04 LTS.

fish-3.1> env PAGER=cat dpkg -l libsdl2
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
ii  libsdl2        2.0.14       amd64        Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.

I am going to install Ubuntu 20.04 and see if I can reproduce your issue.

The Linux library libwxgtk3.0-dev has changed it's name as of Ubuntu 20.04 to libgtk3.0-gtk3-dev so it won't install on Ubuntu 20.04 cause of the change.

I have been moving toward integrating rcbasic into more fully developed code editors so wxWidgets isn't actually a requirement anymore. Currently geany is fully supported and I am looking to have plugins for vscode and atom soon as well.

can we choose between opengl and dx on windows? and wich dx version is used?

It will use the prefered graphics API for your operating system. On Windows it will be the latest version of DirectX your system supports.

dx12? so i don´t have to install dx9? thats okay.
Are there plans for animating sprites with spritesheets and tilesets for maps?

RCBasic is a programming language. It has a full graphics library that allows you to implement spritesheets and tilesets if you wish. There are examples that show how to do this already. I have implemented spritesheets and tilesets in the engine I built for the game I am currently working on. You can checkout the source code for that here: n00b Engine

To build it just compile and run editor.bas

Thanks for that info.I will take a look at this niece piece of software over the xmas days.thanks

looks good, would be great if you made a video about how to set everything up because i am doing some stuff wrong

If you are on windows then you just need to run the start_editor script and create a new *.bas file. You can then compile and run code from the build menu.

i tried it multiply times but the editor doesn't find the compile files

Here is a video on getting setup in windows: RCBasic Setup in Windows

Looking at this project, games created by rcbasicfans and the source code of those games, it really looks really promising. Syntax looks a lot like in BlitzBasic/BlitzMax. Project is actively developed. I really need to look at this project a little bit closer and try to use it for one of my next projects.

Thanks for checking this project out. I have been developing this since early 2015. I am currently working on a action platformer with it myself which I am hoping to release a demo for soon. Someone recommended I put it on itch so more people could discover it. Please check out the forum at rcbasic.freeforums.net