Shlongg Vivisection

"The Classy Thing To Do Would Have Been To Call It A Postmortem..."

Probably, but Shlongg is not dead yet. All fun and games aside, it's also so I can tie in to the fact that it's insane that REAL vivisection is still happening in this day and age. If something has nerve endings, I'm guessing it can feel pain. At least that's what my nerve endings are for. Do you enjoy pain? Me neither.

end rant

Thanks for your patience...

"The Making Of Shlongg"

That's a little better...

   Back in spring of 2002 I was experimenting with DirectX 8 and like many people my first project (after the spinning triangle, that is) was to do a terrain engine. Once I had that working to the point where you could "walk" around the terrain and fly a little hovercraft over it, I got to thinking "I should make a complete 3D game".

   Also about this time at my day job there were a couple employees who were learning Flash, and the idea was raised that we would have a friendly little competition. We had 1 week to make a flash Arkanoid clone (working around our other duties, of course).

   I completed the rather pedestrian "Flashanoid" in approximately 8 hours over the course of the week. Only one other clone got produced. It was pretty crappy, but considering he basically learned flash while making it, it was still quite an accomplishment.

   Flashanoid made the rounds through the office, and I was shocked to find out how many people still loved playing this type of game. This made me think back to my idea of wanting to make a complete 3D game. Considering I would be working alone and that people still played Arkanoid, doing it in 3D seemed like a good idea.


    The only plan I started out with was "make Arkanoid in 3D". We don't need no stinkin' design documents! It's Arkanoid! How hard could it be?

Not hard at all, actually. I had a basic game mechanic working within the first couple of months (remember this is my hobby, I do have a day job!) Of course, it looked kind of crappy, didn't have power ups, and other than being able to look at the playing field from different angles it didn't really utilize the 3D aspect very much. Interestingly enough, the ball texture used at this point is still being used in the final version. It's nice when you get things right the first time. Even if its just a little thing.

Shlongg in January 2003

   I wrote my first particle system to be used for the ship's thrusters and for the explosions. It was fairly primitive, but did the job. This was followed by a sprite font and the game menu. I've lost count how many times I've reworked the texture and coordinates for that damn sprite font over the course of development. Suffice to say "too many".

   It is amazing how psychologically it feels more like a real game once you have a menu in place. A few months later into development saw the first power ups added, which more or less rounded out the Arkanoid game mechanic.


   With a basic 3D Arkanoid game mechanic in place, Shlongg began to slowly evolve.


   Very Slowly. 

   I felt the main problem at this point was that even though the game was taking place in a 3D environment, it was still pretty much just a 2D game. One of the first evolutions was extra layers of bricks on top of the bottom row.

   I initially thought to allow the player to tilt their ship up and down to take the game play itself into true 3D, but quickly discarded the idea: Many Arkanoid games can suffer from "last brick syndrome" where it takes forever to finally hit that last damn brick on the level! I felt that moving the ball's movement into 3D would really compound this problem.

   So the balls stay on a 2D plane, and when a brick breaks its column shift down to replace it until none are left.

   The next evolution was the level transition. No, not the tunnels, though this probably seeded the idea for it.

Shlongg's First "Level Transition" in January 2003


    When finishing a level, the back wall would slide aside, and you would fly to the next level. In reality, the player didn't actually move, the floors and walls did.

    It was also around this time that the "dropping the bricks from the sky" schtick was added to the level start routine. I like it, it's simple but cute.

   Except the models and textures I had made for me, everything looked pretty stankeroo. So, I spent a few months learning how to do cool things with DirectX 8 like render to texture and had my first real fumblings with the lighting.

Shlongg in September 2004

   In the fall of 2004, I was tempted to say "Mission Accomplished". 3D Arkanoid. Whoopdie-Friggin'-Doo. It was fun, let's move on.

  It was also during this period that I first got interested in procedurally generated art. I wanted to do some experiments and I realized I already had good testbed in the 3D engine I had written for Shlongg.

   After stewing in my brain for a little while, out popped the urge to take the level transitions to the next level by flying through a procedually generated tube. Thus the Hive Tunnels were born. Only they weren't called that yet.

The Tunnel And Pickups!

   I should say at this point that getting the tunnels working the way I wanted was one of the greatest challenges I had on this project. It was basically my Matrix Maths Trial By Fire. To any other aspiring developers out there, prepare your questions as well as you can, and use the forums. They are invaluable. (R.I.P. Flipcode!)

   The biggest evolution was due to a little A.I. Or perhaps more properly A.B. (Artificial Behaviour). The Goalie was born.

This is actually the Chucker, in February 2005!

    Tweaking him so he played OK, but didn't frustrate people was probably what spurred the creative spark to carry Shlongg to its final state: What was this thing? Why was he stopping me from breaking these coloured bricks? For that matter, why the hell am I bouncing this ball into coloured bricks in the first place?

    The game's joke title would now serve as the name of these aliens. The bricks became Energy Crystals, and thanks to some super easy scaling animations using splines, wriggling larva! The aliens now had a reason to stop you from smashing their stuff!

    I had a lot of fun designing the Shlongg Dominion. Sure, space aliens invading Earth has been done a million times, but so has BreakOut :P


   When I finally made the decision to "go with it", I decided to go as far as I could and make the best damn BreakOut clone I could. That included starting NotSoft and this website!

   Somewhere in this madness, I fit in all the drudgeringly necessary things like Input Configuration Menus, and Input Device enumeration. Glad that's over.

   I can hardly believe how fun it was to put together the cinematic intro and the end sequences. It really brought the whole B-Movie feel that is perfect for the Shlongg Dominion and their fiendish plot on humankind. Love it.

Ooo! Scary!

   I'm not sure the Basic Training section was a good return on effort. On one hand, there are game elements that didn't really make it in to training that I think should be there, and on the other hand who doesn't know how to play Arkanoid? Anyway, it was a lot less fun that the cinematics.

  Shlongg was getting close to where I wanted to take it. Just a few more touch ups were needed... and a hell of a lot of level building!

Shlongg in September 2005

   I've pretty much left out mention of the Level Editor, but it was a lot of work too. It evolved with the needs of the game, so it's a little mashed together in places. It's usable though, I built the game with it! 

    Building over 100 levels (and over 100 tunnels to go with 'em!) took much longer than I had hoped. And it got fairly tedious. You'd better believe the editor has plenty of "random generate" functionality! Don't like that colour scheme? Give me another one...

    While building the levels, I also kept tweaking the graphics, finalizing the art and sounds, and enemy tunnel behaviours. Its quite a lot for one person to juggle.

Almost There - Shlongg in April 2006

   What else can I say? I fought my way to the finish line and finished Shlongg.


   When I discovered that the .com was still available, I grabbed it and decided to make it the center point of this game and to keep NotSoft for all my projects.

   It also gave me the chance to put down all the information that I couldn't fit in the more than 5 minute  training section for anyone interested to look further. It was also a nice recap for myself to show how much detail I ended up putting in to this sucker. Yes, one last joke.


  • Keep the project fun for yourself. Its the only way you'll see it through.
  • Don't create a lot of levels too early. You'll only throw them away when the file format spec changes.
  • Know when to say when. I'm not going to spend the rest of my life polishing BreakOut.

2005-2007 NotSoft. All Rights Reserved.