Saltar al contenido principal

Gemas — 8 niveles XP

Componente: block_xp Community v19.0 (plugin de comunidad, sin modificaciones de código) Alcance: 1 — Gamificación Estado: Definido (pendiente de aplicación por curso)

Propósito

Sistema de progresión por experiencia: el estudiante acumula XP por su actividad en el curso y asciende por 8 niveles temáticos ("Gemas"), cada uno con imagen propia.

Los 8 niveles

Método de cálculo flat: umbrales fijos con incrementos constantes de 500 XP (sin curva).

NivelNombreXP mínimo
1Gema Alba0
2Gema Aqua500
3Gema Violeta1.000
4Gema Esmeralda1.500
5Gema Solar2.000
6Gema Coral2.500
7Gema Índigo3.000
8Gema Prisma3.500

Dónde vive la configuración

La definición de niveles se almacena por curso en mdl_block_xp_config, columna levelsdata (JSON):

{
"v": 2,
"algo": {"method": "flat", "base": 500, "coef": 1.0, "incr": 500},
"xp": [0, 500, 1000, 1500, 2000, 2500, 3000, 3500],
"name": ["Gema Alba", "Gema Aqua", "Gema Violeta", "Gema Esmeralda",
"Gema Solar", "Gema Coral", "Gema Índigo", "Gema Prisma"]
}

La aplicación se hace vía Admin UI del bloque (Configuración → Niveles → "Permitir personalizar los niveles", 8 niveles, método Flat) o vía UPDATE mdl_block_xp_config masivo. El procedimiento completo, con backup previo y checkpoints, está en el Plan operativo de Gamificación (Fase 1).

Imágenes

8 PNG de 256×256 px con fondo transparente, una por Gema, cargadas por nivel desde la Admin UI del bloque. Los prompts de diseño están en la propuesta v2 (xlsx), sheet GEMAS.

Verificación

SELECT levels, JSON_EXTRACT(levelsdata, '$.name')
FROM mdl_block_xp_config
WHERE enabled = 1;
-- Esperado: levels = 8, nombres Gema Alba … Gema Prisma

En la UI: el bloque XP del curso debe mostrar "Gema Alba" como nivel 1 y el próximo nivel a 500 XP.