Tron-Like trail

Godot Version

Godot 4.2.2

Question

I am trying to create a tron-like game that is very similar to tron evolution([https://www.youtube.com/watch?v=1EgDXyG0E0Q]). I’ve made some code but I am running into 2 main issues

  1. The trail doesn’t generate smoothly. It is not nearly as smooth as in the game, this can probably be fixed with tweeting and just making the bike go faster.

  2. I can’t generate collisions properly. In the code I will have linked below, I will have my current solution, which is EXTREMELY inconsistent. I have also tried using mesh.create_trimesh_shape but this only generates a very small (in length) collision line which follows the bike (it doesn’t extend through the entire trail).

Here is my code for the trail
Here is what my game looks like as of current

Here is a video of what I would like to look like (Also linked above)

My thought for the first problem is to use something that looks like the trail and covers the jittery area, but is actually moving steadily with the bike. Maybe not the perfect solution, but it should be pretty easy to implement. You could also add some extra effects here to spice up the visuals.

As for your second problem, I am looking forward to seeing a solution. I’m no expert at all and I’ve had my own collisions issues.

Good luck!

To be honest that’s a very impressive demo.
The Tron 1984 series is fantastic. Except it’s missing a lot of content. Because of the lack of artists working on the project. Either confused about assignments. Or, just locked without any ideas.
He’s a report from school assignments that students are supposed to undertake. I see this in my city every day. Here’s a building with sharp roofs.


Psyche! If you look at it from the true angle. It’s the same building. But, the roof is flat.

If I do manage to find a way to add collisions, I’ll be sure to post it here!

in the code I’m a little bit tired.
In this example. are you using to_local(point) as an argument. or is this a built in function of some kind. because otherwise there is no assignment for “point”

for point in points:
        localPoints.append(to_local(point))

I just got one more thing. If you’re as much interested in learning. Smoothing sometimes comes from filters and motion blurring to get rid of hard edges. Nothing more to it. However I wanted to get more mathematical results as samples before I get to express any distinct industry doubts.
Here’s the actual way PI will transition from one circle to the next. It’s probably not what you assumed in the first place. Like radius.
I’ll leave a deme screenshot. It actually requires some transition to the next circle. Because you can never be precise with large values of PI.

If you want I can explain why you have problem 1 and 2. The trail has large values. If you want to make it smother. You need the minimum value for every degree it rolls. You can go crazier and have a minimum values set to decimal number. Like for every 0.001 degrees. Here’s the problem however. It’s a very obvious problem for Godot. It always counts against godot delta at 60 frames. meaning the results are always standing at 0.016666667 decimals. It’s very confusing. Because originally the graphics output on any device is controlled and tripled. In any easy computer simulation a degree can be divided into the power of 0.0001 × 10,000 per screen pixel. That means even if you have your simulation move at that decimal value you’re not even going to see visible results. That’s a variable as well. Just so you know.
The problem number 2 is just that you only got one collision shape. It’s probably just turned sideways as it grows it grows in height or depth. You need length that follows the bike. And, it doesn’t add children.

I’m new to Godot myself so don’t know if this is helpful, but thought I’d mention it just in case.

Have you looked at CSGPolygon3D? It can be set to extrude along a Path3D and it has a toggle for use_collision.