Skip to content

Player customization#83

Open
milegros wants to merge 15 commits into
AgenteMaxo:mainfrom
milegros:player-customization
Open

Player customization#83
milegros wants to merge 15 commits into
AgenteMaxo:mainfrom
milegros:player-customization

Conversation

@milegros

Copy link
Copy Markdown
Contributor

Qué hace el sistema

Pantalla "Personalizar" accesible desde el título, con 6 categorías: Piel, Cabello, Ojos, Vello facial, Parte superior, Parte inferior. Layout de 3 columnas (Piel+Cabello | Ojos+Vello | Superior+Inferior=ropa), preview del muñeco a la izquierda con flechas para rotarlo (frente/lado/espaldas). Botón de dado 🎲 randomiza todo. Por defecto, cualquier personaje nuevo usa el traje Hazmat (un mono amarillo fijo) hasta que el jugador cambia al modo "Personalizar" con el switch de arriba.

Adjunto un video explicando muy por arriba cómo funcionaría la función nueva:
(pido de antemano perdón por mi voz xd)

PersonalizarBackRoomsNoClip_comprimido.mp4

Elección de color, por categoría:

Piel: paleta fija de 4 tonos con flechas.
Cabello / Ojos / Vello facial: con el selector nativo del navegador, dibujado como un botón cuadrado.

image

Superior / Inferior: no se tiñen — cada estilo ya viene en su color final, y son las únicas capas que animan con el ciclo de caminata (down, up, side).

game/js/apariencia.js es la única fuente de verdad, compartida entre navegador y servidor (require directo en sala.js/protocolo.js), evitando listas duplicadas que se desincronicen. El teñido usa dos mecánicas distintas: remapeo de 3 tonos (remapTonos, para piel y el cuerpo base) y multiplicación (tintarMultiply, para cabello/ojos/vello con color continuo) — ambas puramente por composición de canvas, sin getImageData, porque file:// deja el canvas "tainted" y esa lectura fallaría.

ATENCIÓN

Pediría comprobar bien el funcionamiento que no afecte a otra PR, en mi caso no sucedió ningún error, pero por seguridad para no afectar el trabajo de otros. Cualquier problema que se encuentre jugando o se vea en el PR, pediría que comenten y lo mejoro sin problema alguno.

Lo único que no pude solucionar es que se ve levemente distorsionado el personaje cuando se cambia a Modo cámara: 640 x 360 (16:9 Retro).

image

Nota:
Cabe aclarar que tuve ayuda de Fonix (dc: fonixgm) para comprobar el correcto funcionamiento y de Aimar667 (dc: aimar667) como opinión sobre el interfaz de Personalización.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant