TASVideos

Tool-assisted game movies
When human skills are just not enough

Submission #5887: Mothrayas's VBoy Waterworld in 12:43.66

Console: Virtual Boy
Game name: Waterworld
Game version: unknown
ROM filename: Waterworld (USA).vb
Branch:
Emulator: BizHawk 2.2.2
Movie length: 12:43.66
FrameCount: 38392
Re-record count: 59919
Author's real name: Wout van Poppel
Author's nickname: Mothrayas
Submitter: Mothrayas
Submitted at: 2018-04-01 00:10:55
Text last edited at: 2018-04-28 12:33:17
Text last edited by: Spikestuff
Download: Download (14855 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:

VBoy Waterworld in 12:43.66 by Mothrayas


(Link to video)

Game objectives

  • Emulator used: BizHawk 2.2.2
  • Clears waves until no new content appears
  • Heavy luck manipulation
  • Shoots down several hundred people on jetskis, plus three dozen boats (total killcount: 620 enemies)

About the game

Waterworld, released by Ocean Software (heh) in 1995, is a 3D shooting game released for the Virtual Boy (also released for SNES, Game Boy and PC, and with cancelled releases for Genesis and Saturn). It has the dubious honor of being considered possibly the worst game on one of the worst game systems of all time. And to add a cherry of badness on top, it is also based on a bad movie, which also was one of the greatest box office flops for its time. In other words, we are not talking about mere regular failure - this here is a product of top-of-the-line failure. Obviously this is a perfect candidate to TAS, right?

Gameplay

Waterworld is an endless shooting game, taking place on a flat pitch-black ocean with nothing but a floating town (Atoll) in the middle. Enemy pirates on jetskis (Smokers) enter from all directions to enter the Atoll and steal its inhabitants, and particularly one girl, Enola. The player controls the Mariner (Kevin Costner) on his trimaran, with the objective to shoot down all Smokers, their relatives, and their boats, before they ram into the player until they run out of lives or everyone in the Atoll is taken away. Gameplay is divided in waves/rounds, each of which consists of a fixed amount of enemies to take down before you get bonus points for your actions and progress to the next round.

Gameplay mechanics

The player controls consist simply of shooting a bullet forward (up to four bullets can be on screen at once; there are no other firing limits), steering left or right, and accelerating forwards. It sounds simple, but the controls are so horrible that it is far from trivial.

To wit, the trimaran accelerates extremely slowly, it decelerates even slower, and steering has no impact on your movement unless you are also accelerating. As a result, the trimaran is extremely unwieldy, and it is almost impossible to go to any given position, and especially not stop at one, without spending a lot of time correcting your movements.

Since the trimaran barely decelerates, there are only a few ways to stop moving in whatever direction you are moving in: ram into an enemy (with a side effect of death), ram into an Atoll wall (this cuts your active speed to a quarter), run into the level boundary, or just turn around and accelerate the whole other way (a very time-consuming action). All of this is generally quite impractical, and combined with the fact that the player character will generally be more occupied just aiming and shooting at enemies, a lot of movement is just incidental while the main focus is targeting enemies.

As an added bonus, there is luck manipulation in this game - a lot of it, actually - to determine the spawning positions of the enemies, and there is one primary way to do this. That is, to accelerate, causing water wave particles to appear, which burns through the RNG. This is used everywhere throughout the movie, which gives the side effect that movement is mostly not actually done to move around, but just to manipulate luck. If the movement of the trimaran looks unusual or unhelpful (if you get past the fact of how horrible the trimaran controls are), it is due to this reason.

The only times acceleration movement is done exactly on purpose are when there are no new enemies to spawn in, such as between worlds. During this time, the general strategy is to make sure that the player moves towards the center position as a round is about to start, to minimize distance to the initial round of targets, while moving towards the center to minimize overall distance to the next targets.

Enemy spawning

Enemy spawning follows a few rules. Firstly, there is a cap of 10 enemies on screen at once. Any enemies beyond that are queued up, based on their type, with lower-graded enemies taking priority to spawn first. Once all enemy type queues are empty and no enemies are left on screen, a round is considered completed.

The spawn location of enemies at a semi-random point in a circle surrounding the level field. While it is mostly manipulable, there are restrictions, and a given enemy typically only has about 4-5 positions it can be manipulated to spawn at. This is usually good enough to get an enemy in a close or at least convenient position, but sometimes no really good options are available and an enemy has to spawn a bit further out of the way, and sometimes be left for later.

There are five types of enemies:

  • Smoker - basic jetski enemies. They try to kidnap Atollers and Enola. Killing one gives 100 points. They appear from round 1 until round 7.
  • Berserkers - like Smokers, but faster. Killing one gives 200 points. They appear from round 2 until round 14.
  • Thrashers - like Berserkers, but faster still, and they can do jumps in the air sometimes. Killing one gives 300 points. They appear from round 9 to round 21.
  • Seekers - the ultimate jetski enemies. They jump much more frequently than Thrashers. Killing one gives 400 points. They appear from round 16 on, in increasing numbers every round (with a maximum of 32766 Seekers on round 16399).
  • PT Boats - Boats that tend to crash into atolls or the player, but that otherwise do not target Atollers. In general they just sail around in circles. Killing one gives 0 points, but they are still considered enemies, counting towards the spawn limit and needing to be defeated to end a round. They appear every other round, increasing their number by 1 on each appearance. (So 1 boat in round 2, 2 boats in round 4, 3 boats in round 6, etc.)
  • Tracker Sharks - They spawn somewhat randomly, and are invincible, but shooting them slows them down for some time. They can kill Atollers or the player. They do not need to be defeated to end a round, and if they are present on round end they will just leave. They start appearing from round 4 on.

The Atoll

Every round, Atoll structures are (re)generated in the center region of the playing field. These structures block shots, but can be destroyed with multiple shots or by ramming into them. Shooting one also advances the RNG, but since this wastes valuable shot time, this is practically never worth it. Shooting one to destroy it can also be done in case it is in the way for an enemy, but this also wastes time unless really no better option is available. Generally it is better to move around and weave shots around them instead. For this reason, sometimes it may look like shots are done in a weird order, with the trimaran wiggling back and forth; often, this is done because an Atoll structure would block shots otherwise.

Ramming into an Atoll structure destroys it, while also cutting the trimaran's speed to a quarter; this is useful on occasion to help changing the trimaran's momentum, considering its very slow deceleration otherwise.

Enemies, particularly PT Boats, can also destroy Atoll structures, which is used a few times to clear up room for shooting.

End-of-game bonus screens

After every round, the game camera orients back to a default top-down angle, moves to the center of the game area, and various scoring bonuses are awarded. Afterwards, the camera rotates to face the player direction, then rotates down and zooms in on the player again as the next round starts.

The following bonuses are processed every round:

  • Atoller bonus: Bonus points awarded for every atoller still alive. (100 points per atoller)
  • All atollers saved: No atollers have died. (500 points)
  • You survived: Player did not die. One atoller is added to the game. (1000 points)
  • Hands off bonus: No atollers have been captured by an enemy. (500 points)
  • Enola saved: Enola has not been captured. If Enola was saved, a picture of Enola is scaled onto the screen. If not, a picture of the Deacon (the leader of the Smokers) appears instead.
  • Enola multiplier: Adds one multiplier for every round in which Enola was saved (capped at x8). If Enola was not saved, the multiplier resets to x1.

Interestingly, many of these between-rounds screen elements actually do not cost any time to get. Even when the camera does not need to move at all, the game always takes up 50 frames for it regardless, and bonuses like the Hands off bonus only fill up dead time that the bonus screen would otherwise be wasting regardless. The only bonus screen factor that is really significant to optimize is camera rotation - hence it's crucial to ensure that the trimaran faces exactly north both on the start and on the end of reach round. Death and killing off atollers theoretically would speed up the bonus screen, but both (especially atoller death) take far too much time to do to be useful.

Fun fact: the total bonus is stored as an 16-bit signed integer value, and then applied. At 21 Atollers and all bonuses with the maximum multiplier, the total score becomes 32800, which is then processed as -32736, and score is actually removed from the player. Um, thanks?

Goal

This game is endless, and rounds go on effectively indefinitely. Strictly speaking, the game cleanly loops after 65536 rounds (there are no crashes or kill screens), but this is not a viable clear point - it is way past any sort of intended play length (the best known record of this game is 11 game over on round 16 by MadMatty (thanks GJTASer2018 for mentioning) ), contains chunks of rounds where no enemies will appear in a wave at all, and other chunks of rounds where literally tens of thousands of enemies need to be defeated to clear a round. A movie like this would have a runtime of many thousands of hours. Obviously, this would not be a reasonable goal, so looping is reasonably out of the question.

The Vault rules postulate that a game can be considered finished when no new content appears and the difficulty stops increasing. However, this game also never really stops increasing in difficulty. At a certain point, the game just keeps on tacking on more enemies, strictly speaking increasing with difficulty every round, but also again going past reasonable limits when eventually the rounds contain tens of thousands of enemies again, all the way up to having 32784 enemies in one round, at round 16399. This would again have a runtime of thousands of hours, so it is again reasonably out of the question.

So, as neither a definite loop nor difficulty provide reasonable grounds on when to end the movie, what's left is ending the movie when no new content appears. This happens at round 16, the first round in which Seekers appear. All subsequent rounds after this do nothing but trade out Thrashers for Seekers and/or increase the amounts of Seekers and/or PT Boats that appear, so they do not bring anything new to the table. As such, I decided that ending the movie after clearing round 16 is the best and most reasonable way to end this movie.

Final comments

Screenshot: TODO (any suggestions?)

Thanks for watching!


feos: OH BOYging underway.

feos: It was probably crazier than I expected.

Effort behind this movie is notable. Because there's no clear ending definition for this ever-looping game, the author has dumped information about how many enemies the game will spawn for each wave. I mirrored it for the reference. This file shows that enemy spawns are changing all the way until the wave counter overflows 0xFFFF. There are only a few enemy types, and there's a limit to how many can exist on the screen at once, but there's no info about any clear pre-programmed difficulty cap, and arguably, no explicit value responsible for difficulty either: only spawns change a bit.

The previous version of the rules required that such games must be played until difficulty maxes out. But it clearly never considered a case where reaching the most difficult enemy wave would take several years. Which is the case with this game, as it doesn't care about difficulty explicitly and only uses some algorithm to generate enemy waves procedurally depending on round counter alone (which does overflow eventually, as said above).

So since the rules didn't say that such movies were rejectable, and publishing such movies is unrealistic, we had to revise the rules about game completion requirements and make them less moot. After discussing this among staff, we came up with a reasonable solution that is more inclusive, less restrictive, and more thorough:

Since this game loops endlessly, and has no explicit difficulty cap whatsoever, we rely on new content when deciding where it should end. And as shown on the wave list above, new content stops appearing after wave 16: all enemies have showed up at that point.

Note that unlike some people might think, this change in the rules and my judgment were not enforced simply to accept this submission. It's the other way around: this submission makes some controversial points that our former rules weren't able to resolve in a practicable manner. So we discussed the questions like "Should movies like this one become acceptable, and on what basis?", not "What should we hack to make it acceptable?".

I don't think there's any need to describe why it is a Vault only game. Accepting,

Spikestuff: Curls into a ball. The face... is horrifying... Publishing...


Similar submissions (by title and categories where applicable):