Skip to content

Add PhantomToy StoryQuest #2502

Open
Rafiqui12345 wants to merge 105 commits into
endlessm:mainfrom
Game-Lab-6-0-UTP-Grupo-6-Equipo-5:main
Open

Add PhantomToy StoryQuest #2502
Rafiqui12345 wants to merge 105 commits into
endlessm:mainfrom
Game-Lab-6-0-UTP-Grupo-6-Equipo-5:main

Conversation

@Rafiqui12345

Copy link
Copy Markdown

PhantomToy narra la historia de un niño que explora una feria abandonada y descubre un antiguo peluche habitado por un espíritu fragmentado. Juntos, deben atravesar atracciones oscuras, evitar a una entidad misteriosa conocida como "La Sombra" y recolectar fragmentos de alma para romper la maldición. El juego incluye tres etapas principales: el centro de la feria, un laberinto de espejos con mecánicas de sigilo y un desafío de defensa de altares en el bosque. Combina estilo pixel art, iluminación tensa y temas narrativos psicológicos.

Assets:

arbol_creepy.png por @sam0xs
barril-1.png por @sam0xs
barril.png por @sam0xs
cabina_simple-1.png por @sam0xs
cabina_simple.png por @sam0xs
cabina_ticket-1.png por @sam0xs
cabina_ticket.png por @sam0xs
calavera_payaso.png por @sam0xs
calavera_sombrero_payaso.png por @sam0xs
caseta_verde-1.png por @sam0xs
caseta_verde.png por @sam0xs
circo.png por @sam0xs
cruz2.png por @sam0xs
cruz.png por @sam0xs
east.png por @sam0xs
faro-1.png por @sam0xs
faro.png por @sam0xs
foca.pngpor @sam0xs
globos-1.png por @sam0xs
globos.png por @sam0xs
juego_caballos.png por @sam0xs
madera.png por @sam0xs
marmol2.png por @sam0xs
marmol.png por @sam0xs
mediotronco_creepy.png por @sam0xs
north.png por @sam0xs
south.png por @sam0xs
taburete_rojo.png por @sam0xs
taburete_verde.png por @sam0xs
troncotalado_creepy.png por @sam0xs
tronco_creepy.png por @sam0xs
tumba2.png por @sam0xs
tumba3.png por @sam0xs
tumba4.png por @sam0xs
tumba.png por @sam0xs
west.png por @sam0xs
fragmento_steady_1_fragmento_steady_0.png por @sam0xs
fragmento_steady_1_fragmento_steady_1.png por @sam0xs
fragmento_steady_2_fragmento2_steady_0.png por @sam0xs
fragmento_steady_2_fragmento2_steady_1.png por @sam0xs
fragmento_steady_3_fragmento3_steady_0.png por @sam0xs
fragmento_steady_3_fragmento3_steady_1.png por @sam0xs
grass_1.png por @sam0xs
grass_2.png por @sam0xs
grass_3.png por @sam0xs
grass_4.png por @sam0xs
grass_5.png por @sam0xs
grass_6.png por @sam0xs
grass_7.png por @sam0xs
grass_8.png por @sam0xs
grass_9.png por @sam0xs
grass_10.png por @sam0xs
grass_11.png por @sam0xs
grass_12.png por @sam0xs
grass_13.png por @sam0xs
grass_14.png por @sam0xs
grass_15.png por @sam0xs
piso_rocas.png por @sam0xs
crawl_sombra por @sam0xs
crawl_sombra_crawl_sombra_0.png por @sam0xs
crawl_sombra_crawl_sombra_1.png por @sam0xs
crawl_sombra_crawl_sombra_2.png por @sam0xs
crawl_sombra_crawL_sombra_Oright.png por @sam0xs
crawl_sombra_crawL_sombra_1right.png por @sam0xs
crawl_sombra_crawl_sombra_2right.png por @sam0xs
run_sombra_run_rombra_Oright.png por @sam0xs
run_sombra_run_rombra_1right.png por @sam0xs
defated_boy_gray2.png por @sam0xs
defated_boy_gray.png por @sam0xs
defeated_boy_color_defeated_boy_0.png por @sam0xs
defeated_boy_color_defeated_boy_1.png por @sam0xs
espalda_boy_espalda_niño_0.png por @sam0xs
espalda_boy_espalda_niño_1.png por @sam0xs
run_boy_run boy_0.png por @sam0xs
run_boy_run boy_1.png por @sam0xs
steady_boy_steady_boy_0.png por @sam0xs
steady_boy_steady_boy_1.png por @sam0xs
steady_boy_steady_boy_0left.png por @sam0xs
steady_boy_steady_boy_1left.png por @sam0xs
espalda_oso_espalda_oso_0.png por @sam0xs
espalda_oso_espalda_oso_1.png por @sam0xs
run_oso_run_0.png por @sam0xs
run_oso_run_1.png por @sam0xs
run_oso_run_2.png por @sam0xs
steady_oso_steady_0.png por @sam0xs
steady_oso_steady_1.png por @sam0xs
steady_oso_steady_2.png por @sam0xs
steady_oso_steady_Oleft.png por @sam0xs
steady_oso_steady_1left.png por @sam0xs
steady_oso_steady_2left.png por @sam0xs
vidrio1.png por @sam0xs
vidrio1_sombra.png por @sam0xs
vidrioroto1.png por @sam0xs
vidrioroto 1_sombra.png por @sam0xs
vidrio2.png por @sam0xs
vidrio2_roto.png por @sam0xs
vidrio2_roto_sombra.png por @sam0xs
vidrio2_sombra.png por @sam0xs
vidrio3.png por @sam0xs
vidrio3_roto.png por @sam0xs
vidrio3_roto_sombra.png por @sam0xs
vidrio3_sombra.png por @sam0xs
vidrio4.png por @sam0xs
vidrio4_roto.png por @sam0xs
vidrio4_roto_sombra.png por @sam0xs
vidrio4_sombra.png por @sam0xs
piso_vidrio.png por @sam0xs
vidrio_lateral.png por @sam0xs
Musica-Laberinto.wav - CC0 - https://freesound.org/people/Marvin_Chiriguaya/sounds/741336/
Creepy Horror Ambience.wav - CC0 - https://freesound.org/people/hellodarknesswhycomeits4pm/sounds/610140/
Four_Voices_Whispering_2.wav - Attribution - https://freesound.org/people/geoneo0/sounds/193811/
beeep.mp3 - CC0 - https://freesound.org/people/Entershift/sounds/704134/
purificacion.wav - CC0 - https://freesound.org/people/Seth_Makes_Sounds/sounds/587894/
shadow_movement.mp3 - CC0 - https://freesound.org/people/Darsycho/sounds/505185/
susurro_corrupcion.wav - Attribution - https://freesound.org/people/geoneo0/sounds/193811/
trueno.mp3 - CC0 - https://freesound.org/people/DaniloSFX/sounds/672776/

