We're using cookies to ensure you get the best experience on our website. More info
Understood
@thunderstruckRegistered July 1, 2011Active 4 days, 16 hours ago
1,114 Replies made

HorvatM told me how to access the Debug-Menu in the emulator. Apparently you have to use keyboard keys that are far away from each other. This configurations seems to work:

A: P
B: O
L: Q
R: W
Select: V
Start: B

Access to the debug menu allowed me to analyze how the music is loaded, as you can select the different songs there. I found where everything is stored in the WRAM, hunted down how it is loaded there, found where the music is in the ROM and finally found the pointer array that points to the music (at 0x1C3314). Each song is identified by 7 pointers (I don’t know to what they point yet but I guess to the music for each channel and configuration). There are 15 songs identified this way. However, the first song only contains all of the sound effects. Every other song can be accessed though the debug menu so there was nothing hidden there.

By modifying this pointer array I can exchange songs with each other. However, it doesn’t allow me to play different songs on each stage/level. Therefore I need to change the music loading logic. I guess I will look into that next… but I think this is already enough for today.

Well, I added all kinds of stuff to the level editor.

– The enemies (Ninja, Death, Shieldman) now have same behavior then in the game
– You can now set the orientation of an enemy (north, west, south, east)
– You to modify the behavior of enemies.
— You can pick one enemy and assign the behavior of a different enemy to him
— You can change the behavior of an enemy by defining attack pattern, movement pattern and escape pattern

Modifying the behavior does not work for all of the enemies as some of them have their own special behavior. I left all of them in the editor though.

Everything I figured out so far can now be modified using the editor. So I guess I could start building levels…

hahahhahaha, I just saw this has been added to the demo section. It is crappy… I did it in 10 minutes.

… and ordered

I fixed the behavior of Shieldman today in the level editor. He now uses his shield again. I thought that I once managed to attach his shield to an other enemy but I must have been wrong. I tried it again with no luck. Well… at least the shield is back.

hmmm, I just noticed a little BUG. The 1-1 Button only works if you patched the ROM a least once the usual way. I already fixed that.

DanB wrote:
Keep calm, updates will come.
I’ve just been busy lately with work, life and all 😛

I’ve mostly been working on adding music so far, which will “soon” be done 😉

I have no idea how your game works but if it is somehow similar to the ROM you may be able to utilize my Faceball Level Editor to build your levels. I can easily write and additional exporter if stuff fits together.

Hey, you are already pretty close to your goal and there is still plenty of time left… seems like it is working out good.

Here is a screenshot. I will make another video soon that shows how easy everything actually is.

Attachments:

OK, I changed the patching so that it now writes all 56 levels to the ROM. I had to adapt my custom maze loading logic which I hacked to the ROM a while ago but I can now load all of them. Right now there is only an empty room with on enemy in it in ever level. For testing I justed the editor to write the stage and level number (using walls) into every level. That way I tested if every single level can be loaded. Everything worked fine so far. I didn’t used items or allot walls/enemies though. So there might be some side-effects I didn’t discover yet.

There are a couple of features left to implement before the alpha version is done… we are getting close though.

OK, some more changes: I added another drop item to the enemies. I also added the items the lie around in the level to the editor. There is now also a dialog that allows you to set the player position, health and remaining time.

I tested everything and the patching works fine.I guess the next step is to try this out with multiple levels.

Sounds pretty cool. Have to give it a try.

thunderstruck wrote:
Wow, finishing Faceball would be quite and interesting task. I don’t know if I would be the right person to do something like this…

LOL

OK.. I did several improvements to the GUI. I changed the dimension of the walls (now that I know what the max size for walls is). This allows me to place enemies more accurate. I also fixed the calculation of the y-position for walls (it was mirrored). On top of that I optimized the calculation of enemy positions. I double checked everything with what actually happens in the game and it looks fine so far.

There are some things left I want to do before I release the alpha version. Depending on how busy I am this may take a week or two.

jrronimo wrote:
So let’s say someone who has very little programming experience wants to get a project going. Do you have any “required reading” or knowledge to help get someone started? Or is it unlikely that anyone’s going to get anywhere without a CS degree?

I’m asking for a friend, heh. 😉

VB programming is fairly easy. I doubt you need a CS degree, just some basic programming experience. I’m always happy to help people getting started. So if there are questions just ask.

I have been playing New Super Mario Bros. U lately and one level is giving me a strange Déjà-vu every time. This is what I mean: http://www.youtube.com/watch?v=ZL4SkgXWmn8 (skip to 0:50)

I made short video showing of the very first version of FacEdit. You can check it out here:

http://www.youtube.com/watch?feature=player_detailpage&v=66udV3uwwBo

Please remember that this is an very early version, so there are still allot of features missing.

Seems like I can add 20 enemies to a maze. After that the game crashes. That’s still allot enemies though.

OK, the basic functionality of the level editor is there. I can draw mazes, add enemies (right now only with their standard behavior) and patch everything to the ROM. There is a long list of stuff that has to be added/changed but the initial version works.

Right now I only implemented the patching for level 2-1. Doing this for the remaining mazes shouldn’t be to complicated.

DanB wrote:
Cool that you’ve made so much progress so fast! Did you find out if 10×10 squares is the maximum level size?

It is. The game crashs if a wall is longer then 10 segments. If I add wall outside of a 10×10 square the start and end positions are recalculated to fit into the 10 x 10 square.