Track: Dyson Speedway

Re: Track: Dyson Speedway

Postby Heuchi1 » 22 Jun 2021, 09:57

RX1 {l Wrote}:The rather long loading time is not related to the details of the track. The polygon count is around 100.000 tris (130.000 in blend file, but not all of that is exported). As far as I remember Cocoa Temple for example is around 250.000 tris.
The reason for the longer loading time is related to the complexity of the driveline in combination with the length of the track and the required number of checklines. If I delete all additional drivelines and keep only the main one, the track also loads in one or two seconds. Like I described before:
RX1 {l Wrote}:Dirvelines - loading delay:
Because of the pipes and alternative lines, my track needs many additional drivelines. […] I am not sure, but maybe this is related to the following message which STK writes, when loading the track: "[info ] CheckLine: Object crosses line, but wrong height ...". The more drivelines I have, the more of these messages it generates. It would help if I would understand what exactly this message means. I suspect it might be related to checklines that are not touching any driveline.


I think the long loading time has nothing to do with the checklines at all, but the message you mentioned lead me to the real reason:
When loading a track, void DriveGraph::computeChecklineRequirements() is called and it traverses the whole node tree to find the last checkline a kart had to cross before a given quad. This is done recursively but no check is done, if a certain node has been visited before. This function will literally travel all(!) possible ways. So if you have a lot of alternative drivelines it can take some time.

For a quick fix I added a check if a node was already visited: the current version runs about 3 to 4 seconds on my system for your track, with the change it runs less than 10ms.

I don't know if this can have any side effects because I'm not familiar with this part of STK. More specifically, I don't know if grouped checklines have the same number internally. If that was not the case, my new version is not guaranteed to produce the exact same result than the current one. Although the result of the current version would also seem to depend on the order of the successors. So some testing would be good.

I'm not sure this is the right place for those details, but I don't know another way to reach RX1. You don't seem to be on Discord?
If you can compile your own client, you could try my fix, or you could send me the most complex version of your track and I could see how long it takes to load.
Heuchi1
 
Posts: 26
Joined: 07 Apr 2021, 18:34

Re: Track: Dyson Speedway

Postby RX1 » 22 Jun 2021, 11:04

benau {l Wrote}:rx1 which blender version are you using ...

I am still using Blender v2.79b and the respective scripts from "blender_26" folder of the SuperTuxKart Media Repository (Revision 18272). This is still the same setup RuJo & I used for Toy Block Raceway. Last time we tried the newer scripts (from "blender_28" folder) with new Blender version it didnt work for for us and I also heard that another STK player and track author had issues exporting his track with Blender 2.8. So I kept using the running setup for Dyson Speedway.

benau {l Wrote}:the check plane can be calcuated with drive node normal by the way, so you can still use line in blender ...

What is the drive node normal and where can I find it? Can it be used to increase the checkline height for my track in current STK 1.2 version? Do I need the newer Blender version and STK export scripts for that?
RX1
 
Posts: 45
Joined: 27 Jun 2020, 22:18

Re: Track: Dyson Speedway

Postby benau » 22 Jun 2021, 11:23

Don't need to worry about 1.2 because it will be dead soon anyway
Image
benau
STK Moderator
 
Posts: 446
Joined: 08 Dec 2015, 17:32

Re: Track: Dyson Speedway

Postby Heuchi1 » 22 Jun 2021, 11:36

I've created a pull request.
I now understand how ChecklineRequirements are done and have a save way to greatly speed up this process.
Heuchi1
 
Posts: 26
Joined: 07 Apr 2021, 18:34

Re: Track: Dyson Speedway

Postby RX1 » 22 Jun 2021, 14:06

Heuchi1 {l Wrote}:I'm not sure this is the right place for those details, but I don't know another way to reach RX1. You don't seem to be on Discord?

I have just created an account at libera.chat IRC network to join #supertuxkart channel again. You will not find me on proprietary centralized systems like Discord.

Heuchi1 {l Wrote}:If you can compile your own client, you could try my fix, or you could send me the most complex version of your track and I could see how long it takes to load.

I can compile software if I a have detailed list of instructions that includes all required packages. I never compile STK before. Probably its easier if I upload a special version of my track to my cloud for you. I could export one with further additional drivelines, which are currently ignored, that takes over a minute to load. But I think a difference from 3 or 4 seconds to 10 ms is obvious enough already.


Something I did not mention so far, is that I had issues getting some additional drivelines to work.
There are a few things I figured out:
  • It seems to be important that additional drivelines should not start in upside down or vertical sections. Thats why I had to extend a few drivelines.
  • If it still doesn't work, sometimes it helps to move the start of the additional driveline further up or down the main driveline. Even a single segment of the main driveline can help.
RX1
 
Posts: 45
Joined: 27 Jun 2020, 22:18

Re: Track: Dyson Speedway

Postby Heuchi1 » 22 Jun 2021, 14:28

RX1 {l Wrote}:I can compile software if I a have detailed list of instructions that includes all required packages. I never compile STK before. Probably its easier if I upload a special version of my track to my cloud for you. I could export one with further additional drivelines, which are currently ignored, that takes over a minute to load. But I think a difference from 3 or 4 seconds to 10 ms is obvious enough already.


I think it would be quite interesting to see if I can load such a version without problems to see how much faster it really is.
Unfortunately I won't be able to really test your track, because my driving skills are just not sufficient. ;)
That's why I thought it would be better if testing was done by "pro" drivers.
On the other hand I really do think my PR doesn't break anything. But let's see what Benau says.

So if you have a link, I'll be happy to try.
Heuchi1
 
Posts: 26
Joined: 07 Apr 2021, 18:34

Re: Track: Dyson Speedway

Postby tempAnon093 » 23 Jun 2021, 00:18

Now that the code is merged (nice!), I can grab the latest git release ( https://github.com/supertuxkart/stk-code/releases , "Latest preview release" above 1.2) and do some testing on main tracks and add-ons. :)
tempAnon093
 
Posts: 363
Joined: 02 Feb 2019, 12:09

Re: Track: Dyson Speedway

Postby Heuchi1 » 23 Jun 2021, 07:18

tempAnon093 {l Wrote}:Now that the code is merged (nice!), I can grab the latest git release ( https://github.com/supertuxkart/stk-code/releases , "Latest preview release" above 1.2) and do some testing on main tracks and add-ons. :)


That would be great.
However, looking at the dates in the file names, I think only "win", "switch" and "mac" versions include my PR. Linux and apk packages seem to be older and probably won't have it yet. So, if you're on Linux or Android, you might still have to build yourself.
Heuchi1
 
Posts: 26
Joined: 07 Apr 2021, 18:34

Re: Track: Dyson Speedway

Postby benau » 23 Jun 2021, 10:50

Linux and android are manually Image because of complexity

wine the win build in linux should work too because it's Image with mingw

By the way check plane code is under way......
Image
benau
STK Moderator
 
Posts: 446
Joined: 08 Dec 2015, 17:32

Re: Track: Dyson Speedway

Postby RX1 » 24 Jun 2021, 18:35

I have tested the recent Windows preview built with the special test version of Dyson Speedway (with 11 more additional drivelines).
At the first start it took about 10 seconds to load, maybe because there were some STK libraries that were not loaded. Then I went back to menu and started it again and the track loaded almost instantly (less than two seconds). In STK v1.2 that version of the track would take about a minute to load on that System. This confirms the improvements Heuchi was talking about.

I also checked all (additional) drivelines for bad reset sections (parts of the track where the kart doesn't get reset close the same place, but (a lot) further back) and everything worked at least as well as in version 1.2. So in case of Dyson Speedway, Heuchis new code works correctly. Well done! :cool:
I also ran a few standard tracks and everything seemed normal, too, but I have not explicitly tested the tracks.

Thanks a lot at Benau, too, for making it available quickly and for working at the new 3D drivelines! :)
RX1
 
Posts: 45
Joined: 27 Jun 2020, 22:18

Re: Track: Dyson Speedway

Postby benau » 25 Jun 2021, 07:01

it's now working with latest git stk-code, but if you export with latest exporter script 3d checkline will be treated as 2d in <= 1.2 stk, so maybe you can update your addons after 1.3 is released Image
Image
benau
STK Moderator
 
Posts: 446
Joined: 08 Dec 2015, 17:32

Re: Track: Dyson Speedway

Postby sridharkumar » 29 Jun 2021, 19:55

Finally it work on my Computer! The problem is i did not restart my computer ;)
Last edited by sridharkumar on 30 Jun 2021, 06:09, edited 1 time in total.
sridharkumar
 
Posts: 31
Joined: 30 May 2021, 15:46

Re: Track: Dyson Speedway

Postby puzlanchik » 29 Jun 2021, 22:29

This is a great track! Thx! Live long and prosper! :heart:

Image
puzlanchik
 
Posts: 31
Joined: 12 Jul 2019, 00:06

Re: Track: Dyson Speedway

Postby RX1 » 03 Jul 2021, 23:32

sridharkumar {l Wrote}:... The problem is i did not restart my computer ;)

Honestly? :think: :D
However, the investigations done because of your issue led to some nice improvements, which in future will not only help Dyson Speedway to start faster, but also other tracks. :D

puzlanchik {l Wrote}:This is a great track! Thx! Live long and prosper!

Thanks a lot for playing! :) The more people install, play and enjoy the track the more all that time and work I invested feels worth it and motivates me to realize further projects for STK.

I know this is by far not a classic STK track and the first laps may be difficult for some players, but I hope that it will add some new excitement to STK after all. :cool:

eltomito {l Wrote}:I tried your track. It's fantastic including the music. Great job,!

Thanks for mentioning the music. I'm very happy about finding this cool "Retro Game Music Pack" (https://opengameart.org/content/5-chiptunes-action). The author Juhani Junkala did not only do a great job by composing the music, the sound tracks in that pack can also be looped and joined seamlessly! :cool: In my case I combined two of the tracks by using Audacity.
RX1
 
Posts: 45
Joined: 27 Jun 2020, 22:18

Re: Track: Dyson Speedway

Postby tlbomb » 14 Aug 2021, 19:46

This is tlbomb to Bridge;
I played this track once and.... WOW.
The track's graphic design was just mind blowing and would match a revolution in STK's graphics :o
Just a little thing I'd like to mention: the track is somewhat confusing and I ended up falling into holes or crashing against invisible walls.
Anyway: GOOD JOB :D
With worst regards you can think of... No, I was just sarcastic *cough*
With BEST regards,
tlbomb
User avatar
tlbomb
 
Posts: 51
Joined: 13 Nov 2020, 17:56
Location: Actually... just somewhere in the universe. Ask Mr. Beeblebrox for further information.

Re: Track: Dyson Speedway

Postby sridharkumar » 17 Aug 2021, 15:34

This track is very great. A LOT better than some main tracks. But there are only two problems as far as i can see.

1. When i use zipper when going uphill, i fly into the air when it flattens and it automatically resets me. Can you give that texture a gravity option? Or maybe slow down that zipper to a speed where i keep touching the road.

2. Seems like turning is very very hard on "some" textures especially when I am at highest speed. Did you flip the normal to opposite side? lol
sridharkumar
 
Posts: 31
Joined: 30 May 2021, 15:46

Re: Track: Dyson Speedway

Postby tempAnon093 » 19 Aug 2021, 00:45

sridharkumar {l Wrote}:2. Seems like turning is very very hard on "some" textures especially when I am at highest speed. Did you flip the normal to opposite side? lol

It will probably help if you can name which textures or where they are in the track. There's lots of them!
If it's the two sections where you slide and can't turn for a few seconds, I'm guessing that was done on purpose as a challenge.
tempAnon093
 
Posts: 363
Joined: 02 Feb 2019, 12:09

Re: Track: Dyson Speedway

Postby sridharkumar » 19 Aug 2021, 13:37

tempAnon093 {l Wrote}: If it's the two sections where you slide and can't turn for a few seconds, I'm guessing that was done on purpose as a challenge.

Well it can be a challenge. But, it could also be a mistake too. Because that happened to my own track evergreen forest.

The point is, if you wanted to make the road both sides visible, usually you double it and flip the normal opposite side. And that's what creates the problem in turning.

I think its happening because there is some sort of gravity problem when you double the road. To solve this problem just move the duplicate road a VERY little distance away from the actual road so that players wont notice the gap.... and it would make to turn easily.
sridharkumar
 
Posts: 31
Joined: 30 May 2021, 15:46

Re: Track: Dyson Speedway

Postby Alayan » 10 Sep 2021, 19:40

From the video, the track looks great, probably one of the best add-ons out there.

But indeed too wild, too far in the experimental madness for the base game I think.

Nonetheless, I think you could well be able to make a track good enough for the base game, given enough work and care. The islands project probably wants to do too much at once, but with a well-defined design another track could be of high enough quality. I hope to see more projects from you, and discussion too of early draft to design things that would integrate well in the game.
Image
Alayan
STK Moderator
 
Posts: 279
Joined: 25 Mar 2012, 22:11

Re: Track: Dyson Speedway

Postby Bird » 14 Sep 2021, 07:58

What about a name change? This track deserves something more gigantic. Like Dyson Space Sphere...

This is a challenging track, where the racers have to do quite some laps to get used to. I've noticed something at the place, where I jump into the tube with the 4 boost lanes, that can be driven upside down. Aiming the jump towards the tube is sometimes a bit tricky, as minor differences lead to the kart flying all over the place at this jump. However I think it resets me too quickly, even if the jump wasn't perfectly aimed at the tube, I would have been able to go on. Maybe even hit one of the three bananas at each side, but I would have been able to go on. So the automatic reset is a bit too conservative there.
User avatar
Bird
 
Posts: 23
Joined: 24 Apr 2021, 12:43

Re: Track: Dyson Speedway

Postby RX1 » 19 Oct 2021, 15:30

Hello again,

first of all, sorry for the late response. Somehow my topic notification was turned off. :?

sridharkumar {l Wrote}:This track is very great. A LOT better than some main tracks. But there are only two problems as far as i can see.
1. When i use zipper when going uphill, i fly into the air when it flattens and it automatically resets me. Can you give that texture a gravity option? Or maybe slow down that zipper to a speed where i keep touching the road.

Which part of the track do you mean? There is one uphill section (see picture) where karts indeed can get off the ground. This only happens in Super Tux mode with heavy karts, when you use a red zipper and hold full throttle. In this case it is intended and part of the racing challenge. All you have to do is to shortly tap the brakes and you will make it over the hill without going off. Imagine a tight curve on a regular race track. If you are too fast you'll go off and hit the catch fence. I even colored the curbs in that potential braking area as a warning sign.
Image

sridharkumar {l Wrote}:2. Seems like turning is very very hard on "some" textures especially when I am at highest speed. Did you flip the normal to opposite side? lol

There are parts of the track where it is intended that you can't control the kart (pictures below). You have to slide over those round transparent windows, which are supposed to be force field gates into space. You have to aim at your desired direction before going onto the force field and if you did well you will reach the other side without trouble. I know this something rather uncommon in STK, but I thought this sliding is a challenge that adds some fun.
Image
Image

There indeed also are unintended sections where the steering controls are kind of delayed and the kart appears to slide. I figured out that this happens in areas where the road is completely vertical and I have not found a solution for this glitch. You can see the same issue one other tracks (for example skindoormimizs Gravity Boost track). In the case of Dyson Speedway there might be multiple layers of 3D objects in the Bender model, but only one of them has a track surface which is driveable. The others are ghost material (design elements without collision) or they are ignored because they are race direction specific (excluded in respective forward or reverse races). You can also use artist debug mode and see that the normals are not pointing into the wrong direction.

Bird {l Wrote}:This is a challenging track, where the racers have to do quite some laps to get used to.

Yes, this track is supposed to have a long term motivation for expert players, but I think in beginner or advanced mode it's also suitable for occasional STK players. You most probably will not perfectly master the track on the first laps you run and there are some key factors you have to learn to get up to top speed there, but the track itself gives the required hints if you pay attention. I saw some players hated it because they have not been able to win right away and because it is not completely what they are used to in STK. At the same time others love it for the same reasons. :D They say you can play it again and again and it doesn't get boring and that it feels like playing a new game.

Bird {l Wrote}:I've noticed something at the place, where I jump into the tube with the 4 boost lanes, that can be driven upside down. Aiming the jump towards the tube is sometimes a bit tricky, as minor differences lead to the kart flying all over the place at this jump. However I think it resets me too quickly, even if the jump wasn't perfectly aimed at the tube, I would have been able to go on. Maybe even hit one of the three bananas at each side, but I would have been able to go on. So the automatic reset is a bit too conservative there.

This was a mishap that is already fixed for the new version (I will post more about that new version later). There is an invisible object that is supposed to bump you down to the track if you jump / fall too far into the pipe, which would cause the kart to spin when it finally hits the surface. Somehow that object was set to "reset player". :shock:

Alayan {l Wrote}:From the video, the track looks great, probably one of the best add-ons out there.
But indeed too wild, too far in the experimental madness for the base game I think.

Thanks! And yes, I understand. If you wanted to include it into the base game it would have to be some very special secret that won't get unlocked until you completed the story mode and maybe a certain amount of challenges in Super Tux mode. ...or maybe if you obtained all achievements.

I don't know if I can find enough motivation to create something "normal" in future, but we will see. ;) :)
Attachments
Screenshot_20211019_143429_xxxs.png
Dyson Speedway - Top Gate Force Field
Screenshot_20211019_143220_xxs.png
Dyson Speedway - Section 2 Hill
RX1
 
Posts: 45
Joined: 27 Jun 2020, 22:18

Re: Track: Dyson Speedway

Postby tempAnon093 » 19 Oct 2021, 23:57

RX1 {l Wrote}:I don't know if I can find enough motivation to create something "normal" in future, but we will see. ;) :)

Haha I know that feeling, I quickly get bored of any project that isn't new or different.
tempAnon093
 
Posts: 363
Joined: 02 Feb 2019, 12:09

Re: Track: Dyson Speedway

Postby RX1 » 20 Oct 2021, 10:26

Hello again,

I have finally created the egg hunt challenge for this track.

There are many eggs and some are hard to get. When playing egg hunt you normally either find and get every single egg or you can't complete the egg hunt at all. But I don't want to force the players to get all eggs. So I thought that for occasional players it would be nicer just to play for a while and see how far they get. Thats why I decided to use the scripting functionality to implement a scoring system for the egg hunt mode of Dyson Speedway.

Image
Image

I created custom Easter eggs, which consist of a ghost object and a trigger object in Blender. Each Easter egg trigger has an individual script function that calls certain scoring methods, which give the player a number of points and possible bonus points depending on the skill level of the egg. Those points are added to an overall score, which is permanently displayed (see pictures above).
At first I tried to use normal STK Easter egg items, but I didn't find a way to call a function on collection of an egg and it isn't possible to create triggers in Blender, which perfectly match the bounding boxes of the item eggs (which - like all STK items - are actually constantly changing their size).
So I created those those trigger based "pseudo eggs", which also allowed me to visually redesign the eggs (pictures below). :cool:

Image
Image

  • Currently there are 53 pseudo eggs. 19 easy, 15 medium and 19 hard ones.
  • 12 of the hard eggs are outside of the Dyson Sphere, where you can make amazing stunts and globally orbit the whole sphere just by using the texture based gravitation effect. Going into outer space is probably the biggest general "Easter egg" of the track.
  • The number of collected eggs is displayed in a static message together with the overall score.
  • There are 3 normal STK item Easter eggs. Those are "final eggs", which are locked inside boxes until you collected all respective easy, medium or hard pseudo eggs. You get a message that you need more eggs of the respective type if you hit one of those boxes.
  • Then there is one last STK item egg: When you collect the final hard egg, you unlock the final space egg.
My test runs took about 30 minutes, but it might be possible to get all eggs in less than 20 minutes, once you know where they are.

However, there are a few things I'd like to add, which I have not been able to realize (yet). Maybe someone here in the forum knows how to do it:
  • Timebonus: If it was possible to read the time played when the game ends, I could implement a time bonus. Without a time bonus the final score is rather static. Something I would like to avoid is a function that actively counts the seconds passed, because that would probably slow down the game.
  • Data saving: I'd like to persistently save the top scores, but the file data type of AngelScript doesn't seem to work in STK. If there is something like an "onFinish()" function, highscores could probably be displayed when the game ends or if the player quits. If I could save data to a local file and read that file later, it would also be possible to resume a game. All you have to do is to reload the score and disable all eggs listed as already found when the game starts.

Here is a link to the recent work-in-progress version of the track: https://rjotz.uber.space/sc/index.php/s ... _v0.97.zip
Before I upload it as new version to STK addons I will test it online and make sure that all those triggers and other little additions I made for Egg Hunt mode don't slow down the network gameplay. For any game mode other than Egg Hunt, all triggers are already disabled with the "onStart()" function, by calling
{l Code}: {l Select All Code}
Track::setTriggerReenableTimeout("TriggerId", "", 1000000);
but somehow I'm still not completely confident that they don't affect the other game modes at all.

If you like, you can see more pictures of the track here: https://rjotz.uber.space/sc/index.php/s/sLnz7JPMDE4zYa7
Attachments
DS_EE_InnerCannon-_xxs.png
Dyson Speedway Egg Hunt - medium egg
DS_EE_TopOutside-_xxs.png
Dyson Speedway Egg Hunt - hard egg in space
DS_EE_TopGate_xxs.png
Dyson Speedway Egg Hunt - Top Gate area inside
DS_EE_CargoBay_xxs.png
Dyson Speedway Egg Hunt - Cargo Bay area
RX1
 
Posts: 45
Joined: 27 Jun 2020, 22:18

Re: Track: Dyson Speedway

Postby kimden » 20 Oct 2021, 11:30

Something I would like to avoid is a function that actively counts the seconds passed, because that would probably slow down the game.


I personally tried just incrementing time by 1 second each time and it wasn't so consuming (however, I don't know whether heavier tracks suffer much more). However, for 0.1s it really lags even if the track has nothing complex, and I needed more precision than 1s. Not sure egg hunts really need bigger precision
I make servers, addons, online events, and many others things.
User avatar
kimden
 
Posts: 114
Joined: 23 Jun 2019, 18:42

Re: Track: Dyson Speedway

Postby RX1 » 20 Oct 2021, 17:42

kimden {l Wrote}:
Something I would like to avoid is a function that actively counts the seconds passed, because that would probably slow down the game.

I personally tried just incrementing time by 1 second each time and it wasn't so consuming (however, I don't know whether heavier tracks suffer much more). However, for 0.1s it really lags even if the track has nothing complex, and I needed more precision than 1s. Not sure egg hunts really need bigger precision


In my case steps of 5 seconds probably would be enough, but I still need a way to detect that the game ends or that the last egg was collected. I can't use a trigger for the final space egg because you need a special trick to collect the egg. It's the same reason why you can colltect items in cannons, but activating triggers doesn't work.
RX1
 
Posts: 45
Joined: 27 Jun 2020, 22:18

Who is online

Users browsing this forum: No registered users and 1 guest