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!