• Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

About this blog

Psycho Boy 3D * Swing the Cat * Sudoku Solver * Jibba Jabba

Entries in this blog

The other day my parents where clearing all the old boxes out the attic to lay down some insulation. As I was rifling through the junk I came across the tape of the very first game I ever made, "Chip in Unknown World" for the Amstrad CPC!

Early signs of dyslexia

I spent a little while trying to get the tape to load into an emulator (its about 12 years old) but finally I got it to work. The way I did it in the end was to record the tape as a .wav and then use samp2cdt to turn it into a binary that I could load into an emulator.

Despite the spelling errors and frankly random gameplay it still held its charm. So if you haven't had enough of games made by 10 year olds Download it now! and if you have download it anyway! You'll need something like CPCE to run it, it's saved as a snapshot that you can open in the emulator without messing around with pretend tape loading.

UPDATE: If you do want to play it the controls are joystick to move and fire button to do an action/use item (usually num pad is joystick and 5 is fire). You have to collect all the bonuses on each level and then get the rocket ship out of there. Sometimes you have to collect something on one level to use in the next. Its 10 levels and more difficult than it looks.

Swing the Cat

Enjoy some original Swing the Cat artwork. As you might've guessed my method for creating the graphics was to create a large image in Paint and then shrink it down to the required size with GIMP, its so much easier to do that than pixel art but it does mean some detail can get lost.

(Someone else drew the dog, I'm too talentless) (It's a heart, geddit?)

Feel free to comment on your method of designing graphics.


I've decided I need to finish psycho boy 3d otherwise it will just sit there laughing at me as another unfinished project. So I've started doing the soundtrack using modplug tracker, its going ok so far considering I don't actually have any musical talent. Listen to one of my tunes and tell me what you think. It doesn't have to be good just a tune you can listen in the background while throwing virtual bricks for a level or two (not the whole game!).

Eat Japan.IT Requires something that will play ITracker music (eg winamp, modplug)


Hey hey

I decided to enter the one week one button contest. I've been working on it pretty hard and I'm quite pleased with what I've got (despite the bugs). It's called swing the cat where you swing a cat and a person round to collect the fish (you really have to play it to get it). I made it in realbasic and had a problem with it running at 5fps when I realised that rotation takes ages in realbasic. Now it runs fast but at the cost of loading time (caching the rotated images).

Anyway, I need people to try it out as I'm not sure how well it'll run on other PCs. Download windows version. Let me know how it runs, the player should turn at a decent speed, say 2-3 seconds per spin.

shooty goodness

Been playing a lot of every extend (PC version) recently, its horribly addictive for such a short game. My hiscore so far is 1437370. Gives me ideas for making a shooter of my own but I've got too many half-finished projects on the go anyway. Also had a go on Cho Ren 68k but it was more fun on my old PC when it ran at half the speed, I could actually make it past level 2.

Also found a very impressive 256byte demo of a 3d spinning tube thing. I can't write 'hello world' without burning up a meg. it's crazy.

More sudoku

I've finished my sudoku solver. In the end I used a graphics canvas to display the puzzle and handled the input myself, it was didn't take too long thankfully. I also upped the logic behind it so that for each iteration it filled in all the cells that would have only one possible value and then it works on the cells with the lowest number of candidate values. It also disregards unsolvable sudokus (ones that have an empty cell that has no possible value).

It's available for Windows and OSX which makes me a ultra-cool mac developer. Now I'll have to grow a goatee and wear a beret. Anyway, both on the GDS so download it now! It's got other features too including open/save, copy/paste, different themes (including one with my cat, buttons), and 36 premade sudokus.

Sudoku fun

I got bored the other day so I made a sudoku solver. It works ok - I thought I'd have to use some clever method to get it to work but the brute force method (trying every valid combination of numbers until one works) takes at most a tenth of second anyway. Ah, modern computers do allow us to be lazy. I wrote it in realbasic so I can compile an OSX version too but unfortunately it uses different fonts so the dividing lines don't match. I plan to change it either to a grid or just a large image and handle input myself.

Also found a good web comic the other day that nicely sums up Jack Thompson's recent tantrums.


I found a good code snippet for turning on/off V-Syncing in OpenGL. My game now runs without any horrible tearing or stroby effects. Interesting though it seems my ATI driver had V-Syncing set to "Always Off" by default, very odd.

I've almost finished a level designer for psycho boy 3d in realbasic. I'm quite impressed with realbasic - handles arrays and OO nicely.


It's come to my attention that the cjb.net redirection service has become rubbish. It used to just show a little ad on the top of the page every time it redirected you, now it opens "download spyware now" full screen popups plus the most annoying javascript prompts to download more spyware ever. plus they've yanked up the price of their full service. plus they smell of wee.

So at the moment I'm searching for one that has the minimum of adverts. Considering all they do is redirect an URL it annoys me so many of them have tons of ads.

Czech mate

I got my first website review for Psycho Boy 3D! Unfortunatly, it's in Czech so I have no idea what they've said but they did give me 75%, not too bad. They didn't actually tell me about it, I just found it with google. Anyone out there speak Czech? Bablefish and google sadly lack Czech to English translation.

New compy

The other day I bought a friend's computer who's moving over to the mac-mini side, its so nice to be able to ditch my old steam powered one. Specs for anyone who cares:

AMD Athlon XP 2600
512mb ram
Radeon 9700 Pro
2 x 120gb HDs
I finally got round to uploading the new psycho boy. There's been quite a few changes including new houses and monsters. It also has an online highscore table. Although my free ASP provider seems to have decided to up the number of horrible popups. bah. The scoring system has also been changed as doubling the score every level made the scores a little excessive. You can get the new version on the GDS or here. Enjoy!

Lastest screenie:

Yay NeHe


Yay! NeHe has posted my message about Psycho Boy 3D on his front page. NeHe's tutorials have been a great help in making the game, infact the game started from his tutorial on making a textured cube, I for-looped the cube rendering to make a row of cubes, added a house texture on them and it grew from there.


Making the randomly generated levels has been tricky but this function I made has helped:
// Pre: arguments terminate with -1, maximum 100 arguments
// Post: If random(1000)>chanceOfFirst return first arg
// else return a randomly selected integer arguement
int makeChoice( int chanceOfFirst,int first, ... )
int count = 0, choiceList[100], i = first;
va_list marker;

va_start( marker, first ); /* Initialize variable arguments. */
while( i != -1 )
i = va_arg( marker, int);
va_end( marker ); /* Reset variable arguments. */
if (rand()%(1000)>chanceOfFirst)
return ( choiceList[0] );
return( choiceList[rand()%(count)] );

Basically, it takes a variable number of integer arguments (up to 100 and terminated with -1) and returns a randomly selected one. You can also give higher odds for getting the first one with chanceOfFirst with 0 being always pick the first argument and 1000 giving each argument an even chance.

So my code for working out which houses to pick goes something like this:

makeChoice(1000,htRegular,htPaper,htIgloo,htSnowy,htKrapMart,htIcePalace,-1), // Bonuses
makeChoice(1000,htBouncy,htNuclear,htSniper,htXmasTree,htEye,htBone,-1),-1); // Baddies

Bah Humbug

Online High Score Tutorial

Bah! No one seems interested in my online highscore tutorial so I won't be doing the second part. Maybe its best I don;t reveal the encryption/security methods I use anyway.

Doukutsu Monogatari

If you haven't played Doukutsu Monogatari (cave story) yet I highly recommend it. Its a japanese sidescrolling platformer that has a great retro nintendoish feel to it. The bosses, dialogue and level design are excellent.


Good news! I've finished the first part of the tutorial on creating an online highscore, check it out here and let me know what you think. I haven't covered any security aspects yet, I thought it best to not confuse the logic of a highscore table with security as someone might want to use their own methods. The second part will cover encryption and preventing cheaters as well as a few extra tricks.

I've redesigned the code to be clearer and more efficient (my original had it loading the table into an array, messing about with it and then saving it back) which has led me to the following conclusion: I hate ASP arrays with a fiery passion that will not die - for example this won't work:

Dim a(5),b(5)

But this will:

Dim a,b(5)

Ah well, live and learn.


After searching for some time there seems to be a distinct lack of tutorials on how to make online highscore tables with C++. So I'm considering making a tutorial on how I made mine, it wouldn't be particulary advanced (I've stayed away from WinSock and that) but hopefully it would be useful to someone. Do you think something like that would be useful or is it better left to the experts?

Psycho Boy 3D:

New additions: (not available from GDS yet)
- A giant eye that shoots lasers.
- various ghosts

Scoring system

What are your opinions on the scoring system to psychoboy? Currently you score 1 or 2 points per house, 10 points for knocking in a traffic cone/tomato and your score doubles each level. I'm thinking that this system is a bit unfair and makes the points scored in the first few levels worth a lot more than later levels, even though its harder on later levels. It also means someone could do slightly better but get a stupidly larger score. However, score doubling does make it more interesting and a good reward for completing the level.

What are your views?

New stuff

Right, I've about given up securing the highscore for Psycho Boy, save for uploading all user input it's almost impossible to keep the hackers out.

I've been trying out RealBasic recently on the recommendation of someone, its quite impressive. It works in a similar way to VB but has a clearer interface and has more of a OO slant. I'm thinking of using it to make a platformer for the Four Elements contest. Anyway, to test it out I made noughts and crosses (with badgers and monkeys!):

Anyway, my idea so far for 4e4 is a simple platformer (tile-based background, mario-land ish gameplay) where as the player progresses through the game they obtain new abilities such as ninja jumping, robot lazers, zombie attack etc... I've wanted to try out sprite design as well so this should be a good opportunity.


Psycho Boy 3D Progress:

I'm testing out the new online highscore for psychoboy, check out the Hack my highscore thread. I'm working hard on making it at least semi-hack proof, at least secure enough to stop someone like XY.

In other news:
The results came through for my degree and I got a first, hooray!
Sign in to follow this  
  • Advertisement