Libove Blog

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

#

#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



#

https://mastodon.gamedev.place/users/havchr/statuses/116185423094393534

I'm applying the same animation matrix to the normals (with 0.0 as w component of the vec4 as this is a vector not a point).

Upon closer inspection the main problem seems to be in the fold of the book. Here both joints of the opening halfs are applied. Maybe that causes problems as the cancel each other out.



#

#gamedev progress:

  • reworked animation system to allow drawing instanced animated objects
  • each instance has an animation time
  • animation matrices are generated as frames

The normals of the animated mesh still look wrong. Not yet sure why.

#shaders #animation #rust

Many animated books in shelves


#

#gamedev progress:

  • Procedural book shelves are now used within the level, replacing the fixed model.
  • Started implementation of a world state object as "array of fat structs"
  • Implemented an algorithm to find free space within a shelf for a new book.

Screenshot showing shelves filled with books in a 3D "game"

#rust


#

#gamedev progress:

Implemented a procedural version of the book shelves. The geometry is created by simple inset and extrusion operations on quads.

GIF showing change of of number of boards in a book shelf

#rust #geometry


#

#gamedev progress:

I've spent the last couple of evenings implementing a #GLTF 2.0 parser to support animations. Today I've achieved the first step towards that goal and can now load meshes from .glb files.

#rust #geometry #dev

Obligatory screenshot showing a Suzanne model inside my game


#

#gamedev progress:

I've implemented a new algorithm to create level layouts. The previous approach added on chamber after the other only connecting it at one suitable location. This lead to "tree like" layout.

The new approach creates a Delaunay triangulation where each chambers center is a vertex. Then it discards edges as long as the graph stays connected. The remaining edge are used to as corridors.

Screenshot showing the corridor plan graph Screenshot showing the resulting level layout


#

small step forward: added shelves to rooms.

screenshot of a 3d scene with shelves standing on a wall

#gamedev #rust