Technology:

Def-Logic games are prototyped using DHTML. This utilizes the Document Object Model (DOM) built into all web browsers. The DOM allows browser screen elements to be dynamically altered through the use of the Javascript programming language.

Building games in DHTML allows for easy conversion to Widgets (Mac) and Gadgets (Windows). The games are also ported to FLASH. Def-Logic has developed a powerful FLASH based game engine. This engine allows the original javascript code to be run in FLASH with minimal conversion. Def-Logic FLASH games typically include enhanced graphics and sound effects in comparison to their DHTML counterparts.

Comments on the development of individual games and Def-Logic updates are provided below.

SkyHigh
(December 2007)

More than just another banner game, Def-Logic presents "Skyhigh". This game has been designed exclusively for well known casual game review site www.jayisgames.com. In Skyhigh, the player is taken through an adrenaline rush ride through the clouds. Rapid level advancement make this a thrillride that every visitor to jayisgames will enjoy. Use Arrowkeys to pilot your ship and Z key to fire. Destroy the ice creatures before they freeze the Casual Gameplay logo. Rescue the jayisgames review team. Navigate a suborbital maze. Survive and get to the end.

Developers notes:
I was asked to design a banner game for the Jayisgames review site. Most banner games are simple "shoot at the target" type games, but I wanted to do something more extensive. The result is Skyhigh. Its a mini-game, but it contains all the elements of a complete arcade game. The only difference is the rapid pace at which the player progresses through the levels.

One of the challenges in designing this game was the limited playfield size. Normally I work within 640x500 (sometimes 800x600), but for this game I was required to work with a 750x150 size game. I made use of the length of the game play area by making this a side scrolling game. The limited height came in useful for some levels where enemies attack from above. It created a good challenge for the player, who would have to hover as far down to the bottom of the screen as possible to avoid getting hit.

This was protoyped in dhtml, and thanks go to Steven Linton for his work porting this to Flash.

Crystal Cortex
(May 2007)

Again, like Snapple, the plan is to provide the player with a quick action game involving the mouse. I went a bit further with this and gave the player keyboard controls to move the ship around. I thought it would be a nice innovation to have the missles launch as soon as the enemy is targeted with the mouse. This means the player doesn't have to constantly hit the mouse button. Quite a nice wee game, based on the Flatland style graphics, Cortex lets the player seek temporary shelter from enemies by hiding behind the shields protecting the crystals.

Snapple
(September 2006)

The plan here was to combine some quick action "screen cleaning" gameplay with color matching gameplay. The difference between Snapple and a classic color matching game is that the colored creatures exhibit a primitive AI. They move towards apples, and the game ends when all the apples have been eaten. Its the same as having colors rise to the top of the screen (as in "Collapse") or towards the bottom of the screen (as in "Popaloon"). A straightfoward concept, Snapple gameplay contains the arcade action that we have come to know and love. It has extremely simple controls--mouse movement. You don't even need to click the mouse button. The speed and action gets quite intense in this one.

Panic Run
(April 2006)

This is a piece of fun. I liked the idea of the player being pursued by a hoard of creatures. A pretty basic concept, really. Giving the player a small gun added to the fun factor. In many respects, this game is just another scrolling shooter. The difference is that the player is running away from the enemies rather than flying towards them (which is normally the case in this type of game).

I had fun adding a couple of visual effects to this game. First, the lightning bolt, which flashes the screen. A simple effect, but I think it adds a lot to the feel of the game. Second, the tunneling creatures. They move underground until jumping to the surface. To make this look good, I move tiles of moved dirt onto the screen so it looks like something beneath has been moving it. Nice effect, really. I saw this done on an arcade game called "Equites", which came out in 1984. I always liked the effect, and now here it is again.

Flatland
(December 2005)

I have always enjoyed the visual aspect of the classic Vector graphics arcade games. There is something appealing about watching objects that are composed of nothing more than simple lines. So I decided to do a game in that style. This is not actually vector graphics. I guess I could have used SVG to do this, but it seemed quicker to simply use sprites. The imagery looks the same.

There's a lot going on in this game, especially on later levels. And I've used sound effects too, which means the game may lag on older machines. You can switch the sound off with the S key, which may help. We will soon do a Flash port of this game, and I suspect that it will not suffer from the same performance issues. In the meantime, enjoy the dhtml version :)

Dalek
(October 2005)

The new series of Doctor Who inspired me to write a game featuring Daleks--one of the all time great enemies. Apart from the name of the game and the appearance of the enemies, this game has nothing to do with Doctor Who. In fact, the Daleks only bare a slight resemblence to Doctor Who's nemesis.

Writing this game involved a few new challenges. The main challenge was designing the sprites to have more of a 3d look than normal. Also, getting them to move in a slightly 3d'ish environment held a few challenges--ensuring that their z position was correct and that they did not overlap each other too much. This is not 3d. It is 2d that has a slight 3d effect. Its not quite a flat top-down view, nor is it a side on view. But it is not 3d. Nevertheless, getting the sprites to look and move correctly was more difficult than usual.

I don't think this game is as addictive as some of my others. There is something missing. I'm not sure what. It is fun to play, but doesn't quite capture me as much as Swarm or Replicator. Still, it is a nice diversion, and manages to serve its purpose as an arcade-style casual game. Give it a go, and let me know what you think

Swarm
(July 2005)

I came up with the idea for this game while playing classic Gyruss. I wanted to do another fast action shooter (since not many are being released at the moment) and I wanted to ensure that it stayed true to the arcade genre. Playing Gyruss, Galaga, and my own Replicator gave me the idea for Swarm. Its based on my theory that addictive gameplay comes about through the action of "cleaning up" the screen. In this game the player gets two ways to "clean up" the screen. First of all, the player needs to destroy the swarm, which look very cluttered on the screen. There is satisfaction in cleaning them up. The player also gets to return the central matrix back to its original color (the swarm change it).

When I originally planned this game, the player's ship was going to move around the outside of the screen, just like Gyruss. It looked quite good, but I had trouble getting the game difficulty pitched right. It was either too hard or too easy. There seemed no middle ground. I solved the problem by giving the player more movement freedom. The player can move anywhere on the screen. The only thing is that the player is always targetting the center of the screen, so the shots always head towards the matrix. I think its a good effect and provides a level of originality in the game.

This is a fast paced game, and the enemies move in fast scripted waves (very fast in later levels). To add emphasis to the speed I found a couple of nice fastpace tunes on the internet. I don't know who sequenced them unfortunately. They fit the game very well.

I put together an effective flashing transition between the levels. During test playing I found that sometimes the flashing would match the timing of the snare buildups in the backing music. The effect was fantastic and having seen it I became determined to somehow use it. The problem was that it was impossible to guarantee that the flashing would start exactly when a drum roll was occuring. My first solution was to insert a sound effect of a snare build. It sounded and looked quite good, but I decided that I needed a more abstract sound effect for the transition. Luckily I found one in a classic arcade sound effect folder. It is an effect that is percussive, and by getting the script to switch it off and on when the flash starts, stops, and starts again, the effect is impressive. When it finishes I use a nice little electronic 'veeb' sound to complete the stage transition.

UPDATE:
(21 July 2005)
The Mozilla team have fixed the rendering bug in Firefox. The Firefox1.1 alpha (codenamed Deerpark) renders dhtml/javascript games at almost the same speed as Internet Explorer. This is great news. When this bugfix is included in the next Firefox release, people will be able to choose which browser to use for these games. Of course, if people want game sound to work they will still need Internet Explorer. You can track the history of the rendering bug (if you are interested) by going to https://bugzilla.mozilla.org/show_bug.cgi?id=234233. Notice that they used these JS games as test cases.

Dark Age
(May 2005)

I was asked to write a game with similar gameplay to the 1986 arcade game "Gauntlet". Dark Age is the result of that request. In order to give it a point of difference, I made this a fixed screen game (Gauntlet was a scrolling game). One of the challenges in designing this game was the birds-eye perspective for sprites. Often top-down view games have sprites on a sort of 3/4 angle view (pseudo 3D). But I wanted a true birds-eye view. The challenge here was designing sprites that looked like real creatures. I didn't realize how limited a top-down view is for putting detail in characters. You really only see their heads and shoulders. I'm very pleased with the graphics I came up with, however. They look pretty cool. I'm particularly happy with the exploding zombie (from level 2). It looks great.

Another challenge in the design revolves around maintaining speed with so many moving screen elements. Part of the character of this game is the fact that the screen (after a while) is packed with enemies. It makes for a fun game, but (as always) speed is an issue. I think it performs quite well on Internet Explorer. I have tested it on a 1.5Ghz machine and it runs fine. Firefox is slow, but I am confident that the next release of Firefox will be a lot faster. They seem to have fixed by 234233 as a side effect of fixing another bug. So when this fix makes it through to a public release, its speed problems will no longer be of concern.

I have found some excellent music for this game. I'm going to start putting music credits on my games now (whenever I can track down the author details). Unfortunately I cannot find out the author of track 1 and 3. But luckily the music I found for track 2 had the details. Its the "Allegretto Castrado" from Ghouls and Ghosts by Tim Follen, sequenced by Oedipus. Great tune.

Equalizer
(February 2005)

I wanted to do a game that empowered people to stop large corporations continuing to ignore the dangers of greenhouse gas emmissions. With this thought in mind, I decided to do a vertical shooter, which puts the player in the position of destroying futuristic greenhouse gas factories. I admit that with such an important subject, I could have done a more detailed game with much larger, dirtier factories. Perhaps I'll do a sequel in the future. In the meantime, this project gave me a good excuse to do a vertical shooter.

I learned a few lessons doing this game. The first is that vertical scrolling shooters have been done to death, and there really is not much original content that can be put into them. Its all been done before. In the future I intend to focus on developing more original concepts in gameplay (like Replicator). Vertical scrollers don't have much scope for such originality. They are fun to play, though :)

I also learned some interesting lessons with regards the frame rate of animation. Usually I run games at 20 frames per second. The reason for this goes back to the win98 days. Windows 98 has a bug which means that timeout delays of less than 50 milliseconds are not possible. What ever delay below 50 you choose, will always run as a 50 ms delay. This is 20 frames per second. So I started designing games at that frame rate. It sort of stuck. I figured that since the eye can't really detect frame changes at 24 frames per second, that 20 would be good enough. And in most of my games it is fine. I noticed, however, in Equalizer the 20 FPS yielded a weird staggering effect on ship movements. It was like watching an old movie. I'd never really noticed this before. Then looking back at a few other games, I noticed the same effect in Replicator (though not as bad). I think I get away with it in Replicator, but I couldn't let Equalizer go live at 20 frames per second, so I reworked it to run at 24 frames per second. The result is much smoother animation. Of course, Win 98 users will only see it at 20 frames per second--but since so few people use 98, I don't think it matters anymore.

This game also highlighted a major area for work in the Firefox browser. It is unbelievably slow at rendering this scrolling shooter. It does okay with most of my other games (except when there are many moving objects) but Firefox can't really run this one at all. The Mozilla team have been using some of my games as test cases to improve Firefox dhtml rendering speed (see bug 234233 on bugzilla), so at least they are aware of the speed issue and are trying to fix it. In the meantime, I strongly advise you to use Internet Explorer for these games (or Safari for the mac).

Replicator
(December 2004)

This is another fast-paced neo-arcade shooter. As with many of my games, this is based on the traditional arcade formula. I developed the idea while writing Popaloon. I noticed that there is a lot of satisfaction in popping huge groups of balloons, which made me decide to incorporate that concept into an arcade style shooter. Now, it would be a little uninteresting to fly around in a ship destroying bubbles, so I decided to make them eggs, which would hatch into a range of different enemies. It seemed natural to go a step further and have the enemies laying new eggs at increasing speed. And so "Replicator" was born.

One of my favorite features of "Replicator" is the particle effect when eggs and bugs explode. In order to maintain speed, I couldn't use my normal particle effect--simply deploying an array of particle sprites in different directions. This is because "Replicator" has a lot of onscreen elements to maintain. And I wanted the particle effect to be a lot richer than normal. The simplest solution was to make the particle effect into a sprite. By doing this I could make the effect quite rich, with many particles, but the computer would only need to update one sprite. An obvious solution, really.

Popaloon
(October 2004)

I was asked to do a point and click game. Such games are very popular with a wide audience. Until now I've avoided doing one, since I figured they'd been done to death. There are so many around that I didn't think there was room for another. I changed my mind when I started thinking about a new way to present this type of game. I thought I would like to use balloons instead of blocks, and have the balloons being launched by a character, rather than simply appearing. From that thought "Popaloon" was born.

The gameplay only took a day to write. I then worked on the presentation. The balloons and the wolf are recycled from "Antarctica", while the concept for the scenery came from "Bust'n Redzta". Although the entire game was done in about 3 days, I then spent a week refining the game and trying to get the difficulty pitched correctly.

I also had a pain in the neck bug in the game, which didn't occur until around stage 11. It took 3 days to iron it out. The problem was that sometimes when the stage started, there would be gaps between balloons at the top. And for some reason these gaps were solid--nothing could pass through. I checked the arrays, and coded a lot of hacks to try to fix it, but nothing worked. In the end I discovered the problem. It was so obvious, and was just a stupid mistake on my part. Basically, when resetting the balloons, I had forgotten to reset their last finishing positions to 0 (I use finishing positions while balloons are moving to tell the script when to check for a collision). What happened was that some of the reset balloons had retained previous finish positions that were too high, so they moved to those positions without altering their position in the array (because they were not meant to be moving at that time). Its kind of hard to articulate the error. Needless to say, I found it after pulling out most of my hair through frustration.

I haven't done one of these games since "Circle Bobble". I think its quite addictive, really. In testing it I can fully understand why this type of game is so popular. Its hard to put down.

DNA
(September 2004)

I enjoy the thrill of the arcade. Its the fast action adrenelin boost that I crave. For this reason, I wrote DNA. I thought of the idea while attending the New Zealand Game Developers Conference. One of the discussions involved designing novel games. So I sat down and tried to come up with an idea that has not yet been tried. DNA is the result. It is a shooter, but is also a collection game. The player has to clean up the screen, dropping all elements into a box at the side of the screen. I've blended two of the most popular types of gameplay--shooting and collecting. The game is very fast action, so it is a true arcade game.

Counter Terror
(July 2004)

The main reason I wrote this game was to satisfy demand. My Commando21c game has been doing very well on a tournament site, so I thought it was time for another game in that genre. While the gameplay is essentially the same as Commando21c, Counter Terror features enhanced graphics. The backgrounds in particular are much nicer to look at. Counter Terror has been written from scratch (it is not based on the Commando21c code) and gives the player more freedom to fire in multiple directions.

Why Terrorism? Well, Commando21c was loosely based on this theme but I wanted to do something more obviously based on eliminating terrorism. Then Raw Thrills (headed by Eugene Jarvis) released their FPS coin-op, Target:Terror, and its success showed that this is an issue people want to see in games (I've read a report that people stand in line waiting to play Target:Terror--great for revitalizing arcades). There are not many webgames based on fighting terrorism, so I thought I'd fill that niche.

Why the armored suit? The idea came about while thinking about the old Robocop films and playing the Robocop game. I thought it would be a good idea for a commando to be outfitted with the sort of armor that Robocop wore. Its the best way to survive carbombs, bullets, and missles. Of course, they guy in Counter Terror is not a cyborg. He's a human dressed in armor.

Counter Terror gets quite difficult, so I'll be interested to see if anyone completes it and signs the hall of fame. Have fun with it.

Eliminator
(April 2004)

This is truly an arcade style game, and in the arcade tradition it is an "omni-view" game (meaning the player views the entire world from a "God-like" perspective). Gamers from the 1980s will recognize the central premise. It is derived from Defender (Eugene Jarvis). The difference here is that the player is confined to just one screen.

The A.I in Eliminator came together quite well. I am very pleased with the results. Each enemy has a different behavior which provides an extra challenge. The Hunters seek out pod creatures to abduct. This behavior is actually quite simple to produce. When the Hunter appears, the program rapidly checks each of the pod creatures to see if it has been labelled as being targetted by another Hunter. If not, the Hunter will taget its y position, while maintaining its normal x-axis behavior (this gets around the problem of it getting caught behind a wall).

A tile handling module was added to gamelib to construct the levels. It significantly reduced download times of the old method. Amenra, Freejack, and JR-Kong have now been upgraded with the new system.

This game was designed specifically with Tournament sites in mind. This will mean minimal conversion for integration into such sites. There are 25 levels, and the difficulty increases at a steady rate, which means players will require practice to complete the game. The scoring is more varied than other games, which means players will achieve a large range of scores. This will mean an interesting spectrum of scores on Tournament sites.

UPDATE:
(March 2004)
Well known content supplier 3rdsense.com have approached Def-Logic with a view to licensing several games for use within some of their games websites. The games are to be incorporated into online Tournament systems, and therefore some conversion work is necessary. The first step is to reduce the game width from 790 to 640 to fit within their iframe. The next step is to provide a score threshold, which will determine whether a player can enter the competition. If they reach the threshold, they will be presented with a link, which will submit their score to the site. 3rdsense have a unique player payment system. Players pay to enter the Tournament by sending a reverse charge SMS from their mobile phone to a specified number.

The licensing for these games is based around a profit share system.

Kenocrush
(February 2004)

This is a non-arcade game. Writing this gave me the the opportunity to develop a casino style game that incorporates some of the visual effects contained in arcade-style games. The project was commissioned by Casino-Crush and the game is now installed in their forum/games section. One of the features of this game (as it exists on the Casino-Crush site) is the fact that it is a pay-per-play game. It has been integrated into a phpbb mod, which allows users (who have accounts) to play the game at a set cost. The cost is deducted from their account. The game then gives the player a certain number of credits (this number can be adjusted by the casino controller), and the player can play until either they choose to 'cash-out', or their credits reach zero. Cashing out adds their total remaining credits (including wins) to their account.

Within the game, there are Casino Controls, which the webmaster (or casino operator) can adjust. These govern the amount of credits each play costs, how many numbers the player should select, how many numbers the computer draws, and the pay table. This gives the casino operator some flexibility.

Amenra
(January 2004)

This game contains some of the nicest background graphics I have produced to date. The game is set in an Ancient Egyptian tomb. I've been reading some books an Ancient Egypt and got graphics inspiration from some of the photographs contained in those books. The whole game is inspired by stories of archeologists exploring ancient tombs. This is a platformer, but it has a special feature. The player can ascend to higher platforms by shooting a rope up. It hooks into the platform above and pulls the player up. The idea came (in part) after playing an emulated Rock 'n' Rope from the 80's. The rope in that game works a bit differently to this one, however. Some nice visuals have been worked into this game. The enemies appear in sarcofogi (didn't spell that right, did I !), in an effect that sees sand build up until it explodes, revealing the enemy. It has only 13 levels. I would like to have put more in, but the download would get too big. Have fun with it.

(note: the version licensed to Playaholics.com has 16 levels)

UPDATE:
(January 2003)
Over the last few days I have been converting some of the games for inclusion on www.casino-crush.com/bb2. The conversion means that the games can be loaded within an activity.php module. The module includes features such as highscore saving and a pay-per-play facility.

UPDATE:
(November 2003)
Game Cube Advanced have recently approached me looking for content for their site at www.gcadvanced.com. I have branded the startup pages of my games for this client, and they are now all live on the Game Cube Advanced site.

UPDATE:
(November 2003)
I have recently removed the sound effects from several games. The music on these games has been left intact, and on Event Horizon and Apothoesis I have left the sound effects in place. The reason I have temporarily removed the sound is because I discovered that on slower machines, triggering the wav files caused a slight hesitation in the game's animation. There doesn't seem to be a problem with the midi files used in the music. Since smooth gameplay is a priority, I decided to remove the sound effects from most games. In the future when machines are faster I will put them back, but in the meantime the wide range of computer specifications means that I need to cater for the lower-end machines in order to make the game accessible to the widest audience possible.

Virii
(November 2003)

The idea for this game came to me while I was working on Holomatrix. I thought it would be effective to have an outline of a character gradually being filled in as he collects power ups. The idea in the game is that a human has entered a computer network to rid it of a virus. The human's interface allows him to walk around the computer environment and interact with digital elements. The interface becomes more stable as the player collects power ups. The whole idea of a human entering a computer world was first introduced in the Disney movie "Tron" back in the very early 1980s. The concept was then revived in a Stephen King movie named "Lawn Mower Man".

In Virii, I put a great deal of work into creating a smooth animation sequence for the hero. The running motion is very nice. I also wanted to incorporate a psuedo 3d feel. I did this with some of the enemy sprites--having them appear in the distance and head towards the player in 3d. The result is 2d game play with some 3d effect. It works quite well.

Holomatrix
(October 2003)

I've recently been looking at arcade classics such as Robotron, Smash TV, Berzerk, and Black Widow. These games put the player in an extremely limited environment and then surround him by a number of attacking enemies. The threat felt by being totally isolated with no-where to hide while numerous enemies are attacking from all angles is engaging. It really stimulates the adrenaline (an effect missing in many games today). This type of gameplay is the basis of Holomatrix.

Originally I was going to allow the player ot fire only in the direction he was walking in. This is how Berzerk worked. After trying it out I decided that it was really too difficult to destroy all enemies in this way. So I decided to go for the Robotron approach and give the player the ability to fire in all directions regardless of which way he is walking. This means that the player has to use the Arrow keys to move, while also thinking about 8-way directional fire using the E,S,D,F keys. In an ideal situation the player would be standing at a solid arcade machine with 2 joysticks in hand. But it is still possible to play with a keyboard.

This game was finished at the same time as the Def-Logic hall of fame was updated. It now records the score and game title when players sign after defeating a game.

Free Jack
(August 2003)

This game was a pleasure to write. It has very obvious similarities to BombJack, which I've always liked. With this game I've put in a lot of sprite movement in the foreground and a nice selection of scenery in the background. The backgrounds were found on the Internet and then recolored to give them more of a "cartoonish" look. My aim was to produce something that was visually appealing as well as fun to play. I am very happy with the sound effect used when enemies are "smashed" when player has a "power-up". The sound actually came from a sample of a lightsaber in Starwars. I sliced out some unnecessary parts of the sound and then speed it up by 100%. The result is quite good.

The jump motion takes a little while to get used to, but once it is mastered the player has a lot of freedom to maneuver around the screen. I tried other types of movement systems, but this one seemed to be the best. I didn't want the player to be flying all the time, and I didn't want the player to be limited to small jumps, so I decided to go with this system which basically lets the player determine how high s/he will jump. Well, I hope you enjoy this game.

Event Horizon
(June 2003)

I always enjoyed the 'Juno First' arcade game of the 1980s, so I thought I'd put together a variation of that game. The challenge in writing this game was the pseudo 3D effect. Producing the horizon star field which could move left and right depending on the player's movement was a big challenge. It took a lot longer than I thought it would to get it looking believable (I actually rewrote the starfield routine 3 times). The algorithm is not perfect and I'm sure there's another way to do it, but I am happy with the effect I achieved. The next difficulty was getting the motion of the aliens to look believable. I played with this for quite some time. I needed the aliens to change in size as they moved towards the player in 3D, while at the same time their rate of movement would alter depending on how fast the player was moving. It was quite difficult to get this looking good.

If you like a meaningless shooter, then you should enjoy this game. The sound effects are authentic sounds from the 1980s 'Juno First' game. Pretty cool sounds, actually. Enjoy this game.

JR Kong
(April 2003)

This game is a side-scrolling platform game. I wanted to write a scrolling platformer that had some variation in game play. I decided to arm the player with ICE BALLS, which freeze enemies. The main reason for this is because I wanted to do a nice shatter effect as the enemies are smashed. I'm quite happy with the way it turned out.

The game has a number of different types of enemy, which helps keep the interest up. I put fruit in the levels too, just to provide the player with more variety. There is no real story line. Its a 'survival' game. Its quite addictive, really, so I hope people enjoy playing it. Perhaps it could be improved with more levels... something to think about.

Apothoesis
(February 2003)

This game is the most complex that I have written to date. Originally, it was going to be called "Time Driver" and was going to be a version of the old classic "Time Pilot" set on the ground with cars. I wanted to provide a sensible way for the player to warp to other timezones, so I decided to put "time crystals" on the screen. The player would collect these and then warp to the next stage. I changed my mind after playing a classic arcade game called "Sinistar" with MAME (multi-arcade-machine-emulator). It seemed a lot more exciting to have the player mine the crystals by shooting rocks and then use the crystals to destroy a huge creature that would appear later. So, "Apothoesis" was born.

The most complex part of the game was the A.I for the Gatherer sprites. They move around in a set pattern until a crystal is released. Then one of them chases the crystal and takes it off the screen. If shot, he releases the crystal. At first they *all* targetted each crystal, but it got a bit chaotic to have them all rushing towards each crystal. I decided to have only one target a crystal, which had the nice side effect of different gatherers looking for different crystals. The result is some nice looking pseudo intelligence.

The Hunter sprites simply target the player. If they get too close, they back away. It was actually quite difficult to get the Hunters to work the way I wanted. The problem was that they were too good at aiming and hitting the player. That is part of the reason I decided to not let them get too close. This gives the player a chance to avoid them.

The Apothoesis is my most complex sprite (to date). He evolved over time as I tried to make him look more evil and more mechanical. Thank goodness for Fireworks. Its an excellent program for putting shading into images. Check out the snapshots of his development.

The biggest problem I had was the speed of the game. It ran fine on my 1.6gHz CPU running Window 98, but when I tried it out on a winXP machine, it ran far too slowly. WindowsXP is a CPU hog, and javascript games of any complexity tend to run quite slowly (unless its on a *really* fast CPU). After discussion with Scott Porter (www.javascript-games.org) I discovered that I had unnecessarily made all the sprites 'Hard' (collision objects), and that was causing some delays through massive looping. So I turned off all the Hard sprites and noticed an improvement in speed. In the end I compromised. The game only checks for collisions between player & rocks, gatherers & rocks, gatherers & player, hunters & rocks. I have also economized with some of the sprite file sizes, which has helped with the speed issue. Most of the sprite file sizes started out as quite large since they needed to rotate through 360 degrees. I've managed to trim back some frames on the gatherer sprites. This has reduced the load a bit.

The sound effects were an interesting challenge. I couldn't find an explosion that I was happy with. I wanted an electrical sounding explosion. I found a lightning crash sound and sped it up. It still wasn't quite right so I blended it with a sound effect of multiple firework crackles. That seemed perfect, so I stuck with it.

Apothoesis should appeal to all those who like fast action and explosions. I hope this game goes somewhere towards showing that the sprite-based game genre still has an important place in the gaming world.

Antarctica
(December 2002)

I received quite a few requests for a game that could serve as a follow up to "Bustn Redzta". Since I did not want to simply write a sequel, I decided to take the "Redzta" engine as a starting point to create an entirely new game. "Antarctica" is the result. The first change is that the player can fly as well as jump. This change gave me the scope to create some really challenging levels with platforms that can only be reached by flying. The next significant change is the way the enemy sprites move. In "Redzta", the enemies simply patrol their platform. They do not have any freedom to move around the screen. In "Antarctica", however, the enemies can jump off their level to the one below. They can also move to higher levels by floating on balloons (originally they jumped up to higher levels, but I thought the balloons would be a more entertaining way to move them around).

One of the features of the "Antarctica" game play is that the player is collecting hearts that are being launched from the top of the screen. This means that the player needs to move around the entire screen and find the quickest way to get from one end of the screen to the other--unlike "Redzta" where it is simply a case of plotting out the most effective way through the level and then sticking with it.

Defense Unit
(October 2002)

With a growing interest in games that provide a challenge by placing the player in a very limited environment, I thought I'd write a fast action shooter. In this game, the player is stuck in the middle of the screen while being attacked from all possible directions. This scenario brings about a real adrenaline rush and is heaps of fun. There is a lot going on in this game, but since the player can't move it really is the limitations that make it challenging.

For "Defense Unit" I wanted part of the enjoyment to come about through what the player brought to the game. By this I mean imagination. I deliberately avoided creating any type of story line. There are hints in the game scenery about what the story might be about, but it is never actually mentioned. The idea was that the player would provide the story through the use of imagination, and in doing so, he/she would interact with the computer in a very direct way. The computer program would provide the graphics and action, while the player's mind did the rest. Not a bad idea. I'm not sure if it worked, but I think its worth pursuing.

Commando 21c
(September 2002)

This game is an action based shooter in which the player moves through a world that scrolls passed, while shooting at everything in sight. There has been a resurgence of this type of game (see the "Metal Slug" series, or "Demon Front" in the arcades). What this format offers is fast action and quick reflex testing game play. It is really a test of hand-eye-coordination and quick thinking. There are lots of moving targets on the screen, all approaching from different angles and firing weapons (or dropping bombs), and the player has to avoid all these (or shoot them), while at the same time trying to move closer to the end goal.

This game is the heaviest CPU user that I have written (at the time of programming), because of the shear number and size of sprites. The enemies and player sprites are not too big, but the fact that the background is scrolling as well makes the CPU work. And if that's not enough, I've put in some large helicopters that fly over head dropping bombs. When the player hits a chopper, it blows up with a very large explosion. The result of all this graphic activity taking place (and remember, this game runs in an Internet Browser) is a heavily worked CPU. This game really requires CPU speeds of over 1.2Ghz to play properly.

Interestingly, I discovered a bug in Internet Explorer 5 while testing "Commando 21c" on a computer in a city cafe. The scrolling method I used did not work. It is supposed to work in IE5, but nothing happens. The player just walks right off the screen. Its a good thing most people are using IE6 now.

Bustn Redzta
(July 2002)

There are very few platform games being produced in this format at the moment. By this I mean the type of format in which the player is situated in an environment built out of platforms, which is all contained on one screen. The platform games being produced for PlayStation 2 (and other consoles) usually place the player's point of view right behind the main character. The player then navigates around a 3D world, which can seem endless. These games are visually stunning and are fantastic to play, but there is a demand for the type of platformer that "Bustn Redzta" is based on.

The 3D platformers involve gameplay in which the player can only see what is in front of his/her character. This means that there is a limit to the amount of action that can occur in the game. Furthermore, since the player only sees what is in front, there is a danger of being attacked from behind. But where's the fun in being hit by something that you couldn't see? The type of gameplay that "Bustn Redzta" offers is different. Instead of moving through a seemingly endless world, the challenge is partly based on the fact that the game takes place in a very limited environment. The player is aware of everything that is going on in the game-world, so can formulate a plan of attack. If the plan fails, then the player can take another look and form a new plan. In the "Bustn Redzta" world, the player has a God's eye perspective, and that is what makes it challenging.

Circle Bobble
(June 2002)

I've always enjoyed Taito's "Puzzle Bobble" (aka "Bust-a-Move") so I thought I'd put together my own version. Of course, I wanted to make it distinctive, and provide a slightly different challenge, so I arranged the Bobbles in a circle and made them slowly rotate. To give the game a hint of the arcade, I designed a small explosion for when the player hits the incorrect color. The explosion causes small fragments to fall to the bottom of the screen, which will destroy the player if they hit. To further the arcade feel, I designed an action stage that the player encounters after each Bobble stage is complete. The action stage is quite simple, but is reasonably challenging. The player must fly his/her ship through a mine field while shooting at colored Bobbles. The stage is not complete until a certain number of Bobbles have been hit. I think this is a good approach to game design. People work hard to get through the more difficult action stage so that they can play the more enjoyable Bobble stages. During the hard stage, there is a build up of adrenaline which is followed by a relaxation effect when the rewarding Bobble stage is reached again.

Balloons and Droids
(May 2002)

At time of writing, this is one of my most popular games. I wrote it in May 2002. GameLib gave me the power to get a lot more creative with sprites. The sprites in "Balloons and Droids" have a lot of different frames and each frame contains its own animation. They move in many different types of attack patterns and have a smooth speed that is quite consistent across different CPU speeds. I really wanted to do something different for this game, so I decided to include several levels that require distinct types of gameplay. Doing this gave the game some depth. The story line is left up to the player's imagination, but since the stages all link together, the player can see how one area connects to another. All the stages fit together and progress from one to another.

The Droid sprites originated from an old arcade game called "BombJack". I found the sprites on the Internet and cleaned them up while giving them a higher resolution. I then added jetpacks and created some animations. The result was very entertaining.

Aerial Drop
(February 2002)

This was the first Javascript game I wrote that required keyboard control. As a matter of fact, I hadn't written a game that used the keyboard since the 1980's! "Aerial Drop" was also the first game I wrote in javascript that was written for its own sake. By that I mean it was not written for the purpose of being sold to a business to include in their website as a promotional tool. From this point in time, I decided to concentrate on writing games that have more depth and entertainment value. If someone wanted to buy one, then that would be fine. But if no-one bought one, then that would be fine too. I'd assemble them all together in a website for Internet users to play for free.

I wrote "Aerial Drop" in February 2002. It was really just an excuse to write a shooter. The part of this game I like the best is the explosions when the helicopters are hit. I found a great explosion animated gif on the Internet, and made it into a sprite that could be used in the game (I couldn't use the original because animated gifs slow javascript games down). At this time I was animating sprites by hiding all the frames off-screen, and rapidly moving the required frame onto the screen while simultaneously removing the previous frame. It worked really well, but was a bit cumbersome in the code. Also, it required a multitude of individual images to be downloaded, which can be slow for modem users. After I finished this game I decided to use canvas animation for sprites. The best way to do this would be to integrate the GameLib (a collection of sprite methods) into my future games. GameLib is a resource available to developers from www.javascript-games.org.

Bug Control
(August 2001)

This was my second Javascript game, which I wrote in August 2001. This was another simple game, which was supposed to be suitable for a Pest Controller's website. In this game I decided to go a bit further than I had with "Music Catcher", so I provided 4 levels--each with distinct enemy sprites and background scenery. The sprites for each level moved according to slightly different attack patterns. These patterns were designed to get the bugs to attack the house, but also move around in a way that makes it difficult for the player to hit them. I was pleased with the result. They have a sort of pseudo intelligent behavior.

Music Catcher
(May 2001)

I wrote this game in May 2001. At the time, I was experimenting with animated effects for websites by using Dynamic HTML and javascript. While researching DHTML, I stumbled across an interesting site dedicated to javascript games (www.javascript-games.org). I was intrigued with what I saw on the site and decided that I had to write a game for use in one of my websites. Originally I thought I could produce simple games and use them as a selling point for my website business. The idea was that businesses could offer prizes and run special promotions through the use of webgames. The games wouldn't need to be too complex, as long as they were reasonably fun and held a bit of a challenge. Not a bad idea...

I hadn't written a game since Orbs in 1995, which was written in C++, so it took quite a few experiments to get "Music Catcher" working. I had to come up with techniques for sprite animation that worked for the project in question. For example, I didn't realize that images could be resized with javascript, so I drew musical notes of varying sizes and rapidly swapped them in the program to give the illusion that the notes were flying out from the center of the screen in 3D.

I was very happy with the results of my first effort to write a game in javascript, and I am happy to see that people are still playing it.

(c) BRENT SILBY 2001-2008