News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

Bliss / Cas-Stunts track editor

Started by Cas, March 08, 2015, 01:16:12 AM

Previous topic - Next topic

afullo

Ok, I will create a separate topic. Another suggestion: the scenery byte (the 901st if I'm not saying wrong) can also assume the value 05h, according to the wiki; in this case, the scenery is "chaotic" but the game may show some weirdness. Could be that possibility inserted in the editor, provided that the user is warned about the potential instability of that choice?

dreadnaut

Quote from: Cas on May 02, 2018, 08:20:48 PM
I believe the behaviour of Stunts with replays deserves its own thread so that people can find it more quickly.

There is now such forum thread ;)
http://forum.stunts.hu/index.php?topic=3409.msg72638

afullo

Quote from: dreadnaut on May 02, 2018, 10:23:28 PM
Quote from: Cas on May 02, 2018, 08:20:48 PM
I believe the behaviour of Stunts with replays deserves its own thread so that people can find it more quickly.

There is now such forum thread ;)
http://forum.stunts.hu/index.php?topic=3409.msg72638
Thank you dread! :)

Cas

Thanks, Dreadnaut!

Now that you mention the chaotic scenery, I don't remember how Bliss behave if you loaded a track that has this byte modified. I want to make sure it doesn't crash or something. I probably took this into account when I first added the scenery selection option.

Uhm... to my taste, I don't like it very much to introduce features that look abnormal. This is why Bliss, by default, does not break up track elements. Because illusion tracks were important in the community, I made it possible to change to a debug mode in which you could do this. While in "manual editing mode", as I called it, you feel clearly that you're working directly with the cables. So, if I enable setting a scenery other than the normal ones, I would like to do it in a similar fashion. I think I could add an option to the scenery selection menu to set other values. I'll consider that.
Earth is my country. Science is my religion.

afullo

Ok. On the other hand, as far as I know, it is not known whether that "scenery" is an unfinished feature, an error of interpretation (remember Ermac, "error macro", in Mortal Kombat, which was retconned a posteriori as a character?), or something else.

Cas

Yes, of course. I agree that being able to introduce as many modifications is a good thing... If it's exploitable somehow, why leave it out?  But if the resulting behaviour is abnormal, I think the way to do it should look really different. I've just tested. Bliss does recognise any value past 4 as "chaotic" currently. It does not let it select it, though. Stunts BB1.1 crashes on any "chaotic" value. It says there was an error with a file.

I think I'm goint to make Bliss display an additional option only when debug mode or manual editing mode is set. I also may add the ability to directly enter track/terrain codes and to display the values on the map when they don't have a valid element to show.
Earth is my country. Science is my religion.

Cas

Update: Bliss 2.5.4

New features:

  • Track-shot option completed with a button in the panel for easier access and the option to select the image format
  • Improved visualisation and edition for debugging and manual modes, including insertion of invalid values and custom background scenery
Bug fixes:

  • Some typos
  • File format generation and recognition errors
  • Buttons that weren't supposed to appear
  • Track-shot image errors
  • Famous pipsqueaks showing up when not supposed to
  • Start/finish line on slopes now seen as a fatal-error
Download from: http://dimioca.com/bliss
Comments and tests appreciated :)
Earth is my country. Science is my religion.

afullo

I'm back testing! About elements on slopes, I'm seeing that not only the s/f line causes the track not to be run: every situation in the pics results in a failure. More to come, probably.  ::)

afullo

Also tunnels and slaloms don't fit at all in there.  :(

Duplode

Quote from: afullo on May 02, 2018, 11:00:41 PM
Ok. On the other hand, as far as I know, it is not known whether that "scenery" is an unfinished feature, an error of interpretation (remember Ermac, "error macro", in Mortal Kombat, which was retconned a posteriori as a character?), or something else.

I'm fairly certain that all setting the scenery byte outside of the 00h-04h range does is filling the memory area used for the horizon bitmap with arbitrary stuff, and that the "chaotic scenery" interpretation is not canon, in an Ermac-esque way indeed. I also remember reports of it working for some people but not from others back from Z77, which originally used it.

afullo

Ok, it makes much sense, since the "arbitrary stuff" behaviour for invalid data has been seen also in several other contexts, like this famous bug in the early Pokemon games.

This is likely a consequence of the well known fact in programming that, if a memory address in which information has not been set properly is read, the data relative to what it contains in that moment is retrieved, even if its content comes from a totally different context.

Cas

You mean these configurations make the track not load at all?  Well, I believe it's enough with the yellow warning anyway. If I complicate the track analysis any more, I'll break something. It'd be better to just rewrite everything. I also wanted to make Bliss able to measure intervals between any two points on the track, but again, that's something that would work better if done from the beginning. Maybe for Bliss 3, ha, ha!
Earth is my country. Science is my religion.

afullo

#117
Hmm, it seems more complicated: by loading in Bliss the cited by Duplode Z77, apart from the chaotic scenery, it is possible to see that it contains several associations terrain-block which gave me a failure, while that track is loaded correctly.

I think it could be conjectured that the track loads provided that at least one path is winning and it does not contain any terrain unsafe tile (of course excluding other kinds of error, like hills without ramps or path flows which would cause the track to be not orientable), so indeed it would be more difficult to identify whether the track would load, albeit with possible terrain errors, or it would not load at all (on the other hand, "terrain unsafe" does not mean "not accepted by the internal editor": for example, road blocks on water do not give problems in this sense). Among other things, the outcome would depend not only of the association, but also of the rest of the track.

Maybe the internal analyzer of Stunts is not able to identify correctly a terrain unsafe path; it could be tried to confirm or not so, by constructing a track with one terrain safe path and one terrain unsafe path, and by seeing if by taking the terrain unsafe one, some penalty time is given (because of, from the perspective of the game, skipping tiles without following a valid path).

Cas

Yes. As a matter of fact, the hardest part of the track analysis isn't to properly find things that should not work, but to emulate the high number of exceptions in Stunts internal track analyser. For example, if you place a ramp, two spaces and another ramp (which sometimes is possible to perform while racing), Stunts will refuse to accept that; but if you have an elevated road, then a space and then a ramp going down (which is completely not possible to ride on), Stunts will accept the track (inverted jump detection bug). Even worse, if you have a long elevated road, you can place spaces in between two pieces and it will still be accepted by Stunts. The first versions of my analyser would not allow this because it was the most sensible thing that they wouldn't work, but then I saw Stunts did, so I had to change it for a warning.
Earth is my country. Science is my religion.

afullo

I see. This is why probably in more recent games like those of the TrackMania series it was preferred to require validation of the track "a posteriori", as the possibility to complete the lap by actually driving, rather than determine whether is possible to return to s/f by analyzing it. But in my opinion it has been a less elegant solution.  ::)

Apart from that, I found two minor things: the 100 000 tokens estimation is partially still present (when the track would fail, it is still possible to select the car for which the estimations of the times are to be given, and a time with number of tokens appears in the upper-left corner of the window), and when a ZCT is loaded, the title of the box appears as "Indentifying Track" instead of "Identifying Track". ;)