Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add sideways icecrushers #1431

Merged
merged 5 commits into from
Jun 20, 2020
Merged

Add sideways icecrushers #1431

merged 5 commits into from
Jun 20, 2020

Conversation

weluvgoatz
Copy link
Member

This adds an option for the icecrusher to go sideways instead of up and down, and this can be activated if the player is in the line of sight or stands on top of the icecrusher and gets in the direction he wants to be launched. The code quality of this might be poor, which I will fix, but please bugtest and see if everything works alright. If so, hopefully this can be merged.

@Zwatotem
Copy link
Member

I spotted three things right away:

  1. Icecrushers placed right by the wall (with snapping in editor) won't ever get back to their original position (pixel precision bug): https://youtu.be/fHaZs-AmkqY
  2. Not really a bug, but probably unintended behavior; icecrushers keep going back when Tux just chills on top of them: https://youtu.be/dDZwa4xy_6c
  3. Unlike topdown crushers you don't die upon touching the crushing side (no video)

@weluvgoatz
Copy link
Member Author

I've added a commit to hopefully make this build and fix that first bug you listed. However, the other 2 things you listed are very much intentional behavior.

src/object/icecrusher.cpp Outdated Show resolved Hide resolved
src/object/icecrusher.cpp Outdated Show resolved Hide resolved
src/object/icecrusher.cpp Outdated Show resolved Hide resolved
src/object/icecrusher.cpp Outdated Show resolved Hide resolved
src/object/icecrusher.hpp Outdated Show resolved Hide resolved
@divVerent
Copy link
Contributor

divVerent commented Jun 15, 2020

On the one hand, I really hate them with a passion. Sideways crushers make for bad and surprising gameplay, and they got quite a bad track record in a certain other game with a level editor. Their only purpose ever is for trolling - anything else is better done with a platform. What's next, suddenly attaching little parachutes to them making them instantly slow down, for even more trolling?

On the other hand: making a sideways ice crusher in a troll level took me only this much code:

    (scriptedobject
      (name "juzkrosh")
      (sprite "/images/creatures/icecrusher/krosh.sprite")
      (x 2176)
      (y 416)
    )
    (ispy
      (script "juzkrosh.set_velocity(-500, 0)
wait(1)
juzkrosh.set_velocity(200, 0)")
      (facing-down #t)
      (direction "down")
      (x 2048)
      (y 384)
    )

Given this, the cost of not providing them, despite them being that simple to make anyway, is that level creators who want them anyway will do so using nonstandard means. If they must exist, it's probably better to standardize their gameplay, including sensitivity to player, crushing speed, etc, rather than every level using them having somewhat different parameters on them.

src/object/icecrusher.cpp Outdated Show resolved Hide resolved
src/object/icecrusher.cpp Outdated Show resolved Hide resolved
@weluvgoatz weluvgoatz merged commit 07860dc into master Jun 20, 2020
@mrkubax10 mrkubax10 deleted the sidecrush branch August 18, 2023 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants