Libove Blog

Personal Blog about anything - mostly programming, cooking and random thoughts

#

#gamedev progress

Prototype to write in books. I will have to refactor input handling. Currently I'm passing a big struct with the state of each key into the update function. This does not work well for typing.

game recording showing writing in book


#

#gamedev progress:

  • added a lectern where books can be placed. This is intended to be a place where the player can write in books
  • added a simple profiling system for frame times. The game started to fall below 60 FPS.

Game screenshot showing a lectern with a book and a frame profile



#

#gamedev progress:

  • books are now filled with random text (placeholder)
  • player can flip pages
  • player can open and close the book

3D Game recording showing book being opened and closed.


#

#gamedev progress:

First text rendered inside of a book!

3D scene showing an open book with an example text in front of book shelves


#

#gamedev progress:

  • reworked book model to fix issues with normals when book was opened
  • refactored input handling from event based to having a big struct of the input state passed to the update function
  • implemented the first interaction with the world. Books can now be picked up and placed back into shelves

Gameplay footage showing books being taken from on shelf and placed in another

#rust #dev


#

#gamedev progress:

  • started working on text rendering
    • loading and rasterizing fonts using fontdue
    • packing rasterized characters into a single texture
    • creating quads to insert text line into 3D scene

"Hello" being rendered in a 3D scene


#

#gamedev progress:

  • Static geometry (walls, floor ceiling) is split up into smaller chunks to allow culling
    • Implementation: generated geometry is loaded into a BVH with a larger leaf size (256). The geometry of each leaf is converted to an entity.
    • Culling via distance to the player.
  • Added player physics. No longer clipping through walls and shelves. Not stable enough yet.
  • Reworked ray casting system to handle animated objects correctly.
  • Player can now click on books to open them.

#rust


#

#gamedev progress:

  • small refactoring of OcTree to simply change the intersection test function during construction. This allows to choose between accurate or fast functions.
  • OcTree is working now. Only included the static geometry at the moment. Can now ray cast into the scene.

GIF showing correct ray cast collision

#octree #rust