- Player plane
- Helicopter
- Helicopter rotor
- Ship
- Tank
- Fighter
- Balloon
- Fuel depot
- Rock
- Explosion
- Missile and shell
- Tank shell explosion
- Unused explosion (prototype)
Player plane
The player's plane is a 2x1 tile (16x8 pixel) sprite with 4 pre-shifted
frames for smooth horizontal movement. A separate banked variant is used when
the plane turns left or right.
| Centered (straight flight) |
|---|
![]() |
| Banked (turning left/right) |
![]() |
Sprite data: sprite_plane (centered), sprite_plane_banked (banked).
Helicopter
Regular and advanced helicopters share the same 3x1 tile (24x8 pixel) sprite
format with 4 pre-shifted frames per direction. The advanced variant fires
missiles at the player.
| Regular helicopter |
|---|
![]() |
| Advanced helicopter |
![]() |
Sprite data: sprite_enemies_left (left-facing), sprite_enemies_right (right-facing).
Helicopter rotor
The helicopter rotor is a 2-tile wide × 2-pixel tall sprite rendered separately
above the helicopter body. Each direction has 4 pre-shifted frames for smooth
animation as the helicopter moves horizontally.
| Left-facing rotor |
|---|
![]() |
| Right-facing rotor |
![]() |
Sprite data: sprite_helicopter_rotor_left (left), sprite_helicopter_rotor_right (right).
Ship
Ships are 3x1 tile (24x8 pixel) sprites with 4 pre-shifted frames per
direction.
![]() |
Tank
Tanks are 3x1 tile (24x8 pixel) sprites with 4 pre-shifted frames per
direction. They move along river banks and fire parabolic shells.
![]() |
Fighter
Fighters are 3x1 tile (24x8 pixel) sprites with 4 pre-shifted frames per
direction. They are the fastest enemy at 4 pixels/frame, which means they
always move in full character cell increments — so at most 1-2 of the 4
pre-shifted frames are ever displayed.
![]() |
Balloon
Balloons are 2x2 tile (16x16 pixel) sprites with 4 pre-shifted frames. Unlike
other enemies, balloons have no separate left/right variants — they float
vertically.
![]() |
Sprite data: sprite_balloon.
Fuel depot
The fuel depot is a 2-tile wide, 25-pixel tall static sprite — the tallest
object in the game.
Sprite data: sprite_fuel.
Explosion
The explosion animation uses 3 frames of 2x1 tile (16x8 pixel) sprites,
played back in a 1-2-3-2 loop.
![]() |
Sprite data: sprite_explosion_f1 (frame 1), sprite_explosion_f2 (frame 2), sprite_explosion_f3 (frame 3).
Missile and shell
The player's missile is a 1x1 tile (8x8 pixel) sprite with 4 pre-shifted
frames and a separate trail sprite drawn below it.
| Missile |
|---|
![]() |
| Trail |
![]() |
Sprite data: sprite_missile (missile), sprite_missile_trail (trail).
Tank shells reuse the missile sprite data but render only 1 pixel height
(SPRITE_SHELL_HEIGHT_PIXELS). The shell explosion is a 2x2 tile (16x16 pixel)
sprite at sprite_tank_shell_explosion.
Tank shell explosion
The tank shell explosion is a 2x2 tile (16x16 pixel) sprite with 6 frames
showing an expanding diamond pattern. Used when tank shells hit the ground
or player.
![]() |
Sprite data: sprite_tank_shell_explosion.
Unused explosion (prototype)
An unused 6-frame animation at sprite_unused_explosion showing a diamond shape expanding from
a single pixel to a full diamond. Each frame is 1x1 tile (8x8 pixels) — half
the size of the tank shell explosion at sprite_tank_shell_explosion. This appears to be an early
prototype that was replaced with the larger 16x16 pixel version for better
visibility.
![]() |
Sprite data: sprite_unused_explosion.


















