Pages: [1]
  Print  
Author Topic: (Relatively) cheap ways to increase !variety!  (Read 7174 times)
cheb
Lesser Nub


Cakes 3
Posts: 127



WWW
« on: September 19, 2012, 07:04:34 AM »

How do you recognize one white assasin from three more of him on a map where 16 people are frolicking? You don't.
That's because the paradigm of "player skins" itself is outdated.
To make players really recognizable and distinctive, you have to break it. Or, for better wording, to *expand* it.

1. Make the heads pool separate from the bodies pool. When ppl choose their avatar, they choose body, head switches to default for that body, but then they can re-choose any head. If someone wants to be Angelyss with Gargoule head, let them have their fun!
2. Make the head and the hair separate pools, with all 'new' heads carefully adjusted so that any hairdo fits any head. If someone wants to be Angelyss with Gargoule head and an afro, let them have their fun!
3. Introduduce the concept of "masks". Separate black/white images that tell which parts of the skin to recolor. If implemented as a part of the skin loading stage, it costs only loading time, not texture memory. If there are a few masks per skin (quite easier to draw than the skins themselves -- for example, body skin,striped pants,big skull on the back, et cetera), with each having color slider in the UI allowing the use to re-color skin by mask (like photoshop hue effects layer) and choose arbitrary number of masks at that, then EVERY player will have a distinctive look! Choses vertical stripes + horizontal stripes  and he's checkered!
The best part, this doesn't have to break the backward compatibility. Just an another feature.
Oh, and you can store the basic skins as grayscale, thus saving on the size, and color them with masks.
4. Make the heads and hair have the masks too. f someone wants blue-skinned Angelyss with Gargoule head and a pink afro with green polka-dots, let them have their fun!

This way, you'll need LESS body models, LESS skins (for example, normal/red/blue working by just distorting the player's choice of colors to be limited to either palette), LESS head models (I dare to think 4 or 5 would do) at the cost of having separate hairdo models and having to check for adjusting well.
I know, it would be hell wit the "realistic" style, but anime hair is wild and could be made spacious enough to mask small inconsistencies.


Remember: hairdos are the essential, vital part of any anime style! Much more visually recognizable than faces and stuff!

You cannot think of all possible variations of character archetypes. IMHO a "DIY model parts set" with ability to custom-color them fits the game much better.
(P.S. Player controls of mask tone "brightness" should be nonexistent of severely clipped, of course, to avoid abuse)
Logged

Imma lazy dreamer. I achieved nothing.
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #1 on: September 19, 2012, 07:50:07 AM »

Actually, it would lead to even more texture switching.  Plus things could get CPU heavy if we keep calculating colors on players per frame with new rgbGens combined with several vectors for different parts colors and lighting

Different hairstyles might work for missionpack but sets of heads and their hairs ideally should share the same texture atlas as the body
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Gig
In the year 3000
***

Cakes 45
Posts: 4394


WWW
« Reply #2 on: September 20, 2012, 03:07:29 AM »

1. Make the heads pool separate from the bodies pool. When ppl choose their avatar, they choose body, head switches to default for that body, but then they can re-choose any head. If someone wants to be Angelyss with Gargoule head, let them have their fun!
OpenArena already allows to use the head of a different character.
(DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/Manual/Player_settings#Model
It just that you have to use the console because it is not available in the GUI, but you can do it.
I've seen players using Gargoyle head on Skelebot body, that's weird and funny. But it's so weird that maybe it's the right choice to do not include it in the GUI... I don't know (I fear it may give an "awkward" feeling to the standard user).

For the rest, I'm not sure about how doing what you propose may keep compatibility. We have to use the old .md3 format, with characters created by putting three .md3 files together (one of them for the head). How to further divide them and preserve compatibility? Do you think about some new characters that would support this new feature, while keeping the old characters unchanged, and when playing on old mods, only the "classic" characters would be selectable?
A "character editor" feature sounds nice, but I fear appying it to an existing game may be more difficult than creating it while designing a new game from scratch.
But of course, Fromhell knows a lot more than me about this stuff, I don't want to give erroneous infos...
« Last Edit: September 20, 2012, 03:21:46 AM by Gig » Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
cheb
Lesser Nub


Cakes 3
Posts: 127



WWW
« Reply #3 on: September 20, 2012, 03:18:23 AM »

Quote
if we keep calculating colors on players per frame
Per frame?!!  Shocked Oh no, gods, no! Cry

I meant this as an additional stage injected into the code that loads the image from disk. Say, the call supports additional parameter(s) describing the masks used and the colors they apply, in addition to the main skin tga file name. Then, from the engine side, this looks like a single file was loaded from disk.

For example, instead of
/models/players/ducky/body.tga
the file name would be
/models/players/ducky/body.tga?mask=/models/players/ducky/stripes.tga&hue=(255,160,200)&mask=/models/players/ducky/stars.tga&hue=(0,255,100)


The beauty of the masks idea is in ZERO overhead during play, the only overhead applies to the loading time.

Quote
but sets of heads and their hairs ideally should share the same texture atlas as the body
Well, with 16 players max, this means an overhead of 32 texture switches max, and that's horrible.
I'm not sure (I haven't experimented with this for years) but I think you are slightly overreacting.
When I had been playing with inefficient texture usage (my customized Quake2 renderer), making it that every particle used a different texture, I noticed that problems crop up only when you move to hundreds and thousands of texture switches per frame. And that's on GeForce2 MX.

Still, it would be a nuce guideline for content creators to use one pre-defined texture for all their hairdos. It's just hair, after all!

Quote
How to further divide them and preserve compatibility?
I meant OA3, yes. And the new ones, yes.
Backward compatibility is a cake.
You only really need to introduce just one more selectable element "head#2" that is used in parallel with head, with the same transformation matrix. four elements isn't much more than 3. The older Q3 compatible models will just have an empty selector. You could even use the new models back Q3, they'll just be bald.
The same goes for masks.
It all could be done very transparent, otherwise I woud not be suggesting this.
Logged

Imma lazy dreamer. I achieved nothing.
Gig
In the year 3000
***

Cakes 45
Posts: 4394


WWW
« Reply #4 on: September 20, 2012, 03:23:02 AM »

UPDATE: the way to change your model from console seems to have some problem for the TEAM model (while works for your non-team model instead). I forgot that I pointed out this problem at the time of the first 0.8.8 Release Candidate, and that probably that has not been fixed yet. D'oh! Embarrassed

UPDATE to UPDATE: I have to correct myself. The feature correctly works also with the TEAM model. It was my fault, I typed a wrong team_headmodel name... and thus it simply "reverted" to show the default model (with its head) instead (Sarge/Grism)... but I didn't get it, because I was already starting from the Grism model!

There are however a few models where the "head swap" does not work correctly (e.g. on Arachna body), but it's because such models have not been created following the "3-parts" standard.
« Last Edit: September 20, 2012, 08:13:58 AM by Gig » Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
Pages: [1]
  Print  
 
Jump to: