Archive for July, 2007

“Tree Rings”

Sunday, July 22nd, 2007

I’m getting comfortable enough in Cheetah now that I can almost sketch in 3D.  I just start laying down polygons and see where things take me.  This render morphed from a Lovecraft-ian horror image into a cave into a tree interior with ear rings hanging inside. Weird, but I like the end result!

:: click for a larger version ::

Everything modeled and rendered in Cheetah 3D.

CommodoreBook Pro

Saturday, July 21st, 2007

I went looking for Commodore 64 emulators today and came across a great one for Mac!

Power 64

It’s not free and their web site will make your eyeballs want to explode, but it seems very solid and easy to use. I have zero complaints so far!

On the Apple page!

Thursday, July 19th, 2007

Sweet, Apple accepted “Shooter In The Abstract“.

Love it!

Plugs ‘N Pixels

Wednesday, July 11th, 2007

Some of my Cheetah art work got used in an e-zine this month!  Check it out at:

Plugs ‘N Pixels

It’s in issue #9 on the page talking about Cheetah.  Here’s a direct link.

Woot woot!

“Bubbles” Animation

Monday, July 9th, 2007

I did a quick render over the weekend to try my hand at key-framing some animation again.  This is a quick scene that has some water bubbles rising up in front of a wooden wall.

The problem?  The bubbles cast shadows!  Damn it.  This took almost 24 hours to render in Cheetah so I’m not eager to do it again just to get rid of the shadows at the end.  Oh well.

For what it is, I think it looks decent enough anyway.

“Shooter In The Abstract” Source Code

Saturday, July 7th, 2007

If you’re interested, here is the source code for ‘Shooter in the Abstract’:

Source Code

This is all of the C# code that drives the game. This doesn’t include the Unity project itself or the art assets so don’t expect to be able to compile this right after downloading or anything like that.  However, you might find this interesting if this sort of thing, well, interests you!

“Shooter in the Abstract” Design Doc

Friday, July 6th, 2007

I figured this might be of interest to some of you. This is the design doc that I worked from when writing ‘Shooter in the Abstract’. I wrote this over the course of 2 days while helping my wife out at an outdoor art fair that she was taking part in. The game came out pretty close to the document I think!

The differences that shook out are interesting. In the progression section, for example, I talk about the level (aka difficulty) changing every 10 waves of enemies. That got changed to be based on a timer bar instead because that added more excitement to the game.

Read on and see which elements made the cut and which ones didn’t.

Progression

The players ship starts off as a triangle with 3 guns – one poking out of each edge. As the player moves from level to level, the ship will be upgraded with an additional side and therefore an additional gun. This should cap out at something reasonable like 10 sides.

The player starts off on level 1 and enemies begin spawning and attacking in waves. Each wave has a specific mode of attack (see the Enemies section). This continues until the player kills a specific number of enemies. Once they do that, the game will begin spawning enemies for the next wave.

Once 10 waves are cleared, the player goes to the next level.

Power ups spawn in every X enemies that are killed. This allows the player, if they are fast, to stack up power ups since their current one may not have expired before they can cause another to spawn. Once a power up is picked up, all current power ups have their expiration timers reset to incentive the player to grab them.

Enemies will scale their speed, damage, homing ability, etc. based on the level the player is on. This should cap out at some point so it’s not ridiculously impossible – close to impossible, of course, but not quite.

Power Ups

Rapid Fire - Speeds up the players rate of fire.

Spread Shot - Each gun now fires 2 bullets at 45 degree angles to the gun barrel.

Reflection - Bullets will now bounce off of enemies until they hit the sides of the screen.

Homing Bullets - Gently guides bullets towards the enemy closest to the bullets line of sight when it fires.

Defense Orb - A defense bot that flies around the players ship in a tight circle, killing any enemy that comes into contact with it. Also prevents the player from being damaged by an enemy spawning in underneath them.

Drone - Spawns a bot that flies around under it’s own power, shooting at enemies.

Aiming Beams - Attaches light beams to the players guns so they can better predict where their shots will go.

Enemies

Movement Types

Linear - Selects a direction to move in at spawn time and moves in that direction until killed, wrapping around at the edges of the screen.

Random - Moves in a random direction and changes it’s mind every 2 seconds or so.

Behaviors

Normal (linear) - Doesn’t do much except move around the screen and hope to run into the player. This is how most enemies will behave.

Homing (specialized) - Tries to move towards the player using fairly loose homing.

Bomber (random) - When the player gets within a certain radius, the bomber will activate a short fuse. When it runs out, it explodes causing damage within a small radius.

Splitter (random) - When shot, it breaks into 2 smaller enemies that choose random directions to move in.

“Shooter In The Abstract”

Wednesday, July 4th, 2007

It’s time to release the first version of the Sekrit Project, also known as ‘Shooter In The Abstract’.  This is a simple little shooter arena game where you basically just try to stay alive.

You have a few options for how to play.  You can:

Play it in your web browser

Download it for Mac OSX

Download it for Windows

It’s free and yours to enjoy forever!

Sekrit Project - 7/2

Monday, July 2nd, 2007
  • added a basic main menu screen. “escape” will exit the game and “fire” will start a new game.
  • added a pause screen (the space bar will toggle the pause state)

Ray is going to be exploring graphical options and while he’s doing that I’ll be polishing various aspects of it and optimizing the code as best I can.