Engineering:

Intro por @Luccio2005
minijuego1 busqueda por @FaDc17
minijuego2 laberinto por @fabriciocrispin12-commits
minijuego3 corrupcion por @Rafiqui12345
Outro por @Luccio2005
Arte por @sam0xs
musica por @FaDc17
Efectos de sondio por @FaDc17

Game Design:

Jugabilidad principal y mecánica por @Rafiqui12345, @FaDc17, @fabriciocrispin12-commits
Narrativa y diálogos de @Luccio2005, @Rafiqui12345, @FaDc17, @fabriciocrispin12-commits
Diseño visual y dirección de arte por @sam0xs
Progresión y motivación por @Rafiqui12345, @FaDc17, @fabriciocrispin12-commits, @Luccio2005, @sam0xs

Luccio2005 and others added 30 commits May 25, 2026 18:04
…name-template

Duplicar y renombrar template y tosdos los archivos
…arrativa

Narrativa e introduccion del juego
Agregar narrativa para el minijuego 3 de Phantom Toy
…/corruption-defense

Feature/corruption defense
Rafiqui12345 and others added 25 commits June 22, 2026 17:26
…minjuego2-licencia

Musica minjuego2 licencia
…musicamini1

ULTIMO CAMBIO DE MUSICA-MINIJUEGO1
@Rafiqui12345 Rafiqui12345 requested a review from a team as a code owner July 1, 2026 22:23
@manuq manuq added the StoryQuest New StoryQuests or updates to existing ones label Jul 2, 2026
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

Play this branch at https://play.threadbare.game/branches/Game-Lab-6-0-UTP-Grupo-6-Equipo-5/main/.

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

@felixwalberg felixwalberg self-assigned this Jul 6, 2026

@felixwalberg felixwalberg left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I was able to play through your StoryQuest and really enjoyed the story, the creepy/shadowy themes and the conclusion about living with those negative emotions!

I added a few comments, some more general things are every script file with original code should contain licensing information labeling it as such. For example:

# SPDX-FileCopyrightText: The Threadbare Authors
# SPDX-License-Identifier: MPL-2.0

could be the first two lines of the file.

There are a few sections seem unused, if this StoryQuest is indeed done (which it seems very close to being!). The Sequence puzzle directory + scenes seem like they can be deleted.

There are also some assets that have both a left and right facing copy. That is something that can be set within the editor using the same image.

The res://scenes/quests/story_quests/phantom_toy/1_stealth/mini1/musica/610140__hellodarknesswhycomeits4pm__creepy-horror-ambience.wav file is pretty big! It is possible to convert this to an .ogg file reducing the file size. This is something I could also replace (assuming I figure out how to push directly to your fork).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This file does not seem to be used and can be deleted

extends Node

var sprint_disponible := true
var sprint_usado := false

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This variable is never used and can be removed

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

In playing this level, I was able to press the sprint key twice and continuously run without the cooldown. I think it is because, despite _process checking if sprint is available, it does not actually block additional attempts to press "running".

_process runs every frame, so when the "running" input is pressed a second time, it does not enter the conditional on line 12 and never gets released (allowing the player to sprint without cooldown).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This should just be swapped with sprint_manager.gd which handles this problem well!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This logic could also exist within the esc_1.gd script rather than attaching it to a separate Node2D

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Super creepy being chased by the shadow creature! I really like this scene. I will say there are a few minor z-index things such as some of the items on the DECO TileMapLayer where the player can walk through/under them.

I like the random spawning of each fragment, I think it gives the level a nice amount of challenge!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Someone also mentioned this on the Endless platform feed, but it might make it a bit easier to expand the view (light) of the player so it is easier to find the fragments.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I believe this is not used and can be deleted.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

A few of these tilesets don't seem to be used by any of these scenes and can be deleted.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Super cool quest everyone! This was very fun to play through and slightly creepy with the shadow... I enjoyed it a lot.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This maze is super tricky in the dark! It is a bit of a challenge to find the thread, but possible after lots of wandering around.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Since the rock is further down in the scene tree, the player ends up going underneath it when walking across. It might make more sense to reorder that or change the z-index so the player passes in front.

Also, an idea but not necessarily a suggestion: the rock could be modulated to fit the darker vibe when the scene changes.

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.

8 participants