Super Jamicom


Keep an eye on this page to see what's changing with the system.




Hello Girls Who Code!

There’s a new deluge of Super Asteroid Defender clones in the game list, and that’s thanks to Girls Who Code.

I was lucky enough to be invited to lead a workshop on video game development at the Disney summer immersion last week. We talked a little about career development in video games, and then dived into some hands on coding time. The girls were brilliant, and despite Super Jamicom’s many shortcomings managed to get through the basic principles of sprite movement and intersection testing in just under an hour!

This was a great experience. I love seeing bright new minds wrap themselves around science and technology, and with luck we’ll see some of them out and about in the industry in the years to come.

It also inspired me. It was really handy to have Super Jamicom as a teaching tool: it required no installation, it had immediate iteration, and it was simple enough to teach that we got to the heart of the matter, the code, within a few minutes. I can’t wait to improve it and have another go!

New Sample

There’s a new starter sample game that will form the basis of a tutorial on the basics, and should be the best game to fork to get started with the system. Tutorial incoming soon!

Your games on the front page

When you’re logged in, you should now see a new category of games on the front page that just lists games you’ve created or contributed to.




New Background functionality!

Finally! Today Superjamicom gets a long overdue map editor.

To support this, renderer Backgrounds no longer own their own data. Instead, there is a new Map object type, a MapSystem to manage them, and a Map editor to inspect and edit them directly. Initial Map documentation is up, more details coming soon.

Note: for backwards compatibility, the old background.setCharacter function does have a fallback, but please avoid using it going forward; instead, work directly with the Map object.

Coming soon: new demos and tutorials on how to get some common game genres started up.





Never heard of it? See this wikipedia article.

It’s impossible to write an engine without writing a game, so for the past few weeks I’ve been applying Super Jamicom to two different game jams, the #LOWREZJAM on and the venerable Ludum Dare.

In the case of the LOWREZJAM, the challenge was to produce a game with a display of only 64 x 64 pixels. Super Jamicom runs at a native 256 x 224, so the actual game submission features a centered 192 x 192 (or 3 * 64 ) play field. For extra fun, the whole game also runs in just 16 colors: row 0 of the default palette.

For the Ludum Dare the theme was “shapeshift”. I really wanted to tell a little narrative, and had very little time to work on the project. The lesson learned? I really really need to work on a map editor ^____^!

Both were really good fun, and exposed all manner of bugs and usability deficits. Bugs have been fixed as they’ve come up, and the missing features are on the backlog now. If you’re working on any kind of game related tech, I can’t recommend game jams enough as the way to validate your work.

In'Out The #LOWREZJAM entry is In’Out

DBCEC210 Survey The Ludum Dare is DBCEC210 Survey




Better mouse support

Super Jamicom is largely developed on an old 2011 Macbook Pro, so the controls so far have biased towards supporting a trackpad. Today the mouse crowd gets a little boost in the form of new friendlier controls for the sprite editor:

For the draw tools:

  • left click: draw, as before
  • middle click: move the view around
  • right click: draw the alternate color, equivalent to holding alt and left clicking

For the color selector:

  • left click: select color, as before
  • right click: select alternate color, equivalent to holding alt and left clicking

Mobile support!

On the other end of the spectrum, the player page now supports phone and tablet appropriate controls; it packs in the full set of dpad + abxylr and select-start buttons on screen as a transparent overlay.

Interesting aside: When visiting the player page from a mobile device, the player now requires the player to press a play button. This is because some browser APIs (like the webAudio API that Super Jamicom uses to play audio) can only be successfully used in a function that starts from player input!

Thoughts, comments? Tweet @csubagio




Gamepad controls!

In Chrome, Firefox and Edge there’s a chance that your gamepad might work. If it doesn’t, then your mapping isn’t one I recognize yet. Eventually there’ll be a remapping screen to help discover new ones.

Why Edge? Because XBox One! There’s some experimental support for XBox One going on. Try and navigate to in the Edge browser to get your game on the big screen.

New debug drawing functions

There are now tools for visualizing your position based game logic. The debug namespace has tools for drawing boxes, circles and lines on the screen. The whole library vanishes in the player page, so you can even leave them in and they won’t show up for your players.

Rendering priority

There is now an 8 step rendering order system that allows you to interleave sprites and backgrounds.

Details for new features are in the documentation.


  • I’ve rewritten the synthesizer to reduce some of the popping and clicking. There’s more to come on that front.
  • The documentation page has an index and some jump to top navigation helpers.

Also… a new News section :)