
Blazingly fast voxel data generation
My voxel engine (Rust+Bevy), is now 25 TIMES FASTER.
I mainly used 4 techniques, 1 of which I've never heard anyone do.
1. Extremity bound checking (automated)
2. Noise up-sampling
3. Noise Cashing
4. RLE based runtime voxel data
baseline: 20 million voxels / sec.
optimizations: 500 million voxels / sec.
I can fly 320 blocks per second, and the engine keeps up.
RLE allows for 32x256x32 chunk sizes, which has some surprising benefits.
Low RAM, instant (file/network) no compression needed, faster chunk management/scanner, fast y range memory writes, fast surface detection, data fits in L1 cpu cache.
the cons: slower random memory access+modification.
^this con has not affected me yet, because I do not have surface feature implemented yet.
Q: What about ambient occlusion + RLE?
To binary greedy mesh, we always transform chunk data into bit-arrays.
So when sampling for AO, I don't random memory access the RLE.
it's fairly cache-friendly to unpack the RLE into the bit-arrays.
Fun fact: I sample AO in a 5x5 range, and it's still this fast :o
Data gen also traverse in such a way that we NEVER have to randomly memory access the RLE. That's how I can use RLE, and still be very fast!
Q: How does the binary greedy mesher work now?
Considering my greedy mesher works upon u32 bit-arrays, i can't fit 256Y inside the bit-array data. Hence, I segment up the world into 8 seperate (32*32*32) volumes.
If my chunk data contains faces spanning y:0 to y:64, My mesher will only generate 2 seperate meshes.
#bevy #rustlang #voxel

















![[게임 개발 일지 110] 상호작용, 소환창 수정 #게임 #1인개발 #indiedev](https://img.youtube.com/vi/HEIS-fMYscs/hqdefault.jpg)
![[게임 개발 일지 112] 검사 파티 공격 모션 수정 #게임 #1인개발 #indiedev](https://img.youtube.com/vi/2dINfOQ2kfE/hqdefault.jpg)
![[게임 개발 일지 109] 던전 관리창 수정 #게임 #1인개발 #indiedev](https://img.youtube.com/vi/KV3qkO-dA6A/hqdefault.jpg)



























![[게임 개발 일지 124] 뱀파이어 수녀님 이동 메커니즘 상세 설명 #게임 #1인개발 #indiedev](https://img.youtube.com/vi/tGj3ydtLHGA/hqdefault.jpg)


![던전에 총을 들고 오는 탱커? 이건 반칙 아닌가요? [게임 개발 일지 126] #게임 #1인개발 #indiedev](https://img.youtube.com/vi/RsRNGGwluto/hqdefault.jpg)



















![[게임 개발 일지 122] 뱀파이어 수녀님 스프라이트 시트 구성 과정 #게임 #1인개발 #indiedev](https://img.youtube.com/vi/C56YfTT1ZeQ/hqdefault.jpg)




















![[게임 개발 일지 126] 양 네크로맨서 전투 구현 과정 찐막 구현 #게임 #1인개발 #indiedev](https://img.youtube.com/vi/PkWJ7YDfCd0/hqdefault.jpg)

















![[게임 개발 일지 116] 유령 강아지 구현 과정 #게임 #1인개발 #indiedev](https://img.youtube.com/vi/SgjsVnw3vP4/hqdefault.jpg)
















































![[게임 개발 일지 117] 그림자 고양이 구현 과정 #게임 #1인개발 #indiedev](https://img.youtube.com/vi/3cKKibNQHdU/hqdefault.jpg)

























![[게임 개발 일지 120] 광원지 업그레이드! #게임 #1인개발 #indiedev](https://img.youtube.com/vi/SeLc4Zp6cjc/hqdefault.jpg)








![[게임 개발 일지 115] 형광다람쥐 전투 구현 #게임 #1인개발 #indiedev](https://img.youtube.com/vi/8Z-k2N5Q3Ck/hqdefault.jpg)




























![[게임 개발 일지 125] 뱀파이어 수녀님 공격 메커니즘 구현 과정 상세 설명 #게임 #1인개발 #indiedev](https://img.youtube.com/vi/o0zOC1CY46k/hqdefault.jpg)






















![[게임 개발 일지 123] 뱀파이어 수녀님 순찰 메커니즘 구현 #게임 #1인개발 #indiedev](https://img.youtube.com/vi/OYNTwQ97bcw/hqdefault.jpg)




![창천사, 엘프검사 구현. 거점까지 직접 순찰하도록 수정. [게임 개발 일지 127] #게임 #1인개발 #indiedev](https://img.youtube.com/vi/8hhwAZcgkaY/hqdefault.jpg)

















































![[게임 개발 일지 118] 미믹 구현 과정 #게임 #1인개발 #indiedev](https://img.youtube.com/vi/WuVcQ6Ckoog/hqdefault.jpg)



![[게임 개발 일지 119] 보물창고 업그레이드! #게임 #1인개발 #indiedev](https://img.youtube.com/vi/_qiSCs5ZiCg/hqdefault.jpg)














![[게임 개발 일지 121] 수원지 업그레이드! #게임 #1인개발 #indiedev](https://img.youtube.com/vi/Sgg87VfToQ0/hqdefault.jpg)





































































































