Monday 31 March 2008

For those following the development of these games, I've just fixed the following bugs and I'm gearing up for a release of all the games. Unfortunately, a few still have problems but I see no reason to hold back and do single-releases for much longer.

- You can now input numbers using the L and R buttons and X. This allows you to play filling, solo (sudoku) and unequal. Solo plays fine but unequal needs a specific fix because by default it only uses the numbers 1-4 as far as I can make out. As Solo needs 1-9, this is a pain and means I need game-specific code to make it work with the L/R/X control system. I just need to make something show what number you have selected because at the moment you have to put the number in to find out, then change with L/R. It stays on the same number until you press L/R though so numeric-input games are playable if you can remember a single-digit number.

- I've fixed a few bugs here and there related to mouse/keyboard input. Most people probably wouldn't have noticed as they only affected games that haven't been released yet.

- I've fixed the absolutey idiotic mistake of mine that makes the wrapper-scripts point to the wrong path (I'm a prat). The directory structure will change for the "full release" and I forgot to change it back for the individual release.

- Mines is giving me more problems than anything else, now, despite running perfectly within the development environment. For some reason on the GP2X it doesn't play correctly from the very first second, even though there is NO GP2X-specific code run up until the point it errors out with an "assert". I've looked at the code around the assert (which is in mines.c and I've NEVER had to do anything to the game code, only the SDL interface code) and I have no idea what's wrong.

Running mines on plain Linux with the exact same code, screensize, bit-depth, SDL libraries etc. doesn't give you any problems. It's either a very subtle timing bug or a problem with memory (but I would expect memory errors in that case). Mines, unfortunately, may have to be pushed to the back of the queue.

- I've made it so that L+R now quits, because it's easy to hit Vol+ accidentally if your finger slips off the control pad on the F-100 (I was SO close to finishing my game of dominosa!). I might change that to Vol- / Vol+ in future.

For the games not mentioned below, I haven't tested them thoroughly but they seem to play fine. I'll reserve judgement until I can complete a whole game on them just to make sure but I think they are all releaseable.

Bridges - I have a slight problem with "locking" squares but that just seems to be the way the game works. Once a circle is locked, it's a pain to unlock it. It can be finnicky on my Linux PC too, maybe the lower clock speed exacerbates the problem a little?

Cube - In a state that I could release it.

Fifteen - In a state that I could release it. Sometimes a little slow on animation - using hardware SDL surfaces or overclocking might speed that up but I'm not too worried as it just "skips" animation frames rather than slow the game down.

Blackbox - In a state that I could release it.

Tents - In a state that I could release it.

Pattern - font display a bit too small for some puzzles, but otherwise fine.

Dominosa - In a state that I could release it.

Flip - In a state that I could release it. Sometimes a little slow on animation, like Fifteen.

Guess - Drag-drop problems like Map but playable. I'll probably just edit the game code to remove the cursors, because I've tried lots of different things to stop it doing it and none of them have made the slightest difference.

Lightup - In a state that I could release it.

Netslide - In a state that I could release it. Sometimes a little slow on animation.

Rect - In a state that I could release it.

Samegame - In a state that I could release it.

Sixteen - In a state that I could release it. Sometimes a little slow on animation.

Twiddle - In a state that I could release it. Sometimes a little slow on animation.

Map - drag-drop display problems the same as Guess.

Pegs - drag-drop display problems the same as Guess but which also lead to an enormous slowdown when you drag, making it unplayable. This is the only problem with pegs, though.

Solo - In a state that I could release it.

Filling - In a state that I could release it.

Unequal - In a state that I could release it. Sometimes a subtle bug crops up.


Anyway, expect a release of all the games in their current state "soon". First, I have to fix the mouse once and for all, then get rid of the drag-drop problems that stupidly stop two games from working when the drag-drop display is totally unnecessary. Then I may add a few little touches such as showing the current digit for the L-R buttons, maybe a quick menu for all the games.

I'm also intending to do a full source release with the full collection, with full LICENSE files, a nicer directory structure, all of my build and test scripts, even the exact Open2X toolchain and libs that I used to get it all working.

At least one person wants to take that and try to port the collection to PSP using my SDL code.

No comments: