Thesis Log: Belated
Monkeyblah was down yesterday when I was supposed to write a thesis log update, so I'm doing it now instead. (Un)fortunately, there isn't a whole lot to write, since an especially gruesome bug ate most of yesterday.
Getting anxious to try out my new ideas on Pyro, I decided it was time to start getting it up to shape for real. Thus, I set to work trying to create static map support. Normally Pyro only uses randomly-generated dungeon layouts, suitable for a pure dungeon crawl but too limited for what we want to do. Creating alternate static layouts was relatively easy, and Pyro now does have support for static maps... but in the process I managed to uncover a really bizarre and fairly critical bug that I haven't solved yet.
In particular, parts of the dungeon map seem to have a “tile of doom” that when stepped on causes the display to go all weird, drawing things where they don't belong and then not updating them until we walk around again. This “tile of doom” is always situated at (11, 13), and walking on it or near it consistently causes this bug (although on occasion it only manifests if I approach the tile of doom horizontally; walking across it vertically only rarely spawns the bug). No other locations on the dungeon map cause this problem.
Even more oddly, I haven't managed to reproduce this particular bug using the normal dungeon generator, although some other very similar bugs do appear, and I think I've seen this bug before on normal dungeon maps. But, for some reason, (11, 13) is safe to walk on most of the time on a normal dungeon map. General and similar bugs tend to appear in its general area; that is, the lower left of the map.
I'm beginning to suspect this is a problem with curses, though that seems especially odd considering curses is supposedly a quality library and has been in use for decades now... you'd expect a bug as critical as this to have been noticed already. Unless I'm doing something wrong.
All in all, I'm mystified, but will continue to examine this bug today and hopefully fix it so that I can move on.
Edit, 9:47 same day
I now believe this to be a bug with the curses/pycurses library on the school computers. Running Pyro on a Windows system using wcurses does not provoke the problem at all, and no tiles of doom appear anywhere. I'll see if I can arrange some kind of workaround, but apart from that, I don't think I can remedy this problem.