Skip to content

Add enemy interaction island to Dev Archipelago - #2706

Merged
wjt merged 2 commits into
mainfrom
dev-archipelago-enemy-interaction-island
Aug 18, 2026
Merged

Add enemy interaction island to Dev Archipelago#2706
wjt merged 2 commits into
mainfrom
dev-archipelago-enemy-interaction-island

Conversation

@felixwalberg

Copy link
Copy Markdown
Contributor

Add elder + dialogue and some decorations to the Enemy Interaction island on Dev Archipelago. I tried this originally with the NO_EDIT template guard sprite frames which looked like a more menacing pursuer of the sheep, but it seemed better to use a townie.

I try to allude to the 6th quest in the narrative document with the dialogue, however there are no visible indications of the void in the archipelago. (Will there be in the new narrative? @saspiers ).

Move gym_area_test.tscn to the new dev/enemy_interaction/ section of dev quest folders.

Enemy Interaction island can be home to:

  • gym area (and any other scenes that show off enemies in this way)
  • stealth level demo (guard paths, whether you can outrun (or even outwalk) guards)
  • void demo
  • possibly demos of path walk and other behavior nodes

Makes progress on #2578

@felixwalberg felixwalberg added this to the Dev Archipelago MVP milestone Aug 13, 2026
@felixwalberg
felixwalberg requested a review from a team as a code owner August 13, 2026 17:58
@github-actions

Copy link
Copy Markdown

Play this branch at https://play.threadbare.game/branches/endlessm/dev-archipelago-enemy-interaction-island/.

(This launches the game from the start, not directly at the change(s) in this pull request.)

@manuq manuq left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

One more sheep joke! I like it!

Comment thread scenes/dev/components/sheep_chase.gd Outdated


func _ready() -> void:
sheep_sprite = sheep_path_follow.get_node("AnimatedSprite2D")

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is hacky. It would be better to give the sheep a "look at side" property like the townies have. Or for now, use a different approch, flip the entire sheep with:

sheep_path_follow.scale.x = -1 if sheep_path_follow.velocity.x < 0 else 1

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I might look into adding the "look at side" property. I think I had done something with inverting the scale in champ_outro.tscn and had to change it.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

look_at_side seems to also use this actually!

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

In the case of the townie, I did it that way because of the multiple AnimatedSprite2D nodes it contains. Although I'm not happy. Now that I think about it, each part (hair, head, body, legs) should have a CharacterSpriteBehavior node. That behavior takes care of the flip for you :)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

In the case of the townie, I did it that way because of the multiple AnimatedSprite2D nodes it contains. Although I'm not happy. Now that I think about it, each part (hair, head, body, legs) should have a CharacterSpriteBehavior node. That behavior takes care of the flip for you :)

Oh actually they have it. The "look at side" is used for the initialization, in a wrong way. Now I understand a bug I've seen in which townies walked looking behind.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The CharacterSpriteBehavior works great and simplifies what has to be done in the dev archipelago scene! @manuq previously approved this, but I wanted to verify the changes are sufficient for merging now that I have changed sheep.tscn which has 8 other owners.

@felixwalberg

Copy link
Copy Markdown
Contributor Author

One more sheep joke! I like it!

Hopefully this is not overkill! The sheep have just been easier to use than other animals/decorations

@wjt wjt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is great. I found a pre-existing bug in the sheep while testing it.

@wjt
wjt merged commit 7b583ec into main Aug 18, 2026
7 checks passed
@wjt
wjt deleted the dev-archipelago-enemy-interaction-island branch August 18, 2026 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants