Friday, January 27, 2006

Shawn64

Last week, Shawn64 (real name Shawn Noel) took his own life. He was only 17 years old, but had produced many polished, professional games. His games showed a creativity well beyond his years. We gamers have lost a very special person.

Shawn's games tend to be more action oriented than the games I usually cover in this blog. However, this week, I am going to review my favorite Shawn64 game. I will return to the series on programming logic games next week.

Name: Mini Golf Pro
Author: Shawn64
License: Freeware
Website: http://www.shawn64.com/

Aren't there enough mini golf out there already? Do we really need another one? Hell, I wrote a simplistic mini golf game myself ten years just to learn Java. Despite the plethora such games, Shawn found a way to bring something new to this genre. The result is my favorite mini golf game.


Most mini golf games try to emulate the game you play down at the local family fun center. What Shawn did in Mini Golf Pro was to shake things up by adding all kinds of fun things that cannot occur outside a computer game. There are pinball bumpers, conveyor belts, teleporters, free shot power ups, and many more. Sure, there are still bumpers, water hazards, and the occasional windmill. The combination of old with new is genius.

Mini Golf Pro comes with three 9-hole courses and one 27-hole course. Plenty to keep you busy. The graphics are top notch. The music track is soothing. The controls are simple and solid. I highly recommend this game.

I will miss you Shawn.

Friday, January 20, 2006

Bug Brain

Name: Bug Brain
Author: Tom Morton
License: Freeware
Website: http://www.biologic.com.au/bugbrain/

This is part three of my five part series on programming logic games. This week's game, Bug Brain, uses neural nets as its programming model. Neural nets are a mainstay of machine learning in computer science and of science fiction stories. In each Bug Brain level, you have to construct a neural net to guide your bug to complete some task. For example, in the level pictured below, you program the lady bug, and your task to have it eat the three bugs without falling off the branch.


To program the lady bug, you create a neural net which drives the lady bug. In the picture below, the inputs (or sensors) to the neural net are the red nodes on the left: branch width, bump, and eye. Branch width ranges from 0.0 to 1.0 based on the width the branch directly ahead. Bump is 0 or 1 based on whether the lady bug just bumped her nose or not. Eye is 0 or 1 based on whether the lady bug sees a predator above. There are three outputs (or actions): move forward, turn right, turn left. These are the blue nodes on the right. You have to construct the wiring in between the inputs and outputs.




My "brain" for the lady bug consists of four neurons, the green nodes. Each neuron takes the values from its input wires, performs a computation, and passes that value on. The upper left neuron outputs 1.0 if the input>.9 and 0.0 otherwise. This keeps the lady bug moving forward so long as the branch is thick enough. You don't want to fall off. The lower left neuron, turns the lady bug around if the branch gets too thin. The two neurons on the right override these commands once lady bug completes her journey and bumps her nose on the trunk of the tree.

The lady bug will walk down the branch until it starts to thin out, turn around, and walk back to the trunk of the tree. See how easy it is! This brain will complete the level, but I did get lucky. The bug which starts on the leaf walks forward, and my lady bug eats it on the way back. And, notice how the eye sensor is not connected to anything. Luckily, there are no predators on this level or my lady bug would be in trouble.

Bug Brain starts with a nice tutorial. Then you move on to control lady bugs, human muscles, ants, and worms in turn. Each has a different set of tasks and sensors. If you have had some experience with neural nets, the levels are sometimes tricky but not too stressful. It is hard for me to judge how difficult this game is for those who are new to neural nets. My guess is that Bug Brain is probably a wonderful way to learn about them, but challenging at times. If you get stuck, you can download solutions to any of the levels.

Bug Brain has a few flaws. A couple of times, I set up a neural net which performed illegal operation, a divide by zero or something. This resulted in a cascading series of dialog boxes, and I had to use the task manager to kill the game. And the interface is a little clumsy. To delete one wire, you have to delete a neuron to which it is connected. Not a big deal. This is a fun game for both neural net mavens and newbies.

Saturday, January 14, 2006

Robby

Name: Robby
Author: Alawar Entertainment
License: Freeware
Website: http://www.alawar.com/

This is the second in a five part series of programming logic games. This week's game is Robby. The goal is to program your robot to collect all of the items and then make your way to the exit. You program the robot by setting the cartridge configuration in the upper right hand corner. The state of the robot consists of the direction which it just moved and which walls are present at its current location. There are 32 possible states. In the cartridge, you program for each state the direction which the robot moves next. Once you hit "start", you cannot change the program.




The cartridge is broken into four regions (red, orange, blue, and green) corresponding to the direction which the robot just moved. Within each region there are eight arrows. One for each of the eight possible wall configurations. Clicking on arrow rotates it 90 degrees and changes the direction that the robot will move if in that state.

Sounds simple enough, eh? There are two twists. The first is the breakable walls. There is one in the screen shot in the upper left corner. These count as walls when next to one and computing the robot's current state. However, if you move into a breakable wall, it disappears and you move into that space. So, it is sometimes necessary to program your robot to move into walls.

The second twist is ammo. On some levels, your robot can pick up ammo. Once collected, you can hit "fire" while the robot is moving to destroy a breakable wall directly ahead. This is necessary to change the state of a square before the robot gets there. I am not a fan of the ammo. It goes against the idea of a programming game, as you have to manually fire them as the robot moves.

There are 7 tutorial levels and 50 game levels. This is one right hard game. In fact, there are two levels which I have not been able to beat (cheat: by editing resume.ini, you can skip a level). Anyone looking for a challenge should try this one.

I do have a couple of complaints. One is that the exit is not revealed until all the items are collected. So, you often have to reprogram your robot to get to the exit and start over. Another complaint is that it is sometimes difficult to tell in which square the robot is located. It would be nice if a grid was displayed. Finally, the pacing of the levels is not very good. Some of the most difficult levels come early and some of the later levels are relatively easy.

Within the game, Robby claims to be shareware, but the html help file states that it is now freeware. The game is no longer available at Alawar's site. So, I have uploaded the install file to FileFactory. Sorry for the ads and what not.

Friday, January 06, 2006

Node Warriors

Name: Node Warrior
Author: Garrett Greer, Josh Rodgers and Chris Klink
License: GNU Public License
Website: http://nodewarriors.sourceforge.net/

I am starting the year with a five part series on a particular subgenre of logic games: programming logic games. In order to complete a level in such a game, you need to program your robot or character to complete some task. The tasks and programming models vary from game to game. This subgenre is not well represented in the usual places. So, for the next five weeks, I am going to write about five such games.

The first game is Node Warrior. Each turn, you queue up five instructions for your cyber bug to follow from the random list of available instructions. The possible instructions are turn left, turn right, turn around, move forward one, two, or three space, and move backwards one space. Once you hit go, the cyber bug faithfully follows the instructions. Even if that means moving onto a blue screen of death and dying. The goal is cleanse all of the green nodes by ending a turn on each of them and making everything right in the intercyberweb.



Standing in your way are various obstacles. The bit-streams act like conveyor belts. Doors need to be opened by landing on the corresponding button or hitting the sensor with your laser. Did I mention that you have a laser which fires after each move? And there are opposing lasers and error box tiles which damage your cyber bug. Once damaged, the instruction list shrinks reducing your programming options. If you take too much damage, you die.

Node warriors is loads of fun. You have to keep track of your position and orientation and how the bit-streams will move you around. A mistake in the instructions can result a cyber bug going awry in a bad way.

None of the games in this five part series is perfect. The biggest flaw in Node Warriors is that it contains only 16 levels. Once you get the hang of the game, you can complete all of the levels in an hour or two. A level editor is not included. The second big problem is the randomness of the instruction lists. On some levels, if the initial instruction list does not contain certain moves, the level can be quite hard. Also, several times in the middle of levels, I did not have useful moves in the instruction list. So, I would perform a no-op by spinning around or moving forwards and backwards hoping that the next instruction list would contain better stuff. This seems a little silly. I have some other minor quibbles, but I will leave them for another day.

Node Warriors is based on the cult board game classic RoboRally. And as fate would have it, a new version of RoboRally was just rereleased. There is a review in the Feb '06 edition of Games Magazine.