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

New Tarantula behavior + Spidermite Variant #2820

Open
wants to merge 18 commits into
base: master
Choose a base branch
from

Conversation

Rusty-Box
Copy link
Member

@Rusty-Box Rusty-Box commented Mar 4, 2024

Tarantula, originally Spidermite, will be getting a behavior overhaul. Alongside it Tarantula will become its new default variant and is planned to make appearances in an upcoming world 3. The old Spidermite will get re-introduced as a Halloween variant of Tarantula for the Halloween Add-On, with a brand new design as well.

Their behavior will be a mixture of its old behavior and that of a Crusher!

Tarantula will reside idle on the ceiling, only charging downwards if Tux is close. Once they dropped down towards the floor, they will now bounce up and down within a set distance from the ground for as long as Tux remains close to it. Once Tux leaves, Tarantula will begin to slowly move up towards its original resting place and wait until Tux gets close again.

A scripted demonstration for reference:

spidermite_silk_test.mp4

TODO:

  • Squished sprites for Tarantula + Spidermite
  • Silk sprite to attach to their body
  • Coding (need help with that)

Tarantula will be the new default variant of Spidermite, set to appear in world 3. Spidermite instead will be the new Halloween variant for Tarantula and be repurposed for the Halloween Add-On.

[ci skip]
@Rusty-Box Rusty-Box added status:in-progress Progress has been done, but more is intended be done type:feature category:code category:design labels Mar 4, 2024
@Rusty-Box Rusty-Box added this to the 0.7.0 milestone Mar 4, 2024
@Alasdairbugs
Copy link
Contributor

This is a pretty unimaginative overhaul of this enemy. All its behaving like is a vertical ice crusher which can be stomped. Theres not really much in the ballpark for unique object-player interaction here.

I think a better application of the spidermite would be:

  • House spidermites on climbable surfaces, 'spider web'
  • when tux grabs onto the spider web, he climbs it slower than other climbable surfaces
  • upon grabbing web, it agitates the web.
  • the web being agitated activates a spider which is either asleep, or awake, and it travels to tux to try and wrap him up.

I see the possibility of big webs being in world 3, so i think this fits better and is a bit more imaginative...

@tylerandari13
Copy link
Contributor

I think both ideas fit different things. Rustys spidermite is simple and can be combined with other existing gimmicks to make something new (for example a moving platform + spidermites) while Servalots is more complex but a little less flexible. Considering how different the two ideas are perhaps both of them could be included but have one go to a new enemy.

@tulpenkiste
Copy link
Contributor

Looks nice, Rusty!

@Frostwithasideofsalt
Copy link
Member

responding to serv's comment

imo that seems a bit complex. if i were to give a suggestion for how to make the enemy more unique, maybe the Tarantula is able to move around on it's web, with it doing the attack shown in the video rusty posted whenever tux goes below the Tarantula. think of it like a crusher that can chase you a little bit.

image

hopefully this graphic helps get the idea across

@VincentAraneo
Copy link

Hey Rusty! While installing the Nightly Build of the next Tarantula, as soon as I tested the enemy, I saw a bug. Its behavior is the same as the old Spidermite. Try anyway to reinstall the game, change from its Tarantula code to Spidermite and nothing. It was still the same. Here's a video what I mean

tarantula_bug.mp4

@Rusty-Box
Copy link
Member Author

@VincentAraneo Please read the actual description of the PR before writing comments like these. I already mentioned that the code has not yet been written, if you look at the To-Do section. So this is not a bug. It just hasn’t been worked on yet.

@Rusty-Box
Copy link
Member Author

@Frostwithasideofsalt This could be cool. I think a setting to have them be either able to move or stationary would be great here.

@Vankata453
Copy link
Member

@tylerandari13 I agree, I think Servalot's idea is good, but more fitting for a different enemy, if it should get in.

@Vankata453
Copy link
Member

Also, Frost's idea would add more uniqueness from ice crushers, whilst keeping the idea. I like.

@tylerandari13
Copy link
Contributor

@Frostwithasideofsalt This could be cool. I think a setting to have them be either able to move or stationary would be great here.

Smart tarantula trollcan

@MatusGuy MatusGuy self-assigned this Mar 6, 2024
@MatusGuy MatusGuy marked this pull request as ready for review March 27, 2024 18:58
@MatusGuy MatusGuy added status:needs-review Work needs to be reviewed by other people and removed status:in-progress Progress has been done, but more is intended be done labels Mar 27, 2024
Comment on lines +315 to +317
//FIXME: Hello reviewers, is there a better way to center the silk horizontally? Thank you.
Vector pos(get_bbox().get_left() + ((get_bbox().get_width() - static_cast<float>(m_silk->get_width()))/2),
m_start_position.y - 32.f);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, however since Tarantula doesn't move horizontally you can cache silk X position somewhere.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it does move horizontally if not static

@Rusty-Box
Copy link
Member Author

@MatusGuy I added missing squished sprites. I don't rememmber if the game already accounted for those or if you have to code them in manually. Otherwise we're done here i.e. final review time before merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants