06/09/2024 – DD58 Cybersurfer Demo

As promised, here’s a new demo. It’s quite different from the last. The player now goes along the track automatically instead of being player controlled, and handling has been rebuilt for the 4th time.

And the obvious, a completely new visual style.

No more VRM models, no more green placeholder textures, no weird misaligned textures; the real art style is starting to take shape. There’s still a lot to do, but it’s getting there.

But from a technical perspective, what’s changed?

To begin with, look at these images. Can you see the problem?

The verts are not connected properly. This is a problem with the way I’m handling curved corners. When I manipulate the vertices to raise the sides, these unconnected parts would often cause holes. They were never connected properly. This was a side effect of how I was creating vertices in the first place, where I was getting left and right points and adding everything in between, but in a terrible fashion that involved a ton of lists.

As an additional point, I still needed to subdivide along the length of the track in specific sections.

So I rebuilt the track generation system. This time I decided to cut down the number of arrays managing the vertices on a line-by-line basis based on the length of a section of the spline. This also made it easier to connect it up, as I only had to look at the previous line of the array.

Connecting them up had to be done differently this time as well, so as to avoid those previously mentioned gaps in the mesh.

These images are the new triangle order for connecting these verts properly for subdivisions.

As you can see, it works a lot better. And the point behind this is that if I moved any of these verts up or down, they would still be connected without any gaps.

Added additional resolution along the length in different sections of the track proved to be much easier than anticipated, and the results are fantastic, as you can see. The horizontal resolution is a slight issue, as I can only go up in multiples of 2. In other words, 1, 2, 4, 8, 16, & 32. I cap it at 32, as anything higher would be unnecessarily detailed.

After all of that, I finally got back to making corners.

I quickly decided that trying to append additional mesh on to the sides was not going to work due to the colliders on the sides of the track. But with the new way of generating the mesh, it would not be as much of a headache to manage.

But then I had another idea: what if I used animation curves as data for the curvature for the track, as well as the easing between the flat and raised sections? It took quite a lot of hitting my head against the wall to get it to work, but the final result is extremely functional.

There’s more to talk about in regards to player handling, camera stuff, and so on. But I just want to write a few things on this specific aspect. I’ll be making a more detailed video on it soon, although it might take me a while to finish.

Check out the demo and let me know what you you think.

But with the demo out of the way, what’s next? Easy. More of this. And 7DFPS again.

It’s getting close to that time of year where I have to start planning out what I want to do for that. Except for the part where I’ve had the idea stuck in my head since about February. In short, it’s an expansion on the idea of moving a player through an environment with additional situations on top. Basically, creating a bunch of different scenarios that might be good for VR just to see how well they work.

There’s a lot of prep that needs to be done, a lot of it involving re-doing my previous 7DFPS game’s code to make the gun better to use. And to add a lot more guns. Although I’ll be keeping them one-handed, because two-handed guns in VR are fiddly as fuck unless you have some kind of lightgun that you can put the controllers in, I’d be concerned about the tracking at that point.

That will be available in December, but I’ll probably do a video about it soon after I’m done with the Cybersurfer video.

That’s it for this time. God knows when I’ll make another post, but I’ll see you then.

-Adam