ClementSparrow / Pattern-Script

Open Source HTML5 Game Engine based on PuzzleScript
20 stars 2 forks source link

Newly created objects are not set to stationary #73

Closed david-pfx closed 11 months ago

david-pfx commented 11 months ago

From tubetransport: [ hole again_gravity snake ] -> [ floor ] is translated as (934) UP [ hole again_gravity snake ] -> [ floor ] but to avoid this bug, PS would translate it as (934) UP [ hole again_gravity snake ] -> [ stationary floor ]

The description of this bug and the fix is at https://github.com/increpare/PuzzleScript/issues?q=492.

ClementSparrow commented 11 months ago

This is a very complex issue that has already received fixes from vanilla PS and where I have done my own changes. Please describe more precisely your issue and why you think it is an issue, with a minimal working example to reproduce the behavior. As far as I can tell, it's only a difference in how vanilla PS and P:S represent the rules when you print them, and new objects ARE actually created static in P:S.

david-pfx commented 11 months ago

The issue is that the generated rules are different, and could be the cause of a bug. If you are confident that new objects are created stationary, then this bug will not arise so feel free to ignore.

ClementSparrow commented 11 months ago

It's not my job to be confident that the system works as it should: you're reporting an issue, either the issue is real and you should be able to give some basic example code that reproduces the undesired behavior, or the issue is at the aesthetics level, in which case I need arguments about why it should be the way you propose instead of the way it is currently implemented.

david-pfx commented 11 months ago

I reported 3 issues where P:S rule print output/rule generation differs significantly from PS. These are real, and there are others which I have not reported. I didn't test any behaviour and don't plan to.

ClementSparrow commented 11 months ago

But the fact that P:S behaves differently than vanilla PS is not an issue per se. Actually, the whole point of P:S is to be different from PS in many aspects. And I won't change the code just because it behaves differently than vanilla PS, but I might change the behavior if there is a clear rationale for that, rooted in the user experience.

In this particular issue, I'm sorry, but I don't see the point of changing the behavior.