OpenArena Message Boards

OpenArena Contributions => Idea pit => Topic started by: fromhell on May 06, 2013, 04:44:12 PM



Title: Player Customization theory
Post by: fromhell on May 06, 2013, 04:44:12 PM
Like maybe a customization.cfg in a player model's folder that allows to swap a mesh file with another while using the same .skin file?


like say for example, this is the file structure:

Code:
models/players/elf/animation.cfg
models/players/elf/customization_head.cfg
models/players/elf/customization_hat.cfg
models/players/elf/customization_hair.cfg
models/players/elf/customization_lower.cfg
models/players/elf/customization_upper.cfg
models/players/elf/head.md3
models/players/elf/lower.mdr
models/players/elf/upper.mdr
models/players/elf/texture.tga    // the complete texture page for all the customization items and the player in a 1024x1024
models/players/elf/lower_default.skin
models/players/elf/upper_default.skin
models/players/elf/head_default.skin
models/players/elf/icon_default.tga   // for backwards compatibility
models/players/elf/portrait_default.tga  
models/players/elf/heads/default.md3
models/players/elf/heads/chibi.md3
models/players/elf/hair/default.mdr
models/players/elf/hair/ponytail.mdr
models/players/elf/hair/long.mdr
models/players/elf/hair/bald.mdr
models/players/elf/hair/bob.mdr
models/players/elf/hats/witch.md3
models/players/elf/hats/bonnet.md3
models/players/elf/upper/nude.mdr
models/players/elf/upper/corset.mdr
models/players/elf/upper/bikini.mdr
models/players/elf/lower/nude.mdr
models/players/elf/lower/leafskirt.mdr
models/players/elf/lower/shorts.mdr
models/players/elf/lower/thong.mdr

and for example, customization_upper.cfg would contain

Code:
// id, unlock tier, name, model
0, 0, "Default", models/players/elf/upper/corset.mdr
1, 7, "Bikini", odels/players/elf/upper/bikini.mdr

customization_head.cfg would contain

Code:
//id, unlock tier, name, model
0, 0, "Default", models/players/elf/head/default.md3
1, 3, "Chibi", models/players/elf/head/chibi.md3

And the .skin file would probably be like this (note that all the different models would use this same skin file for compatibility):

Code:
u_base, models/players/elf/texture
u_clothes, models/players/elf/texturecolor


"models/players/elf/texturecolor" being a shader like this

Code:
models/players/elf/texturecolor/
{
     {
        map models/players/elf/texture.tga
        rgbGen entityBlend
     }
}


rgbGen entityBlend would be a new renderer function where it'll blend the lighting in with the sampled colors, making NOT-GLOWING colors possible (which should have been done in q3 in the first place, of course it's possible to have a second stage act as the lighting but i'd prefer to avoid multiple textures as possible for legacy vertexlight fallback).

These setitngs and such would be picked through the menu system, colors would be in hex, etc....  I do think this method is possible with the engine, however the hard part will be LOD meshes for all the parts.

And yes, 'unlock tier' would mean it would be available for choosing if the player has progressed enough in the single player game. FINALLY SOME MOTIVATION FOR PLAYING SP LOL


Title: Re: Player Customization theory
Post by: Neon_Knight on July 20, 2013, 11:39:33 AM
Well, players love customization, yeah. But there should be a lot of different stuff to choose from, and a command (such as UT3's "unlockallchars") for unlocking everything without playing.

"unlock tier" reminds me of SuperTuxKart. By completing the SP/Challenge you can unlock tracks, GPs, gamemodes, and even characters.

Although, in case there's more than one SP, you would want to distribute different customizations between the gamemodes, for example, some stuff unlocked by classic tier, others unlocked by beating X times on Speedrun, others by completing a X-team League/Cup...