2009

Gravitational Fourks

Instructions

This is a two-player game, but the players must share a mouse - networking is not on the cards. Take it in turns to fire missiles, aiming to hit the other player. Once you fire a missile the only force to act on it will be gravity, so you must judge the initial course and speed carefully. Control is entirely with the mouse.

Versions of the game

Version Notes
0.1

Believed fully working, if fairly minimal. 3143 bytes uncompressed, and still includes some debug code (x and y co-ords displayed on screen), and the line number table.

Comments and bug reports welcome on either Toothywiki or yatee.org.

I'm particularly keen to hear two things: how do you find the UI; and what is the biggest thing that's missing? My current ideas for ways to use the spare bytes are listed after this table.

Launch via Webstart Launch as applet currently disabled because it isn't working
0.2

Added compression to the build sequence, made some minor tweaks, and squeezed it into 2k with a byte to spare!

Launch via Webstart
0.3

In response to one of the most requested changes (3 votes to date), I've made missiles do more damage to planets - this should be particularly noticeable with glancing impacts - and amplified the benefit of this by making the missile smaller. Made the font change I wanted - needs more polish, but it's better. I've also done some work which won't be noticeable in the game, setting up a toolchain which should improve the compression by compiling multiple times with different switches. To test it I've set up a switch to toggle between floating point and fixed point. The floating point is currently smaller, but I wonder whether the fixed point could be compressed a bit by manual tweaks with Jasmin to move the integer square root code into a subroutine.

Launch via Webstart
0.4

Added fading of old tracks (4 votes). I think the speed is about right - anyone want it to fade faster?

Launch via Webstart
0.5

Someone pointed out that the physics model was badly flawed. This improves it.

Launch via Webstart
0.6

Add power and angle guides. Not convinced they're worth 109 bytes.

Launch via Webstart
0.7

Properly double-buffer everything. (Actually at this point it's more like triple-buffering for most things, but hey). Make the update timer more sophisticated.

Launch via Webstart
0.8

Faster fading. Hopefully fix the bug whereby it was possible to blow yourself up at launch. Anti-aliased text. Compiled with option GUIDES, which was missing in v0.7. 2589 bytes

Launch via Webstart
0.9 Disabled the anti-aliased text because it looks worse than aliased on both Linux and OS X. Anti-aliased the planets (2 votes). Added Perlin noise. It should look a lot better, albeit be a bit slower to generate levels. Removed guides again - this is an issue I'd particularly like comments on. 3003 bytes with option USE_BACKBUFFER. Launch via Webstart
0.a Added lighting for more 3D planets. Experimenting with a suggestion to display the gravitational field strength via background colour. There are some glitches - I think it will be best to rewrite some of the code with an extra backbuffer. Vote tally for guides so far: 1 for, 0 against. 3469 bytes with options GUIDES and FIXPOINT. Launch via Webstart
0.b Heavy reworking to simplify things at cost of a bit of speed. Fixed glitches from v0.a. 3500 bytes with options GUIDES and FIXPOINT. Launch via Webstart
1.0 Add scores, menu, instructions. Fix various graphical glitches. Make space optimisations to squeeze out about 100 bytes. 4091 bytes with options GUIDES and CUBIC. This is the final version barring bug reports. Launch via Webstart
1.1 Fix minor graphical glitches. Forced to hand-optimise bytecode to get it below, and ended up quite a bit below at 4061 bytes. Launch via Webstart
1.2 Minor bugfix/workaround. 4066 bytes. Launch via Webstart
1.3 Work around changes in Webstart and bug in applet support. Save bytes in pythag and divfp. 4054 bytes. Launch via Webstart Launch as applet

Roadmap

Bugs reported:

Features which didn't make the cut: