Version 1.0.1 update


Howdy!
Though I decided to give myself a few days off coding, I went back and did some additional work.
Here's what I've done so far (with rambling paragraphs for each item!)
Increase from 60fps cap to 120fps:

I was hoping to allow an option for an uncapped frame rate, but unfortunately there is a floating-point error in my collision code... So I have increased the in-game frame cap from 60fps to 120fps, which is sort of neat, but the glitch still exists in the code... I haven't been able to force the player out of the map with the 120fps limit, but I believe that I haven't removed the glitch, just minimized the likelihood of it happening... So that's kinda-dissapointing.

Rewrote Mouselook code:

Though I don't  think I've completely fixed it, the first release had a noticeable skipping issue with mouse input. It actually made it look like the game was skipping frames, so it made it a little hard to isolate the issue. After reading a lot of posts about SDL2 mouse input, I have switched to "relative mouse input" and also kept the previous mouse frame position to average with the current input. It seems smoother, but any feedback would be useful. I don't think this issue exists in the Linux version. The Windows version also has a newer version of SDL2 because I *think* it helps (?).

Updated weapon stuff:

...terrible heading; I'm trying to mix a few updates here. Weapon switching is now faster, mouse-wheel can now be used to switch weapons, picking up a new weapon auto-switches to the new weapon and a new sound effect has been added for this.

I rewrote the menu system:

The old menus were hard coded mangling together the Input handler and Hud drawing manager, so I rewrote it to speed up the process of adding or modifying options. That's really under-the-hood kinda-stuff, but it has allowed for more options that are easy to navigate. It will also help if I ever decide to add gamepad options.

Fixed the Z-fighting:

Sometimes you would see decals (blood and bullet holes) and the paintings flicker on the walls. I *THINK* that I've fixed that. I sat around for a while trying to fix it with "glPolygonOffset", but that was just a big ol' hassle... It turns out just increasing the near plane clip a li'l fixed it.

Barrel blasts now push entities:

Just a simple addition. It just looks more fun.

Modified view frustum stuff:

If you looked upwards and strafed around, it was pretty easy to see un-rendered quads/sectors. This was to do with using a very 2D method for culling. I ended up just forcing the initial view frustum to be larger than the modified view which occurs when you look upwards. This isn't perfect, but it works for the roof and floor heights with the current levels.

Another issue was that sometimes when entities peeked around corners, they would sometimes be invisible. This is to do with how I culled quads/sectors that were not visible, then each entity would check if the quad that they exist in is rendered (based off their center), so I have allowed for a 1 quad padding for entities.

Overall; quite happy with these modifications, but it leads to an odd glitch. Every so often, a quad won't be rendered... it's usually only for a few frames and doesn't occur much, but it happens. I have a few theories about what might cause this, but it's too rare to debug right now.

Fixed a glitch in the "crushing" code:

This was really daft. Though it's probably not noticeable; there is code in the engine to detect when a "crush" occurs. You can see this by closing a door and running into it really quickly. Originally, I was going to add some puzzles where there were too many enemies (probably those li'l crawler-kitties), so you could crush them with a switch... but I never really added it to a level. Anywho; the glitch allowed things next to a quad where the roof and floor height were less than the height of the entity to crush. Kitties on level two could die before you saw them (near the beds). It turns out I was adding the "very small distance" variable (used to avoid objects clipping into walls) to the shape of quads... no reason for it... dunno why I wrote the code that way. Very odd, but easy to fix.

There were a few more, but that's the more interesting stuff.

Overall, there hasn't been much interest in the game, but I do hope you enjoy it if you happen to find it.
I think I've learnt a lot from making it, so I hope my next game is better and gains a little more interest.

Feel free to get in touch and please do share the game if you know anyone who might be interested.

-K. A. Laherty 18/07/24

Files

KKR_linux_1_0_1.tar.gz 11 MB
60 days ago
KKR_win_1_0_1.zip 10 MB
60 days ago

Get KatzenKlein Redux

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.