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

Storage for powerups #473

Open
maxteufel opened this issue Jul 2, 2016 · 34 comments
Open

Storage for powerups #473

maxteufel opened this issue Jul 2, 2016 · 34 comments
Labels
category:code category:levels involves:functionality involves:scripting status:assigned Developer got assigned to taks, awaiting first progress report status:needs-discussion Team member and developers need to discuss of decisions type:feature type:idea
Milestone

Comments

@maxteufel
Copy link
Member

Store powerups instead of replacing the current powerup.

How to do this in the code (notes for myself):

  • store stuff in some place
  • menu for accessing in pause menu
  • details to be added
@maxteufel maxteufel added this to the Post 0.5.0 milestone Jul 2, 2016
@maxteufel maxteufel self-assigned this Jul 2, 2016
@maxteufel maxteufel added the status:assigned Developer got assigned to taks, awaiting first progress report label Jul 2, 2016
@J-128
Copy link

J-128 commented Jul 4, 2016

Sounds like a great idea to me!

@maxteufel
Copy link
Member Author

This could be used to realize storage of collectibles planned for the M3 storyline.

Also, add a scripting API.

@J-128
Copy link

J-128 commented Jul 4, 2016

So it could! Great thinking!

@Karkus476
Copy link
Member

Karkus476 commented Jul 12, 2016

@maxteufel
Remember that this should also be:

  • Per-worldmap
  • Per-profile
  • Saved when you quit

@Karkus476
Copy link
Member

Karkus476 commented Jul 14, 2016

Wait, if you're fire and you pick up ice you stay fire? Or you become ice but store fire?

@christ2go
Copy link
Contributor

Storage space should be limited, and maybe only level-local, else this could give too much power to one player. And some levels are designed to only use one (e.g.) fire flower, because with the ice flower they would be too easy, I'd say it should be only level-local.

@maxteufel
Copy link
Member Author

@christ2go This is a good point and will be definitely considered when implementing this feature. However, this is also intended to be used for storing other objects (e.g. a better API for e.g. keys in the Forest World). This requires per-world storage.

@Karkus476
Copy link
Member

Karkus476 commented Aug 6, 2016

@christ2go You can take whatever powerup you want into any level, if they exist in the same worldmap, if you finish a level with that powerup. It should be worldmap specific.

@christ2go
Copy link
Contributor

I implemented this feature (see my branch storepowerup), and while playing some levels noticed, that this feature is giving the player far too much power (i played the last 6 levels, whenever I had to shrink loaded a saved fireflower, and in the end I still had 8 fireflowers left). If this feature should be added, the number of powerups in all levels would need to be adjusted.

@maxteufel
Copy link
Member Author

@christ2go Can you test it with "Power-up menu (Choose what you want)" only before levels, and only keep one next powerup in the queue available for a single level? (What Mario games do)

@christ2go
Copy link
Contributor

christ2go commented Aug 19, 2016

@maxteufel Do you mean like the store in super marico chronicles? (One powerup, which always replaced when a new one is picked up?)

@maxteufel
Copy link
Member Author

  • Keep a list of powerups and numbers available (could be bought in a shop or awarded for winning minigames or so in the future)
  • Current level:
    • no powerup + powerup => you get powerup
    • powerup + same powerup => powerup increased
    • powerup + different powerup => keep powerup, store different powerup
      • different powerup can be used on request in current level
      • if not used until end of level, awarded to global powerup store

@christ2go
Copy link
Contributor

@maxteufel Is the select powerup dialogue in front of every level still part of this?

@maxteufel
Copy link
Member Author

@christ2go Yes, but only provide that global storage before starting the level, not when in it. Also, that shouldn't happen automatically only when requested (add a menu point in the worldmap-escape-menu)

@Karkus476
Copy link
Member

@maxteufel powerup +same_powerup when powerup is earth or air needs to be considered separately

@maxteufel
Copy link
Member Author

@Karkus476 as for the earth powerup, having more of it extends the time the stone feature can be used.

@Karkus476
Copy link
Member

@maxteufel I see. We need a way to teach the player these things (Including more fire powerups means more fireballs.)

@maxteufel
Copy link
Member Author

More introductory levels like "Welcome to Antarctica" and "A Fork in the Road"? Some of them should be in forest, I suppose.

@christ2go
Copy link
Contributor

christ2go commented Aug 25, 2016

When implementing this feature I found a few points, which still might need consideration.

  • Should Tux really not be allowed to store the same powerup that he currently has?
  • Currently powerup loading is implemented as a switch powerup mechanism, the question is, should Tux also be able to "switch" when no current powerup is stored (so he can become small for a minor part in the level and later become big again)
  • I thought that powerup loading before a level might be done in the level loading screen, by using the left and right controls Tux can switch between all the powerups he can load.

If the two upper points shouldn't be implemented, this might have the advantage, that the storage isn't usable until introduced and wouldn't make any existing level easier.

@maxteufel
Copy link
Member Author

  • Should Tux really not be allowed to store the same powerup that he currently has?

Then extending the powerup's abilities based on how many of it you have won't make sense anymore (e.g. right now with a higher number of fire/iceflowers, you can shoot more in the same time; more earthflowers = longer time stone feature can be used; etc.).

@christ2go
Copy link
Contributor

@maxteufel Thanks, that would be clear. What about switching anytime and loading screen?

@maxteufel
Copy link
Member Author

@christ2go Sounds like a good idea, if the UI/UX is implemented properly. We don't want non-understandable hidden switches to do that. It should be clearly visible that you can add powerups and how you can do that and what consequences it will have.

@Karkus476
Copy link
Member

This needs to be scriptable (make use of your variable storage file, *.sss, so that load and store could be used to read the items the user has?) and general, so that anything can be stored (keys, other map items or secret items from levels). Pressing action on the Worldmap should bring up the UI, which will need to show icons of the items you have stored, in a grid formation. The items can create stacks to save space, if this is needed (so for example you could store 3 of the same item in the same spot on the grid). What you've done already is great, but it will take a nice UI to bring it together

@maxteufel
Copy link
Member Author

(make use of your variable storage file, *.sss, so that load and store could be used to read the items the user has?)

No. Store the main game powerups it in the *.stsg as that is used for core progress. 'Custom powerups' or 'custom collectibles' should be stored in the *.sss.

Indeed, this needs a good UI, as @Karkus476 notes.

@maxteufel
Copy link
Member Author

As for custom variants, a sprite (for UI) and name (for scripting) should obviously be stored.

@brmbrmcar
Copy link
Contributor

If there were different powerups, I think that the one collected last should be used, but if the older powerup was collected again it would go back, being more powerful.

@christ2go
Copy link
Contributor

@brmbrmcar There are different powerups, or what do you mean?

@brmbrmcar
Copy link
Contributor

So, say you had fire, then if you got ice you would be ice. But if you then got fire, you will have double power fire or whatever because you had fire once before.

@christ2go
Copy link
Contributor

christ2go commented Sep 4, 2016

Yeah, that's right you could theoretically still get the same powerup stored ... But only in levels were different powerups are in place, so it wouldn't make existing levels more easy to play. But honestly it's kind of hard to explain to the player that if he has fire collected and he collects fire again it will just be used to make his newly collected fire hat more powerful.

@brmbrmcar
Copy link
Contributor

It is hard to explain. But what could happen is some kind of change to the hat every time something is more powerful. Then it would just seem logical.

@LizzyBach
Copy link

Wait, if you're fire and you pick up ice you stay fire? Or you become ice but store fire?

I'm really confused. What do you mean?

@LizzyBach
Copy link

LizzyBach commented Jun 4, 2020

  • Should Tux really not be allowed to store the same powerup that he currently has?

Then extending the powerup's abilities based on how many of it you have won't make sense anymore (e.g. right now with a higher number of fire/iceflowers, you can shoot more in the same time; more earthflowers = longer time stone feature can be used; etc.).

Maybe, it'll require some more optimizations, I think? That's because I really like the power-up stacking mechanic and would the storage mechanic if it'll be be implemented. I don't want anyone of them to get removed.

@Guih48
Copy link

Guih48 commented Nov 6, 2021

I think powerup stacking mechanics(fireball/iceball count) and powerup storage/switching is could be a good combination if the storage is replaced by a switch, that switches between powerups, because that mechanic:

If you have 8 fireballs, and you gain an ice flower the fireball count is saved and if you gain a fire flawer the count is starts from 8 (+1 because you gained a new flower) and the iceball count is also saved (this only works only if we didn't hurt!).

And this switch could switch between saved counts (at worldmap) without we gain a new powerup.

@Paulo-Tux
Copy link

In my opinion, I think we should click a button on the keyboard to throw a fireball and click another button on the keyboard to throw an iceball so that Tux has the power of fire and ice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:code category:levels involves:functionality involves:scripting status:assigned Developer got assigned to taks, awaiting first progress report status:needs-discussion Team member and developers need to discuss of decisions type:feature type:idea
Projects
None yet
Development

No branches or pull requests

8 participants