Meet the superfans who spent a decade bringing Daikatana back to life

Daikatana!

No, really I got an email today from Frank Sappone, that his passion project the fixing and overhaul of Daikatana was written up on PCGAMER.  Although my involvement may have gotten edited down, honestly all I did was give that little bit of a push and inspiration that it could be done by spending a good week on installing Solaris, and porting the dedicated server portion from SPARC Solaris, to x86 Solaris.  Once we had it running there, it was far easier to then get it running on Linux and OS X as a dedicated server.  Once we had that push Frank was able to use his great knowledge of Quake/QuakeWorld/Quake II and fix an incredible amount of bugs, and bring it into a fairly good state.

The real star here is of course the Johns, John Carmack for making the source code to Quake/QuakeWorld, Quake II, open so we could always refer back to this code, which Daikatana was based off an early beta of Quake II, and John Romero for giving us the needed source to make it all possible.

11.75 HKD is like $1.50 USD

It’s on sale right now at steam!

You can find Frank’s hard work here on bitbucket.org

For Windows users, you can simply download DK_EXE_030816_FULL.7Z, from his site (mirror).  And from the readme:

It’s a 7zip package. After you’ve downloaded the package you extract it to Daikatana’s folder. If you have Steam installed to it’s default path Daikatana’s folder is located in:

C:\Program Files\Steam\steamapps\common\Daikatana\

(or if you’re running 64-bit Windows):
C:\Program Files (x86)\Steam\steamapps\common\Daikatana\

If it asks if you would like to overwrite any files, do so and overwrite the files. End result is that when Daikatana starts you can see in the right bottom corner of the red area in main menu “1.3” instead of “1.2”. You’re also able to access for example the HD resolutions from the Video menu.

If you start playing multiplayer with Daikatana community, you’re also going to need:

dkcustom.rar (Pak9)

You extract that package into:

C:\Program Files\Steam\steamapps\common\Daikatana\data\

 

And to further celebrate this awesome press day, I’ve purchased a limited number of steam keys, reply with a comment (be sure to include a working email address!) and I’ll send you a key!  That’s right it’s the:

ON SALE DAIKATANA GIVEAWAY!

*Quantities limited.

27 thoughts on “Meet the superfans who spent a decade bringing Daikatana back to life

  1. Hi Neozeed,

    I’m a long time lurker on this site. I think I even commented on a thing or two in the past. These days I usually follow you via RSS feed.

    I really appreciate the things you do. And I like your file archive. It’s full of things relevant only to retro enthusiasts. It’s like a small treasure cove for those that know of its worth, but completely useless to general public. 🙂

    I actually almost bought Daikatana on GOG, years ago. But heard a lot of bad things and gave up. But if you are giving them away, I would be interested in a copy. I mostly use Linux, so I’ll be able to test out the modified engine along the way. 🙂

    Thanx,

    Bocke.

    • Hey there! I’m sure you can install it on Wine, and then at least extract the data files, and apply the native binaries and give it a shot. Worst case it should run under Wine.

      At any rate, enjoy the free copy!

      • Thanx.

        I already have a Steam installation running on WINE so that was not a problem.

        I tested the Steam version first. Interestingly it used OpenGL driver, but the resolutions were limited. If any of your readers are interested, it worked ok for 20 minutes I tried it out (intro + beginning of level 1).

        I then tried Frank’s engine, and it seems to work nicely. I managed to set full HD resolution and all sounds played fine. The controls were responding and everything seemed to be ok. Only problem I found was trying to set high brigtness makes colors go bezerk (past 98 or so). But it still lets you set brighness pretty high. The default is rather dark. I think darker than original game.

        Anyway, both test were really short. Generally the reworked engine seems to be pretty usable and seems to work well (enough).

        Thanx once again for a gift. 🙂

        Bocke.

      • Forgot to mention: tested on (a highly customized) Slackware Current (dev. version). But that won’t mean much to most people. Generally if it worked here, it should work with most modern Linux distros.

        Bocke.

      • @Bocke: Yes the brightness issue around 100% with making the screen all wonky on Linux is a known bug. Unfortunately, I’m not the Linux coder, just the everything else guy. The issue has been passed on to Caedes and Yamagi (from YQ2) and I guess they haven’t taken a peek at it yet.

        Once Neozeed helped me get the ded server compiling on Linux with GCC4 I cleaned up the most obvious const-correctness casting bugs that GCC was complaining about and then sometime later Caedes got in touch with me about porting the the client to Linux. He did a good and quick job of it, maybe took him a week or two and he also changed the save system to use strings instead of pointers like RTCW. This way, new versions of the DLL won’t break saves as long as the entity structs don’t change.

  2. Great work! I went looking for source but saw the message at the bottom of the bitbucket. I’m guessing that Romero *can’t* release the source code?

    • He sold it when he was pushed out. So it’s caught in the hell that he doesn’t own it, which is why there is no redux/reloaded thing, and it doesn’t generate enough revenue for whomever owns it to bother with it, as it’ll never make any serious money. I only know he wanted to buy it back but was unsuccessful. I’m too far removed from the story to know any exciting details.

  3. Thanks for the great work to all those involved in this. Quite enjoyed Daikatana back in the day despite it’s faults. Would be interested in a copy so I can check out the patch. Thaks

  4. Wow, the idea of tinkering with the source of Daikatana is both interesting and slightly horrifying to know what was under the hood. I’m guessing they used a Solaris SPARC system as VCS+build machine. Solaris is relatively good about keeping formats sane, I won’t be surprised if all the restore took was one or two commands, then moving the data aside and popping Solaris/x86 on.

    • The build process was kind of messy and it’s always hard to just walk into something at the end with no handover to try to make sense of it.

      The biggest initial problem is that plenty of it was valid GCC 2.x syntax which later versions would barf on. And of course endian issues as Solaris was defined and set as big endian. As a matter of fact there is all kinds of variable sizing issues that had to me messed with. But thanks to iD’s general portable code, and separated IO, it only took about 10 days of on and off hacking to get it running using GCC 2.8.1 on Solaris, and only 2 days to get it running on Linux with GCC 2.8.1 … There is a lot of gotchas and hidden traps in the code, and of course bad assumptions about platforms in the code and all kinds of fun.

      My direct involvement was getting dedicated servers running on Linux. But this wasn’t my passion project and I pushed Frank to grow which he’s put in an insane amount of work into this, and of course Quake 2 for DOS, and QuakeWorld for MS-DOS. Like DooM for the x68000, I’m the guy that is interested if it could be done, and lucky enough to inspire someone else to pick it up and make something fabulous out of it.

      • Endianess is the bane of network and server code. When I was working at Canonical, I had to deal with a serious ooga-booga bug. At the time, early ARM chips were bi-endian; could use select the endian mode during IPL, however, the original FPU (FPA) was always big endian, regardless of the processor mode. A lot of apps assumed if arch == ARM, flip your byte order regardless of __little_endian/__big_endian. Took awhile to get my brain around that because Firefox really buried that code deep in NSPR.

        On the topic of game stuff, I’ve been semi-tempted to see if I can get the original doom to work as a UEFI native application; after all, who needs an operating system. At least in theory, UEFI gives access to a VGA framebuffer, filesystem, keyboard, and if you’re’ lucky network and mouse. The sound specification got vetoed though.

        • Apparently UEFI DooM is already a thing.

          I once thought it’d make a nice ’64bit DOS’ as EUFI can do quite a bit, and if it can take care of basic IO and a filesystem, i’d just have to do some super basic stuff…. but I don’t see anyone needing or caring about it. as always there is never enough time;.

  5. This game will be fully unplayable-bugged… Even not passable, even after all patches, when some time outed.
    And it currently 1.3 – very bugged. Starting from very stupid AI, which compensate it by nonrealistical immortality friends to terrible models, even main character and even it weapons! Terrible even as for game time relize of ~2000 years!

    But more.
    What you think about this(from magazines poster…):

    – «You don’t engender goodwill by advertising a game
    with the following tagline: “John Romero’s about to make you his bitch”»,

    – «John Romero’s Gonna Make You His Bitch»

    Yes, buy this game – and make-self …Romero bitch !

  6. I’ve never tried this game, but I liked all of the id games that came before it, so I guess I’m already John Romero’s bitch and I should probably try it one day, despite all the negative reviews it got. Is the demo an accurate reflection of the actual game?

Leave a Reply