Various bugfixes, little improvements
Although I haven't had much time to work on the game for the past few days, I have fixed several ugly things that shouldn't have been there, so the next release is nicer: allowing Backspace to delete characters when entering strings (this was working with curses, but the port to SDL broke it), and more importantly (I'm very glad this works now): light sources now update correctly when a door opens or closes.
Another change done today, when choosing a module, all the modules aren't loaded anymore. Before, to check requirements to join a module, the whole module had to be loaded from disk, which (if there were several big modules) amounted to lots of work. Now, requisites are held in a separate, little file. Much faster startup.
There are a few nifty improvements that take use of pygame's features: the message window now has messages dim until very dark as they get older (the last message is white, the next a little dimmer, etc.), which makes for a nice experience. Also, controlling the font size has let me add more messages to the buffer, so seven can be seen at the same time now. I will add a couple more similar things to the next release.
For other things I want to work on this week -
- Light sources not lighting a wall when you're on the other side of it (if you don't understand it, it doesn't matter, but right now if a light is lighting a wall and you're on the other side, you see the wall as lit).
- Dvorak keyboard. Apparently, pygame doesn't handle this very well. I don't know if there will be an easy fix, but I will research it, probably tomorrow.
- Optimization of the LOS algorithm. I have a custom-made one that is very accurate and nice (shadow-casting calculating arc-tangents and angle intervals), but slow. And the ray-casting one I wrote to be faster isn't as accurate. If I can pre-calculate things for my own one, or cache calculations so they're only done once, maybe it would be acceptably fast. I'm not sure, but have to look into it.
- Make portals behave properly. They should only be used when standing on them, and there should be a key to use them that's easier than "+". In fact, I might make "return" the default key and pressing it on a portal would use it.

0 Comments:
Post a Comment
<< Home