Joe's REALbasic Page

This page is home to some of my own REALbasic code. Feel free to take the code below for use in your own projects -- share and enjoy!

StringUtils Module

This is a public-domain module of string functions, including ways to reverse a string, remove or delete certain characters, convert a string into hex, handle fields containing quotes, measure the similarity of two strings, and more. One of the handiest modules I end up using in almost every project.

ArrayUtils Module

A module of additional array methods, including slice operations, numerical calculations, cloning and concatenation, and more. After StringUtils, this is probably the second most commonly used module in my projects.


This is the Frequently Asked Questions (and Answers) document for the 3D capabilities that have been built into REALbasic since version 3.5. Includes a number of simple projects to demonstrate the techniques discussed in the document.

Not yet finished. Last update on or after: 27 Jan 2004.

Drag Demo

This project demonstrates one way to drag objects around on a Canvas, complete with transparency/translucency and adjustable layering. Suitable as a starting point for drawing programs, card games, and other object-manipulation applications.


This is a one-window wonder which implements a miniature "fat bits" editor, somewhat like the old MacPaint or the icon editor in ResEdit. Could be handy if you need a little icon editor in a bigger application. Also demonstrates offscreen graphics, use of cursors, and a little hack to make a pop-up color palette.


This is a demo of a 2D scrolling Asteroids-style game. It illustrates using a scrolling SpriteSurface with a large virtual world (100x100 tiles, which is 6400x6400 pixels), and is a good start for any 2D space game.


This is a REALbasic demo which creates a 2.5-dimensional view of a game board. It also illustrates particle effects and maintenance of a changing background (i.e., once the particles stop moving, they become part of the background image).

Platform Demo

This is a demo of a 2D scrolling platform game. It also illustrates using a scrolling SpriteSurface with a large virtual world (100x100 tiles, which is 6400x6400 pixels), plus sprite animation and interaction with the background.


This is a different type of sprite demo. It makes the beginnings of 2.5D graphical adventure game. It illustrates using a scrolling SpriteSurface with a large virtual world, and implementing 2.5D graphics by adjusting sprite priority as a function of "depth".

QD3D Demo 1

This project demonstrates accessing the QuickDraw 3D library from REALbasic. You can load a 3D model in "3DMF" format. It should be on the order of 200 units high or so (an appropriate sample model is included). You can then enter an angle in degrees, and the model will be rotated by this angle about the Y axis. Includes the beginnings of RB class wrappers for the most important QD3D classes.

QD3D Demo 2

This project extends the first demo substantially. There are new QD3D class wrappers (e.g., for quaternions), new methods on existing classes, and a couple of even higher-level classes for 3D games. The "R3Object" class, for example, supports yaw/pitch/roll, movement relative to the object orientation, and "reference points" which are transformed with the object. The demo shows a simple multi-object application, including first-person and third-person camera tracking.

QD3D Demo 3

This is the coolest demo yet; control Betaman as he wanders around a desert oasis and inspects a small temple. This project adds a background, simple collision detection (based on a world grid), and a more gamelike interface.

Note: these techniques are pretty much obsolete since RB now has 3D functionality built in. But it still might be useful if you need to extend Rb3D via some Declares.
Last Updated: 1/15/12 . . . . . .