This has been an excellent week of progress! I have moved from where we were last week (after a ton of work in large part courtesy of Greg Scott / Sudasana) with a single working executable, to now a proper pipeline; I can produce and test a new executable whenever I want, and I’ve confirmed the executable works on different Win 10 systems, none of which have Python installed. I have also not just got PyInstaller working, but after some work auto-py-to-exe is also working and producing viable executables, and cx_freeze and py2exe are both almost doing that, although something is still going wrong there with those compilers. I’m continuing to try to get those online as well. But: I have multiple ways to now package the game. I also this week found and dealt with a number of remaining bugs from the Python 2.7 -> Python 3.7 and tcod 1.5.0 -> tcod 11.18.1 (!) transition, such as:

  • Fixed another problem with the large menu picture sometimes crashing the game.
  • Fixed text not appearing on signs in city centres.
  • Fixed a problem with the generation of eye colours for NPCs.
  • Fixed a problem where sometimes some menus didn’t appear until the player pressed a button, but there was no prompt to do so.
  • Fixed an issue with crashes during world generation.
  • Fixed a problem with displaying coinage amounts in city views.
  • Fixed an issue with fullscreening no longer working in the updated version; this now works, and you can even drag the window to scale things! (Thanks to the tcod folks for this snazzy improvement).
  • Fixed a crash bug involving the player moving in a particular way when a map first loads.
  • Optimised and improved the suddenly rather slow field-of-view algorithm to reflect some of the changes in both Python 3 and tcod 11.
  • Fixed a problem with some wandering NPCs giving responses as if they were inside a building.
  • Fixed a crash bug involving the guidebook.
  • Fixed a crash bug involving entering buildings when there are multiple copies of equivalent buildings in a map grid.

So although 0.8 was finished several weeks ago, it is now… even more finished! Hooray. All of which brings us to where we are now: I can produce a URR 0.8 executable which works on a range of Windows 10 systems and seems to be essentially bug-free.

HOWEVER: we have yet another new issue. The game (both via PyInstaller and via auto-py-to-exe) is getting virus warnings on lots of Win 10 systems. I am sure this goes without saying but I am obviously not bundling viral software with the game (not that I’d know how even if I wanted to!) and running every possible scanner I have on the game confirms it’s virus free. However, this is a fairly well-known false alarm issue with Python executables and I’m looking for a fix. In some cases this means people cannot download the zip file, in some cases it means their computers automatically delete the executable or one of the other files bundled with it, and so forth. Were this a rare thing and something that could just be overridden it might not be an issue, but I’m getting a lot of reports of this from testers which in some cases prevent the zip from even downloading, and so sadly this has to be resolved.

I stress, although I’m sure this is obvious: this is infuriating. I am desperate to get this out, but we keep running into new hurdles. But at the same time, we are a ton further forward than we were last week! And I’m continuing to work on release in every spare moment. I’ve also cleared out a lot of end-of-term academic work this week (50 essays: marked! A load of journal and conference papers: reviewed!), so I’ll be able to continue focusing my evenings on URR in the coming week. Also, although I’m sure this is apparent: one of the reasons I’ve been able to maintain updates the past few months is because my head continues to improve. It’s still not perfect (the remaining issues are psychological, not physical) but it’s getting gradually better with every passing week.

So: tons more progress this week, but also another new hurdle. Sigh. More next weekend!

18 Comments

  • Great news!!

    Looking forward to the game (obviously) and (hopefully) some insight into how you overcame the aforementioned afflictions — I think that’d be helpful to Py devs in general.

    • Thanks Josh! Honestly there isn’t too much to say about it: it was just a lot of labour, lots of testing, lots of drawing on the experience of others, and lots of testing various changes to things until something worked. At least it’s all done now, though!

  • Fantastic news!
    Any hope that you could get some of the people helping you to create executables for Linux and MacOS? I’d really love to play the game without having to reboot or use a VM 😅
    (I should be able to do that too, barring more strange interactions between the executable package and security software, especially on MacOS…)

      • Both on Mac and Linux the OS dropped support for 32 bit executables, so right now even 0.7 won’t work if you have a recent OS.
        That said, it’s likely the new version will be 64 bit, but I’m lea sure how complete the support is for Win64 (mostly because almost no game is Win64, I’ve never tested it 😅)

    • I am definitely keen to get a Linux version out, a Mac version is less of a priority, but anything like that will come after 0.8 is out (and if there are some substantial bugs found, after a 0.8.1. is released). But it’s on the list!

  • I don’t think this is a problem, I have downloaded files which at first might be prevented from downloading, and even deleted by Anti-virus, but after reassuring your PC, as in this case we know it’s from you, we can just download it. I hope you provide the file to people who are ready to download and play in its current state 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *