Among the many ports of the original Contra to various systems, this one, released for the MSX2 in 1989 (Kontora in Japan), can be found. The game differs in quite a few important ways from most of its twins: Most importantly, there are added stages and you've been given a life bar. This movie aims to complete the adventure of the musclebound dude with the magical color changing pants as fast as possible.

Game objectives

  • Emulator used: Multiple, though it should sync fine on openMSX 0.8.1 RC2. Get the latest builds here: http://openmsx.fixato.net/
  • BIOS used: Panasonic FS-A1WSX
  • Takes damage to save time.
  • Manipulates luck
  • Genre: Platform

Comments

After having finished Vampire Killer, I looked around for a few other possible MSX games to TAS. At first, Contra seems simple enough, run right and shoot things. In addition, the completion time was considerably shorter than Vampire Killer, so, eventually, using a run of Vampier's as a base again, in the matter of a few weeks, I created a testrun at 12:56. With far better lag management, optimization and better knowledge of the game mechanics, I manage to improve 155 seconds over my testrun, with a final time of 10:21. Creating this run was far more work-intensive than Vampire Killer. Whereas I started and finished the final run of that game within a few days, Contra took me far longer. Typically, a single stage might very well take 2 - 3 hours to do. I also had school to deal with, so typically I'd do most of the work on the weekends. The game is also far harder to optimize due to more precise movement required and very random lag. To elaborate somewhat:

Movement

Your X Speed depends on the blimps you collect. In addition to making you more resistant to damage, they also boost your movement speed upwards to 4/3px a frame if you collect two of them. Walking, jumping and falling off ledges are equally fast, but later in the game, doing jumps makes you more susceptible to lag. While jumping up a shaft (Stages 4, 18), if you jump into the next screen from a higher ledge, you have more vertical momentum, which allows you to reach higher ledges without having to land on a lower one first. This influences my route choice in those levels, losing a few frames by jumping onto a higher ledge instead of straight into the next screen. Unlike the NES Contra, it is possible to adjust your jump height. Falling down shafts typically is more simple. If you press Down + Jump on the first frame you can, you won't lose any speed. As with many games, you land on the ground faster if you jump down a ledge instead of walk down it, though, after some time, you will enter your normal falling animation again.

Shooting

If you pick up an additional weapon, you first go through a small menu, allowing you to pick one. The Standard Peashooter is my weapon of choice for this run, as the machine gun isn't needed thanks to frame precision, the rear and fire guns have no use and the laser is too slow. You can only have six bullets onscreen at a time, so often, you'll find me doing a jump, firing six bullets, and jumping again as early as possible. In underpass/maze stages, if you cover what you want to hit with your sprite, the bullets reach their target instantly as opposed to travelling there first. Typically, shooting creates lag, its severety depends on how busy the screen is. Later in the game, removing sprites by shooting them cuts enough lag in itself to make this viable.

Getting Hit

Getting hit typically boosts you in the opposite direction at an impressive speed. Getting hit while jumping will often send you upward in addition to back, and falling downward. However, you'll lie on the ground for a couple of frames, nullifying the gain. Two exceptions arise to this: In Stage 8 (Energy Zone), you typically have to wait for the fire wall to pass before being able to go through. By intentionally getting hit, I can skip the wait and just wait for the recovery time to run out. The second exception is in descent-stages (10, 16). Because the recovery time runs out before I can land again, I don't lose any time, able to instantly jump down the next platform I land on. Your control over the direction you're boosted in is limited and dependent on the direction you approach a hazard from. Your life isn't replenished at the end of a stage, so it can be treated as a finite recourse.

Lag

Oh, the lag. Part of what makes it so annoying to deal with is that it is very unpredictable and very unavoidable. Many different things can cause lag, such as the turrets turning, but typically, you want to have as few sprites on screen as possible and don't want to have any tiled background elements change their appearance. (Turrets turning, opening up) Due to its screen-based nature, it is possible to just try out the screen a couple of times to find the most lag-free route, but that eats up time, is annoying and it's very difficult to verify a given screen cannot be completed any faster. Boss fights are also made more difficult by lag, because the game often won't act the way you want it to. Often, input feels very sluggish and unresponsive, and almost even worse, if bullets are grouped too closely together, they can pass through the target if the game is laggy.

Enemy Rundown

Here you find a list of enemies in order of appearance and how I deal with them in the TAS. Bosses are explained in the level comments.

Standard Mook

The most common and elaborate enemy in the game. Many screens in the game have them spawning randomly at either 2, 3, 6 or 7x23 frames. Unless there isn't enough going on in the screen to make lag an issue, I manipulate them to spawn less frequently. If you are in their line of fire, they stop to take a shot at you, otherwise, they run back and forth. If they come to a ledge, they can either jump to the next ledge or turn around and keep running. This can be influenced by facing them or not. The exact best strategy to deal with them depends on the screen.

Turret

Probably the enemy that caused the most anguish during the making of this run, Their starting rotation can be manipulated during screen transitions. If you are in their line of fire, they can take up to three shots at you, otherwise, they rotate in your general direction. Since that rotating causes lag, it is best to avoid any unneccesary rotating. They are also near ubiquitous in the game, some screens feature up to three of them in one screen. A nightmare to manipulate and optimize! Interesting to note: Moving to the top of the screen makes the turrets face downwards, because your y position seems to overflow.

Cannon

Rolling Bombs

Bomb Throwing Diver

I move far too fast for you to even see him. Too bad, no?

Robots

Pretty analogous to the Standard mook, only they do more damage.

Thrown Bomb

You can manipulate their position on the screen by jumping. Typically, however, it is best to just run past them.

Machine Gunner

They can also be very unpredictable when it comes to lag. Thankfully, you only can find them in two stages. Keep in mind their bodies are part of their hitbox, so at times, it is necessary to shoot one to get past him.

Fire Wall

Please note that their collision is hideously off, which is why I do such a large jump in the second Room of Stage 8. At one point, I avoid waiting for it to let me pass by just getting hit.

White... things

I'd give them a better name, but my imagination fails me. There isn't much to say about them, really.

Organ... things

They spawn from their hives at fixed intervals which can be manipulated like the mooks', after which they move up or down on the screen.

Beetles

They are absolute lag machines wherever they appear. As with the Organ... things, their spawning is dependent on a timer. Often, shooting them cuts a bit of lag.

Spheres

You find them only in descent-stages. As you pass them while falling, they start chasing you. If you're too close to them, you get hit, so typically, some distance to them is required, though they typically fly higher if you're facing away from them.

Upward Cannons

Magma Wall

They spawn at fixed places in the screen and their height depends on how busy the screen is at the moment.

Mutants

Floating Mutants

Once again, their spawn timer can be manipulated. It is more efficient to shoot them, jumping over them is tricky, because they rise up and hit you.

Stage by stage comments

Stage 1 -Asphalt Forest-

Very straightforward stage, I get two blimps here to boost my speed. I've found the boss can be hit best by dropping down the ledge in the screen beforehand. Each Turret takes 8 hits, the gate 25.

Stage 2 -1st Underpass-

You always have to shoot a green glowing gate to continue, as turrets attempt to pelt you with their projectiles. Also get used to that big, hexagonal gate. You'll be seeing it in this game for quite a few times. Each gate takes 9 hits, the big gate takes 25.

Stage 3 -Homicide Censor #1-

I have to wait until the shields open. Most censor battles follow the same formula: Shoot every gate/turret, then a big thing appears that fires projectiles at you. As you'd expect, they can be manipulated in during the screen transition. I am very pleased with how the fight turned out. Each green gate takes 4 hits, each turret 9, and the censor himself 49.

Stage 4 -Hell Fall-

You can only damage the turret while its open, and, as with Stage 1, the gate after the turret is destroyed. The Turret takes 13 hits, the gate 25.

Stage 5 -2nd Underpass-

Not much to mention here.

Stage 6 -Homicide Censor #2-

Unlike the other Censors, you only have to shoot the green gates to make the censor himself appear. I kill the robots early on because they'd just get in the way otherwise. You have to kill the Censor himself fast, because otherwise, he'll be invincible for a long time, forcing you to wait. Thankfully, with tool assistance, that is no problem. Censor himself takes 17 shots.

Stage 7 -Tundra Area-

A very annoying stage, because it's very heavy on the bosses. The UFO, for some reason, makes the game lag quite badly, though it's pretty straightforward to deal with. Only thing to note, I can't pass the explosion on the floor any earlier. The tanks' hitbox is placed very low, so even if you hold the jump button for only one frame, at the peak of that jump, the bullets just fly over it. As usual, the collision for the tanks' projectiles is very off, allowing me to get inbetween the shots. It is impossible to pass the screen while the UFO or one of the Tanks is alive. I manipulated the Robot at the end not to move, because him moving causes lag. UFO takes 33 hits, both tanks 28 and the Robot takes 49 hits.

Stage 8 -Energy Zone-

The fire bars' collision is unbelievably off, which is why I do such a high jump in the second screen. I get hit because that is the fastest way past the fire bar. Normally, I'd be blown back, but by jumping a few frames before getting hit, I get boosted to the right instead. The robot fight is identical to that of Stage 7.

Stage 9 -Alien Zone-

A rather simple stage. Again, it is impossible to pass while the Alien Head is alive. At one point, shooting one of those organ things cuts a frame of lag. The heart boss is very annoying because it has a small hitbox and the game lags very badly. I had to delay some of my shots to avoid them simply passing through because of that. Both bosses take 17 hits.

Stage 10 -Cavern-

Getting hit saves about 14 frames. I tried to do it in other places, but it wasn't efficient anywhere. You can't drop down to get any closer to the gate. Also, it was very difficult manipulating the turrets at the boss to act favorably. Essentially, the rightmost turret is manipulated to face the bottom right the entire time and the two middle turrets can't shoot me due to their positioning.

Stage 11 -1st Under Maze-

This stage is indeed a maze. Taking a wrong turn can leave you running in circles. The ideal route through is demonstrated in this run.

Stage 12 -Homicide Censor #3-

A very peculiar boss. Destroying one of the gates kills the entire censor, the catch being you're not told which one. However, it can be manipulated, allowing me to choose the one that opens earliest. The gates take 17 shots, if they're vulnerable.

Stage 13 -Magma Area-

Pretty straightforward to look at again. If you see me behaving oddly, usually that was because it resulted in the least amount of lag.

Stage 14 -2nd Under Maze-

Pretty much the same as Stage 11.

Stage 15 -Homicide Censor #4-

A very difficult boss to deal with, because you got eight turrets to deal with. I managed to manipulate them however in a way they wouldn't close on me, allowing me to finish this fight without waiting for any turret to open. The timing window I had to do this was just a few frames. As such, this is one of my favorite moments in the run.

Stage 16 -Underground Fall-

The fastest way past the first upward cannon is to shoot it. I damage boost once again, to save about the same number of frames, after which I move to the right of the screen because that causes the least lag. The gate is very tricky to destroy because the spheres keep closing in on you. Because of the lag delaying my ability to shoot, I again only had a few frames to do this before getting hit.

Stage 17 -Magma Area-

Pretty much the same as Stage 13. The second to last screen was very tricky because between the turrets turning, firing and the magma walls rising, it is difficult to determine what causes the least lag.

Stage 18 -Underground Fortress-

I am very satisfied with this stage as well. Once again, lag was difficult to deal with, though I think I've managed well.

Stage 19 -Vicious Space-

By this point, the game truly becomes insane with the lag. It is difficult to predict, sometimes, shooting something cuts lag, other times it doesn't. I manipulated the organ things' and beetles' spawn timers as well as I could. At one point, I even turn around to shoot a beetle, which cuts ~2 frames of lag. The final boss is guarded by organ things and beetles, one of which I have to shoot so I don't get hit. In addition to this, it fires bullets at you. However, after 65 shots, the game is won, as you get treated to the epilogue.

Other comments

Useful Ram Adresses

  • 0xe32a - Y Position
  • 0xe32b - X Position
  • 0xe50e/0xe51e/0xe52e (and so on) - Spawn timer regulation for bad guys/Turrets' bullets on screen
  • 0xe50b/0xe51b/0xe52b (and so on) - Boss health. Keep in mind that it's counted by how many bullets have hit it.

Special Thanks

  • Vampier - Once again, he created a great (though incomplete) testrun, which showed that this game had TASing potential and was different enough from its NES twin to begin with.
  • Quibus - He gave me a lot of support when making the run, which also helped me to get through this
  • ferretfaucet - For having taken it upon himself to create an encode
  • Everyone else who commented my WIPs, especially in the IRC channel - You cool, yo!
  • Everyone else who I might've forgotten

Possible Improvements and Closing Comments

Due to the unpredicatbility of the lag, it's near impossible to tell whether some screens are as optimal as they could. I tried every screen until I was certain it couldn't be completed any faster, but of course, it's always possible. Also, going into the underpass/undermaze stages, originally I didn't understand covering a gate with your sprite makes you hit it instantly, so that's where you can also look for improvements. Overall, however, the run took a lot of effort, and I hope it reflects when watching the movie. By the end, creating the run felt more like a chore than anything, but I feel the end result is well worth it. I hope you enjoy watching this movie, and if you have any questions, once again, I'll be happy to answer.
~ scrimpy

Flygon: Added higher quality YouTube module.

