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

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Trax

Pages: [1] 2
1
Programming / PPU manipulation "during V-Blank"
« on: January 20, 2019, 06:29:20 pm »
So, I'm trying to manipulate the PPU to have animated palettes, like a pulsing light, or a waterfall. The way to go is to write the PPU address in 2006, in two writes, and then write the data with the 2007 port. Fine. According to basic knowledge of the PPU, we always read "you should never write to the PPU outside of V-Blank". What puzzles me is, what exactly is V-Blank? What exactly is NOT V-Blank? Isn't anything within a NMI call V-Blank by definition?

So, by that logic, pretty much any code in any ROM is executed during V-Blank. That said, why is it that any time, and any place in the code I try to add my own code that manipulates the PPU through 2007, I get a catastrophic result of a mismash of glitchy pixels on screen? I even tried to bridge exactly at the same place where the original code does 2007 manipulation, and I still get a glitchy mess. Does anyone has a ANY idea how that works when you hack an existing ROM? Has anyone has done that before?

By the way, I'm trying to do that on the Zelda II ROM. I know the difficulty is increased by the fact that this game uses PPU tricks to have part of the screen scrolling, while the other (the HUD) doesn't.

2
Personal Projects / Zelda II Hack Project - Dark Fortress
« on: September 28, 2018, 12:16:22 am »
Hello everyone. I started working on a new Zelda II project, and I'd like to have your input for some features that may or may not appear in the game. For now, I don't have a lot to show because I'm at a very early stage where I want to setup the basic skeleton for the new features, which also involves expansion relative to the original game.

Some of the features I want to implement come with implications that may not be desirable or hard to implement. Changing one game mechanics may please some players, but displease others. There's no perfect mix, of course, but I'll do my best to balance these things as much as possible, without sacrificing fun and challenge. Having your opinions will help me orient my efforts.

For those who have not seen it yet, here's a demo of the Ice Tile on the Overworld, that will be part of my hack:

www.bwass.org/romhack/zelda2/icetile.zip



Here's some of the things that will (almost certainly) be part of the hack:

- Expanded ROM, from 8 to 16 PRG banks, and from 14 to 16 CHR banks. Of those PRG banks, 4 will be dedicated to the Overworld, 2 for Towns and 6 for Palaces.
- Expanded world, obviously. The Overworld will be more than twice the size of the original, with more diverse terrain, at least one new functional tile (Ice Tile), Overworld may change over time and random battles will be more diverse. More palaces and/or larger ones.
- Only one saving slot. Since most people will play on emulator, I think it's a small sacrifice. The main reasons are to simplify the saved game interface and free up space needed for expansion. The original game has considerable free space in Cartridge RAM, but it can't be expanded.
- New graphics, for all sections of the game. Intro, saved game info, Overworld, Towns, Palaces, Ending.
- New spells. Improvements on the original ones and/or replacement of certain spells.
- New enemies, and enemy behavior. Most original enemies will remain, but they will change behavior, either permanently or become stronger later in the game. Same goes for bosses, either change their current behavior and/or create new ones.
- Pieces of Heart and Magic Containers.

Here's some things that may be part of the hack, all depending if I have enough time and if I can actually code them reliably:

- Map system. Press Select on the Overworld to display a map of the current region. Map pieces will have to be found. With the expanded Overworld, this could become more than a mere caprice.
- More spells. From 8 to 12 spells, most likely. If there's a real need for more than 8, there could be a way to have more, but it involves new coding. The original game has a few spells with questionable usefulness.
- Upgradable spells. For example, Shield protects more, Life heals more, Fairy becomes revertible, etc.
- Upgradable items. For example, Candle reveals more, Glove breaks more blocks, Raft lets you reach other places, etc.
- New special moves, other than Downstab and Upstab.
- Extended dialogs from friendly NPCs. Have more meaningful and longer dialogs that reveal the story in more details.

Now, with the things that I still have to decide on, and that will certainly change the core gameplay even further. I like the idea of making a hack considerably different from the original game, but I also think the essence of what makes Zelda II unique and fun must remain. It breaks down to these things:

- Lives and health system
- Experience and stats system (Attack, Magic, Life)
- Difficulty levels
- Save system

Lives and health system. Zelda II is the only game of the series with a lives system, and many people don't like it. It does seem out of place for a Zelda game. However, without lives, other aspects of the game would become inadequate. Lava pits would become a disproportionate threat to the player. One badly timed jump and it's game over. Having 3 lives (plus extra lives that can be picked up) is basically the equivalent of having as many separate health bars.

The alternative would be to make pits non-lethal. Subsequent Zelda games don't have jumping mechanisms as elaborate as Zelda II, but they do have pits of all kinds. Falling into a pit makes you lose a small portion of health and takes you back to a determined point. Doing that with Zelda II could be an interesting modification to the gameplay, but also a considerable coding challenge. Also, it would have the consequence of making pits a lot less dangerous. Calculated jumps would become less important, especially if the health penalty is small. On the other hand, losing all your health in one shot because an enemy pushes you back in lava can be frustrating.

Another aspect unique to Zelda II is the absence of items that replenish your health. Most of the time, you have to rely on the Life spell. Other ways include towns, leveling up, finding a Heart container or losing a life. Other Zelda games have hearts randomly dropped by enemies after defeating them. Again, adding this item in the game has consequences. Does it mean the Life spell becomes less important, or that it should be reduced in strength? Can having hearts competing with magic jars in random drops lead to a lack of magic available? Will it cause the Red Lady in towns to become obsolete?

Experience system. Again, unique to Zelda II. Instead of having to find swords and protective gear, you must earn experience points that are "traded" for more attack strength, better magic consumption and defense. Since Zelda II is a game centered mostly on combat, it makes sense to expect the player to fight enemies to get better. If we decide to remove the experience system altogether, there must be a way to make our character stronger.

One idea I had is that you would have to find different swords for Attack, and some other items that would increase your Magic and Life stats as well. One severe consequence of such a change is that it removes the incentive to fight enemies, and I think it could encourage players to avoid difficult fights. I don't like that much. However, I do like the idea of having to find stronger swords, which is similar to many other Zelda games. An hybrid could work too, but at the cost of more complex coding.

Difficulty system. I've been thinking for quite a while about integrating levels of difficulty in the game. Several hackers in the past used an alternate solution, by simply making an alternate ROM with more or less difficulty, and the players could choose according to their skills.

One of the main reasons I want to integrate difficulty levels is to provide an incentive to tackle greater challenges. Beating the game at a higher level could lead to secrets of all sorts, like special dungeons, hidden items or an alternate ending. Now the caveat is that players could find it a bit daunting to restart the game entirely, without knowing exactly what lies ahead, just for bragging rights.

Another idea is to make the game end prematurely on lower levels, to encourage players to take the next level of difficulty to progress more in the game and finally see the "real" ending. Again, similar problem, you get to play a shorter game, with a fake ending, just to be told that you need to be more skilled. I'm still trying to find a balanced formula. Find a way to have a relatively satisfying ending at the lower levels, while making it worthwhile to restart the game and increase the difficulty.

Save system. In my opinion, this one is less divisive among most players. Many have complained about the fact that you have to restart at the very beginning of the game after a game over. No mercy, not even at the start of the current palace (like in Zelda 1), except the last one. Now, with a larger Overworld, this could become even more annoying.

Instead of these limitations, there could be a few key points where you can restart from, including when you reload your saved game. Similar to A Link to the Past. You start with one starting point, and then, along the game, you find other points that you activate and these let you restart from there. I think it's fair, assuming the Overworld will be larger and arguably less linear than the original game. That, however, would be at the cost of being able to restart at the beginning of the palace you just died in.

Thank you for reading. Any other idea? Anything that stands out? Do you agree or disagree with anything? Let me know what you think of all that...

3
Personal Projects / Zelda II Editor - Sword II - Work in Progress
« on: June 12, 2016, 07:20:59 pm »
Once again, I got my Zelda II editor out of the mothballs, renamed it Sword II (to be logical with Sword I, Zelda 1 editor), and added a bunch of new features, including the essential Side View Editor. The XCode project has been updated to compile for Mavericks (10.9) and above. The last working version (1.14) was older than I thought. Not everything is completely functional, but at least the major foundations are now in place...

The Overworld has pretty much every major feature needed for a thorough hack. Key Areas can be moved, and all attributes can be modified. You can see connections between areas, when applicable, even when an area has more than one connection, like in Death Mountain...

You can select from the 4 major regions, and from the 62 areas in each region. When you select an individual Key Area, you can go directly to the corresponding Side View in the Side View Editor window...

The Brackets tool, which is used to cut a terrain strip short (essential for correct placement of the Hidden Palace and Hidden Town), has been corrected, as it didn't show brackets on the far right side of the map...

Palettes can be modified. You can change individual colors on the 4 background palettes, and assign any palette code to the 16 types of tiles...

Little bonus things to add to the Overworld Editor would be:

- A graphics editor, for the 16 tiles (although a regular tile editor is enough)
- Demons configurations (if I can understand how they work)
- Option to change the height and/or the width of the map
- Option to change the height of the limit between "north" and "south" in each region (this makes enemy sets different in random battles)
- Sprite palette editor (meh)

The Side View Editor is now in place and shows all background tiles correctly. You can choose from the 8 great regions in the game. You can assign any "data sets" to any area index, as well as enemy sets. All objects can be changed. including collectable objects. You can also switch between the 2 possible objects sets. Enemies are fully editable...

You can move between connected Side Areas with the arrows in the lower left corner of the Side View Editor window. The numbers there are the destinations for each direction. Most areas in the Overworld are singletons, so they have the value 3F, which means "return to Overworld"...

At the bottom of the window, you can control all the necessary attributes, like tile set, palette code, background map, etc. You can change the area's width and whether it has a ceiling...

Enemy Sets can be selected and individually modified in the Enemy Sets window. The tricky thing is that an enemy set can be assigned to more than one area, just like map data. This means if you edit an enemy set, it will appear modified in any area linked to it. The Side View Editor lets you edit enemy sets with all the precision needed for enemy position...

Individual enemies can be modified in another window. Here you can change its color, HP, experience, damage, and many other attributes. The gray box is supposed to show the enemy sprite. The universal experience table can be modified as well...

Other things to do:

- Background Map editor
- Option to change the area indexes of random battles

The Game Data Editor is in a redesign process. Link's stats for Attack power, magic and experience levels were moved into the same window.

The dialog editor now shows a replica of the dialog box, so you can see exactly what you see in the game.

Things to do:

- Add other text data, like intro text and ending credits
- Include enemy AI variables (a truck load of them)
- HUD editor, maybe

Any questions ?

4
Personal Projects / Revenge of the Red Falcon - Final Release
« on: January 16, 2016, 01:16:53 am »
Hi guys. After too many months, I finally got some time to work on the last revisions of Revenge of the Red Falcon, and the final version is now available...

I made many changes from the last 8-level demo, most of them being tweaks on AI to set the difficulty to a reasonable level. Some sections and bosses were simply too overwhelming, even for the seasoned veteran, including myself. However, the beginner or casual player may have a hard time with the hack, as the difficulty level is meant to be higher than the original game...

I did a few touch up jobs in the level layouts. Added a platform here and there, a hole that is a bit too wide, etc. I removed enemies that would spawn and shoot you while in mid-air, which was akin to fake difficulty in some places. Some mortar shots in level 7 were very hard to avoid or didn't give enough reaction time...

Levels 1 and 3 didn't have correct data for Running Men frequency. Each screen in a level has a specific byte that define the probability of a Running Man to be generated, and whether it shoots or not. So I created that. In the previous demos, the original data sequence was overshot (because the new levels are longer), so as soon as you reached a screen number higher than the original level length, random bytes were being read, which gave erratic behaviors in some sections...

Rifle Men now shoot a random number of bullets at each attack. This makes the game a little more random, and it makes it a bit easier to get out of the stream of bullets when you're trapped, especially when two or more Rifle Men are shooting at you...

Gray Turrets also pause a little longer between attacks, again to let the player get out of a bullet trap while standing on a small platform or in water...

I changed the pattern of Spawning Cores in the last room of the level 4, before the boss room, because I thought it was visually unacceptable when a new Core appeared partially over a destroyed one. I thought about writing elaborate ASM to make the generator wait until all the cores are destroyed before generating the next wave, but it seemed complicated and error-prone, and therefore not worth the hassle. Instead, I use the same pattern, but I added some ASM to have them appear at jump height in level 4, and at standing height in level 2...

I reduced the HP of the Spiked Walls in level 7, mostly because destroying walls is boring...

For the level 1 boss, the Barricade with Bomb Turrets, you now have to destroy both Turrets before the Plated Door becomes vulnerable. The Boss Eye of level 2 is now reverted to its own projectile, instead of a mix of level 2 and 4 projectiles. Some people were against that, and I also thought it was cool at first, but I decided to keep each boss with its own identity. I also decreased the frequency of attacks of the Boss Eye. When you have the S Weapon, it's okay to have bosses attack you like crazy, but it has to be fine tuned for other weapons as well...

For the Level 3 Dinosaur Boss, I increased the delay before it closes its mouth, leaving a few more frames to shoot it...

In level 5, the Flying Saucers of the Alien Carrier boss now move a little less fast, leaving a more reasonable time to shoot or avoid them...

The boss of level 7, the Mortar Launchers, attacked way too frequently, generating an overwhelming steam of bullets or bombs, making it very difficult, if not impossible, to find a safe spot. So I added more delay. The variations in the shots (Triple Mortar or the special Scatter Shots) are still there, though...

Level 8 had a few changes in some places where too many enemies would be generated and cause unwanted lag...

I also removed the demo plays that start when you wait a few seconds on the Intro Screen. Before that, you only saw the two players do stupid moves and get killed because they still have the original inputs. I thought it was not really interesting, so I just changed a few bytes to make the Intro Screen never enter the demo mode. No need to wait, there's nothing to see...

That's about it. I went through my to-do list. I received many comments over time, so I tried to take them into account while making these last changes...

So, again, a big thank you to all the fans who supported my work during all these years. Thank you for your patience between releases. It's hard to believe this actually started in 2008. If it wasn't for the sometimes very long dry spells with no progress, this could have been done in the course of a much shorter time. Anyway, I'm quite satisfied with the final result...

Of course, your comments and questions are always appreciated. And obviously, if you find a major bug or glitch, I'll do a re-release. Also, there's always the possibility of making a version with a different difficulty level...

I thought about making a real cart out of it. I read some tutorials on programmable ROMs and such, but I think the hardest part is to find a compatible donor cartridge. It has to be a ROM with 16 banks (256k), and the MMC1 mapper chip. If anyone has more info on that matter, or a compatible cart, let me know...

One final note. If you want to start at a specific level, I left a piece of code in the ROM that lets you do that. Go to offset 0x3F633 (add 0x10 for the header), and you'll see these bytes: A9 00. Simply replace 00 with any value, where 00 is level 1 and 07 is level 8...

Download Revenge of the Red Falcon

The patch is to be applied on the US version: Contra (U) [!].nes

That said, enjoy the challenge!

5
Personal Projects / New Tools for Red Falcon
« on: August 22, 2015, 01:51:12 pm »
In addition to RotRF and the Secret Project, I started working on new tools for Red Falcon that aim to make customization easier and more flexible. None of them are fully functional yet, but the GUI is going well and displays data correctly...

First, a block editor. I tend to use the word "tile" interchangeably, but it will cause confusion sooner or later. A tile should refer to a 8x8 pixels square, the smallest unit of graphics on the NES. In Contra, all levels are made of "blocks" of 4x4 tiles, so 32x32 pixels. Each block has its own ID, and 0x10 bytes for each of the tiles that compose it, starting from the top-left corner, going right, then down. Very straightforward. The data for the blocks tile mappings starts right at the beginning of bank 3, at 0xC001. The pointer to the data for each level is in the headers (0xB319, bank 2) at offset 04-05. There's also the palette mappings, 1 byte per block, offset 06-07. Each 2x2 tiles corner of a block is set to one of the 4 background palettes, with 2 bits per corner. This is also standard stuff...

One thing that can become problematic is that there's no way for the editor to know where the tiles data for a given level stops. In this window (just like the main level editor window), I simply set the max number of tiles to 0x80, even though no level goes that far. That's the reason why you can see garbage if you scroll all the way down to the bottom of the block selection matrix. Even if you choose to use one of these garbled tiles, it should show up as is when you play the game...

This means there will be some sort of field where you can input the number of tiles to save for each level. Saving 0x80 tiles worth of data for every level would be wasteful. And we would probably end up with a lack of free space, anyway. Before that, it was not important since block editing was not possible, so it was limited to reading, not saving after modification. So, small caveat here, but important to consider...

