Archive for the ‘Uncategorized’ Category

iShoot 2 developer diary 2

Thursday, February 4th, 2010

Since my last post on iShoot 2, things have come a very long way. The game is basically playable now, in the sense of “tanks take turns shooting, can kill each other, and most of the in-game UI is there and working”. There are around a dozen weapons working at the moment, though some of them are just testing various features of the new weapon system and probably won’t make it into the final release.

And since iShoot is all about weapons, that’s what I’m going to talk about today. For the purposes of this discussion, I’m assuming at least passing familiarity with the weapon editor in iShoot 1. Naturally, there’s going to be a much more comprehensive weapon editor in iShoot 2, so this post is of the most interest to people who plan to build iShoot 2 weapons.

The original iShoot weapon system was very limited (hey, I wrote the whole game in six weeks, after all). You could take various basic types of weapons, such as “cluster bomb” or “shell”, and combine them in various ways — a cluster bomb of shells, or even a cluster bomb of cluster bombs of shells, if you so chose. And you could tweak the weapon’s settings, such as how many submunitions they created and how far they shot them. And that… was really about it.

In iShoot 2, the main goal of the weapon system is to make it more modular, so you can access smaller subunits of weapon behavior and alter or replace them. To illustrate the difference, we’ll start with a “Shell” from iShoot 1. iShoot 1 shells, such as the Mini Mortar, are weapons that fly in a ballistic arc and explode into a circular blast upon striking a solid object. You can tweak various settings, such as the color of the explosion or the sound it makes, but all of those behaviors are tied together into a single chunk and can’t be separated. You can’t create a shell that doesn’t travel ballistically, or one that drops bombs as it flies, or one that can travel through dirt but not tanks, or anything else not covered by the existing weapon effects.


iShoot 2 takes a completely different approach. First, the behavior when a weapon blows up is much more granular. Rather than the all-in-one “Shell”, the equivalent weapon in iShoot 2 actually has six different warhead effects:

1) Play Sound
2) Create Explosion Particles (configured to create a burst which looks like a fireball)
3) Destroy Terrain Circle
4) Apply Damage
5) Create Smoke
6) Create Debris

There are many, many different effects you can apply as part of a weapon exploding, they can all be freely combined, and there is no limit on the number of effects a weapon can have.

As another example, the “Cluster Bomb” from iShoot 1 is handled in iShoot 2 as a “Linear Weapon Burst” effect. You can now specify the angle of the line along which the submunitions will be shot, and since you can create as many effects as you like, you can easily create (say) a bomb which explodes into an X-shaped blast of shells simply by creating two linear bursts at right angles to each other.


iShoot 2 introduces the concept of “triggers”, which cause effects to happen when certain conditions are met. The most basic trigger, and one which all weapons have by default, is “Struck solid object”. By default this trigger is wired up to the “Explode” effect, which simply runs all of the weapon’s warhead effects. You can delete this trigger, in which case the weapon will happily travel right through solid objects, and you can also wire it up to different effects (for instance, maybe you want a weapon which behaves differently when it bursts in midair vs. when it hits the ground).

Other triggers include “Struck Terrain”, “Struck Tank”, “Reached Apex”, “Proximity”, and “Delay”. Triggers can be armed and disarmed, so for instance you can have the “Reached Apex” trigger arm the “Struck Solid Object” trigger — your weapon will travel through solid ground until it reaches its peak and begins descending. If you have a delay trigger re-arm itself, it fires again after the appropriate delay. This allows you to have an effect which runs every <n> frames, such as dropping bombs.


All weapons in iShoot were ballistic, period. In iShoot 2, you will be able to disable the effects of wind and gravity on a weapon, control its speed and direction via effects, enable homing, and many other settings. Weapons can change appearance mid-flight, and there are even animated weapons now that reconfigure themselves on their way to the target. I’m not ready to spoil all the surprises here, but iShoot 2 is going to have some cool weapons.

Weapon Exchange

Where’s the fun in building all of these world-destroying weapons if you can’t share them? So naturally you will be able to share your custom weapons online. We are also planning on hosting a contest to design the best set of weapons, with a sizable cash prize. So go ahead and start thinking about weapons now :-)

iShoot 2 developer diary #1

Friday, January 22nd, 2010

With Kim Rhode’s Outdoor Shooting out the door, it’s finally time to start work on iShoot 2 in earnest. We’ve been bouncing ideas around for a while, but real work on it didn’t start until two weeks ago.

Obviously with only two weeks of work on it and a brand new engine to get up and running, there isn’t too much working yet. And what is working isn’t ready to be subjected to public scrutiny yet. Still, we’ve gotten a lot done in such a short period of time — we can aim and shoot various cool weapons, and the terrain is in and blowing apart beautifully. Maps are finally bigger than a single screen, and scrolling and pinch zooming across the expansive landscape are working perfectly.

Most exciting to me, though, is the graphical improvements we’re going to have this time around. Here’s a tank from the original iShoot:

In comparison, here is one of the new iShoot 2 tanks when fully zoomed in (ignore the ugly solid blue background, skies aren’t in yet):

Weapons, explosions, the UI, and everything else are all getting the same level of upgrade. On top of the obvious graphical improvements, the engine has some extremely cool tricks up its sleeve that I’m not ready to talk about yet. Stay tuned…