Sunday, November 8, 2015

Provisional RKS Developer Diary - ...Oh, you have got to be kidding me...

Hi, everyone.  I'm afraid I have some troubling news.  Nothing devastating, thankfully, but it's a setback that I may as well be up-front about.  The whole point of this Developer Diary series is to be clear and honest with our fans, after all, so I'm going to do just that.

This Sunday morning, my plan was to fire up my programming laptop, grab a couple of screenshots from the latest build of Rosenkreuzstilette for my next Developer Diary entry, type up some behind-the-scenes factoids for today's post, clean myself up, and head to work for the day (my shift starts at 9:30 am).  Unfortunately, things aren't going quite according to plan:

When I try to power on my laptop, the screen above briefly appears before the system automatically restarts itself.  The process repeats itself in an infinite loop.  That can't be good...

Time to put that expensive Computer Science degree of mine to work.  Alright, let's reconfigure the boot options to disable the auto-reboot when the system screws up...  Success!  I'm able to get the machine to show the error machine long enough for me to snap a photo.

"UNMOUNTABLE_BOOT_VOLUME", huh?  So my Windows partition isn't being recognized.  Can we get some more details?  Since my programming machine runs Microsoft Windows XP Professional SP3*, I fish out my XP install CD to see if I can glean some information from the setup process.

* Before anyone makes a smartass quip about my choice of OS: programming environments are most productive when they're set up on an advanced machine running a more stable, better-tested operating system.  This machine originally shipped with Windows Vista SP1, but I deliberately downgraded to Windows XP Pro SP3 to make the machine more reliable.  And it's served me well for well over five years now.


The XP install disc boots up the way it's done hundreds of times before, and the setup program gives me exactly the information I had hoped it would.  The "Partition Select" menu gives me both the nature of the failure and reassures me that the problem isn't as bad as it could have been.  As you can see from the photo, the primary NTFS partition on my laptop's hard drive, which should be a 32-gig volume labeled "Windows", isn't being recognized properly.  I've had a similar issue with my NTFS file allocation table crapping out on me last week (my C:\Windows\Prefetch\ directory suddenly became unreadable for no discernible reason), so I know I need to hook up the hard drive to another machine with a functioning OS, run some diagnostics on the corrupted NTFS partition, and, if the issue isn't a physical failure, run my data recovery tools to get back any lost data.

Notice that pretty much everything I just said was about my primary boot partition, Windows.  As you can see, my other three volumes -- the ones that contain the actual important stuff -- are safe and sound.  The RKS source code and Photoshop files are on drive D: (Multimedia), and I'd made a backup on my portable 2-terabyte drive just before I started coding on Saturday.  So, even if my hard drive had failed completely, the most I'd have lost was a day's work, my fonts and bookmarks, and my forward momentum.  Oh, and my already-configured programming environment.  Man, it was set up just the way I like it...

The obvious and unfortunate consequence of this development is that any further progress of RKS will be stalled until my laptop is up and running again -- or, failing that, my work is migrated to another machine.  Thankfully, I have most (if not all) of the equipment I'll need to salvage the drive contents; my roommate has a hard drive enclosure that I can use to troubleshoot the laptop's drive externally.  I may need to recover my data recovery software (heh) from an external source, but everything should otherwise be fine when I actually have time to troubleshoot the problem further.  This also gives me a legitimate excuse to get myself a new laptop.

Still, this kinda sucks: I implemented a new feature yesterday that I really wanted to show off today, and now I won't be able to do that for a while.  If any of you have played both the original and localized versions of Bunny Must Die, you might have an idea of what I'd managed to come up with.

Oh well.  It's still too early for work and I can't wake my roommate up this early on a weekend.  Time to take a breather, shower, and read a book on my phone.  Not much else I can do until I get my hands on that enclosure...

