||"The Classy Thing To Do Would Have Been To Call It
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.
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 Plan (Or Lack Thereof)
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
With a basic 3D Arkanoid game mechanic in place, Shlongg began to
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
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
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
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
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.
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
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
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.
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
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