Then, we have the Collision Limits Editor. In Contra, like many other games, collisions are (unfortunately) tile-based, not block-based. Each of the 256 tiles can be associated to one type of collision. The four types of collision are Transparent (no collision), Ground (solid from above only), Water (changes the player's status and limits movements, like jumping), and Solid (blocks the player from all sides). The way Collision Limits are programmed is... limited. Like, 3 bytes. That's it. You can find the bytes relative to Collision Limits in the header of each level, offset 09-0B...

This is what the first level's Collision Limits look like. Like all other levels, the majority of the tiles are Transparent. Each of the 3 bytes in the header defines a boundary between the different types of tiles. This means you are forced to have all the tiles of a same type placed contiguously in the PPU. The first tile is always Transparent (Code 0) by definition. Then, all tile indexes lower than the first byte (in this case, 06) are of type Ground. Then, all tiles lower than the second byte, F9, are Transparent. And all the tiles lower than the third byte, FF, are Water. The remaining tile, FF, is Solid...

Interestingly, only the first level has Water tiles, and Collision Limits that go with it. All other levels have the second and third bytes equal. Which means that mathematically, no tile is associated to Water collision. Another thing to consider: Collision Limits are also modified along with the graphics data when approaching a level's boss. In level 1, a lot more tiles, those used for the Barricade, become Solid (code 3)...

And finally, a Sprite Editor. You can see all the tiles that compose the sprite in the table on the right. Columns, from left to right: tile index, tile code, X coordinate, Y coordinate, palette code, flipping. X/Y coordinates can be negative, 0,0 being the actual position of the sprite.



Sprites in Contra are very flexible. The big-ass table at 7030 (bank 1) contains pointers (0xCF pointers) for every sprite in the game. The sprite data follows immediately. Each entry starts with a tile count, followed by that many groups of 4 bytes for each tile. However, its flexibility is also what makes it a little more complicated to edit. Some data in the data table has no pointer associated to it. Instead, they are "follow-ups" to other sprites. There's a special code, 0x80, that lets you change the offset of the reading head for sprite data, and go on from there. This way, you can recycle some parts of the data table for similar sprites that have tiles in common...

For example, take the Weapon Items. They all have the same common wing tiles, but a different middle part. So each of the sprites start with the middle part, then use code 0x80 to skip to the same wing tiles part. The wing part in itself is not a sprite, therefore no entry in the pointer table points to it. Yet, the data is still there, mixed with the rest...

There's also another special code, 0xFE, sometimes seen right at the beginning of a sprite data entry, in lieu of the tile count. I'm not sure exactly how this works, but it seems to be a short version of a single tile. The entry contains only 3 bytes, including the 0xFE code. Little sprites, like bullets, use this data structure...

Reading from the data is relatively trivial, but when it will be time to modifiy the sprites and save, things will become a little more complicated. Maybe we'll have to deal with a list of "orphaned" sprite data, along with the "regular" entries associated to a pointer...

So that's it for now. I think these tools will be essential to making a Contra hack that doesn't look like the original game at all. No graphics editor yet, but it's in the plans. Oh, and a data editor is also in the works...

Any ideas or questions?

6
Personal Projects / Red Falcon - Contra Editor Version 1.0 Released
« on: May 30, 2015, 01:28:56 am »
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...

7
Personal Projects / The Legend of Zelda Editor - Sword I
« on: December 23, 2014, 09:28:33 pm »
I got Sword I out of the shelf and decided to continue working on it, as I think it has potential. A lot of things are known of this game, and this means many things can be integrated in an editor, to help hackers in the design of the Overworld and the Dungeons. Most of the things here are not new, as I talked about them breifly in other generic threads. This is a specific thread where you can ask questions and suggest ideas...

I know there are other Zelda editors out there, including Zelda Tech, which seems to be quite exhaustive and well done. My intention is not to compete in any way with other editors, although it's still the only editor for Zelda 1 on the Mac, as far as I know. On the contrary, I hope my implementation of the editor can be seen as a source of inspiration...

This is the Overworld Editor, with as many control as possible on screen layout, enemies, colors, caves and secrets...

To move around the map, you can use the arrow buttons at the bottom left. The "active" screen is frames in black. This is the screen that, when clicked, will have its columns set to the brush selected on the right. You can also move around by entering any screen number, from 00 to 7F, in the "Current Screen" field. Some fields have little arrows next to them. It means you can use a secondary selector instead of entering the numbers by hand. Screen ID can be selected from a Screen Selector, with small thumbnails of all the screen types you can use in the Overworld. This window is yet to be done. A miniature of each screen needs to be kept in memory, and any change to the map has to be reflected in the selector. Another thing that needs to be done is a column editor. Each Overworld screen is made of 16 perset columns of 11 tiles high. Sometimes, a specific column may not exist for your needs, so the idea of editing existing columns, and making new ones, is essential if we want to create a truly original map layout...

You can also choose the enemy type(s) that will appear in the Active Screen, either by entering a code in the field, or using the secondary selector, by clicking the little arrow. A window will appear, that lets you choose the enemy you want. You can either have a single type of enemy, or mixed types. Either way, you have to choose between 4 different quantities (that's how the game mechanics works). When you have mixed type enemies, the enemy code used determines an index in a list of enemies, and you get the enemy types starting from that index, up to the quantity selected. Again, it's how the game works. Doing this by hand can be tedious, but the editor makes it easy with visuals. You can't choose freely what kind of enemy you want in a given screen, although you can edit the list of enemies that is used to determine the enemy array. It's a little hard to explain, but I think the picture explain it better...



Dungeons have a different way of dealing with Single/Mixed enemy codes. Single enemy mode works the same, but mixed enemy mode is also used to create bosses or talking old men...

On the Overworld, any screen can be associated with a cave type, either accessible in plain sight, or a hidden secret, like a bombable wall, a burnable tree, etc. There's the Cave selector, where you can decide what's in any of the caves available. You can change the ID of the text to be displayed, the type of character and the items that are given or sold. From that place, you can use a secondary selector to choose from all the available items in the game. You can change item types and prices...

Then, there's the text editor. It lets you edit all the 38 dialogs in the game. The intro and ending text are not there, and will be added eventually. You can type anything you want, using up to 3 lines. You see the result just like you will see it in the game, using the ROM's graphics. The editor has an arbitrary set of characters that it can convert, based on the original game. Any character that is not recognized will output a zero. If you decide to edit the graphics and have your own set of tiles, then you'll have to do it by hand. A nice addition would be to have the option of loading a convertion table, like a .tbl file, for example...

The last addition I made to the Overworld editor is the ability to change other Special Locations on the Overworld, that is, the Starting Location, the 4 Shortcuts, the 8 Whistle Warp Locations and the 11 Whistle Secrets. I assigned a color to each type of Special Location, to highlight their corresponding screen and better visualize where they are. In the screenshot below, you can see the Starting Location in red, Shortcuts in green, Whistle Warps in purple and Whistle Secrets in blue. Note that the blue tint looks purple because of the mix of the colors. The purple looks more like pink...

You can use a small secondary window to select and edit these locations, any way you want. You have to first select the location you want to move. When you do that, the outline of the location becomes a dashed line. Then, the next mouse click effectively moves the location...

That's for the Overworld. I'll talk about the Dungeons editor in details another time. Feel free to ask any questions...

8
Personal Projects / Revenge of the Red Falcon - Final Level
« on: December 19, 2014, 06:40:40 pm »
At last, level 8 for Revenge of the Red Falcon is completed. After a long wait, this is my Christmas present for all of you Contra fans. There are a lot of things I wanted to do (there's always another thing you want to do!), but I wanted to have a working product at a set date...

I'm not implying that the game is overly bugged or anything like that. Consider this a "pre-final" release. I will probably adjust many other things later, but this version is fully functional, and like all other levels, this one has some new tricks that will, I hope, be fitting of the last run of a great game, and be a real challenge for seasoned players...

After releasing level 7 of RotRF, I got some interesting feedback and ideas for level 8. One that caught my attention was the idea that enemies spawn constantly throughout the level, as if there were hordes of alien organisms trying to rip your head off. This was the first thing I worked on, and I got it working. The rate of spawning goes up as your weapon is stronger. Again, I could have made the necessary ASM code more intricated and have more options, but sometimes you have to opt for something simpler, but make sure it works correctly. So the first thing you will notice in this level is that you can't take a single break. You will be assaulted constantly. It is the enemy's base of operation, after all...

Like usual, I boosted all enemies' HP (except the Sentient White Blobs), and like the original game, all enemies have their HP adjusted according to the strength code of your current weapon. Therefore, if you have the S Weapon, enemies will be harder to kill. The Alien Guardian (the Big Mouth coming from the ceiling) and the Final Boss also have considerable amounts of HP...

In addition to the HP boost, some modifications were made to the enemies' behavior. White Sentient Blobs will start rushing after a shorter delay. Alien Mouths spit Blobs at a faster rate, and they also have a new mode of attack. I added a special attribute bit check to their ASM code, and now some of them spit triple mortar shots!

The level is longer, as expected, with 38 screens of sheer madness. And I made the final boss worth the trouble as well. I will keep this a surprise and a reward for the players that can get there. All I can say for now is that the Heart will attack you until one of you is destroyed...

I also made the final credits worth the effort. I hope you will find them more interesting than the meager 4 lines in the original game. I don't know if the text sounds corny or something, but I did what I can, as I am not a very good storyteller. I left the original team credits, but I compressed them on fewer lines to leave more space for the ending story...

So don't wait anymore, and download the IPS file:
http://www.bwass.org/romhack/contra/contrademo8.ips

If you want to start at level 8, download this IPS file:
http://www.bwass.org/romhack/contra/contrademolevel8.ips

All comments, questions and bug reports are welcome...

9
Personal Projects / Jackknife - Jackal Editor
« on: November 04, 2014, 06:57:56 pm »
Once again, I started working on another editor. This time, it's the game Jackal. It looked like a nice game to hack, and to make longer and possibly harder. The ROM structure has a lot in common with Contra, with which I'm very familiar. And not surprising since they are both games made by Konami, and at about the same time...

At 1C473, there's a nice pointer table, one pointer per level, plus other extras, like the intro, ending, etc. This table points to a series of pointers for graphics data. Each level has specific blocks of graphics loaded at different places in the PPU. Some of these blocks are used for all levels, so the data itself doesn't need to be repeated. The graphics data is compressed, just like Contra, using a simple combination of literal strings of bytes and RLE...

The levels are made of blocks, each of them made of 4x4 tiles (8x8 pixels). Each screen that compose the levels is 7.5 blocks high and 8 blocks wide. The 7.5 figure is because a single screen is 240 pixels, so 240 / 32 = 7.5. Therefore, the top row of blocks in each screen is truncated in half. At 1D000, there's a pointer table for codes that define the blocks for the 6 levels. There are 0x40 codes per screen. At 1D00C, another pointer table for the tile codes that make the blocks I just mentioned, 0x10 bytes per block. And at 1D018 (the 3 tables follow each other), a pointer table for palette mappings, 1 byte per block, 2 bits per 4x4 corner...

At 1D62C, there's the palette data for each 6 levels, one after another. It always start with 3F 00 (the starting PPU address for palettes), then 0x10 bytes for background, 0x10 bytes for sprites, and FF as the ending byte...

With that, we can at least successfully display all 6 levels. The editor can decompress the graphics correctly, according to the selected level, and use the block codes to lay out the screens that make up the levels. Below, screenshots of level 1 and 2...


Some graphics can show up garbled, though, because some graphics can change to make place to other tiles when the Boss screen approaches. Not all levels have that, but those that do will show weird tiles where the boss is, in the editor. I'll probably do something like in Red Falcon editor, and have a "Alternate Graphics" button, to toggle between the two states of the PPU. It's the case for level 3 (the big boat a the end), level 5 (the hangar doors and walls at the end) and level 6 (part of the last screen)...

Next thing to do: enemy data. I already got the pointer table, at 1F1E0. More to come about this editor...

Any questions?

10
Personal Projects / 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...

11
Personal Projects / Contra - Mountain Challenge Special !
« on: December 21, 2013, 06:15:01 pm »
Contra - Mountain Challenge Special!

To all Contra fans, I've got a Christmas present for you. This is an experimental project I started only a few weeks ago, and it finally developed into a nice playable hack. I was inspired by those mini hacks that are only a level long. I recently played SMB3 mini hacks by Darkdata, and I thought I could do the same with a game I know very well...



What do you think the level 5 (Snow Field) would look like if it was vertical? Here it is, the Mountain Challenge. The goal is simple: reach the Trophy at the top as fast as possible. That's it. Single level, no boss. As a bonus, you are timed, and you get the result during the end credits. You have infinite lives, so you can't get a Game Over, but getting hit will delay you. The goal is to be as fast as possible...

This was made quite fast, considering the amount of ASM hacking involved. This is what I could call speed hacking, and speed learning...

Here's a list of things that were modified:

- Intro Screen, similar to the Intro of the 5th edition of Revenge of the Red Falcon, with different palettes and the Mountain Challenge title.
- The Status Screen, now showing your objective, no flashing, no score, no hi score, no remaining lives.
- The gameplay is basically the same, except you have infinite lives. Enemies are a little tougher, but not as tough as in RofRF.
- I changed the palettes of the background to a more strong blue tint, and more green in the trees. The sprites are also different, including the player's pants color.
- Taking the trophy (Eagle Weapon Item) at the top ends the level, and stops the timer.
- The end credits are different, and you can see the time you took to finish the level, so that you can try to beat it.

Rifle Man shoots random numbers of bullets (between 2 and 5), bullets are faster. The Turret Man was not modified. I used very few Mortar Shots, seeing that their behavior is weird in a vertical environment. I didn't use the special shrapnel shots, for similar reasons. There are also grenade generators, and Scuba Divers. Both were not modified. The Standard and F weapons can have 8 bullets on screen instead of 4...

I included a text file of all my ASM notes for the hack, for those who are interested. If you have any questions, let me know...

I had many other ideas that I wanted to implement, but I'm out of time for now. I'll be quite busy for the holidays, but I wanted to have something playable before Christmas. I will probably work on variations on this at a later time. These ideas include a version with lives, death counter (that could count as a time penalty), ranks according to performance, and keeping track of the best time...

Download the patch here. Use on Contra (U) [!].nes

I can usually reach the top under 2 minutes. Can you?

12
Personal Projects / Revenge of the Red Falcon - Contra Hack - 7th Edition
« on: November 13, 2013, 09:10:40 pm »
Here's to all Contra fans, the last sprint for this super hard hack, Revenge of the Red Falcon. I don't want to slack off on quality, so I make sure that everything looks good and the difficulty is consistent throughout the entire game. I've already done about 15 screens in level 7. Now I'm not sure if I should release level 7 before going for the final release, or do 7 and 8 and release. What do you think?

Again, the difficulty in level design comes from the imperative mastery of all enemies specific to that level. Mechanical claws have their own timing settings that need to be tuned correctly. You can adjust their length as well, from 4 different length settings. The spiked walls are a very boring enemy, so I use them rarely, or I try my best to mix them with other enemies in a way that doesn't only involve shooting a zillion bullets at a wall. I will probably lower the wall's HP a bit, for that matter...

The special mortar shots are still there, usually coming from nowhere. Other than that, there are carts, which can be used to reach high places. The boss is a pair of fixed Mortar Launchers and an enemy generator, that generates Running Men. An armored door guards the Alien's Lair. The Mortar Launchers will probably be made slightly harder...

Another last point. I've bumped into a major emulation problem recently. FCEUX doesn't like the expanded version of my hack and only yields a gray screen. From what I deduced, having a ROM with 9 banks that use the MMC1 mapper confuses the emulator, because it's assumed that your ROM either has 8 banks or 16 banks. What I find even more boggling is why noone came forward to report that bug. Is it because I'm using an old version of FCEUX? Or a weird build of it? I always test my hacks on Nestopia, and no bug of that sort ever happened. So if anyone has any insight on that matter, please share it...

If you have any questions on the hack or the Red Falcon editor, let me know. Stay tuned!

13
Personal Projects / Bobblicious 1.0 - Release
« on: November 07, 2013, 03:04:26 pm »
Okay, after testing and adding a few options other than level editing itself, I think a release is in order. Version 1.0 is available to anyone interested. It works on Mac OS X 10.5 (Leopard) and later. If you don't have a Mac, either get one or get access to one and try this editor out...

The editor has 4 modes: normal, fake, flow and bonus. The normal mode (or "no mode") is active by default, when none of the three buttons in the top right of the window are highlighted. It lets you edit normal blocks. You basically paint with the mouse. Click to put a block, click to erase it...

Fake mode is for fake blocks, i.e. blocks that are seen as normal blocks in-game, but players and bubbles go through. Water cascades and fire drops also go through these blocks...

The Flow mode lets you see and edit the direction of the bubbles for each empty space. Just to the left of the Mode buttons, a button sets the direction you want to paint on the level. Click on that button to rotate between the 4 directions...

The Bonus mode is for spots where special items will appear when you get a Magic Bottle. Any empty space can be a Bonus spot, but the items take 4 tiles, so overlap is possible, and should be avoided...

At the top of the window, you can also set which special bubbles will be generated during the level: water, fire, lightning. All three can be mixed in any combination. The checkbox "Holes in Level" is used to determine if the level has two holes at the top. Otherwise, the top row is filled by default. The holes are 4 tiles wide, and the width is hard-coded. The bottom row is still part of the level layout, so you can edit it freely...

On the right, you can set the coordinates of the two types of items that (may) appear in each level. Point items appear all the time, 5 seconds after the beginning of the level. These items give points, obviously, and taking many of them eventually triggers a condition for a special item (more on special items conditions below). Special items appear after 7 seconds, if any of the 15 conditions is fulfilled. Coordinates are in steps of 16 pixels. Some coordinates can make the item inaccessible...

On the right, there's also the enemies, which you can edit. Click on an enemy to rotate its type, or remove it. Each enemy has 4 parameters: X and Y coordinates (in pixels), apparition delay and direction...

Finally, you can edit the palettes of each level by clicking on the swatches at the bottom of the window. Hit Cmd-R to generate random colors...

Do menu "Options" -> "Show Level Attributes" to change a level's attributes. Enemy anger level sets how many seconds an enemy stays in bubble form. Delay before Hurry! is self-explanatory, also in seconds. You can also set the flow speed of the bubbles, between 4 different speeds...

Another window, Special Items Apparition Conditions, lets you change the way the special items appear throughout the game. As I explained in this thread, special items appear according to specific counters, that go up with certain actions. Each counter has a threshold that can be modified in this window. You can enter values from 1 to 255. Items in the first column (left one) and the lone item at the top-right can be changed to whatever you want. Most conditions are self-explanatory. Enemy Items are items dropped by dead enemies: orange, pepper, grapes, tomato, cherries, mushroom and pickle. An Enemy Combo Kill is when you kill more than one enemy at the same time...

Another window lets you change various data used in the game: the delays before points and special items appear, the time allowed in a bonus round (default is 30s) and the boss HP, both normal and super. You can also change the 8 possible anger levels, and the 4 possible Hurry! delays. Everything is in seconds...

Screenshots

Level Attributes
Special Items Conditions
Items Window
Level Editor - Normal Mode

Download Bobblicious

Comments and questions are welcome...

14
Personal Projects / Arkalavista - Arkanoid Editor - Update Version 1.2
« on: August 29, 2013, 03:02:19 pm »
Another update for my Arkanoid editor with the unique name, Arkalavista. Thanks to Justin De Lucia for his suggestions...

Version 1.2 now have support for the Japanese version, even though it's not very useful, since both US and Japanese are the same except the US version has three more levels, and level 3 is slightly different (harder) in the Japanese version. The Japanese version does not even have Japanese text. Both have the same gameplay, same colors, same boss. A lot of the code differ between versions, but only because the offsets are different. Anyway, the editor detects the version you have and sets the number of levels accordingly...

Other than that, a few more bugs were corrected, mostly related to errors in bit fields calculations. You can now delete a brick by clicking on it in "No Mode" mode (in the previous versions, you had to use the "0" brush). Now, the tile codes array (bottom of window) only show the "legal" brick types. The original game has 16 bytes allowed to each level for each of the 16 possible brick types (0 to F). Yet, only bricks type 1 to 8 are used in the original game, plus type E and type F, and the code expects that as well. You can use any other type of brick, but you will get weird results (including crashing the game), because the score table only has 8 entries. Below the tile codes array, there's the corresponding scores, for reference...

Now, when you browse through the brick brush type, only the "valid" brick types show up, which avoids showing brick types with undefined tile mappings. And by "valid", I mean, brick types with Tile Code other than 0...

Brick Type E is known as "Hard Brick" because they need more than one hit to clear, but it's only a convention. Any brick can be set to need 1 to 7 hits, except the indestructible type F, obviously. Brick type E is special because it has variable score, one for each level. The original game starts at 50 points for level 1, incrementing by 50 points every level, up to 1750 points for level 35. You can put any score you want for every levels using the Data Editor in Arkalavista...

Download Arkalavista here...

15
Personal Projects / More Contra Goodness
« on: July 12, 2013, 11:31:12 pm »
At last! Revenge of the Red Falcon, in a single ROM. In a previous release, I said that I found how to expand the ROM with minimal effort. Well, apparently, it took quite some time to put all the pieces together from the two "parts". I had to make sure all the new ASM was in place and working. But the expansion itself was a piece of cake...

Having an entire 0x4000 extra bytes at your disposition is quite reassuring. Before that, I was always wondering if some data would overwrite something important, and having the hack in two parts was not cool. My editor Red Falcon had to be updated to take the expansion into account...

For those who think the hack is too hard, I decided to make an easier version. I'm usually against that, but seeing how I struggle to beat any level without losing a life, I thought maybe it's ridiculously hard, and that the default difficulty would be more than enough for many players. I will probably adjust a few things in the regular version as well. The easy version is simply the equivalent of the original game in terms of enemy AI, speed, HP, etc. The levels are hacked the same way, but enemies behave like the original. Seems like a good deal...

And, as was already said in a previous installment, there's also the corollary "inverted" hack: original game with increased difficulty...

Revenge of the Red Falcon - Demo 6 - Single ROM (this archive contains normal and easy modes)
Contra - Hard Mode

If you find any bugs or glitches, please let me know. It's possible that I forgot a few things in the conversion process...

In addition to that, here are links to videos I recorded of the first 4 levels. It's been some time, and many others have recorded their own runs, but I finally decided to add a few of my own. These are not perfect runs, although I wish they were. Maybe it will give you an idea of how to maneuver into the excessive showers of bullets and bombs...

Normal Run - Level 1
Normal Run - Level 2
Normal Run - Level 3
Normal Run - Level 4

Enjoy!

16
Personal Projects / Marble Madness Editor
« on: July 08, 2013, 06:12:54 pm »
Anyone else thinks Marble Madness is a cool game? Probably. This is a very short game, although quite hard, and it means that when you beat it a few times, there's not much left to do. But if we could change the courses, that would be nice. I gave it a try:

I think it's not too bad for a beginning. I use a single arbitrary palette for now. The first thing that becomes obvious is how the orthogonal faux 3D makes it harder to match with straight square tiles...

The game uses the AOROM mapper (mapper 7), it has 8 PRG banks and no CHR banks. Graphics are compressed using a mix of litterals and RLE repetitions of either 00 or FF. At 0x18D23 (bank 6), there's a table with addresses for PPU loading. It gives offsets and number of bytes to process. Each level has its own set of "chunks" of graphics to feed to the PPU...

The tile mappings also use a specific type of compression. When you read 0xFF, the next byte's bits 4-7 define a type of tile pattern, and bits 0-3 define the number of tiles that must be repeated using the pattern. The patterns are completely arbitrary, each of them is a function. Most of them makes tiles alternate between two values. There's a pointer table for Level 1 tiles mappings at 0x121AB (low byte) and 0x121FC (high byte). Each pointer accounts for a single row of compressed tile codes. Level 1 is 0x51 rows high. Immediately after the tile mappings are the palette mappings, not compressed. Each 8 bytes accounts for 4 rows...

That's it for now. More to come later...

17
Personal Projects / Bubble Bobble Editor - Bobblicious
« on: April 21, 2013, 02:36:32 pm »
Another NES ROM editor for the Mac is now in development. This one is for Bubble Bobble on the NES: Bobblicious. I started working on this project a few months ago, but didn't have the time to report it. I noticed that, even though the game has a relatively simple data structure, you need to master a few features if you want a coherent editor...

Fortunately, for hacking purposes, most of the needed level data is bunched together in nice tables, starting at the very beginning of the ROM. This data includes: tile data, items locations, bubble generators (water, fire and lightning), palettes and enemy data...

So far, I've got the basic level data covered and levels display correctly, plus a few controls...

More to come later...

18
Personal Projects / Biker 1.0 - Release
« on: April 11, 2013, 11:33:32 pm »
Here we go...

After much struggle and despair, I finally release a piece of software that will probably be used by exactly 0 people on the entire planet Earth, which is almost funny by itself. It reminds me of Jean-Lou in Radio Enfer who runs for class president and loses 124 to 0 (he didn't even vote for himself!). But don't worry, I'm not trying to be cynical, nor am I trying to garner attention. There are a few reasons why I think it's not that relevant:

- The game is very old, very simple and short.
- Latest consoles recently started releasing obcene amounts of retro games (or spin-offs), some of them with more (cool) features than the original. This includes Excitebike for Wii and Gameboy Advance, with better graphics and the possibility to create your own tracks and save them.
- The app is for Mac.

Yet, I do it because I love ROM Hacking for what it is, and I love programming as well. Because I actually prefer the act of hacking a ROM, sometimes I just find the information, document it, but never find time to actually create a hack. I know that my work could be useful to other people, so I'm OK with that...

The main reason why I bumped into so many tree roots is because I was determined to make it expandable, i.e., add tracks and make them longer. The problem is that Excitebike has litterally no free space left. BUT! It also has only one PRG bank, which means adding a complete 0x4000 bytes bank to the ROM is a piece of cake...

From that, I said to myself, great, we are now free to use this bank to put any amount of new data. In practice, it was not so easy. Redirecting a pointer to the new bank is trivial, but it doesn't stop here. The pointer table itself is stuck in a contrived bank, so you have to move the pointer table. But then, you need to find the variable, or variables, that control the total number of tracks in the game. That's for the track data, which was the easiest part...

There is two other major parts of the game that needs to be addressed to make a coherent hack. Best Times and Palettes. If you only try to extend the track data, you will probably get away with it, but as soon as you exceed the 5 tracks limit, you end up with weird palettes. Again, you must move the palettes pointer table to the new bank, and reconstruct it accordingly. But wait, there are also other palettes related to parts of the game you don't necessarily want to change in the same way you want to change the tracks. From this point on, it becomes more technical, so I won't explain everything, although if time permits, I could share all the details on my own website...

And all that for a few more tracks. Sometimes it feels like it was not worth the trouble. But I couldn't realize it unless I actually worked on it. Anyway. Because of memory limitations (CPU memory), the game doesn't allow more than 20 tracks. More than that would mean that some memory locations would be overwritten and trigger all sorts of glitches...

So here's a screenshot:

And you can download the editor here: Biker 1.0

If I find time and motivation, I may as well try to make other versions of the game (NES VS and Famicom) editable as well. The track data is the same, so it could be relatively easy to add such feature...

As usual, if you have any questions, suggestions, or if you want to know about the data locations, or source code, let me know...

19
Personal Projects / Contra Demo - Sixth Edition
« on: January 12, 2013, 03:15:06 pm »
Hello to all Contra fans. This is the subject for the 6th enactment of my yet unnamed hack of Contra...

I wish I could have said, yeah, everything is finished, enjoy the show. No, sorry. I started working on level 6 after the project was put on ice once again. Level 6 sucks, at least from a level design perspective. The tileset is confusing and limited. Enemies are also limited: the only novelties are energy beams (3 directions), and the final boss. You can't have any cannons (gray or red), because the tiles don't exist. There will be a new enemy made from ASM hacking, another variation of the mortar shot. Other than that, I presume the level won't be very long, because after a few screens, there's nothing much left to do before it becomes repetitive. But don't take it bad, I'll make sure this level will be challenging and worth playing, and it will still be longer than its original counterpart, that's for sure...

Here's a screenshot of level 6 WIP:

Stay tuned!

20
Personal Projects / Arkalavista - Arkanoid Editor - Update
« on: December 09, 2012, 05:10:10 pm »
A few years after its initial release, someone sent me some comments on Arkalavista, an editor for Arkanoid on the NES. I had pretty much forgot about it, knowing that it was sufficiently functional, and also because of other projects I was working on. I went ahead and got the project off the shelf, and made an update. I made some changes to the general layout, I corrected a few bugs and converted most of the fields into decimal notation, which usually makes more sense from the user's point of view. I added a data section where you can change a few variables, like score, lives and ball speed...

I think Arkalavista is still the most accurate and complete editor for Arkanoid out there. There's a few more things I could integrate into the editor eventually, like tile mappings, and provisions for the Japanese version. I still have an uncomplete hack of Arkanoid that I put on the ice as well. Maybe I'll find some time to finish it eventually...

Download Arkalavista 1.1

Feel free to leave your comments...

Pages: [1] 2