ludufre.com

An original archer battle for the Super Nintendo.

2–4 players · SNES · v1.0

Three arrows each. One hit takes you out. The screen wraps around. The last archer standing wins the round.

The opening, captured from the ROM.

The game

QUIVER is an original archer-arena game for the Super Nintendo and the Super Famicom, for 2 to 4 players on the same console. It all happens on one fixed screen, at 60 frames per second. A round ends when only one archer is left standing; whoever first wins 3, 5 or 7 rounds (you choose) takes the match.

Few arrows

Every archer starts the round with 3 arrows. A shot arrow stays stuck in a wall or lying on the floor, and anyone can pick it up. Shoot carelessly and you are left unarmed.

The screen wraps around

What leaves one side comes back on the other, horizontally and vertically: archers, arrows and monsters. Your own arrows too: a shot that crosses the edge can hit you in the back.

One hit takes you out

An arrow, a stomp on the head, an explosion or a monster's touch eliminates an archer on the spot, unless they carry a shield.

The four archers

  • P1green, pointed hood
  • P2blue, feathered hat with a red plume
  • P3red, horned iron helmet
  • P4gold, circlet and long hair
Players
2 on one console · 3–4 with a Super Multitap
System
Super Nintendo · Super Famicom
ROM
512 KB · LoROM · FastROM
Region
NTSC and PAL, detected at power-on
Code
Hand-written 65816 assembly
Sound
4 songs and 21 sound effects (Terrific Audio Driver)
Saves
None. Choices last until you switch the console off

How to play

Rounds and the match

  1. Countdown. The archers appear on random starting points, 3 arrows each, and the screen counts 3, 2, 1, and nobody moves for 2 seconds. Then: FIGHT.
  2. Fight. The last archer standing wins the round and 1 point; the screen shows P1 WINS (or whoever won). With 3 or 4 archers the fight goes on while two or more are still up.
  3. Draw. If the last archers fall almost together, less than 8 frames (about 0.13 s) apart, the round is a DRAW: no one scores and another round starts. Deaths on the same frame count together, with no edge for any player.
  4. Match. When someone reaches the number of wins set in ROUNDS, the deciding blow plays in slow motion and the results screen comes up.

Every round starts from scratch: new starting points, 3 arrows each, broken blocks back in place and power-ups cleared.

Controls in a match

✚Walk · aim (8 directions)
BJump · wall jump · in the air, flap (with wings)
Y RShoot
A LDodge
STARTPause / resume
SELECTWhile paused, hold for 1 second to quit to the title

X is not used. Left and right pressed together cancel each other out (and so do up and down).

Moves

B Jump

Hold B for the full jump (about 39 pixels, almost five blocks); a quick tap gives a short hop (about 12 pixels). No double jump, unless you have wings. You can still jump for an instant after running off a ledge, and a B pressed just before landing jumps as soon as you touch down.

B Wall slide and wall jump

In the air, hold the D-pad towards a wall to slide down it slowly; B kicks you up and away from it. The wall jump still works for an instant after you let go of the wall.

Y Shoot

Y (or R) fires almost at once, in the direction the D-pad points at that moment (8 directions); with no direction, the arrow goes where you face. No charging. You can shoot on the ground, in the air and sliding on a wall, but not while dodging. Each shot spends an arrow, and with an empty quiver the bow won't fire. Arrows fly straight and barely drop; after about 1.5 s they lose power and fall.

Your own arrow, arrow clash

Your own arrow can't hit you right after the shot, but it can afterwards, so watch out for shots that wrap around the edge. Two arrows that meet tip to tip clash and drop. Aiming down while standing plants the arrow right there, ready to pick up.

Pick up arrows

Walk over a stopped arrow (stuck in a wall or lying on the floor, anyone's) to put it in your quiver. It can be picked up an instant after it stops (about 0.17 s), and only while you hold fewer than 5. Arrows in flight can't be picked up: that's what catching is for.

A Dodge

A (or L) is a quick dash of about 0.17 s in the D-pad direction (or where you face). While it lasts you are untouchable: arrows, stomps, explosions and monsters pass through you, and you can't stomp anyone either. It recharges in about 0.6 s, and in the air you get one dodge per jump (it comes back when you land, touch a wall or stomp someone).

P1 dodges into P2's arrow on Castle Keep and catches it in mid-air

A Catch

In the first 0.1 s of a dodge, an enemy arrow that touches you is caught in mid-air and goes into your quiver, and the archer flashes white. With a full quiver (5) the arrow just drops. Explosive arrows can't be caught.

P1 drops onto P2's head on Castle Keep: a stomp

↓ Stomp

Land on another archer's head while falling and they are out; you bounce up. Hold B at the moment of the stomp and the bounce becomes a full jump. Apart from stomps, archers pass through each other.

The screen edges

There are no walls at the edges: go out on the left and come back on the right, fall through the bottom and reappear at the top. An archer or an arrow right on the edge shows on both sides at once, and can be hit from either.

The scoreboard

The little score plates sit in the top corners: P1 on the left and P2 on the right, with P3 and P4 just below. Each one shows the rounds won and, underneath, one small arrow for each arrow in the quiver: white for normal ones, gold with a symbol for the special ones. The shield and wings icons show up next to it while an archer has them.

Match point on Castle Keep: P1's arrow takes out P2, P1 WINS

Tips

  • Count your arrows. Shooting the last one leaves you with only the dodge and the stomp.
  • Pick up on the way. Stuck arrows are ammo for everyone; getting there before your rival is half the win.
  • Use the edges. A shot across the edge reappears on the other side, and that goes for you too: stay out of your own line of fire.
  • The dodge attacks too. Dodge into an arrow at the right instant and it's yours.
  • High ground is dangerous. Whoever is above threatens a stomp; whoever is below gets the upward shot.
  • Explosives need room. The blast takes the shooter too: don't fire at a wall right next to you.
  • Ricochet into corners. Bounced off the ceiling or a wall, it reaches someone hiding behind a platform.
  • Stomp the monsters. A stomp kills any monster and gives you a boost; the slime leaps at the nearest archer, so use it as bait.

Chests and power-ups

With POWER-UPS set to ON, 1 or 2 chests show up each round: the first between about 2.5 and 7 seconds after FIGHT, the second a few seconds later, always somewhere you can reach. A chest appears blinking and waits, closed. Touch it to open it: the power-up's icon rises out of it and the effect is immediate. Each chest gives one power-up, and they all end with the round.

  • Explosive arrow icon: a black bomb with a lit fuse

    Explosive arrow

    +2 explosive arrows. They blow up on hitting a wall, the floor or an archer, or at the end of their flight. The blast (a 32 × 32 pixel square) takes out everyone inside it (the shooter included), kills monsters and breaks the cracked blocks of the arena (they are back next round). Can't be caught.

  • Piercing arrow icon: an arrow through a stone block

    Piercing arrow

    +2 piercing arrows. They go through the first wall they hit if it is one block thick; a thicker wall, like the floor, stops them. After that first wall they are normal arrows.

  • Ricochet arrow icon: an arrow bouncing off the floor, with a green star

    Ricochet arrow

    +2 ricochet arrows. On the first wall they bounce like a billiard ball and fly on at the same speed and can come back for the shooter. After the bounce they are normal arrows.

  • Shield icon: a light-blue shield with a gold cross

    Shield

    A bubble around the archer soaks up one fatal hit: arrow, stomp, explosion or monster. When it pops you are invulnerable for half a second. Doesn't stack.

  • Wings icon: a pair of white wings

    Wings

    3 extra flaps in the air: press B while airborne (off the ground and away from walls) for an upward push of about 3/4 of a jump. The wings show on the archer's back.

About the special arrows

  • They are fired before the normal ones, and show on the scoreboard as small gold arrows with the type's symbol.
  • An arrow chest can take your quiver up to 7 arrows (the normal limit, picking up or catching, is 5).
  • Getting a different kind of special arrow converts the special ones you still had to the new kind.
  • Odds per chest, in eighths: explosive 2, ricochet 2, shield 2, piercing 1, wings 1.
  • Careful with the wings: a B pressed in the air just before landing is spent as a flap, not kept as an early jump.
An explosive arrow blowing up at the cracked-stone bridge of Castle Keep
Explosive arrow at the cracked bridge
P1 inside the shield bubble, P2 with wings, on Castle Keep
P1 with the shield, P2 with wings
A green ricochet arrow after bouncing off the floor of Crossroads
A ricochet arrow after the bounce
P1 opens a chest on Castle Keep and the power-up icon rises out of it
Touch the chest: the icon rises

Monsters and portals

With MOBS set to ON, monsters join the arena during the round. Each one is announced by a portal (a spinning blue-and-purple ring, with a sound) that stays open for about 0.7 s before the monster comes out; while it is open it hurts no one. The first portal opens 3 to 5 seconds after FIGHT, the next ones a few seconds after the previous. Portals are only for monsters: archers can't travel through them.

  • Bat

    Flies sideways in waves (16 pixels up and down, about one wave per second), wraps across the screen edges and turns when it hits a wall ahead. It never goes through platforms: it slides over or under them. Its hit area is exactly its drawing.

  • Skeleton

    Walks slowly along the platforms and turns at walls and ledges. It falls if the floor vanishes under it, after an explosion for instance.

  • Slime

    Sits still on the ground and, every 1.2 seconds or so, leaps towards the nearest living archer.

How to kill them

An arrow that hits the monster (the arrow drops), a stomp on its head (you bounce) or an explosion. A dying monster blinks in place for a moment, harmless, and vanishes.

How they kill you

Touching a live monster eliminates the archer, unless it's a stomp. The shield absorbs the touch, and a dodge passes right through the monster.

  • Monsters score for no one. Dying to one counts as a normal death (the DIED column), and each monster killed counts in its killer's MOBS column.
  • At most 3 monsters alive at once with 2 or 3 archers, and 2 with 4 archers. A monster stays until it is killed or the round ends.
A portal opening on the floor of Castle Keep
A portal opens: something is coming
A bat flying across Castle Keep
The bat, on its wave

Five arenas

Every arena fits on one screen and wraps around its edges. The background drifts slowly; the arena itself never scrolls. In all of them every platform can be reached from any starting point, with 2, 3 or 4 players.

  • Crossroads: symmetric platforms in front of a castle at dusk

    CROSSROADS

    SYMMETRIC PLATFORMS

    The classic arena: symmetric platforms, a bridge that wraps around the edges and a central shaft that leads to the top, by a castle at dusk.

  • Castle Keep: battlements and a covered bridge under the moon

    CASTLE KEEP

    CASTLE TOWER AND MOON

    Battlements and a covered bridge on a castle tower, at night, under the moon.

    cracked blocks
  • Forest Ruins: mossy stones among tall trees and fog

    FOREST RUINS

    RUINS AND FOREST FOG

    Moss-covered stones among the trees, fog and an old broken arch.

    cracked blocks
  • Deep Dungeon: a dark brick well with chains and bones

    DEEP DUNGEON

    A DEEP BRICK DUNGEON

    A dark brick well with chains, bones and a gallery. The arena with the most cracked blocks.

    cracked blocks
  • Monastery Bell: a vaulted hall with stained glass and a hanging bell

    MONASTERY BELL

    STAINED GLASS AND A BELL

    A vaulted hall with stained-glass windows and a bell hanging in the middle.

  • RANDOM

    PICKED AT THE START

    Draws one of the five arenas when the match begins.

Cracked blocks break in explosive-arrow blasts and are back in place at the start of the next round.

Battle setup and options

When you switch it on

  1. "- ludufre - Presents". White on black, with a two-note chime. It fades out by itself in about 3 seconds; any button on pad 1 skips it.
  2. The opening. About 12 seconds in a castle courtyard drawn in perspective (Mode 7), the camera circling: two archers duel, arrows clash in mid-air, one jumps over a shot, the other catches an arrow, a white flash, and the QUIVER logo flies into the title. START or A on pad 1 or 2 skips it.
  3. Title. The logo and a blinking PRESS START. START or A on any pad opens the main menu: BATTLE, OPTIONS, ABOUT.
The menus, from the title to FIGHT!, with four players on a Multitap.

A battle in four steps

  1. BATTLE
  2. 1/4 PLAYERS
  3. 2/4 ARENA
  4. 3/4 RULES
  5. 4/4 FIGHT!

OPTIONS

EFFECTS sets the visual effects. MUSIC and SFX are a sound test: L/R pick a song (TITLE, BATTLE 1, BATTLE 2, VICTORY, SILENCE) or one of the game's 21 sound effects, and A plays it.

What each EFFECTS value turns off
EFFECTS Screen shake White flash of explosions Archer flashing white on death
ALL✓✓✓
NO FLASH✓✗✗
NO SHAKE✗✓✓
OFF✗✗✗

Accessibility: if flashes bother you, choose NO FLASH or OFF (the default is ALL). No value removes the dimming of the pause, the slow motion of the deciding blow, the brief freeze on impact or the mosaic between rounds: none of them flash. Match results are identical with every value: the option only changes what you see.

ABOUT

The ABOUT screen: Developed by @ludufre, a QR code, VERSION 1.0, ludufre.com

Developed by @ludufre, a QR code that opens https://ludufre.com (point your phone at the TV) and VERSION 1.0.

Pause

START from any player in the match pauses everything: the screen dims and shows, say, P1 PAUSED; another START resumes. While paused, hold SELECT for 1 second to quit to the title.

Results

At the end: P1 WINS (or the winner), a table per player and a menu: REMATCH (same arena and rules, score reset), MENU (back to 1/4 PLAYERS with the same players and choices) or TITLE. The cursor starts on REMATCH, so a lone START is a rematch.

WINS
rounds won
KILL
rival archers taken out (arrow, stomp or blast)
DIED
times the player died, from any cause
SELF
deaths by your own arrow or your own blast
MOBS
monsters killed
Results of a 4-player match: P1 WINS, the WINS / KILL / DIED / SELF / MOBS table and REMATCH / MENU / TITLE
Results of a four-player match

Multiplayer and the Super Multitap

Two players need nothing but two pads. For three or four, plug a Super Multitap into the console's port 2.

  • P1 uses port 1 of the console. The others go into a Super Multitap in port 2: its first slot is P2, the second P3 and the third P4 (the fourth isn't used).
  • On a Multitap with a 2P/5P switch, set it to 5P.
  • The game finds the Multitap by itself; look for MULTITAP: YES on 1/4 PLAYERS. Without it there are only P1 and P2 (a plain pad in port 2 is P2). A Multitap in port 1 is not supported.
  • Each player joins with START on their own pad.
  • Unplugged pad: if a joined player's pad disappears (or the Multitap is pulled out), the game pauses by itself with P2 PAD? (the missing player's number) and carries on when the pad is back. A START from another player resumes without them, and their archer stands still until the pad returns.
  • The detection was validated on a real console with a Super Multitap. Prefer wired pads: wireless adapters may swap buttons around or switch off when START is held.
Four players on Monastery Bell, monsters through the portals.

Screens

Tested on

Real hardware

  • Super Nintendo (NTSC): with an FXPak Pro flashcart, by the author
  • Super Famicom: with an FXPak Pro, by the author
  • Super Multitap: detected on a real console (5P switch)
  • PAL console: not tested yet. The game detects 50 Hz by itself and scales its speeds; that has only been checked in emulators.
  • Physical cartridge: not tested yet. The game uses FastROM, so a cartridge needs 120 ns ROM or faster (flashcarts are always fast enough).

Emulators

  • Mesen2: the development emulator; the whole automated test suite runs on it, final ROM included
  • snes9x · bsnes: scripted sessions match Mesen2 frame by frame (memory, screenshots)

Agreement between emulators shows the models agree, but it doesn't replace a real console, which is why the console results are listed apart.

Download

Download the ROMquiver-snes-v1.0.zip
ROM file
QUIVER (World) (v1.0) (Aftermarket) (Unl).sfc
Size
512 KB (524,288 bytes) · LoROM · FastROM
MD5
f29e7374aa79027ca8df789549422df8
Version
1.0
In the zip
the .sfc and a README.txt (controls, Multitap, credits)

How to run it

  • Flashcart on a real console: copy the .sfc to the SD card and start it from the menu (tested with an FXPak Pro / SD2SNES). Nothing special to set up.
  • Emulator: open the .sfc in Mesen2, snes9x or bsnes. For 3–4 players, set port 2 to a Multitap in the emulator's input settings.
  • Your own cartridge: untested; FastROM needs ROM chips of 120 ns or faster.
  • The game saves nothing: there's no battery RAM. Options and menu choices last until you switch the console off.

Check the file

After unzipping, the ROM's MD5 should match the one above:

md5sum "QUIVER (World) (v1.0) (Aftermarket) (Unl).sfc"
f29e7374aa79027ca8df789549422df8

On macOS: md5 "QUIVER (World) (v1.0) (Aftermarket) (Unl).sfc".

Credits and licences

  • QUIVER: an original game: code, art, music, sound effects and text made for this project. The art is drawn by code; the music and the effects are composed in MML for the Terrific Audio Driver. Developed by @ludufre
  • Terrific Audio Driver: Marcus Rowe (undisbeliever), zlib licence; a modified copy (one extra detune command).
  • unscii-8: viznut, public domain / CC0. The game's text font, and also the pixel font of this page.
  • segno: BSD-3-Clause, used only at build time to draw the QR code of the ABOUT screen; none of its code is in the ROM.