Nach: This has got to be one of the most boring Contra games I've seen. But scrimpeh, wow, you really crushed this game, and did a wonderful job with what you had to work with, nice job! Accepting.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15558
Location: 127.0.0.1
This topic is for the purpose of discussing #3030: scrimpeh's MSX Contra in 10:21.37
Emulator Coder, Player (31)
Joined: 4/24/2010
Posts: 73
Location: California
Nicely done, certainly this makes a mockery of the 'Red Falcon' army. I have played this games for several decades already and I never even knew I could do some of these things you are demonstrating here.
MSX Game specialist / openMSX team member
Joined: 1/27/2011
Posts: 78
Location: Minnesota, USA
Edit: Removed until youtube stops being a bitch.
Joined: 12/11/2010
Posts: 60
Too bad all of these "alternate" MSX famicom games don't have scrolling. In any case looks good.
mth
Joined: 10/31/2010
Posts: 5
Location: Eindhoven, the Netherlands
MrTickles wrote:
Too bad all of these "alternate" MSX famicom games don't have scrolling.
On MSX2, in character mode (SCREEN4) horizontal scrolling is easy. But then you can only use two colors per 8 horizontal pixels. In bitmap modes (SCREEN5-8) you can use more colors but there is only a hardware scroll in the vertical direction. Apparently Konami didn't want to make the effort to program a horizontal scroll in software for Contra MSX2. In for example SD Snatcher they did.
openMSX developer
Player (184)
Joined: 12/24/2010
Posts: 144
Location: Brazil
Comparing to others plataforms title the game is ridiculous... also there were times you couldnt even shot and you should be caught by lag,however, the TAS is well done and hope this one becomes a challenge. Yes from me.
My main objective here is to TAS the most obscure games titles!
Active player (437)
Joined: 4/21/2004
Posts: 3517
Location: Stockholm, Sweden
The constant fadeouts were annoying. But the tas itself was pretty cool. Throwing in a yes vote.
Nitrogenesis wrote:
Guys I come from the DidyKnogRacist communite, and you are all wrong, tihs is the run of the mileniun and everyone who says otherwise dosnt know any bater! I found this run vary ease to masturbate too!!!! Don't fuck with me, I know this game so that mean I'm always right!StupedfackincommunityTASVideoz!!!!!!
Arc wrote:
I enjoyed this movie in which hands firmly gripping a shaft lead to balls deep in multiple holes.
natt wrote:
I don't want to get involved in this discussion, but as a point of fact C# is literally the first goddamn thing on that fucking page you linked did you even fucking read it
Cooljay wrote:
Mayor Haggar and Cody are such nice people for the community. Metro City's hospitals reached an all time new record of incoming patients due to their great efforts :P
Synahel
She/Her
Former player
Joined: 1/19/2011
Posts: 260
Location: France
I can't understand how he can avoid these bullets, great run, yes of course.
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Yes vote & a question: When we'll see C64 TASes?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Joined: 7/2/2007
Posts: 3960
My only question is why in the labyrinth levels, sometimes you stood on the floor and shot upwards, and sometimes you jumped upwards and shot in mid-jump. Given that you say that jumping causes the bullets to hit instantly, why wouldn't you always jump? Otherwise, looked good. Nice work!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Joined: 1/27/2011
Posts: 78
Location: Minnesota, USA
It took forever, but here's my actual encode: http://www.youtube.com/watch?v=6jPHqFyQJks
Player (71)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
Nice run. Didn't like the emulator though, but thats not your fault. :D Cheers.
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2227
Location: Georgia, USA
This is definitely a strange version of Contra, though it's pretty entertaining in its own right. The names are pretty funny, like "Homicidal Censor" and "Vicious Space". Good job fighting the lag, too. I'll vote Yes.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Editor, Emulator Coder, Active player (264)
Joined: 10/17/2010
Posts: 124
Highness wrote:
Nice run. Didn't like the emulator though, but thats not your fault. :D
Feedback welcome! The biggest issue is probably that it has no or only an outdated GUI. The plus side is, we did our very best to make the command line interface inside openMSX (press F10) as comfy as possible. It has completion, help and a pretty complete manual. You can always join us on IRC and I'll be happy to guide you around some initial hurdles you may encounter. Worked for FerretFaucet.
Player (202)
Joined: 1/24/2011
Posts: 108
Very nice run of a rather odd version of a classic. Yes vote from me.
Rayas wrote:
Dunno if I'm really clear. I need to drink more.
<br>
adelikat wrote:
The idea was to kill off my family to avoid lost time to them getting sick and other inconvenient things.
Joined: 2/6/2011
Posts: 130
The stage 10 (caverns) remind me of the last stage of Earthworm Jim (Buttville) for some reason... Anyhow, nice short movie, voting Yes.
Joined: 5/29/2004
Posts: 757
Voted meh. Honestly? I got bored watching this, and it's not really Scrimpy's fault per se. The lack of proper scrolling made me want to vote No as it just got absolutely annoying as hell.. but the fact there was a bit of diversity and it was indeed speedy [In some cases stunning how fast some of thosr bosses bit the dust] made it just BARELY scratch a meh. I know the platform is limited in what it can do.. but still.. not that great of a port. Interesting at times though.. Mr. Kelly R. Flewin
Mr. Kelly R. Flewin Just another random gamer ---- <OmnipotentEntity> How do you people get bored in the span of 10 seconds? Worst ADD ever.
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
Editor, Skilled player (1438)
Joined: 3/31/2010
Posts: 2108
Hey, I am amazed by how well the submission is doing, thanks everyone. Derakon, it depends on how far up the gate sits. If it's close to the ceiling, I can't reach it with a jump
Joined: 12/19/2010
Posts: 126
a NO for me, because there is already a Contra game and that is almost 1,5 minute FASTER then this run http://tasvideos.org/797M.html is the run i'm talking about
live life
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
I liked this run. Not much more to add actually. Votes yes.
Editor, Emulator Coder, Active player (264)
Joined: 10/17/2010
Posts: 124
Um, flezki, that run is not comparable to this one... It's a completely different port of the game.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15558
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [1756] MSX Contra by scrimpeh in 10:21.37
Reviewer, Active player (286)
Joined: 12/14/2006
Posts: 717
The audio sync in the mp4 seems a bit off. You might want to add delay (maybe about half a second).