News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Revenge of the Red Falcon - Contra Hack - 8th Edition  (Read 7450 times)

Trax

  • Hero Member
  • *****
  • Posts: 517
    • View Profile
    • Trax ROM Hacking
Revenge of the Red Falcon - Contra Hack - 8th Edition
« on: February 11, 2014, 02:58:40 am »

Revenge of the Red Falcon. One demo for each level. This is the last one...

Last but not least, Alien's Lair, with its weird decor and unique enemy set. A few screens are done and I started working on some ASM tweaks. I can't really predict the level's final length, but it will be longer than the original, for sure. I don't know if I will change the level's name, but if you have any ideas, throw them here. In this level, no more soldiers, no more cannons. Only foetuses and ugly mouths. I think this level has the smallest choice of enemies of all. You have yellow foetuses, that can become a pain when in great numbers. The mouths stuck in the walls that spit white sentient blobs, dangerous if you let them accelerate. Then, there's the Guardian, a huge appendice hanging from the ceiling with a big mouth at the end, that spits foetuses and has a lot of HP. Alien Spiders can trick you with their speed or by jumping from the ceiling. And finally, the Heart, that does nothing. The real threat is the accompanying Spawns that spit Spiders constantly...

Actually, the number of new enemies is similar to the other levels, but all the basic enemies (code < 0x10) are not accessible. Well, technically, you can lay down any enemy you want (in any level), but you'll end up with glitched tiles...

Another particularity of this level is that most enemies have HP that is calculated according to a few parameters: the strength of your weapon and the number of times you've beaten the game, arcade-style. Your weapon's strength code is a value (0-3) determined by a table located at 0x1D49B in the ROM. The regular gun is weak (0), F is medium (1), M and L are strong (2) and S is very strong (3). This makes the game more balanced by making enemies more resistant when you have a strong weapon. Each enemy type has its own calculation...

Both the Gardian and the Heart have their HP calculated in this way:

(Weapon Strength Code * 10) + 37 + (Completion Count * 10)
If the result is >= A0, HP is capped to A0 (A0 = 160 decimal)

Alien Foetus HP = 2 + Completion Count
Alien Mouth HP = Weapon Strength + 3 + (Completion Count * 2)
White Sentient Blob HP is always 1
Alien Spider HP = Weapon Strength + Completion Count + 1
Spider Spawn HP = (Completion Count * 2) + (Weapon Strength * 2) + 18

I'll try to avoid making the level too repetitive and make up for the lack of various enemies and the limited tile set of the background. Bosses will surely have a few tricks up their sleeves...

When this level is completed, I'll make a big last revision of everything that was done since the first demo. I'll review the balance of the game and correct glitches and bugs, if any. Maybe I'll tweak the colors in some levels, to make it more unique throughout, like I did with the Intro screen. I will also decide on some more general programming, like starting lives, extra lives, difficulty settings, ending text, etc...

As usual, your comments and suggestions are welcome, and if you have any questions on the game or its development, please ask...

PolishedTurd

  • Full Member
  • ***
  • Posts: 135
    • View Profile
Re: Revenge of the Red Falcon - Contra Hack - 8th Edition
« Reply #1 on: March 19, 2014, 10:19:57 pm »
When you break it down like that, it is kind of an anticlimactic stage. Maybe there is a way to spruce it up though. There is a level in the Sega Genesis version of Contra where a huge swarm of flying monkey-oids comes at the player(s) constantly from the right. I remember using the Wolf Man and his big blast cannons to just barely keep them at bay. It was surprising how tense it was. Even though the enemies were unsophisticated and weak, the sheer number of them and the small margin for error made it tense and exciting. That might be an angle to try. Or you could somehow monitor the player's rate of horizontal progress through the level, increasing the difficulty (more enemies, faster enemies, enemies that attack from a more direct line) if the player is too plodding and careful. So you would effectively force the player to run forward with guns blazing. Or present the combination of slow, determined seeking enemies with faster, less intelligently seeking enemies.

