So after receiving a whole bunch of bug reports and feedback, the next version is ready for public devouring. Full change-log is at the bottom of this post, as usual.
Rune said there’s be an art post sometime soon, probably this week. Stay tuned!
A Word on Graphics
One issue several people were having was errors in the texture atlas. Hopefully, those errors have been resolved (I rewrote how the atlas computes your maximum texture size). In the interest of providing options, though, I have provided some .bat files to modify how the program renders 3D mode.
Run the program normally to access Standard mode. This mode renders as it did before, though it now has lighting provided in the shader (no lightmaps).
Run ZPotato.bat if you think your graphics card sucks. Potato mode causes the program to not attempt to atlas the textures and not use shaders. It should be backwards compatible with a lot of machines, though it will lag horribly since it’s not optimized. If you can’t get any other rendering version running, at least Potato lets you play the game, right?
Run ZFullNoVAO if your graphics card might be out of date, but still not terrible. This mode uses atlasing and shaders, but does not use Vertex-Array-Objects. While VAO support has been around for a long time (OpenGL 2.1, July 11th, 2008) some machines, particularly Intel-chip laptops, often don’t have support for them.
Run ZFullWithVAO if you’re on a desktop machine. VAOs improve rendering speed and this is the intended experience. Most machines should have a smooth 60fps with VAOs enabled, and we haven’t even gotten to visibility culling yet!
Some helpful people politely requested a larger UI, showing more of the character off. Here’s a comparison screenshot.
The version on the left can be accessed in “Play 3D Classic Mode”->”3D Options”->”Use Alt UI”. It takes more space, but if you’re using a widescreen monitor or resolution it’s less of a problem. Remember you can press F11 to activate fullscreen!
Boring Patch Notes
- Rewrote the screen sizing code to account for widescreen and fullscreen non-letterboxing. It’s all new code, and it’s been tested at every resolution my graphics card can handle. This should deal with all the 3D mode issues involving the UI going off the edge of the screen at certain resolutions.
- Added many specialized rendering modes in an attempt to allow older machines to run 3D mode.
- Added an options menu for 3D mode. Options changed in it affect 3D mode and only 3D mode.
- Added a walk speed option. You can now go SANIC FAST if you felt that the movement/rotation speed was a bit too sluggish in 3D mode. By
using this option, you forefeit any right to sue me for whiplash. You will go fast…
(Max speed factor is 3.5x the base movement, minimum is half the base movement speed.)
(Suggested by Malinwaar)
- Polymorphed humans now ignore collar/necklace traps, and can’t put collars or necklaces on until the ring’s effects wear off.
- You will now be unable to move around if you are stunned/controlled/out of stamina. A message will appear in the console to warn you when you can’t move.
- Rewrote the path-building algorithm. You should no longer get stuck when under control of something (necklace, golem core). (Thanks, several people!)
- Pathing while under control of something should now emulate movement.
- Rewrote the teleportation algorithm. Should be a lot more user-friendly. Still needs some on-screen transition images to make it less jarring.
- Added the downstep code so moving down a stairwell will be (slightly) less jarring.
- Entities will now dynamically place themselves in front of you when the turn ends. No longer will you need to rotate to face them when entering a new room. This will likely need some more finagling to make it play nicely.
- Fixed whatever the error involving warp globes was. (Thanks, rndmvar!)
- Directional movements now report correctly in the console (“Sanya goes south” now means Sanya, in fact, went south).
- Added some spookiness to the shaders. They now shade by distance, making it easier to spot depth in similarly-textured objects. Lightmap rendering flags are now ignored for the time being. Might use per-scene shader lighting in the future.
- Added an alternate UI layout which can be enabled in the 3D menu. It consume more screen space but provides a better look at your character.
- The Self-menu is now always expanded in 3D mode. You can access it with a single click instead of two!
- Item and Self-Menu names that are too long will scale down to remain visible in the UI.
- The game status display will appear in the top left, informing you of turns elapsed, monster/human totals, etc. in 3D mode. (Thanks, Malinwaar!)
- Slime infection status appears above your character portrait in 3D mode.
- Fixed the horizontal flipping bug in -1, 0, 0 normals. (75% of you won’t know what that means!)
- Fixed the player sometimes starting in the basement after resetting the program from the system menu.
- Used virtual files to improve loading speed on some systems for 3D levels.
- There are still lots of geometry issues, as the 3D map is still incomplete. It will be completed in the 2.0 release.
- A lot of story-display sequences don’t actually bring up the story display. I just need to go back through the scripts for that.
- Teleportation looks really bad, and will likely need an overlay to make it less jarring.
- I am by no means happy with how the program adds and removes entities to the screen if you remain in the same room for several turns. It’s functional, but needs a user-friendliness rework.
- I’m similarly not happy with the items/chests/weapons appearing on the radar display in 3D mode. Both rotating with the camera and not look bad, so a different method will need to be found to display them.
- Some of the movement paths clip through the geometry (Lobby->Lower Corridor W South). Doesn’t cause any real bugs, just looks silly.
- The Garden W->Garden Storage path is very close to the Garden W->Garden C path. That needs to be fixed in the geometry.