So, yeah. I’m one of the chosen ones that got the Faceball ROM early. Just to prevent misunderstandings: I got the ROM early because I’m a nice guy. I don’t do this for money or to get a free copy. I will buy both, the normal and the collectors edition. The original version is a really great game. I played through it multiple times and I think it is easily worth 100$.
I spent the last 4 or 5 days hacking around in the ROM and have already discovered allot of things. It is my first ROM hacking project, so I needed some time to figure everything out. I focus on changing the gameplay and don’t try to fix the typos. Special thanks go to Greg Stevens and HorvatM who pointed me at the right tools. The Sacred Tech Scroll from Guy Perfect made things allot easier for me. He also took the time to explain me how to write asm statements and get them into a ROM (even though he didn’t know what he was helping me with).
That said. manipulating the ROM is fairly easy. After 2 days I could already do things I would have thought are not possible. I can’t wait for what guys like HovratM or Greg Stevens can pull of. So here is what is possible so far.
There are 14 mazes in the ROM which I can freely modify. Meaning I know how to:
– change wall positions
– change wall types (I was hoping to find a mirror wall-type as there are some hints in the game that this was planned but it seems like they didn’t make it into the code.)
– change enemy start position
– change enemy strength
– change enemy drop item
– change enemy attack behavior
– change enemy movement behavior
– change enemy escape behavior
– how to attach a shield to an enemy
– some other stuff I can’t remember right now
– oh yeah, there is a Facball enemy I can use
I also think I know where the items that simply lie around in the levels are stored, but I didn’t play around with that yet.
On top of that I figured out how the mazes are loaded. This allows me to create completely new ones, put them somewhere in the ROM and load them instead of the existing ones.
As I said before, there are only 14 mazes. This means if I manipulate maze 1 it changes for all 4 stages. However, I figured out where the selected stage is stored. After that I wrote some code that is executed instead the original maze-loading code. This allows me to load what ever maze I want and yeah, this means I can have 56 different mazes in the game.
However, I only tested this in a very simple way.
OK, that it for now. Ask questions if you want to. I will keep the updates coming.
OK, I just went through the ROM and went through the items. I already knew where they are but didn’t played around with them. I know now how to place every available item everywhere in the maze. I checked if there is something hidden but I didn’t found anything
Well, maybe one more thing. As I said before I can change the wall type. I can change the type to something undefined resulting in a invisible wall. The collision detection will still work so that there is an invisible barrier. Not really a secret but may be a cool game element.
thunderstruck wrote:
Well, maybe one more thing. As I said before I can change the wall type. I can change the type to something undefined resulting in a invisible wall. The collision detection will still work so that there is an invisible barrier. Not really a secret but may be a cool game element.
Is this a hint that we should expect to run into some invisible walls in your hacked version? I think that would be neat if it was setup right.
thunderstruck wrote:
It is nothing ‘special’ but the only secret I found so far.
“Nothing special”? This is the first public revealing of a hidden character in a prototype game that has existed yet largely been unavailable for the last 18 years! Sounds pretty special to me.
Benjamin Stevens wrote:
thunderstruck wrote:
It is nothing ‘special’ but the only secret I found so far.“Nothing special”? This is the first public revealing of a hidden character in a prototype game that has existed yet largely been unavailable for the last 18 years! Sounds pretty special to me.
Heh, ok ok… it is something special.
thunderstruck wrote:
Benjamin Stevens wrote:
thunderstruck wrote:
It is nothing ‘special’ but the only secret I found so far.“Nothing special”? This is the first public revealing of a hidden character in a prototype game that has existed yet largely been unavailable for the last 18 years! Sounds pretty special to me.
Heh, ok ok… it is something special.
And of course, the only official version you can strafe in. 😉
Benjamin Stevens wrote:
thunderstruck wrote:
It is nothing ‘special’ but the only secret I found so far.“Nothing special”? This is the first public revealing of a hidden character in a prototype game that has existed yet largely been unavailable for the last 18 years! Sounds pretty special to me.
Definitely something special! I mean I feel like a kid on Christmas morning at the moment with what’s going on. Lol!
I am glad it’s completed, all these Faceball related posts are causing me so much Virtual excitement.
OK… I made some more changes to the behavior of the level menu. The original game behaves like this: You start stage 1 and lets say die at level 3. If you start stage 1 again you will continue in 1-3. If you start stage 2 instead you will continue in 2-3. This is fine for the original game as all 14 levels are the same in all of the stages.
However, the remastered edition has different levels in each stage. Meaning, I had to change this behavior. I took the “easy” solution and changed the behavior that way, that it will always set you back to level 1 if you die. This also makes the game more challenging.
Therefore, I had to figure out where the current level, and current player health is stored and extend my own maze-loading-logic. Now the logic checks if the player died (health is 0) when a new maze is loaded. In that case it sets back the current level to 0.
Sounds easy right? Guess what, it wasn’t. Please don’t ask for other solutions. I took me allot of black magic to make this one work. I tested it a couple of times and it worked fine. Further testing might be required though.
Are you keeping detailed documentation of how you are doing these changes? It might be extremely beneficial to future hackers if they have access to this information.
Lester Knight wrote:
Are you keeping detailed documentation of how you are doing these changes? It might be extremely beneficial to future hackers if they have access to this information.
I’m trying.
thunderstruck wrote:
Lester Knight wrote:
Are you keeping detailed documentation of how you are doing these changes? It might be extremely beneficial to future hackers if they have access to this information.I’m trying.
I think I’m done with basic for the ROM-Hack. I know where the necessary stuff is in the ROM and how to change it. The next step will be to build the Level Editor. It will be a simple tool at first. I will polish it before gets released.
Doing stuff like this is always rather boring so I will try do get it done as fast as possible.
Just wanted to let everyone know that I will take a break of about a week or so. I know everyone is overexcited about all of the Faceball related stuff right now but I feel pretty exhausted and need some time to get back to normal. So don’t worry if you don’t see updates in this thread.
thunderstruck wrote:
Just wanted to let everyone know that I will take a break of about a week or so. I know everyone is overexcited about all of the Faceball related stuff right now but I feel pretty exhausted and need some time to get back to normal. So don’t worry if you don’t see updates in this thread.
You deserve a break, thunderstruck. Have fun. 🙂
thunderstruck wrote:
Just wanted to let everyone know that I will take a break of about a week or so. I know everyone is overexcited about all of the Faceball related stuff right now but I feel pretty exhausted and need some time to get back to normal. So don’t worry if you don’t see updates in this thread.
Thanks for the update, and *definitely* kick back and relax. Where should we send the beer? Heh.
If only the movies of the 60’s hadn’t lied to me. I would place some beer on the teleporter and send it your way.
OK, now that the Faceball ROM is finally released I can show of some stuff I figured out a while ago. Attached to this post you will find a modified version of the ROM that has a different level 1 in all stages. I changed some wall positions, wall types, enemy types and behavior. It also shows the hidden Faceball enemy.
Don’t panic, this is not the final hack. Have fun.
Attachments:
If someone is interested in where in the ROM I found the mazes, enemies and so on and how I manipulate them please just ask. My notes are kind of messed up so I can’t publish them right now. I plan to write some kind of How-To though.
I have recently put some work into creating a Level-Editor for Faceball. The first version of the GUI part is already done (screenshot attached). The only thing missing for a first working version is the actual patching of the ROM. Pretty much everything else is there. I will soon release a pre-alpha version so you guys have something to play around.
Attachments: