About authors

MaxEd: I’m a video games programmer from Moscow, Russia. I’ve been working in game industry since 2008, mostly on MMOs and mobile games, but my passion is old-school turn-based story-rich RPGs, like Fallout, Arcanum or Spiderweb Software games. I’m author of Return of Dr. Destructo and I write general posts about programming and game development.


Razgriz / Undefined Darkness: Open Horizon developer. Loves planes in general, Touhou and Ace Combat.

20 thoughts on “About authors

    1. I’m presently in a crunch mode at my day job and also working on Return of Dr. Destructo in my spare time, so yes, Emscripten port is not a priority right now.

      I’m planning to return to it later, though, so do not despair 🙂

      Another problem is that Asyncify feature that I wanted to use to make the port better isn’t working very well, so I’m waiting for the next release of Emscripten which should fix compilation problems (presently, Emscripten’s compiler simply crashes whenever I try to run it on code which links to Allegro with Asyncify turned on).

  1. I have a few questions. I’m with a group of Assault Horizon players that have played the game since the release date, and this is extremely interesting to us. Can you get a few values of certain skills and as to what they do? I assume you can look at the game’s files and see them yourself as I actually have no idea how to. Can you look for the numerical differences in the skills: Burst, Extra Armor +, Extra Armor, Defender|SharpShooter, Enhanced MG, Enhanced MG+, Gun Enthusiast|Enhanced Missiles, Enhanced Missiles +, Untouchable| If you like, I also have the Hex values for each skills if that will help. Also, if you find anything that’s unused, that’s also extremely valuable. Please contact me.

    1. Sorry, I have no plans to implement skills and know nothing about how do they work. You could use qdf tool to extract resources and try to figure out

  2. solver 4 mutagen puzzle does not work (unable to find solution). checked mutagens twice in scanner and input file.
    components are:

    Exitus-1: W6 XF I1 SL XU L1 LS A1 GS YC MM KF
    ECHO-1: Q4 XF P2 SL -XU -MM
    ECHO-2: I1 SL LS XF A1 -GS -Q4 -KF
    ECHO-3: OA T6 Q4 FS CS I1 -KF
    ECHO-4: LM SL I1 L1 CS GS -YC
    HELICON-1: LS A1 T6 P2 CS -GE
    HELICON-2: XF GE FS L1 Q4 -OA -LM -MM -XU
    HELICON-3: I1 GE LM -XU -FS
    IO-1: T6 XU MM LM Q4 SL -I1 -LS -W6
    IO-2: W6 XU XF -LS -A1 -FS
    IO-3: I1 SL FS KF W6 -XU -GS
    OVID-1: Q4 P2 W6 T6 SL YC -GE -L1 -MM
    OVID-2: A1 T6 CS SL XU Q4 -MM -FS -LS
    OVID-3: YC MM W6 XU KF -CS -LM
    SOLIS-1: SL FS KF LS I1
    SOLIS-2: OA LM SL XU L1 -CS

    1. This is answer for this (my) puzzle – maybe it’ll help you find the bug in your script:
      IO-2 + IO-3 + IO2 +ECHO-2 + IO-2 + ECHO-4 + ECHO-2 + ECHO-4 + OVID-3.

      Sorry for spam in here, but I just hate to keep/use accounts and this was the easiest way to inform You about the problem.

      Regards from Poland

      1. Thank you for your report. I found an error in my code, but it still can’t a solution to your situation. However, I was unable to reproduce the successful pattern by hand. Here’s what I get for “IO-2 + IO-3 + IO2 +ECHO-2 + IO-2 + ECHO-4 + ECHO-2 + ECHO-4 + OVID-3”:

        W6 XF I1 SL XU -FS -Q4 L1 MM

        It seems like it’s missing a step or two, or some of input mutagens are missing something.

        1. You can’t get any negative mutagens as a result of combining substracts – so “-FS -Q4” shouldn’t be there as a result for sure (becouse in each step of mixing negative mutagen “destroys” positive one – and if there is no positive one of the same type, then negative one vanishes from a product of mixing – every step, and as result also)

          These results (below) I get in Mutagen Combinator (machine which mixes these substracts) step by step – the same I got on a paper and I’m 100% sure it makes sense and everything I wrote above and below is correct:
          [0+1 means I turn IO-2 from nothing, 1+2 is a result of combining IO-2 with IO-3 in order as above and later as I wrote in previous posts]:

          0+1= W6 XF I1
          1+2 = W6 XF I1 SL FS KF
          2+3= W6 XF I1 SL KF XU
          3+4= W6 XF I1 SL XU LS A1
          4+5= W6 XF I1 SL XU
          5+6= W6 XF I1 SL XU LM L1 CS GS
          6+7= W6 XF I1 SL XU LM L1 CS LS A1
          7+8= W6 XF I1 SL XU LM L1 CS LS A1 GS
          8+9= W6 XF I1 SL XU L1 LS A1 GS YC MM KF

          Regards from Poland

          1. Damn, I made a mistake 🙂

            * 0+1 = W6 XU XF

            Now I’m 99.9% sure it makes sense and everything I wrote above is correct.

            Hope this helps as I came on some threads where people were definitly angry on devs becouse they couldn’t find a sollution for not that hard puzzle after all (hour of writing, half for thinking and half for checking it in combiner and re-think obviously).

            If it comes to the game I hope for sequel as it rocks from begining till end, despite a lot of flaws (i.e. after getting the cube I stabbed faceless to death and afterwards everywhere – even in ending scenes game says I gave them this cube and they doin’ fine -maybe SIX gave them, but I didn’t – or after me saying Lora Baker that her husband is dead she say’s something like “but if you say he is alive bla bla bla I must recover and get to SGS bla bla bla”.
            If not these flaws and lot of weak consequences of dialogue choices it would be best game since Fallout 1/2 in my opinion, right now is second after F3NV.

            Regards from Poland.

          2. > and if there is no positive one of the same type, then
            > negative one vanishes from a product of mixing

            Hmm, I didn’t think that it was the case, but if I code in that assumption, then my code indeed find a solution for your case – but a shorter one!

            IO-2
            IO-3
            IO-2
            ECHO-4
            ECHO-2
            ECHO-4
            OVID-3

            Thank you very much for that insight, I was dumb to miss it on my own!

            And yes, Underrail is a very good game. I loved every minute of it up to Deep Caves. DC, however, feel unfinished, like there is some cut content there. I wish Underrail won Game of the Year award, so Styg would release a GOTY version with better Deep Caves with new quests and better balanced final battle 🙂

  3. The shorter solution works also – checked in combiner. I’m not a gaming person, but these rpg where you control one fellow and do talking, tasks, killing and choose to be a thief, or assasin or kamikaze or whatever are just enough to satisfy my needs in that matter. I can’t play 3d games as my head hurts while fast camera movement so I’ll prey for that GOTY whatever it is for Styg :-).

    Underrail I ended with 6-8 points in every char stats (exept strenght – 3) 🙂 and just two missions that was difficult – one with robots for Tchortist Institute, and -worst- Gauntlet. DC was quite undone, but I enjoyed it though and final battle was quite fair (4 loads I think after solving puzzle).

    Regards and over out.

  4. Hi,
    I’m revisiting my old abandoned failed flight model made using XNA.
    Today I found yours on github in void plane::update(int dt).
    My fake F-16 never survived in non level flight because of gravity.
    This is yours: vel.y -= grav; vel += up * grav;
    It’s looks like mine but I don’t implement nose down.
    If I roll 90 degree, I fall because of gravity.
    If I climb 45 degree with thrust/weight = 1 (full afterburner), I get -45 degree AOA (yes, its negative), probably because of lift pointing up and backward.
    How do you survive (and maybe positive AOA) with this: vel.y -= grav; vel += up * grav;?
    Thanks

    1. It happens that planes in Ace Combat have abnormal thrust-to-weight ratio due to the arcade style of gameplay. Also it’s a placeholder implementation that works.. somehow and should not be used as a reference.

    1. I’m very sorry for confusion, but if you mean OpenHorizon’s author, it’s Razgriz, not me (Max).

    2. Sorry, I don’t have time and inclination for PR
      >Also, patreon, when?
      Open-Horizon is non-profitable (not wanna be sued by Bamco). You can buy me a beer though (I can share my beer as profit with PA if they ask).

Leave a Reply

Your email address will not be published.