StrataSource / Portal-2-Community-Edition

Task tracker for Portal 2: Community Edition
https://www.portal2communityedition.com
149 stars 3 forks source link

Feature: Paint gun mechanical use concept #889

Open ShygalCoco opened 2 years ago

ShygalCoco commented 2 years ago

Which component should be improved?

Gameplay

Describe your suggestion

If both the portal gun and the paint gun are given to the player at the same time, you can press G (default key) to switch between them.

The paint gun will shoot gel using the primary attack key and switch between each gel using the secondary attack key with a radial menu comparable to the gesture and ping radial menus.

By default, the paint gun will start with only one gel which is the cleansing gel and it can be added onto using the weapon entity keyvalues and can be upgraded/downgraded by the same weapon entity like the portal gun.

In the radial menu, the cleansing gel will always be the bottom option regardless of how many gels are available. Each gel that is added onto will fill the radial menu with the full line-up being the bounce gel at the very top (⬆️), the speed gel at the top right (↗️), the adhesion gel at the top left (↖️), the reflection gel at the bottom left (↙️), the conversion gel at the bottom right (↘️), and the cleansing gel at the very bottom (⬇️). By default, these options will be grayed out (except for the cleansing gel) so that the player will know what will be available overtime and can grow muscle memory for which option to flick to with the mouse.

vrad-exe commented 2 years ago

Switching gels will probably default to R instead (with right click staying as cleansing gel). For switching weapons, there will be an HL2-style weapon selection menu, although having G swap between commonly used together weapons would also make sense, similarly to how it switches you to the gravity gun in HL2.

I do think it's a good idea to make gels selectable by muscle memory, but we do want to support custom gels, and I don't think it's reasonable for every map that wants to use even one custom gel to have to define a custom paint gun radial menu layout - not only would that be a pain, but it would make the layout different between maps/campaigns, which is worse for muscle memory.

One idea I just thought of which is similar to what you suggested: we have a fixed number of radial menu slots (maybe 8 like the gesture menu?), which all start empty by default. Each gel (default or custom) has a specific slot that it will go into when picked up, it will only go into a different slot if the normal slot for that gel is already taken. If more than 8 gels were obtained, the menu would begin expanding with additional slots - which completely breaks muscle memory, but I can't see any good maps needing that many gels in the paint gun at once, so it should be fine.

The 4 cardinal directions would be repulsion/propulsion/adhesion/conversion gels, and one of the diagonals would be reflection gel (most paint gun maps probably won't use that). That only leaves 3 slots open for custom gels, but maps that didn't use certain default gels could instead put custom gels in those slots.