Wario Land 3 romhack with LUA flavour

I'll have to check this out! I also made a Wario Land 3 hack myself, called the Master Quest, so give that a try if you want to! Wario Land 3 hacks aren't very common at all, because they aren't the easiest games to hack! Definitely interested to see what this hack contains, especially since Wario Land 3 is one of my childhood favorites!
I'll have to check this out! I also made a Wario Land 3 hack myself, called the Master Quest, so give that a try if you want to! Wario Land 3 hacks aren't very common at all, because they aren't the easiest games to hack! Definitely interested to see what this hack contains, especially since Wario Land 3 is one of my childhood favorites!

Hello man, and thanks ! :bigwah:There'll be some time before this hack is made playable for everyone. My developing pace is kinda fast right now, but it might slow down because of real life projects.

I checked your hack 6 months ago, and to be frank I gave up on the first stage because of the excessive platforming. It feels out of place with wario's movement and capabilities : Wario in WL3 is not as maneuverable as his nemesis Mario in most games, so this kind of challenge rapidly becomes boring, and combined with the harsh difficulty you set this level in (insta reset warp tiles when falling), it doesn't make the player willing to go further. There's room for creativity making a very difficult SMW hack with insane movement tricks that appeal to a masochistic audience, but not really for WL3.
Yeah, there are a very few select people that the Master Quest will appeal to! I intended it to be frustrating, yet giving a feeling of accomplishment to those who can complete it 100%! On one of my playthroughs, it took a whopping 439 restarts to complete it! But thank you for giving it a try! There is one thing that can make the hack a LITTLE less frustrating: If one were to pause the game and select 'SAVE', it will create a sort of 'restore point' in the level, and whenever the player hits a skull tile, the player will restart back to where the player last saved rather than the map! That is actually essential for completing this hack! Needless to say, I have lost my motivation to continue working on it because I ran out of ideas for it, and I don’t have much interest in hacking Wario Land 3 right now... Oh well!

Anyways, I look forward to playing your hack, although I don’t know the first thing about LUA or how it works, only that I know OF it! What kind of things can be done with LUA scripts?
Last edited:
Check this for the main functions on VBA re-recording : Google Code Archive - Long-term storage for Google Code Project Hosting.
Bizhawk would have better for my project I think, but it's kinda late for an emulator change ...

You can do almost anything to the game if you know the LUA langage, understand where are important addresses on the RAM and how do they work with each other. It's the opposite of romhacking : you change the game with external code rather than touching the code made by the original developer.

Here it is guys ! I also simplified the treasure collection system I was aiming for in the beginning (and made it so it actually skips unwanted WL3 cutscenes now), + coded some stuff to write text as in the original game for new cutscenes (need to be finished).
Last edited:
That looks great @Blanchon! The lightning makes for a very interesting level mechanic, and the new carts are nice to see too.

This hack really does seem to be getting better and better in every video.
It's because I know a bit more about the game than 6 months ago, when, for example : I didn't know where the objects'/enemies' spawn for each one was defined in the RAM. It's easier to control the behaviour of one specific enemy amongst a bunch now that I know the two addresses which contain the unique x/y (in tiles) of his spawn point, and it was useful to give these "carts-platforms" different height limits and conditions.

I'll answer to you here CM30 instead of romhacking.net since my posts take too much time to be approved by the moderator there : yes, it's too bad it's impossible to export it on an actual GBC or GBA. The fact it's also based on VBA rerecording is also a shame. Then Romhacking is too hard for me unfortunately, and I'd have to get massive help from other experienced people (my work would be useless), so it would be a dead project.
Fair enough. Everyone learns more about the games they're modding the more they get involved with that stuff.

And yeah, programming for the GBA (or any retro games console) is always extremely difficult. It certainly gets simpler with practice, but it's never as simple to pick up as learning a more modern language with decent documentation, support forums/groups, etc.
So, are there any more interesting level mechanics in development for this one?

Yes, i'm currently programming a new common enemy for a beach level. It's not easy, and making each frame for his animation is going to be a pain in the butt (it's a big sprite) ! Right now I need to finish his fleeing mechanic and some stuff related to spawning.

Also in the meantime I also expanded the "stagnant swamp" level and finished constructing and coding the sections for its red key and treasure (which is now collectable).
A new enemy? Huh, that does sound impressive for a mod done with LUA scripting. What exactly is it and how does it work on a technical level anyway?
It's a seal on which you can bounce higher or lower depending on wario's fall distance, and molesting it (1 shoulder bash or 3 jumps on it) will make it escape in the opposite direction until a 2 tile-high wall is hit (not done yet) or if it goes over the screen ; then it stops and sleeps again. Wario's high velocity in air (while shoulder-bashing) is kept if the original direction-input is maintained while bouncing. A video would explain it better I think. :)

On a technical level it's a mess : because I can't modify the second VRAM bank which contains the 4 gfx slots for chosen enemies and objects (vba rerecording doesn't seem to be capable of touching it sadly), I had to do it AGAIN with the first bank, by replacing the chest gfx and making the level so chests aren't in the same place as this new enemy. That said, the seal is one long sprite that has no equal in WL3, so I decided to force values directly onto OAM to give it different positions and attributes. It works at least, and because it's done with external code, I can create any number of frames for its animations and paste it on the chest subtiles the moment I want (the game does the same but only with wario's sprite it seems).

I'm just talking about the gfx side, I have no energy to continue on the rest as I already spent too much hours yesterday on the code for the actual "seal" object in the WRAM. :SpoiledRotten:
Last edited:
By the way, can't remember if this was mentioned before, but - could you make it so that the B button ends Fat Wario early?

Mmh I don't think I will do this, because it doesn't take as long to leave this status and you keep decent control of wario's movement all its duration, on contrary to fire wario where you can only jump in the first stage (and not jump at all in the second). There's more interesting stuff to do with fat wario I think.

Hmm, wonder if @Blanchon got that seal enemy/NPC working yet? Or created any more levels for this?

The seal enemy is finished ! I don't talk much because I want to finish my first cutscene (it includes the seal) and begin for real the construction of the beach level. When all is done, I'll make a video to present the cute fluffy boy (with annotations maybe).
Yeah, it's super impressive you got all this working, especially given it's done through LUA scripting rather than hacking the base game itself with custom ASM.