Have you ever played Geometry Wars Retro Evolved II on Xbox360? If not, search for it on youtube. It's a Robotron-style game. There is a green enemy that homes in on the player but quickly dodges bullets fired in its direction. So you have to either pin them to a wall with a stream of fire and sweep it into them, or gun directly at them with speed and great accuracy. The Contra projectile physics are not as robust as in Geometry Wars RE2, but you could do something similar. That game is a textbook in the gameplay dynamics that can emerge from combinations of simple mechanical enemies.

Good luck and thank you as always for sharing.

mrrichard999

  • Hero Member
  • *****
  • Posts: 686
  • So Goooood! :D
    • View Profile
    • GameFAQS Profile
Re: Revenge of the Red Falcon - Contra Hack - 8th Edition
« Reply #2 on: April 02, 2014, 01:25:00 am »
I was just checking out this vid on the MSX version. If its possible make an adjustment to the final boss to where it fires out projectiles like in the MSX version and possibly redraw it to look like the MSX version too? :) Instead of that being the last stage, how about an escape level where its like that snow climb level you made with a timer. Throw everything you got at the player as they try to make there way out alive! :D

http://www.youtube.com/watch?v=5Maej5IvbqA

Trax

  • Hero Member
  • *****
  • Posts: 517
    • View Profile
    • Trax ROM Hacking
Re: Revenge of the Red Falcon - Contra Hack - 8th Edition
« Reply #3 on: April 03, 2014, 02:31:07 am »
Thanks for your comments, guys. I intend to make that last level at the height of the entire hack. But I'll try not to postpone the final result too much, because, as you already know too well, possibilities are virtually infinite, and you can always think of something else to add...

I like the idea of generating enemies out of nowhere to keep the player on the spot at all times. As for the volume of spawning, I think the major drawback is the potential slowdowns caused by too many sprites on the screen. So far, I didn't see significant lag in any of the levels. And there's also the limit of 8 sprites on the same scanline that can cause unwanted flickering. The NES has these limitations that other systems may not have...

I should also adapt the speed of spawning to the gun's strength code, so as to not overwhelm the player either and make the level impossible. As for ASM code, I'll do the best I can as usual, and make sure the player will have a hard time...

It's also a funny coincidence that you brought the idea of the last boss attacking by itself, because I've had this idea in mind for a long time, even though I didn't know the MSX version did that. Other than spawning enemies, the original Heart is quite defenseless when you think about it...

I thought about integrating the Mountain Special level, or a variation of it, into my hack, but if I realize it would be too much work or too risky code-wise, I'll pass, even if it's a very interesting idea...

In the Mountain Special, I could afford to "sacrifice" some functionality, because the hack is meant to be a single, stand-alone level. In that particular case, it's the Flashing Eagle item. I intentionally flushed its related routines and replace them by my own code to make it the final target. If I do that with RofRF, it represents yet another challenge, because by default, the Flashing Eagle is used everywhere as intended...

I'll keep you informed on my progress...

Trax

  • Hero Member
  • *****
  • Posts: 517
    • View Profile
    • Trax ROM Hacking
Re: Revenge of the Red Falcon - Contra Hack - 8th Edition
« Reply #4 on: May 20, 2014, 03:57:58 pm »
I took one of Polished Turd's suggestions and made a functional routine. For now, it spawns only White Sentient Blobs, which are fitting for the situation since they don't really need any specific initial location, and they are mobile in all directions. It could be randomized to include Alien Foetuses...

See these two videos to get an idea of the result so far:

http://www.bwass.org/romhack/contra/enemyspawn04.mp4
http://www.bwass.org/romhack/contra/enemyspawn05.mp4

The routine I made is bridged directly to the enemy spawn routine, that first makes a bank switch to bank 02, checks if the scrolling of the player reached any enemy's X position, and if it does, initializes the enemy and show it on screen, if an enemy slot is available. My routine first checks if the current level is level 8, and I also decided to prevent spawning to happen in the first screen...

Then, I realized the randomization system is very cheap. The only variable used for randomization is $34. This variable is reset to 0 at the beginning of a demo level. There's also another variable, $1A, that permanently decreases by 1 every frame. This frame counter is used in many places, to time various cycling animation events. The only time when $34 is modified, the game engine adds the value of $1A to $34. Nothing else. For all practical purposes, it does the job, but in my case, it simply means that the value of $34, while not strictly previsible, is still subject to a cycling "pattern". Anyway, it's just a detail...

So to make the spawning not too overwhelming and constantly topping the 16 enemy maximum slots, I have to make the randomization restrictive. In the videos above, I used 2 different coefficients: 04 and 05. That value, which could be modulated according to Weapon Strength Code, for example, is used like this. Every frame, a random number is taken from $34, and if it is lower than the coefficient, an enemy is created, at X location F8, and random location Y. So the value 04 translates to a probability of 4/256, or 1/64, every frame, 60/64 for 60 frames, which is roughly one per second on average (0.9375 spawns per second, to be precise). A value of 05 means 1.17 spawns per second. Adjusting this value to the Weapon's Strength Code could make a reasonable challenge if you have only the Regular Gun, but make it Hell if you have the S Weapon...

If you have any suggestions, let me know...

mrrichard999

  • Hero Member
  • *****
  • Posts: 686
  • So Goooood! :D
    • View Profile
    • GameFAQS Profile
Re: Revenge of the Red Falcon - Contra Hack - 8th Edition
« Reply #5 on: May 21, 2014, 01:56:49 am »
Hey is there a way to alter the Fire Weapon to change it to the Contra 3 Flamethrower or worst case the Fire Shot from Super C? The original fire gun really sucks :P Not sure if that code could be copied from its successor or something better could be implemented. :)

Trax

  • Hero Member
  • *****
  • Posts: 517
    • View Profile
    • Trax ROM Hacking
Re: Revenge of the Red Falcon - Contra Hack - 8th Edition
« Reply #6 on: May 25, 2014, 03:45:35 am »
That would be an interesting exercise, but also a very intensive ASM exercise, that involves programming a brand new weapon. On the other hand, after increasing the number of bullets allowed on screen from 4 to 8, I found the F Weapon a lot more powerful. One of the (often overlooked) advantages of the F Weapon's spiral pattern is that you don't need as much precision to hit a target. With 8 fireballs on screen at the same time, you can litterally flood the screen and overwhelm your enemies...

Also, I could add some velocity to the bullets. I think someone did a patch for that some time ago (can't remember who), and the difference was noticeable. Again, slow bullets that spin can act as a kind of "shield" that stays in front of a moving player for a longer time before either reaching the right side of the screen or hitting an enemy. All these points make the F Weapon a real alternative instead of a punishment...

I've been working on weapons upgrades for some time and I'm seriously thinking about integrating the system in RofRF. Each weapon would have 2 or 3 levels of upgrades (an upgrade happens when you get the same Weapon Item as your current weapon) that would make any type worth it. More on that subject in a near future...

NiO

  • Jr. Member
  • **
  • Posts: 80
  • Let's bring order to chaos
    • View Profile
    • https://www.facebook.com/groups/retrogamersmx/
Re: Revenge of the Red Falcon - Contra Hack - 8th Edition
« Reply #7 on: July 10, 2014, 08:17:41 pm »
Trax, I would like to help you in the graphic department if you have plans to make this hack into a cartridge... I have made a few custom labels that I would like you to see, and if you need help editing sprites I could help you too... I'm a fan of your work!!

here the sample: http://i973.photobucket.com/albums/ae215/nioexe/NINTENDO%20AGE/CUSTOM171_zps0fde43fe.png

more of my labels or sprites if you want to check: http://s973.photobucket.com/user/nioexe/library/NINTENDO%20AGE?sort=3&page=1

keep making Contra more awesome!  8)

PolishedTurd

  • Full Member
  • ***
  • Posts: 135
    • View Profile
Re: Revenge of the Red Falcon - Contra Hack - 8th Edition
« Reply #8 on: August 11, 2014, 10:24:32 pm »
I cannot readily tell the difference between the 04 and 05 coefficients, looking at the video. They both look intense. I guess it's one extra enemy every 5 seconds between them, which is slight. A much more interesting level though. The player should feel paranoid about death from any direction when inside an alien lair, after all.  :P

I like it. Can't wait to see how the boss(es) turn out.

Trax

  • Hero Member
  • *****
  • Posts: 517
    • View Profile
    • Trax ROM Hacking
Re: Revenge of the Red Falcon - Contra Hack - 8th Edition
« Reply #9 on: August 14, 2014, 10:05:26 pm »
Thanks for the offer, NiO. I took a look at your images, and it seems you have some skills...

I always considered graphics to be secondary, compared to level design or ASM, but I'm not saying graphics alteration is a bad thing. For now, I'll skip this part, also because integrating new graphics to Contra is not straightforward, compared to games with CHR banks. Since I expanded the ROM to 16 banks, free space is the least of my problems. But graphics data is compressed and separated in chunks of PPU commands, and sometimes a single chunk can span multiple spaces in the PPU. All these things make graphics harder to edit, because you need a special tool to decode and re-encode the data, while keeping all tile mappings intact. It's something I'm not ready to begin working on, but I'm not pushing aside the possibility of making a Contra game with new graphics, eventually...

However, your art of a Contra label looks totally cool. If I wanted to make a physical cartridge for my hack, that would be a nice addition. The cartridge thing still a very uncertain project, though, so don't hold your breath on that...

PolishedTurd. Now I realize that I should have used coefficients with more visible differences. There is at least two things I've been working on since this demo. First, the coefficient will be calculated on a per-screen basis. Some screens will have no generation, and some of them will have different generation coefficients. Each screen will potentially generate 2 or 3 different enemy types. Plus, the weapon's strength will be factored in. The routine is similar to the Running Men generation setup. At first, I thought I could use the same routines and adapt them to the last level, but I found out that writing the code from scratch was faster, and safer. I also introduced a condition using the permanent frame counter ($1A) to limit enemy spawn at a defined interval, probably every 8 or 16 frames, to avoid enemy stacking. All that will be tested to create a good challenge...

I can say that right now, level 8 design is complete (more than 3 times as long as the original), minus a few last minute tweaks. And of course, most enemies will be tweaked for difficulty and behave in weird manners. The last boss will have a few surprises as well. I always thought it was just too vulnerable for a final boss...

In addition to Revenge of the Red Falcon, I've been working on the Red Falcon editor as well, so that's why updates are slower. I added many goodies to make edition even more flexible and fun. I'll have a beta or version 1.0 out eventually...

Thanks again for your support, guys. The project is still hot, so stay tuned...

NiO

  • Jr. Member
  • **
  • Posts: 80
  • Let's bring order to chaos
    • View Profile
    • https://www.facebook.com/groups/retrogamersmx/
Re: Revenge of the Red Falcon - Contra Hack - 8th Edition
« Reply #10 on: August 14, 2014, 11:50:18 pm »
that's damn awesome, I have been wanting to see (and use) your editor for a while... the first 2 games I tried to edit were Contra and Ninja Gaiden, sadly they were just graphic edits and I lost both roms in an unexpected hard drive crash (I often make backups, but I didn't have them in a back up then) u.u

I did this https://www.youtube.com/watch?v=jpfILJhQZV8

and I'm with you about the level design, you can have horrible graphics (minecraft :P ) and an awesome game (tetris for example)
but if you can have both, that would be amazing

keep the good work, I will be keeping an eye on this :)
« Last Edit: August 15, 2014, 03:42:46 am by NiO »

Jonesy47

  • Full Member
  • ***
  • Posts: 116
    • View Profile
Re: Revenge of the Red Falcon - Contra Hack - 8th Edition
« Reply #11 on: August 15, 2014, 02:31:58 am »
In addition to Revenge of the Red Falcon, I've been working on the Red Falcon editor as well, so that's why updates are slower. I added many goodies to make edition even more flexible and fun. I'll have a beta or version 1.0 out eventually...

!!!? An Editor!!! For an enhanced version of contra?!?!?!