19 comments:

  1. Thank god you had the sense to make backups, I've seen so many projects fail from people without the foresight to do that.

    ReplyDelete
  2. I'm so sorry to hear this happened. At least all the important stuff is still safe and sound even if the main computer is bust.

    ReplyDelete
    Replies
    1. Don't go killing off my Presario just yet, Justin. I'm pleased to report that the final diagnosis is pretty much what I'd expected: one of the hard drive partitions incurred some physical damage, rendering its file allocation table and a handful of files unreadable. I've since exported the remaining three partitions of stuff onto my external 2 terabyte drive, created a disk image of the defective partition so that I can retrieve its files pretty much whenever, replaced the drive with a bigger and faster one, and reinstalled my operating system and the bare software essentials (anti-virus, web browser, etc...). I'm typing this comment up on the very same laptop that you thought was a goner. :-)

      It'll take some time before the rest of my software is up and running again. I'm damned lucky this happened on a Sunday -- my weekends are Monday and Tuesday, and I've been working pretty much non-stop for the past two days to get everything back in working order, stopping to sleep only when the two machines had some lengthy task I couldn't speed along like copying / verifying 150 gigs of data, reformatting, you get the idea. On that note, never underestimate the importance of verifying data transfers -- an unnoticeable copying error can leave you in seriously hot water (I personally use the Compare feature in CDCheck to verify my files every time I transfer stuff between drives).

      Suffice to say, I badly need a shower and a nap before I can head in to work today. Thankfully, I start in the afternoon. I can slowly reconfigure my laptop and reinstall Creative Suite, Visual Studio, Office, and the other big software apps I need for my programming work after my shifts are done throughout the next week. I should be ready to go before next Monday rolls around.

      Naturally, I'll be making a follow-up post to let everyone know when we're back in business again.

      Like I said before, this is nothing to worry about; the issue is fully under control. A bit of foresight and a healthy dose of "DON'T PANIC" go a long way.

      Delete
  3. Well that's a bummer. I, too, am sorry to hear what just happened. Guess that means the project would be on hiatus for longer.

    In the meantime, at least I know something that'll cheer you guys up (consider it advertising if you want, but I just figured I'd post it anyway):

    https://www.youtube.com/watch?v=d8UCeipuaZ0

    As a matter of fact, this video happens to contain footage from several games, both RKS and RKSF included, and it features amazing gameplay by this Youtube user. And if any of you like Azure Striker Gunvolt, then I'm sure you're going to love the music that plays in this video.

    ReplyDelete
    Replies
    1. Heh. The video showcases games that I'm already a fan of or plan to play when my free time is more forgiving. I haven't played through any of the Tales series or the later Megaman Zero / ZX games, but I so want to. If the video showcased some of the Ys, Castlevania, or Metroid titles, it'd be a great primer for retro-style action-platformers.

      On a related note, before my hard drive failed, I was developing some codes to make the Gaia Armor in Megaman X5 genuinely not suck. I swear, the thing's pretty fun to use once you (over)compensate for its crippling speed and lack of weapons. Once completed, the new codes will be usable on the actual hardware, too. Thankfully, my recovery software shows me my progress on that front has not been lost.

      Delete
  4. Unrelated to your post, I have a small suggestion: could you look into getting D-Pad support for XInput controllers in the official english release of RKS? Right now I use JoyToKey, but it'd be nice if I didn't have to.

    ReplyDelete
    Replies
    1. I use a DualShock 2 with a SmartJoy USB adapter, and I have full D-Pad support right out of the box, no JoyToKey or anything. What you're describing sounds like a driver issue regarding how Microsoft programmed XInput to behave, similar to how the original DualShock would support either digital or analog at any given time, but never both. That's not something I can address within RKS's programming, I'm afraid -- you'd need to complain to Microsoft directly...

      A quick update for the rest of you: my system is back up and running with my core software installed (finally!). Unfortunately, a couple of issues at my day job have had me covering additional shifts, so my "free" time has been pretty scarce. I've pretty much been promised ahead of time that I can kiss my Christmas break goodbye...

      Delete
    2. I'm not an expert on the topic, but as I understand it, the DualShock 2 uses DirectInput rather than XInput, and while XInput controllers can function using DirectInput code, they only accept directional input through the analog sticks, not the D-Pad. My assumption is that RKS is programmed with only DirectInput support.

      Binding the D-Pad to keyboard keys with JoyToKey really isn't a big problem, but RKS seems to dislike receiving controller and keyboard input at the same time. I don't know if it needs a frame to switch between keyboard mode and controller mode or what, but it doesn't work very well.

      If full XInput support isn't something you can't do, just an option to disable the game's native controller support would be good enough for me.

      Delete
    3. I can attest to Van's issue with RKS, as well as many pre-7th generation PC games. Before getting my Logitech F310, games like RKS, Megamari, La-Mulana (the original version), Crescent Pale Mist, Touhou 06, RayStorm, and Acceleration of SUGURI did not register input from a D-pad/POV hat switch and most of the time I had to rely on third-party programs like Xpadder to get around the lack of D-pad support, sometimes with varying results. Very few work fine with just the analog stick like RayStorm, but others did not like being played with the analog stick like Acceleration of SUGURI (I tried adjusting the sensitivity many times, and it wouldn't play properly no matter what). The only game that, surprisingly, supported XInput out of the box was Metal Gear Solid: Integral, that game came out long before XInput became a thing, however diagonal inputs seem to register better on the analog stick rather than the D-pad. There's also the problem of not registering the L and R triggers (not the shoulder buttons above them) since those triggers are considered as axes and not buttons. Only a couple of games I've played ended up getting patched up for D-pad support at some point like Bunny Must Die, Streets of Rage Remake v5, the Gundemonium series, and The Tale of ALLTYNEX series.

      Delete
  5. On another unrelated note, this made me very happy. http://store.steampowered.com/app/390730/

    ReplyDelete
    Replies
    1. Please tell me they re-translated the game. I remember playing the English demo of Sora way back, and the translation was butchered (Mavericks? Reploids? This isn't Megaman X!).

      Delete
    2. Fruitbat Factory is working on the localization, so there's a good chance they'll re-translate this game (properly).

      Delete
  6. thanks for the link, I have now discovered and bought the Suguri collection thanks to you. It's so cute and sweet and awesome! ♥

    ReplyDelete
    Replies
    1. Steam version, I assume? I'm kinda bummed out that I bought the standard definition hard copy from Rockin' Android years ago, which arrived with a crumpled insert and banged-up Amaray case. I contacted Enrique Galvez and his crew about the issue, and they never responded. They did respond to my question about licensing RKS almost half a year later (with a bunch of factually inaccurate comments), but they ignored my request to exchange my copy of Suguri for a presentable one...

      Delete
    2. This comment has been removed by the author.

      Delete
    3. Yes, steam version, bundle of two games (Suguri and Acceleration of Suguri X Edition). And... that's too bad. Sorry that happened to you. ♥

      Delete
    4. This comment has been removed by the author.

      Delete
    5. @TDOMMX: That's unfortunate. I'm amazed they never bothered to listen to you about getting a better copy of the SUGURI Pefect Edition collection, then again they never listened to anyone about fixing the problems with Acceleration of SUGURI X-Edition HD (i.g. bugged/non-functioning achievements on Steam, sound effects going missing randomly, fullscreen flickering on Windows 8/8.1, ugly replay menu with the HD interface, not changing the font for the HD interface with the characters' dialogue, crashing on start-up), nor have they followed on their promise on adding trading cards for Bunny Must Die (not really a big problem for me, but false advertising?).

      Delete