Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Okay, I think I've figured it out! It's GM's float numbers being too imprecise, essentially. I added a bit of a hack to make the track position bigger to have more decimals around, and that solved the problem.

Here's the changes you need to do:

  • In obj_trackcontrol's create event, below the line that sets "global.ufactor", add something like global.uufactor     = 1000/global.tracklength
  • When trackcontrol creates cars, below the line "n.u = u", add the line n.uu= n.u*1000
  • In player_apply_movement, remove the line that sets u and replace it with the following two lines:
    • uu         += lengthdir_x(argument1*global.uufactor,alpha)
      u = uu/1000

You could substitute the 1000 for any number you want, I'll do that with a macro and then export an updated version of the engine file.