Things were speeding along way too well to be true there. It was about time for the universe to play another evil trick to try and foil me! Did someone die? Not this time. Historic natural disaster? Well, we did get 24″ of snow in one storm, which I haven’t seen here in about 20 years, but that’s not it either. Evil lung infection sickening you for months? *Ding*, we have a winner! I was healthy nearly all of last year, but it was time to pay my sick debt! At the end of November, I came down with a terrible lung infection. I was sick for about 2 months. Since that time, the infection has resolved itself, but I have been left with chronic lung inflammation ever since. What doesn’t kill you makes you stronger, right? *RIGHT*? RIGHT! I am not dead yet, so I must be getting very strong!
The good news is there hasn’t been much work for me to do on my translations projects, so they didn’t suffer much set back. The work is still currently offloaded to others. Here is the latest update:
Let’s recap; The game is fully translated, and all technical hacking is complete. The script was found to strongly need some editing. Myself and Kay (the translator) did some of the editing ourselves. However, it really needed someone above our skill level that would be dedicated to the task. So, we decided to call in the proverbial professional! Script editing was handed off to my favorite script editor, Misty. She’s done previous TransCorp script editing for Wozz.
Misty is intending to do two editing passes. The first pass will be the general editing pass. The second pass will be for characterization. The first pass has been progressing well, and she reports being about 90% complete! We have not yet decided if we will coordinate beginning beta testing and the second pass of editing around the same time, or do it in strict serial fashion. We will see how the time table ends up.
So, we have just editing, testing, and release remaining! Hurrah!
Tenshi No Uta
This project has been plagued with bouts of missed text since the very beginning. Other than the main script, many of the menus use isolated, hard coded strings. This means they have absolutely no organizational structure, and aren’t even grouped together. With no organizational structure, you can’t easily find and extract them (let alone all at once, together). I have employed pattern searching based on the code patterns used to call these strings. That caught many, however I have still been nickled and dimed with continued one-offs called in different fashions that I was unaware of. You simply don’t know of their existence until you see them in-game at times.
The main script was translated long ago, but now we have numerous bits of untranslated text from the above described scenarios. This has caused a big slow down for Liana (the translator). With so many years in between, she really needs to spend a good deal of time to come back up to speed with the game as a whole, in order to best translate the missed bits. She is working on doing so, but time is limited in her life as well. These are just some of the issues to deal with when projects span so many years.
On the technical front, I have done most of the major technical work, and inserted all translated text I have thus far! I am anxiously awaiting the next batch! Once all text is English in-game, I will begin a final technical pass. This pass will include working out finalized formatting, lengths, expansions, and any additional hacks necessary when everything is all there.
All in all, Tenshi No Uta is not too far behind Heracles. It is shaping up very nicely!
Dual Orb 2
As a bonus this month, we have another small update for Dual Orb 2! I pride myself in keeping my projects properly maintained and updated whenever I can, even many years later! This update was prompted by work done by mziab of mteam fame. He is the author of the Polish translation of Dual Orb 2. With his help, the last known issues from the readme were resolved, as well as a rearrangement of the naming screen. I can’t believe I never did anything about that ugly mess! A big thanks goes out to miziab for doing the grunt work. All I had to do was integrate it into the English patch, which went well.
With this release, Dual Orb 2 is back to golden status where all known and/or reported issues are resolved!
Bashing Blocks for Progress
I’m happy to say things have been continuing to cruise along at full speed. All projects are very active and very far along. What more could you ask for? Releases you say? Soon my friends… soon.
Glory of Heracles IV
I completed all of the technical work on the project and began play-testing on the real hardware. After play testing quite a few hours, I fixed all issues I was able to discover until I could discover no more! Technically, the project is in great standing and ready for group beta testing. However, the script is lagging behind at this point. Although complete, it really is not ready for prime time. After close review, it needs another edit. I logged numerous issues for our translator to review and he has since reviewed them all. He started another round of partial editing, but didn’t have time to do more. So, we decided to get a dedicated script editor to finish the job.
Currently, the script editor is ready to start editing. Upon completion of this round of script edits, we will finally be ready to start group beta testing! The next update you read here will most likely be that announcement! At this point, I have nothing left that I can to do on Heracles, and have been freed up for other projects!
Tenshi No Uta
After running out of technical work on Heracles, I turned my attention to Tenshi No Uta to keep the momentum going. As a result, Tenshi No Uta has seen tons of progress in the past few months! More so than it’s seen in years! This is thanks to all of the new tools I have been developing the past few years, that are now coming into fruition. I was able to use my NuVWF to convert all of the dialog, battle, and menus to VWF. This game will have a complete conversion just like Heracles IV. Few other projects have ever received such treatment.
I was able to use TextAngel to dump all of the remaining missed text, format the script, and insert the script in it’s entirety! The dialog is all ready for in-game review and editing. With the menus, I have English solutions hacked into place for all of them! This includes inserted English place-holder text until the missing parts of the script are translated. That concludes the bulk of the menu work. Only a finalization pass remains when the final translations have been completed! I have re-enlisted Liana (the original translator) to continue on with the remainder of the translation work. I await these translations so I can begin the finalization pass on the menus!
With this, I’d estimate Tenshi No Uta is now 80-85% complete!
NuVWF is a universal VWF engine/library that I’ve been working on for awhile. Now that I’ve gotten far enough, and have some real world application in both Heracles IV and Tenshi No Uta, I have finally updated the forum topics with some details of the implementation. Feel free to take a look if you have any interest in this endeavor. I plan on trying it out in some additional games when time permits.
I’ve posted the latest update on TextAngel in the forum. Basically, it’s in good shape dumping wise, but in design hell due to lack of a coherent insertion solution. Any ideas would be be appreciated. I’m trying to come up with something that works with the node building approach I’ve built for dumping. You can get an idea from the screenshots on the first page of that topic.
Double Time? No, Triple Time!
Shortly after the last update, I was able to get back to major action! I made sure I was working double time to make up for last quarter’s lack of progress. No! That still wasn’t good enough! I had to make the push of a lifetime to make sure Heracles IV was going to get finished. I had to work triple time! The result was one of the most productive quarters in the past 10 years for TransCorp! Where do I even start? I’ll start with the punchline that all hacking is now complete and all currently known issues have been resolved!
I had a big breakthrough with the many NMI overrun problems that plagued many menus. Recall that the original game already used 110% (it overran already at times) of vblank time in many instances. This meant I could transfer NOTHING at all, let alone what I needed to to make the menus work. It looked like an impossible feat to gain the necessary time back. I’ve spent the entire project with the mantra of making the impossible possible though. Persistence pays off and nothing is impossible. I forged on and continued to study the NMI routine for some way to cut it down so I would have some time to at least do SOMETHING! The solution finally came to me when I studied the usage of the CGRAM and OAM refresh DMA transfers that occurred each frame. With some very careful new NMI management, I could defer these transfers on certain key frames without visibly upsetting the on-screen graphics. Next, I cracked how the game was triggering refreshes of tiles and tilemaps in VRAM for loading areas, overworld etc. Coupled together, I was ultimately able to better distribute tasks across different frames and buy a little bit of time on some lesser action frames. I seized those frames to transfer a few bytes at time to make the menus work! It barely works, but it works nonetheless!
It was especially difficult for two reasons. First, the code needed to manage NMI cuts into the very cycles you’re trying to save by managing it. So, you have to strike a ratio where the cycles you’re saving outweigh the management code enough. Secondly, it was very difficult to decide how and when was safe to defer CGRAM, OAM, tile data, and tilemap refreshes. The NMI routine is called millions of times. It’s called on every frame of every screen for the entire game! Thankfully I was able to leverage some key memory locations to toggle this management when needed with limited side effects. This did not come without a price however. Some things are slower and some compromises were made. I have minimized the observable impact as best as possible. With the conclusion of the above issue, I was able to then finish all 200+ submenus and convert them to use the new 8×8 VWF engine!
On the translation front, Kay spent much time revising and formatting the letters, monster guide, and Plato’s journal. We came up with some great ideas to better fit English text onto those little book pages without it looking too cramped. We did have to do some cutting here to make it all work, but Kay did a great job at cutting words rather than content or meaning. I was closely involved in this process and have new found respect for how difficult it can be to do that effectively. It’s much easier to take the cheap way out and just cut some content to make it fit. I’m sure you will all appreciate the passion and effort Kay has put into his work to not allow that to happen. We spent a great deal of time going through all of the 8×8 text and finalizing items, monsters, equipment, battle text, places, and more.
Now that everything works and the game is fully playable again, we need to continue on with some polishing, editing, and revision. We are basically having a mini in-house beta test between myself and Kay. I do not expect any further major issues. After this phase of polishing, the project should be ready to assemble a team for full beta testing! These are good times folks! It’s all downhill coasting to the finish line from here! I’m anxious to rush the process, but I know we need to have due diligence and proper procedure to make sure the release does itself justice and properly reflects the passion and effort that has gone into it!
ROM hacking? What's that?
Things were moving along so well up to the end of last year. I was even convinced I was actually going to finish some of these long standing projects in the near future. What followed however, was a string of life events that resulted in no ROM hacking whatsoever for months. Deplorable, I know. So, here is a little recap of how time can go by without getting anything done when life throws more bricks in your face.
Soon after the last update, December became very busy with overtime at work, unexpected home repairs, family obligations, future planning, and holiday events. Almost immediately after the new year, I became ill with a nasty infection (or maybe multiple subsequent infections) lasting several weeks. This was easily in the top 3 for the longest and worst illnesses I’ve ever had in my life. Several days after I got better, the northeastern US got assaulted with one of our worst winters ever (which was depressing since last year was also a worst winter ever candidate). Shoveling became a way of life and nearly found a place in my daily life. Even when it wasn’t snowing, the relentless arctic winds typically drifted my driveway and walkways over at rates comparable with actual snow storms. Along all of this, at my job a major new product was being launched for a big industry show. I was critical to making the launch occur and I had to work more sustained long hours than I have ever had to before.
The only enjoyable thing I’ve done in months is play the Last of Us and Heavy Rain on my new PS3. Even that was somewhat painful due to my longstanding elbow issues, go figure. Life was really starting to get depressing. You’ve got to try to see that light at the end of the tunnel though, right? The Earth was still tilting me closer to the sun every day and the winter assault finally ended. The big product launch happened at work, and I have now scaled back a bit on hours. I am currently healthy (or at least at my ‘normal’ level these days). So, I’m hoping things will be able to get back on track in a forward direction soon.
It sure is frustrating when you are determined to get things done and life keeps defeating you over and over preventing you from doing so. I shall not update again until there is progress to report! Boy, those could infamous last words, huh? Let’s hope not! Don’t worry, I have been back on track this week with Heracles IV and some worthy progress will surely manifest itself soon!