Battle Awesomification
Whew, it’s been a pretty intense day of stuff, but I’ve finally managed to get almost all of the main battle text hacked and working well — even better than the original game, in a way π―
But before I go into the blah-blah technical talk, here’s a new video showing how things look and act now.
There’s a chance people might be like, “Huh? What did you change?” so if that’s true in your case, see that video from two days ago. I also fixed and improved some other things.
First off, there was that horrid [WAIT] issue. I must’ve spent 30 or 40 hours total this week trying to figure that sucker out. Then, as I was skimming some code in the no$gba debugger today, for some reason a certain block of code suddenly seemed to stand out. I did some poking around and within 10 minutes I had the entire problem fixed. And as I expected, the fix was a one byte change. Seriously, I only had to change a 3 to a 0 and it all worked perfect after that.
Of course, the rule is that if you fix one thing you’ll 99% of the time find something new behind it that needs to be fixed. First up was the pic on the left. The game erases text stupidly, and I had already fixed this problem once before, but here it is again, in another form. So I was like oh no you di’ent and decided to write my own text-erasing routine that erases the top 32 lines the manly way — but shoving 4096 zeroes in the game’s face. That hack worked on the first try π
Argh, you stupid game That’s more like it
So I managed to get that out of the way, but there were still two more bugs standing in the way. This almost feels like cyber-EarthBound, and this battle text is a bug boss π
Is that one of them inkblot test things? Text went too far out
One problem was that sometimes level up text would print a crazy garbage character at the very end. I expected the fix to require a lot of time, but now that the hack was nearly complete, I could safely remove some of my hack’s code that was no longer needed, and doing this made the game rely less on my hack, which in turn cleared up that extra random garbage character. If that makes any sense. In any case, that’s a very good thing, less code, complexity, more reliance on the game’s original code, AND a bug fixed.
Another problem is less a bug and more of a feature issue — text formatting. It’s hard to anticipate in advance how every single line of text in the game will look, since you can name characters, favorite stuff, your PK attack, etc. And enemy names all have different lengths, etc. So you could either format ahead of time, or you can try to do automatic text formatting using custom code in the game. EarthBound was one of the very few SNES games that did automatic word wrapping, and it’s always been something I’ve thought was awesome. So I figured why not do the same thing with MOTHER 3? The code for it only took about an hour or two, and it’ll save a good deal of time and energy down the road, since we won’t have to manually format all the battle text (there’s like 50 KB of it!) by hand.
So the automatic word wrap thing might not seem like a big deal, but for me it’s pretty kick-ass. Now that I think about it, back in October, I hadn’t even had assembly hacking experience, so the fact I’m here now replicating this cool feature from EarthBound is a “whoa awesome” moment for me. You can see the auto word wrap stuff working in the video above, too. In any case, lots of work done, and the main battle text system is nearly done!
What remains to be done with the main battle text system is this:
- LOTS of testing, there may be weird situations/cases I didn’t test for or anticipate
- Hack the “do you want to throw this away/keep this item?” text, which is sadly probably not connected to the main battle routine at all π
- Maybe more stuff, not sure. I’m sure the game’ll throw some wrenches our way
Gonna be decently busy this weekend though, so it might be a few days until I get to that stuff. For now, sleep.
PS For those who like technical blah blah stuff, here’s a peek at the battle VWF hack. This is what an assembly hack looks like. This hack spans 3 different major parts and a bunch of little changes elsewhere, this part here being only the first part. Behold my inefficient coding style! π But see how much better it is just having simple documentation like that? Man, I wish this game’s code had documentation.
Oh, also, not related to this stuff, but check this out, it’s Itoi stuff, Moonriders stuff, AND slightly MOTHER 3 related too. I liked it enough to sub it π
Dedicated hacker posting at 3:30 A.M. This is why we love you, Mato.
Woot!
Is it bad that I literally clapped and made gleeful noises when I saw that the last few day’s bug was fixed? Cause I totally did.
I wish I could tell you how much you rock. But it’s just not possible to express in natural human languages.
Seriously, at 3 o’clock in the morning? Sweet mother (lol) talk about EXTREME DEDICATION! XD You, sir are insane….ly AWSOME! π
BTW, youtube is going to flag that video fer sher because it’s just WAAAY to sexay.
Congrats Tomato, I knew you’d pull through! π
I’d express your awesome in Saturn speak, but I don’t know how to talk that cool π
Someone else give it a try.
Congrats, it’s looking great.
So, let me get this straight. Eating gunpowder makes the battle-text narrator go insane?
*The Glomp of Appreciation*
Hey,mato. I tried visiting that page you showed in the movie, but i couldn’t find it. I DEMAND AN EXPLENATION
Also, the translation team has just earned a +1 in awesomness.
Amazazing! π Someone should make a “Suptoma” — Super Tomato Machine which plays “Ode to Tomato” and doesn’t break. π
lol “Flint ate some gunpowder because Tomato told him to THIS IS AN AUTO WORD WRAP HA HA LOOK AT THAT IT WORKED flint flint I feel happy ROSEBUD please visit http://starmen.net/cult it is an excellent site. The end.” I like that even though it was just a test.
Wow, so amazing, the problem is solved before I expected =)
I also would like to quote every post above me. So true…
Don’t worry man, you’ll get what you payed for. π
Completely awesome!
Now YOU SIR, are a dedicated fan, wanting to share this glorious game to the Western world for the rest of us fans with no hacking skills *ashamed* but damn man, do you ever sleep? You guys are so awesome.
It makes me wonder if in the future this game will be hack-translated into say, Spanish or so by someone else.
Sounds like your really exciyed about this. its good to know were not asking you to do something that you dread. Awesome work. thanks, again.
wow looks like most of the major issues seem to have disappeared! ^_^ that bodes well for the project! keep it up tomato, you’ll have this patch released in no time! ^_^
*faints from matoΒ΄s awesomeness and dedication*
Once again, Tomato, respect doubled. Maybe tripled. You deserve deification for this work. 8D
also, lol@starmen.net/cult
whoa! you sir are a truly hero!
have a nice sleep hehe, i just CAN’T wait to play Mother 3
@Unsavory Maggot: Heh, that would have the added benefit of making chimerae praise Mato every turn during battle. π
(beat THAT, Orange Kid!)
Wowwie! Look at that word wrap go! You basically took that problem from earlier and SMAAAASH!!!ed it! I wouldn’t be a bit surprised if this translation was/gets talked about in a Nintendo Power issue.
duude, I wonder if you’ve got shadows under your eyes.
you rock!
Coolkalle: http://starmen.net/cult
FinalGamer: I’ve been trying to keep hacks and such open enough that when the English version is done, translations into other languages will be easy to do. My hope is that it can get translated into a bunch of other languages, except we may be running low on font space so languages with TOO many crazy extra letters might not be possible. But most European languages should be fine I think. I’m surprised there isn’t a Chinese translation yet, since the original game has the entire SJIS set and more.
Corncracker, I’ll give it an unpracticed shot.
BOING! YOU ARE… ZOOM! TOMATO! YOU ARE KAY-O! NOTHING ON YOU HAS EXOPHASE! GLEE! TELL HIM PLEASE THIS. MAYBE HE WILL WORK ON PROJECT AGAIN. MAYBE HE NOT WILL WORK ON PROJECT AGAIN. MATO NEED HELP. MATO NEED SLEEP. OTHER HACKERS NEED TAKE REINS. JEFFMAN, YOU THANK. BUT SUPER AWESOME IS THE TOMATO COOL BOING!
Wow, I haven’t checked in for a while, but it’s great to see how much progress has been made! I applaud your work heavily – You’re an excellent programmer, Mato.
Keep up the awesome work!
Incredible. This is beyond comprehension. How in the world did you dive into thousands of lines of Assembly Code and fix this thing in less than five days? That’s just unbelievable. You absolutely must be far more talented than your modest claims have suggested.
“so I was like oh no you di’ent”
-Best Mato quote ever. 5*
Wow, looks like you guys are just trucking along.
I can’t wait to play Mother 3 again, but actually understand what the NPCs are saying this time.
Is there any possible way in which I can donate to the people that are working hard on this project? Even if its a small donation by some, it really shows how much we’re respecting the amount of effort going into this project. Please let me know if there is a way! =)
I appreciate the sentiment, but I don’t want money involved with the project. It tends to make people crazy and might make things seem a little more shady, especially to Nintendo people.
This is possibly the most exciting news that I could possibly wish to hear!
=D Thank you very much for posting this update.
At this rate either this or next month we’ll be playing a Japan only game in english. Unless something bad happens
Three cheers for Mato! Hip hip hooray.. hip hip hooray!!! Hip hip hooray
elmo_lol: Heh, the project is still a LONG ways away from being done. It’s not going to be done next month, trust me.
My brain exploded from the extreme awesomeness… somebody get me a mop
Looks to me like you could power through the rest and have it done in a coupla months π That’s just hopeful thinking though, take as much time as you need. Just know there are obviously a lot of hardcore Earthbound fans cheering you on. I can’t wait for this patch!
Don’t be too modest, Mato. After all, the battle text is, like, a third of the entire game text. And although you continue to affirm that there is no way to affix a completion percentage, I think it’s safe to say that this past week augmented that percentage by more than ten.
Also, you should probably put another bulletin in that warning box saying that you are not accepting donations, since a lot of people want to do that.
So where to now? Will you resume debugging the main script? The item menus, as I understand it, are also nearly done. It seems we’re getting into the territory of the stuff you wanted to hack after everything else. You’re awesome to have gotten to this point. Get yourself some sleep, you crazy New Age Retro Hippie.
damn nintendo. You must be getting like 3 hours of sleep daily, so don’t be so modest about your awesome work
XD at the test text!
This just keeps getting better and better!
Awesome Tomato, I knew you could do it. For a guy who is the lead translator you sure have got one over on a bunch of hackers ;D
Wow this is so awesome. I remember how much trouble the battle system was giving you and now it looks like that’s pretty much done with (aside from testing)! I am so hopeful for this translation’s eventual release =D
Just wanna say good job and keep up the good work! π
Much love! keep on keeping on!
I got the warm fuzzies pausing that battle text so I could read it. Congrats, Tomato.
Looking awesome, keep up the great work!
Awesomification – check! So worth the wait!
Keep up the great work!
omg u guys r super close…atleast more close than the first time i saw this site. Most of the words were still in a foreign language…seeing ur progress is truly inspiring…BRAWL COMES OUT IN 8 DAYS
π
Wow, I haven’t been following the Mother 3 translations… I can’t believe how far you guys have progressed! keep up the awesome work, you have my eternal gratitude.
You should leave that test text in the game.
Awesomification completed. That’s looking schmick mate! Keep up the great work.
Wow, icky assembly language. I took one look at that and was thankful that C++ isn’t as bad as THAT. O_o
Shouldn’t it be “there was a nut bread inside” instead of “inside, there was a nut bread”? the comma makes it kinda awkward. Sorry, I’m picky.
G.Wicks: You don’t like the way EarthBound phrases it either, I take it π
MATO! YOU ROCK!
Seriously, this whole process, getting this one hack working…my God. Thank you so much in your efforts to bring this incredible game to our eyes.
Now, please, man, take a break, get some sleep, pwn some n00bs. You absolutely and utterly deserve it after all this work.
I mean, you put more effort into this project than I do in my C++ coding stuff for school, you know that? o_O
Don’t you wish sometimes that you could find a 1 byte hack that would turn Mother 3 into English entirely? π
Good work as always!
Also, I noticed that when Flint takes the Nut Bread, it says “Flint got the Nut Bread!” But shouldn’t the exclamation point be a period?
@Zero: No, Nut Bread is exciting stuff.
Zero: The original has an exclamation mark. But like I’ve said before, the current battle text is old stuff that we’re throwing out anyway.
Nice. Glad that mess is over.
You should update the TODO list to reflect all the recent progress.
This is incredible. You guys are incredible. Tomato, you are incredible. I understand how you don’t want money to be involved with this project, but can I send you cookies when it’s done? No joke… Like, Mr. Saturn sugar cookies! I just feel I need to do SOMETHING for you to understand my gratitude, especially because of the sleep you’re losing over this, not to mention you tackled something almost nobody would touch.
My god, I need to at least send sugar cookies…
win
Awesome Tomato! Really freaking awesome! I’m glad your so passionate about getting this done. Great job man.
Great job, Mato!
Is the game stable now? When you play it, does it still crash? I was just wondering because a few posts ago you said something about how one still wasn’t able to play the game through.
Thanks again and good luck!
Tomato is a god among men. Anyone know any flash carts that Mother 3 is confirmed to work for?
ALX: My personal goal is to try to get all the major hacking work done by the end of April, but I don’t have much confidence we’ll be able to do that. It’d be nice though. I really do need to get this project off my plate so I’m eager for it to get done quickly too, though the part of me that says “not until it’s 100% awesome quality” is always there. Trying to fit time for this, real life work, real life stuff, etc. is tough. I’ll be glad when it’s over π
Coconut of Enlightenment: I’m not done with the battle text yet, I still need to do more testing, betterfy some things (my gut says I need to look at how it handles other control codes), and then I need to hack the “you got too much stuff, throw something away?” junk, which will have to be an entirely separate hack of its own, bah. Only THEN can I move on to other things. So we’re not out of the battle text woods yet.
Moulinoski: Sometimes C++ can get just as crazy though π But yes, higher level languages are so much nicer on the brain. How I wish we had the source code to all this, it’d have made things a lot easier.
Shane: Put more work into your school stuff then π Seriously, you never know when your current work will come in handy. The one assembly language class I took in 1998 wound up with me hacking this stuff today. So maybe someday you’ll be hacking MOTHER 4 for us π I’d try my hand at it myself, but I’ll be 85 by then, so yeah π
zdude255: Actually, it’s not over yet, like I mention above.
Alato: Nah, that’s okay, though it’s a cool gesture of you π I think the best thing would be to just enjoy the game and translation whenever it comes out.
kevindubrow: Well, it depends on what you mean by stable, but for now the main text routine still produces unstable results for a couple of reasons. The reasons are understood, but later on we’re going to have to rewrite the main text routine, which will be a lot like how this horrible battle text saga has been, except it’ll probably be a LOT more complicated. So that’ll probably be the last thing we hack. Once we got that working, it’ll probably be at a good level of stability. The main script text uses some same ideas that the battle text used, but it also does things in a pretty different way. The biggest problem is that I think the game only has enough memory for 44 letters at any one time (sound familiar?) so it’s gonna be another tough ride.
Ceravic: Flash carts are gonna be such a big problem π Some flash carts can’t save MOTHER 3 save games properly, some CAN save properly but then can’t when the menu patch is applied (wtf), some other carts will crash/freeze right after the naming screen, etc. So many issues. sblur has some sort of fix for the crash/freeze thing, but the no-saving thing is still a mystery and I don’t have time to investigate it and probably won’t for a very long time. So just beware that there are many carts out there that run the game but don’t work 100% all the time, and apparently some can act differently when a patch is applied. Maybe that’s just another sign of how weird the programming is? I dunno.
*swoon*
MATO: I stand corrected! Nevermind, then. I honestly didn’t remember that… it just seems so awkward.
Hi
Ok, I dont know anything about hacking or progamming, but I do wanna ask if the Frame Skipping is dependent on what you are doing to the game? I remember I quite enjoy to speed up some walking time, especiialy if you just died^^
Mato, aren’t you gonna update the To-Do List? π
BTW, I have some experience in Flash Carts, and there’s a simple SRAM patcher that can resolve most of the problems with the savings.
dude, very nice, I see you got the post-battle text scrolling to work
looking great dude! btw you almost died.. quick, eat a croissant! lol =)
keep up the great work man
Awesome work guys. Keep it up, you’re all my heroes for doing this.
I know that It’s been said like a thousand times that you don’t know when this’ll be done, but can you answer this: will it be done during this year?
A non hacker: You can set up your emulator (or at least VBA) to do frame-skipping at a specific number, or automatic frame skipping, or you can use the “fast forward” option, which is useful, but for some reason it seemed to cause problems with the battle text when I was testing it last week. Not sure what’s up with that. So anyway, you have all those options there. I prefer to turn frame skipping off, as the game has really smooth animations and stuff that’s really nice-looking at full frames.
Lol: Huh? What for? We haven’t finished the battle text hacking yet.
ArashiSai: If nothing bad happens, like one of us getting really sick or dying or having our houses blown up by lightning or the Second Coming or Nintendo saying hey you guys, then yes, sometime this year. Most likely in the latter half.
HOLY CRAP THE LIGHT AT THE END OF THE TUNNEL!!!
GREAT WORK TOMATO AND COMPANY!
I wish all of your awesome videos didn’t get removed so soon π at least I got to see this one once before it was removed unlike the last one.
um… i swear it just said it was removed the last time I clicked it… -_- well now it worked again :\
[[Quoties:
# Dio Santos said 1 day, 2 hours ago:
Is there any possible way in which I can donate to the people that are working hard on this project? Even if its a small donation by some, it really shows how much weβre respecting the amount of effort going into this project. Please let me know if there is a way! =)
# Mato said 1 day, 2 hours ago:
I appreciate the sentiment, but I donβt want money involved with the project. It tends to make people crazy and might make things seem a little more shady, especially to Nintendo people.]]
Would it be cool if the donations were in the form of sexual fav-errr, I mean free pizzas?
Woo creepy time!
This is really impressive to read. Keep up the good work! o_o
Very impressive work, Mato!
You’re really getting good at assembly hacking, based off what I saw in the latest video vs. the older ones.
Man, I can’t wait for the next update!
Also, I totally agree that this is like a certain large antoid boss creature. xD
I lol’d heartily at that part.
You are a friggin’ genius! Keep up the amazing work we are all cheering for you!
You people ROCK!!! You deserve the respect of everyone who wants Mother 3 translated in America or if you’re in Europe or somewhere who speaks English. Anyway…
I can’t wait until this is released, you keep me going on School days. That’s geeky but oh well.
Yeah looking at that code from the previous update made me want to jump too. BUT, it’s so nice to see you’ve gotten a whole lot of work done on this huge obstacle. I know that doesn’t mean it’ll be smooth sailing from here on out, but just knowing you’ve got a good portion of the hard stuff over with has got to make you feel a little better. It does us at least!
Also that song was cool. Pretty sad, yeah, and it took me a while to realize who the character inspired was. xD; I liked it though, it was neat.
This is super awesome!
CHUCK NORRIS APPROVED ::FIST::
Mato, I’ve been following this blog for a while, and I’m incredibly impressed with you. I’ve played some of the high-profile fan translations like FFV, and I had NO IDEA the complexity of the hacking. I’m an experience programmer myself, working on a Master’s degree, and I’m really at a loss as to how you do it. Do you have tools that let you debug the game while stepping through each line of the assembly? I guess I can see how you could slowly figure things out that way, but still… wow.
I’ve loved EB since forever, and I got my wife to play through it with me after we married. She loved it, so we’re both excited for this. Now, she’s 5 months pregnant, and if we’re lucky, maybe your patch will arrive before that baby does! Then I will take that child, my firstborn, and give him to you, for you will have earned it. π THANKS!!
catapul37: What a coincidence! Thanks to EarthBound, my favorite food is Babies!
j/k, but congrats on the kid, and may your parenthood be one of few diapers and much happiness π
I dunno if the patch’ll be ready in time though, but who knows. Maybe there’ll be a miracle of some sort. And yeah, the debug version of no$gba is what makes the process a lot easier to take in. Hacking the game is still hell, though, but made a tiny bit easier at least.
MATO: I totally put in that my favorite food was babies the first time I played…. and the 2nd. It’s just so much more satisfying that way!
CATAPUL37: I demand that you name your first born child after someone on the M3 fan translation team. XD
I guess you guys get a lot of love each week, so there’s not much point to me dropping my load on the pile…
too bad! I’m doing it anyway! Keep up the good work!
Anyone think that Sakurai purposely includes stalled or Japan-only games in Smash Bros to pique interest for their revival? (ex. Metroid & Earthbound in the first game, Fire Emblem, Ice Climbers, and Earthbound yet again in Melee, and now Kid Icarus, Pikmin, and… yet again Earthbound, in Brawl) Hm… I wonder if Sakurai is a secret visitor of this site?
Just finished reading and I see that there’s another update. This is amazing, Mato!
Holy crap. I’m shocked — 4/5 months later and you are an assembly hacker.
I hope I could learn that quickly π
does mato still smoke meth all day
ps mato good work as usual my big man… good stuff..
I have to say, you’re doing a pretty good job with the translation. Keep up the great work because I know it’s probably difficult as heck to translate the language and for the text to work correctly.