Skip to content

0.11.0 - Pathfinding and Blood Update

Pre-release
Pre-release
Compare
Choose a tag to compare
@pfedick pfedick released this 10 Aug 21:09
· 939 commits to main since this release

image

In this update I changed a few things under the hood, in particular I've greatly improved the pathfinding algorithm for some enemies and added a few blood effects. Hence the name :-)

After implementing the first bigger change for this release, I had to play through all existing levels and check, if I broke something. Fortunately I hadn't, but when I came to the place in the testlevel, where "Wallenstein" starts to attack the player, the game got stuck. I found out, that with a change in the last version, I totaly broke the pathfinding algorithm and didn't notice it. Sorry for that! To solve another issue with the pathfinding, I increased the search depth of the algorithm. But in the test level this led to loops and checks, which could take a couple of seconds for each frame.

So in this release I concentrated on the pathfinding algorithm and completely rewrote it by using a version of the Dijkstra algorithm. It now always finds the best way in a very short time, even when there are a lot of junctions in the waynet. I also updated the visualization of the waynet, when in edit mode. And finally: the waynet is now based on pixel coordinates instead of tile coordinates, which makes a lot of calculations more easy.

To get the new algorithm better tested, I also fully implemented the other two AI enemies: Helena and the Yeti. They also follow and attack the player now.

New Features:

  • New pathfinding algorithm

  • I enhanced the behaviour of the rats:

    • they now run with a random speed, normaly much faster that before
    • they can change the direction and speed while running
    • there's a chance, that the rat changes it's direction and run away, when the player jumps onto it. In this case, the player will get a bit of damage
    • random color and size
    • implemented a much better collision detection
    • added blood effects, when player jumps onto the rat
    • added a squeeking sound
    • when in edit mode, some parameters of the rat can be changed, size, color and speed for example
      image
  • Added cheese! As rats could now get really dangerous, the player can collect cheese, which will tame the rats

  • modified the level "Heaven" a bit and added a lot of rates and a nice place where the player can find the cheese

  • Added blood and audio effects to Wallenstein

  • Added attack mode for Helena! She will now start to shoot at the player with her pistol. Also added sound and blood effects

  • Added attack mode, sounds and blood effects for Yeti

  • Added more sound effects for the player

  • Added a voice for George. He sometimes starts to speek, when he is idle and he will tell you, when he gets hurt

  • added particle effects to the mushroom

  • added Pause and Step-Button when in edit mode (this is for debugging only)

  • when the player is idle a long time, he will do some funny things :-)

Other Changes:

  • optimized all sprite textures to occupie less space and therefore less memory in the graphics card
  • added metrics to the audio engine to visualize how many cpu time it uses.
  • rearranged the metrics display a bit, to make it better readable and understandable
  • added new audioclass for ambient sound effects like wind, water and birds
  • added new audioclass for voices
  • added new sliders in the audio settings to adjust the volumes of the new audioclasses
  • When loading a level in the level editor, only files ending on "*.lvl" are shown
  • Oxygen tank respawns after 120 seconds

Bugfixes:

  • fixed conflict between metrics and oxygen display when underwater
  • fixed calculation of AudioPool Buffersize
  • fixed drawing outlines for scaled objects
  • fixed drawing of scaled objects in edit mode
  • fixed some uninitilized variables
  • fixed pathfinding of Wallenstein in Test level (see above)
  • fixed a Segmentation fault, when in object mode and then loading a level
  • fixed some issues in ai and wallenstein
  • fixed selection of path in FileDialog
  • fixed segmentation fault when deleting an object, especially when there is an active collsion with player