Talk:Class Ability:Disguise

From Fortress Forever Wiki
Jump to navigationJump to search

Solution

We've resolved this and are progressing with option D (Display the spy's weapon viewmodels with the disguise weapon on the HUD somewhere). I've left the old discussion for future iterations.

Old Discussion

The only real thing left to resolve is the viewmodel effects when disguised as another class. A few ideas:

Ideas

  • A: ETF style translucent weapons. The weapon actually equipped shimmers and changes into the weapon people see you carrying in 3rd person mode.
  • B: Display the corresponding viewmodel as held by the class you're disguised as. Forget the spy's weapons.
  • C: Display the spy's viewmodel. Forget the disguise weapons.
  • D: Same as B or C, but instead of just forgetting the spy or disguise weapon, use some kind of HUD element to indicate which weapon you're holding.

Advantages / Disadvantages of each:

  • A: Cool, good blend of both worlds / Harder to implement. Probably requires more resources to do (both time, effort and computer resources [lower framerate etc]). Requires weapon models to be activated to be of any use.
  • B: It's easy to remember which weapon you've got selected as spy anyway, pretty easy solution / Requires weapon models to be activated, will probably require more memory as you will potentially be displaying more viewmodels.
  • C: Simple, no hassle, no extra resources required. Newbies probably won't care about the intracacies of holding the correct weapon anyway. The veterans can learn the combinations anyway / Not as easy as it could be. No wow factor.
  • D: All the advantages of either B or C, but with the extra functionality if people need it. Doesn't require viewmodels to be on. Could be turned off if a player finds it annoying / No wow factor.

Considerations

The main thing I'm (Defrag) wondering about is memory. If you play as a certain class, then does the game cache only the viewmodels & viewmodel textures for the class? If so, then playing as spy (with solutions A, B or D) would potentially cause all of the class viewmodels to be cached because as spy you can potentially disguise as any class and hold any weapon.

If all viewmodels are cached regardless, then it's not an issue. However, if models are selectively cached, then it could be a problem. Could we simply load the non-cached files on the fly when the player starts to disguise? (e.g. if they start to disguise as soldier, then ensure the RPG, Crowbar and Single Shotgun are already in memory, and if not, load them). I need a techie dude to tell me how much of a consideration this is and, indeed, whether I should be concerned about it at all.

I'm leaning towards D at the moment. The only downside with that approach is we'd need icons for every weapon, and the icons to be easily distinguishable.

Thoughts?

--- Perhaps having a spinning w_model in a hud element?