Red Falcon - Contra Editor Version 1.0 Released

Started by Trax, May 30, 2015, 01:28:56 AM

Previous topic - Next topic

Trax

At last, an official release of Red Falcon, a level editor for the US version of Contra on the NES. It's hard to believe that this project started as a simple test about 5 years ago...

The application followed a development parallel to my hack Revenge of the Red Falcon. As I was trying to decipher the Contra ROM and master the data inside, more and more features were being added to the application, so that more levels could be designed. Each time a new level was completed, I could release a new demo. Each level had its quirks, so many obstacles stood in my way. Indoor levels are very different from outdoor levels, then there was the vertical level (Waterfall). Some enemies would not display correctly for some reason, and each levels introduced new enemies...

It is released under Mac OS X Mavericks (10.9), but it is backwards compatible down to Mac OS X Leopard (10.5), and should work on Mac OS X Yosemite (10.10). As far as I know, it can be run on 32 bits and 64 bits systems...

If you like Contra but don't own a Mac, either get one or try to get access to one. I figure that if 8 people contribute with one level each, it could materialize into another fine hack. It could very well be a series of short levels, like an extra mission for Bill Rizer and Lance Bean. If you think you can do it, let me know and get started! I will coordinate the efforts and add ASM if necessary...






This application lets you edit all 8 levels of the game. You can add sections to extend the length of the levels. You can add, remove and edit enemy types, position and properties. You can modify the color palettes for the background and the sprites, including the cycling colors. You can also change the Green Guys Generation sequences, found in Indoor levels, originally Base I and II. Several other visual options (which you can enable or disable) can assist you in level design: grids, enemy indexes, enemy outlines, enemy search, player view, etc...

Unless you intend to create a hack smaller than the original game, Red Falcon should edit the expanded version of the Contra ROM. This version has twice the number of data banks than the original game, which lets you create longer levels. An IPS file that lets you create an expanded version of the ROM is included with the ZIP file of the application. Apply the patch named "Contra Expansion.ips" to a regular Contra ROM (Contra (U) [!].nes).

The animated image above was taken directly from the Intro Scene in the Japanese version, and tinted red. It's also the application's icon...

For basic help on how to use Red Falcon, do menu "Help" -> "Red Falcon User Guide". This will open a RTF file in TextEdit. Or if you prefer to keep the file separately, you can download it here...

I intend to add features to Red Falcon, as my free time permits. My main concern is the Data Editor, where you will be able to modify many of the Enemy AI, including Hit Points, delays, attack patterns, etc. In the to do list, there's also a graphics editor (requested many times), tiles editor, collision settings, sections swapping, level import/export, text editor, support for the Japanese version, etc...

As usual, if you have any questions, suggestions, comments or bug reports about this application, don't hesitate to let me know at the usual email address, which you can find in the top-right corner of my ROM Hacking web site...

Many thanks to everyone for your interest and support (and patience between demos!) during all those years. The adventure continues, but I think this is an important milestone...

Grimlock

Congratulations on your release Trax, this looks to be an impressive utility.  :thumbsup:

Trax

Revenge of the Red Falcon is the prime example of what you can do with this editor. Of course, it's not all integrated, since I made a lot of ASM tweaks, but the bulk of the work is level design. With the expanded ROM support, there is virtually no limit to level length, so you can be at peace about free space requirements...

I still think the palette selection window, shown below, is limited and not very user-friendly. Right now, you can only assign palettes to the 3 different types groups, from the master palette table, but single colors can't be changed. This will be added in the future...



Another feature that's been requested a lot is a graphics editor. Graphics in Contra are compressed and loaded by chunks, so editing them with a regular CHR editor is not possible. And the placement in the PPU is also important, because some graphics are common to all levels, and some are specific. To add, an import/export feature would be interesting...

Me_Dave

Seems very interesting but does Redfalcon only work on Intel Mac's, Because it wouldn't run on my Apple iBook G4 Power Book 6,7 with Mac OSX 10.5.8 Leopard.

I'm not complaining or anything but I am curious.  :)

The Banana of M.U.G.E.N
NES Development
They saw what the 600 Member's can do, lets show them what the 70,000 can do.

Trax

Actually, the application was created under Leopard, but I figured that it's quite outdated by now. I downloaded the new Xcode tools and I'm not even sure I can compile for the Leopard SDK anymore. But if you want to try it under Leopard, I can use an older version of Xcode and compile it, for backwards compatibility's sake...

gridatttack

This looks nice. Too bad its OSX only.

I'll definitely would give a shot at making a contra level. (the snow one. I always liked that theme)

I wonder, does contra has some sort to limitations like NES games usually do? (cant add new sprites, etc.)


Trax

Well, yes, the limitations are mostly the lack of free space for longer levels. Revenge of the Red Falcon use the expanded version of the ROM, which doubles the size of the ROM, from 8 to 16 banks. This means space is not a problem anymore. Before finding a way to expand the ROM, I did bump into this problem only after level 4. Level 5 didn't fit in the space reserved to level data. With the new expansion, an entire ROM bank (0x4000 bytes, 16384 in decimal) is dedicated to level data. Enemy data, while taking a lot less space than level data, can still be stored in its own bank...

The sprite system in Contra is surprisingly flexible and expandable, although even the orignal game uses quite a lot. The total sprite frames in the game is 0xCF, or 207 in decimal, out of a maximum of 255 (sprite 0 cannot be assigned because value 0 means enemy doesn't exist). Each sprite can have any number of tiles, with relative coordinates (positive or negative), and each tile can have its own set of attributes (tile code, palette code, flipping, drawing priority)...

Graphics can be changed once mid-level. This happens in almost every level, usually near the boss...

Grimlock

You know Trax, with all the creative freedom your editor opens up it really does peak my interest.  If I were to pick up an inexpensive used laptop running OSX what sort of specs would I be after to run your utilities?  I don't have any experience with OSX.

sjdswanlund

This sounds awesome, but I don't use OSX.  Any plans on porting it to Windows?

snarfblam

Well, if Trax has any kind of document detailing the relevant data, I'd be glad to whip up a Windows equivalent. I just don't really have the time or patience right now to go through the process of distilling the necessary info from a disassembly or through Red Falcon's source code (objective-C gives me headaches).

Trax

Grimlock, if your goal is to be reasonable up to date, I suggest you go for Maverick (10.9) minimum. However, make sure you have at minimum 4GB of RAM. I upgraded to Maverick directly from Leopard, mostly because more and more apps were incompatible with it, as I was dragging behind. I had a late 2009 iMac with 2GB of RAM, and after the upgrade I felt my computer was on life support. I bought 8GB of RAM (65$ from NewEgg) and it gave a new breath of life in my shitty machine. Not as good as new, but almost. However, if you have something earlier than Mavericks, I could use an old version of XCode (that is still installed) and compile it if the need arises...

We need more people for a group project, 8 people for 8 levels. So all offers are welcome...

As for the Windows version, I won't do it myself, but I am working on a comprehensive document where I explain the main parts of the game, where to get the data and maybe some explanation on how I did it, so that someone else can use it as a reference. The last time I saw something that's for Windows is this program, which looks like it is still in development...

NiO

awww, too bad this isn't for Windows, I would love to create and design a lot of levels with this...

I saw the thread and was like WOOOOW really? it has been released already? then I started reading and crying in the inside x)

well... hope someone can make good use of it... I'm gonna try the windows one you posted to see what I can do with it

so007

Has someone a Windows port of this tool? My god, Trax, this looks incredible!

I with my friend Danger, a known user of this website, are trying to finish your Revenge of the Red Falcon the latest update!
We are stuck at level3 :D

Back on topic, could an emulator for mac os x can run this app?

I really want this editor cause the Windows one is so godamn limited, I'm still trying to get a level to work without lenght issue...
I place pixel next to another pixel using mouse and I think that's cool.

caydang254

awww, too bad this isn't for Windows! I with my friend Danger. we are having trouble with mac os  :banghead: