Voxel Games and Loading Lag
Hi Guys,
I'm coming up with some ideas on a voxel-based Minecraft-like game, built ground-up for VR, and one thing that I'm thinking may be a big issue for games like these is the momentary lag spikes or stuttering that happens when new 'chunks' are loaded or generated. I'll be writing the game in C# for Unity, I've already done some stuff with voxel chunk generation in the past with good results.
My main issue is how to get around lag spikes/stuttering with smooth headtracking, I don't want my game to induce Nausea. I'm fairly new to things like threading but would it be possible to technically prioritize headtracking above everything else? So that it may take longer to load that chunk (rather than instantly in one frame), so long as headtracking does not have a slight freeze when it happens..
A good example of this would be Minecraft, when running on a powerful PC on a multiplayer server, any chunk loading lag is entirely server-side, on the client you will have silky smooth chunk loading but possibly some delay in the results appearing on-screen. However when playing singleplayer, you will have very minimal freezes instead of loading delays.
Essentially, everything else could freeze except for the headtracking (and possibly hand tracking), so you could continue to look around while frozen.
I'd just like to know if anyone has some thoughts on this and how feasible it may be. This idea is entirely conceptual at the moment but I'd like to make sure it works comfortably in VR.
-Ben
I'm coming up with some ideas on a voxel-based Minecraft-like game, built ground-up for VR, and one thing that I'm thinking may be a big issue for games like these is the momentary lag spikes or stuttering that happens when new 'chunks' are loaded or generated. I'll be writing the game in C# for Unity, I've already done some stuff with voxel chunk generation in the past with good results.
My main issue is how to get around lag spikes/stuttering with smooth headtracking, I don't want my game to induce Nausea. I'm fairly new to things like threading but would it be possible to technically prioritize headtracking above everything else? So that it may take longer to load that chunk (rather than instantly in one frame), so long as headtracking does not have a slight freeze when it happens..
A good example of this would be Minecraft, when running on a powerful PC on a multiplayer server, any chunk loading lag is entirely server-side, on the client you will have silky smooth chunk loading but possibly some delay in the results appearing on-screen. However when playing singleplayer, you will have very minimal freezes instead of loading delays.
Essentially, everything else could freeze except for the headtracking (and possibly hand tracking), so you could continue to look around while frozen.
I'd just like to know if anyone has some thoughts on this and how feasible it may be. This idea is entirely conceptual at the moment but I'd like to make sure it works comfortably in VR.
-Ben
