Preliminary Results in Mathematics Software

So, my adventures in designing mathematics software with Stencyl have started producing some results.

What I’ve been working on lately amounts to a toolkit which can be used to write apps (for tablet, web, mobile, etc.), using Stencyl to handle the GUI and multi-platform compiling, and a library of extensions to handle the mathematics components.

The mathematics components are now working! And, I was able to create a web app.

Graphing Calculator

This graphing calculator could be created, with no programming required, and embedded online.

Minus any unsquashed bugs, the most difficult part of project, the mini computer algebra system, is working. The second major component is the ability to establish communication with a server. Once that is working, an instructor could quickly set up their own online homework system.

Ludum Dare 31

Last weekend I decided I needed a change of pace–something new and different to take my mind off of the end of the semester, final exams, and my software development. So, I participated in Ludum Dare, a 48-hour video game programming contest. It’s sort of like the video game developer’s version of Nanowrimo.

The rules are pretty strict. I participated in the original contest–the 48-hour “hard mode” version, although there is a 72-hour variation that allows for teams. My game is one of over 2,500.

The primary rule is that everything, with one exception, must be created from scratch in the two-day period. You are allowed to bring in source code–but since you’re required to share your source, you couldn’t start with proprietary libraries (say, your employer’s).

I pretty much had to start from scratch with the code, anyway. I was able to import some, but the core mechanics had to be built from ground zero.

This was the 31st contest. A couple weeks prior to the start, the community voted on several themes. The winning theme–entire game in one screen–was announced last Friday at 9pm. Then, the clock started.

I was pretty happy with what I could come up with in two days.

This is a pretty simple game. The goal is to get from one end of the screen to the other–and keep going back-and-forth. Since I was allowed only one “screen”, the level re-arranges itself when the player reaches the goal. Abelian refers to the commutative property of addition and multiplication in groups.

The level generation algorithm was more fun to write than making the graphics, which probably shows (although the tiles are shiny and animated if you run the actual game). The columns are represented by about 20 stacks, and the level transitions make for a nice visualization of push/pops–so, basically, the whole game is one big exercise in second semester computer science topics. Perhaps I could rename the game to “Stacks from Hell”, and package it in a series called Dangerous Data Structures, because why not?

It’s a bit harder than I intended. My own best score used to be about 2,900–but I actually managed to beat that, just now, while testing the game and link and making sure everything still worked. So, beat 3,830! The levels get more difficult as you press on. After about five or so, little bits of “rain” start falling… and in all but the first level, the floor will fall away from you if you can’t get to the other side in ten seconds.

With LD31 behind me, it’s now time to get back to work.