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

Allow creation of extra worlds #11

Open
dsd opened this issue Jan 9, 2025 · 5 comments
Open

Allow creation of extra worlds #11

dsd opened this issue Jan 9, 2025 · 5 comments
Assignees

Comments

@dsd
Copy link
Member

dsd commented Jan 9, 2025

When you start the game, you should be given two options:

  1. Play Candy Wrapper (original/current game, headline option)
  2. Extra Worlds

Extra Worlds should take you to a world selection screen where you can choose to play one of the alternative worlds now included in the game. A world is a sequence of (new) levels with start and end screens, like the original game. The idea is that learners will create their own worlds and contribute them alongside the original game.

We should make level and world creation as simple as possible, ideally with no need to read or write code. e.g. could world creation just be the a matter of creating a directory with the name of the world, and then placing the usual 1.tscn 2.tscn files inside would make it playable?

It would be good to seed this with a sample extra world for illustration.

@cassidyjames
Copy link
Member

cassidyjames commented Jan 10, 2025

Game design wise, I actually wonder if we can treat Candy Wrapper as "World 1" in Everlasting Candy. I don't know if that makes the design or technical implementation any easier or harder, but I wanted to float the idea ASAP since I think I heard @wjt mention he wanted to start exploring this task. :)

I agree that the ideal is to create a folder, and then have the game dynamically load those in and put them in some sort of selector. @wjt mentioned he liked that Ultimate Chicken Horse (and I think some other games) have level selection as a thing "in-game" rather than in a menu, e.g. you walk your player character to a platform/door/etc. and then go in to load that world. A simple mvp design I could see for Everlasting Candy could be a horizontally-scrolling level with doors with the label of the world's folder above them. I'll try to mock something up a bit better, but basically:

🧍 🚪         🚪         🚪
   Candy     Justin's   Folder
   Wrapper   World      3

If that's not the direction we were thinking, then that's okay, but I thought it could be pretty simple without having to actually do much UI work (and have to think about UI working across mouse/keyboard/touch/controller).

@dsd
Copy link
Member Author

dsd commented Jan 10, 2025

Yeah I like the idea of an walk-in world selector. However this initial implementation needs to be scoped to whatever we can achieve before Tuesday, even if rather ugly.

@jbourqueendless
Copy link

Will someone be able to write their own unique scripts for their custom worlds? More broadly, what core game elements are going to be available for customizing and creating within a custom world that sets it apart from the core CandyWrapper "world"(the base game)?

@wjt
Copy link
Member

wjt commented Jan 10, 2025

Right now I am focusing on (and interpret this issue to be) being able to drop in different packs of levels – i.e. different TileMaps. Right now we have:

TileMap/
    0.tscn
    1.tscn
    ...
    21.tscn

I aim to make it so that you can create:

Worlds/
    EndlessLogoLand/
         0.tscn
         1.tscn
         ....
         10.tscn
    JoeBloggs/
         0.tscn
         1.tscn
         ....
         3.tscn

and be able to choose to play these rather than the original Candy Wrapper sequence of levels.

@dsd
Copy link
Member Author

dsd commented Jan 10, 2025

Will someone be able to write their own unique scripts for their custom worlds? More broadly, what core game elements are going to be available for customizing and creating within a custom world that sets it apart from the core CandyWrapper "world"(the base game)?

This ticket is for a constrained world selector implementation - lets discuss this elsewhere. I've answered already in the email "Candy Wrapper as an avenue into scalable learning & community games"

@wjt wjt self-assigned this Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants