I’m a bit of a retro computing and gaming guy and I enjoy making versions of retro games using Xojo. Although Xojo is not really designed for making games, its Canvas class works well for many kinds of simple games. That means our theme for the Year of Code for September is Games!
One of the first games I made using Xojo was a clone of Atari Tank (based on the version included with the Combat Atari 2600 cartridge).
The core of Tank served as the basis for the XojoWars game contest, where it was re-imagined as a space battle.

Tank is a rather simple game and really needs to be two-players, which is why I added the ability for two people to play it over the network using UDPSocket. This version, which I called NetTank, is available on GitLab.

On the mobile side, I’ve made a 2048 sliding-tiles game and Turtle, which I suppose is kind of an infinite version of Frogger.
However, I’ve had the most fun making clones of Asteroids and Space Invaders. I wrote some about Invaders in xDev Magazine last year, but at some point I’ll get it enhanced enough to share in a blog post.
With that lengthy pre-amble I can now share my game for this month’s project, which is a clone of Asteroids that I uncreatively call Space Rocks. Although an older version of this game has been included with the Xojo examples for several years, this is an updated version with some new features:
- Smaller ship to better match proportions of the rocks.
- Improved ‘heartbeat’ sound.
- High Score is saved and restored.
- Level increases as you clear all the rocks, which adds even more rocks that also move faster.
- Command or Shift key now work for firing missiles.


Yes, 14340 is my high score. So far. I dare you to beat it!
The full project is on GitHub: https://github.com/paullefebvre/SpaceRocks
Keep in mind that you don’t have to make an arcade-style game. Strategy and turn-based games are a lot of fun and also great candidates for Xojo. For reference, take a look at the web-based Cosmic Trader game that Ricardo made last year. A platform-style or maze game might also be interesting. I can’t wait to see (and play) what you make!
Paul learned to program in BASIC at age 13 and has programmed in more languages than he remembers, with Xojo being an obvious favorite. When not working on Xojo, you can find him talking about retrocomputing at Goto 10 and on Mastodon @lefebvre@hachyderm.io.
Year of Code Project
- Year of Code: Kickoff
- January Project: Desktop Apps | Forum Discussion
- February Project: Database Apps | Forum Discussion
- March Project: Web Apps | Forum Discussion
- April Project: User Interface | Forum Discussion
- May Project: Mobile Apps | Forum Discussion
- June Project: Code Sharing | Forum Discussion
- July Project: Charting | Forum Discussion
- August Project: Console Apps | Forum Discussion
- September Project: Games | Forum Discussion
How to Play:
Each month we’ll announce a new theme and share an example project of our own. Share your projects to the Xojo Forum thread for that month via GitHub (all the links you need are posted above ↑ ). Learn how to use Xojo and GitHub.
The Prizes:
Monthly winners get $100 at the Xojo store. Every month you submit a project is another chance to win the grand prize. The grand prize is $250 cash plus a Xojo Pro license and a year of GraffitiSuite and will be announce in December. Learn more about the prizes.