Game engine development, C++, lua, PhD Mechanical/Optical engineering, laser sensing

Boulder, CO
Joined December 2024
Water caustics improvements: - Added a "focal depth" with max "sharpness", caustics get smoother away from the focal depth - Voronoi octaves added+multiplied (n1+n2+n1*n2) to make overlaps extra bright - Slight chromatic dispersion, amplified at focal depth
15
27
3
522
21,887
I like to add intricate mechanisms & pipes
1
19
659
Agentic gnomes can now be used to automate crafting and machine fueling You provide them with a queue of items to craft, and the "scheduler" creates tasks for dependent items etc. Extract resources -> manufacture -> exchange items for new technology
3
17
609
A simple atmospheric scattering color gradient make fog look much better
2
1
18
593
Getting 120 fps after multi-threading my render system 3 stage pipeline: simulates game state, fills + optimizes GPU command buffer and submits commands simultaneously Now getting 100-120 fps on my gaming laptop and 60 on my macbook!
2
3
74
3,506
Be careful using std::cout on multiple threads (esp. on Windows) Lock contention in std::cout was causing several millisecond delays in my engine's sim thread Best bet is to write your own logger so you can control how it handles shared resources etc.
1
4
411
Added wavelength dependent scattering (Mie/Rayleigh) Fog color changes based on view angle relative to sun direction
1
50
1,524
Just made my render loop multi-threaded (super stable framerate): Rendering runs while the next frame is being simulated (lua + physics etc.) Rendering + sim are synced once per frame -> copy all relevant sim data to a "packet" which is handed off to render Any GPU ops on the sim thread are pushed to a command buffer that is passed off to the render thread which executes the accumulated GPU commands before rendering Frame rate is perfectly stable even with a ton of NPCs/script runners
4
1
73
4,654
Blender pipe generator made with geometry nodes All maps to 1 texture
10
619
More assets: Each of these has ~200 polygons Trying to save time by making a really simple mesh then adding all the details to the textures in substance painter
6
392
Underrated “optimization”: Making sure that your GPU is actually running 100% of the time (no stalls waiting for the CPU/memory contention etc)
1
13
2,664
Order independent hash functions: Useful for mesh operations where you want to index/search for a triangle "facet" via its 3 vertex indices and you don't care about the ordering of the indices
30
1,413
1. Test play game from the start 2. Write down every bug/issue I encounter 3. Fix issues 4. Repeat Been running this loop lately
3
248
Made my A* implementation 4x faster by removing all dynamic allocations Uses fixed sized heaps + static arrays allocated at startup Makes pipe routing much smoother
10
7
256
16,862
2-4x faster frustum culling: Wrote this SIMD implementation of the view-frustum + bounding box intersection test Parallelizes across 8 bbox corners (2x4) to maximize lane usage This function is heavily used in the rendering loop
8
20
378
17,790
Added VIM to my developer console I now officially have a game engine editor All text is rendered by the engine w/ custom code Allows you to write lua code and run it (like spawning enemies etc)
1
1
14
793
Water voxel remeshing and liquid simulation are now running on a separate thread. Liquid sim now has ~0 effect on the frame rate / stuttering
2
18
983
More debugging on this liquid simulation Color = velocity vector Based a simplified incompressible Navier-Stokes solver These simulated oceans and lakes are super fun to mess with
1
2
19
1,259
Added pressure and velocity solvers to my 3d water simulation Looks way more physically accurate now The hydraulic pressure solver will cause connected reservoirs to equalize surface height even through tunnels etc. Still need to clean up some meshing + rendering bugs
2
2
34
2,150
Finally added a developer console which allows you to spawn items during runtime Also added some nice "tab" autocomplete
1
14
1,107