Skip to content

Conversation

@Snowsd
Copy link
Contributor

@Snowsd Snowsd commented Oct 1, 2025

Here is the unfinished version of my vampire survivors clone, based around a honey bee, Ben McVety at BRIC is building with Justin Borque. Our intro level is not currently connected to our one level we are building. dialogue/lore writing is unfinished. UI, experience drops, and sfx are unfinished. The player can move, shoot with 3 projectiles, and destroy wasp enemies. To add: pickups (3 flowers around the map to represent the threads for the loom), upgrades, mini bosses, sfx, controller support, ending scene change or closing cinematic.

Snowsd and others added 30 commits August 20, 2025 09:54
Template files and story quest for NE Expo created.
…at-template-folders

rename combat folders to match our storyquest name
Bee Sprite and animation created for main playable character, named Bumbly
Testing commits using bash

Not sure how to do this
…ation-Branch-8-20-25

Ne expo creation branch 8 20 25
Added Bee player character, background image, movement, drop shadow, and work-in-progress on collision for walls on level.
…ovement-8-21-25

Added Bee level, bg, movement
MOved bee for test.
just removing the sample smiley face tiles.
Remove smiley face sample png and copy the template player sprite frame resource, and rename it to match our SQ name. Revert template resource changes back to original template. Replace template resource for character sprite frames with our own.
Rename intro folders and files first with "bee" SQ designation.
update tilemap design for intro scene a bit. Still WIP
moved the bee
Removed duplicate folder 1_bee Level, fixed script for character movement
Tiles folder
Fake tileset
Created a hornet enemy, hp for player and enemies, enemy movement and animations, player and enemy hitboxes and hurtboxes.
Added scenes for icicle spear attack, explosion. Added explosion assets for different attacks, sound effects for firing icicle_spear, enemies getting hit, and enemy explosion 1.
Added icicle spear scene, explosion scene, enemy_spawner scene, and can now spawn enemies, fire icicle spears (with firing sound, hit sound, and explosion sounds), hit enemies and kill them.
Snowsd added 2 commits October 1, 2025 18:06
Added two new attacks: Tornado and attack bees. Added new sprite assets for respective attacks.
@Snowsd Snowsd requested a review from a team as a code owner October 1, 2025 22:23
Comment on lines 1 to 5
<<<<<<< Updated upstream
[gd_resource type="SpriteFrames" load_steps=24 format=3 uid="uid://c5vf5ty20tkeh"]
=======
[gd_resource type="SpriteFrames" load_steps=24 format=3 uid="uid://dtlfm7sw037dl"]
>>>>>>> Stashed changes
Copy link
Member

Choose a reason for hiding this comment

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

commit 1e44083 “Update NE Expo Player.tres” introduced these conflict markers which break this file:

diff --git a/scenes/quests/story_quests/ne_expo/Player Components/NE Expo Player.tres b/scenes/quests/story_quests/ne_expo/Player Components/NE Expo Player.tres
index f419e70b..19e91ba1 100644
--- a/scenes/quests/story_quests/ne_expo/Player Components/NE Expo Player.tres  
+++ b/scenes/quests/story_quests/ne_expo/Player Components/NE Expo Player.tres  
@@ -1,4 +1,8 @@
+<<<<<<< Updated upstream
 [gd_resource type="SpriteFrames" load_steps=24 format=3 uid="uid://c5vf5ty20tkeh"]
+=======
+[gd_resource type="SpriteFrames" load_steps=24 format=3 uid="uid://dtlfm7sw037dl"]
+>>>>>>> Stashed changes

Godot says:

res://scenes/quests/story_quests/ne_expo/5_player_components/NE Expo Player.tres:1 - Parse Error: Expected '['.

The conflict is that you have two different UIDs for this file: uid://c5vf5ty20tkeh and uid://dtlfm7sw037dl.

This file doesn't seem to be used so you can either delete it; or delete the <<< === >>> conflict markers and either one of the [gd_resource] headers. One way to do this is to revert the commit that introduced the problem since it didn't do anything else:

git revert 1e44083e46d68d88b101c1cbd14306c091e81d42

@@ -1206,30 +1206,37 @@ texture_region_size = Vector2i(64, 64)
0:0/0 = 0
0:0/0/terrain_set = 0
0:0/0/terrain = 8
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 32, -32, 32, -32, -32, 32, -32, 32, -16, -16, -16)
Copy link
Member

Choose a reason for hiding this comment

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

These were added in commit 80bfcd0. This and the changes below add collisions to the Void_Empty layer, in the tileset's physics layer 0, which maps to "walls" at the game level.

Image

I don't think this change is correct. The void is not a wall: it's a non-walkable floor, and it's marked as such in tileset physics layer 2. But also, this tileset from the main game is not actually used in the quest level that uses the void tiles – you use a copy there – so I think it can be reverted without changing your quest.

project.godot Outdated

[rendering]

textures/canvas_textures/default_texture_filter=0
renderer/rendering_method="gl_compatibility"
renderer/rendering_method.mobile="gl_compatibility"
2d/snap/snap_2d_transforms_to_pixel=true
Copy link
Member

Choose a reason for hiding this comment

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

We deliberately removed this in commit 649af73.

project.godot Outdated
Comment on lines 166 to 189
up={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
down={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
left={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
right={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
Copy link
Member

Choose a reason for hiding this comment

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

In the main game we (ab)use ui_up, ui_down, ui_left and ui_right for in-game controls as well as moving around menus. It would probably be better to define our own actions for these but I'd prefer to do that in a separate change, across the whole game, rather than here.

Copy link
Member

Choose a reason for hiding this comment

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

Looks like this is an unused duplicate of scenes/quests/story_quests/ne_expo/ne_expo_tiles/Bee level background-1.png.png.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is unused and can be removed.

Copy link
Member

Choose a reason for hiding this comment

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

It's an unusual choice to have each frame of these animations in separate files – you don't have to change it but I'm curious why!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was from a free asset pack, and was already formatted that way. I may combine the images into a spritesheet and re-upload when I have time. The asset pack will be added to the .license file.

Copy link
Member

Choose a reason for hiding this comment

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

What's the source of the sound effects – your own work?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I created all sfx, and will eventually create a background music track.

wjt added 3 commits October 6, 2025 16:45
This reverts commit 1e44083, which
committed conflict markers to this file, making it un-loadable in Godot.

As it happens it's not referenced under either UID, so just pick one of
them arbitrarily.
This adds physics shapes to the "Void_Empty" sourcce of the tileset, in
the "walls". I think this is incorrect because:

- These are not walls, but a kind of floor;
- These tiles already have collisions on the non_walkable_floor layer;
- This tileset is not used in the ne_expo StoryQuest.
@wjt
Copy link
Member

wjt commented Oct 6, 2025

I'll push a branch that fixes some of these issues, please hold..

wjt added 6 commits October 6, 2025 16:53
This is a shorthand for manually combining Input.get_action_strength()
for each axis, as was previously done here.

In addition, use ui_up, ui_down, etc. like the rest of the game, rather
than new up/down/etc. actions. Revert the corresponding change to
project.godot.
This was deliberately removed upstream in commit
649af73.
@wjt
Copy link
Member

wjt commented Oct 6, 2025

I pushed this PR that will address many of these issues:

Merging that should fix the conflicts shown in this PR; I think the remaining question(s) will then be around asset attribution.

@wjt wjt added the StoryQuest New StoryQuests or updates to existing ones label Oct 24, 2025
…nflict-fixes

Fix upstream conflicts & merge upstream changes
@github-actions
Copy link

Play this branch at https://endlessm.github.io/threadbare/branches/Black-River-Innovation-Campus/main.

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

Added license files for all current bee storyquest files.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

StoryQuest New StoryQuests or updates to existing ones

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants