Create your own sound effects using spider synth, click here

End of Indie Games

Fascinating forum thread about the future of independently developed games, it touches on browser based gaming and has many developers revealing thier earning for last year - which is quite a range. Good read if a little bit long.

Crimson Tide and PulpCore

Once in every little while I get the urge to write a small computer game usually when I am feeling a little bit burned out for other coding. Combine this with the urge to experiment with PulpCore, a Java game library I had heard good things about,  I decided to write a clone of the old Dr Who game, or robots as it was originally called.

The game is turn based game were, in my case, sharks are homing in on you. You have to destroy them by making them crash into each other. The sort of thing you expect from an old 8-bit game. Go play my version to get a better context for the rest of this entry.

Pulpcore is an game library built on top of Java to allow for the easy creation of applets. I suppose in some way it is competition for JavaFX and Flash. Of course you can use it from Scala - but I didn’t.  I wanted to make things as easy for me as possible, no fiddling with production routes that are not well tested. Basically the question I really wanted to answer was how productive could I be using Java and PulpCore on a very limited scoped problem.

With this in mind I downloaded the netbeans module for pulpcore and used the template to create a project. I recorded the time I spent on creating this game.

Artwork was created using Inkscape as I am quite familar with it and total art requirements were fairly low, about 10 sprites and a couple of backgrounds. Yes it is programmer art!

As this project was limited in scope and size I decided to really not worry about proper engineering of the game code. Just keep on adding until I was done. For a small code base this is actually a really productive way to code, it just doesn’t scale too well.

The final time results are that I spent

  • 2.5 hours on Art production
  • 9.5 hours on coding
  • 0.5 hours on planning

A total of 12.5 hours to produce Crimsom Tide. This doesn’t include the time spent creating the website for it.

Not to bad considering I was also learning PulpCore, I quite literally spent 45 minutes trying to find out how to print to the console at one point. If I was fully fluent in PulpCore I could have certainly done this in less than ten hours.

Pulpcore has a number of nice features. First, for the most part, it is a world onto itself - that means you can get yourself up and running very quickly even if you have limited Java library exposure. The ability to reload scenes without quitting the game is a real productivity boost.

In terms of the development cycle, the Pulpcore developers have gone to town, automatically compressing and packaging what you need. At it simplist level to deploy a game all you need to do is build the game and then copy a directoy up to you  Website.

Of course there are some negative points. No vector graphics support is a negative, you can only deploy as an applet, although there is occasional talk of support for desktops and perhaps android. When/if that happens remains to be seen.

Crimsom Tide served as a good introduction to pulpcore and I admit to being quite happy with the library so far. What is did not provide was a proper stress test to find any warts that may be in Pulpcore.

Happy New Year

Yep I know it is a little late but hey Christmas and the New Year are a busy time non working time for me. I am finally comming back on line and catching up with emails and so on.

I got a few nice books to churn through over christmas. I am sure I will blog on them at some point.

I usually try to make some sort of new years resolution. Well actually I usually make a few one for each section of my life, things like run a marathon for the sporty side and write a certain number of blog post or learn a programming language for the technical side. This year I decided on a simple resolution for all areas or prehaps more correctly a new year motto - Be Results Driven. Yep it is a attempt to stop being side tracked by things. Although I am sure I will run a few marathons as well this year as they have a good result on my fitness levels.

Wii fit landed in our house hold over christmas and the children, both tha adult and real ones, are quite addicted.

Prior to christmas I was feeling a little bit burned out so I decided to take a break from the usual projects and write a small game. Called it Crimson Tide and you can play it here. I actually enjoyed making and it refreshed my spirit for programing. Ok it suffers a bit from programmer art and lack polish bu hey what the heck it was fun to create. I may well create some more it was that much fun. I have a draft about creating this little game just waiting some polish.

Yasnippet and scala

The emacs mode for scala has been updated with support for yasnippet. At first glance it does not look that important but when you watch the video to introduce it, it does look like it could actually be very usefull. I have played a little bit an you do quite used to it rather rapidly.

The combination of the emacs with the SpeedBar and Yasnippet makes developing scala programs in emacs actually quite nice. Descent support for code completion would put some icing on the cake, Oh and refactoring support…

General Update For Early December

I have been fiddling with getting SpiderSynth into NetBeans. I still plan on using SBT as the build tool for test the code. Overall progress on this project feels like it has been really slow. The positive thing is it also feels like a lot of the fiddling work is out of the way and perhaps it is time for a big surge of code that adds actual functionality.

And now for some links.

I obviously have an interest in procedual sound generation, this link is great fun.  I believe he plans to make a library availiable for java programmers they can use the synth in their own work.

I had not encountered this article until recently. Good read on programming languages and IDEs. Does this arguement still apply when it appears to be very easy to add support for new programming languages in NetBeans/Eclipse?

Some online books on functional programming that I have not yet read.
Haskell Real World Programming
Lisp Book