<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Cinevva Guías</title>
        <link>https://app.cinevva.com</link>
        <description>Guías completas para creadores y jugadores.</description>
        <lastBuildDate>Sat, 15 Aug 2026 21:31:17 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright 2024-present Cinevva</copyright>
        <item>
            <title><![CDATA[Estrategia para Steam Next Fest en 2026]]></title>
            <link>https://app.cinevva.com/es/guides/steam-next-fest-strategy-gamedeveloper</link>
            <guid>https://app.cinevva.com/es/guides/steam-next-fest-strategy-gamedeveloper</guid>
            <pubDate>Sat, 15 Aug 2026 21:16:53 GMT</pubDate>
            <description><![CDATA[Una versión sindicada de nuestra guía de estrategia para Steam Next Fest. Consulta la versión canónica para leer el artículo completo y actualizado.]]></description>
            <content:encoded><![CDATA[<h1 id="estrategia-para-steam-next-fest-en-2026" tabindex="-1">Estrategia para Steam Next Fest en 2026 <a class="header-anchor" href="#estrategia-para-steam-next-fest-en-2026" aria-label="Permalink to &quot;Estrategia para Steam Next Fest en 2026&quot;"></a></h1>
<p><em>Lo que dicen los datos sobre listas de deseados, demos y fechas. Cifras reales de más de 200 juegos.</em></p>
<hr>
<p>Si estás planificando según el calendario, Steam celebra Next Fest tres veces en 2026: del 23 de febrero al 2 de marzo (ya terminó), del 15 al 22 de junio y del 19 al 26 de octubre. Las ediciones de junio y octubre se celebran desde las 10:00 a. m. PDT del día de inicio hasta las 10:00 a. m. PDT del último día, justo antes de las rebajas de verano e invierno (la edición de febrero también siguió la hora del Pacífico, antes del cambio al horario de verano). Un juego solo puede participar una vez en Next Fest, así que elige la edición que mejor encaje con tu ventana de lanzamiento. Tu demo debe estar disponible públicamente cuando comience el festival y no puedes lanzar el juego hasta que termine.</p>
<p>Esto es lo que pasa con Next Fest: todo el mundo lo trata como una lotería. Publicas tu demo, cruzas los dedos y esperas que el algoritmo te sonría. Pero no funciona así.</p>
<p>He estado leyendo análisis retrospectivos de forma obsesiva. Solo de 2025, cientos de ellos. El patrón es tan constante que casi resulta aburrido: los juegos que «ganan» Next Fest no encuentran el éxito durante el festival. Amplifican el impulso que ya habían conseguido.</p>
<p>Déjame enseñarte a qué me refiero.</p>
<h2 id="la-formula-que-nadie-quiere-oir" tabindex="-1">La fórmula que nadie quiere oír <a class="header-anchor" href="#la-formula-que-nadie-quiere-oir" aria-label="Permalink to &quot;La fórmula que nadie quiere oír&quot;"></a></h2>
<p><strong>Listas de deseados previas × 2 = Nuevas adiciones a listas de deseados</strong></p>
<p>Esta proporción aparece en un análisis retrospectivo tras otro.</p>
<p>Eilean Mor llegó a octubre de 2025 con 2117 adiciones a listas de deseados. Consiguió 2082 durante el festival. Casi exactamente el doble.</p>
<p>Dice of Kalma llegó con 335 adiciones. Consiguió 659. Casi el doble. Su desarrollador escribió: «Nuestras adiciones a listas de deseados casi se triplicaron, lo cual es genial, pero todavía nos queda mucho trabajo por hacer».</p>
<p>Esa es la incómoda verdad. Next Fest duplica lo que ya tienes. Si no tienes nada, duplicas nada.</p>
<h2 id="el-umbral-de-las-2000-listas-de-deseados" tabindex="-1">El umbral de las 2000 listas de deseados <a class="header-anchor" href="#el-umbral-de-las-2000-listas-de-deseados" aria-label="Permalink to &quot;El umbral de las 2000 listas de deseados&quot;"></a></h2>
<p>Los datos de 208 juegos de febrero de 2025 muestran un punto de inflexión muy marcado en las 2000 adiciones a listas de deseados.</p>
<table tabindex="0">
<thead>
<tr>
<th>Listas de deseados iniciales</th>
<th>Qué ocurre</th>
</tr>
</thead>
<tbody>
<tr>
<td>Menos de 1000</td>
<td>Te vuelves invisible después del segundo día. Ningún juego subió de nivel.</td>
</tr>
<tr>
<td>1000–2000</td>
<td>Ganancias modestas. Te mantienes en tu categoría.</td>
</tr>
<tr>
<td>Más de 2000</td>
<td>El algoritmo empieza a ayudarte. Es posible generar un impulso real.</td>
</tr>
<tr>
<td>Más de 10 000</td>
<td>Nivel oro. Es probable conseguir grandes ganancias.</td>
</tr>
<tr>
<td>Más de 100 000</td>
<td>Nivel diamante. Compites por los primeros puestos de las listas.</td>
</tr>
</tbody>
</table>
<p>Esto es lo que dijo un desarrollador de aquella encuesta: «Se empieza a ver claramente cómo despegan las adiciones a listas de deseados en los juegos que ya tenían más de 2000 antes de Steam Next Fest».</p>
<p>No se trata exactamente del algoritmo. Se trata de validación. Tener 2000 adiciones a listas de deseados significa que has descubierto algo sobre marketing. Sabes cómo llegar a la gente. Esa habilidad multiplica sus resultados durante el festival.</p>
<h2 id="las-primeras-48-horas-lo-son-todo" tabindex="-1">Las primeras 48 horas lo son todo <a class="header-anchor" href="#las-primeras-48-horas-lo-son-todo" aria-label="Permalink to &quot;Las primeras 48 horas lo son todo&quot;"></a></h2>
<p>Valve da una oportunidad a todo el mundo durante los días 1 y 2. Después, el algoritmo decide quién merece más visibilidad según su rendimiento.</p>
<p>¿Los juegos de nivel bronce? Sus impresiones se desploman el tercer día. ¿Los juegos de nivel diamante? Sus impresiones se triplican.</p>
<p><strong>Días 1 y 2:</strong> Promociónalo todo. Haz directos. Publica. Coordínate con creadores de contenido.
<strong>A partir del día 3:</strong> El algoritmo ya ha decidido. Solo te queda dejarte llevar.</p>
<h2 id="lo-que-realmente-triunfo-en-2025" tabindex="-1">Lo que realmente triunfó en 2025 <a class="header-anchor" href="#lo-que-realmente-triunfo-en-2025" aria-label="Permalink to &quot;Lo que realmente triunfó en 2025&quot;"></a></h2>
<h3 id="do-no-harm-febrero-de-2025" tabindex="-1">Do No Harm (febrero de 2025) <a class="header-anchor" href="#do-no-harm-febrero-de-2025" aria-label="Permalink to &quot;Do No Harm (febrero de 2025)&quot;"></a></h3>
<p><strong>Las cifras:</strong> 45 655 nuevas adiciones a listas de deseados durante Next Fest. Empezó con 52 102.</p>
<p><strong>Lo que hicieron:</strong></p>
<ul>
<li>Publicaron el tráiler en GameTrailers el 29 de enero (semanas antes de Next Fest)</li>
<li>Coordinaron la difusión en medios con el tráiler</li>
<li>Publicaron la demo el 4 de febrero</li>
<li>Usaron anuncios de pago para amplificar el impulso orgánico</li>
</ul>
<p>Este es el manual. No dependieron de Next Fest para que los descubrieran. Usaron Next Fest para multiplicar la atención que ya se habían ganado.</p>
<h3 id="cairn-octubre-de-2025" tabindex="-1">Cairn (octubre de 2025) <a class="header-anchor" href="#cairn-octubre-de-2025" aria-label="Permalink to &quot;Cairn (octubre de 2025)&quot;"></a></h3>
<p>Alcanzó el puesto 5 en Próximamente populares durante el primer día. Llegó a Demos destacadas y Próximamente en tendencia el segundo día.</p>
<p><strong>Lo que hicieron:</strong></p>
<ul>
<li>Publicaron la demo en diciembre de 2024 (10 meses antes de su Next Fest)</li>
<li>Tenían 32 000 seguidores antes del festival</li>
<li>Participaron en 18 festivales antes de Next Fest</li>
<li>The Game Bakers (Furi, Haven): un estudio consolidado con experiencia demostrada</li>
</ul>
<p>No necesitaban Next Fest. Pero lo aprovecharon de todos modos porque ofrece promoción gratuita cuando ya has hecho el trabajo.</p>
<h3 id="yapyap-octubre-de-2025" tabindex="-1">YAPYAP (octubre de 2025) <a class="header-anchor" href="#yapyap-octubre-de-2025" aria-label="Permalink to &quot;YAPYAP (octubre de 2025)&quot;"></a></h3>
<p>El fenómeno de los juegos «para pasar el rato con amigos». Un título de terror cooperativo en el que encarnas a magos que destrozan una torre. Se hizo viral en redes sociales y después dominó Next Fest.</p>
<p>Su tráiler se publicó el 25 de agosto de 2025, un mes antes de Next Fest. Consiguió 434 000 visualizaciones. Ese fue el punto de inflexión. Todo lo que vino después consistió simplemente en aprovechar la ola.</p>
<h2 id="lo-que-confirmo-febrero-de-2026" tabindex="-1">Lo que confirmó febrero de 2026 <a class="header-anchor" href="#lo-que-confirmo-febrero-de-2026" aria-label="Permalink to &quot;Lo que confirmó febrero de 2026&quot;"></a></h2>
<p>La edición de febrero de 2026 no cambió el manual, sino que lo consolidó. El festival superó las 3500 demos. How To Market A Game encuestó después a 182 desarrolladores, y la relación más sólida de todos los datos fue la existente entre la cantidad de adiciones a listas de deseados que tenía un juego antes del festival y las que obtuvo durante el evento: una correlación de Spearman de 0,825, según un análisis independiente de los datos de la encuesta. La disparidad fue brutal: la demo mediana consiguió 806 adiciones a listas de deseados, hacían falta 13 461 para entrar en el percentil 95 y el juego con mejores resultados obtuvo 57 074. El cooperativo siguió dominando y volvió a quedar desacreditada la idea de «publicar la demo por sorpresa justo antes del festival». De los juegos que consiguieron más de 15 000 adiciones a listas de deseados, solo uno publicó su demo por sorpresa pocos días antes del festival. Los demás llevaban un mes o más con sus demos disponibles. Crea primero la audiencia: todas las ediciones siguen diciendo lo mismo.</p>
<h2 id="los-generos-que-siguen-triunfando" tabindex="-1">Los géneros que siguen triunfando <a class="header-anchor" href="#los-generos-que-siguen-triunfando" aria-label="Permalink to &quot;Los géneros que siguen triunfando&quot;"></a></h2>
<p>Del nivel diamante de febrero de 2025:</p>
<ul>
<li><strong>Terror</strong> (×2): a Steam le encanta el terror. Siempre ha sido así.</li>
<li><strong>Estrategia/gestión</strong> (×4): la tendencia son los juegos de «fabricación, construcción y simulación»</li>
<li><strong>Cooperativos «para pasar el rato con amigos»</strong>: Lethal Company abrió las compuertas</li>
<li><strong>Aventuras gráficas point-and-click</strong> (×2): pero ambas eran secuelas con audiencias existentes</li>
</ul>
<p>Lo de las aventuras point-and-click es interesante. Beholder: Conductor era el cuarto juego de su serie. Duck Detective era una secuela. Ya tenían una audiencia incorporada. Los desarrolladores que crean su primera aventura point-and-click no obtienen esos resultados.</p>
<h2 id="lo-que-dicen-los-juegos-pequenos" tabindex="-1">Lo que dicen los juegos pequeños <a class="header-anchor" href="#lo-que-dicen-los-juegos-pequenos" aria-label="Permalink to &quot;Lo que dicen los juegos pequeños&quot;"></a></h2>
<p>No todo el mundo aspira al nivel diamante. Esto es lo que contaron los desarrolladores del extremo más modesto en octubre de 2025:</p>
<blockquote>
<p>«Una tasa de conversión del 62 % entre visitas y adiciones a listas de deseados. La propia página de la tienda parece funcionar. Pero hubo muchas impresiones y la gente no hizo clic. Hay que actualizar la imagen de cápsula».</p>
</blockquote>
<blockquote>
<p>«El 57 % de quienes visitaron la página de la tienda jugaron a nuestra demo. ¿Parece una cifra alta? Pero solo el 15 % de quienes jugaron también añadieron el juego a su lista de deseados. Algo no cumplió sus expectativas».</p>
</blockquote>
<blockquote>
<p>«Me expulsaron permanentemente de r/cozygames por preguntar si consideraban acogedor nuestro juego. Siempre intento respetar las normas, pero esto fue bastante sorprendente».</p>
</blockquote>
<p>La lucha es real. Estos desarrolladores prueban imágenes de cápsula, ajustan etiquetas y acaban expulsados de subreddits. No tiene nada de glamuroso.</p>
<p>Hay un patrón que se ha vuelto más evidente: los juegos cooperativos «para pasar el rato con amigos» acumulan enormes cifras de partidas a la demo, pero convierten a menos de esos jugadores en adiciones a listas de deseados, porque el público que llega es casual y solo quiere divertirse con sus amigos, no seguir la pista de un lanzamiento. Muchas partidas no implican automáticamente muchas adiciones a listas de deseados.</p>
<h2 id="el-manual-sin-rodeos" tabindex="-1">El manual sin rodeos <a class="header-anchor" href="#el-manual-sin-rodeos" aria-label="Permalink to &quot;El manual sin rodeos&quot;"></a></h2>
<p><strong>Meses antes de Next Fest:</strong></p>
<ol>
<li>Publica tu demo pronto. Mucho antes. Los ganadores llevaban entre 6 y 12 meses con sus demos disponibles.</li>
<li>Participa primero en festivales más pequeños de tu género. Úsalos como ensayos para pulir el juego.</li>
<li>Llega a más de 2000 adiciones a listas de deseados. Ese es tu verdadero umbral.</li>
</ol>
<p><strong>Durante Next Fest:</strong></p>
<ol>
<li>Los días 1 y 2 son decisivos. Promociónalo todo.</li>
<li>Haz directos si puedes. Aparecerá como «en directo» en tu página.</li>
<li>Coordínate con streamers. Págales si es necesario.</li>
<li>Publica tu demo en una página separada de Steam para que pueda recibir reseñas.</li>
</ol>
<p><strong>Después de Next Fest:</strong></p>
<ol>
<li>No lances el juego inmediatamente. Esperar unas semanas suele dar mejores resultados.</li>
<li>Aprovecha el impulso para el marketing del lanzamiento real.</li>
</ol>
<h2 id="cuando-no-participar" tabindex="-1">Cuándo no participar <a class="header-anchor" href="#cuando-no-participar" aria-label="Permalink to &quot;Cuándo no participar&quot;"></a></h2>
<p>Hablando claro: Next Fest no es para todo el mundo.</p>
<p>No participes si:</p>
<ul>
<li>Tienes menos de 1000 adiciones a listas de deseados (serás invisible el tercer día)</li>
<li>Tu demo no está bien pulida (solo tienes una oportunidad para causar una primera impresión)</li>
<li>Es tu primer festival (participa primero en otros más pequeños)</li>
<li>Vas a lanzar el juego inmediatamente después (espera unas semanas)</li>
</ul>
<p>Cada mes se celebran decenas de festivales más pequeños. Tienen públicos más específicos y menos competencia. Consulta la lista en howtomarketagame.com/festivals.</p>
<p>Next Fest es la opción predeterminada porque Valve invita a todo el mundo a participar. Pero el mejor marketing no es el que todo el mundo recibe como sugerencia.</p>
<hr>
<h2 id="sobre-el-autor" tabindex="-1">Sobre el autor <a class="header-anchor" href="#sobre-el-autor" aria-label="Permalink to &quot;Sobre el autor&quot;"></a></h2>
<p>Oleg Sidorkin crea herramientas para desarrolladores de juegos independientes. Estudia datos de marketing de videojuegos y análisis retrospectivos de desarrolladores para comprender qué funciona realmente y qué recibe más bombo del que merece.</p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Conecta Claude o Cursor a Cinevva (servidor MCP)]]></title>
            <link>https://app.cinevva.com/es/guides/mcp-server</link>
            <guid>https://app.cinevva.com/es/guides/mcp-server</guid>
            <pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Configura el servidor MCP del Creador de Juegos de Cinevva en Claude, Claude Code o Cursor y edita tu juego en vivo desde tu asistente de IA favorito.]]></description>
            <content:encoded><![CDATA[<h1 id="conecta-claude-o-cursor-a-cinevva-servidor-mcp" tabindex="-1">Conecta Claude o Cursor a Cinevva (servidor MCP) <a class="header-anchor" href="#conecta-claude-o-cursor-a-cinevva-servidor-mcp" aria-label="Permalink to &quot;Conecta Claude o Cursor a Cinevva (servidor MCP)&quot;"></a></h1>
<p>Cinevva incluye un servidor MCP alojado que permite a Claude, Claude Code, Cursor o cualquier cliente MCP crear tus juegos. La IA que ya utilizas se convierte en el cerebro: lee y edita directamente los archivos de tus juegos en nuestros servidores, sin necesidad de abrir una pestaña del navegador. Abre también tu juego en el creador de Cinevva y la sesión pasará a estar en vivo: la IA podrá importar recursos de nuestra biblioteca CC0, preparar esqueletos y animar modelos 3D, tomar capturas de pantalla, simular entradas para probar el juego en ejecución y actualizar la vista previa mientras cada cambio aparece en tu pantalla.</p>
<h2 id="que-necesitas" tabindex="-1">Qué necesitas <a class="header-anchor" href="#que-necesitas" aria-label="Permalink to &quot;Qué necesitas&quot;"></a></h2>
<p>Una cuenta de Cinevva (la gratuita sirve; la preparación de esqueletos 3D consume créditos de tu saldo) y un cliente MCP que admita servidores remotos con OAuth. La URL del servidor es:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>https://api.cinevva.com/create/mcp</span></span></code></pre>
</div><p>Utiliza HTTP Streamable y se autentica mediante OAuth 2.0. Cuando te conectes, tu cliente abrirá una página de inicio de sesión de Cinevva en el navegador. Autorízalo una vez y el cliente permanecerá conectado.</p>
<h2 id="edita-desde-cualquier-lugar-inicia-una-sesion-en-vivo-para-observar-y-probar" tabindex="-1">Edita desde cualquier lugar. Inicia una sesión en vivo para observar y probar. <a class="header-anchor" href="#edita-desde-cualquier-lugar-inicia-una-sesion-en-vivo-para-observar-y-probar" aria-label="Permalink to &quot;Edita desde cualquier lugar. Inicia una sesión en vivo para observar y probar.&quot;"></a></h2>
<p>Para editar archivos solo necesitas la conexión. Las herramientas de archivos leen y escriben la copia oficial de tus juegos en nuestros servidores, por lo que tu asistente puede corregir un error o añadir una función aunque no haya ninguna pestaña de Cinevva abierta. Indica el juego que quieras (o deja que la IA elija entre tus juegos) y empieza a darle instrucciones.</p>
<p>Iniciar una sesión en vivo es una mejora, no un requisito. Abre el juego en <a href="https://cinevva.com/create" target="_blank" rel="noreferrer">cinevva.com/create</a>, espera a que se cargue la vista previa y haz clic en <strong>Agente externo</strong> en la barra de herramientas del creador (el icono del enchufe, que también aparece en el menú «más» en pantallas pequeñas). El panel cambiará a «Agente en vivo» una vez conectado. Una sesión en vivo le da a la IA ojos y manos sobre el juego en ejecución: capturas de pantalla, registros de la consola, entradas simuladas, importación de recursos y preparación de esqueletos 3D. También muestra en tu pantalla cada edición en cuanto se aplica, tanto si se realizó desde esa pestaña como sin interfaz. El enlace en vivo permanecerá activado en futuras visitas hasta que hagas clic en «Detener sesión en vivo».</p>
<p>La herramienta <code>list_live_sessions</code> muestra qué está conectado y, cuando hay exactamente un juego abierto, este se selecciona automáticamente.</p>
<h2 id="configuracion-en-claude-claude-ai-y-aplicacion-de-escritorio" tabindex="-1">Configuración en Claude (claude.ai y aplicación de escritorio) <a class="header-anchor" href="#configuracion-en-claude-claude-ai-y-aplicacion-de-escritorio" aria-label="Permalink to &quot;Configuración en Claude (claude.ai y aplicación de escritorio)&quot;"></a></h2>
<ol>
<li>Abre Configuración, luego Conectores y elige «Añadir conector personalizado».</li>
<li>Ponle el nombre Cinevva y pega <CopyText text="https://api.cinevva.com/create/mcp" /> como URL. Comprueba que no haya caracteres adicionales; la URL debe terminar en <code>/create/mcp</code>.</li>
<li>Haz clic en Añadir y luego en Conectar. Inicia sesión con tu cuenta de Cinevva cuando se abra la página de autorización (la misma cuenta con la que has iniciado sesión en la pestaña del juego).</li>
<li>Pídele a Claude algo como «enumera los archivos de mi juego de Cinevva» para confirmar la conexión. Para hacer pruebas en vivo, abre tu juego en cinevva.com/create en otra pestaña y haz clic en Agente externo en la barra de herramientas.</li>
</ol>
<h2 id="configuracion-en-claude-code" tabindex="-1">Configuración en Claude Code <a class="header-anchor" href="#configuracion-en-claude-code" aria-label="Permalink to &quot;Configuración en Claude Code&quot;"></a></h2>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">claude</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> mcp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> add</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --transport</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> http</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cinevva</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://api.cinevva.com/create/mcp</span></span></code></pre>
</div><p>Claude Code te guiará por el inicio de sesión mediante OAuth la primera vez que lo uses. Después, pídele que lea los archivos de tu juego o realice algún cambio. Funciona directamente desde el terminal sin necesidad de abrir una pestaña del navegador.</p>
<h2 id="configuracion-en-cursor" tabindex="-1">Configuración en Cursor <a class="header-anchor" href="#configuracion-en-cursor" aria-label="Permalink to &quot;Configuración en Cursor&quot;"></a></h2>
<p>Añade lo siguiente a <code>.cursor/mcp.json</code> (para cada proyecto) o a <code>~/.cursor/mcp.json</code> (global):</p>
<div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "mcpServers"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "cinevva"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://api.cinevva.com/create/mcp"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>Cursor detecta el servidor, ejecuta el flujo de OAuth en tu navegador y muestra las herramientas en su configuración de MCP.</p>
<h2 id="que-hacen-las-herramientas" tabindex="-1">Qué hacen las herramientas <a class="header-anchor" href="#que-hacen-las-herramientas" aria-label="Permalink to &quot;Qué hacen las herramientas&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Grupo</th>
<th>Herramientas</th>
<th>¿Necesita una sesión en vivo?</th>
</tr>
</thead>
<tbody>
<tr>
<td>Leer el juego</td>
<td><code>list_game_files</code>, <code>read_files</code>, <code>search_game_file</code></td>
<td>No, lee la copia del servidor de cualquiera de tus juegos</td>
</tr>
<tr>
<td>Editar el juego</td>
<td><code>edit_files</code>, <code>write_files</code>, <code>delete_files</code>, <code>rename_files</code></td>
<td>No, las ediciones se aplican en el servidor y se transmiten a cualquier pestaña abierta</td>
</tr>
<tr>
<td>Vista previa</td>
<td><code>game_ready</code></td>
<td>Actualiza la vista previa de una pestaña en vivo; de lo contrario, guarda los cambios sin interfaz</td>
</tr>
<tr>
<td>Observar el juego</td>
<td><code>read_console_logs</code>, <code>take_screenshot</code></td>
<td>Sí</td>
</tr>
<tr>
<td>Pruebas</td>
<td><code>execute_js</code>, <code>simulate_input</code>, <code>get_task_status</code></td>
<td>Sí</td>
</tr>
<tr>
<td>Recursos</td>
<td><code>search_assets</code>, <code>list_asset_packs</code>, <code>import_asset</code>, <code>search_fonts</code></td>
<td>Sí. Aproximadamente 7000 objetos, audios y HDRI CC0</td>
</tr>
<tr>
<td>Preparación de esqueletos 3D</td>
<td><code>rig_model</code>, <code>apply_animation</code></td>
<td>Sí, consume créditos</td>
</tr>
<tr>
<td>Documentación</td>
<td><code>list_library_docs</code>, <code>search_library_docs</code>, <code>read_library_docs</code>, <code>list_animations</code></td>
<td>Sí</td>
</tr>
</tbody>
</table>
<p>La preparación de esqueletos cuesta los mismos créditos que en el Creador de Juegos de la aplicación. Todo lo demás es gratuito. El creador integrado en la aplicación también genera imágenes, música, efectos de sonido y skyboxes con IA; esas herramientas están disponibles en la propia aplicación de Cinevva y no forman parte del conector MCP.</p>
<h2 id="solucion-de-problemas" tabindex="-1">Solución de problemas <a class="header-anchor" href="#solucion-de-problemas" aria-label="Permalink to &quot;Solución de problemas&quot;"></a></h2>
<p>El mensaje «No se encontró ningún servidor MCP en la URL proporcionada» durante la configuración suele indicar que la URL contiene un error tipográfico o un carácter adicional al final. Debe ser exactamente <CopyText text="https://api.cinevva.com/create/mcp" />.</p>
<p>El mensaje «No hay ninguna sesión en vivo» solo procede de las herramientas de ejecución (capturas de pantalla, consola, entradas, recursos y preparación de esqueletos). Significa que ninguna pestaña del navegador tiene abierto ese juego con el enlace en vivo activado. Abre tu juego, haz clic en Agente externo en la barra de herramientas e inténtalo de nuevo. Las herramientas de archivos nunca lo necesitan: si no hay ninguna sesión, trabajan con cualquiera de tus juegos mediante gameId y enumeran tus juegos si no proporcionas uno.</p>
<p>Si las herramientas se bloquean con una conexión nueva, actualiza la pestaña del juego para que vuelva a conectarse y después llama a <code>list_live_sessions</code>.</p>
<p>Preguntas o problemas: <a href="mailto:support@cinevva.com" target="_blank" rel="noreferrer">support@cinevva.com</a>.</p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Juegos para stands de ferias que realmente captan leads (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/trade-show-booth-games</link>
            <guid>https://app.cinevva.com/es/guides/trade-show-booth-games</guid>
            <pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Qué funciona como juego para un stand de feria, por qué las ruletas de premios y los minigolfes atraen público pero no leads, y cómo un juego para móviles con una clasificación en vivo convierte el tráfico de los pasillos en una lista de leads exportable.]]></description>
            <content:encoded><![CDATA[<h1 id="juegos-para-stands-de-ferias-que-realmente-captan-leads" tabindex="-1">Juegos para stands de ferias que realmente captan leads <a class="header-anchor" href="#juegos-para-stands-de-ferias-que-realmente-captan-leads" aria-label="Permalink to &quot;Juegos para stands de ferias que realmente captan leads&quot;"></a></h1>
<p>Tienes un stand de 3 × 3 o 6 × 6 metros, un lector de acreditaciones y tres días para justificar lo que ha costado. En algún momento de la planificación surge la idea de incluir un juego, porque todo el mundo sabe que los juegos atraen a la gente. La pregunta que nadie responde bien es qué juegos atraen a personas con las que merece la pena hablar y cuáles solo generan una cola de desconocidos sin acreditación cargados de regalos.</p>
<p>Me dedico a crear juegos personalizados para stands, así que he visto ambos resultados. Esto es lo que los diferencia.</p>
<h2 id="los-dos-tipos-de-juegos-para-stands" tabindex="-1">Los dos tipos de juegos para stands <a class="header-anchor" href="#los-dos-tipos-de-juegos-para-stands" aria-label="Permalink to &quot;Los dos tipos de juegos para stands&quot;"></a></h2>
<p>Casi todos los juegos para stands pertenecen a una de estas dos categorías, y cada una funciona de una manera completamente distinta.</p>
<p><strong>Los juegos de atención</strong> hacen que la gente se detenga en el pasillo. Una ruleta de premios, un minigolf, una máquina de gancho, una torre gigante de Jenga. Funcionan: el movimiento y el ruido son lo que interrumpe el paso de alguien. Lo que no hacen es decirte nada sobre quién se ha detenido. Una persona hace girar la ruleta, recoge los calcetines con tu marca y se marcha. Has conseguido una visita, no un lead, y has pagado por una ruleta.</p>
<p><strong>Los juegos de cualificación</strong> hacen que la persona realice una acción que revela su interés y después le piden sus datos de contacto justo cuando quiere algo de ti. Son menos habituales, más difíciles de ejecutar bien y los únicos que terminan apareciendo en tu CRM.</p>
<p>El error no está en elegir un juego de atención. Está en elegir uno y esperar que genere leads.</p>
<h2 id="por-que-los-clasicos-rinden-menos-al-captar-leads" tabindex="-1">Por qué los clásicos rinden menos al captar leads <a class="header-anchor" href="#por-que-los-clasicos-rinden-menos-al-captar-leads" aria-label="Permalink to &quot;Por qué los clásicos rinden menos al captar leads&quot;"></a></h2>
<p><strong>Las ruletas de premios</strong> convierten por el premio, no por tu empresa. La persona que gira la ruleta busca optimizar sus posibilidades de ganar, lo que significa que tus mejores participantes son quienes menos interés tienen en tu producto. Y, lo que es peor, la interacción dura cuatro segundos, demasiado poco para que el personal del stand pueda iniciar una conversación.</p>
<p><strong>Los minigolfes y las canastas de baloncesto</strong> son máquinas de generar tiempo de permanencia, y ese tiempo tiene un valor real. Pero ocupan mucho espacio por cada jugador simultáneo, necesitan personal para prepararlos de nuevo y un golfista seguro de sí mismo puede monopolizar el puesto durante diez minutos mientras se marcha una cola de personas que querían preguntar por tu producto.</p>
<p><strong>Los fotomatones y las cámaras 360</strong> generan algo que el asistente quiere conservar, lo cual parte de una buena idea. El problema es que captan un correo electrónico a cambio de una foto, así que la intención que estás midiendo es «quería una foto». Está bien para generar notoriedad de marca en una feria de consumo. Aporta poco en una B2B.</p>
<p><strong>Los cuestionarios para tablet y las aplicaciones de premios</strong> suelen tener la forma adecuada, pero el envoltorio equivocado. Las plantillas genéricas plantean preguntas que no tienen relación con tu producto, por lo que la persona no aprende nada sobre ti ni tú sobre ella, y todo parece un peaje para captar leads en lugar de una razón para detenerse.</p>
<h2 id="lo-que-debe-conseguir-un-juego-para-stands" tabindex="-1">Lo que debe conseguir un juego para stands <a class="header-anchor" href="#lo-que-debe-conseguir-un-juego-para-stands" aria-label="Permalink to &quot;Lo que debe conseguir un juego para stands&quot;"></a></h2>
<p>Reducido a lo esencial, un juego para stands tiene cuatro objetivos, en este orden.</p>
<p><strong>Hacer que alguien se detenga en el pasillo.</strong> Algo en una pantalla a la altura de los ojos, en movimiento y visible desde seis metros de distancia. Una clasificación funciona especialmente bien porque un marcador con nombres da a entender que otras personas ya han jugado, y esa prueba social se encarga de atraer público por ti.</p>
<p><strong>Terminar en unos sesenta segundos.</strong> Esta es la cifra más importante y la que las plantillas suelen calcular mal. Si dura menos de treinta segundos, no hay sensación de logro. Si supera los noventa, el personal del stand no puede iniciar una conversación sin interrumpir; además, se forman colas y la gente se marcha.</p>
<p><strong>Pedir el correo electrónico después de la partida, nunca antes.</strong> Poner una barrera antes de jugar te hace perder a la mayoría de los participantes, porque le estás pidiendo a un desconocido que pague antes de saber si la experiencia es divertida. Pídeselo después, cuando ya haya invertido sesenta segundos y quiera ver su nombre en la clasificación, y dar su correo no le supondrá ningún coste. Este simple cambio de orden es la mayor diferencia entre un juego que llena una lista de leads y otro que no.</p>
<p><strong>Enseñar algo sobre lo que vendes.</strong> Si el juego es una plantilla con otro aspecto, el asistente recordará el juego. Si la mecánica convierte la propuesta de valor de tu producto en algo jugable, recordará a qué te dedicas. Una empresa de infraestructura en la nube puede convertir en un juego el enrutamiento del tráfico bajo carga. Una empresa de gestión documental puede convertir en un juego la tarea de ordenar lo imposible. Esa es la versión que la gente describe después a sus compañeros.</p>
<h2 id="la-estructura-de-premios-que-realmente-impulsa-las-partidas-repetidas" tabindex="-1">La estructura de premios que realmente impulsa las partidas repetidas <a class="header-anchor" href="#la-estructura-de-premios-que-realmente-impulsa-las-partidas-repetidas" aria-label="Permalink to &quot;La estructura de premios que realmente impulsa las partidas repetidas&quot;"></a></h2>
<p>La mayoría de los stands eligen una sola mecánica de premios y, sin darse cuenta, la estropean. O bien «gana la puntuación más alta», lo que significa que quienes no están entre los diez primeros no tienen ningún motivo para dejar su correo electrónico, o bien «todos entran en un sorteo», lo que significa que nadie tiene motivos para esforzarse ni para volver.</p>
<p>Utiliza ambas y explícalo claramente en la pantalla:</p>
<p><strong>Premios garantizados para los tres primeros a una hora fija cada día.</strong> Un plazo crea urgencia y un podio genera rivalidad. Reinicia la clasificación cada día de feria para que el segundo y el tercero sean competiciones nuevas en lugar de tener un resultado decidido de antemano. Además, así el personal tendrá un motivo natural para invitar a volver a quienes jugaron el día anterior.</p>
<p><strong>Una participación en el sorteo por cada partida completada, independientemente de la puntuación.</strong> Esto es lo que permite sacar partido a quien termina en el puesto 200. Su partida no tenía ninguna posibilidad y lo sabe, pero una participación sigue mereciendo la pena a cambio de una dirección de correo electrónico. Y como cada partida adicional supone otra participación, esta es la mecánica que genera repeticiones y tiempo de permanencia.</p>
<p>La habilidad recompensa a unos pocos. El sorteo recompensa a todos. Ambos funcionan con el mismo registro.</p>
<h2 id="los-moviles-superan-a-los-kioscos-con-diferencia" tabindex="-1">Los móviles superan a los kioscos, con diferencia <a class="header-anchor" href="#los-moviles-superan-a-los-kioscos-con-diferencia" aria-label="Permalink to &quot;Los móviles superan a los kioscos, con diferencia&quot;"></a></h2>
<p>La reacción instintiva es comprar o alquilar tablets. Piensa en lo que ya ofrece el móvil que llevan en el bolsillo.</p>
<p>Todo el mundo trae su propio dispositivo, así que no hay colas para usar el equipo ni un límite de jugadores simultáneos. No tienes que desinfectar ni cargar nada, no hay nada que enviar o asegurar y nada desaparece durante el segundo día. Reproducir el código QR no cuesta nada, así que puedes colocarlo en el mostrador, en la pancarta, en el inserto del cordón de la acreditación y en el correo previo a la feria. Una persona puede empezar a jugar antes incluso de llegar a tu stand.</p>
<p>La contrapartida es real y conviene señalarla: no controlas el dispositivo, así que el juego debe funcionar en un Android de hace cinco años dentro de un pabellón con una red wifi saturada. Eso exige un juego para navegador con una descarga pequeña, sin instalar ninguna aplicación y sin registrarse. Si un proveedor de juegos para stands te dice que los asistentes tienen que instalar algo, perderás a la mayor parte del tráfico entre «me interesa» y «estoy jugando».</p>
<h2 id="como-sacar-el-maximo-partido-a-la-pantalla-de-clasificacion" tabindex="-1">Cómo sacar el máximo partido a la pantalla de clasificación <a class="header-anchor" href="#como-sacar-el-maximo-partido-a-la-pantalla-de-clasificacion" aria-label="Permalink to &quot;Cómo sacar el máximo partido a la pantalla de clasificación&quot;"></a></h2>
<p>La pantalla orientada hacia el pasillo hace más trabajo que el propio juego. La mayoría de las personas que la vean nunca jugarán, así que debe promocionar el stand por sí sola.</p>
<p>Muestra en ella la clasificación en vivo, con un tamaño suficiente para leerla desde el pasillo, los tres primeros puestos claramente marcados como posiciones premiadas y el resto de los diez primeros atenuados detrás. Añade el código QR para jugar con un tamaño que permita escanearlo desde dos metros. Explica la estructura de premios en una línea para cada modalidad. Y deja espacio para reproducir en bucle tu propio vídeo o historia de producto, porque la pantalla tiene audiencia tanto si hay alguien jugando en ese momento como si no.</p>
<p>Un detalle que no cuesta nada y cambia la percepción: haz que el juego se ejecute solo cuando nadie esté jugando, como una máquina recreativa. Un cartel estático se percibe como señalización. Un juego que se ve funcionando se percibe como algo que está ocurriendo, y algo que está ocurriendo es lo que hace que una persona en el pasillo gire la cabeza.</p>
<h2 id="que-preguntar-a-un-proveedor-de-juegos-para-stands" tabindex="-1">Qué preguntar a un proveedor de juegos para stands <a class="header-anchor" href="#que-preguntar-a-un-proveedor-de-juegos-para-stands" aria-label="Permalink to &quot;Qué preguntar a un proveedor de juegos para stands&quot;"></a></h2>
<p>Si vas a comprar en lugar de desarrollar, estas son las preguntas que realmente permiten distinguir a los proveedores:</p>
<p>¿El juego enseña lo que vendemos o es una plantilla con nuestro logotipo? ¿Puedo jugar exactamente a lo que desarrollaríais antes de pagar? ¿Dónde se almacenan los datos de los leads y puedo exportarlos como un CSV que nuestro CRM acepte sin intermediarios? ¿Quién será el propietario del juego después? ¿Hay que instalar una aplicación o registrarse antes de jugar? ¿Qué ocurre si la red wifi de la feria funciona mal? ¿Podéis adaptarlo a nuestra identidad visual y permitir que nuestro equipo de marketing lo revise, en lugar de limitaros a aproximar nuestros colores?</p>
<p>La pregunta sobre si puedes jugar antes de pagar es la más reveladora. Las agencias responden con una presentación de diapositivas. Es un indicador razonable de si realmente pueden desarrollar el juego.</p>
<h2 id="la-realidad-del-presupuesto" tabindex="-1">La realidad del presupuesto <a class="header-anchor" href="#la-realidad-del-presupuesto" aria-label="Permalink to &quot;La realidad del presupuesto&quot;"></a></h2>
<p>Como referencia de lo que debería costar, los juegos HTML5 personalizados para stands creados por una agencia tradicional suelen partir de cifras de cinco dígitos y subir desde ahí, en gran medida porque el trabajo se presupuesta como un proyecto de software a medida. Los paquetes de alquiler de ruletas de premios, fotomatones y juegos para tablets suelen costar entre dos mil y cinco mil dólares por feria, y después devuelves el equipo sin quedarte con nada.</p>
<p>Un juego personalizado para navegador creado con herramientas asistidas por IA cuesta bastante menos que uno de agencia y, además, te lo quedas, algo importante si asistes a tres ferias al año. Los números solo cuadran si el proveedor no factura horas de software a medida por algo que reutiliza una base ya probada, así que pregunta qué parte del desarrollo es realmente nueva para ti y cuál se reutiliza.</p>
<h2 id="la-version-breve" tabindex="-1">La versión breve <a class="header-anchor" href="#la-version-breve" aria-label="Permalink to &quot;La versión breve&quot;"></a></h2>
<p>Un juego para stands justifica su espacio cuando dura sesenta segundos, se juega en el móvil del propio asistente, pide el correo electrónico después de la partida y no antes, muestra una clasificación en vivo que puede verse desde el pasillo, garantiza premios a los tres primeros puestos visibles y ofrece a todos los demás una participación en un sorteo, y gira en torno a lo que realmente vendes en lugar de ser una plantilla alquilada.</p>
<p>Si aciertas con todo eso, el juego deja de ser decoración para el stand y se convierte en la razón por la que merece la pena revisar tu exportación de leads el lunes.</p>
<h2 id="prueba-tres-de-estos-juegos-antes-de-decidirte" tabindex="-1">Prueba tres de estos juegos antes de decidirte <a class="header-anchor" href="#prueba-tres-de-estos-juegos-antes-de-decidirte" aria-label="Permalink to &quot;Prueba tres de estos juegos antes de decidirte&quot;"></a></h2>
<p>Creamos juegos personalizados para stands y puedes probar ahora mismo los conceptos en tu móvil, tal como lo harían tus asistentes: un sprint para stands de feria con una clasificación en vivo, un juego para ponencias que controla toda la sala de forma conjunta y un producto convertido en su propio juego. La mayoría de los proyectos cuestan entre 500 y 2000 dólares, recibes un presupuesto cerrado en un día y no se cobra nada hasta que lo aceptas.</p>
<p><strong><a href="/es/studio.html">Prueba los conceptos y solicita un presupuesto →</a></strong></p>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/trade-show-booth-games-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[De Cinevva a Cocos: el traspaso de un minijuego (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/cinevva-to-cocos-workflow</link>
            <guid>https://app.cinevva.com/es/guides/cinevva-to-cocos-workflow</guid>
            <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Cómo crear el prototipo de un minijuego en Cinevva, validarlo con jugadores reales y traspasar el ganador a Cocos para su producción. Qué se conserva, qué hay que reconstruir y cuál es el flujo de trabajo realista paso a paso.]]></description>
            <content:encoded><![CDATA[<h1 id="de-cinevva-a-cocos-el-traspaso-de-un-minijuego-2026" tabindex="-1">De Cinevva a Cocos: el traspaso de un minijuego (2026) <a class="header-anchor" href="#de-cinevva-a-cocos-el-traspaso-de-un-minijuego-2026" aria-label="Permalink to &quot;De Cinevva a Cocos: el traspaso de un minijuego (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/cinevva-to-cocos-workflow-hero.jpg?v=1" alt="De Cinevva a Cocos: el flujo de trabajo para traspasar un minijuego en 2026" style="width:100%;border-radius:10px">
</figure>
<p>Cinevva y Cocos no son rivales. Son dos etapas del mismo proceso. Cinevva es donde descubres qué idea merece la pena desarrollar. Cocos es donde creas la versión final y optimizada de la que se lo ha ganado. Esta guía trata sobre el traspaso entre ambos: qué se conserva realmente, qué hay que reconstruir y cómo seguir este flujo de trabajo sin engañarte sobre ninguna de las dos herramientas.</p>
<p>Seamos claros desde el principio sobre eso que la gente espera y no va a encontrar: no existe un botón de «exportar a un proyecto de Cocos» con un solo clic. Cinevva no genera una escena de Cocos. El traspaso consiste en reconstruir de forma deliberada un diseño que ya has validado, reutilizando los recursos que generaste. Parece una desventaja hasta que ves todo lo que te ahorra. Para consultar una comparación directa sobre cuándo usar cada herramienta, lee <a href="/es/guides/cinevva-vs-cocos.html">Cinevva frente a Cocos</a>.</p>
<h2 id="por-que-hacer-el-traspaso" tabindex="-1">Por qué hacer el traspaso <a class="header-anchor" href="#por-que-hacer-el-traspaso" aria-label="Permalink to &quot;Por qué hacer el traspaso&quot;"></a></h2>
<p>Los aspectos costosos de un minijuego chino —los derechos de autor del software, el registro ICP, la revisión de la plataforma y, para cualquier juego monetizado, la relación con una editora— solo merecen la inversión si sabes que el juego es divertido. El problema es que al principio no lo sabes. La mayoría de las ideas para juegos no son divertidas, y eso se descubre jugándolas, no planificándolas.</p>
<p>Por eso, este proceso busca responder a la pregunta «¿es divertido?» lo antes posible y con el menor coste. Crea un prototipo en Cinevva en cuestión de minutos, ponlo delante de jugadores reales y analiza la retención. Descarta los que no funcionen. Solo el superviviente pasa a Cocos y recibe la inversión necesaria para cumplir los requisitos normativos. No estás haciendo el trabajo dos veces; estás evitando desarrollar el juego equivocado con una herramienta costosa.</p>
<h2 id="que-se-conserva-y-que-no" tabindex="-1">Qué se conserva (y qué no) <a class="header-anchor" href="#que-se-conserva-y-que-no" aria-label="Permalink to &quot;Qué se conserva (y qué no)&quot;"></a></h2>
<p>Conviene ser preciso, porque es aquí donde los equipos sobrestiman o subestiman el esfuerzo del traspaso.</p>
<p><strong>El diseño validado se conserva, y es lo más valioso.</strong> No llegas a Cocos con una corazonada. Tienes un juego al que la gente ha jugado de verdad, cifras de retención y una especificación concreta: el bucle principal, la curva de dificultad, la duración de las sesiones y aquello que hizo que los jugadores de prueba volvieran a abrirlo. Esa es la parte difícil del diseño de juegos, y ya has reducido su riesgo.</p>
<p><strong>Los recursos generados se conservan.</strong> Los modelos 3D, el audio y el arte que generaste en Cinevva usan formatos web estándar; no están encerrados en un formato propietario. Los modelos se exportan como glTF/GLB —las <a href="/es/tools/animate.html">herramientas de rigging y animación</a> descargan un GLB con la animación integrada— y el audio se entrega en archivos estándar. Puedes importarlos en Cocos como cualquier otro recurso. Los regeneras o retocas cuando haga falta, pero no tienes que encargar todo el arte desde cero.</p>
<p><strong>El código no se conserva.</strong> Cinevva crea un entorno de ejecución nativo de la web; Cocos es un motor independiente con su propio modelo de componentes y su propia API de TypeScript. Hay que reconstruir la lógica del juego. Este es el coste real del traspaso, y es menor de lo que parece porque estás reimplementando un diseño que comprendes por completo, siguiendo una especificación que ya funciona, en lugar de descubrir el diseño mientras programas.</p>
<h2 id="el-flujo-de-trabajo-paso-a-paso" tabindex="-1">El flujo de trabajo, paso a paso <a class="header-anchor" href="#el-flujo-de-trabajo-paso-a-paso" aria-label="Permalink to &quot;El flujo de trabajo, paso a paso&quot;"></a></h2>
<ol>
<li>
<p><strong>Crea el prototipo en Cinevva con el modo de minijuegos activado.</strong> Describe el juego en una frase e itera hasta que sea jugable. El <a href="/es/news/2026-07-19-wechat-mini-game-mode.html">modo de minijuegos de WeChat</a> te mantiene dentro del subconjunto portátil —interfaz en canvas, controles táctiles como prioridad y recursos pequeños—, por lo que el diseño que valides ya tendrá la forma de un minijuego, no la de un juego de escritorio que tendrás que adaptar más adelante.</p>
</li>
<li>
<p><strong>Haz pruebas con jugadores reales y analiza la retención.</strong> Comparte el enlace del navegador, preferiblemente con el público al que te diriges. La métrica importante es si la gente vuelve, no si dice que le gusta. Crea varios prototipos y deja que los datos elijan al superviviente.</p>
</li>
<li>
<p><strong>Redacta la especificación a partir del prototipo.</strong> Antes de abrir Cocos, documenta lo que funcionó: el bucle, los valores y las sensaciones. El prototipo es tu documento de diseño; no dejes que ese conocimiento se pierda durante la traducción.</p>
</li>
<li>
<p><strong>Recopila los recursos.</strong> Exporta los modelos 3D y reúne el audio y el arte que vayas a conservar. Incorpóralos a tu flujo de recursos en los formatos que espera Cocos.</p>
</li>
<li>
<p><strong>Reconstruye el juego en Cocos para cumplir el límite de 4 MB.</strong> Aquí es donde entran en juego las ventajas del motor: el entorno de ejecución del motor está integrado en el cliente de WeChat, por lo que no cuenta para el tamaño del paquete, y el empaquetado por subpaquetes de AssetBundle permite que el resto quepa. Consulta la <a href="/es/guides/wechat-mini-game-engines.html">guía de motores para minijuegos de WeChat</a> para conocer los detalles del empaquetado.</p>
</li>
<li>
<p><strong>Ocúpate de los trámites en paralelo.</strong> Los derechos de autor del software y el registro ICP tardan semanas; inícialos mientras desarrollas para que no retrasen el lanzamiento.</p>
</li>
</ol>
<h2 id="cuando-no-deberias-hacer-el-traspaso" tabindex="-1">Cuándo no deberías hacer el traspaso <a class="header-anchor" href="#cuando-no-deberias-hacer-el-traspaso" aria-label="Permalink to &quot;Cuándo no deberías hacer el traspaso&quot;"></a></h2>
<p>A veces lo adecuado es prescindir por completo de Cocos. Si tu prototipo es pequeño, ligero y ya funciona bien, y vas a publicar un juego gratuito con anuncios en lugar de aspirar a un título con compras dentro de la aplicación que requiera una gran optimización, puede que no merezca la pena reconstruirlo. Una vez que funcione, un juego sencillo que ya cumpla las restricciones puede publicarse mediante la propia vía de exportación de Cinevva, sin introducir un segundo motor en el proceso. El traspaso está pensado para el ganador que necesita la última fase de optimización o el acabado profesional avanzado para el que se diseñó Cocos, no para todos los prototipos.</p>
<h2 id="la-realidad-normativa-es-la-misma-en-ambos-casos" tabindex="-1">La realidad normativa (es la misma en ambos casos) <a class="header-anchor" href="#la-realidad-normativa-es-la-misma-en-ambos-casos" aria-label="Permalink to &quot;La realidad normativa (es la misma en ambos casos)&quot;"></a></h2>
<p>El traspaso no cambia las reglas. Un minijuego gratuito financiado con anuncios necesita derechos de autor de software específicos para ese título (软著) o una certificación electrónica de derechos de autor, además de un registro ICP; una persona con documento de identidad de China continental puede realizar todos estos trámites. Cualquier compra dentro de la aplicación requiere un banhao, que solo puede estar a nombre de una empresa china, por lo que un estudio extranjero necesita una editora local con licencia. Da igual si el juego nació en Cinevva, en Cocos o en ambos: los trámites son idénticos. Encontrarás los detalles en la <a href="/es/guides/publish-wechat-douyin-mini-games.html">guía para publicar en los minijuegos de WeChat y Douyin</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿puede-cinevva-exportar-un-proyecto-de-cocos" tabindex="-1">¿Puede Cinevva exportar un proyecto de Cocos? <a class="header-anchor" href="#¿puede-cinevva-exportar-un-proyecto-de-cocos" aria-label="Permalink to &quot;¿Puede Cinevva exportar un proyecto de Cocos?&quot;"></a></h3>
<p>No. No existe una exportación con un solo clic a una escena de Cocos. Cinevva valida el diseño y produce recursos reutilizables en formatos estándar; el juego en sí se reconstruye en Cocos. El valor está en reconstruir un juego que ya has demostrado que es divertido, no en evitar el desarrollo.</p>
<h3 id="¿que-se-transfiere-realmente-de-cinevva-a-cocos" tabindex="-1">¿Qué se transfiere realmente de Cinevva a Cocos? <a class="header-anchor" href="#¿que-se-transfiere-realmente-de-cinevva-a-cocos" aria-label="Permalink to &quot;¿Qué se transfiere realmente de Cinevva a Cocos?&quot;"></a></h3>
<p>Tres cosas: el diseño validado —bucle, dificultad, duración de las sesiones y datos de retención—, los recursos generados —modelos 3D como glTF/GLB, audio y arte en formatos estándar— y tu comprensión de por qué funciona el juego. El código no se transfiere; se reimplementa con la API de Cocos.</p>
<h3 id="¿no-es-un-desperdicio-reconstruir-el-juego" tabindex="-1">¿No es un desperdicio reconstruir el juego? <a class="header-anchor" href="#¿no-es-un-desperdicio-reconstruir-el-juego" aria-label="Permalink to &quot;¿No es un desperdicio reconstruir el juego?&quot;"></a></h3>
<p>Es más barato que la alternativa: desarrollar el juego equivocado con una herramienta costosa. La mayoría de los prototipos fracasan. Reconstruir únicamente el ganador validado, siguiendo una especificación que ya funciona, supone mucho menos desperdicio que producir por completo cada idea para descubrir cuál merecía la pena.</p>
<h3 id="¿tengo-que-usar-cocos-despues-de-cinevva" tabindex="-1">¿Tengo que usar Cocos después de Cinevva? <a class="header-anchor" href="#¿tengo-que-usar-cocos-despues-de-cinevva" aria-label="Permalink to &quot;¿Tengo que usar Cocos después de Cinevva?&quot;"></a></h3>
<p>No. Si un prototipo es sencillo y ya cumple las restricciones de la plataforma, puedes publicarlo mediante la propia vía de Cinevva sin usar Cocos. El traspaso está pensado para juegos que necesitan una optimización intensiva o un acabado de producción avanzado.</p>
<h3 id="¿puedo-reutilizar-los-modelos-3d-y-el-audio-que-he-generado" tabindex="-1">¿Puedo reutilizar los modelos 3D y el audio que he generado? <a class="header-anchor" href="#¿puedo-reutilizar-los-modelos-3d-y-el-audio-que-he-generado" aria-label="Permalink to &quot;¿Puedo reutilizar los modelos 3D y el audio que he generado?&quot;"></a></h3>
<p>Sí. Los modelos generados se exportan como glTF/GLB y el audio como archivos estándar; ambos pueden importarse en Cocos. Tal vez tengas que retocarlos o regenerarlos para ajustarte al límite de 4 MB, pero no tendrás que crear todo el arte desde cero.</p>
<BuildCta
  title="Empieza por el prototipo, no por el motor"
  desc="Valida primero la idea en Cinevva. Traspasa el ganador a Cocos solo cuando se lo haya ganado."
  prompt="Crea un juego arcade de un toque que sea difícil dejar de jugar" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/cinevva-vs-cocos.html">Cinevva frente a Cocos para minijuegos</a> — la diferencia entre prototipado y producción, explicada en detalle</li>
<li><a href="/es/guides/cocos-alternatives.html">Alternativas a Cocos para minijuegos</a> — todas las opciones de motores disponibles</li>
<li><a href="/es/guides/wechat-mini-game-engines.html">Motores para minijuegos de WeChat</a> — el límite de 4 MB y el empaquetado</li>
<li><a href="/es/guides/publish-wechat-douyin-mini-games.html">Cómo publicar minijuegos en WeChat y Douyin</a> — licencias, revisión y reparto de ingresos</li>
<li><a href="/es/news/2026-07-19-wechat-mini-game-mode.html">Modo de minijuegos de WeChat</a> — cómo desarrollar dentro del subconjunto portátil</li>
<li><a href="/es/engine.html">Motor de Cinevva</a> — nuestro motor de código abierto orientado a la web</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/cinevva-to-cocos-workflow-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cinevva vs Cocos para minijuegos (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/cinevva-vs-cocos</link>
            <guid>https://app.cinevva.com/es/guides/cinevva-vs-cocos</guid>
            <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Cinevva vs Cocos Creator para crear minijuegos en 2026. En qué destaca Cocos para producción y por el complemento de 4 MB de WeChat, en qué destaca una herramienta de IA que convierte prompts en juegos por su velocidad de prototipado y por qué la respuesta sincera es usar ambas.]]></description>
            <content:encoded><![CDATA[<h1 id="cinevva-vs-cocos-para-minijuegos-2026" tabindex="-1">Cinevva vs Cocos para minijuegos (2026) <a class="header-anchor" href="#cinevva-vs-cocos-para-minijuegos-2026" aria-label="Permalink to &quot;Cinevva vs Cocos para minijuegos (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/cinevva-vs-cocos-hero.jpg?v=1" alt="Cinevva vs Cocos para minijuegos en 2026" style="width:100%;border-radius:10px">
</figure>
<p>Si estás creando minijuegos para WeChat y Douyin, Cocos Creator es la opción predeterminada, y con razón. Así que la pregunta no es realmente «cuál gana», sino «a cuál recurro y cuándo». Nosotros desarrollamos una herramienta de IA que convierte prompts en juegos, por lo que tenemos un sesgo evidente, y vamos a ser sinceros sobre los casos en los que Cocos es la mejor herramienta y aquellos en los que ni siquiera intentamos competir.</p>
<p>La versión corta: Cocos domina la producción. Nosotros dominamos la fase anterior a la producción, convirtiendo una idea en un juego funcional con la rapidez suficiente para que puedas permitirte descartar la mayoría. Son trabajos distintos y, por lo general, la decisión inteligente es usar ambos.</p>
<p>Si todavía estás eligiendo un motor de minijuegos en general, empieza con nuestra <a href="/es/guides/wechat-mini-game-engines.html">guía de motores para minijuegos de WeChat</a>, que analiza en profundidad Cocos, LayaAir, Egret, el SDK de transformación de Unity y Tuanjie.</p>
<h2 id="veredicto-rapido" tabindex="-1">Veredicto rápido <a class="header-anchor" href="#veredicto-rapido" aria-label="Permalink to &quot;Veredicto rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Cinevva</th>
<th>Cocos Creator</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Para qué sirve</strong></td>
<td>Prototipado: de la idea a un juego 3D funcional en minutos</td>
<td>Producción: publicar un minijuego terminado y optimizado</td>
</tr>
<tr>
<td><strong>Cómo se crea</strong></td>
<td>Descríbelo con lenguaje natural (en inglés o chino)</td>
<td>Un editor completo, TypeScript y flujos de trabajo para arte y escenas</td>
</tr>
<tr>
<td><strong>Cómo aborda los 4 MB de WeChat</strong></td>
<td>Modo de subconjunto portable; exportador en desarrollo</td>
<td>El mejor de su clase: motor integrado en el cliente de WeChat y subpaquetes con AssetBundle</td>
</tr>
<tr>
<td><strong>Madurez</strong></td>
<td>Nuevo, centrado en la IA y en rápida evolución</td>
<td>Probado en producción; la mayoría de los minijuegos de WeChat se ejecutan con él</td>
</tr>
<tr>
<td><strong>Equipo ideal</strong></td>
<td>Desarrolladores independientes, diseñadores y validación rápida de ideas</td>
<td>Estudios e ingenieros que crean juegos para publicarlos</td>
</tr>
<tr>
<td><strong>Coste</strong></td>
<td>Creación gratuita en el navegador</td>
<td>Gratuito y de código abierto</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Encontrar el juego que merece la pena crear</td>
<td>Crear el juego en el que ya crees</td>
</tr>
</tbody>
</table>
<p>La frase que importa: <strong>Cocos es donde creas el juego que has decidido hacer. Cinevva es donde descubres cuál debería ser ese juego.</strong></p>
<h2 id="en-que-gana-cocos-y-no-lo-discutimos" tabindex="-1">En qué gana Cocos (y no lo discutimos) <a class="header-anchor" href="#en-que-gana-cocos-y-no-lo-discutimos" aria-label="Permalink to &quot;En qué gana Cocos (y no lo discutimos)&quot;"></a></h2>
<p>Cocos Creator es la opción segura y acertada para publicar un minijuego de WeChat, y nada de lo que decimos aquí pretende convencerte de lo contrario.</p>
<p>Su mayor ventaja estructural es el límite de 4 MB del paquete, el problema de ingeniería más difícil de WeChat. Desde la versión 7.0.7 del cliente de WeChat, el entorno de ejecución del motor Cocos es un complemento integrado en la propia aplicación de WeChat, por lo que no cuenta para tus 4 MB. Tu paquete contiene solo el juego, no el juego más un motor. Ningún otro motor ofrece eso, y es la razón por la que la mayoría de los minijuegos se crean con Cocos. Además, su sistema AssetBundle es la forma más limpia de dividir los recursos en subpaquetes que se cargan bajo demanda.</p>
<p>Más allá del empaquetado, Cocos domina todo lo relacionado con terminar un juego: un editor maduro, un auténtico framework de interfaz de usuario, sistemas de actualización en caliente, un flujo de trabajo para arte y animación, y años de documentación y respuestas de la comunidad en chino. Si tienes un equipo, un diseño en el que crees y un plan de publicación, esta es la herramienta adecuada. Nosotros mismos te la recomendaríamos.</p>
<h2 id="en-que-gana-una-herramienta-de-ia-basada-en-prompts" tabindex="-1">En qué gana una herramienta de IA basada en prompts <a class="header-anchor" href="#en-que-gana-una-herramienta-de-ia-basada-en-prompts" aria-label="Permalink to &quot;En qué gana una herramienta de IA basada en prompts&quot;"></a></h2>
<p>Cocos no está diseñado para la fase inicial, cuando todavía no sabes si la idea es buena.</p>
<p>En Cinevva describes un juego en una frase, en inglés o chino, y obtienes en minutos un juego 3D funcional en el navegador. Nueve modelos especializados se encargan del 3D, la animación, las escenas, la música, el sonido, los efectos, la interfaz, la lógica y el multijugador, por lo que no tienes que abrir un editor vacío y construir sistemas antes de poder probar una sola mecánica. Puedes jugar con la idea casi de inmediato.</p>
<p>Esa velocidad cambia la economía de encontrar un éxito. El éxito de los minijuegos se parece cada vez más al de los contenidos: no llegas al ganador solo mediante razonamientos, sino creando muchos candidatos a bajo coste y quedándote con aquel cuyas cifras de retención no mienten. Cuando un prototipo tarda minutos en lugar de días, «crea cinco esta semana y quédate con el que sea realmente divertido» se convierte en un flujo de trabajo real y deja de ser una fantasía. Esa es nuestra ventaja, y es una ventaja auténtica, no un juguete.</p>
<p>También hay un aspecto específico para China. El <a href="/es/news/2026-07-19-wechat-mini-game-mode.html">modo de minijuegos de WeChat</a> de Cinevva crea el juego dentro del subconjunto portable desde el primer prompt: interfaz dibujada en canvas en lugar de HTML, controles diseñados primero para pantallas táctiles, audio mp3, ausencia de código cargado dinámicamente y una comprobación de arranque de WebGL2 para teléfonos antiguos. Un entorno aislado de vista previa en modo estricto detecta todo aquello que rompería la portabilidad y se lo comunica a la IA para que lo corrija. El juego funciona hoy en tu navegador y permanece dentro del subconjunto compatible con una adaptación a WeChat, en lugar de adquirir dependencias que luego tendrías que reescribir.</p>
<h2 id="las-limitaciones-reales" tabindex="-1">Las limitaciones reales <a class="header-anchor" href="#las-limitaciones-reales" aria-label="Permalink to &quot;Las limitaciones reales&quot;"></a></h2>
<p>Somos nuevos. Cocos ha publicado miles de minijuegos; nosotros estamos en una fase temprana, centrados en la IA y avanzando rápidamente, pero no contamos con una década de casos límite resueltos como Cocos. Nuestro exportador, que genera un proyecto listo para abrir en WeChat DevTools, está en desarrollo y aún no está terminado. Por eso, hoy Cinevva cubre el prototipado y la generación, no el empaquetado final. Y para un título de producción con muchos recursos y una optimización exhaustiva, donde cada kilobyte de los 4 MB cuenta, el complemento integrado y el sistema AssetBundle de Cocos ofrecen ventajas que no podemos igualar. Preferimos que lo sepas desde el principio.</p>
<h2 id="usa-ambos-el-flujo-de-trabajo-realista" tabindex="-1">Usa ambos: el flujo de trabajo realista <a class="header-anchor" href="#usa-ambos-el-flujo-de-trabajo-realista" aria-label="Permalink to &quot;Usa ambos: el flujo de trabajo realista&quot;"></a></h2>
<p>El enfoque que realmente te ayuda no es «elige uno». Es un flujo de trabajo.</p>
<p>Usa Cinevva para 立项, la fase de aprobación del proyecto: convierte las ideas en prototipos funcionales, ponlos delante de jugadores reales y encuentra aquel cuyo bucle de juego merezca la inversión. Después, decide qué se merece ese ganador. A veces será lo bastante bueno como para publicarlo tal cual. Otras veces merecerá una reconstrucción en Cocos para completar la última fase de optimización y pulido, o una conversación con un editor. Las partes costosas de publicar en China, los trámites y la revisión de la plataforma, solo se afrontan para un juego que ya ha demostrado ser divertido en un entorno más barato.</p>
<p>Por eso, esto no es realmente Cinevva contra Cocos. Es Cinevva y después Cocos, pero solo para los juegos que se ganen ese segundo paso.</p>
<h2 id="la-realidad-normativa-la-misma-para-ambos" tabindex="-1">La realidad normativa (la misma para ambos) <a class="header-anchor" href="#la-realidad-normativa-la-misma-para-ambos" aria-label="Permalink to &quot;La realidad normativa (la misma para ambos)&quot;"></a></h2>
<p>Utilices el motor que utilices, la barrera para publicar en China es la misma. Un minijuego gratuito financiado con publicidad necesita un registro de derechos de autor de software por título (软著) o una certificación electrónica de derechos de autor, además de un registro ICP; cualquier persona con un documento de identidad de China continental puede tramitar todo ello. Cualquier compra dentro de la aplicación requiere un banhao, que solo puede poseer una empresa china, por lo que un estudio extranjero necesita un editor local con licencia. Nada de esto depende del motor. Lo explicamos en la <a href="/es/guides/publish-wechat-douyin-mini-games.html">guía para publicar minijuegos en WeChat y Douyin</a>. La elección del motor determina la rapidez con la que puedes crear el juego, pero no cambia los trámites.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cinevva-sustituye-a-cocos" tabindex="-1">¿Cinevva sustituye a Cocos? <a class="header-anchor" href="#¿cinevva-sustituye-a-cocos" aria-label="Permalink to &quot;¿Cinevva sustituye a Cocos?&quot;"></a></h3>
<p>No, y no lo presentamos como tal. Cocos es un motor de producción para publicar minijuegos terminados. Cinevva es una herramienta de prototipado con IA para encontrar el juego que merece la pena publicar. Cubren etapas distintas y usar ambos —crear prototipos rápidamente y después desarrollar correctamente el ganador— suele ser más inteligente que elegir solo uno.</p>
<h3 id="¿puede-cinevva-exportar-hoy-a-minijuegos-de-wechat" tabindex="-1">¿Puede Cinevva exportar hoy a minijuegos de WeChat? <a class="header-anchor" href="#¿puede-cinevva-exportar-hoy-a-minijuegos-de-wechat" aria-label="Permalink to &quot;¿Puede Cinevva exportar hoy a minijuegos de WeChat?&quot;"></a></h3>
<p>El modo de minijuegos de WeChat de Cinevva crea tu juego dentro del subconjunto portable que permite una adaptación limpia, y el juego ya funciona en el navegador. El exportador que genera un proyecto de WeChat DevTools listo para enviar está en desarrollo. Cocos, en cambio, ya ofrece hoy una ruta completa y de primer nivel para exportar a WeChat.</p>
<h3 id="¿por-que-cocos-es-mejor-para-el-limite-de-4-mb" tabindex="-1">¿Por qué Cocos es mejor para el límite de 4 MB? <a class="header-anchor" href="#¿por-que-cocos-es-mejor-para-el-limite-de-4-mb" aria-label="Permalink to &quot;¿Por qué Cocos es mejor para el límite de 4 MB?&quot;"></a></h3>
<p>Porque el entorno de ejecución del motor Cocos está integrado en el propio cliente de WeChat, por lo que no cuenta para el paquete inicial de 4 MB, y su sistema AssetBundle divide limpiamente el resto en subpaquetes que se cargan bajo demanda. Es una ventaja estructural que ningún otro motor posee y la razón por la que la mayoría de los minijuegos de WeChat se crean con Cocos.</p>
<h3 id="¿cual-deberia-usar-un-desarrollador-independiente" tabindex="-1">¿Cuál debería usar un desarrollador independiente? <a class="header-anchor" href="#¿cual-deberia-usar-un-desarrollador-independiente" aria-label="Permalink to &quot;¿Cuál debería usar un desarrollador independiente?&quot;"></a></h3>
<p>Empieza con Cinevva para encontrar una idea que sea realmente divertida sin pasar primero varios días en un editor. Si un prototipo demuestra su potencial y necesita una optimización intensa para cumplir el límite de 4 MB, traslada ese proyecto a Cocos. Para la mayoría de los primeros experimentos, la velocidad de convertir un prompt en un juego tiene un impacto mayor.</p>
<h3 id="¿cambia-el-motor-los-tramites-que-necesito-realizar-en-china" tabindex="-1">¿Cambia el motor los trámites que necesito realizar en China? <a class="header-anchor" href="#¿cambia-el-motor-los-tramites-que-necesito-realizar-en-china" aria-label="Permalink to &quot;¿Cambia el motor los trámites que necesito realizar en China?&quot;"></a></h3>
<p>No. Los derechos de autor de software, el registro ICP y el banhao para juegos de pago son requisitos normativos y de las plataformas, idénticos tanto si creas el juego con Cocos como con Cinevva o cualquier otra herramienta.</p>
<BuildCta
  title="Crea un prototipo de la idea antes de desarrollarla en Cocos"
  desc="Describe un minijuego y juégalo en tu navegador en cuestión de minutos. Quédate con el que sea realmente divertido."
  prompt="Crea un juego arcade de un solo toque que sea difícil dejar de jugar" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/wechat-mini-game-engines.html">Motores para minijuegos de WeChat</a> — comparativa de Cocos, LayaAir, Egret, Unity y Tuanjie frente al límite de 4 MB</li>
<li><a href="/es/guides/cocos-alternatives.html">Alternativas a Cocos para minijuegos</a> — todas las opciones, seleccionadas según el motivo por el que buscas algo más allá de Cocos</li>
<li><a href="/es/guides/cinevva-to-cocos-workflow.html">De Cinevva a Cocos: el traspaso del minijuego</a> — cómo crear aquí el prototipo y desarrollar el ganador en Cocos</li>
<li><a href="/es/guides/china-mini-game-platforms.html">Comparativa de plataformas chinas de minijuegos y HTML5</a> — WeChat, Douyin, QQ, 4399 y las demás</li>
<li><a href="/es/guides/publish-wechat-douyin-mini-games.html">Cómo publicar minijuegos en WeChat y Douyin</a> — licencias, revisión y reparto de ingresos</li>
<li><a href="/es/news/2026-07-19-wechat-mini-game-mode.html">Modo de minijuegos de WeChat</a> — cómo Cinevva crea juegos dentro del subconjunto portable</li>
<li><a href="/es/engine.html">Motor Cinevva</a> — nuestro motor de código abierto diseñado primero para la web</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/cinevva-vs-cocos-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Alternativas a Cocos para minijuegos (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/cocos-alternatives</link>
            <guid>https://app.cinevva.com/es/guides/cocos-alternatives</guid>
            <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Las alternativas reales a Cocos Creator para minijuegos y juegos web en 2026, seleccionadas según lo que buscas. LayaAir, Egret, el SDK de transformación de Unity, Tuanjie, Three.js y la vía de la IA que convierte instrucciones en juegos, con una valoración sincera de cada opción.]]></description>
            <content:encoded><![CDATA[<h1 id="alternativas-a-cocos-para-minijuegos-2026" tabindex="-1">Alternativas a Cocos para minijuegos (2026) <a class="header-anchor" href="#alternativas-a-cocos-para-minijuegos-2026" aria-label="Permalink to &quot;Alternativas a Cocos para minijuegos (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/cocos-alternatives-hero.jpg?v=1" alt="Alternativas a Cocos para minijuegos en 2026" style="width:100%;border-radius:10px">
</figure>
<p>Cocos Creator es el motor predeterminado para los minijuegos de WeChat y Douyin y, para publicar un título terminado, suele ser la elección correcta. Pero «predeterminado» no significa «único», y existen motivos reales para buscar otra opción: quieres un flujo de trabajo diferente, estás portando un juego existente, quieres que la IA genere el primer borrador o solo estás probando si una idea resulta divertida antes de comprometerte con un motor completo.</p>
<p>Esta guía organiza las alternativas según el motivo por el que buscas otra opción, no como una clasificación. Para consultar un análisis más profundo de cada motor y del límite de 4 MB, consulta la <a href="/es/guides/wechat-mini-game-engines.html">guía de motores para minijuegos de WeChat</a>.</p>
<h2 id="primero-por-que-la-gente-deja-cocos" tabindex="-1">Primero, por qué la gente deja Cocos <a class="header-anchor" href="#primero-por-que-la-gente-deja-cocos" aria-label="Permalink to &quot;Primero, por qué la gente deja Cocos&quot;"></a></h2>
<p>Cocos es excelente para producción y tiene una ventaja estructural en WeChat: el entorno de ejecución de su motor está integrado en el cliente de WeChat, por lo que no cuenta para el límite de 4 MB de tu paquete. Es una ventaja difícil de superar. Los motivos habituales para querer una alternativa son las preferencias de flujo de trabajo (algunos desarrolladores simplemente prefieren otro editor), disponer de una base de código existente en otro motor que no quieres reescribir, querer saltarte por completo la fase del editor vacío y dejar que la IA genere un borrador jugable, o querer usar un lenguaje y una pila tecnológica que ya conoces. Elige la alternativa que mejor encaje con tu motivo.</p>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Alternativa</th>
<th>Mejor motivo para elegirla</th>
<th>2D/3D</th>
<th>Situación en WeChat</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>LayaAir</strong></td>
<td>Prefieres su flujo de trabajo y su compatibilidad de primera clase con WeChat</td>
<td>2D + 3D</td>
<td>Sólida, pero el motor consume parte del límite del paquete</td>
</tr>
<tr>
<td><strong>Egret</strong></td>
<td>Mantienes un juego existente de Egret</td>
<td>2D</td>
<td>Tecnología heredada, ecosistema en contracción</td>
</tr>
<tr>
<td><strong>Unity (SDK de transformación)</strong></td>
<td>Portas un juego existente de Unity</td>
<td>2D + 3D</td>
<td>Conversión de WebGL, compilaciones grandes</td>
</tr>
<tr>
<td><strong>Tuanjie (Unity China)</strong></td>
<td>Tienes experiencia con Unity y apuestas por China</td>
<td>2D + 3D</td>
<td>Exportación nativa para WeChat</td>
</tr>
<tr>
<td><strong>Three.js + weapp-adapter</strong></td>
<td>Tienes un juego pequeño y personalizado, y ya trabajas con Three.js</td>
<td>2D + 3D</td>
<td>Toda la infraestructura corre por tu cuenta</td>
</tr>
<tr>
<td><strong>Cinevva (IA de instrucciones a juego)</strong></td>
<td>Quieres crear un prototipo antes de comprometerte con un motor</td>
<td>3D</td>
<td>Modo de subconjunto portable; exportador en desarrollo</td>
</tr>
</tbody>
</table>
<h2 id="si-quieres-un-motor-de-primera-clase-para-wechat-layaair" tabindex="-1">Si quieres un motor de primera clase para WeChat: LayaAir <a class="header-anchor" href="#si-quieres-un-motor-de-primera-clase-para-wechat-layaair" aria-label="Permalink to &quot;Si quieres un motor de primera clase para WeChat: LayaAir&quot;"></a></h2>
<p>LayaAir es la alternativa más parecida. Se adaptó pronto a WeChat, lo trata como un destino de compilación de primera clase, admite 2D y 3D, utiliza TypeScript y cuenta con una base fiel de desarrolladores que simplemente prefieren su flujo de trabajo al de Cocos. Los desarrolladores que han usado ambos suelen considerar que la elección depende más de las preferencias que de las capacidades. La única contrapartida: el entorno de ejecución de LayaAir no está integrado en el cliente de WeChat como el de Cocos, por lo que el propio motor consume una parte mayor del límite de 4 MB. No supone un problema para juegos 2D pequeños, pero deja menos margen para juegos 3D con muchos recursos.</p>
<h2 id="si-estas-portando-un-juego-existente-unity-o-tuanjie" tabindex="-1">Si estás portando un juego existente: Unity o Tuanjie <a class="header-anchor" href="#si-estas-portando-un-juego-existente-unity-o-tuanjie" aria-label="Permalink to &quot;Si estás portando un juego existente: Unity o Tuanjie&quot;"></a></h2>
<p>Si tu juego ya existe en Unity, no lo reescribas. Tencent y Unity mantienen un SDK de transformación oficial que convierte una compilación WebGL de Unity en un paquete de minijuego, con exportación mediante un solo clic desde mediados de 2025. Sé realista con la contrapartida: las compilaciones WebGL de Unity son grandes y el límite inicial de 4 MB es muy restrictivo para un motor que no se diseñó en torno a él, así que prepárate para dedicar un esfuerzo considerable a eliminar contenido y dividirlo en subpaquetes. Si apuestas por China a largo plazo y tienes experiencia con Unity, Tuanjie (el motor localizado de Unity China) trata WeChat como un destino de exportación nativo en lugar de realizar una conversión de WebGL, lo que evita gran parte de ese exceso de tamaño.</p>
<h2 id="si-quieres-el-maximo-control-three-js-y-webgl-puro" tabindex="-1">Si quieres el máximo control: Three.js y WebGL puro <a class="header-anchor" href="#si-quieres-el-maximo-control-three-js-y-webgl-puro" aria-label="Permalink to &quot;Si quieres el máximo control: Three.js y WebGL puro&quot;"></a></h2>
<p>Puedes ejecutar Three.js o WebGL escrito a mano dentro de un minijuego mediante <code>weapp-adapter</code> de WeChat, que proporciona implementaciones de los objetos del DOM y del lienzo que espera la biblioteca. Es la opción más flexible y también la que más trabajo exige: tú te encargas del bucle de renderizado, la canalización de recursos, la división en subpaquetes y todos los casos límite del adaptador. Tiene sentido para un juego personalizado pequeño y sensible al tamaño, o cuando tu equipo ya trabaja habitualmente con Three.js. También es la vía más cercana a un juego para navegador que ya hayas creado.</p>
<h2 id="si-mantienes-tecnologia-heredada-egret-pero-con-cautela" tabindex="-1">Si mantienes tecnología heredada: Egret, pero con cautela <a class="header-anchor" href="#si-mantienes-tecnologia-heredada-egret-pero-con-cautela" aria-label="Permalink to &quot;Si mantienes tecnología heredada: Egret, pero con cautela&quot;"></a></h2>
<p>Egret (白鹭) es un antiguo motor HTML5 para 2D que impulsó gran parte de la primera oleada de minijuegos. Sigue funcionando, pero el impulso se desplazó hacia Cocos y Laya, y comenzar un proyecto nuevo con él en 2026 significa apostar por un ecosistema en contracción. Úsalo para mantener un juego existente de Egret; no empieces un proyecto nuevo con él.</p>
<h2 id="si-quieres-prescindir-por-completo-del-editor-una-herramienta-de-ia-que-convierte-instrucciones-en-juegos" tabindex="-1">Si quieres prescindir por completo del editor: una herramienta de IA que convierte instrucciones en juegos <a class="header-anchor" href="#si-quieres-prescindir-por-completo-del-editor-una-herramienta-de-ia-que-convierte-instrucciones-en-juegos" aria-label="Permalink to &quot;Si quieres prescindir por completo del editor: una herramienta de IA que convierte instrucciones en juegos&quot;"></a></h2>
<p>La categoría más reciente no es otro editor, sino no tener que abrir ninguno. Con Cinevva, describes un juego en lenguaje natural, en inglés o chino, y obtienes en minutos un juego 3D jugable en el navegador, con nueve modelos especializados que se encargan del 3D, las animaciones, las escenas, la música, el sonido, los efectos, la interfaz, la lógica y el multijugador.</p>
<p>Esto no sustituye a Cocos, y no pretendemos que lo haga. Cocos sirve para terminar y optimizar juegos; Cinevva está pensado para la fase anterior, cuando necesitas descubrir qué idea merece la pena llevar hasta el final. Su <a href="/es/news/2026-07-19-wechat-mini-game-mode.html">modo para minijuegos de WeChat</a> crea el juego dentro del subconjunto portable desde la primera instrucción (interfaz sobre canvas, controles táctiles, audio mp3, sin código dinámico y una comprobación inicial de WebGL2), mientras que un entorno aislado en modo estricto señala cualquier elemento que impediría portarlo a WeChat. El flujo de trabajo realista consiste en crear aquí prototipos rápidamente, conservar el juego cuya retención demuestre su potencial y después decidir si se publica tal cual o si merece una implementación completa en Cocos. Piensa en ello como la parte inicial del embudo que alimenta el motor con el que terminarás publicando.</p>
<h2 id="como-elegir" tabindex="-1">Cómo elegir <a class="header-anchor" href="#como-elegir" aria-label="Permalink to &quot;Cómo elegir&quot;"></a></h2>
<p>Elige la herramienta que encaje con el motivo por el que buscas una alternativa a Cocos. Si prefieres otro flujo de trabajo: LayaAir. Si portas un juego existente de Unity: el SDK de transformación o Tuanjie a largo plazo. Si quieres algo pequeño, personalizado o ya creado con Three.js: <code>weapp-adapter</code> y WebGL puro. Si mantienes un título antiguo: Egret. Si quieres validar una idea antes de comprometerte con un motor: una herramienta de IA que convierta instrucciones en juegos y, después, lleva la idea ganadora a Cocos o Laya si merece el acabado adicional.</p>
<h2 id="el-filtro-regulatorio-independiente-del-motor" tabindex="-1">El filtro regulatorio (independiente del motor) <a class="header-anchor" href="#el-filtro-regulatorio-independiente-del-motor" aria-label="Permalink to &quot;El filtro regulatorio (independiente del motor)&quot;"></a></h2>
<p>Ninguna alternativa cambia las normas de publicación. Un minijuego gratuito financiado con publicidad necesita un derecho de autor de software por título (软著) o una certificación electrónica de derechos de autor, además de un registro ICP; una persona física puede tramitarlo si dispone de una identificación de China continental. Cualquier compra dentro de la aplicación requiere un banhao, que solo puede poseer una empresa china, por lo que los estudios extranjeros necesitan un editor local con licencia. Consulta la <a href="/es/guides/publish-wechat-douyin-mini-games.html">guía de publicación</a>. Elige el motor pensando en el desarrollo; los trámites son los mismos en todos los casos.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-la-mejor-alternativa-a-cocos-para-minijuegos-de-wechat" tabindex="-1">¿Cuál es la mejor alternativa a Cocos para minijuegos de WeChat? <a class="header-anchor" href="#¿cual-es-la-mejor-alternativa-a-cocos-para-minijuegos-de-wechat" aria-label="Permalink to &quot;¿Cuál es la mejor alternativa a Cocos para minijuegos de WeChat?&quot;"></a></h3>
<p>LayaAir es la alternativa directa más cercana, con compatibilidad de primera clase con WeChat y un flujo de trabajo similar basado en TypeScript para 2D y 3D. La contrapartida es que su entorno de ejecución no está integrado en el cliente de WeChat, por lo que consume una parte mayor del límite de 4 MB. Para portar un juego existente de Unity, el SDK de transformación de Unity o Tuanjie son opciones más adecuadas.</p>
<h3 id="¿existe-una-alternativa-gratuita-a-cocos" tabindex="-1">¿Existe una alternativa gratuita a Cocos? <a class="header-anchor" href="#¿existe-una-alternativa-gratuita-a-cocos" aria-label="Permalink to &quot;¿Existe una alternativa gratuita a Cocos?&quot;"></a></h3>
<p>Sí. El propio Cocos es gratuito y de código abierto, al igual que LayaAir, Three.js y la vía de creación de prototipos con IA en el navegador. Unity es gratuito por debajo de su límite de ingresos. El coste rara vez es el factor decisivo entre estas opciones; importan más el flujo de trabajo y tu punto de partida.</p>
<h3 id="¿puedo-usar-ia-en-lugar-de-cocos-para-crear-un-minijuego" tabindex="-1">¿Puedo usar IA en lugar de Cocos para crear un minijuego? <a class="header-anchor" href="#¿puedo-usar-ia-en-lugar-de-cocos-para-crear-un-minijuego" aria-label="Permalink to &quot;¿Puedo usar IA en lugar de Cocos para crear un minijuego?&quot;"></a></h3>
<p>Puedes usar IA para crear rápidamente un prototipo. Cinevva convierte una instrucción en un juego jugable y lo construye dentro del subconjunto portable de WeChat, lo que resulta ideal para encontrar una idea que merezca la pena desarrollar. Para un título de producción terminado y muy optimizado, un motor consolidado como Cocos sigue siendo la herramienta más potente, por lo que el patrón habitual consiste en crear el prototipo con IA y desarrollar la idea ganadora en Cocos.</p>
<h3 id="¿que-alternativa-es-mejor-para-portar-un-juego-existente" tabindex="-1">¿Qué alternativa es mejor para portar un juego existente? <a class="header-anchor" href="#¿que-alternativa-es-mejor-para-portar-un-juego-existente" aria-label="Permalink to &quot;¿Qué alternativa es mejor para portar un juego existente?&quot;"></a></h3>
<p>Si es un juego de Unity, el SDK de transformación para WeChat permite portarlo sin tener que reescribirlo, mientras que Tuanjie es la opción con más futuro si apuestas por China. Si es un juego de Three.js o WebGL, la vía es <code>weapp-adapter</code>. Si ya es un juego para navegador, su estructura se aproxima bastante a lo que WeChat necesita.</p>
<BuildCta
  title="Prueba la idea antes de elegir un motor"
  desc="Describe un minijuego y juégalo en tu navegador en cuestión de minutos; después, lleva la idea ganadora a un motor completo."
  prompt="Crea un colorido juego de apilar objetos con físicas que sea difícil dejar de jugar" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/cinevva-vs-cocos.html">Cinevva frente a Cocos para minijuegos</a> — la diferencia entre creación de prototipos y producción, en detalle</li>
<li><a href="/es/guides/cinevva-to-cocos-workflow.html">De Cinevva a Cocos: el traspaso del minijuego</a> — crea aquí el prototipo y desarrolla la idea ganadora en Cocos</li>
<li><a href="/es/guides/wechat-mini-game-engines.html">Motores para minijuegos de WeChat</a> — todos los motores disponibles y el límite de 4 MB</li>
<li><a href="/es/guides/china-mini-game-platforms.html">Comparativa de plataformas chinas de minijuegos y HTML5</a> — WeChat, Douyin, QQ, 4399 y las demás</li>
<li><a href="/es/guides/publish-wechat-douyin-mini-games.html">Cómo publicar minijuegos en WeChat y Douyin</a> — licencias, revisión y reparto de ingresos</li>
<li><a href="/es/guides/localize-web-game-china.html">Cómo localizar un juego web para China</a> — fuentes, alojamiento y pagos</li>
<li><a href="/es/engine.html">Motor Cinevva</a> — nuestro motor de código abierto y orientado a la web</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/cocos-alternatives-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mejores generadores de modelos 3D con IA de 2026 (texto a 3D e imagen a 3D)]]></title>
            <link>https://app.cinevva.com/es/guides/ai-3d-model-generators</link>
            <guid>https://app.cinevva.com/es/guides/ai-3d-model-generators</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Los mejores generadores de modelos 3D con IA de 2026, de texto a 3D y de imagen a 3D. Comparativa de Meshy 6, Tripo, Rodin, TRELLIS.2, Hunyuan3D y SAM 3D, con explicación de sus licencias.]]></description>
            <content:encoded><![CDATA[<h1 id="mejores-generadores-de-modelos-3d-con-ia-de-2026-texto-a-3d-e-imagen-a-3d" tabindex="-1">Mejores generadores de modelos 3D con IA de 2026 (texto a 3D e imagen a 3D) <a class="header-anchor" href="#mejores-generadores-de-modelos-3d-con-ia-de-2026-texto-a-3d-e-imagen-a-3d" aria-label="Permalink to &quot;Mejores generadores de modelos 3D con IA de 2026 (texto a 3D e imagen a 3D)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>La respuesta corta: Meshy 6 y Tripo son los mejores generadores alojados de modelos 3D con IA en 2026, Rodin Gen-2.5 destaca por el nivel de detalle geométrico puro y TRELLIS.2 de Microsoft (licencia MIT) es el mejor modelo que puedes ejecutar por tu cuenta. Si quieres probar gratis la conversión de imagen a 3D en el navegador sin instalar nada, el <a href="/es/tools/hunyuan3d.html">Generador de modelos 3D</a> de Cinevva convierte una foto o una instrucción de texto en una malla texturizada con materiales PBR que puedes descargar como GLB u OBJ.</p>
<p>Esta guía se centra exclusivamente en la generación 3D. Para texturas, audio y el resto del flujo de recursos con IA, consulta nuestra <a href="/es/guides/ai-asset-generators-games.html">guía de generadores de recursos con IA</a>.</p>
<h2 id="recomendaciones-rapidas" tabindex="-1">Recomendaciones rápidas <a class="header-anchor" href="#recomendaciones-rapidas" aria-label="Permalink to &quot;Recomendaciones rápidas&quot;"></a></h2>
<ul>
<li><strong>Mejor herramienta alojada en general:</strong> Meshy 6 (opciones de topología limpia, modo Low Poly y un gran ecosistema).</li>
<li><strong>Mejor herramienta alojada para flujos de desarrollo de juegos:</strong> Tripo (motor v3.1, rigging automático, remallado en quads y créditos baratos).</li>
<li><strong>Mejor detalle geométrico:</strong> Rodin Gen-2.5 de Hyper3D (detalle propio de una escultura y resultados de más de 10 millones de polígonos).</li>
<li><strong>Mejor modelo de código abierto:</strong> Microsoft TRELLIS.2 (licencia MIT, PBR nativo y sin condiciones ocultas).</li>
<li><strong>Mejor opción gratuita en el navegador:</strong> el <a href="/es/tools/hunyuan3d.html">Generador de modelos 3D</a> y la <a href="/es/tools/sam3d.html">captura de imagen a 3D</a> de Cinevva.</li>
</ul>
<h2 id="comparativa-rapida" tabindex="-1">Comparativa rápida <a class="header-anchor" href="#comparativa-rapida" aria-label="Permalink to &quot;Comparativa rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Herramienta</th>
<th>Tipo</th>
<th>Entrada</th>
<th>Salida</th>
<th>Uso comercial</th>
<th>Plan gratuito</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Meshy 6</strong></td>
<td>Alojada</td>
<td>Texto, imagen</td>
<td>GLB, FBX, OBJ, STL, mapas PBR</td>
<td>Planes de pago (gratis = CC BY 4.0)</td>
<td>100 créditos/mes</td>
</tr>
<tr>
<td><strong>Tripo (v3.1)</strong></td>
<td>Alojada</td>
<td>Texto, imagen</td>
<td>GLB, FBX, OBJ, STL, PBR, rigging automático</td>
<td>Planes de pago</td>
<td>Sí, no comercial</td>
</tr>
<tr>
<td><strong>Rodin Gen-2.5</strong></td>
<td>Alojada</td>
<td>Texto, imagen, varias imágenes</td>
<td>Malla con PBR, opción de quads</td>
<td>Planes de pago</td>
<td>Generación gratuita</td>
</tr>
<tr>
<td><strong>Hi3D (Hitem3D)</strong></td>
<td>Alojada</td>
<td>Imagen, varias imágenes</td>
<td>Malla de alta resolución</td>
<td>Planes de pago</td>
<td>Créditos de prueba</td>
</tr>
<tr>
<td><strong>Tencent Hunyuan 3D</strong></td>
<td>Alojada</td>
<td>Texto, imagen, boceto</td>
<td>OBJ, GLB, PBR</td>
<td>Consulta las condiciones del plan</td>
<td>20 generaciones/día</td>
</tr>
<tr>
<td><strong>Generador 3D de Cinevva</strong></td>
<td>Alojada, gratuita</td>
<td>Texto, imagen</td>
<td>GLB, OBJ, PBR</td>
<td>Sí</td>
<td>Totalmente gratuito</td>
</tr>
<tr>
<td><strong>TRELLIS.2</strong></td>
<td>Código abierto (MIT)</td>
<td>Imagen</td>
<td>GLB, OBJ, PLY, PBR hasta 4K</td>
<td>Sí</td>
<td>Alojamiento propio</td>
</tr>
<tr>
<td><strong>Hunyuan3D 2.1</strong></td>
<td>Código abierto</td>
<td>Imagen</td>
<td>Malla + PBR</td>
<td>Sí, con límites regionales</td>
<td>Alojamiento propio</td>
</tr>
<tr>
<td><strong>SAM 3D</strong></td>
<td>Código abierto</td>
<td>Una sola foto</td>
<td>Gaussian splat, geometría</td>
<td>Sí (licencia SAM)</td>
<td>Alojamiento propio</td>
</tr>
<tr>
<td><strong>SPAR3D</strong></td>
<td>Código abierto</td>
<td>Una sola foto</td>
<td>Malla GLB texturizada</td>
<td>Sí, con ingresos inferiores a 1 millón de USD</td>
<td>Alojamiento propio</td>
</tr>
</tbody>
</table>
<p>Verificado en julio de 2026. Este campo cambia cada mes, así que comprueba las condiciones de cada herramienta antes de publicar tu proyecto.</p>
<h2 id="herramientas-alojadas" tabindex="-1">Herramientas alojadas <a class="header-anchor" href="#herramientas-alojadas" aria-label="Permalink to &quot;Herramientas alojadas&quot;"></a></h2>
<h3 id="meshy" tabindex="-1">Meshy <a class="header-anchor" href="#meshy" aria-label="Permalink to &quot;Meshy&quot;"></a></h3>
<p>El generador 3D con IA más popular y, en 2026, el producto más completo. El motor actual es Meshy 6, que entró en vista previa pública en octubre de 2025 y alcanzó la disponibilidad general en enero de 2026. Sus mejoras principales son la geometría estanca, un modo Low Poly orientado directamente a desarrolladores de juegos y el remallado nativo en quads, que permite obtener un modelo con bucles de aristas reales en lugar de una maraña de triángulos.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Alojada</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Texto a 3D e imagen a 3D</td>
</tr>
<tr>
<td><strong>Salida</strong></td>
<td>GLB, FBX, OBJ, STL, con mapas de texturas PBR y topología de quads o triángulos</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Plan Pro y superiores. Los modelos del plan gratuito se publican bajo CC BY 4.0</td>
</tr>
<tr>
<td><strong>Plan gratuito</strong></td>
<td>100 créditos/mes, se restablecen mensualmente</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Objetos para juegos y recursos de uso general que requieran la mínima limpieza</td>
</tr>
</tbody>
</table>
<p>Opinión sincera: Meshy es la opción segura por defecto. La calidad de los resultados es buena de manera constante, aunque no asombrosa; sus herramientas de topología son las mejores entre los generadores alojados, y el plan Pro por 20 USD al mes, con 1000 créditos y propiedad privada completa, tiene un precio razonable. El inconveniente del plan gratuito es que tus modelos se hacen públicos bajo CC BY 4.0, por lo que cualquiera puede utilizarlos y debes atribuirlos a Meshy si los publicas. <a href="https://www.meshy.ai" target="_blank" rel="noreferrer">meshy.ai</a></p>
<h3 id="tripo" tabindex="-1">Tripo <a class="header-anchor" href="#tripo" aria-label="Permalink to &quot;Tripo&quot;"></a></h3>
<p>Tripo procede de VAST, el equipo que desarrolló TripoSR junto con Stability AI, y eso se nota en la velocidad. El motor v3.1 actual interpreta bien las instrucciones de texto complejas y la plataforma está diseñada en torno a los flujos de trabajo para juegos: rigging automático, remallado en quads como complemento de un solo clic y una opción Smart Mesh para obtener una topología lista para juegos.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Alojada</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Texto a 3D e imagen a 3D</td>
</tr>
<tr>
<td><strong>Salida</strong></td>
<td>GLB, FBX, OBJ, STL, texturas PBR 4K y rigging automático opcional</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Plan Pro y superiores. El plan gratuito no permite uso comercial</td>
</tr>
<tr>
<td><strong>Plan gratuito</strong></td>
<td>Sí, con créditos mensuales y solo para uso personal</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Personajes y criaturas que quieras preparar rápidamente para animación</td>
</tr>
</tbody>
</table>
<p>Opinión sincera: el plan Pro de Tripo cuesta 19,90 USD al mes e incluye 3000 créditos, suficientes para unas 120 generaciones, lo que ofrece la mejor relación entre créditos y precio de las tres grandes plataformas. La calidad del rigging es buena para humanoides, pero irregular para cualquier criatura con un número extraño de extremidades. Los resultados del plan gratuito no pueden comercializarse en absoluto, una condición más estricta que el acuerdo CC BY 4.0 de Meshy. <a href="https://www.tripo3d.ai" target="_blank" rel="noreferrer">tripo3d.ai</a></p>
<h3 id="rodin-hyper3d" tabindex="-1">Rodin (Hyper3D) <a class="header-anchor" href="#rodin-hyper3d" aria-label="Permalink to &quot;Rodin (Hyper3D)&quot;"></a></h3>
<p>Rodin siempre ha sido la opción preferida de quienes son más exigentes con la topología, y Gen-2.5 (publicado en mayo de 2026) ha ido todavía más lejos. Genera detalles propios de una escultura con más de 10 millones de polígonos, ofrece un selector de «esfuerzo de razonamiento» con cinco niveles que intercambia velocidad por calidad —alrededor de un millón de polígonos en 4 segundos con el ajuste más bajo— e incorpora 3D ControlNet, edición 3D localizada y refinamiento por partes.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Alojada</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Texto, imagen, fusión de varias imágenes</td>
</tr>
<tr>
<td><strong>Salida</strong></td>
<td>Malla de alta densidad con PBR y topología de quads en los planes superiores</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Planes de pago. Creator: 30 USD/mes; Business: 120 USD/mes</td>
</tr>
<tr>
<td><strong>Plan gratuito</strong></td>
<td>Generación y vista previa gratuitas; hay que pagar para descargar</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Recursos protagonistas y modelos con mucho detalle en los que importa la topología</td>
</tr>
</tbody>
</table>
<p>Opinión sincera: ofrece el mejor nivel de detalle entre las herramientas alojadas, y sus funciones de edición —relleno generativo 3D y regeneración de una sola parte del modelo— están por delante de las demás. También es la opción más cara, y las texturas 4K junto con la exportación de quads de alta densidad están reservadas para el plan Business de 120 USD al mes. Úsalo para los diez recursos que importan, no para los doscientos que no. <a href="https://hyper3d.ai" target="_blank" rel="noreferrer">hyper3d.ai</a></p>
<h3 id="hi3d-antes-hitem3d" tabindex="-1">Hi3D (antes Hitem3D) <a class="header-anchor" href="#hi3d-antes-hitem3d" aria-label="Permalink to &quot;Hi3D (antes Hitem3D)&quot;"></a></h3>
<p>La incorporación destacada de 2026. Desarrollado por Math Magic sobre dos modelos de investigación publicados, Sparc3D (NeurIPS 2025, geometría estanca de alta resolución) y Ultra3D (aceleración mediante atención por partes), genera con una resolución de vóxeles de hasta 1536³, la mayor fidelidad geométrica bruta de cualquier herramienta alojada. En 2026 cambió su nombre de Hitem3D a Hi3D.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Alojada</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Imagen y varias imágenes</td>
</tr>
<tr>
<td><strong>Salida</strong></td>
<td>Malla estanca de alta resolución</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Planes de pago; consulta las condiciones actuales</td>
</tr>
<tr>
<td><strong>Plan gratuito</strong></td>
<td>Créditos de prueba</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Trabajos donde prima el detalle: miniaturas, objetos de colección e impresión 3D</td>
</tr>
</tbody>
</table>
<p>Opinión sincera: se ha convertido en la opción de referencia para flujos orientados primero a la impresión, donde la geometría estanca y los detalles finos importan más que cualquier otra cosa. Para juegos tendrás que reducir muchísimo sus resultados, por lo que tiene más sentido cuando necesitas un único objeto protagonista espectacular. <a href="https://www.hi3d.ai" target="_blank" rel="noreferrer">hi3d.ai</a></p>
<h3 id="tencent-hunyuan-3d-plataforma-alojada" tabindex="-1">Tencent Hunyuan 3D (plataforma alojada) <a class="header-anchor" href="#tencent-hunyuan-3d-plataforma-alojada" aria-label="Permalink to &quot;Tencent Hunyuan 3D (plataforma alojada)&quot;"></a></h3>
<p>Tencent lanzó globalmente la familia de modelos Hunyuan3D en noviembre de 2025 mediante una plataforma en inglés alojada en 3d.hunyuanglobal.com. Esta ejecuta sus motores más recientes —3.0 y 3.1 desde enero de 2026—, que no son de código abierto. En 2026 evolucionó hasta convertirse en HY 3D Studio, un flujo de trabajo completo: de imagen a 3D, retopología, UV, texturizado, rigging y animación.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Alojada para los modelos más recientes; pesos abiertos para versiones anteriores</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Texto, imagen, boceto</td>
</tr>
<tr>
<td><strong>Salida</strong></td>
<td>OBJ y GLB con texturas PBR</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Consulta las condiciones del plan; API empresarial mediante Tencent Cloud</td>
</tr>
<tr>
<td><strong>Plan gratuito</strong></td>
<td>20 generaciones gratuitas al día</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Experimentación gratuita y generosa con un motor de vanguardia</td>
</tr>
</tbody>
</table>
<p>Opinión sincera: las 20 generaciones gratuitas diarias constituyen la oferta gratuita más generosa de cualquier modelo de vanguardia alojado, y los motores 3.x producen una geometría visiblemente mejor que los pesos abiertos de la versión 2.1. La plataforma es más reciente para los usuarios occidentales, así que lee las condiciones sobre los derechos de los resultados antes de crear un flujo de trabajo a su alrededor. <a href="https://3d.hunyuanglobal.com" target="_blank" rel="noreferrer">3d.hunyuanglobal.com</a></p>
<h3 id="desaparecidos-en-2026-luma-genie-y-csm" tabindex="-1">Desaparecidos en 2026: Luma Genie y CSM <a class="header-anchor" href="#desaparecidos-en-2026-luma-genie-y-csm" aria-label="Permalink to &quot;Desaparecidos en 2026: Luma Genie y CSM&quot;"></a></h3>
<p>Dos nombres que todavía encontrarás en comparativas antiguas están prácticamente muertos. Genie, la herramienta de texto a 3D de Luma, ya no aparece en ninguna parte del sitio de Luma, que se ha centrado por completo en la generación de vídeo y los agentes creativos. CSM (Common Sense Machines) cerró su plataforma Cube el 5 de enero de 2026, y Google adquirió la empresa ese mismo mes. No inicies proyectos nuevos con ninguna de las dos.</p>
<h2 id="modelos-de-codigo-abierto" tabindex="-1">Modelos de código abierto <a class="header-anchor" href="#modelos-de-codigo-abierto" aria-label="Permalink to &quot;Modelos de código abierto&quot;"></a></h2>
<p>Los modelos abiertos invierten el acuerdo: tú aportas la GPU y, a cambio, no hay contadores de créditos ni planes que limiten tus derechos comerciales. Solo se aplica la licencia del propio modelo.</p>
<h3 id="microsoft-trellis-2" tabindex="-1">Microsoft TRELLIS.2 <a class="header-anchor" href="#microsoft-trellis-2" aria-label="Permalink to &quot;Microsoft TRELLIS.2&quot;"></a></h3>
<p>El líder actual del código abierto. Publicado en diciembre de 2025 bajo la licencia MIT, TRELLIS.2 es un modelo de imagen a 3D con 4000 millones de parámetros, construido sobre una representación de vóxeles dispersos (O-Voxel) capaz de manejar topologías complejas, bordes definidos y materiales PBR completos. Exporta archivos GLB con texturas de hasta 4096², además de OBJ, PLY, campos de radiancia y Gaussian splats.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Código abierto, MIT</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Imagen</td>
</tr>
<tr>
<td><strong>Salida</strong></td>
<td>GLB (PBR hasta 4K), OBJ, PLY, campo de radiancia, Gaussian splat</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Sí, sin restricciones</td>
</tr>
<tr>
<td><strong>Plan gratuito</strong></td>
<td>Gratis para siempre si dispones de la GPU</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>La mejor relación actual entre calidad y libertad en generación 3D</td>
</tr>
</tbody>
</table>
<p>Opinión sincera: la licencia MIT elimina cualquier ambigüedad comercial, y la calidad de los resultados compite de verdad con las herramientas alojadas de pago. Necesitas una GPU NVIDIA capaz para ejecutarlo localmente, o puedes alquilar inferencia por segundos en servicios de GPU en la nube. Si vas a alojar un solo modelo por tu cuenta, elige este. <a href="https://github.com/microsoft/TRELLIS.2" target="_blank" rel="noreferrer">github.com/microsoft/TRELLIS.2</a></p>
<h3 id="hunyuan3d-2-1-pesos-abiertos" tabindex="-1">Hunyuan3D 2.1 (pesos abiertos) <a class="header-anchor" href="#hunyuan3d-2-1-pesos-abiertos" aria-label="Permalink to &quot;Hunyuan3D 2.1 (pesos abiertos)&quot;"></a></h3>
<p>La versión totalmente abierta de Tencent, publicada en junio de 2025: incluye los pesos completos y el código de entrenamiento de un modelo de formas de 3300 millones de parámetros, además de un modelo de texturas PBR de 2000 millones. Es el modelo que utiliza el <a href="/es/tools/hunyuan3d.html">Generador de modelos 3D</a> gratuito de Cinevva y el que muchos productos de este sector ejecutan discretamente en segundo plano.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Pesos abiertos y código de entrenamiento</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Imagen (el texto funciona mediante un paso previo de generación de imagen)</td>
</tr>
<tr>
<td><strong>Salida</strong></td>
<td>Malla texturizada con materiales PBR aptos para producción</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Sí, pero la licencia excluye la UE, el Reino Unido y Corea del Sur</td>
</tr>
<tr>
<td><strong>Plan gratuito</strong></td>
<td>Alojamiento propio gratuito</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Texturizado PBR de producción con pesos abiertos y ajuste fino</td>
</tr>
</tbody>
</table>
<p>Opinión sincera: el modelo de pintado PBR sigue siendo el sistema abierto de texturizado más potente, y disponer del código de entrenamiento completo permite ajustarlo a tu propio estilo artístico. La exclusión territorial de su licencia comunitaria —UE, Reino Unido y Corea del Sur— supone una limitación real si vas a publicar un producto allí; en ese caso, la licencia MIT de TRELLIS.2 es una opción más clara. <a href="https://github.com/Tencent-Hunyuan/Hunyuan3D-2.1" target="_blank" rel="noreferrer">github.com/Tencent-Hunyuan/Hunyuan3D-2.1</a></p>
<h3 id="sam-3d-meta" tabindex="-1">SAM 3D (Meta) <a class="header-anchor" href="#sam-3d-meta" aria-label="Permalink to &quot;SAM 3D (Meta)&quot;"></a></h3>
<p>No es un generador de mallas, y ese es precisamente el objetivo. SAM 3D es el par de modelos abiertos de Meta —SAM 3D Objects y SAM 3D Body— que reconstruye geometría 3D, texturas y la disposición de una escena a partir de una sola fotografía normal, incluso con oclusiones y elementos que estorban. El resultado principal es un Gaussian splat en un archivo .ply. El código y los puntos de control están en GitHub bajo la permisiva licencia SAM de Meta, que permite el uso comercial.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Código abierto, licencia SAM</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Una sola foto (más una máscara del objeto)</td>
</tr>
<tr>
<td><strong>Salida</strong></td>
<td>Gaussian splat (.ply), geometría, textura, pose</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Sí</td>
</tr>
<tr>
<td><strong>Plan gratuito</strong></td>
<td>Alojamiento propio gratuito o uso gratuito en el navegador mediante Cinevva</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Capturar objetos reales a partir de una sola foto</td>
</tr>
</tbody>
</table>
<p>Opinión sincera: se trata de reconstrucción, no de generación. Apúntalo hacia un objeto real y obtendrás una captura 3D fiel sin necesidad de un equipo de fotogrametría. El resultado en formato splat sirve para visualización y como referencia, no para importarlo directamente en un juego —más información al respecto a continuación—. Cinevva lo ofrece gratis en el navegador como herramienta de <a href="/es/tools/sam3d.html">captura de objetos de imagen a 3D</a>. <a href="https://github.com/facebookresearch/sam-3d-objects" target="_blank" rel="noreferrer">github.com/facebookresearch/sam-3d-objects</a></p>
<h3 id="triposr-y-spar3d-los-reconstructores-rapidos" tabindex="-1">TripoSR y SPAR3D (los reconstructores rápidos) <a class="header-anchor" href="#triposr-y-spar3d-los-reconstructores-rapidos" aria-label="Permalink to &quot;TripoSR y SPAR3D (los reconstructores rápidos)&quot;"></a></h3>
<p>Dos modelos más antiguos, pero todavía útiles, que trabajan a partir de una sola imagen. TripoSR —de Tripo y Stability AI, con licencia MIT— reconstruye una malla en menos de medio segundo sobre una GPU de centro de datos, con una calidad previsiblemente modesta. SPAR3D —Stability AI, enero de 2025— produce en menos de un segundo una malla GLB texturizada y con UV desplegadas, además de permitir la edición a nivel de puntos. SPAR3D se distribuye bajo la Stability Community License: su uso comercial es gratuito hasta que tu organización supere un millón de USD de ingresos anuales; después necesitarás una licencia empresarial.</p>
<p>Opinión sincera: en 2026, TRELLIS.2 y Hunyuan3D 2.1 superan a ambos en calidad. Su ventaja es la velocidad, algo importante si generas mallas en tiempo real dentro de una aplicación.</p>
<h3 id="otros-modelos-que-conviene-conocer" tabindex="-1">Otros modelos que conviene conocer <a class="header-anchor" href="#otros-modelos-que-conviene-conocer" aria-label="Permalink to &quot;Otros modelos que conviene conocer&quot;"></a></h3>
<p>Sparc3D, el modelo presentado en NeurIPS 2025 que impulsa Hi3D, cuenta con una demostración pública en Hugging Face y produce mallas estancas a una resolución de 1024³. Cube 3D de Roblox ofrece código abierto para convertir texto en mallas, pero se distribuye bajo una licencia RAIL exclusiva para investigación, por lo que no puedes usar sus resultados en un juego comercial.</p>
<h2 id="herramientas-gratuitas-de-cinevva-en-el-navegador" tabindex="-1">Herramientas gratuitas de Cinevva en el navegador <a class="header-anchor" href="#herramientas-gratuitas-de-cinevva-en-el-navegador" aria-label="Permalink to &quot;Herramientas gratuitas de Cinevva en el navegador&quot;"></a></h2>
<p>Si quieres probar este campo sin instalar nada ni crear una cuenta con un contador de créditos, Cinevva ofrece dos de los modelos abiertos anteriores como herramientas gratuitas para el navegador.</p>
<p>El <a href="/es/tools/hunyuan3d.html">Generador de modelos 3D</a> convierte una foto, la URL de una imagen o una instrucción de texto en una malla poligonal texturizada con materiales PBR, descargable como GLB u OBJ. Dispone de un modo Rápido —unos 2 minutos— y un modo Pro —unos 5 minutos—, y los resultados pueden importarse directamente en Blender, Unity, Godot o un juego web. También puedes enviar el resultado al <a href="/es/tools/rigger.html">Rigging automático</a> para añadirle un esqueleto y animaciones predefinidas.
La <a href="/es/tools/sam3d.html">captura de imagen a 3D</a> ejecuta SAM 3D de Meta a partir de una sola foto y devuelve un splat gaussiano que puedes girar en el navegador y exportar como .ply. Úsala para capturar un objeto real y luego utiliza el Generador de modelos 3D cuando necesites una malla editable del mismo objeto.</p>
<p>Ambas herramientas son gratuitas y, si creas en Cinevva, los modelos generados se incorporan directamente a tu juego sin tener que pasar por un ciclo de exportación e importación.</p>
<h2 id="como-son-realmente-las-mallas-de-ia-la-parte-sincera" tabindex="-1">Cómo son realmente las mallas de IA (la parte sincera) <a class="header-anchor" href="#como-son-realmente-las-mallas-de-ia-la-parte-sincera" aria-label="Permalink to &quot;Cómo son realmente las mallas de IA (la parte sincera)&quot;"></a></h2>
<p>Todos los generadores de esta página producen una malla densa de triángulos, normalmente desde decenas de miles hasta unos cientos de miles de triángulos, con UV desplegadas automáticamente. Esto es lo que significa en la práctica.</p>
<p><strong>Topología.</strong> El resultado sin procesar de la IA no tiene bucles de aristas, una colocación lógica de los polos ni una estructura adecuada para deformaciones. Las opciones de remallado en quads (Meshy, Tripo y Rodin) generan cuadriláteros, pero están distribuidos de manera uniforme, sin los bucles concentrados alrededor de articulaciones y rostros que requiere la animación de personajes. Para un objeto estático, esto no importa en absoluto. Para un personaje animado, tendrás que hacer una retopología manual o aceptar deformaciones visibles en los hombros.</p>
<p><strong>Texturas.</strong> La compatibilidad con PBR ya es un requisito básico, y TRELLIS.2, Hunyuan3D 2.1, Meshy y Rodin generan mapas reales de metalicidad y rugosidad. Hay dos defectos recurrentes: iluminación incrustada en el albedo (sombras pintadas en la textura) y una densidad de téxeles irregular en las zonas donde el desplegado automático comprimió las islas UV. Ambos pueden corregirse en Blender, pero ninguno se arregla por sí solo.</p>
<p><strong>Número de polígonos.</strong> Espera entre 20 000 y 300 000 triángulos por recurso de forma predeterminada, y cifras de millones en los modos de alta calidad de Rodin. Eso está bien para un objeto protagonista, pero es desastroso para cien rocas dispersas. Reserva una pasada de reducción de polígonos y prueba el resultado en el hardware de destino real, sobre todo para juegos web y móviles.</p>
<p><strong>Qué se puede publicar hoy.</strong> Los objetos estáticos, la decoración de entornos, los elementos estilizados y la geometría de prototipado son realmente aptos para producción tal como salen de estas herramientas. En este ámbito, la generación con IA ya supera en velocidad a buscar en <a href="/es/guides/free-3d-model-sites.html">sitios de modelos gratuitos</a>. Los personajes secundarios con rig pueden utilizarse con rigging automático si permanecen en segundo plano. Los personajes protagonistas con animación facial en primeros planos todavía necesitan retoques humanos en la topología, y los modelos de superficies duras que requieren simetría exacta o precisión CAD siguen saliendo ligeramente deformados.</p>
<h2 id="splats-gaussianos-frente-a-mallas" tabindex="-1">Splats gaussianos frente a mallas <a class="header-anchor" href="#splats-gaussianos-frente-a-mallas" aria-label="Permalink to &quot;Splats gaussianos frente a mallas&quot;"></a></h2>
<p>Una malla está formada por polígonos: vértices, triángulos, UV y texturas. Un splat gaussiano es una nube de miles de pequeñas manchas de color semitransparentes que, en conjunto, ofrecen un aspecto fotorrealista desde cualquier ángulo. Los splats capturan objetos y escenas del mundo real con una fidelidad difícil de igualar para las mallas, por lo que las herramientas de captura como SAM 3D y el ecosistema de Luma los ofrecen como resultado.</p>
<p>Para los juegos, las contrapartidas son claras. Los splats no tienen superficies, por lo que las colisiones, la física y la iluminación dinámica no funcionan directamente sobre ellos. También son pesados: aproximadamente 180 MB por un millón de splats, frente a entre 5 y 20 MB para una malla texturizada comparable, lo que los excluye de la mayoría de los presupuestos para móviles. En 2026, la compatibilidad con motores es real, pero depende de plugins: UnityGaussianSplatting para Unity 6, plugins de terceros para Unreal 5.7 y formatos comprimidos (SPZ, SOG y KSPLAT) para la web.</p>
<p>El patrón que funciona es el siguiente: splats para fondos fotorrealistas y elementos de ambientación que el jugador nunca toca; mallas para todo lo interactivo. Si capturaste algo como splat y necesitas incorporarlo a la jugabilidad, vuelve a generarlo como malla con una herramienta de imagen a 3D.</p>
<h2 id="¿quien-es-el-propietario-de-un-modelo-3d-generado-con-ia" tabindex="-1">¿Quién es el propietario de un modelo 3D generado con IA? <a class="header-anchor" href="#¿quien-es-el-propietario-de-un-modelo-3d-generado-con-ia" aria-label="Permalink to &quot;¿Quién es el propietario de un modelo 3D generado con IA?&quot;"></a></h2>
<p>Hay que comprobar tres niveles, que difieren entre las herramientas alojadas y las abiertas.</p>
<p><strong>Derechos de autor.</strong> Según las directrices actuales de la Oficina de Derechos de Autor de Estados Unidos, un resultado generado exclusivamente por IA no puede recibir protección de derechos de autor por sí solo. Tu trabajo de retopología, texturizado, rigging e integración añade autoría humana, y el juego en su conjunto está protegido de todos modos. El efecto práctico es que probablemente no puedas impedir que alguien reutilice una malla generada sin modificar, algo que afecta más a quienes venden recursos que a quienes desarrollan juegos.</p>
<p><strong>Condiciones de las herramientas alojadas.</strong> Aquí es donde mucha gente se lleva sorpresas. Los modelos del plan gratuito de Meshy son públicos bajo CC BY 4.0 (se permite el uso comercial, se exige atribución y cualquier otra persona también puede usar tu modelo), mientras que la propiedad privada comienza con el plan Pro. El plan gratuito de Tripo es estrictamente no comercial. Rodin reserva las descargas y las condiciones comerciales para sus planes de pago. El patrón del sector es el siguiente: genera gratis, paga para ser propietario. Lee las condiciones vigentes antes de publicar, porque pueden cambiar sin previo aviso.</p>
<p><strong>Licencias de modelos abiertos.</strong> El autoalojamiento evita por completo las condiciones de las plataformas, pero la licencia del modelo sigue siendo aplicable. TRELLIS.2 usa la licencia MIT, sin condiciones adicionales. La licencia de SAM 3D permite el uso comercial. Hunyuan3D 2.1 excluye la UE, el Reino Unido y Corea del Sur. SPAR3D es gratuito hasta alcanzar 1 millón de dólares de ingresos anuales. Roblox Cube es solo para investigación. «Abierto» no significa una sola cosa, así que comprueba la licencia concreta.</p>
<p>Para conocer las reglas generales sobre licencias de recursos, consulta nuestra <a href="/es/guides/game-asset-licenses.html">guía de licencias de recursos para juegos</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-mejor-generador-de-modelos-3d-con-ia-en-2026" tabindex="-1">¿Cuál es el mejor generador de modelos 3D con IA en 2026? <a class="header-anchor" href="#¿cual-es-el-mejor-generador-de-modelos-3d-con-ia-en-2026" aria-label="Permalink to &quot;¿Cuál es el mejor generador de modelos 3D con IA en 2026?&quot;"></a></h3>
<p>Meshy 6 es la mejor herramienta alojada de uso general, Tripo ofrece la mejor relación calidad-precio para flujos de trabajo de juegos con rigging automático y Rodin Gen-2.5 produce la geometría más detallada. Si prefieres alojarlo por tu cuenta, TRELLIS.2 de Microsoft (licencia MIT y PBR nativo) es el modelo abierto más potente. Como opción gratuita para el navegador, el Generador de modelos 3D de Cinevva ejecuta Hunyuan3D sin necesidad de instalar nada.</p>
<h3 id="¿puedo-usar-modelos-3d-generados-con-ia-en-un-juego-comercial" tabindex="-1">¿Puedo usar modelos 3D generados con IA en un juego comercial? <a class="header-anchor" href="#¿puedo-usar-modelos-3d-generados-con-ia-en-un-juego-comercial" aria-label="Permalink to &quot;¿Puedo usar modelos 3D generados con IA en un juego comercial?&quot;"></a></h3>
<p>Normalmente sí, pero los derechos dependen del origen del modelo. Las herramientas alojadas reservan el uso comercial para los planes de pago (Meshy Pro, Tripo Pro y los niveles de pago de Rodin), mientras que los resultados de los planes gratuitos son no comerciales o públicos bajo CC BY 4.0. Los modelos que generes con pesos de código abierto como TRELLIS.2 no están sujetos a condiciones de plataforma, aunque la licencia del propio modelo sigue siendo aplicable. Confirma las condiciones vigentes de la herramienta que hayas utilizado antes de publicar.</p>
<h3 id="¿son-las-mallas-generadas-con-ia-suficientemente-buenas-para-juegos" tabindex="-1">¿Son las mallas generadas con IA suficientemente buenas para juegos? <a class="header-anchor" href="#¿son-las-mallas-generadas-con-ia-suficientemente-buenas-para-juegos" aria-label="Permalink to &quot;¿Son las mallas generadas con IA suficientemente buenas para juegos?&quot;"></a></h3>
<p>Para objetos estáticos, elementos de entornos y objetos estilizados, sí: hoy son aptas para producción después de una pasada de reducción de polígonos. Para personajes animados, todavía están a medio camino: el rigging automático sirve para personajes secundarios, pero los protagonistas aún necesitan retopología manual porque la topología de IA carece de los bucles de aristas necesarios para la animación. Considera los generadores primero como motores para crear objetos y prototipos de niveles, y solo después como herramientas para personajes.</p>
<h3 id="¿cual-es-el-mejor-generador-gratuito-de-modelos-3d-con-ia" tabindex="-1">¿Cuál es el mejor generador gratuito de modelos 3D con IA? <a class="header-anchor" href="#¿cual-es-el-mejor-generador-gratuito-de-modelos-3d-con-ia" aria-label="Permalink to &quot;¿Cuál es el mejor generador gratuito de modelos 3D con IA?&quot;"></a></h3>
<p>El Generador de modelos 3D de Cinevva es totalmente gratuito en el navegador: introduce una foto o texto y obtén una malla PBR texturizada en formato GLB u OBJ. La plataforma Hunyuan 3D de Tencent ofrece 20 generaciones gratuitas al día con su motor más reciente. El plan gratuito de Meshy incluye 100 créditos al mes, pero publica tus modelos bajo CC BY 4.0. Alojar TRELLIS.2 por tu cuenta es gratis y no tiene límites si dispones de la GPU necesaria.</p>
<h3 id="¿texto-a-3d-o-imagen-a-3d-¿cual-ofrece-mejores-resultados" tabindex="-1">¿Texto a 3D o imagen a 3D? ¿Cuál ofrece mejores resultados? <a class="header-anchor" href="#¿texto-a-3d-o-imagen-a-3d-¿cual-ofrece-mejores-resultados" aria-label="Permalink to &quot;¿Texto a 3D o imagen a 3D? ¿Cuál ofrece mejores resultados?&quot;"></a></h3>
<p>Imagen a 3D, de manera sistemática. Una imagen de referencia define las proporciones, los materiales y el estilo, mientras que una indicación de texto obliga al modelo a adivinarlos. El flujo de trabajo más eficaz en 2026 consta de dos pasos: genera una imagen de referencia limpia con un modelo de imágenes y luego introdúcela en un generador de imagen a 3D. La mayoría de las herramientas, incluida la de Cinevva, hacen exactamente esto entre bastidores cuando introduces una indicación de texto.</p>
<h3 id="¿que-paso-con-luma-genie-y-csm" tabindex="-1">¿Qué pasó con Luma Genie y CSM? <a class="header-anchor" href="#¿que-paso-con-luma-genie-y-csm" aria-label="Permalink to &quot;¿Qué pasó con Luma Genie y CSM?&quot;"></a></h3>
<p>En la práctica, ambas abandonaron este sector. Luma retiró Genie de su sitio cuando la empresa reorientó su actividad hacia la generación de vídeo y los agentes creativos. CSM cerró su plataforma Cube el 5 de enero de 2026 y Google la adquirió ese mismo mes. Si una comparativa recomienda cualquiera de las dos, está desactualizada.</p>
<h3 id="¿necesito-una-gpu-potente-para-generar-modelos-3d-con-ia" tabindex="-1">¿Necesito una GPU potente para generar modelos 3D con IA? <a class="header-anchor" href="#¿necesito-una-gpu-potente-para-generar-modelos-3d-con-ia" aria-label="Permalink to &quot;¿Necesito una GPU potente para generar modelos 3D con IA?&quot;"></a></h3>
<p>No, si utilizas una herramienta alojada o para navegador, donde la generación se ejecuta en los servidores del proveedor. Solo necesitas tu propia GPU —una tarjeta NVIDIA con suficiente capacidad— para alojar localmente modelos abiertos como TRELLIS.2 o Hunyuan3D 2.1. Incluso en ese caso, puedes alquilar inferencia por GPU y pagar por segundo.</p>
<BuildCta
  title="Genera un modelo y luego genera el juego a su alrededor"
  desc="Cinevva incorpora la generación 3D con IA en el editor, por lo que una indicación se convierte en un modelo ya colocado dentro de un juego jugable."
  prompt="Crea un museo misterioso donde pueda caminar entre pedestales y examinar de cerca extraños artefactos generados" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/ai-asset-generators-games.html">Los mejores generadores de recursos con IA para juegos</a>: el flujo de trabajo completo con texturas, audio y rigging</li>
<li><a href="/es/guides/free-3d-model-sites.html">Los mejores sitios de modelos 3D gratuitos para juegos</a>: busca en lugar de generar</li>
<li><a href="/es/guides/long-reference-video-models.html">Modelos de vídeo con referencias largas</a>: la vertiente de vídeo de la IA generativa</li>
<li><a href="/es/tools/hunyuan3d.html">Generador de modelos 3D</a>: convierte gratis texto o fotos en mallas PBR texturizadas</li>
<li><a href="/es/tools/sam3d.html">Captura de imagen a 3D</a>: convierte gratis una sola foto en un splat gaussiano</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/ai-3d-model-generators-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[NPC con IA y diálogos en videojuegos: herramientas y análisis realista (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/ai-npcs-dialogue</link>
            <guid>https://app.cinevva.com/es/guides/ai-npcs-dialogue</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[NPC con IA y diálogos en 2026, comparados con honestidad: Inworld, Convai, NVIDIA ACE y opciones de código abierto, qué juegos los utilizan, costes reales y cómo empezar.]]></description>
            <content:encoded><![CDATA[<h1 id="npc-con-ia-y-dialogos-en-videojuegos-herramientas-y-analisis-realista-2026" tabindex="-1">NPC con IA y diálogos en videojuegos: herramientas y análisis realista (2026) <a class="header-anchor" href="#npc-con-ia-y-dialogos-en-videojuegos-herramientas-y-analisis-realista-2026" aria-label="Permalink to &quot;NPC con IA y diálogos en videojuegos: herramientas y análisis realista (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Un NPC con IA es un personaje no jugable cuyo diálogo se genera mediante un modelo de lenguaje en tiempo de ejecución, en lugar de escribirse línea por línea de antemano. Hablas o escribes al personaje, el modelo lee un prompt de sistema que define quién es y cuál es el estado actual del juego, y genera una respuesta al instante. Algunas configuraciones también incorporan voz: conversión de voz a texto para que el personaje te escuche y conversión de texto a voz para que te responda hablando. La promesa es un aldeano capaz de contestar preguntas que ningún guionista había previsto. La realidad en 2026 es más compleja y conviene entenderla antes de construir algo alrededor de esta tecnología.</p>
<p>Tus opciones reales se dividen en tres categorías. Puedes usar una plataforma de personajes alojada como <a href="https://convai.com/" target="_blank" rel="noreferrer">Convai</a>, que ofrece memoria, voz y plugins para motores desde el primer momento. Puedes integrar middleware de voz y animación como <a href="https://developer.nvidia.com/ace-for-games" target="_blank" rel="noreferrer">NVIDIA ACE</a> si quieres que la sincronización labial y la animación facial coincidan con el habla generada. O puedes crear tu propia solución llamando a la API de un modelo de lenguaje —o ejecutando localmente un modelo pequeño— con un prompt definido de forma estricta, lo que resulta más barato y flexible, pero deja las medidas de seguridad en tus manos. Cabe destacar que <a href="https://inworld.ai/" target="_blank" rel="noreferrer">Inworld</a>, el nombre en el que mucha gente sigue pensando primero, se ha alejado en gran medida de su enfoque como estudio de NPC listo para usar y se ha reposicionado como infraestructura de IA B2B. Por eso, «alternativa a Inworld» es ahora mismo una de las búsquedas más frecuentes en este ámbito. Así es como está realmente el panorama.</p>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Herramienta</th>
<th>Qué es</th>
<th>Modelo de precios</th>
<th>Motores (incluida la web)</th>
<th>Estado en 2026</th>
</tr>
</thead>
<tbody>
<tr>
<td>Convai</td>
<td>Plataforma de NPC alojada: diálogo, voz, memoria y percepción</td>
<td>Basado en uso, nivel gratuito + 29 USD/mes para Indie</td>
<td>Unity, Unreal, three.js y web</td>
<td>Activa y orientada a desarrolladores</td>
</tr>
<tr>
<td>NVIDIA ACE</td>
<td>Middleware de voz y animación facial (Audio2Face, Riva ASR)</td>
<td>Microservicios por uso / en el dispositivo</td>
<td>Unity, Unreal e independiente del motor</td>
<td>Presente en algunos títulos</td>
</tr>
<tr>
<td>Inworld</td>
<td>Infraestructura de ejecución de IA + voz/TTS</td>
<td>Créditos basados en uso, TTS desde unos 5-25 USD/1 millón de caracteres</td>
<td>Hay SDK, pero con enfoque B2B</td>
<td>Se ha alejado del estudio de NPC para consumidores</td>
</tr>
<tr>
<td>Ubisoft Neo NPCs</td>
<td>I+D interna sobre personajes generativos («Teammates»)</td>
<td>No es un producto que puedas comprar</td>
<td>Uso interno de Ubisoft</td>
<td>Prueba de juego / I+D, sin lanzamiento</td>
</tr>
<tr>
<td>Crea tu propia solución</td>
<td>API de LLM o modelo local + tus propios prompts y medidas de seguridad</td>
<td>Tokens de API o gratis si se ejecuta localmente</td>
<td>Cualquier plataforma, incluida la web convencional</td>
<td>La opción más flexible</td>
</tr>
</tbody>
</table>
<h2 id="comparativa-de-herramientas" tabindex="-1">Comparativa de herramientas <a class="header-anchor" href="#comparativa-de-herramientas" aria-label="Permalink to &quot;Comparativa de herramientas&quot;"></a></h2>
<p><strong>Convai</strong> es la vía de entrada más sencilla si quieres una plataforma de personajes en lugar de un proyecto experimental. Gestiona el diálogo, la voz en tiempo real, la memoria a largo plazo y la «percepción multimodal» para que un personaje pueda reaccionar a lo que ve y oye. Además, ofrece plugins para Unity, Unreal y three.js, así como API abiertas para la web, según su <a href="https://convai.com/" target="_blank" rel="noreferrer">descripción general de la plataforma</a>. El precio se basa en el uso: hay un nivel gratuito para desarrolladores con una cuota diaria y, después, un plan Indie Dev de <a href="https://www.saasworthy.com/product/convai/pricing" target="_blank" rel="noreferrer">29 USD al mes —o 19 USD con facturación anual— por 3000 interacciones</a>, con las interacciones adicionales facturadas por separado. Esa unidad de «interacción» es lo que debes vigilar, porque determina cómo aumentará la factura a medida que crezca el número de jugadores.</p>
<p><strong>NVIDIA ACE</strong> no es un cerebro completo para NPC. Es un conjunto de microservicios para los componentes que rodean al cerebro: <a href="https://nvidianews.nvidia.com/news/ace-avatar-cloud-engine-microservices" target="_blank" rel="noreferrer">Audio2Face para generar animación facial a partir de audio y Riva para el reconocimiento de voz</a>, que puedes combinar con el modelo de lenguaje que prefieras. Es la pieza que consigue que una voz generada parezca estar siendo pronunciada de verdad por un rostro. NVIDIA menciona socios como Tencent, NetEase, miHoYo y Ubisoft, y cada vez es más frecuente que el modelo de lenguaje se ejecute en el propio dispositivo como un modelo pequeño en lugar de hacerlo en la nube, algo importante para la latencia y el coste —hablaremos de ello más adelante—. Si tu juego está pensado principalmente para navegadores, ACE probablemente sea excesivo, ya que está orientado a títulos para PC con un uso intensivo de la GPU.</p>
<p><strong>Inworld</strong> merece un análisis claro porque es el nombre que domina los tutoriales antiguos. Comenzó como la plataforma de referencia para crear personajes de videojuegos y aún dispone de SDK, pero se ha <a href="https://inworld.ai/blog/new-ai-infrastructure-scaling-games-media-characters" target="_blank" rel="noreferrer">reposicionado como infraestructura de IA para escalar juegos y contenidos multimedia</a>, con énfasis en la voz, la conversión de texto a voz y un entorno de ejecución de agentes dirigido a empresas como Google, NVIDIA y Xbox. Su <a href="https://inworld.ai/pricing" target="_blank" rel="noreferrer">sistema de precios</a> se basa en créditos de uso: la conversión de texto a voz cuesta desde unos 25 USD por millón de caracteres en el nivel gratuito On-Demand hasta aproximadamente 5 USD con volúmenes empresariales; la conversión de voz a texto ronda los 0,15 USD por hora, y los modelos de lenguaje se facturan por separado al coste del proveedor. Sigue siendo una opción utilizable, pero un desarrollador web independiente que busque un NPC listo para integrar la encontrará más pesada que antes. Esa es precisamente la razón por la que Convai y las soluciones propias han ocupado su lugar.</p>
<p><strong>Los Neo NPCs de Ubisoft</strong> merecen una mención precisamente porque no son un producto que puedas utilizar. Son el esfuerzo de I+D más visible de un gran estudio y ahora se presentan como un prototipo llamado Teammates, que incorpora compañeros de escuadrón con IA controlados por voz en un juego de disparos en primera persona. Fue <a href="https://variety.com/2025/gaming/news/ubisoft-generative-ai-game-teammates-neo-npc-developers-1236588038/" target="_blank" rel="noreferrer">creado por un equipo de unas 80 personas mediante Google Gemini y middleware interno, y se encuentra en una prueba de juego cerrada</a>, no en un juego ya publicado. Ubisoft ha afirmado que la IA generativa supone un cambio para la industria tan importante como el salto al 3D, pero la situación real a mediados de 2026 es que se trata de un experimento, no de un lanzamiento.</p>
<h2 id="quien-esta-utilizando-realmente-esta-tecnologia-en-juegos-publicados" tabindex="-1">Quién está utilizando realmente esta tecnología en juegos publicados <a class="header-anchor" href="#quien-esta-utilizando-realmente-esta-tecnologia-en-juegos-publicados" aria-label="Permalink to &quot;Quién está utilizando realmente esta tecnología en juegos publicados&quot;"></a></h2>
<p>Si dejamos a un lado las demostraciones, el número de juegos publicados con NPC de IA reales es reducido, aunque por fin es superior a cero. El ejemplo más claro es <a href="https://en.wikipedia.org/wiki/InZOI" target="_blank" rel="noreferrer">inZOI</a>, el simulador de vida de Krafton que se lanzó en acceso anticipado el 28 de marzo de 2025 y vendió más de un millón de copias durante su primera semana. Sus personajes «Smart Zoi» se ejecutan mediante <a href="https://www.dsogaming.com/news/inzoi-is-the-first-game-with-ai-powered-npcs-using-nvidia-ace/" target="_blank" rel="noreferrer">un pequeño modelo de lenguaje en el dispositivo creado con NVIDIA ACE</a>, por lo que la IA controla localmente el comportamiento de cada momento en vez de contactar con la nube para generar cada línea. Krafton está ampliando el mismo enfoque a PUBG con <a href="https://venturebeat.com/gaming-business/krafton-and-nvidia-team-up-to-create-smarter-ai-characters-for-pubg-and-inzoi/" target="_blank" rel="noreferrer">un personaje cooperativo llamado PUBG Ally, en pruebas hasta principios de 2026</a>.</p>
<p>En el extremo centrado en la conversación, <a href="https://allthings.how/where-winds-meet-and-ai-how-the-mmos-chatbot-npcs-work/" target="_blank" rel="noreferrer">Where Winds Meet</a>, un MMO de gran tamaño, añadió chat de texto libre mediante LLM a un subconjunto de NPC secundarios, con seguimiento de afinidad para que un personaje pueda encariñarse contigo, negarse a seguir hablando o volverse hostil. La decisión de diseño más reveladora, según un análisis de noviembre de 2025, es lo limitado de su alcance: la IA solo interviene en personajes secundarios ambientales, y sus resultados se restringen a respuestas de texto y un conjunto fijo de indicadores del juego. No puede generar objetos, crear ubicaciones ni reescribir líneas de misiones. La historia principal sigue estando escrita a mano. Los juegos independientes han sido más atrevidos a la hora de convertir la IA en el eje central. <a href="https://wanderfolk.ai/best-ai-npc-games-2026/" target="_blank" rel="noreferrer">Suck Up!</a> es un juego publicado cuyo bucle completo consiste en convencer mediante conversaciones a residentes impulsados por GPT para que inviten a entrar a un vampiro. Funciona porque la conversación es la mecánica, no un adorno añadido sobre una misión guionizada.</p>
<p>El patrón es el mismo en todos los ejemplos publicados. La parte generativa está contenida. Se utiliza para las conversaciones de un simulador de vida, la charla informal de un personaje secundario o un juego creado específicamente en torno a la persuasión. Ningún estudio creíble ha publicado un juego de gran presupuesto en el que la IA escriba los diálogos de la misión principal, y los motivos son, por este orden, el coste, la latencia y la confianza.</p>
<h2 id="cuanto-cuesta-y-el-problema-de-la-latencia" tabindex="-1">Cuánto cuesta y el problema de la latencia <a class="header-anchor" href="#cuanto-cuesta-y-el-problema-de-la-latencia" aria-label="Permalink to &quot;Cuánto cuesta y el problema de la latencia&quot;"></a></h2>
<p>Hay dos factores que rompen la fantasía de que «todos los NPC son chatbots», y ninguno tiene que ver con la inteligencia del modelo.</p>
<p>El primero es la latencia. La conversación tiene un ritmo, y los jugadores perciben cuando se rompe. Las investigaciones sobre NPC con IA señalan que las respuestas inferiores a unos 800 milisegundos parecen naturales dentro de una conversación, mientras que cualquier demora mucho mayor resulta extraña. Un trayecto completo de ida y vuelta a una API general en la nube añade entre uno y dos segundos de retraso, lo que se percibe como una interrupción. Un <a href="https://arxiv.org/pdf/2507.10469" target="_blank" rel="noreferrer">estudio de 2025 sobre el realismo percibido en la realidad virtual</a> pidió a los jugadores que evaluaran cómo afectaba la latencia a la humanidad que transmitía un personaje, y la petición constante fue sencilla: que el sistema respondiera más rápido. Esta es la razón principal por la que inZOI y PUBG eligieron modelos pequeños ejecutados en el dispositivo en lugar de un modelo gigante en la nube. Un modelo local más pequeño y rápido que responde en medio segundo supera a otro más inteligente que tarda tres.</p>
<p>El segundo es el coste, y escala en la dirección equivocada. Una línea de diálogo escrita a mano se paga una vez y se muestra gratis a millones de jugadores. Una línea generada cuesta dinero cada vez que se produce, por NPC, por jugador y por conversación. Las plataformas basadas en uso lo hacen evidente: Convai factura por interacción, Inworld por carácter de voz y token de texto, y una API de LLM convencional cobra por cada token de entrada y salida. Para un juego tranquilo de un solo jugador con unas pocas conversaciones, supone unos céntimos. Para un juego en vivo con un millón de jugadores diarios hablando libremente, supone una factura de servicios en la nube que nadie había presupuestado. Por eso existen los precios basados en créditos y cuotas, y por eso ofrecer «chat libre con un número ilimitado de NPC» es una forma rápida de quemar dinero. Diseña el número de turnos de IA como diseñarías cualquier otro coste, porque eso es exactamente lo que representa.</p>
<h2 id="patrones-de-diseno-que-funcionan-y-los-que-no" tabindex="-1">Patrones de diseño que funcionan y los que no <a class="header-anchor" href="#patrones-de-diseno-que-funcionan-y-los-que-no" aria-label="Permalink to &quot;Patrones de diseño que funcionan y los que no&quot;"></a></h2>
<p>El patrón que llega al mercado es la generación restringida, no el chat abierto. En lugar de permitir que un modelo diga cualquier cosa, le proporcionas un prompt de sistema estricto —quién es el personaje, qué sabe y qué no debe revelar jamás—, mantienes las respuestas breves y limitas el resultado a texto más un pequeño conjunto de acciones o indicadores permitidos dentro del juego. El <a href="https://allthings.how/where-winds-meet-and-ai-how-the-mmos-chatbot-npcs-work/" target="_blank" rel="noreferrer">diseño basado en indicadores de Where Winds Meet</a> es un ejemplo de manual: el NPC habla y las únicas acciones estructuradas que puede realizar son cosas como modificar un valor de afinidad o volverse hostil. Todo lo demás queda fuera del control del modelo.</p>
<p>El patrón que falla es el NPC libre de «pregúntame cualquier cosa» insertado en un juego centrado en la historia. Sin restricciones, un modelo inventará datos con total seguridad, se desviará del trasfondo del juego o revelará una misión porque un jugador ha formulado la pregunta capciosa adecuada. Un artículo del sector sostiene, correctamente, que <a href="https://www.gameindustry.com/news-industry-happenings/the-hard-problem-of-ai-npcs-why-character-consistency-matters-more-than-intelligence/" target="_blank" rel="noreferrer">la coherencia del personaje importa más que la inteligencia bruta</a>: los jugadores perdonan que un NPC sea un poco torpe, pero un personaje que se contradice o rompe la ficción destruye la inmersión al instante. De ahí también procede el escepticismo de los jugadores. Muchas demostraciones de NPC con IA parecen conversaciones con un bot de atención al cliente disfrazado, y los jugadores se dan cuenta. Los equipos que lo hacen bien tratan el modelo como un guionista de diálogos que trabaja dentro de una jaula de reglas, no como un oráculo.</p>
<p>Unas pocas medidas de seguridad concretas hacen la mayor parte del trabajo. Proporciona al personaje únicamente lo que debería saber para que no pueda revelar el final. Limita la longitud de las respuestas para que se mantenga dentro del personaje en lugar de comenzar un monólogo. Conserva la versión escrita a mano para cualquier elemento esencial de la trama y reserva la generación para aportar textura: frases breves, conversaciones triviales, reacciones y personajes secundarios. Y decide desde el principio si un NPC concreto necesita realmente ser libre, porque muchos momentos que parecen requerir un «NPC con IA» funcionan mejor con un árbol de diálogos ramificados más inteligente que con una llamada en directo a un modelo.</p>
<h2 id="como-probarlo-en-un-juego-web" tabindex="-1">Cómo probarlo en un juego web <a class="header-anchor" href="#como-probarlo-en-un-juego-web" aria-label="Permalink to &quot;Cómo probarlo en un juego web&quot;"></a></h2>
<p>No necesitas un motor que haga un uso intensivo de la GPU para experimentar. La opción más sencilla es llamar a la API de un modelo de lenguaje directamente desde el backend de tu juego con un prompt de sistema que defina al personaje e incluya el estado actual de la partida, y después mostrar la respuesta en un cuadro de diálogo. Es un proyecto de fin de semana y así es exactamente como comienzan la mayoría de los prototipos para navegador. Si quieres que una plataforma gestione la memoria y la voz, <a href="https://convai.com/" target="_blank" rel="noreferrer">Convai cuenta con un SDK web y una integración con three.js</a> para que puedas añadir un personaje parlante a una escena en el navegador sin tener que construir toda la infraestructura.</p>
<p>Si el coste o la privacidad te alejan de la nube, la opción de código abierto ejecuta el modelo en el propio dispositivo del jugador. <a href="https://blog.player2.game/p/building-ai-npcs-with-player2-api" target="_blank" rel="noreferrer">WebLLM</a> ejecuta un pequeño modelo de lenguaje directamente en el navegador mediante WebGPU, por lo que no hay factura de servidor ni retraso de red una vez cargado, a cambio de una descarga inicial más pesada y de necesitar un dispositivo suficientemente potente. Ejecutar un modelo local mediante una herramienta como Ollama durante el desarrollo es otra forma económica de iterar antes de comprometerte con un proveedor alojado. Elijas lo que elijas, crea primero las restricciones: un prompt de personaje claro, un límite estricto de longitud y una lista fija de acciones que el NPC puede activar.</p>
<p>Si prefieres evitar por completo la integración y limitarte a ver en el navegador personajes con personalidades diferenciadas, para eso está pensado el chat de creación de juegos de Cinevva. Describes la aldea y a sus habitantes, y el agente genera los personajes y sus comportamientos en una escena 3D jugable que puedes abrir y en la que puedes hablar con ellos. Así puedes comprobar si una idea basada en personajes de IA es divertida antes de invertir en un flujo de trabajo completo.</p>
<BuildCta
  title="Prueba un juego con personajes de IA en tu navegador"
  desc="Describe el reparto y Cinevva creará un mundo jugable que podrás recorrer conversando."
  prompt="Crea una aldea donde pueda hablar con personajes que tengan cada uno su propia personalidad" />
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿que-es-un-pnj-con-ia" tabindex="-1">¿Qué es un PNJ con IA? <a class="header-anchor" href="#¿que-es-un-pnj-con-ia" aria-label="Permalink to &quot;¿Qué es un PNJ con IA?&quot;"></a></h3>
<p>Un PNJ con IA es un personaje no jugador cuyos diálogos y, en ocasiones, su comportamiento son generados por un modelo de lenguaje en tiempo de ejecución, en lugar de haber sido escritos de antemano por un guionista. Le escribes o le hablas, el modelo consulta un prompt que describe al personaje y el estado actual del juego, y genera una respuesta al instante. También se pueden añadir capas de voz opcionales con reconocimiento de voz para que pueda oírte y conversión de texto a voz para que pueda responderte hablando.</p>
<h3 id="¿cual-es-la-mejor-alternativa-a-inworld-en-2026" tabindex="-1">¿Cuál es la mejor alternativa a Inworld en 2026? <a class="header-anchor" href="#¿cual-es-la-mejor-alternativa-a-inworld-en-2026" aria-label="Permalink to &quot;¿Cuál es la mejor alternativa a Inworld en 2026?&quot;"></a></h3>
<p>Para la mayoría de los desarrolladores es Convai, que siguió centrándose en ser una plataforma de PNJ integrable con diálogos, voz, memoria y plugins para motores (Unity, Unreal, three.js y web) después de que Inworld se orientara hacia la infraestructura de IA B2B. Si buscas el máximo control y un coste menor, la otra gran alternativa es crear tu propia solución mediante una API de modelos de lenguaje o ejecutar un modelo local con tu propio prompt de sistema y medidas de seguridad. La opción ideal depende de si valoras más la comodidad o el control.</p>
<h3 id="¿que-juegos-publicados-utilizan-realmente-pnj-con-ia" tabindex="-1">¿Qué juegos publicados utilizan realmente PNJ con IA? <a class="header-anchor" href="#¿que-juegos-publicados-utilizan-realmente-pnj-con-ia" aria-label="Permalink to &quot;¿Qué juegos publicados utilizan realmente PNJ con IA?&quot;"></a></h3>
<p>La lista es corta, pero real. El simulador de vida inZOI de Krafton utiliza personajes con IA ejecutada en el dispositivo y creados con NVIDIA ACE, y la empresa está ampliando esta tecnología a PUBG. El MMO Where Winds Meet añadió chat mediante LLM a varios personajes secundarios, con límites estrictos sobre lo que pueden hacer. Títulos independientes como Suck Up! están construidos por completo en torno a conversaciones con personajes impulsados por IA. Los juegos narrativos de gran presupuesto aún no han dejado los diálogos de la misión principal en manos de la IA, y los Neo NPCs de Ubisoft siguen siendo una prueba interna en lugar de una función publicada.</p>
<h3 id="¿cuanto-cuesta-ejecutar-pnj-con-ia" tabindex="-1">¿Cuánto cuesta ejecutar PNJ con IA? <a class="header-anchor" href="#¿cuanto-cuesta-ejecutar-pnj-con-ia" aria-label="Permalink to &quot;¿Cuánto cuesta ejecutar PNJ con IA?&quot;"></a></h3>
<p>Cada línea generada cuesta dinero cada vez que se produce, a diferencia de una línea escrita, que solo se paga una vez. Las plataformas alojadas cobran según el uso: Convai cobra por interacción, con un nivel gratuito y un plan independiente de 29 dólares al mes, e Inworld factura por carácter de voz y por token de texto. Una API directa cobra por token. El coste es insignificante para un pequeño juego para un jugador, pero elevado para un juego en vivo con millones de jugadores diarios que mantienen conversaciones abiertas. Por eso los estudios limitan cuántos turnos con IA pueden producirse.</p>
<h3 id="¿los-jugadores-perciben-los-pnj-con-ia-como-un-mero-truco" tabindex="-1">¿Los jugadores perciben los PNJ con IA como un mero truco? <a class="header-anchor" href="#¿los-jugadores-perciben-los-pnj-con-ia-como-un-mero-truco" aria-label="Permalink to &quot;¿Los jugadores perciben los PNJ con IA como un mero truco?&quot;"></a></h3>
<p>A menudo sí, y ese escepticismo está justificado. Los personajes de IA sin restricciones tienden a inventar hechos, desviarse de la historia del juego o parecer un chatbot disfrazado, lo que rompe la inmersión rápidamente. Las versiones que reciben una buena respuesta de los jugadores están sujetas a límites estrictos: una personalidad clara, respuestas breves y acordes con el personaje, y ninguna capacidad para destripar la trama o contradecir el mundo. La conclusión que se desprende de los ejemplos publicados es que la coherencia importa más que la inteligencia bruta.</p>
<h3 id="¿cual-es-la-forma-mas-sencilla-de-anadir-un-pnj-con-ia-a-un-juego-web" tabindex="-1">¿Cuál es la forma más sencilla de añadir un PNJ con IA a un juego web? <a class="header-anchor" href="#¿cual-es-la-forma-mas-sencilla-de-anadir-un-pnj-con-ia-a-un-juego-web" aria-label="Permalink to &quot;¿Cuál es la forma más sencilla de añadir un PNJ con IA a un juego web?&quot;"></a></h3>
<p>Llama a una API de modelos de lenguaje desde el backend de tu juego con un prompt de sistema que defina al personaje e incluya el estado actual del juego; después, muestra la respuesta en un cuadro de diálogo. Con eso puedes crear un prototipo en un fin de semana. Para evitar la factura de un servidor, puedes ejecutar un modelo pequeño en el navegador con WebLLM sobre WebGPU. Si prefieres que la memoria y la voz ya estén resueltas, Convai ofrece un SDK para web y three.js. En todos los casos, define las restricciones (prompt del personaje, límite de longitud y acciones permitidas) antes de preocuparte por el modelo.</p>
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/ai-game-generators-2026.html">Los mejores generadores de juegos con IA de 2026</a> — las herramientas que crean un juego jugable a partir de un prompt</li>
<li><a href="/es/guides/make-a-game-with-ai.html">Cómo crear un juego con IA (sin programar)</a> — el proceso completo, de principio a fin</li>
<li><a href="/es/guides/ai-voice-acting-games.html">Actuación de voz con IA para juegos</a> — la capa de conversión de texto a voz que da voz a los PNJ con IA</li>
<li><a href="/es/guides/frontier-gen-ai-models.html">Modelos de IA generativa de vanguardia</a> — los modelos de lenguaje que se encargan de hablar entre bastidores</li>
<li><a href="/es/guides/vibe-coding-games.html">Vibe coding de juegos: qué es y cómo empezar</a> — el enfoque de creación rápida de prototipos para poner a prueba ideas como esta</li>
<li><a href="/es/guides/co-op-game-design.html">Diseño de juegos cooperativos</a> — cómo diseñar personajes que comparten un mundo con los jugadores</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/ai-npcs-dialogue-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Doblaje con IA para videojuegos: herramientas, costes y normas (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/ai-voice-acting-games</link>
            <guid>https://app.cinevva.com/es/guides/ai-voice-acting-games</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Doblaje con IA para videojuegos en 2026: cuánto cuestan ElevenLabs y sus alternativas, qué permiten publicar las licencias comerciales y cuáles son las normas sindicales y de Steam.]]></description>
            <content:encoded><![CDATA[<h1 id="doblaje-con-ia-para-videojuegos-herramientas-costes-y-normas-2026" tabindex="-1">Doblaje con IA para videojuegos: herramientas, costes y normas (2026) <a class="header-anchor" href="#doblaje-con-ia-para-videojuegos-herramientas-costes-y-normas-2026" aria-label="Permalink to &quot;Doblaje con IA para videojuegos: herramientas, costes y normas (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Sí, puedes usar voces generadas por IA en un videojuego comercial y, para la mayoría de desarrolladores independientes y estudios pequeños, resulta barato. Un plan de pago de una herramienta como <a href="https://elevenlabs.io/pricing" target="_blank" rel="noreferrer">ElevenLabs</a> parte de 6 $ al mes e incluye una licencia comercial, así que puedes publicar en un videojuego de pago los diálogos que generes. La <a href="https://texttolab.com/blog/openai-tts-pricing" target="_blank" rel="noreferrer">API de texto a voz de OpenAI</a> cuesta unos 0,015 $ por minuto de audio y también está autorizada para uso comercial. Los modelos de código abierto con licencias permisivas, como Piper y Kokoro, no cuestan nada de ejecutar y pueden publicarse comercialmente, aunque otros como XTTS v2 son solo para uso no comercial, por lo que la licencia del modelo determina qué puedes vender. Para un videojuego independiente típico con unos cientos de líneas, el coste de generación estará entre cero y unos 20 o 30 $.</p>
<p>El problema no es el dinero, sino las normas y la recepción del público. Los planes gratuitos casi nunca permiten el uso comercial y suelen exigir atribución en el resultado, por lo que la herramienta «gratuita» que te permite publicar es aquella cuya licencia lo indique expresamente. Clonar la voz de una persona real sin permiso es la clase de acción que hará que te demanden o retiren tu juego de una tienda, no la que te ahorrará tiempo. Steam exige que <a href="https://www.pcgamer.com/software/ai/steam-updates-ai-disclosure-form-to-specify-that-its-focused-on-ai-generated-content-that-is-consumed-by-players-not-efficiency-tools-used-behind-the-scenes/" target="_blank" rel="noreferrer">indiques el contenido de IA dirigido a los jugadores</a>, incluidas las líneas de voz generadas por IA, en la página de tu tienda. Y los jugadores se dan cuenta. Varios videojuegos de 2025 y 2026 recibieron fuertes críticas por usar voces de IA, así que es un error tratar esta tecnología como una forma discreta de ahorrar costes en lugar de como una decisión creativa. Esta guía repasa las herramientas, los costes reales, las normas sindicales y de las tiendas, y cuándo es mejor contratar a una persona.</p>
<h2 id="referencia-rapida-comparativa-de-herramientas" tabindex="-1">Referencia rápida: comparativa de herramientas <a class="header-anchor" href="#referencia-rapida-comparativa-de-herramientas" aria-label="Permalink to &quot;Referencia rápida: comparativa de herramientas&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Herramienta</th>
<th>Precio (2026)</th>
<th>Licencia comercial</th>
<th>Política de clonación de voz</th>
<th>Notas sobre la calidad</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://elevenlabs.io/pricing" target="_blank" rel="noreferrer">ElevenLabs</a></td>
<td>Plan gratuito; después, desde 6 $/mes (Starter) hasta 99 $/mes (Pro)</td>
<td>Solo en planes de pago; perpetua incluso después de cancelar</td>
<td>Clonación instantánea en Starter y profesional en Creator+; se exige consentimiento para voces reales</td>
<td>Emoción e interpretación líderes del mercado; la opción predeterminada para diálogos de videojuegos</td>
</tr>
<tr>
<td><a href="https://texttolab.com/blog/openai-tts-pricing" target="_blank" rel="noreferrer">OpenAI TTS</a> (gpt-4o-mini-tts)</td>
<td>~0,015 $/min de audio; pago por uso</td>
<td>Sí, conforme a las políticas de uso de OpenAI</td>
<td>Solo voces predefinidas, sin clonación</td>
<td>Barato, natural y adecuado para grandes volúmenes, pero ofrece menos control interpretativo</td>
</tr>
<tr>
<td><a href="https://murf.ai/" target="_blank" rel="noreferrer">Murf</a></td>
<td>Los planes de pago incluyen derechos comerciales</td>
<td>Todos los planes de pago</td>
<td>Clonación en los planes superiores</td>
<td>Rápido (modelo Falcon de baja latencia), narración con estilo de estudio</td>
</tr>
<tr>
<td><a href="https://www.resemble.ai/" target="_blank" rel="noreferrer">Resemble AI</a></td>
<td>Planes de pago, además de Chatterbox de código abierto</td>
<td>Sí en los planes de pago; Chatterbox tiene licencia MIT</td>
<td>La clonación es una función central; se exige consentimiento</td>
<td>Chatterbox dispone de un control de «exageración» muy útil para personajes de videojuegos</td>
</tr>
<tr>
<td><a href="https://huggingface.co/coqui/XTTS-v2" target="_blank" rel="noreferrer">XTTS v2</a> (Coqui)</td>
<td>Gratuito y autoalojado</td>
<td>CPML; pesos para uso no comercial y solo en prototipos</td>
<td>Clona a partir de unos 6 segundos; 17 idiomas</td>
<td>El mejor clonador multilingüe local abierto; requiere GPU</td>
</tr>
<tr>
<td><a href="https://github.com/rhasspy/piper" target="_blank" rel="noreferrer">Piper</a></td>
<td>Gratuito y autoalojado</td>
<td>Licencia permisiva; puedes publicarlo</td>
<td>Voces predefinidas, sin clonación</td>
<td>Funciona en tiempo real mediante CPU; excelente para sistemas integrados o equipos modestos</td>
</tr>
</tbody>
</table>
<p>Los precios y las condiciones cambian, así que confirma siempre la licencia vigente en la página del propio proveedor antes de crear todo un flujo de trabajo en torno a una herramienta. El resto de esta guía explica qué significan realmente estas filas para un videojuego que pretendes vender.</p>
<h2 id="las-herramientas-y-para-que-sirve-cada-una" tabindex="-1">Las herramientas y para qué sirve cada una <a class="header-anchor" href="#las-herramientas-y-para-que-sirve-cada-una" aria-label="Permalink to &quot;Las herramientas y para qué sirve cada una&quot;"></a></h2>
<p><strong>ElevenLabs</strong> es la opción a la que recurren la mayoría de desarrolladores de videojuegos, y con razón. Maneja mejor que sus alternativas el rango emocional y el ritmo natural, algo importante cuando una línea debe sonar asustada, sarcástica o agotada en vez de limitarse a leerse en voz alta. El <a href="https://help.elevenlabs.io/hc/en-us/articles/13313564601361-Can-I-publish-the-content-I-generate-on-the-platform" target="_blank" rel="noreferrer">plan gratuito proporciona 10 000 créditos al mes, pero no concede derechos comerciales y obliga a incluir atribución</a>, por lo que solo sirve para hacer pruebas. El <a href="https://elevenlabs.io/pricing" target="_blank" rel="noreferrer">plan Starter de 6 $ al mes añade una licencia comercial y 30 000 créditos</a>, equivalentes a unos 30 minutos de voz, ya que cada carácter de texto cuesta un crédito en el modelo estándar. Creator cuesta 22 $, ofrece unos 121 000 créditos y clonación profesional de voz, mientras que Pro cuesta 99 $ e incluye 600 000. Para la mayoría de los videojuegos pequeños, el plan de 6 o 22 $ será más que suficiente.</p>
<p><strong>El servicio de texto a voz de OpenAI</strong> es la opción económica. El <a href="https://tokenmix.ai/blog/gpt-4o-mini-tts-cheapest-tts-api-2026" target="_blank" rel="noreferrer">modelo gpt-4o-mini-tts cuesta unos 0,015 $ por minuto de audio generado</a>, se factura mediante la API y permite el uso comercial conforme a las políticas de uso de OpenAI. Ofrece un conjunto de voces predefinidas sin clonación y admite menos dirección interpretativa que ElevenLabs, pero su precio es difícil de superar si necesitas generar cientos de frases breves y exclamaciones. Es una buena opción para líneas numerosas y menos importantes.</p>
<p><strong>Murf</strong> está más orientado al público que busca narración de estudio. Todos sus planes de pago <a href="https://undetectr.com/blog/ai-voice-generator-free" target="_blank" rel="noreferrer">incluyen derechos comerciales</a>, y su nuevo modelo Falcon está diseñado para ofrecer una latencia baja, <a href="https://murf.ai/" target="_blank" rel="noreferrer">de unos 55 ms según pruebas independientes</a>, algo más importante para agentes en directo que para diálogos de videojuegos generados de antemano. Merece la pena conocer <strong>Resemble AI</strong> por dos motivos: su producto de pago está centrado en la clonación y también publica <a href="https://findskill.ai/blog/best-open-source-tts-2026/" target="_blank" rel="noreferrer">Chatterbox</a>, un modelo de código abierto con una licencia permisiva y un parámetro de «exageración» que lleva las voces al terreno de la caricatura, algo verdaderamente útil para personajes y criaturas de videojuegos.</p>
<p>Entre las opciones de código abierto, <strong>XTTS v2</strong>, de la ya desaparecida Coqui, todavía se <a href="https://localaimaster.com/models/coqui-tts" target="_blank" rel="noreferrer">considera el mejor motor local multilingüe de clonación de voz en 2026</a>. Puede clonar voces a partir de unos seis segundos de audio en 17 idiomas y sigue vivo gracias a una bifurcación comunitaria, aunque <a href="https://apatero.com/blog/open-source-text-to-speech-models-beyond-elevenlabs-2026" target="_blank" rel="noreferrer">la empresa cerró en enero de 2024</a>. No obstante, trátalo como una opción exclusiva para prototipos: los pesos del modelo se distribuyen bajo la licencia CPML de Coqui, que prohíbe el uso comercial, por lo que no puedes utilizarlo legalmente en un videojuego que vendas. <strong>Piper</strong> se encuentra en el extremo opuesto: <a href="https://www.bentoml.com/blog/exploring-the-world-of-open-source-text-to-speech-models" target="_blank" rel="noreferrer">funciona en tiempo real con una CPU y sin GPU</a>, lo que lo convierte en la opción ideal para sistemas integrados, hardware modesto o generación de voces en tiempo de ejecución dentro del propio videojuego. <strong>Bark</strong> tiene licencia MIT y puede producir sonidos no verbales, como risas y suspiros, mientras que <strong>Kokoro</strong> es la opción ligera, centrada principalmente en inglés, que puedes publicar comercialmente. Para crear mods al estilo de Skyrim, herramientas como <strong>xVASynth</strong> llevan mucho tiempo siendo el estándar de la comunidad para producir líneas personalizadas de PNJ, aunque, si desarrollas mods, debes consultar las condiciones del juego base y de la herramienta antes de distribuirlos.</p>
<p>Una observación sobre el sector: <a href="https://undetectr.com/blog/ai-voice-generator-free" target="_blank" rel="noreferrer">Meta adquirió Play.ht a mediados de 2025 y, según diversas informaciones, el servicio cerró a finales de ese año</a>, así que ignóralo si lo ves recomendado en algún artículo antiguo.</p>
<h2 id="cuanto-cuesta-en-la-practica" tabindex="-1">Cuánto cuesta en la práctica <a class="header-anchor" href="#cuanto-cuesta-en-la-practica" aria-label="Permalink to &quot;Cuánto cuesta en la práctica&quot;"></a></h2>
<p>Las cifras por minuto y por carácter solo cuentan una parte de la historia, así que veamos las cuentas reales. Un videojuego narrativo corto con, por ejemplo, 300 líneas de 12 palabras de media suma aproximadamente 21 600 caracteres. En ElevenLabs, esto queda por debajo del límite mensual del plan Starter, por lo que el presupuesto de voces para todo el juego sería de 6 $, o de 22 $ si quieres voces clonadas o de mayor calidad. En la API de OpenAI, ese mismo guion representa unos pocos minutos de audio y costaría bastante menos de un dólar. Los modelos de código abierto no cuestan nada aparte de tus propios recursos informáticos y tu tiempo.</p>
<p>Los costes aumentan realmente con las iteraciones y la escala. Es poco habitual acertar una línea en la primera generación, y volver a generar interpretaciones, ajustar el énfasis y regenerar contenido después de cambiar el guion consume créditos. Un RPG con muchos diálogos, miles de líneas, varias tomas de cada una y diversos idiomas puede obligarte a pasar al plan de 99 $ o a asumir un gasto real en la API. Aun así, estarás comparando unas decenas o unos pocos cientos de dólares con los miles que costaría un reparto completo de intérpretes humanos. La realidad es que la generación bruta de voces con IA es barata y solo llega a parecer cara en comparación consigo misma, nunca frente a la contratación de un reparto sindicado. Si tu presupuesto es cero, los planes gratuitos te permitirán crear un prototipo y los modelos de código abierto, un videojuego listo para publicar, siempre que respetes sus licencias.</p>
<h2 id="licencias-y-normas-sindicales" tabindex="-1">Licencias y normas sindicales <a class="header-anchor" href="#licencias-y-normas-sindicales" aria-label="Permalink to &quot;Licencias y normas sindicales&quot;"></a></h2>
<p>Esta es la parte que suele causar problemas, así que léela con atención. Hay dos cuestiones de licencia distintas y es fácil confundirlas.</p>
<p>La primera es la licencia de la herramienta, que determina si puedes vender lo que generas. En los planes de pago de ElevenLabs, Murf, Resemble y OpenAI, la respuesta es afirmativa y, en el caso concreto de ElevenLabs, <a href="https://terms.law/ai-output-rights/elevenlabs/" target="_blank" rel="noreferrer">conservas los derechos comerciales sobre el audio generado durante una suscripción de pago incluso después de cancelarla</a>. Hay dos detalles importantes en la letra pequeña: debes seguir siendo titular de los derechos sobre el guion y el contenido subyacentes, y proveedores como ElevenLabs <a href="https://terms.law/ai-output-rights/elevenlabs/" target="_blank" rel="noreferrer">conservan una licencia para utilizar el contenido que generes con el fin de entrenar y mejorar sus modelos</a>. Los planes gratuitos son la trampa, porque suelen prohibir el uso comercial y exigir atribución, por lo que un videojuego publicado con audio generado mediante un plan gratuito incumpliría las condiciones. En los modelos de código abierto, la licencia corresponde al modelo específico, no a la categoría de la herramienta, así que comprueba si utiliza MIT, Apache o alguna licencia con una cláusula de uso no comercial antes de basar tu proyecto en él.</p>
<p>La segunda cuestión es la propia voz. Generar una voz predefinida o sintética no plantea problemas. Clonar la voz de una persona real sin su consentimiento sí, y supone un riesgo tanto jurídico como ético. Aquí es donde entran las normas sindicales. Tras una huelga de casi un año, <a href="https://deadline.com/2025/07/sag-aftra-video-game-agreement-approved-strike-1236453741/" target="_blank" rel="noreferrer">los miembros de SAG-AFTRA ratificaron un nuevo Acuerdo de Medios Interactivos el 9 de julio de 2025 con el 95 % de los votos</a>, poniendo fin oficialmente a <a href="https://en.wikipedia.org/wiki/2024%E2%80%932025_SAG-AFTRA_video_game_strike" target="_blank" rel="noreferrer">la huelga del sector de los videojuegos que comenzó en julio de 2024</a>. Las disposiciones del acuerdo sobre IA exigen <a href="https://variety.com/2025/gaming/news/video-game-actors-strike-contract-ratified-sag-aftra-1236451291/" target="_blank" rel="noreferrer">consentimiento, información y compensación antes de utilizar la réplica digital de la voz de un intérprete</a>, y permiten a los intérpretes suspender su consentimiento para generar nuevo material con IA durante una huelga.</p>
<p>Si eres un desarrollador independiente que utiliza voces sintéticas predefinidas, ese contrato no te obliga directamente, porque regula a los estudios firmantes que trabajan con intérpretes sindicados. Sin embargo, establece el criterio por el que ahora se juzga a todo el mundo: obtén consentimiento explícito y remunerado antes de clonar la voz de cualquier persona real. No extraigas la voz de la demo de un actor de doblaje ni de los vídeos de un creador de contenido para entrenar un modelo. La disputa sindical giraba precisamente en torno a la sustitución de intérpretes por una IA entrenada con su propio trabajo sin permiso. Hacer eso como estudio pequeño supone tanto un riesgo jurídico como una bomba para tu reputación.</p>
<h2 id="requisitos-de-divulgacion" tabindex="-1">Requisitos de divulgación <a class="header-anchor" href="#requisitos-de-divulgacion" aria-label="Permalink to &quot;Requisitos de divulgación&quot;"></a></h2>
<p>Si vas a publicar en Steam, tienes que declarar el contenido de voz generado por IA. La <a href="https://finance.biggo.com/news/202601171220_Steam_AI_Disclosure_Update_Focuses_on_Player_Content" target="_blank" rel="noreferrer">política de divulgación sobre IA de Valve está vigente desde principios de 2024 y se actualizó el 17 de enero de 2026</a> para centrarse específicamente en el contenido generado por IA que se distribuye con el videojuego y es <a href="https://www.pcgamer.com/software/ai/steam-updates-ai-disclosure-form-to-specify-that-its-focused-on-ai-generated-content-that-is-consumed-by-players-not-efficiency-tools-used-behind-the-scenes/" target="_blank" rel="noreferrer">consumido por los jugadores, no en las herramientas internas destinadas a mejorar la eficiencia</a>. Las líneas de voz generadas por IA están incluidas explícitamente. La política distingue entre contenido pregenerado, incorporado a la descarga como las voces y las imágenes creadas con IA, y contenido generado en directo, en el que el juego crea diálogos sobre la marcha y se exige implementar medidas de protección contra resultados ilegales u ofensivos. La declaración aparece en la página de la tienda, dentro de «Acerca de este juego», y los jugadores pueden verla antes de comprar.</p>
<p>En la práctica: si utilizaste IA para generar líneas de voz incluidas en el videojuego, marca la casilla de contenido pregenerado y descríbelo con honestidad. Si tus PNJ generan diálogos en tiempo de ejecución, se considera contenido generado en directo y conlleva la obligación adicional de incorporar medidas de protección. Actualmente, otras plataformas son menos formales en cuanto a la divulgación específica de voces en videojuegos, pero la tendencia del sector apunta hacia un mayor etiquetado, no hacia uno menor, y ser transparente suele sentar mejor a los jugadores que ser descubierto. Además de las normas de las tiendas, algunas comunidades y premios tienen sus propios límites: los <a href="https://www.notebookcheck.net/Indie-Game-Awards-disqualify-Clair-Obscur-Expedition-33-after-generative-AI-controversy.1189979.0.html" target="_blank" rel="noreferrer">Indie Game Awards descalificaron a un nominado en 2025 después de que saliera a la luz el uso de IA generativa</a>, así que, si aspiras a participar en un festival concreto o a publicar en una tienda específica, consulta también su política.</p>
<h2 id="consejos-para-el-flujo-de-trabajo" tabindex="-1">Consejos para el flujo de trabajo <a class="header-anchor" href="#consejos-para-el-flujo-de-trabajo" aria-label="Permalink to &quot;Consejos para el flujo de trabajo&quot;"></a></h2>
<p>La diferencia entre una voz de IA que parece pertenecer a un juego y otra que suena como un menú telefónico automatizado depende principalmente de la dirección. Escribe las frases tal como quieres que se interpreten y haz que la puntuación cumpla una función real, porque las comas, los puntos suspensivos y los saltos de línea alteran el ritmo más que cualquier ajuste. Genera varias tomas de cada frase importante y elige la mejor, igual que haría un director con un actor humano. Mantén una voz coherente para cada personaje a lo largo de todo el guion y anota el ID exacto de la voz y los ajustes utilizados, para que una frase que vuelvas a generar tres meses después siga sonando igual.</p>
<p>Genera el audio por lotes cuando el guion esté listo, en lugar de regenerarlo constantemente mientras escribes, porque ahí es donde se pierden los créditos y el tiempo. Para los momentos emotivos, algunas herramientas permiten orientar el tono mediante una instrucción breve o un control de emoción; merece la pena concentrar el esfuerzo ahí y dejar que las frases incidentales se generen automáticamente. Mantén las voces con el mismo volumen y formato que el resto del audio para que los diálogos, <a href="/es/guides/free-sound-effects-music.html">la música y los efectos de sonido</a> encajen bien en la mezcla. Y prueba las voces con jugadores reales desde el principio, porque esa interpretación plana que dejas de percibir después de escucharla cincuenta veces es lo primero que nota un jugador nuevo.</p>
<h2 id="cuando-contratar-actores-humanos" tabindex="-1">Cuándo contratar actores humanos <a class="header-anchor" href="#cuando-contratar-actores-humanos" aria-label="Permalink to &quot;Cuándo contratar actores humanos&quot;"></a></h2>
<p>La voz de IA es una herramienta, no un sustituto de una interpretación, y los desarrolladores que la utilizan bien son sinceros al respecto. Incluso <a href="https://gamerant.com/arc-raiders-controversial-ai-voice-change/" target="_blank" rel="noreferrer">Embark Studios, cuyo ARC Raiders se lanzó con diálogos generados por IA en octubre de 2025, sustituyó muchas de esas frases por interpretaciones humanas después del lanzamiento</a>, y el director ejecutivo del estudio afirmó claramente que existe una diferencia de calidad entre la IA y un actor profesional real. Esa es la señal. Si la voz de un personaje es fundamental para la identidad de tu juego, si dependes de una interpretación emocional sutil o si tu público tiende a examinar y penalizar el uso de voces de IA, contrata a una persona. Los actores reales aportan interpretación, improvisación y una precisión que los modelos actuales todavía se limitan a aproximar.</p>
<p>Utiliza voces de IA donde realmente encajen: prototipos y pistas temporales para comprobar el ritmo de los diálogos antes de comprometerte, grandes volúmenes de frases funcionales como conversaciones por radio y exclamaciones genéricas, voces provisionales que sustituirás más adelante, proyectos en solitario sin presupuesto cuya alternativa sería el silencio y funciones de accesibilidad como la lectura en voz alta del texto de la interfaz. Una opción intermedia habitual consiste en generar todo con IA para perfeccionar el guion y los tiempos, y después contratar actores humanos para las frases que sostienen el peso del juego. Así inviertes el presupuesto de voces donde realmente marca la diferencia y dejas que la IA se encargue del resto.</p>
<BuildCta
  title="Crea el juego y después decide qué hacer con las voces"
  desc="Cinevva convierte una instrucción en un juego para navegador, con efectos de sonido y música generados para ti. Las voces las añadirás con las herramientas anteriores."
  prompt="Crea un juego corto de aventura narrativa con diálogos ramificados" />
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿es-legal-utilizar-voces-de-ia-en-un-juego-comercial" tabindex="-1">¿Es legal utilizar voces de IA en un juego comercial? <a class="header-anchor" href="#¿es-legal-utilizar-voces-de-ia-en-un-juego-comercial" aria-label="Permalink to &quot;¿Es legal utilizar voces de IA en un juego comercial?&quot;"></a></h3>
<p>Sí, siempre que utilices una herramienta cuya licencia permita el uso comercial y no clones la voz de una persona real sin su consentimiento. Los planes de pago de ElevenLabs, OpenAI, Murf y Resemble incluyen derechos de uso comercial, y los modelos de código abierto con licencias permisivas, como Piper y Bark, pueden incluirse en un juego sin coste. Las dos formas de meterte en problemas son publicar resultados de un plan gratuito que prohíba el uso comercial y exija atribución, o entrenar una voz con grabaciones de un actor real sin permiso. Ambas se pueden evitar.</p>
<h3 id="¿cuanto-cuesta-usar-voces-de-ia-en-un-juego" tabindex="-1">¿Cuánto cuesta usar voces de IA en un juego? <a class="header-anchor" href="#¿cuanto-cuesta-usar-voces-de-ia-en-un-juego" aria-label="Permalink to &quot;¿Cuánto cuesta usar voces de IA en un juego?&quot;"></a></h3>
<p>Menos de lo que la mayoría espera. Un juego corto con unos cientos de frases cabe dentro del plan Starter de ElevenLabs, que cuesta 6 dólares al mes, o cuesta menos de un dólar mediante la API de OpenAI; además, los modelos de código abierto se pueden ejecutar gratis en tu propio equipo. Un RPG cargado de diálogos, con miles de frases y varios idiomas, podría obligarte a contratar un plan de 99 dólares o generar un gasto de API de unos pocos cientos de dólares. Incluso en el extremo superior, eso representa solo una fracción de lo que cuesta un reparto humano completo.</p>
<h3 id="¿tengo-que-declarar-el-uso-de-voces-de-ia-en-steam" tabindex="-1">¿Tengo que declarar el uso de voces de IA en Steam? <a class="header-anchor" href="#¿tengo-que-declarar-el-uso-de-voces-de-ia-en-steam" aria-label="Permalink to &quot;¿Tengo que declarar el uso de voces de IA en Steam?&quot;"></a></h3>
<p>Sí. La política de Steam sobre la divulgación del uso de IA exige declarar el contenido generado por IA que se incluye en el juego y que consumen los jugadores, y las frases con voces de IA están cubiertas expresamente. La declaración aparece en la página de la tienda, dentro de «Acerca de este juego». Desde la actualización de enero de 2026, las herramientas internas que no producen contenido visible para los jugadores han dejado de ser el foco, pero las frases que los jugadores realmente oyen sí lo son. Si tu juego genera diálogos en directo durante la ejecución, eso pertenece a una categoría distinta que también exige medidas de seguridad.</p>
<h3 id="¿puedo-clonar-la-voz-de-un-actor-real-o-de-una-celebridad-para-mi-juego" tabindex="-1">¿Puedo clonar la voz de un actor real o de una celebridad para mi juego? <a class="header-anchor" href="#¿puedo-clonar-la-voz-de-un-actor-real-o-de-una-celebridad-para-mi-juego" aria-label="Permalink to &quot;¿Puedo clonar la voz de un actor real o de una celebridad para mi juego?&quot;"></a></h3>
<p>No sin su consentimiento explícito y remunerado. Clonar la voz de una persona real sin permiso te expone a reclamaciones legales relacionadas con los derechos de imagen y publicidad, y es precisamente la práctica que el convenio de videojuegos de SAG-AFTRA pretende impedir. El contrato de 2025 exige consentimiento, transparencia y compensación por las réplicas digitales de las voces de los intérpretes. Aunque seas un desarrollador independiente ajeno a ese contrato, el riesgo legal y reputacional de utilizar un clon no autorizado es real. Utiliza voces sintéticas predefinidas o licencia correctamente una voz.</p>
<h3 id="¿los-jugadores-sabran-que-he-utilizado-voces-de-ia-¿les-importara" tabindex="-1">¿Los jugadores sabrán que he utilizado voces de IA? ¿Les importará? <a class="header-anchor" href="#¿los-jugadores-sabran-que-he-utilizado-voces-de-ia-¿les-importara" aria-label="Permalink to &quot;¿Los jugadores sabrán que he utilizado voces de IA? ¿Les importará?&quot;"></a></h3>
<p>A menudo, sí en ambos casos. Los jugadores han aprendido a detectar la interpretación plana y ligeramente extraña de la síntesis de voz actual, y varios juegos de 2025 y 2026 recibieron críticas públicas por utilizar voces de IA; algunos desarrolladores incluso dieron marcha atrás después del lanzamiento. No ocurre siempre, y las frases funcionales o las voces claramente estilizadas suelen generar menos rechazo que un personaje protagonista interpretando diálogos emotivos. Sé transparente en tu declaración, utiliza la IA donde encaje en lugar de hacerlo donde resulte evidente que no encaja y considera contratar actores humanos para las voces que definen tu juego.</p>
<h3 id="¿cual-es-la-mejor-herramienta-gratuita-de-voces-de-ia-para-juegos" tabindex="-1">¿Cuál es la mejor herramienta gratuita de voces de IA para juegos? <a class="header-anchor" href="#¿cual-es-la-mejor-herramienta-gratuita-de-voces-de-ia-para-juegos" aria-label="Permalink to &quot;¿Cuál es la mejor herramienta gratuita de voces de IA para juegos?&quot;"></a></h3>
<p>Si quieres publicar un juego comercial sin presupuesto, utiliza un modelo de código abierto con una licencia permisiva, ya que los planes gratuitos de las herramientas de pago prohíben el uso comercial. Piper funciona en una CPU normal y es una opción excelente para equipos modestos o para generar voces durante la ejecución; Bark y Kokoro también son fáciles de incluir en un juego publicado. XTTS v2 ofrece la clonación de voz multilingüe más potente si tienes una GPU, pero solo sirve para prototipos y no para publicar: los pesos de su modelo utilizan la licencia CPML de Coqui, que no permite el uso comercial. Confirma la licencia del modelo concreto antes de basar tu proyecto en él, porque «código abierto» no siempre significa «uso comercial permitido».</p>
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/ai-music-generators-games.html">Los mejores generadores de música con IA para juegos</a> — la misma cuestión sobre herramientas aplicada a la banda sonora</li>
<li><a href="/es/guides/free-sound-effects-music.html">Efectos de sonido y música gratis para juegos</a> — dónde conseguir legalmente el resto del audio</li>
<li><a href="/es/guides/ai-npcs-dialogue.html">PNJ y diálogos con IA</a> — cómo generar conversaciones, no solo leerlas en voz alta</li>
<li><a href="/es/guides/ai-asset-generators-games.html">Generadores de recursos con IA para juegos</a> — arte, modelos y audio a partir de una instrucción</li>
<li><a href="/es/guides/game-asset-licenses.html">Explicación de las licencias de recursos para juegos</a> — qué significan realmente «comercial», CC0 y «libre de regalías»</li>
<li><a href="/es/guides/make-a-game-with-ai.html">Cómo crear un juego con IA (sin programar)</a> — crea el juego en el que utilizarás las voces</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/ai-voice-acting-games-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mejores sprites 2D, pixel art y tilesets gratis para juegos (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/free-2d-sprites-tilesets</link>
            <guid>https://app.cinevva.com/es/guides/free-2d-sprites-tilesets</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Los mejores sprites 2D, pixel art y tilesets gratis de 2026: fuentes CC0 como Kenney, OpenGameArt, creadores de itch.io y generadores de IA, con las licencias explicadas.]]></description>
            <content:encoded><![CDATA[<h1 id="mejores-sprites-2d-pixel-art-y-tilesets-gratis-para-juegos-2026" tabindex="-1">Mejores sprites 2D, pixel art y tilesets gratis para juegos (2026) <a class="header-anchor" href="#mejores-sprites-2d-pixel-art-y-tilesets-gratis-para-juegos-2026" aria-label="Permalink to &quot;Mejores sprites 2D, pixel art y tilesets gratis para juegos (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Los mejores sitios para conseguir sprites 2D, pixel art y tilesets gratis para juegos son Kenney (más de 40.000 recursos CC0), OpenGameArt (filtrando por licencia) y varios creadores de itch.io, como Pixel Frog, Ansimuz y 0x72, que publican paquetes completos bajo CC0. Todos ellos se pueden usar de forma segura en juegos comerciales sin necesidad de atribución. Estas son todas las fuentes que merece la pena guardar en favoritos en 2026, con las condiciones exactas de sus licencias verificadas para que no tengas que adivinarlas.</p>
<figure class="sample-sheet">
<a href="/es/assets?providers=kenney"><img src="https://cdn.cinevva.com/guides/samples/samples-pixel-tiles.jpg" alt="Sprites de pixel art de paquetes CC0 de Kenney: astronauta, puerta de mazmorra, naves de matamarcianos y tiles de plataformas" loading="lazy"></a>
<figcaption>Personajes, naves, tiles y objetos de pixel art de los paquetes CC0 de Kenney. <a href="/es/assets?providers=kenney">Explóralos en la biblioteca de recursos</a>.</figcaption>
</figure>
<h2 id="seleccion-rapida" tabindex="-1">Selección rápida <a class="header-anchor" href="#seleccion-rapida" aria-label="Permalink to &quot;Selección rápida&quot;"></a></h2>
<ul>
<li><strong>Todo en un mismo sitio, estilo coherente y ningún riesgo de licencia:</strong> Kenney (CC0).</li>
<li><strong>Paquetes completos de plataformas con personajes animados:</strong> Pixel Frog y Ansimuz en itch.io (CC0).</li>
<li><strong>Tiles y personajes para juegos de mazmorras:</strong> DungeonTileset II de 0x72 (CC0).</li>
<li><strong>Tiles para RPG con vista cenital:</strong> Cainos en itch.io o la colección LPC en OpenGameArt.</li>
<li><strong>Miles de iconos de interfaz e inventario:</strong> Game-icons.net (CC BY 3.0, requiere atribución).</li>
<li><strong>Dibuja tus propios recursos:</strong> Aseprite (de pago), Libresprite o Piskel (gratis).</li>
</ul>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Necesidad</th>
<th>Mejor fuente</th>
<th>Licencia</th>
<th>Atribución</th>
</tr>
</thead>
<tbody>
<tr>
<td>Sprites y tiles de plataformas</td>
<td>Kenney, Pixel Frog</td>
<td>CC0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Tileset de mazmorra en pixel art</td>
<td>0x72</td>
<td>CC0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Tiles para RPG con vista cenital</td>
<td>Cainos, LPC (OpenGameArt)</td>
<td>Gratis / CC-BY-SA + GPL</td>
<td>Ninguna / atribución + compartir igual</td>
</tr>
<tr>
<td>Gran archivo con buscador</td>
<td>OpenGameArt</td>
<td>De CC0 a CC-BY-SA</td>
<td>Depende del filtro</td>
</tr>
<tr>
<td>Paquetes temáticos pulidos</td>
<td>Recursos gratuitos de CraftPix</td>
<td>Licencia de CraftPix</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Interfaz de juego e iconos de objetos</td>
<td>Game-icons.net</td>
<td>CC BY 3.0</td>
<td>Obligatoria</td>
</tr>
<tr>
<td>Paletas y técnicas</td>
<td>Lospec</td>
<td>Varía</td>
<td>No aplicable</td>
</tr>
</tbody>
</table>
<h2 id="la-referencia-cc0-kenney" tabindex="-1">La referencia CC0: Kenney <a class="header-anchor" href="#la-referencia-cc0-kenney" aria-label="Permalink to &quot;La referencia CC0: Kenney&quot;"></a></h2>
<figure class="sample-sheet">
<a href="/es/assets?providers=kenney"><img src="https://cdn.cinevva.com/guides/samples/samples-kenney-sprites.jpg" alt="Muestra de sprites 2D CC0 de Kenney: astronauta, naves espaciales, tiles de pixel art, emoticono de corazón y alienígena" loading="lazy"></a>
<figcaption>Una muestra de la variedad 2D de Kenney: personajes, naves, tiles y emoticonos, todo CC0. <a href="/es/assets?providers=kenney">Explora los sprites de Kenney en la biblioteca de recursos</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://kenney.nl" target="_blank" rel="noreferrer">kenney.nl</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 (dominio público), no requiere atribución</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 40.000 en más de 270 paquetes, con más de 100 paquetes solo en la sección 2D</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Sprites y hojas de sprites PNG, además de archivos vectoriales originales en muchos paquetes</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, un ZIP gratuito por paquete</td>
</tr>
</tbody>
</table>
<p>Kenney es, con diferencia, el mejor punto de partida para encontrar arte 2D para juegos. Todo es CC0, está dividido en hojas de sprites listas para usar en juegos y los paquetes de una misma familia visual combinan entre sí, por lo que puedes usar el New Platformer Pack junto con un UI Pack e Input Prompts sin que los estilos choquen. La serie Tiny (Tiny Town, Tiny Farm y Tiny Dungeon) es una de las favoritas para juegos con vista cenital de 16x16, mientras que Roguelike Characters reúne cientos de personajes diminutos en una sola hoja. También puedes <a href="/es/assets.html?providers=kenney">buscar sprites de Kenney en la biblioteca de recursos de Cinevva</a>.</p>
<figure class="sample-sheet">
<a href="/es/assets?providers=kenney"><img src="https://cdn.cinevva.com/guides/samples/samples-kenney-ui.jpg" alt="Elementos de interfaz CC0 de Kenney: botón, icono de mando, indicación de tecla, marca de verificación, tarjetas de objetos, medalla y punto de mira" loading="lazy"></a>
<figcaption>Botones, iconos, indicaciones de controles, puntos de mira y tarjetas de objetos de los paquetes de interfaz CC0 de Kenney. <a href="/es/assets?providers=kenney">Explora los paquetes de interfaz en la biblioteca de recursos</a>.</figcaption>
</figure>
<h2 id="opengameart" tabindex="-1">OpenGameArt <a class="header-anchor" href="#opengameart" aria-label="Permalink to &quot;OpenGameArt&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://opengameart.org" target="_blank" rel="noreferrer">opengameart.org</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Según el recurso: CC0, OGA-BY, CC-BY, CC-BY-SA, GPL o dominio público</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Miles de aportaciones 2D, impulsadas por la comunidad desde 2009</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>PNG, hojas de sprites y archivos fuente que varían según cada aportación</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, archivos adjuntos en la página de cada aportación</td>
</tr>
</tbody>
</table>
<p>OpenGameArt es el archivo de arte gratuito para juegos más antiguo que sigue funcionando y continúa activo en 2026, con concursos artísticos y nuevas aportaciones frecuentes. La calidad varía muchísimo, por lo que el truco está en usar el filtro de licencias del sitio: marca la casilla CC0 en la búsqueda y solo obtendrás resultados seguros para uso comercial. La colección más destacada es el estilo Liberated Pixel Cup (LPC), un estándar coordinado de arte 32x32 para RPG con vista cenital que cuenta con una enorme biblioteca de tiles y personajes compatibles, además del Universal LPC Spritesheet Character Generator. Hay una salvedad: el arte LPC tiene licencia dual CC-BY-SA 3.0 y GPLv3, lo que significa que debes atribuir a sus autores y que las obras derivadas deben conservar la misma licencia. Por eso, consulta nuestra <a href="/es/guides/game-asset-licenses.html">guía de licencias</a> antes de basar en esta colección un juego comercial.</p>
<h2 id="paquetes-de-recursos-gratuitos-de-itch-io" tabindex="-1">Paquetes de recursos gratuitos de itch.io <a class="header-anchor" href="#paquetes-de-recursos-gratuitos-de-itch-io" aria-label="Permalink to &quot;Paquetes de recursos gratuitos de itch.io&quot;"></a></h2>
<p>itch.io alberga más de 6.500 paquetes gratuitos solo bajo la etiqueta Sprites y es donde publica la mayoría de los artistas de pixel art en activo. Cada creador establece la licencia de sus propios paquetes, así que revisa siempre la página correspondiente. Estos creadores merecen tu atención de forma sistemática.</p>
<h3 id="pixel-frog" tabindex="-1">Pixel Frog <a class="header-anchor" href="#pixel-frog" aria-label="Permalink to &quot;Pixel Frog&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://pixelfrog-assets.itch.io" target="_blank" rel="noreferrer">pixelfrog-assets.itch.io</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Pixel Adventure es explícitamente CC0; consulta la página de cada paquete</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Paquetes temáticos completos: Pixel Adventure 1 y 2, Kings and Pigs, Treasure Hunters, Pirate Bomb y Tiny Swords</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Hojas de sprites PNG, animaciones a 20 FPS</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, gratis (paga lo que quieras)</td>
</tr>
</tbody>
</table>
<p>Si quieres crear un juego de plataformas completo este fin de semana, empieza aquí. Pixel Adventure incluye personajes animados, enemigos, tilesets, trampas y objetos con un estilo coherente, todo publicado bajo CC0 para que puedas lanzar un juego comercial sin atribución. Tiny Swords, el paquete más reciente de batallas con vista cenital, recibe actualizaciones frecuentes y encabezó la lista de sprites gratuitos de itch.io en 2026.</p>
<h3 id="ansimuz" tabindex="-1">Ansimuz <a class="header-anchor" href="#ansimuz" aria-label="Permalink to &quot;Ansimuz&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://ansimuz.itch.io" target="_blank" rel="noreferrer">ansimuz.itch.io</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>SunnyLand es explícitamente CC0; las licencias de otros paquetes gratuitos varían, así que consulta cada página</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Amplio catálogo: SunnyLand, la serie Warped, Gothicvania, TinyRPG y una colección clásica gratuita de estilo 16 bits</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Hojas de sprites PNG, fondos con paralaje; SunnyLand incluye archivos de proyecto para Phaser y Godot</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, paquetes gratuitos junto con megacolecciones de pago</td>
</tr>
</tbody>
</table>
<p>Ansimuz lleva una década regalando pixel art de gran calidad. SunnyLand es su principal paquete gratuito: un kit completo de plataformas CC0 con jugador animado, enemigos, objetos, efectos e incluso música, además de proyectos preparados para Phaser y Godot. Los paquetes gratuitos de metroidvania Warped y la colección clásica de 16 bits cubren ambientaciones más oscuras de ciencia ficción. Las grandes colecciones Gothicvania son de pago, pero solo con los recursos gratuitos basta para crear un juego terminado.</p>
<h3 id="_0x72" tabindex="-1">0x72 <a class="header-anchor" href="#_0x72" aria-label="Permalink to &quot;0x72&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://0x72.itch.io" target="_blank" rel="noreferrer">0x72.itch.io</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>DungeonTileset II es explícitamente CC0; no es necesario atribuir</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>DungeonTileset II de 16x16, además de tilesets gratuitos industriales, de piratas y de robots</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Atlas PNG, con tiles automáticos incluidos desde la versión 1.7</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, gratis (paga lo que quieras)</td>
</tr>
</tbody>
</table>
<p>DungeonTileset II lleva años siendo la respuesta habitual a «¿dónde encuentro un tileset gratuito para un roguelike?». Una sola descarga incluye paredes y suelos de mazmorra, antorchas animadas, trampas, armas y decenas de personajes animados, desde caballeros hasta demonios, todo en 16x16, todo CC0 y todavía con mantenimiento activo. Si has jugado a algún pequeño juego independiente de mazmorras, probablemente ya hayas visto estos sprites.</p>
<h3 id="cainos" tabindex="-1">Cainos <a class="header-anchor" href="#cainos" aria-label="Permalink to &quot;Cainos&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://cainos.itch.io" target="_blank" rel="noreferrer">cainos.itch.io</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Gratis para proyectos comerciales, sin necesidad de atribución; no se permite redistribuir ni revender</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Pixel Art Top Down - Basic: tilesets de 32x32, 48 objetos, árboles y controlador de personaje</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Tilesets y sprites PNG, proyecto de Unity incluido; las texturas también funcionan en Godot</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, gratis (paga lo que quieras)</td>
</tr>
</tbody>
</table>
<p>Pixel Art Top Down - Basic es uno de los mejores puntos de partida gratuitos para crear un RPG con vista cenital o un juego de granja. Incluye tilesets de césped, piedra y muros con objetos y sprites de sombras a juego en 32x32, además de una sencilla escena de demostración para Unity. En lugar de CC0, utiliza la licencia propia de Cainos, pero las condiciones son claras: puedes usarlo en juegos gratuitos o comerciales y modificarlo libremente; simplemente no puedes revender los archivos originales.</p>
<h3 id="penusbmic" tabindex="-1">penusbmic <a class="header-anchor" href="#penusbmic" aria-label="Permalink to &quot;penusbmic&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://penusbmic.itch.io" target="_blank" rel="noreferrer">penusbmic.itch.io</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Depende del paquete; consulta cada página antes de publicar tu juego</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Paquetes mensuales: la serie DARK, STRANDED, personajes de ciencia ficción y muestras gratuitas en la mayoría de las series</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Hojas de sprites PNG con animaciones fluidas de varios fotogramas</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, muestras gratuitas junto con paquetes de pago (de 1,99 a 9,99 dólares)</td>
</tr>
</tbody>
</table>
<p>Penusbmic trabajó en Dome Keeper y Shogun Showdown, y la calidad de sus animaciones lo demuestra. La mayoría de las series incluye una muestra gratuita, como el Skeleton Warrior, el tileset Dungeon Ruins o un héroe de la serie DARK, mientras que los paquetes completos son lo bastante económicos como para comprarlos cuando decidas usarlos. Las condiciones de licencia aparecen en la página de cada paquete, así que léelas antes de un lanzamiento comercial.</p>
<h3 id="recursos-gratuitos-de-craftpix" tabindex="-1">Recursos gratuitos de CraftPix <a class="header-anchor" href="#recursos-gratuitos-de-craftpix" aria-label="Permalink to &quot;Recursos gratuitos de CraftPix&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://craftpix.net/freebies/" target="_blank" rel="noreferrer">craftpix.net/freebies</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Licencia propia de CraftPix: permite el uso comercial y proyectos ilimitados; consulta su página file-licenses</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Cientos de paquetes gratuitos repartidos en unas 291 páginas: sprites, tilesets, kits de interfaz, iconos y fondos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>PNG y archivos fuente por capas en muchos paquetes</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, puede requerir una cuenta gratuita</td>
</tr>
</tbody>
</table>
<p>CraftPix es una tienda comercial de recursos con una sección gratuita excepcionalmente amplia. Sus recursos gratuitos son paquetes pulidos y listos para producción, y las condiciones indicadas permiten utilizarlos comercialmente en un número ilimitado de proyectos. No son CC0, sino que emplean una licencia propia con restricciones sobre la reventa; basta con revisar una vez su página file-licenses para conocerlas. Destaca por sus kits completos de interfaz y sus paquetes de personajes temáticos, que tardarías semanas en dibujar por tu cuenta.</p>
<h2 id="game-icons-net" tabindex="-1">Game-icons.net <a class="header-anchor" href="#game-icons-net" aria-label="Permalink to &quot;Game-icons.net&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://game-icons.net" target="_blank" rel="noreferrer">game-icons.net</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC BY 3.0, requiere atribución</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 4.100 iconos creados por Lorc, Delapouite y otros colaboradores</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>SVG y PNG, con variantes blancas sobre fondo negro y transparentes</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, por icono o como paquete completo</td>
</tr>
</tbody>
</table>
<p>Toda pantalla de inventario, árbol de habilidades y descripción emergente de objetos necesita iconos, y game-icons.net ofrece más de 4.100 con un estilo de silueta coherente, todos en formato SVG y fáciles de recolorear. La contrapartida es la licencia: CC BY 3.0 exige mencionar a los autores en el juego. Basta con una sola línea en la pantalla de créditos, un intercambio más que razonable a cambio de una colección tan completa.</p>
<h2 id="lospec" tabindex="-1">Lospec <a class="header-anchor" href="#lospec" aria-label="Permalink to &quot;Lospec&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://lospec.com" target="_blank" rel="noreferrer">lospec.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Las paletas se pueden usar libremente; las obras de la galería pertenecen a sus artistas</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 4.300 paletas de colores en 6 formatos de descarga y más de 500 tutoriales</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Archivos de paletas (PNG, ASE, GPL y otros)</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí</td>
</tr>
</tbody>
</table>
<p>Lospec no es una biblioteca de sprites, sino el centro de referencia de la comunidad del pixel art, y merece aparecer aquí porque las paletas representan la mitad de lo que hace que este tipo de arte se vea bien. Descarga una paleta contrastada de 16 o 32 colores, cárgala en tu editor y tus sprites tendrán de inmediato un aspecto deliberado en lugar de apagado. Su sección de tutoriales es el mejor recurso gratuito de aprendizaje sobre pixel art de la web, y sus herramientas —como el escalador y el generador de tramado— resuelven problemas reales del flujo de trabajo.</p>
<h2 id="dibuja-tus-propios-sprites" tabindex="-1">Dibuja tus propios sprites <a class="header-anchor" href="#dibuja-tus-propios-sprites" aria-label="Permalink to &quot;Dibuja tus propios sprites&quot;"></a></h2>
<p>Cuando no encuentras el sprite que necesitas, dibujar un personaje de 16x16 es más asequible de lo que parece. Aseprite es el editor estándar del sector: se compra una sola vez, dispone de una versión de prueba y está diseñado específicamente para trabajar con hojas de sprites, animación con piel de cebolla y control de paletas. Además, su código fuente está en GitHub por si prefieres compilarlo tú mismo. Libresprite es una bifurcación gratuita y de código abierto de una versión antigua de Aseprite que cubre todos los fundamentos. Piskel es un editor gratuito y de código abierto que funciona en el navegador sin instalación, exporta hojas de sprites PNG y GIF animados, y ofrece aplicaciones de escritorio para Windows, macOS y Linux. Empieza con Piskel para aprender y pásate a Aseprite cuando te enganche.</p>
<h2 id="genera-sprites-con-ia" tabindex="-1">Genera sprites con IA <a class="header-anchor" href="#genera-sprites-con-ia" aria-label="Permalink to &quot;Genera sprites con IA&quot;"></a></h2>
<p>En 2026, las herramientas de IA ya pueden producir pixel art aprovechable e incluso hojas de sprites animadas. PixelLab funciona en el navegador o como complemento de Aseprite y genera personajes con variantes en 4 u 8 direcciones, además de fotogramas de animación, algo que antes era una de las partes más tediosas de la creación de sprites. Retro Diffusion entrena modelos específicamente con pixel art y hojas de sprites de varios fotogramas, por lo que sus resultados están más cerca de poder usarse directamente en un juego que los de un modelo de imágenes generalista. Hay dos salvedades. Los derechos de uso comercial de las herramientas alojadas suelen estar vinculados a planes de pago, así que consulta sus condiciones antes de publicar. Además, los resultados de la IA casi siempre necesitan retoques en un editor de pixel art para mantener una paleta disciplinada y unas proporciones coherentes entre todos los personajes. Por tanto, trátalos como un primer borrador rápido, no como un recurso terminado. La <a href="/es/assets.html">búsqueda de recursos</a> de Cinevva también incluye cientos de sprites CC0 que puedes incorporar directamente a un juego sin generar nada.</p>
<h2 id="licencias-en-30-segundos" tabindex="-1">Licencias en 30 segundos <a class="header-anchor" href="#licencias-en-30-segundos" aria-label="Permalink to &quot;Licencias en 30 segundos&quot;"></a></h2>
<ul>
<li><strong>CC0:</strong> dominio público. Puedes usarlos comercialmente, modificarlos y no requieren atribución. La opción más segura.</li>
<li><strong>CC-BY:</strong> permite el uso comercial gratuito, pero debes acreditar al creador.</li>
<li><strong>CC-BY-SA:</strong> requiere atribución y las obras derivadas deben usar la misma licencia. Este es el caso de LPC.</li>
<li><strong>Licencia propia del creador (Cainos, CraftPix):</strong> normalmente permite «usarlos en cualquier proyecto, pero no revender los archivos». Lee la página del paquete.</li>
</ul>
<p>En caso de duda, elige CC0. Para consultar todos los detalles, visita nuestra <a href="/es/guides/game-asset-licenses.html">guía de licencias de recursos para videojuegos</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿donde-puedo-descargar-sprites-2d-gratuitos-para-videojuegos" tabindex="-1">¿Dónde puedo descargar sprites 2D gratuitos para videojuegos? <a class="header-anchor" href="#¿donde-puedo-descargar-sprites-2d-gratuitos-para-videojuegos" aria-label="Permalink to &quot;¿Dónde puedo descargar sprites 2D gratuitos para videojuegos?&quot;"></a></h3>
<p>Kenney es el mejor punto de partida, con más de 40 000 recursos CC0, incluidos sprites, tilesets y paquetes de interfaz. En itch.io, Pixel Frog y Ansimuz publican paquetes animados completos bajo CC0, mientras que OpenGameArt permite filtrar por licencia miles de aportaciones de la comunidad. Todos ellos pueden usarse gratis en juegos comerciales.</p>
<h3 id="¿es-seguro-usar-sprites-gratuitos-en-un-juego-comercial" tabindex="-1">¿Es seguro usar sprites gratuitos en un juego comercial? <a class="header-anchor" href="#¿es-seguro-usar-sprites-gratuitos-en-un-juego-comercial" aria-label="Permalink to &quot;¿Es seguro usar sprites gratuitos en un juego comercial?&quot;"></a></h3>
<p>Los sprites CC0 siempre son seguros: no requieren atribución ni tienen restricciones. Los sprites CC-BY necesitan una línea de atribución, y los CC-BY-SA (como la colección LPC) también exigen que las obras derivadas mantengan la misma licencia. En los paquetes sujetos a la licencia propia de un creador, como los de Cainos o CraftPix, las condiciones suelen permitir el uso comercial, pero prohíben revender los archivos originales.</p>
<h3 id="¿cual-es-el-mejor-tileset-de-pixel-art-gratuito-para-un-juego-de-exploracion-de-mazmorras" tabindex="-1">¿Cuál es el mejor tileset de pixel art gratuito para un juego de exploración de mazmorras? <a class="header-anchor" href="#¿cual-es-el-mejor-tileset-de-pixel-art-gratuito-para-un-juego-de-exploracion-de-mazmorras" aria-label="Permalink to &quot;¿Cuál es el mejor tileset de pixel art gratuito para un juego de exploración de mazmorras?&quot;"></a></h3>
<p>DungeonTileset II de 0x72, disponible en itch.io y con una resolución de 16x16. Es CC0, recibe mantenimiento activo e incluye tiles de mazmorras, antorchas animadas, trampas, armas y decenas de personajes animados en una sola descarga. Combínalo con Tiny Dungeon de Kenney si quieres más variedad en una escala general similar.</p>
<h3 id="¿tengo-que-acreditar-al-artista-cuando-uso-sprites-gratuitos" tabindex="-1">¿Tengo que acreditar al artista cuando uso sprites gratuitos? <a class="header-anchor" href="#¿tengo-que-acreditar-al-artista-cuando-uso-sprites-gratuitos" aria-label="Permalink to &quot;¿Tengo que acreditar al artista cuando uso sprites gratuitos?&quot;"></a></h3>
<p>Solo si la licencia lo exige. CC0 no requiere nada; CC BY (como los más de 4100 iconos de game-icons.net) exige una línea de atribución; y CC-BY-SA añade además condiciones de compartir bajo la misma licencia. Incluso cuando la atribución no es obligatoria, incluir una mención en la pantalla de créditos es una buena forma de apoyar a los artistas que mantienen gratuitas estas bibliotecas.</p>
<h3 id="¿que-licencia-debo-buscar-en-los-paquetes-de-recursos-de-itch-io" tabindex="-1">¿Qué licencia debo buscar en los paquetes de recursos de itch.io? <a class="header-anchor" href="#¿que-licencia-debo-buscar-en-los-paquetes-de-recursos-de-itch-io" aria-label="Permalink to &quot;¿Qué licencia debo buscar en los paquetes de recursos de itch.io?&quot;"></a></h3>
<p>CC0 es la opción ideal porque elimina cualquier obligación. Los creadores de itch.io establecen las condiciones de licencia de forma individual en la página de cada paquete, así que desplázate más allá de las capturas de pantalla y lee la descripción antes de basar tu proyecto en uno de ellos. Si una página no indica nada, pregunta al creador o elige un paquete con condiciones explícitas.</p>
<h3 id="¿puedo-usar-ia-para-generar-sprites-para-un-juego-comercial" tabindex="-1">¿Puedo usar IA para generar sprites para un juego comercial? <a class="header-anchor" href="#¿puedo-usar-ia-para-generar-sprites-para-un-juego-comercial" aria-label="Permalink to &quot;¿Puedo usar IA para generar sprites para un juego comercial?&quot;"></a></h3>
<p>Normalmente sí, pero la licencia comercial suele estar incluida en el plan de pago de la herramienta, así que consulta las condiciones del generador que utilices. Herramientas como PixelLab y Retro Diffusion producen pixel art y hojas de sprites casi listas para usar en un juego, aunque la mayoría de los desarrolladores todavía retocan el resultado en un editor como Aseprite para mantener la coherencia de la paleta y las proporciones.</p>
<h3 id="¿cual-es-la-diferencia-entre-un-sprite-una-hoja-de-sprites-y-un-tileset" tabindex="-1">¿Cuál es la diferencia entre un sprite, una hoja de sprites y un tileset? <a class="header-anchor" href="#¿cual-es-la-diferencia-entre-un-sprite-una-hoja-de-sprites-y-un-tileset" aria-label="Permalink to &quot;¿Cuál es la diferencia entre un sprite, una hoja de sprites y un tileset?&quot;"></a></h3>
<p>Un sprite es una única imagen 2D, como un fotograma de un personaje. Una hoja de sprites agrupa muchos fotogramas en una sola imagen para que el motor pueda reproducirlos como una animación. Un tileset es una cuadrícula de pequeñas imágenes repetibles (habitualmente de 16x16 o 32x32) que se utilizan para construir mapas de niveles, como tiles de césped, muros y agua.</p>
<BuildCta
  title="Deja de buscar recursos. Consigue sprites ya colocados en un juego"
  desc="Cinevva incluye cientos de sprites CC0 gratuitos y construye el juego alrededor de ellos por ti."
  prompt="Crea un juego de plataformas 2D en pixel art en el que un zorro corra y salte por un bosque recogiendo cerezas, con enemigos sobre los que pueda saltar para derrotarlos" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para videojuegos</a> - la guía completa con más de 20 fuentes</li>
<li><a href="/es/guides/game-asset-licenses.html">Explicación de las licencias de recursos para videojuegos</a> - CC0, CC-BY y las demás</li>
<li><a href="/es/guides/free-3d-model-sites.html">Mejores sitios de modelos 3D gratuitos para videojuegos</a> - recursos para juegos 3D</li>
<li><a href="/es/guides/best-2d-game-engines-2026.html">Mejores motores de juegos 2D en 2026</a> - con qué herramientas crearlos</li>
<li><a href="/es/assets.html">Buscador de recursos de Cinevva</a> - busca en Kenney y otras fuentes desde un solo lugar</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/free-2d-sprites-tilesets-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Animaciones de personajes y rigging automático gratis: Mixamo y sus alternativas (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/free-character-animations-rigging</link>
            <guid>https://app.cinevva.com/es/guides/free-character-animations-rigging</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[¿Mixamo sigue siendo gratis en 2026? Sí, pero ya no recibe mantenimiento. Las mejores bibliotecas gratuitas de animaciones de personajes y herramientas de rigging automático, con licencias verificadas.]]></description>
            <content:encoded><![CDATA[<h1 id="animaciones-de-personajes-y-rigging-automatico-gratis-mixamo-y-sus-alternativas-2026" tabindex="-1">Animaciones de personajes y rigging automático gratis: Mixamo y sus alternativas (2026) <a class="header-anchor" href="#animaciones-de-personajes-y-rigging-automatico-gratis-mixamo-y-sus-alternativas-2026" aria-label="Permalink to &quot;Animaciones de personajes y rigging automático gratis: Mixamo y sus alternativas (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>En 2026 puedes obtener un personaje con rig y animaciones gratis sin tocar Blender. Mixamo sigue en línea y continúa siendo gratuito con una cuenta de Adobe, pero está en modo de mantenimiento, así que conviene conocer las alternativas: bibliotecas de animaciones CC0 como Quaternius Universal Animation Library, herramientas gratuitas de rigging automático como el <a href="/es/tools/rigger.html">Auto Rigger</a> de Cinevva, que funciona en el navegador, y AccuRIG de Reallusion, además de herramientas de texto a movimiento que generan animaciones a partir de una descripción escrita.</p>
<h2 id="recomendaciones-rapidas" tabindex="-1">Recomendaciones rápidas <a class="header-anchor" href="#recomendaciones-rapidas" aria-label="Permalink to &quot;Recomendaciones rápidas&quot;"></a></h2>
<ul>
<li><strong>La vía más rápida, sin instalar nada:</strong> <a href="/es/tools/rigger.html">Auto Rigger</a> + <a href="/es/tools/animate.html">Prompt Animations</a> de Cinevva, ambos gratis en el navegador.</li>
<li><strong>Mejor biblioteca de animaciones gratuita:</strong> Quaternius Universal Animation Library 1 y 2 (CC0, compatible con retargeting).</li>
<li><strong>La opción clásica:</strong> Mixamo; sigue siendo gratis y continúa funcionando, pero no esperes actualizaciones.</li>
<li><strong>Mejor herramienta gratuita de rigging automático para escritorio:</strong> AccuRIG 2.0 (Windows, requiere una cuenta gratuita de ActorCore).</li>
<li><strong>Mocap sin procesar en grandes cantidades:</strong> base de datos de CMU Graphics Lab, con más de 2500 movimientos; gratis, pero requiere limpieza.</li>
</ul>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Necesidad</th>
<th>Mejor opción</th>
<th>Licencia</th>
<th>Notas</th>
</tr>
</thead>
<tbody>
<tr>
<td>Rigging automático en el navegador</td>
<td><a href="/es/tools/rigger.html">Cinevva Auto Rigger</a></td>
<td>Gratis</td>
<td>Admite GLB/FBX/OBJ y exporta GLB con rig; bípedos y cuadrúpedos</td>
</tr>
<tr>
<td>Rigging automático más animaciones prediseñadas</td>
<td>Mixamo</td>
<td>Gratis, uso comercial sin regalías</td>
<td>Cuenta de Adobe, solo humanoides en pose T, sin mantenimiento</td>
</tr>
<tr>
<td>Rigging automático en escritorio</td>
<td>AccuRIG 2.0</td>
<td>Gratis</td>
<td>Windows; requiere una cuenta gratuita de ActorCore para exportar FBX/USD</td>
</tr>
<tr>
<td>Paquetes de animaciones listas para usar</td>
<td>Quaternius UAL 1 + 2</td>
<td>CC0</td>
<td>Más de 250 animaciones en total, compatibles con retargeting para Unity/Unreal/Godot</td>
</tr>
<tr>
<td>Personajes animados sencillos</td>
<td>Kenney</td>
<td>CC0</td>
<td>Personajes low poly con rig y clips básicos</td>
</tr>
<tr>
<td>Biblioteca de mocap sin procesar</td>
<td>Base de datos de mocap de CMU</td>
<td>Gratis, sin reventa de los datos sin procesar</td>
<td>Existen conversiones a BVH/FBX; la calidad varía</td>
</tr>
<tr>
<td>Clips gratuitos de mocap seleccionados</td>
<td>Rokoko Motion Library</td>
<td>Los clips gratuitos pueden usarse comercialmente</td>
<td>Se explora desde la versión gratuita de Rokoko Studio</td>
</tr>
<tr>
<td>Texto a movimiento</td>
<td><a href="/es/tools/animate.html">Cinevva Prompt Animations</a></td>
<td>Gratis</td>
<td>Describe un movimiento y obtén GLB o BVH</td>
</tr>
<tr>
<td>Animación manual con asistencia física</td>
<td>Cascadeur</td>
<td>El plan gratuito es solo para uso no comercial</td>
<td>El plan Indie de 8 $/mes añade exportación a FBX</td>
</tr>
<tr>
<td>Control manual completo</td>
<td>Blender Rigify</td>
<td>Gratis</td>
<td>Viene incluido con Blender y el rig es tuyo</td>
</tr>
</tbody>
</table>
<h2 id="mixamo-en-2026-vivo-gratis-y-congelado" tabindex="-1">Mixamo en 2026: vivo, gratis y congelado <a class="header-anchor" href="#mixamo-en-2026-vivo-gratis-y-congelado" aria-label="Permalink to &quot;Mixamo en 2026: vivo, gratis y congelado&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.mixamo.com" target="_blank" rel="noreferrer">mixamo.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Sin regalías para uso comercial y no comercial ilimitado; no permite redistribuir los archivos sin procesar</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Miles de animaciones prediseñadas y una biblioteca de personajes</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, FBX para Unity, DAE (sin GLB; tendrás que convertirlo)</td>
</tr>
<tr>
<td><strong>Cuenta</strong></td>
<td>Requiere una cuenta gratuita de Adobe</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Manual, por animación o paquete</td>
</tr>
</tbody>
</table>
<p>La pregunta principal en este ámbito es si Mixamo está muerto. Esto es lo que podemos verificar a fecha de julio de 2026: el sitio está activo, la herramienta de rigging automático funciona y es gratuita con una cuenta gratuita de Adobe. Las condiciones de licencia de Adobe son realmente buenas para quienes desarrollan juegos. Según las propias preguntas frecuentes de Adobe sobre licencias, los personajes y las animaciones de Mixamo están «disponibles de forma gratuita, sin tarifas de licencia ni regalías, para uso comercial o no comercial ilimitado». La única restricción es la redistribución: puedes incluirlos en un juego terminado, pero no volver a empaquetar los archivos sin procesar de las animaciones o los personajes como paquetes de recursos o plantillas de motores para venderlos o distribuirlos.</p>
<p>Lo preocupante es su historial de mantenimiento. Adobe compró Mixamo en 2015 y desde entonces no ha publicado ninguna actualización significativa. Fuse, la herramienta complementaria para crear personajes, se discontinuó y retiró de Creative Cloud en 2020. En junio de 2025, el servicio dejó de funcionar para todo el mundo durante varios días debido a errores 500 del servidor, y usuarios de los propios foros de Adobe informaron de que un agente de soporte les había dicho que Mixamo «ya no recibe soporte». Volvió a funcionar y Adobe no ha anunciado ninguna fecha de cierre, pero una herramienta gratuita sin hoja de ruta y con un historial de interrupciones sin previo aviso no es una base fiable para crear un flujo de trabajo. Descarga lo que necesites y conoce tus alternativas.</p>
<p>Hay dos limitaciones prácticas que debes recordar: la herramienta de rigging automático solo admite humanoides bípedos en una postura similar a una pose T o A, y exporta en FBX o DAE, por lo que para juegos web tendrás que convertir los archivos a GLB con Blender u otra herramienta.</p>
<h2 id="la-via-mas-rapida-aplica-rigging-y-animaciones-en-el-navegador" tabindex="-1">La vía más rápida: aplica rigging y animaciones en el navegador <a class="header-anchor" href="#la-via-mas-rapida-aplica-rigging-y-animaciones-en-el-navegador" aria-label="Permalink to &quot;La vía más rápida: aplica rigging y animaciones en el navegador&quot;"></a></h2>
<p>Si solo quieres un personaje con rig y animaciones sin instalar nada, las herramientas gratuitas de Cinevva cubren en el navegador todo el flujo de trabajo de Mixamo.</p>
<h3 id="cinevva-auto-rigger" tabindex="-1">Cinevva Auto Rigger <a class="header-anchor" href="#cinevva-auto-rigger" aria-label="Permalink to &quot;Cinevva Auto Rigger&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="/es/tools/rigger.html">cinevva.com/tools/rigger</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Gratis; tu modelo sigue siendo tuyo</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>GLB, FBX u OBJ de hasta 30 MB</td>
</tr>
<tr>
<td><strong>Salida</strong></td>
<td>GLB con rig y animaciones horneadas opcionales</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, directamente desde el navegador</td>
</tr>
</tbody>
</table>
<p>Sube un modelo estático y recibe una versión con un esqueleto ajustado y la malla vinculada automáticamente. Admite bípedos y cuadrúpedos —Mixamo nunca admitió criaturas de cuatro patas— y puedes hornear animaciones predefinidas como reposo, caminar, correr, saltar, atacar con arma blanca, disparar, trepar, recibir daño y caer. El GLB resultante se puede usar directamente en Three.js, Babylon, Unity, Godot o Blender. Se combina muy bien con un modelo creado mediante nuestro <a href="/es/tools/hunyuan3d.html">Generador de modelos 3D</a>, por lo que puedes pasar de un prompt de texto a un personaje animado sin salir del navegador.</p>
<h3 id="cinevva-prompt-animations" tabindex="-1">Cinevva Prompt Animations <a class="header-anchor" href="#cinevva-prompt-animations" aria-label="Permalink to &quot;Cinevva Prompt Animations&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="/es/tools/animate.html">cinevva.com/tools/animate</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Gratis</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Una descripción de texto y, opcionalmente, tu GLB humanoide con rig</td>
</tr>
<tr>
<td><strong>Salida</strong></td>
<td>GLB con la animación horneada o BVH para cualquier flujo de trabajo</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí</td>
</tr>
</tbody>
</table>
<p>Escribe «una persona se agacha y después salta hacia delante» y obtén un movimiento esquelético que puedes previsualizar en tiempo real y aplicar mediante retargeting a tu propio personaje desde el navegador. Detecta automáticamente la nomenclatura de huesos de Mixamo, Tripo, Reallusion CC4, UE5 y humanoides genéricos, por lo que también admite personajes a los que hayas aplicado rigging en otras herramientas. Los clips duran entre 1 y 10 segundos, y la exportación a BVH permite pulir el resultado en Blender o Cascadeur si quieres.</p>
<h2 id="bibliotecas-de-animaciones-gratuitas" tabindex="-1">Bibliotecas de animaciones gratuitas <a class="header-anchor" href="#bibliotecas-de-animaciones-gratuitas" aria-label="Permalink to &quot;Bibliotecas de animaciones gratuitas&quot;"></a></h2>
<h3 id="quaternius-universal-animation-library" tabindex="-1">Quaternius Universal Animation Library <a class="header-anchor" href="#quaternius-universal-animation-library" aria-label="Permalink to &quot;Quaternius Universal Animation Library&quot;"></a></h3>
<figure class="sample-sheet">
<a href="/es/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-characters.jpg" alt="Personajes low poly CC0 listos para rigging de KayKit, Quaternius, PolygonalMind y Kenney: caballero, shiba inu, guerrero esqueleto, astronauta y bárbaro" loading="lazy"></a>
<figcaption>Personajes CC0 de KayKit, Quaternius, PolygonalMind y Kenney listos para rigging que combinan con estas bibliotecas de animaciones. <a href="/es/assets">Consigue uno en la biblioteca de recursos</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://quaternius.com/packs/universalanimationlibrary.html" target="_blank" rel="noreferrer">quaternius.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 (dominio público), incluidos los niveles gratuitos</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>UAL 1 incluye más de 120 animaciones y UAL 2 añade más de 130</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, glTF, OBJ, con el archivo fuente .blend en el nivel de pago</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, mediante quaternius.com o itch.io</td>
</tr>
</tbody>
</table>
<p>La mejor biblioteca gratuita de animaciones en 2026. Ambos paquetes utilizan un rig humanoide universal diseñado para hacer retargeting en Unity, Unreal y Godot, y todo es CC0, por lo que se permite el uso comercial sin atribución. UAL 1 incluye locomoción en todas las direcciones, combate, armas de fuego y gestos. UAL 2 añade combos cuerpo a cuerpo, parkour, agricultura, pesca y locomoción de zombis. Puedes descargar gratis una parte considerable de cada paquete, mientras que los niveles de pago añaden el resto y los archivos fuente de Blender, todo ello aún bajo CC0. Si usas la biblioteca de recursos de Cinevva, los personajes de Quaternius ya aparecen en las búsquedas del editor.</p>
<h3 id="kenney" tabindex="-1">Kenney <a class="header-anchor" href="#kenney" aria-label="Permalink to &quot;Kenney&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://kenney.nl/assets/series:Animated%20Characters" target="_blank" rel="noreferrer">kenney.nl</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 (dominio público)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Animated Characters 1 a 3, además de paquetes de personajes modulares</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLB, FBX</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí</td>
</tr>
</tbody>
</table>
<p>Kenney es conocido sobre todo por sus objetos y sprites, pero también ofrece personajes animados. Cada paquete de Animated Characters incluye un personaje low poly con rig, varias apariencias y algunas animaciones básicas, mientras que los recursos más recientes de personajes modulares añaden más apariencias y clips. No esperes una colección de animaciones muy extensa. Son personajes iniciales que encajan con el estilo limpio y de bloques de Kenney, útiles para prototipos y game jams donde la coherencia importa más que el realismo.</p>
<h3 id="base-de-datos-de-captura-de-movimiento-de-cmu-graphics-lab" tabindex="-1">Base de datos de captura de movimiento de CMU Graphics Lab <a class="header-anchor" href="#base-de-datos-de-captura-de-movimiento-de-cmu-graphics-lab" aria-label="Permalink to &quot;Base de datos de captura de movimiento de CMU Graphics Lab&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="http://mocap.cs.cmu.edu" target="_blank" rel="noreferrer">mocap.cs.cmu.edu</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Uso gratuito, incluso en productos comerciales, pero no se pueden revender los datos sin procesar</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 2500 secuencias de movimiento de más de 100 sujetos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Originales ASF/AMC y conversiones comunitarias a BVH y FBX</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí</td>
</tr>
</tbody>
</table>
<p>La biblioteca académica clásica de mocap: caminar, correr, deportes, baile, actividades cotidianas y muchas rarezas, capturadas a principios de la década de 2000. Las condiciones son informales, pero suficientemente claras: es gratuita para investigación y puedes incluir los datos en productos comerciales, pero no puedes revender los propios datos, ni siquiera convertidos. El formato ASF/AMC sin procesar es incómodo, así que conviene usar una conversión: la versión BVH de cgspeed es el estándar de toda la vida, y existen conversiones comunitarias a FBX en Hugging Face y Academic Torrents —una de ellas incluso hizo retargeting sobre un personaje CC0 de Quaternius—. Tendrás que corregir deslizamientos de pies y temblores. Esto es mocap sin procesar, no clips listos para juegos.</p>
<h3 id="rokoko-motion-library" tabindex="-1">Rokoko Motion Library <a class="header-anchor" href="#rokoko-motion-library" aria-label="Permalink to &quot;Rokoko Motion Library&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.rokoko.com/products/motion-library" target="_blank" rel="noreferrer">rokoko.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Los clips gratuitos tienen licencia para uso comercial; los de pago cuestan entre 3 y 20 $</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Miles de clips capturados profesionalmente, cientos de ellos gratuitos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX mediante la exportación de Rokoko Studio</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>A través de la aplicación gratuita Rokoko Studio</td>
</tr>
</tbody>
</table>
<p>Rokoko —la empresa de trajes de captura de movimiento— gestiona una biblioteca de movimientos que puedes explorar en la aplicación gratuita Rokoko Studio, además de ofrecer paquetes temáticos gratuitos en su sitio: movimientos deportivos, animaciones cotidianas de reposo, clips de temática mágica y un paquete de 263 recursos. Los clips gratuitos permiten explícitamente su uso en proyectos comerciales. La calidad es alta porque se trata de datos capturados y limpiados profesionalmente. El inconveniente es el flujo de trabajo: tienes que usar Rokoko Studio y una cuenta gratuita en lugar de descargar los archivos directamente.</p>
<h3 id="bandai-namco-research-motion-dataset" tabindex="-1">Bandai Namco Research Motion Dataset <a class="header-anchor" href="#bandai-namco-research-motion-dataset" aria-label="Permalink to &quot;Bandai Namco Research Motion Dataset&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://github.com/BandaiNamcoResearchInc/Bandai-Namco-Research-Motiondataset" target="_blank" rel="noreferrer">github.com/BandaiNamcoResearchInc</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC BY-NC 4.0, solo para uso no comercial</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 3000 movimientos interpretados por actores profesionales en varios estilos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>BVH</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, desde GitHub</td>
</tr>
</tbody>
</table>
<p>Merece la pena conocerlo y también leer atentamente su licencia. Bandai Namco publicó dos conjuntos de datos de mocap con calidad de estudio —caminar, correr, luchar y bailar, en estilos que van desde el cansancio hasta la alegría— destinados a la investigación de IA sobre transferencia de estilos de movimiento. Ambos usan la licencia CC BY-NC 4.0, lo que significa que no permiten el uso comercial. Son adecuados para un juego gratuito de una game jam o un proyecto de investigación, pero no para nada que vendas o monetices. No dejes que los titulares sobre «mocap gratuito de un estudio AAA» te convenzan de publicarlo en un producto comercial.</p>
<h2 id="herramientas-de-rigging" tabindex="-1">Herramientas de rigging <a class="header-anchor" href="#herramientas-de-rigging" aria-label="Permalink to &quot;Herramientas de rigging&quot;"></a></h2>
<h3 id="blender-rigify-gratis-manual" tabindex="-1">Blender Rigify (gratis, manual) <a class="header-anchor" href="#blender-rigify-gratis-manual" aria-label="Permalink to &quot;Blender Rigify (gratis, manual)&quot;"></a></h3>
<p>Rigify viene incluido en Blender como complemento integrado. Colocas un metarig sobre la malla, ajustas los huesos para que encajen y generas un rig de control completo con cambio entre IK y FK; después vinculas la malla con pesos automáticos. Es la opción gratuita que ofrece más control, admite personajes no humanoides y el rig generado es completamente tuyo para usarlo donde quieras. El coste es el tiempo: ajustar huesos y corregir manualmente el pintado de pesos es una habilidad de verdad, y tu primer rig te llevará una tarde, no un minuto.</p>
<h3 id="auto-rig-pro-el-estandar-de-pago" tabindex="-1">Auto-Rig Pro (el estándar de pago) <a class="header-anchor" href="#auto-rig-pro-el-estandar-de-pago" aria-label="Permalink to &quot;Auto-Rig Pro (el estándar de pago)&quot;"></a></h3>
<p>El complemento de pago de referencia para Blender se vende en Superhive —antes Blender Market— mediante un único pago: 25 $ por la edición Lite, con colocación manual de marcadores, o 50 $ por la edición Full, que incluye la detección inteligente de marcadores con un solo clic que lo hizo famoso. Añade un sistema adecuado de retargeting —así es como muchos datos de Mixamo y CMU se reasignan a rigs personalizados— y un módulo de exportación para motores de juego que produce archivos FBX y glTF limpios. Si aplicas rigging con frecuencia a personajes en Blender, esta es la única herramienta de pago de esta guía que justifica su precio.</p>
<h3 id="cascadeur" tabindex="-1">Cascadeur <a class="header-anchor" href="#cascadeur" aria-label="Permalink to &quot;Cascadeur&quot;"></a></h3>
<p>Cascadeur es una herramienta de animación por fotogramas clave asistida por físicas, ideal para crear saltos, caídas y combates creíbles sin mocap. Comprueba las condiciones del nivel gratuito antes de basar tu flujo de trabajo en él, porque se han endurecido: a mediados de 2026, el plan Free solo permite uso no comercial y únicamente exporta al formato .casc propio de Cascadeur; la exportación a .fbx y .dae está bloqueada, y además existe un límite de 300 fotogramas y 120 articulaciones. Para llevar las animaciones a un juego necesitas el plan Indie, que cuesta 8 $/mes con facturación anual, permite uso comercial si tus ingresos anuales son inferiores a 100 000 $, exporta a FBX, DAE, USD y glTF, y se convierte en una licencia perpetua tras dos años de suscripción. El plan Pro cuesta 33 $/mes y no tiene límite de ingresos.</p>
<h3 id="accurig-y-actorcore-reallusion" tabindex="-1">AccuRIG y ActorCore (Reallusion) <a class="header-anchor" href="#accurig-y-actorcore-reallusion" aria-label="Permalink to &quot;AccuRIG y ActorCore (Reallusion)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://actorcore.reallusion.com/auto-rig" target="_blank" rel="noreferrer">actorcore.reallusion.com/auto-rig</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Herramienta gratuita; los personajes con rig pueden usarse comercialmente sin cargos adicionales</td>
</tr>
<tr>
<td><strong>Plataforma</strong></td>
<td>Aplicación de escritorio para Windows</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Exportación a FBX y USD</td>
</tr>
<tr>
<td><strong>Cuenta</strong></td>
<td>Se requiere una cuenta gratuita de ActorCore para exportar</td>
</tr>
<tr>
<td>AccuRIG es la herramienta gratuita de auto-rigging para escritorio de Reallusion y la alternativa más potente a Mixamo en lo que respecta al rigging. La versión 2.0 (2025) genera rigs de cuerpo completo y dedos, permite explorar las animaciones de catálogo de ActorCore desde la propia aplicación, adaptarlas a tu personaje y exportarlas en FBX o USD para Blender, Unity, Unreal y otros motores. La herramienta no cuesta nada y no se aplican cargos a los personajes que riggees; solo necesitas una cuenta gratuita de ActorCore para exportar. El modelo de negocio es la tienda de animaciones de ActorCore: la biblioteca a la que se conecta es principalmente de pago, aunque incluye muestras gratuitas. Solo está disponible para Windows, por lo que quienes usen Mac o Linux deberían optar por una herramienta en el navegador.</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="retargeting-y-flujo-de-trabajo-estandar" tabindex="-1">Retargeting y flujo de trabajo estándar <a class="header-anchor" href="#retargeting-y-flujo-de-trabajo-estandar" aria-label="Permalink to &quot;Retargeting y flujo de trabajo estándar&quot;"></a></h2>
<p>El retargeting consiste en transferir una animación creada para un esqueleto a otro distinto, ajustándola según los nombres de los huesos, las proporciones y la pose de reposo. Lo necesitas siempre que la animación y el personaje procedan de lugares diferentes, algo que ocurre casi siempre en un flujo de trabajo con recursos gratuitos. Todos los motores ofrecen ya una solución (el avatar Humanoid de Unity, IK Retargeter de Unreal y el mapeo de huesos de Godot 4); quienes usan Blender suelen recurrir a Auto-Rig Pro o al complemento gratuito Rokoko Blender, y <a href="/es/tools/animate.html">Animaciones mediante prompts</a> de Cinevva hace retargeting en el navegador detectando automáticamente los esquemas habituales de nombres de huesos. Si una animación descargada hace que los brazos del personaje atraviesen su cuerpo, significa que las proporciones no se adaptaron correctamente y, por lo general, se debe a que las poses de reposo no coinciden.</p>
<p>Este es el flujo de trabajo que funciona en 2026, de principio a fin: consigue un modelo (consulta nuestra <a href="/es/guides/free-3d-model-sites.html">guía de sitios con modelos 3D gratuitos</a> o genera uno), aplícale auto-rigging con el <a href="/es/tools/rigger.html">Auto Rigger de Cinevva</a>, AccuRIG o Mixamo, añade animaciones de una biblioteca CC0 como Quaternius o genéralas a partir de texto y, después, exporta en GLB para motores web (convierte el FBX con el exportador glTF de Blender si tu herramienta no genera GLB directamente). Reserva una hora para completar tu primer intento; cuando lo hayas hecho un par de veces, solo tardarás unos minutos.</p>
<h2 id="ia-de-texto-a-movimiento-en-2026" tabindex="-1">IA de texto a movimiento en 2026 <a class="header-anchor" href="#ia-de-texto-a-movimiento-en-2026" aria-label="Permalink to &quot;IA de texto a movimiento en 2026&quot;"></a></h2>
<p>Generar una animación útil a partir de una frase ha pasado de ser una demostración a convertirse en una herramienta cotidiana. <a href="/es/tools/animate.html">Animaciones mediante prompts</a> de Cinevva lo hace gratis en el navegador y permite exportar en GLB y BVH. Rokoko Create genera clips de cuerpo completo a partir de prompts de texto de forma gratuita, aunque la exportación depende de Rokoko Studio, donde una cuenta Starter gratuita ofrece cinco exportaciones FBX al mes. SayMotion de DeepMotion es la otra opción alojada y consolidada, con un nivel gratuito limitado y derechos de uso comercial en los planes de pago. En el ámbito del código abierto, los modelos de investigación que iniciaron este campo, MDM y MoMask, publican código con licencia MIT, pero están entrenados con los conjuntos de datos HumanML3D y AMASS, que incluyen condiciones académicas y no comerciales. Por eso, distribuir sus resultados sin modificar en un juego comercial plantea dudas legales. Para cualquier producto que vayas a vender, utiliza una herramienta alojada cuyas condiciones hayas leído. En 2026, la calidad es realmente buena para locomoción, emotes y acciones individuales, pero sigue siendo irregular en secuencias largas e interacciones precisas con objetos; genera clips cortos y combínalos en el motor.</p>
<h2 id="licencias-en-30-segundos" tabindex="-1">Licencias en 30 segundos <a class="header-anchor" href="#licencias-en-30-segundos" aria-label="Permalink to &quot;Licencias en 30 segundos&quot;"></a></h2>
<ul>
<li><strong>CC0:</strong> dominio público. Permite uso comercial y modificaciones sin atribución. Las animaciones de Quaternius y Kenney son CC0.</li>
<li><strong>Sin regalías (Mixamo y clips gratuitos de Rokoko):</strong> uso gratuito en proyectos terminados, incluidos juegos comerciales, pero no puedes redistribuir ni revender los archivos originales.</li>
<li><strong>CC BY-NC (conjunto de datos de Bandai Namco):</strong> solo para uso no comercial. No sirve para juegos que vendas o monetices.</li>
<li><strong>Condiciones académicas informales (CMU):</strong> se permite el uso comercial en productos, pero no la reventa de los propios datos.</li>
</ul>
<p>En caso de duda, elige CC0. Para ver el desglose completo, consulta nuestra <a href="/es/guides/game-asset-licenses.html">guía de licencias de recursos para juegos</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿mixamo-sigue-siendo-gratuito" tabindex="-1">¿Mixamo sigue siendo gratuito? <a class="header-anchor" href="#¿mixamo-sigue-siendo-gratuito" aria-label="Permalink to &quot;¿Mixamo sigue siendo gratuito?&quot;"></a></h3>
<p>Sí. A julio de 2026, Mixamo es gratuito con una cuenta gratuita de Adobe, y sus animaciones y personajes con auto-rigging pueden utilizarse sin regalías y sin límites con fines comerciales. El inconveniente es que Adobe lleva años sin actualizarlo, sufrió una interrupción de varios días en junio de 2025 y el equipo de soporte lo ha descrito como un producto que ya no recibe soporte. Por tanto, conviene tratarlo como una herramienta heredada útil y no como un flujo de trabajo fiable.</p>
<h3 id="¿va-a-cerrar-mixamo" tabindex="-1">¿Va a cerrar Mixamo? <a class="header-anchor" href="#¿va-a-cerrar-mixamo" aria-label="Permalink to &quot;¿Va a cerrar Mixamo?&quot;"></a></h3>
<p>Adobe no ha anunciado ningún cierre. Lo que puede verificarse es que no ha habido actualizaciones relevantes desde su adquisición en 2015, que el creador de personajes Fuse dejó de estar disponible en 2020 y que la interrupción de junio de 2025 no recibió explicación. Hoy sigue funcionando. Descarga lo que necesites y ten presente alguna alternativa.</p>
<h3 id="¿como-puedo-riggear-un-modelo-3d-sin-blender" tabindex="-1">¿Cómo puedo riggear un modelo 3D sin Blender? <a class="header-anchor" href="#¿como-puedo-riggear-un-modelo-3d-sin-blender" aria-label="Permalink to &quot;¿Cómo puedo riggear un modelo 3D sin Blender?&quot;"></a></h3>
<p>Usa una herramienta de auto-rigging. El <a href="/es/tools/rigger.html">Auto Rigger</a> de Cinevva funciona en el navegador: sube un archivo GLB, FBX u OBJ y descarga un GLB riggeado con animaciones predefinidas opcionales; también admite cuadrúpedos. Para escritorio, AccuRIG de Reallusion es gratuito en Windows y exporta en FBX o USD. Mixamo sigue funcionando para humanoides en pose T. Las tres opciones evitan por completo la colocación manual de huesos y el pintado de pesos.</p>
<h3 id="¿puedo-usar-animaciones-de-mixamo-en-un-juego-comercial" tabindex="-1">¿Puedo usar animaciones de Mixamo en un juego comercial? <a class="header-anchor" href="#¿puedo-usar-animaciones-de-mixamo-en-un-juego-comercial" aria-label="Permalink to &quot;¿Puedo usar animaciones de Mixamo en un juego comercial?&quot;"></a></h3>
<p>Sí. Las condiciones de Adobe permiten un uso comercial ilimitado y sin regalías. La única restricción real es la redistribución: no puedes revender ni regalar los archivos originales de animaciones o personajes, por ejemplo, como un paquete para una tienda de recursos. Puedes incluirlos integrados en el juego que publiques.</p>
<h3 id="¿donde-puedo-conseguir-animaciones-de-personajes-cc0-gratuitas" tabindex="-1">¿Dónde puedo conseguir animaciones de personajes CC0 gratuitas? <a class="header-anchor" href="#¿donde-puedo-conseguir-animaciones-de-personajes-cc0-gratuitas" aria-label="Permalink to &quot;¿Dónde puedo conseguir animaciones de personajes CC0 gratuitas?&quot;"></a></h3>
<p>Las bibliotecas Quaternius Universal Animation Library 1 y 2 son la mejor fuente: ofrecen en conjunto más de 250 animaciones sobre un rig humanoide universal, compatibles con retargeting en Unity, Unreal y Godot, todas ellas CC0, incluidos los niveles gratuitos. Los paquetes Animated Characters de Kenney aportan personajes riggeados sencillos con clips básicos, también bajo CC0.</p>
<h3 id="¿que-es-el-retargeting-de-animaciones" tabindex="-1">¿Qué es el retargeting de animaciones? <a class="header-anchor" href="#¿que-es-el-retargeting-de-animaciones" aria-label="Permalink to &quot;¿Qué es el retargeting de animaciones?&quot;"></a></h3>
<p>El retargeting transfiere una animación de un esqueleto a otro con distintos nombres de huesos y proporciones. Lo necesitas siempre que el personaje y la animación procedan de fuentes diferentes. Unity, Unreal y Godot 4 incorporan funciones de retargeting; quienes usan Blender suelen optar por Auto-Rig Pro, y <a href="/es/tools/animate.html">Animaciones mediante prompts</a> de Cinevva adapta la animación al personaje que subas desde el navegador.</p>
<h3 id="¿puede-la-ia-generar-animaciones-de-personajes-a-partir-de-texto" tabindex="-1">¿Puede la IA generar animaciones de personajes a partir de texto? <a class="header-anchor" href="#¿puede-la-ia-generar-animaciones-de-personajes-a-partir-de-texto" aria-label="Permalink to &quot;¿Puede la IA generar animaciones de personajes a partir de texto?&quot;"></a></h3>
<p>Sí, y en 2026 resulta práctica para clips cortos. <a href="/es/tools/animate.html">Animaciones mediante prompts</a> de Cinevva es gratuita en el navegador y permite exportar en GLB y BVH; Rokoko Create genera clips gratuitos con cinco exportaciones al mes mediante una cuenta gratuita, y SayMotion de DeepMotion es la principal alternativa de pago. Los modelos de código abierto como MDM y MoMask tienen código MIT, pero están entrenados con conjuntos de datos de investigación para uso no comercial, así que comprueba las licencias antes de publicar sus resultados.</p>
<BuildCta
  title="Sáltate por completo el flujo de rigging"
  desc="Describe un juego y Cinevva lo crea con personajes riggeados y animados que ya están en movimiento."
  prompt="Crea una aventura en tercera persona donde mi personaje pueda correr, saltar y trepar por islas flotantes" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/free-3d-model-sites.html">Los mejores sitios con modelos 3D gratuitos para juegos</a> - dónde conseguir personajes para riggear</li>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> - la guía completa con más de 20 fuentes</li>
<li><a href="/es/guides/ai-asset-generators-games.html">Los mejores generadores de recursos con IA para juegos</a> - genera modelos, texturas y audio</li>
<li><a href="/es/tools/rigger.html">Auto Rigger</a> - riggea gratis un modelo en tu navegador</li>
<li><a href="/es/tools/animate.html">Animaciones mediante prompts</a> - genera movimiento a partir de una descripción de texto</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/free-character-animations-rigging-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Texturas PBR, materiales y HDRI gratuitos para juegos (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/free-textures-hdris-materials</link>
            <guid>https://app.cinevva.com/es/guides/free-textures-hdris-materials</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Las mejores fuentes gratuitas de texturas PBR, materiales y HDRI para juegos en 2026, desde bibliotecas CC0 como Poly Haven y ambientCG hasta generadores de IA, con una explicación de sus licencias.]]></description>
            <content:encoded><![CDATA[<h1 id="texturas-pbr-materiales-y-hdri-gratuitos-para-juegos-2026" tabindex="-1">Texturas PBR, materiales y HDRI gratuitos para juegos (2026) <a class="header-anchor" href="#texturas-pbr-materiales-y-hdri-gratuitos-para-juegos-2026" aria-label="Permalink to &quot;Texturas PBR, materiales y HDRI gratuitos para juegos (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Las mejores texturas PBR y HDRI gratuitos proceden de bibliotecas CC0: Poly Haven (más de 780 texturas y más de 980 HDRI) y ambientCG (más de 2000 materiales y más de 400 HDRI) son las dos referencias principales. Ambas son de dominio público, no exigen atribución y ofrecen API gratuitas que no requieren clave. Sitios CC0 más pequeños como 3DTextures.me, ShareTextures y cgbookcase aportan miles de recursos adicionales, mientras que Kenney ofrece texturas para prototipos y estilos gráficos estilizados. El único sitio popular que NO es CC0 es FreePBR, donde el uso comercial requiere un pago único.</p>
<div class="info custom-block"><p class="custom-block-title">Busca en todas estas fuentes desde un solo lugar</p>
<p>La <a href="/es/assets.html">búsqueda de la biblioteca de recursos</a> de Cinevva incluye Poly Haven y ambientCG como proveedores, por lo que puedes buscar sus texturas y HDRI desde un único campo: <a href="/es/assets.html?providers=polyhaven">Poly Haven</a> · <a href="/es/assets.html?providers=ambientcg">ambientCG</a></p>
</div>
<h2 id="recomendaciones-rapidas" tabindex="-1">Recomendaciones rápidas <a class="header-anchor" href="#recomendaciones-rapidas" aria-label="Permalink to &quot;Recomendaciones rápidas&quot;"></a></h2>
<ul>
<li><strong>Un solo sitio para todo, con acabado fotorrealista:</strong> Poly Haven (texturas, HDRI y modelos CC0).</li>
<li><strong>La mayor biblioteca dedicada a materiales:</strong> ambientCG (CC0, más de 2000 materiales PBR).</li>
<li><strong>Más variedad, también CC0:</strong> 3DTextures.me, ShareTextures, cgbookcase.</li>
<li><strong>Texturas para prototipos y estilos estilizados:</strong> Kenney (CC0).</li>
<li><strong>HDRI gratuitos más allá de Poly Haven:</strong> ambientCG, recursos gratuitos de HDRMaps y OpenHDRI.</li>
<li><strong>Comprueba la licencia:</strong> FreePBR solo es gratuito para uso personal; los derechos comerciales cuestan 16 USD.</li>
</ul>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Necesidad</th>
<th>Mejor fuente</th>
<th>Licencia</th>
<th>Atribución</th>
</tr>
</thead>
<tbody>
<tr>
<td>Materiales PBR fotorrealistas</td>
<td>Poly Haven, ambientCG</td>
<td>CC0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Gran variedad de materiales</td>
<td>3DTextures.me, ShareTextures</td>
<td>CC0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Biblioteca más pequeña y seleccionada</td>
<td>cgbookcase</td>
<td>CC0 1.0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Texturas para prototipos y blockout</td>
<td>Kenney</td>
<td>CC0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>HDRI para iluminación</td>
<td>Poly Haven, ambientCG</td>
<td>CC0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Más HDRI gratuitos</td>
<td>Recursos gratuitos de HDRMaps, OpenHDRI</td>
<td>Libre de regalías / CC0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Juego comercial con presupuesto limitado</td>
<td>Cualquier recurso CC0 anterior</td>
<td>CC0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Descargas de FreePBR</td>
<td>FreePBR</td>
<td>Personalizada</td>
<td>Ninguna, pero el uso comercial es de pago</td>
</tr>
</tbody>
</table>
<h2 id="sitios-de-texturas-y-materiales-pbr" tabindex="-1">Sitios de texturas y materiales PBR <a class="header-anchor" href="#sitios-de-texturas-y-materiales-pbr" aria-label="Permalink to &quot;Sitios de texturas y materiales PBR&quot;"></a></h2>
<h3 id="poly-haven" tabindex="-1">Poly Haven <a class="header-anchor" href="#poly-haven" aria-label="Permalink to &quot;Poly Haven&quot;"></a></h3>
<p><strong>Ideal para:</strong> Materiales fotorrealistas y HDRI sin preocupaciones por las licencias</p>
<figure class="sample-sheet">
<a href="/es/assets?providers=polyhaven"><img src="https://cdn.cinevva.com/guides/samples/samples-polyhaven-textures.jpg" alt="Muestra de materiales PBR CC0 de Poly Haven renderizados sobre esferas: ladrillo, suelo de madera, placa metálica, adoquines, tela, césped, mármol y hormigón" loading="lazy"></a>
<figcaption>Vistas previas de materiales de Poly Haven: ladrillo, madera, metal, adoquines, tela, césped, mármol y hormigón, todos CC0. <a href="/es/assets?providers=polyhaven">Busca Poly Haven en la biblioteca de recursos</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://polyhaven.com" target="_blank" rel="noreferrer">polyhaven.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 (dominio público), no requiere atribución</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 780 texturas PBR, más de 980 HDRI y más de 520 modelos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Mapas JPG/PNG, EXR/HDR para HDRI, Blend, glTF</td>
</tr>
<tr>
<td><strong>Resoluciones</strong></td>
<td>Texturas de 1K a 8K, HDRI de 1K a 16K</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sí, gratuita y sin necesidad de clave</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Todos los recursos se basan en escaneos o han sido creados manualmente siguiendo un estándar fotorrealista uniforme</li>
<li>Conjuntos completos de mapas: difuso, normales, rugosidad, desplazamiento y AO</li>
<li>Puedes elegir la resolución de cada descarga en lugar de recibir un enorme archivo ZIP</li>
<li>La API permite que herramientas como la búsqueda de recursos de Cinevva obtengan los recursos directamente</li>
</ul>
<p><strong>Ideal para encontrar:</strong></p>
<ul>
<li>Materiales de suelo, roca y terreno para escenas exteriores</li>
<li>Madera, ladrillo, yeso y metal para arquitectura</li>
<li>HDRI de cielos y estudios para iluminar cualquier escena</li>
</ul>
<p>Poly Haven es la piedra angular de toda esta guía. Se financia mediante Patreon y patrocinadores corporativos en lugar de anuncios, tiene el nivel de calidad más alto de cualquier biblioteca gratuita y su licencia CC0 significa que nunca tendrás que volver a preocuparte por ella. Si solo vas a guardar un sitio en tus favoritos, que sea este. Búscalo dentro de Cinevva en <a href="/es/assets.html?providers=polyhaven">/es/assets?providers=polyhaven</a>.</p>
<h3 id="ambientcg" tabindex="-1">ambientCG <a class="header-anchor" href="#ambientcg" aria-label="Permalink to &quot;ambientCG&quot;"></a></h3>
<p><strong>Ideal para:</strong> La mayor biblioteca de materiales CC0 de la web</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://ambientcg.com" target="_blank" rel="noreferrer">ambientcg.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0, gratuita para uso comercial y sin atribución</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 2000 materiales PBR, más de 400 HDRI y recursos 3D adicionales</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Conjuntos de mapas JPG/PNG, HDRI EXR</td>
</tr>
<tr>
<td><strong>Resoluciones</strong></td>
<td>Hasta 8K en la mayoría de los materiales</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sí, documentada y sin necesidad de clave</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Más variedad pura de materiales que cualquier otra biblioteca CC0</li>
<li>Antes se llamaba CC0Textures; cambió de nombre en 2021, pero mantiene el mismo creador y la misma licencia desde 2018</li>
<li>Gestiona más de 1 000 000 de descargas al mes, por lo que es una plataforma probada y estable</li>
<li>Buena cobertura de materiales procedurales y basados en escaneos: ladrillos, telas, suelos, metales y cubiertas</li>
</ul>
<p><strong>Ideal para encontrar:</strong></p>
<ul>
<li>Superficies repetibles en grandes cantidades al decorar un nivel completo</li>
<li>Variaciones de una misma familia de materiales, como una docena de hormigones distintos</li>
<li>HDRI cuando Poly Haven no ofrece el ambiente que necesitas</li>
</ul>
<p>Si Poly Haven es la galería seleccionada, ambientCG es el almacén. Cuando necesites ocho variantes distintas de asfalto o un tejido de tela muy específico, aquí es donde lo encontrarás. Búscalo dentro de Cinevva en <a href="/es/assets.html?providers=ambientcg">/es/assets?providers=ambientcg</a>.</p>
<h3 id="_3dtextures-me" tabindex="-1">3DTextures.me <a class="header-anchor" href="#_3dtextures-me" aria-label="Permalink to &quot;3DTextures.me&quot;"></a></h3>
<p><strong>Ideal para:</strong> Una gran biblioteca gratuita que combina materiales estilizados y hechos a mano</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://3dtextures.me" target="_blank" rel="noreferrer">3dtextures.me</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 (dominio público)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 1300 conjuntos de texturas</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Conjuntos de mapas PNG/JPG (color base, normales, rugosidad, AO y altura)</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>No</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, por textura</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Gran profundidad de categorías: más de 340 metales, más de 200 baldosas y más de 200 telas</li>
<li>Incluye materiales estilizados y semiprocedurales que no encontrarás en sitios basados en escaneos</li>
<li>Funciona con las convenciones de mapas de Blender, Unreal, Unity y Godot</li>
</ul>
<p><strong>Ideal para encontrar:</strong></p>
<ul>
<li>Superficies estilizadas que no cubren las bibliotecas de escaneos fotorrealistas</li>
<li>Paneles de ciencia ficción, baldosas ornamentadas y materiales con muchos patrones</li>
</ul>
<p>Un proyecto de una sola persona que, discretamente, se ha convertido en una de las mayores bibliotecas de texturas CC0. Las descargas individuales son gratuitas y una pequeña donación en Ko-fi te permite obtener una carpeta de descarga masiva si quieres conseguirlo todo a la vez.</p>
<h3 id="sharetextures" tabindex="-1">ShareTextures <a class="header-anchor" href="#sharetextures" aria-label="Permalink to &quot;ShareTextures&quot;"></a></h3>
<p><strong>Ideal para:</strong> Otra fuente CC0 que merece la pena consultar cuando las dos grandes no tienen lo que buscas</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.sharetextures.com" target="_blank" rel="noreferrer">sharetextures.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0, explícitamente apta para proyectos comerciales</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 1700 texturas y algunos modelos 3D</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Conjuntos de mapas PBR</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>No</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Buena cobertura de superficies arquitectónicas: suelos, paredes, telas y madera</li>
<li>Según su propia política, todo está libre de derechos de autor</li>
<li>Se financia mediante Patreon y sigue manteniéndose activamente en 2026</li>
</ul>
<p><strong>Ideal para encontrar:</strong></p>
<ul>
<li>Superficies interiores para escenas arquitectónicas o habitaciones</li>
<li>Una segunda opción cuando ni Poly Haven ni ambientCG tienen lo que necesitas</li>
</ul>
<p>Es menos conocida que las dos grandes, pero su licencia es igual de clara. Una buena costumbre es buscar primero en Poly Haven y ambientCG, y después consultar este sitio antes de conformarte con algo que solo encaja a medias.</p>
<h3 id="cgbookcase" tabindex="-1">cgbookcase <a class="header-anchor" href="#cgbookcase" aria-label="Permalink to &quot;cgbookcase&quot;"></a></h3>
<p><strong>Ideal para:</strong> Una colección CC0 más pequeña y seleccionada, con resoluciones altas</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.cgbookcase.com" target="_blank" rel="noreferrer">cgbookcase.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 1.0, uso gratuito sin necesidad de atribución</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 550 texturas</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Conjuntos de mapas PBR</td>
</tr>
<tr>
<td><strong>Resoluciones</strong></td>
<td>De 1K a 8K</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>No</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Cada textura incluye el conjunto completo de mapas para crear materiales fotorrealistas</li>
<li>Permite filtrar por resolución mínima al explorar el catálogo</li>
<li>Está gestionada por un único artista, Dorian Zgraggen, como proyecto personal y sin muros de pago</li>
</ul>
<p><strong>Ideal para encontrar:</strong></p>
<ul>
<li>Superficies naturales y orgánicas, como corteza, hojas y suelo</li>
<li>Versiones de alta resolución de materiales habituales</li>
</ul>
<p>Pequeña, pero muy bien hecha. Sus texturas de hojas a doble cara son especialmente destacables y otras bibliotecas gratuitas no ofrecen nada similar.</p>
<h3 id="freepbr" tabindex="-1">FreePBR <a class="header-anchor" href="#freepbr" aria-label="Permalink to &quot;FreePBR&quot;"></a></h3>
<p><strong>Ideal para:</strong> Conjuntos de materiales orientados a juegos, siempre que leas antes la licencia</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://freepbr.com" target="_blank" rel="noreferrer">freepbr.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Personalizada, NO CC0. Gratuita para uso personal o no comercial. Los derechos comerciales cuestan un pago único de 16 USD</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 600 conjuntos de texturas PBR</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>PNG de 2048x2048 (albedo, normales, rugosidad, metalicidad, AO y, en algunos casos, altura)</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>No</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, por conjunto</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Categorías orientadas a juegos: más de 100 metales, suelos, paneles de ciencia ficción y terrenos</li>
<li>Conjuntos PNG uniformes de 2K que se integran directamente en los flujos de trabajo de Unity o Unreal</li>
<li>El nivel comercial de 16 USD también permite descargar toda la biblioteca de una vez</li>
</ul>
<p><strong>Ideal para encontrar:</strong></p>
<ul>
<li>Metales estilizados para juegos y superficies de ciencia ficción</li>
<li>Conjuntos rápidos de 2K cuando no necesitas el realismo de un escaneo</li>
</ul>
<p>Esta es la trampa de licencias de la categoría. FreePBR parece uno de los sitios CC0, pero no lo es: las propias preguntas frecuentes del sitio indican que los conjuntos son gratuitos «siempre que no los uses comercialmente» y no se permite su redistribución. Si tu juego va a generar ingresos, paga los 16 USD o utiliza los sitios CC0 anteriores.</p>
<h3 id="kenney" tabindex="-1">Kenney <a class="header-anchor" href="#kenney" aria-label="Permalink to &quot;Kenney&quot;"></a></h3>
<p><strong>Ideal para:</strong> Texturas para prototipos y patrones estilizados</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://kenney.nl" target="_blank" rel="noreferrer">kenney.nl</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 (dominio público)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Paquetes de texturas dentro de una biblioteca con más de 40 000 recursos, incluido un paquete Prototype de 75 texturas</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>PNG</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>No, pero hay un catálogo sin conexión disponible</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, un ZIP por paquete</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>El paquete Prototype Textures ofrece el característico aspecto de cuadrículas y cuadros para blockouts</li>
<li>Patrones y superficies estilizadas que combinan con los paquetes 3D y 2D de Kenney</li>
<li>La misma licencia CC0 en todo el catálogo</li>
</ul>
<p><strong>Ideal para encontrar:</strong></p>
<ul>
<li>Cuadrículas de greybox y blockout para crear prototipos de niveles</li>
<li>Texturas planas y estilizadas para juegos low-poly en los que un PBR fotorrealista quedaría fuera de lugar</li>
</ul>
<p>No es una biblioteca PBR, y esa es precisamente la idea. Si tu juego tiene un estilo low-poly, un flujo de trabajo completo con mapas de rugosidad 4K es excesivo y las texturas planas de Kenney ofrecerán un aspecto más coherente.</p>
<h2 id="hdri-gratuitos" tabindex="-1">HDRI gratuitos <a class="header-anchor" href="#hdri-gratuitos" aria-label="Permalink to &quot;HDRI gratuitos&quot;"></a></h2>
<p>Un HDRI (imagen de alto rango dinámico) es una panorámica de 360 grados que se utiliza para iluminar una escena y rellenar el fondo. Un buen HDRI puede sustituir horas de colocación manual de luces.</p>
<figure class="sample-sheet">
<a href="/es/assets?providers=polyhaven"><img src="https://cdn.cinevva.com/guides/samples/samples-polyhaven-hdris.jpg" alt="Muestra de HDRI CC0 de Poly Haven: campo alpino, cielo sobre el océano, interior de un estudio de arte, campo otoñal, cielo puro y panorámicas de un bosque en otoño" loading="lazy"></a>
<figcaption>Seis HDRI de Poly Haven, desde cielos puros hasta interiores, todos CC0. <a href="/es/assets?providers=polyhaven">Busca HDRI en la biblioteca de recursos</a>.</figcaption>
</figure>
<p><strong>Poly Haven</strong> también es la opción predeterminada en esta categoría: ofrece más de 980 HDRI CC0, desde cielos despejados hasta configuraciones de estudio y escenas nocturnas, descargables en EXR o HDR con resoluciones de 1K a 16K. <strong>ambientCG</strong> aporta más de 400 bajo las mismas condiciones CC0. Entre ambas, rara vez necesitarás otra fuente.</p>
<p>Cuando sí la necesites, <strong>HDRMaps</strong> (<a href="https://hdrmaps.com/freebies/" target="_blank" rel="noreferrer">hdrmaps.com</a>) ofrece más de 200 HDRI gratuitos que, según su sitio web, pueden utilizarse en proyectos privados y comerciales. El mismo equipo también gestiona <strong>OpenHDRI</strong> (<a href="https://openhdri.org" target="_blank" rel="noreferrer">openhdri.org</a>), una biblioteca donde todos los HDRI se publican bajo CC0.</p>
<p>No incluyas un HDRI de 16K en un juego web. Uno de 2K es más que suficiente si solo se utiliza para iluminar la escena, y 4K suele bastar incluso cuando es visible como cielo.</p>
<h2 id="que-son-realmente-los-mapas-pbr" tabindex="-1">Qué son realmente los mapas PBR <a class="header-anchor" href="#que-son-realmente-los-mapas-pbr" aria-label="Permalink to &quot;Qué son realmente los mapas PBR&quot;"></a></h2>
<p>Un material PBR es un conjunto de imágenes, cada una de las cuales describe una propiedad física de la superficie. La mayoría de los sitios gratuitos proporcionan cinco:</p>
<table tabindex="0">
<thead>
<tr>
<th>Mapa</th>
<th>Qué controla</th>
</tr>
</thead>
<tbody>
<tr>
<td>Albedo (color base)</td>
<td>El color puro de la superficie, sin iluminación incorporada</td>
</tr>
<tr>
<td>Normales</td>
<td>Simula pequeños relieves y hendiduras sin geometría adicional</td>
</tr>
<tr>
<td>Rugosidad</td>
<td>La nitidez o difusión de los reflejos (pulido frente a mate)</td>
</tr>
<tr>
<td>Metalicidad</td>
<td>Si la superficie se comporta como un metal o no</td>
</tr>
<tr>
<td>AO (oclusión ambiental)</td>
<td>Sombras suaves precalculadas en las hendiduras</td>
</tr>
</tbody>
</table>
<p>Algunos conjuntos añaden un mapa de altura o desplazamiento para aportar detalle geométrico real. En los juegos web normalmente puedes omitirlo y, si el rendimiento es limitado, incluso puedes prescindir del AO y la metalicidad en objetos que claramente no sean metálicos.</p>
<h2 id="como-elegir-la-resolucion-para-juegos-web" tabindex="-1">Cómo elegir la resolución para juegos web <a class="header-anchor" href="#como-elegir-la-resolucion-para-juegos-web" aria-label="Permalink to &quot;Cómo elegir la resolución para juegos web&quot;"></a></h2>
<p>En un navegador, más grande no significa mejor. Cada textura se decodifica como píxeles sin comprimir en la memoria de la GPU, por lo que una textura RGBA de 4K ocupa 64 MB de VRAM independientemente del tamaño del archivo. Una buena configuración predeterminada para la web es usar 1K para la mayoría de los objetos y superficies repetibles, 2K para objetos protagonistas a los que la cámara se acerca y 4K casi nunca. Descarga la resolución más pequeña que mantenga una calidad adecuada, no la mayor disponible.</p>
<h2 id="comprime-todo-con-ktx2" tabindex="-1">Comprime todo con KTX2 <a class="header-anchor" href="#comprime-todo-con-ktx2" aria-label="Permalink to &quot;Comprime todo con KTX2&quot;"></a></h2>
<p>Antes de introducir las texturas en un juego WebGL o WebGPU, conviértelas a KTX2 (Basis Universal). A diferencia de PNG o JPG, una textura KTX2 permanece comprimida en la memoria de la GPU, lo que normalmente reduce entre 4 y 8 veces el uso de VRAM y acelera la carga. Three.js, Babylon.js y PlayCanvas incluyen cargadores KTX2. Cinevva ofrece un <a href="/es/tools/ktx2-compressor.html">compresor de texturas KTX2</a> gratuito que funciona en el navegador y convierte archivos PNG, JPG y WebP localmente, sin subir nada. Si primero tienes que elegir entre las distintas API gráficas, consulta nuestra <a href="/es/guides/webgpu-vs-webgl-games.html">guía sobre WebGPU frente a WebGL</a>.</p>
<h2 id="genera-materiales-y-skyboxes-con-ia" tabindex="-1">Genera materiales y skyboxes con IA <a class="header-anchor" href="#genera-materiales-y-skyboxes-con-ia" aria-label="Permalink to &quot;Genera materiales y skyboxes con IA&quot;"></a></h2>
<p>En 2026 también puedes generar aquello que no encuentres. Las herramientas de texto a material ya producen conjuntos completos de mapas PBR repetibles —albedo, normales y rugosidad— a partir de una instrucción, con opciones especializadas como Texturly y 3D AI Studio. Adobe Substance 3D Sampler, por su parte, convierte una sola fotografía en un material. Para entornos de 360 grados, Skybox AI de Blockade Labs genera skyboxes de 8K sin costuras a partir de texto, con un nivel gratuito y licencias comerciales en sus planes de pago.
Cinevva incorpora ambas opciones: el <a href="/es/tools/skybox.html">Generador de skyboxes</a> crea skyboxes de 360 grados con mapas de profundidad para el entorno de tu juego, mientras que el <a href="/es/tools/flux.html">Generador de imágenes</a> produce texturas planas, calcomanías y arte conceptual a partir de una descripción de texto. Antes de publicar, comprueba las condiciones comerciales de cualquier herramienta de IA alojada, tal como comprobarías la licencia de una textura.</p>
<h2 id="licencias-en-30-segundos" tabindex="-1">Licencias en 30 segundos <a class="header-anchor" href="#licencias-en-30-segundos" aria-label="Permalink to &quot;Licencias en 30 segundos&quot;"></a></h2>
<ul>
<li><strong>CC0:</strong> dominio público. Permite el uso comercial y la modificación sin atribución. Poly Haven, ambientCG, 3DTextures.me, ShareTextures, cgbookcase y Kenney usan CC0.</li>
<li><strong>CC-BY:</strong> permite el uso comercial gratuito, pero debes acreditar al creador.</li>
<li><strong>Libre de regalías / licencia gratuita personalizada:</strong> uso gratuito conforme a las condiciones propias del sitio. Léelas. El nivel gratuito de FreePBR excluye el uso comercial.</li>
<li><strong>Sin redistribución:</strong> incluso los sitios con licencias permisivas suelen prohibir que los archivos originales se vuelvan a subir a otros lugares. Esto se aplica a los archivos, no a tu juego, por lo que puedes incluirlos dentro de una compilación.</li>
</ul>
<p>En caso de duda, elige CC0. Para consultar una explicación completa, visita nuestra <a href="/es/guides/game-asset-licenses.html">guía de licencias de recursos para juegos</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿donde-puedo-descargar-texturas-pbr-gratuitas-para-juegos-comerciales" tabindex="-1">¿Dónde puedo descargar texturas PBR gratuitas para juegos comerciales? <a class="header-anchor" href="#¿donde-puedo-descargar-texturas-pbr-gratuitas-para-juegos-comerciales" aria-label="Permalink to &quot;¿Dónde puedo descargar texturas PBR gratuitas para juegos comerciales?&quot;"></a></h3>
<p>Poly Haven y ambientCG son las mejores fuentes: ambas usan CC0, por lo que todas sus texturas son seguras para juegos comerciales y no requieren atribución. 3DTextures.me, ShareTextures y cgbookcase también usan exclusivamente CC0. No des por hecho que todos los sitios de «texturas gratuitas» funcionan así, ya que algunos, como FreePBR, restringen el uso comercial de las descargas gratuitas.</p>
<h3 id="¿ambientcg-es-realmente-gratuito-para-uso-comercial" tabindex="-1">¿ambientCG es realmente gratuito para uso comercial? <a class="header-anchor" href="#¿ambientcg-es-realmente-gratuito-para-uso-comercial" aria-label="Permalink to &quot;¿ambientCG es realmente gratuito para uso comercial?&quot;"></a></h3>
<p>Sí. Todos los recursos de ambientCG son CC0, una licencia que, según indica el sitio, permite utilizarlos sin atribución incluso en proyectos comerciales. El sitio se llamaba anteriormente CC0Textures y utiliza la misma licencia desde 2018.</p>
<h3 id="¿freepbr-usa-cc0" tabindex="-1">¿FreePBR usa CC0? <a class="header-anchor" href="#¿freepbr-usa-cc0" aria-label="Permalink to &quot;¿FreePBR usa CC0?&quot;"></a></h3>
<p>No. FreePBR utiliza su propia licencia: las descargas son gratuitas para uso personal y no comercial, pero el uso comercial requiere un pago único de 16 dólares y no está permitido redistribuir los archivos en otros sitios. Si buscas texturas comerciales sin coste, utiliza los sitios CC0.</p>
<h3 id="¿donde-puedo-conseguir-hdri-gratuitos-para-iluminar-juegos" tabindex="-1">¿Dónde puedo conseguir HDRI gratuitos para iluminar juegos? <a class="header-anchor" href="#¿donde-puedo-conseguir-hdri-gratuitos-para-iluminar-juegos" aria-label="Permalink to &quot;¿Dónde puedo conseguir HDRI gratuitos para iluminar juegos?&quot;"></a></h3>
<p>Poly Haven cuenta con más de 980 HDRI CC0 y es la opción de referencia. ambientCG ofrece más de 400 adicionales bajo CC0. HDRMaps proporciona más de 200 recursos gratuitos que pueden utilizarse en proyectos comerciales, y su sitio hermano OpenHDRI usa exclusivamente CC0.</p>
<h3 id="¿que-resolucion-de-textura-deberia-usar-para-un-juego-web" tabindex="-1">¿Qué resolución de textura debería usar para un juego web? <a class="header-anchor" href="#¿que-resolucion-de-textura-deberia-usar-para-un-juego-web" aria-label="Permalink to &quot;¿Qué resolución de textura debería usar para un juego web?&quot;"></a></h3>
<p>1K para la mayoría de las superficies y 2K para los objetos a los que se acerque la cámara. Una textura 4K sin comprimir ocupa 64 MB de memoria de la GPU, demasiado para que un juego de navegador lo destine a una sola superficie. Sea cual sea la resolución que elijas, conviértela a KTX2 para que permanezca comprimida en la VRAM.</p>
<h3 id="¿puede-la-ia-generar-materiales-pbr-repetibles" tabindex="-1">¿Puede la IA generar materiales PBR repetibles? <a class="header-anchor" href="#¿puede-la-ia-generar-materiales-pbr-repetibles" aria-label="Permalink to &quot;¿Puede la IA generar materiales PBR repetibles?&quot;"></a></h3>
<p>Sí. Herramientas especializadas como Texturly y 3D AI Studio generan conjuntos de mapas PBR repetibles a partir de descripciones de texto, mientras que Adobe Substance 3D Sampler crea un material a partir de una sola foto. Para cielos, Skybox AI de Blockade Labs y el <a href="/es/tools/skybox.html">Generador de skyboxes</a> de Cinevva crean entornos completos de 360 grados a partir de una descripción.</p>
<h3 id="¿tengo-que-acreditar-a-poly-haven-o-ambientcg-en-mi-juego" tabindex="-1">¿Tengo que acreditar a Poly Haven o ambientCG en mi juego? <a class="header-anchor" href="#¿tengo-que-acreditar-a-poly-haven-o-ambientcg-en-mi-juego" aria-label="Permalink to &quot;¿Tengo que acreditar a Poly Haven o ambientCG en mi juego?&quot;"></a></h3>
<p>No. CC0 significa que no se exige atribución en ningún caso, incluidos los juegos comerciales. Ambos sitios agradecen una mención o una donación, pero legalmente no les debes nada.</p>
<BuildCta
  title="Deja de buscar texturas. Construye la escena"
  desc="Cinevva busca por ti en Poly Haven y ambientCG, e incorpora materiales y HDRI directamente a un juego listo para jugar."
  prompt="Crea un valle montañoso con niebla al atardecer y una ruina de piedra que pueda atravesar, iluminado por un cálido cielo HDRI" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a>: la guía completa con más de 20 fuentes</li>
<li><a href="/es/guides/free-3d-model-sites.html">Los mejores sitios de modelos 3D gratuitos</a>: modelos en los que aplicar esos materiales</li>
<li><a href="/es/guides/game-asset-licenses.html">Explicación de las licencias de recursos para juegos</a>: CC0, CC-BY y las demás</li>
<li><a href="/es/guides/webgpu-vs-webgl-games.html">WebGPU frente a WebGL para juegos</a>: dónde terminan esas texturas comprimidas</li>
<li><a href="/es/assets.html">Buscador de la biblioteca de recursos</a>: busca en Poly Haven, ambientCG y más sitios desde un solo lugar</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/free-textures-hdris-materials-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Guía para desarrolladores de CrazyGames: publica y gana dinero (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/publish-game-crazygames</link>
            <guid>https://app.cinevva.com/es/guides/publish-game-crazygames</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Cómo publicar tu juego en CrazyGames en 2026: el portal para desarrolladores, el proceso de envío y revisión, el SDK, el reparto de ingresos publicitarios, las compras dentro del juego y el funcionamiento de los pagos.]]></description>
            <content:encoded><![CDATA[<h1 id="guia-para-desarrolladores-de-crazygames-publica-y-gana-dinero-2026" tabindex="-1">Guía para desarrolladores de CrazyGames: publica y gana dinero (2026) <a class="header-anchor" href="#guia-para-desarrolladores-de-crazygames-publica-y-gana-dinero-2026" aria-label="Permalink to &quot;Guía para desarrolladores de CrazyGames: publica y gana dinero (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Para publicar en CrazyGames, debes subir una compilación HTML5 o Unity WebGL mediante el <a href="https://developer.crazygames.com/" target="_blank" rel="noreferrer">portal para desarrolladores</a>. El equipo de control de calidad la revisa —los comentarios suelen llegar en un plazo de <a href="https://docs.pley.com/docs/crazy-games" target="_blank" rel="noreferrer">1 a 2 días</a>— y tu juego se publica en una de dos etapas. El lanzamiento básico lo incorpora al sitio sin necesidad de trabajar con el SDK, para que CrazyGames pueda medir la respuesta de los jugadores. Si consigue mantener su atención, recibirás una invitación al lanzamiento completo, en el que integras el <a href="https://docs.crazygames.com/" target="_blank" rel="noreferrer">SDK de CrazyGames</a> y empiezas a generar ingresos. Publicar es gratis y <a href="https://docs.crazygames.com/faq/" target="_blank" rel="noreferrer">no se exige exclusividad</a>, por lo que puedes ofrecer el mismo juego simultáneamente en Steam, dispositivos móviles o un portal de la competencia.</p>
<p>Ganas dinero mediante un reparto de los ingresos procedentes de los anuncios servidos por el SDK —vídeos y banners—, además de las compras dentro del juego mediante Xsolla en los títulos invitados. CrazyGames no publica el porcentaje exacto del reparto, pero realiza pagos mensuales a través de <a href="https://docs.crazygames.com/payouts/" target="_blank" rel="noreferrer">Tipalti</a> cuando tu saldo supera el mínimo de 100 €, e intenta efectuar el pago antes del día 10 del mes siguiente. Los ingresos suelen ser mayores en mercados de nivel 1 de habla inglesa, como Estados Unidos, Reino Unido y Australia, porque allí la demanda publicitaria es más fuerte y se concentra la mayor parte de la audiencia de la plataforma.</p>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Modelo de envío</td>
<td>Subida de autoservicio mediante el portal para desarrolladores, seguida de una revisión manual de control de calidad</td>
</tr>
<tr>
<td>Coste de publicación</td>
<td>Gratis, sin exclusividad obligatoria</td>
</tr>
<tr>
<td>Tiempo de revisión</td>
<td>Los comentarios suelen llegar en 1 o 2 días; las actualizaciones, a menudo el mismo día laborable</td>
</tr>
<tr>
<td>Etapas de lanzamiento</td>
<td>Lanzamiento básico (sin SDK ni monetización) → Lanzamiento completo (requiere el SDK y genera ingresos)</td>
</tr>
<tr>
<td>Monetización</td>
<td>Reparto de ingresos publicitarios (vídeos y banners del SDK); compras dentro del juego mediante Xsolla (solo por invitación)</td>
</tr>
<tr>
<td>Reparto de ingresos</td>
<td>No aparece en la documentación principal; las <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">condiciones de la game jam de 2026</a> indican un 60 % de los anuncios y un 70 % de las compras dentro del juego para los desarrolladores</td>
</tr>
<tr>
<td>Umbral de pago</td>
<td>Mínimo de 100 €, pagado mensualmente mediante Tipalti (transferencia bancaria, ACH o PayPal)</td>
</tr>
<tr>
<td>Límites de la compilación</td>
<td>Carga inicial ≤ 50 MB, total ≤ 250 MB, ≤ 1500 archivos</td>
</tr>
<tr>
<td>Audiencia</td>
<td>PEGI 12 / mayores de 13 años</td>
</tr>
</tbody>
</table>
<h2 id="por-que-elegir-crazygames" tabindex="-1">Por qué elegir CrazyGames <a class="header-anchor" href="#por-que-elegir-crazygames" aria-label="Permalink to &quot;Por qué elegir CrazyGames&quot;"></a></h2>
<p>CrazyGames es uno de los mayores portales de juegos para navegador de la web. El portal para desarrolladores de la empresa afirma ahora tener <a href="https://developer.crazygames.com/" target="_blank" rel="noreferrer">más de 50 millones de jugadores mensuales</a>, concentrados en mercados de nivel 1. Esta cifra supone un aumento respecto a los <a href="https://mobidictum.com/crazygames-reaches-35-million-monthly-users/" target="_blank" rel="noreferrer">35 millones de usuarios activos mensuales</a> registrados de forma independiente a principios de 2025, cuando el catálogo incluía alrededor de 4000 juegos. Es una audiencia amplia y ya establecida que no tienes que captar por tu cuenta, y ese es precisamente el atractivo de un portal frente a lanzar un juego desde cero en tu propio dominio.</p>
<p>La propuesta para los desarrolladores es sencilla. Tú aportas un juego que funciona en la web, CrazyGames aporta el tráfico y la infraestructura publicitaria, y ambos se reparten los ingresos de los anuncios. La plataforma pone mucho énfasis en apoyar a desarrolladores pequeños e independientes y no te ata a ella. Como no existe una cláusula de exclusividad, CrazyGames suele ser un canal de distribución que añades, en lugar de una apuesta de todo o nada.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 210" role="img" aria-label="CrazyGames de un vistazo: más de 50 millones de jugadores mensuales, unos 4000 juegos, comentarios de la revisión en 1 o 2 días y un umbral de pago de 100 euros" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="210" rx="14" fill="#0b1020"/>
  <text x="24" y="40" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">CrazyGames de un vistazo</text>
  <text x="24" y="62" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Escala de la plataforma y aspectos básicos de publicación. Fuente: portal para desarrolladores y documentación de CrazyGames.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <g transform="translate(24,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#c8a8ff">50M+</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Jugadores mensuales</text>
      <rect x="16" y="82" width="72" height="20" rx="10" fill="#c8a8ff22"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#c8a8ff">Mucho nivel 1</text>
    </g>
    <g transform="translate(196,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#7dd3fc">~4000</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Juegos en el catálogo</text>
      <rect x="16" y="82" width="80" height="20" rx="10" fill="#7dd3fc22"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#7dd3fc">HTML5 + Unity</text>
    </g>
    <g transform="translate(368,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#6ee7b7">1-2 días</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Comentarios de revisión</text>
      <rect x="16" y="82" width="76" height="20" rx="10" fill="#6ee7b722"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#6ee7b7">Control manual</text>
    </g>
    <g transform="translate(540,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#fb7185">100 €</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Pago mínimo</text>
      <rect x="16" y="82" width="60" height="20" rx="10" fill="#fb718522"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#fb7185">Mensual</text>
    </g>
  </g>
</svg>
<h2 id="como-funciona-la-publicacion" tabindex="-1">Cómo funciona la publicación <a class="header-anchor" href="#como-funciona-la-publicacion" aria-label="Permalink to &quot;Cómo funciona la publicación&quot;"></a></h2>
<p>El proceso comienza en el <a href="https://developer.crazygames.com/games" target="_blank" rel="noreferrer">portal para desarrolladores</a>, donde configuras tu cuenta, completas tus datos de pago y subes una compilación. El portal incluye una herramienta de control de calidad que ejecuta el juego exactamente como aparecería en CrazyGames, por lo que puedes probar las llamadas al SDK y detectar problemas antes de que una persona llegue a revisarlo. Configura tu método de pago antes de enviar el juego, porque CrazyGames solicita este paso primero.</p>
<p>A partir de ahí comienza una revisión, no una publicación instantánea. El equipo de control de calidad juega a tu juego, comprueba que cumple los requisitos y te envía una ronda de comentarios. Los desarrolladores informan de que esos comentarios suelen llegar en un plazo de <a href="https://docs.pley.com/docs/crazy-games" target="_blank" rel="noreferrer">1 a 2 días</a>, a menudo con capturas de pantalla que señalan lo que debes corregir. Las notas incluyen tanto problemas de corrección obligatoria como sugerencias de mejora. Una vez resueltos los impedimentos, preparar el juego para su lanzamiento tarda aproximadamente otros dos días. Las actualizaciones de un juego ya publicado avanzan más rápido y suelen <a href="https://docs.crazygames.com/faq/" target="_blank" rel="noreferrer">procesarse el mismo día laborable</a>.</p>
<h3 id="primero-el-lanzamiento-basico-y-despues-el-completo" tabindex="-1">Primero el lanzamiento básico y después el completo <a class="header-anchor" href="#primero-el-lanzamiento-basico-y-despues-el-completo" aria-label="Permalink to &quot;Primero el lanzamiento básico y después el completo&quot;"></a></h3>
<p>CrazyGames utiliza un <a href="https://docs.crazygames.com/requirements/intro/" target="_blank" rel="noreferrer">lanzamiento en dos etapas</a>. Durante el lanzamiento básico, tu juego se publica sin exigir ninguna personalización. El SDK es opcional y la monetización está desactivada. Se trata de un periodo de lanzamiento gradual —los desarrolladores lo describen como unas dos semanas— durante el que la plataforma observa la interacción real: el tiempo medio de juego, cuántos visitantes llegan a jugar realmente y la retención. Si tu juego alcanza los valores de referencia, recibirás una invitación al lanzamiento completo.</p>
<p>El lanzamiento completo es cuando empiezas a ganar dinero. Integras correctamente el SDK, cumples todos los requisitos de integración y control de calidad, y el juego se abre directamente en la partida con la monetización activada. El filtro entre ambas etapas es la razón de ser del modelo. CrazyGames prefiere dar a un juego una oportunidad justa con jugadores reales antes que aprobarlo basándose solo en promesas. Por eso, el acabado y una primera sesión convincente importan más aquí que una larga lista de funciones.</p>
<h3 id="limites-de-la-compilacion-y-requisitos-tecnicos" tabindex="-1">Límites de la compilación y requisitos técnicos <a class="header-anchor" href="#limites-de-la-compilacion-y-requisitos-tecnicos" aria-label="Permalink to &quot;Límites de la compilación y requisitos técnicos&quot;"></a></h3>
<p>Tu compilación tiene límites estrictos: la <a href="https://docs.crazygames.com/requirements/intro/" target="_blank" rel="noreferrer">descarga inicial debe ocupar 50 MB o menos</a>, el tamaño total debe ser de 250 MB o menos —50 MB si prescindes del SDK— y el conjunto debe mantenerse por debajo de los 1500 archivos. Los juegos se ejecutan en un iframe adaptable con una relación de aspecto de 16:9 y deben ser legibles con un devicePixelRatio de 1. La física debe mantenerse <a href="https://docs.crazygames.com/requirements/quality/" target="_blank" rel="noreferrer">uniforme con distintas frecuencias de actualización</a>, como 144 Hz y 165 Hz, algo que causa problemas en un número sorprendente de motores que vinculan el movimiento a la frecuencia de fotogramas en lugar de usar el tiempo delta. CrazyGames es un sitio para jugadores <a href="https://docs.crazygames.com/requirements/gameplay/" target="_blank" rel="noreferrer">de 13 años en adelante</a>, por lo que tu juego debe cumplir los requisitos de PEGI 12.</p>
<h2 id="el-sdk-de-crazygames" tabindex="-1">El SDK de CrazyGames <a class="header-anchor" href="#el-sdk-de-crazygames" aria-label="Permalink to &quot;El SDK de CrazyGames&quot;"></a></h2>
<p>El SDK permite que tu juego se comunique con la plataforma y es obligatorio para el lanzamiento completo. Gestiona <a href="https://docs.crazygames.com/" target="_blank" rel="noreferrer">anuncios, cuentas de usuario, partidas guardadas en la nube, invitaciones, clasificaciones y compras</a>. Solo se permiten los anuncios servidos mediante el SDK, que es la regla fundamental de todo el modelo de ingresos.</p>
<p>En cuanto a los anuncios, dispones de dos tipos de vídeo. Los anuncios durante la partida se muestran en pausas naturales, como cuando un jugador muere o termina un nivel, mientras que los anuncios con recompensa los solicita el jugador a cambio de algo dentro del juego. Los <a href="https://docs.crazygames.com/requirements/ads/" target="_blank" rel="noreferrer">requisitos son estrictos</a>: los anuncios no pueden interrumpir una partida activa ni sorprender al jugador, el juego debe ponerse en pausa y bloquear las entradas mientras se reproduce un anuncio, y el sonido debe silenciarse durante el anuncio y reactivarse cuando termine. También hay anuncios de banner. Además de los anuncios, el SDK ofrece almacenamiento de datos en la nube para que el progreso acompañe al jugador entre dispositivos, autenticación de usuario vinculada a su cuenta de CrazyGames e invitaciones de amigos y funciones sociales para juegos multijugador. La plataforma impulsa estas últimas desde que añadió funciones sociales al alcanzar el hito de 35 millones de usuarios.</p>
<p>El SDK es compatible directamente con <a href="https://docs.crazygames.com/" target="_blank" rel="noreferrer">HTML5, Unity, GameMaker, Construct 3, Godot y Cocos</a>, además de contar con extensiones de socios para GDevelop, Defold y Wonderland Engine. CrazyGames tiene juegos publicados creados con Unity, Defold, Godot, Phaser, PlayCanvas, Construct, Pixi.js y BabylonJS, por lo que el motor que elijas importa mucho menos que su capacidad para exportar una compilación web limpia y rápida. El soporte práctico para el SDK y el asesoramiento personalizado sobre la ubicación de anuncios comienzan cuando tus juegos superan las <a href="https://docs.crazygames.com/requirements/intro/" target="_blank" rel="noreferrer">50 000 partidas combinadas</a>.</p>
<h3 id="compras-dentro-del-juego" tabindex="-1">Compras dentro del juego <a class="header-anchor" href="#compras-dentro-del-juego" aria-label="Permalink to &quot;Compras dentro del juego&quot;"></a></h3>
<p>Las compras dentro del juego están disponibles, pero <a href="https://docs.crazygames.com/sdk/in-game-purchases/" target="_blank" rel="noreferrer">solo por invitación</a>. CrazyGames utiliza <a href="https://xsolla.com/partner-spotlight/crazygames-adds-xsolla-payments" target="_blank" rel="noreferrer">Xsolla</a> como proveedor de pagos para las compras dentro del juego, que siempre se procesan mediante la cuenta de Xsolla de CrazyGames para vincularlas automáticamente con el ID de usuario de CrazyGames del jugador. Esta función se amplió durante 2025. En junio de 2025, Xsolla y Defold <a href="https://www.pocketgamer.biz/xsolla-partners-with-defold-to-simplify-in-game-purchases-for-web-developers/" target="_blank" rel="noreferrer">publicaron un SDK específico</a> que permite a los juegos web de Defold en CrazyGames incorporar compras sin tener que conectar manualmente las API. En la práctica, las compras dentro del juego no son algo en torno a lo que debas planificar tu lanzamiento. Primero consigue una invitación obteniendo buenos resultados con los anuncios y después añade las compras.</p>
<h2 id="como-recibes-los-pagos" tabindex="-1">Cómo recibes los pagos <a class="header-anchor" href="#como-recibes-los-pagos" aria-label="Permalink to &quot;Cómo recibes los pagos&quot;"></a></h2>
<p>CrazyGames no publica el reparto de ingresos en su documentación principal para desarrolladores, así que conviene desconfiar de las guías que presentan un porcentaje fijo como oficial. Lo más parecido a una cifra oficial son las condiciones que CrazyGames publicó para su <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">game jam web de GameMaker de 2026</a>, según las cuales los desarrolladores conservan el 60 % de los ingresos publicitarios dentro del juego y el 70 % de los ingresos por compras dentro del juego. El <a href="https://developer.crazygames.com/" target="_blank" rel="noreferrer">portal para desarrolladores</a> permite consultar los ingresos de cada juego. Lo que CrazyGames sí documenta por completo es el funcionamiento de los pagos, y esos datos son concretos.</p>
<p>Los pagos se realizan <a href="https://docs.crazygames.com/payouts/" target="_blank" rel="noreferrer">mensualmente mediante Tipalti</a> cuando tu saldo alcanza el mínimo de 100 €. Si no superas los 100 € en un mes determinado, el saldo se acumula para el siguiente. Tipalti admite transferencias bancarias, depósitos directos o ACH, cheques electrónicos y PayPal, aunque la disponibilidad depende de tu país. Las condiciones formales son de pago neto a 60 días, pero CrazyGames afirma que actualmente intenta pagar antes, normalmente para el día 10 del mes siguiente. Ten en cuenta las comisiones de cambio de divisas y las posibles comisiones de bancos intermediarios que escapan al control de CrazyGames. Tus ingresos dependen del volumen de partidas, la retención y la ubicación de tus jugadores, por lo que un mismo juego genera cifras muy distintas con una audiencia estadounidense que con otra de CPM bajo.</p>
<h2 id="que-funciona-bien-en-crazygames" tabindex="-1">Qué funciona bien en CrazyGames <a class="header-anchor" href="#que-funciona-bien-en-crazygames" aria-label="Permalink to &quot;Qué funciona bien en CrazyGames&quot;"></a></h2>
<p>El catálogo se inclina por los juegos multijugador de estilo .io, la acción de sesiones rápidas, los puzles casuales, las carreras y los juegos de disparos: tipos de juegos que enganchan en los primeros diez segundos y funcionan bien en una pestaña del navegador mientras el jugador hace otras cosas. Como el filtro del lanzamiento básico mide el tiempo de juego y la retención, los juegos que ofrecen diversión desde el principio suelen funcionar bien, mientras que aquellos que necesitan un tutorial de cinco minutos antes de que ocurra algo tienden a estancarse. Las funciones sociales y de invitaciones del SDK favorecen a los juegos con elementos multijugador o fáciles de compartir, razón por la que tantos éxitos destacados para navegador se basan en jugar con otras personas o contra ellas.</p>
<h2 id="motivos-habituales-de-rechazo" tabindex="-1">Motivos habituales de rechazo <a class="header-anchor" href="#motivos-habituales-de-rechazo" aria-label="Permalink to &quot;Motivos habituales de rechazo&quot;"></a></h2>
<p>La forma más rápida de conseguir que rechacen tu juego es enviar algo poco original. CrazyGames busca expresamente <a href="https://docs.crazygames.com/requirements/quality/" target="_blank" rel="noreferrer">clones, cambios superficiales y juegos creados a partir de recursos prefabricados</a>, y tu juego no debería confundirse fácilmente con otro por su nombre o iconografía. El segundo problema más común es la falta de pulido. Un desarrollador contó cómo su juego fue <a href="https://www.linkedin.com/pulse/my-game-got-rejected-just-2-hours-dmitrii-rigin" target="_blank" rel="noreferrer">rechazado en unas dos horas</a> con la observación de que «parece un prototipo», y se quejó de que los comentarios eran escasos en comparación con algunos portales rivales. Es una advertencia razonable: el estándar es un juego que se sienta terminado, no una versión de una game jam, y los comentarios que recibas pueden ser escuetos.</p>
<p>Los fallos técnicos completan la lista. Los juegos que cargan lentamente, sufren tirones, se bloquean o generan errores son rechazados, al igual que las compilaciones con defectos gráficos, como artefactos de compresión, estilos visuales incoherentes, físicas que fallan en monitores con una frecuencia de actualización alta o controles que no tienen en cuenta las distribuciones de teclado habituales. El texto que no resulta legible a una resolución estándar o dentro del iframe 16:9 es otro fallo frecuente. Ninguno de estos problemas es extraordinario, pero son precisamente los aspectos que se pasan por alto con facilidad cuando tienes prisa por enviar el juego.</p>
<h2 id="donde-encaja-cinevva" tabindex="-1">Dónde encaja Cinevva <a class="header-anchor" href="#donde-encaja-cinevva" aria-label="Permalink to &quot;Dónde encaja Cinevva&quot;"></a></h2>
<p>Si te enfrentas al requisito de que el juego «debe sentirse terminado, no como un prototipo» y todavía no tienes una compilación, una herramienta como Cinevva puede ayudarte. Describes el juego que quieres y Cinevva crea en tu navegador un juego web 3D jugable que después puedes exportar como una compilación HTML5 autocontenida. Así dispones de algo que puedes perfeccionar y probar con la herramienta de control de calidad de CrazyGames, en lugar de empezar con un proyecto de motor vacío. No superará por ti los requisitos de originalidad y pulido, pero reduce la distancia entre una idea y una primera versión jugable, que es la parte más lenta del camino hasta el envío.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cuanto-paga-crazygames-a-los-desarrolladores" tabindex="-1">¿Cuánto paga CrazyGames a los desarrolladores? <a class="header-anchor" href="#¿cuanto-paga-crazygames-a-los-desarrolladores" aria-label="Permalink to &quot;¿Cuánto paga CrazyGames a los desarrolladores?&quot;"></a></h3>
<p>CrazyGames no publica el reparto de ingresos en su documentación principal para desarrolladores. El dato oficial más aproximado se encuentra en las <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">condiciones de su game jam de GameMaker de 2026</a>, donde se indica que los desarrolladores conservan el 60 % de los ingresos publicitarios y el 70 % de los ingresos por compras. Recibes una parte de los ingresos publicitarios que genera tu juego mediante el SDK, cuyo seguimiento se realiza por juego en el portal para desarrolladores, además de los ingresos por compras dentro del juego si recibes una invitación. Los pagos se procesan mensualmente mediante Tipalti una vez que superas un saldo de 100 €, y los ingresos reales dependen en gran medida del volumen de partidas, la retención y la proporción de tu audiencia que se encuentra en mercados con un CPM alto, como Estados Unidos y Reino Unido.</p>
<h3 id="¿cuanto-tarda-crazygames-en-revisar-un-juego" tabindex="-1">¿Cuánto tarda CrazyGames en revisar un juego? <a class="header-anchor" href="#¿cuanto-tarda-crazygames-en-revisar-un-juego" aria-label="Permalink to &quot;¿Cuánto tarda CrazyGames en revisar un juego?&quot;"></a></h3>
<p>Los desarrolladores suelen recibir una respuesta entre 1 y 2 días después del envío, a menudo acompañada de capturas de pantalla que muestran qué aspectos deben corregirse. Una vez solucionados los problemas que bloquean la aprobación, preparar el juego para su lanzamiento tarda aproximadamente otros dos días. Las actualizaciones de un juego que ya está publicado son más rápidas y suelen procesarse durante el mismo día laborable. El mayor coste de tiempo corresponde al periodo de lanzamiento básico, una fase de lanzamiento limitado de unas dos semanas durante la cual CrazyGames mide la interacción real antes de invitarte al lanzamiento completo.</p>
<h3 id="¿tengo-que-publicar-mi-juego-en-exclusiva-en-crazygames" tabindex="-1">¿Tengo que publicar mi juego en exclusiva en CrazyGames? <a class="header-anchor" href="#¿tengo-que-publicar-mi-juego-en-exclusiva-en-crazygames" aria-label="Permalink to &quot;¿Tengo que publicar mi juego en exclusiva en CrazyGames?&quot;"></a></h3>
<p>No. CrazyGames no exige exclusividad, así que puedes publicar el mismo juego en Steam, tiendas de aplicaciones móviles, itch.io o portales de la competencia como Poki al mismo tiempo y seguir recibiendo una parte de los ingresos de CrazyGames. Esto lo convierte en un canal de bajo riesgo que puedes añadir a un lanzamiento multiplataforma, en lugar de una decisión que limite tu juego.</p>
<h3 id="¿que-tipos-de-juegos-funcionan-mejor-en-crazygames" tabindex="-1">¿Qué tipos de juegos funcionan mejor en CrazyGames? <a class="header-anchor" href="#¿que-tipos-de-juegos-funcionan-mejor-en-crazygames" aria-label="Permalink to &quot;¿Qué tipos de juegos funcionan mejor en CrazyGames?&quot;"></a></h3>
<p>Aquí triunfan los juegos de navegador que cargan rápido y resultan divertidos de inmediato. El filtro de lanzamiento de la plataforma mide el tiempo de juego y la retención, por lo que los juegos multijugador .io, los juegos de acción con partidas cortas, los puzles casuales, los juegos de carreras y los shooters que enganchan a los jugadores durante los primeros diez segundos suelen superar el proceso y crecer. Los juegos que requieren un tutorial largo antes de empezar a ser divertidos, o que cargan lentamente, tienen más dificultades. Las funciones sociales y de invitación del SDK también ofrecen una ventaja adicional a los juegos multijugador y fáciles de compartir.</p>
<h3 id="¿cuales-son-los-limites-de-tamano-de-las-compilaciones-para-crazygames" tabindex="-1">¿Cuáles son los límites de tamaño de las compilaciones para CrazyGames? <a class="header-anchor" href="#¿cuales-son-los-limites-de-tamano-de-las-compilaciones-para-crazygames" aria-label="Permalink to &quot;¿Cuáles son los límites de tamaño de las compilaciones para CrazyGames?&quot;"></a></h3>
<p>La descarga inicial debe ocupar 50 MB o menos, la compilación total no puede superar los 250 MB (o 50 MB si no integras el SDK) y el conjunto debe contener menos de 1500 archivos. Los juegos se ejecutan en un iframe adaptable con una relación de aspecto de 16:9 y deben poder leerse con un devicePixelRatio de 1. Reducir el tamaño de la carga inicial es lo más importante, ya que un inicio lento perjudica las métricas de conversión y retención que determinan si alcanzas el lanzamiento completo.</p>
<h3 id="¿puedo-vender-compras-dentro-del-juego-en-crazygames" tabindex="-1">¿Puedo vender compras dentro del juego en CrazyGames? <a class="header-anchor" href="#¿puedo-vender-compras-dentro-del-juego-en-crazygames" aria-label="Permalink to &quot;¿Puedo vender compras dentro del juego en CrazyGames?&quot;"></a></h3>
<p>Sí, pero solo con invitación. Las compras dentro del juego se procesan mediante Xsolla, a través de la cuenta de Xsolla de CrazyGames, para que cada compra se vincule automáticamente al ID de CrazyGames del jugador. Por lo general, recibirás una invitación cuando tu juego haya obtenido buenos resultados con la monetización publicitaria, así que planifica el lanzamiento inicialmente con anuncios y añade las compras más adelante, en lugar de diseñar toda la economía del juego en torno a las compras dentro de la aplicación desde el primer día.</p>
<BuildCta
  title="¿Necesitas un juego web listo para enviar?"
  desc="Crea un juego 3D jugable a partir de una sola frase y exporta una compilación HTML5 autocontenida para la herramienta de control de calidad de CrazyGames."
  prompt="Crea un juego multijugador de arena al estilo .io que cargue rápido y que pueda publicar en CrazyGames" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/publish-web-game.html">Cómo publicar un juego web</a> — el listado completo de portales y plataformas para juegos de navegador</li>
<li><a href="/es/guides/publish-game-poki.html">Publica tu juego en Poki</a> — el otro gran portal de juegos de navegador, comparado punto por punto</li>
<li><a href="/es/guides/web-game-monetization.html">Monetización de juegos web</a> — cómo generan ingresos realmente el reparto de ingresos publicitarios, las compras dentro de la aplicación y los vídeos con recompensa</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Lanza tu juego en itch.io</a> — la alternativa abierta y sin filtros de acceso donde estableces tus propias condiciones</li>
<li><a href="/es/guides/promote-indie-game-no-budget.html">Promociona un juego indie sin presupuesto</a> — cómo atraer tu propio tráfico cuando el portal no es suficiente</li>
<li><a href="/es/tutorials/ship-web-game-fast.html">Publica un juego web que cargue rápido</a> — cómo cumplir el límite de carga inicial de 50 MB que impone CrazyGames</li>
<li><a href="/es/guides/multiplayer-browser-game.html">Crea un juego multijugador para navegador</a> — el enfoque al estilo .io que mejor funciona en CrazyGames</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/publish-game-crazygames-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo publicar un juego en Discord Activities (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/publish-game-discord-activities</link>
            <guid>https://app.cinevva.com/es/guides/publish-game-discord-activities</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Cómo publicar un juego en Discord Activities en 2026: Embedded App SDK, restricciones de iframe y proxy, integraciones multijugador, monetización y realidad del descubrimiento.]]></description>
            <content:encoded><![CDATA[<h1 id="como-publicar-un-juego-en-discord-activities-2026" tabindex="-1">Cómo publicar un juego en Discord Activities (2026) <a class="header-anchor" href="#como-publicar-un-juego-en-discord-activities-2026" aria-label="Permalink to &quot;Cómo publicar un juego en Discord Activities (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Sí, puedes publicar un juego en Discord, y la vía para hacerlo se llama Activity. Una Activity es una aplicación web que se ejecuta dentro del cliente de Discord, integrada en un iframe que puedes abrir desde un canal de voz, un canal de texto o un mensaje directo. Se crea con el <a href="https://github.com/discord/embedded-app-sdk" target="_blank" rel="noreferrer">Discord Embedded App SDK</a>, un kit de JavaScript lanzado inicialmente en 2024 que sigue recibiendo actualizaciones activamente (la versión 2.5.0 llegó el <a href="https://github.com/discord/embedded-app-sdk/releases" target="_blank" rel="noreferrer">5 de mayo de 2026</a>). Si tu juego ya funciona en un navegador, la mayor parte del trabajo consiste en alojarlo, indicarle a Discord dónde está y usar el SDK para obtener el usuario actual y las demás personas del canal.</p>
<p>La versión resumida del proceso: crea una aplicación en el Portal para desarrolladores de Discord, activa la función Activities, aloja tu compilación web en un sitio público, añade una asignación de URL para que el proxy de Discord pueda servirla y usa el SDK para autenticar al jugador y consultar la lista de participantes. Con eso tendrás una Activity funcional que tus amigos podrán abrir. Conseguir que otras personas la encuentren es la parte más difícil, porque Discord no tiene una tienda para «explorar todos los juegos», y hablaremos con franqueza de ello más adelante.</p>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Qué es</strong></td>
<td>Una aplicación web (tu juego) que se ejecuta en un iframe dentro de Discord y puede abrirse en canales de voz, canales de texto y mensajes directos</td>
</tr>
<tr>
<td><strong>Tecnologías</strong></td>
<td>Cualquier compilación web (HTML5/WebGL, Unity WebGL o exportación web de Godot), además del <a href="https://www.npmjs.com/package/@discord/embedded-app-sdk" target="_blank" rel="noreferrer">Embedded App SDK</a> para la autenticación y los participantes</td>
</tr>
<tr>
<td><strong>Alojamiento</strong></td>
<td>Tú alojas la compilación; Discord la sirve a través de un proxy en <code>discordsays.com</code> con una CSP estricta</td>
</tr>
<tr>
<td><strong>Monetización</strong></td>
<td>Compras nativas dentro de la aplicación (suscripciones y artículos de pago único). La comisión de la plataforma de Discord es del <a href="https://support-dev.discord.com/hc/en-us/articles/17299902720919-Premium-Apps-Payout" target="_blank" rel="noreferrer">15 % sobre tu primer millón de dólares y luego del 30 %</a>, más el procesamiento de pagos</td>
</tr>
<tr>
<td><strong>Descubrimiento</strong></td>
<td>App Launcher, perfil en App Directory (después de la verificación) y, sobre todo, recomendaciones de boca en boca. No existe una sección global para explorarlas todas</td>
</tr>
<tr>
<td><strong>Coste de publicación</strong></td>
<td>Crear la aplicación es gratis; tú pagas el alojamiento y los servidores de juego que necesites</td>
</tr>
</tbody>
</table>
<h2 id="que-son-las-activities-en-2026" tabindex="-1">Qué son las Activities en 2026 <a class="header-anchor" href="#que-son-las-activities-en-2026" aria-label="Permalink to &quot;Qué son las Activities en 2026&quot;"></a></h2>
<p>Una Activity no es un juego nativo que subes. Es tu sitio web, ejecutándose en directo, que Discord carga dentro de un marco aislado mientras varias personas pasan el rato juntas. El SDK actúa como intermediario entre tu página y el cliente de Discord y se encarga de la infraestructura social: quién está aquí, quién soy, en qué canal estamos y el intercambio de OAuth para obtener un token fiable (<a href="https://docs.discord.com/developers/developer-tools/embedded-app-sdk" target="_blank" rel="noreferrer">referencia del SDK</a>).</p>
<p>La razón por la que esto importa más en 2026 que cuando se lanzó es que Discord ha apostado con fuerza por los juegos como categoría. Más del 25 % de los usuarios activos mensuales de Discord ya utilizan aplicaciones y Activities, y a finales de 2025 había más de 10 000 comunidades de juegos en la plataforma, con más de 80 millones de miembros en conjunto (<a href="https://discord.com/press-releases/discord-deepens-its-ability-to-drive-growth-for-games" target="_blank" rel="noreferrer">comunicado de prensa de Discord, GDC 2026</a>). Algunas Activities han logrado una tracción real entre ese público. Death by AI, de Playroom, alcanzó un máximo de unos 700 000 usuarios activos diarios y llegó aproximadamente a 7 millones de jugadores en cuestión de semanas; más del 70 % de las sesiones incluían a tres o más amigos. Más de 14 millones de personas han jugado a Chef Showdown, de Mojiworks, y pasan en el juego alrededor de tres veces más tiempo que en otras plataformas. Krunker Strike FRVR multiplicó por más de dos su base de jugadores tras publicarse como Activity (<a href="https://a16z.com/discord-activities-social-gaming/" target="_blank" rel="noreferrer">a16z</a>, <a href="https://discord.com/press-releases/discord-deepens-its-ability-to-drive-growth-for-games" target="_blank" rel="noreferrer">Discord</a>). El patrón común en todos ellos es que son sociales, casuales y multijugador desde el primer instante. Ese es el tipo de juego que funciona aquí.</p>
<h2 id="como-configurar-una" tabindex="-1">Cómo configurar una <a class="header-anchor" href="#como-configurar-una" aria-label="Permalink to &quot;Cómo configurar una&quot;"></a></h2>
<p>Empieza en el <a href="https://discord.com/developers/build" target="_blank" rel="noreferrer">Portal para desarrolladores de Discord</a>. Crea una aplicación nueva y activa el derecho de uso de Activities en la sección Activities. Tu juego debe estar disponible mediante una URL HTTPS pública, así que aloja la compilación web donde ya suelas hacerlo (Cloudflare Pages, Vercel, Netlify o un alojamiento estático sencillo).</p>
<p>El paso que suele causar problemas es la asignación de URL. Discord no carga tu sitio directamente. Enruta todas las solicitudes a través de un proxy en <code>https://&lt;your-app-id&gt;.discordsays.com</code> para ocultar las direcciones IP de los jugadores y bloquear endpoints maliciosos conocidos (<a href="https://docs.discord.com/developers/activities/development-guides/networking" target="_blank" rel="noreferrer">documentación de red de Discord</a>). En el Portal para desarrolladores, asignas un prefijo de ruta a tu host real, de modo que <code>/</code> apunte a tu juego y, por ejemplo, <code>/api</code> apunte a tu backend. Todo recurso que solicite tu juego y que no hayas asignado se bloqueará. Para las solicitudes que solo aparecen en tiempo de ejecución, la API <code>patchUrlMappings</code> del SDK las reescribe sobre la marcha para que tu compilación de desarrollo y la compilación de producción servida mediante el proxy se comporten igual (<a href="https://github.com/discord/embedded-app-sdk/blob/main/patch-url-mappings.md" target="_blank" rel="noreferrer">guía de patch-url-mappings</a>).</p>
<p>Cuando el alojamiento y las asignaciones estén listos, integra el SDK. Llama a <code>discordSdk.ready()</code> para confirmar que el marco está conectado y luego a <code>authorize()</code> y <code>authenticate()</code> para ejecutar el flujo de OAuth y obtener un token que identifique al jugador (<a href="https://docs.discord.com/developers/developer-tools/embedded-app-sdk" target="_blank" rel="noreferrer">referencia del SDK</a>). A partir de ahí, puedes consultar los participantes del canal y diseñar el juego en torno a ellos. Pruébalo abriendo la Activity en un canal de voz real con la aplicación instalada. La documentación de Discord y las plantillas de la comunidad para <a href="https://robojs.dev/discord-activities/proxy" target="_blank" rel="noreferrer">Robo.js</a> y configuraciones básicas te permitirán pasar de un repositorio vacío a un marco funcional en una tarde.</p>
<h2 id="restricciones-tecnicas" tabindex="-1">Restricciones técnicas <a class="header-anchor" href="#restricciones-tecnicas" aria-label="Permalink to &quot;Restricciones técnicas&quot;"></a></h2>
<p>Como una Activity es una página web dentro de un iframe muy restringido, está sujeta tanto a las limitaciones de la web como a las reglas de seguridad de Discord. Las Activities se ejecutan bajo una política de seguridad de contenido restrictiva y todas las solicitudes de red deben pasar por el proxy de <code>discordsays.com</code>. Una llamada directa a un dominio externo que no hayas asignado falla con un error <code>blocked:csp</code> (<a href="https://blog.waveplay.com/discord-proxy-csp-patch/" target="_blank" rel="noreferrer">notas sobre el proxy de Discord</a>). Esto resulta especialmente problemático cuando un módulo npm de terceros realiza discretamente llamadas a su propia CDN o API. Debes asignar ese dominio o modificar la solicitud.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 300" role="img" aria-label="Flujo de solicitudes de una Activity de Discord: el iframe de tu juego envía cada solicitud al proxy de discordsays.com; las solicitudes a un host asignado se permiten y se sirven, mientras que las solicitudes a un host externo no asignado se bloquean con un error blocked:csp" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <defs>
    <marker id="ah-g" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0 L10 5 L0 10 z" fill="#6ee7b7"/></marker>
    <marker id="ah-r" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0 L10 5 L0 10 z" fill="#fb7185"/></marker>
    <marker id="ah-b" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0 L10 5 L0 10 z" fill="#c8a8ff"/></marker>
  </defs>
  <rect width="720" height="300" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Todas las solicitudes pasan por el proxy</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Asigna un host y se servirá. Omite la asignación y la CSP de Discord lo bloqueará.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <rect x="24" y="150" width="160" height="70" rx="12" fill="#121a31" stroke="#7dd3fc" stroke-width="1.5"/>
    <text x="104" y="181" text-anchor="middle" font-size="14" font-weight="800" fill="#e8edf5">Tu juego</text>
    <text x="104" y="200" text-anchor="middle" font-size="11.5" fill="#9aa7b4">iframe en Discord</text>
    <rect x="262" y="150" width="182" height="70" rx="12" fill="#121a31" stroke="#c8a8ff" stroke-width="1.5"/>
    <text x="353" y="181" text-anchor="middle" font-size="14" font-weight="800" fill="#c8a8ff">discordsays.com</text>
    <text x="353" y="200" text-anchor="middle" font-size="11.5" fill="#9aa7b4">proxy + CSP</text>
    <rect x="524" y="94" width="172" height="66" rx="12" fill="#121a31" stroke="#6ee7b7" stroke-width="1.5"/>
    <text x="610" y="122" text-anchor="middle" font-size="14" font-weight="800" fill="#6ee7b7">Tu host asignado</text>
    <text x="610" y="141" text-anchor="middle" font-size="11.5" fill="#9aa7b4">servido &#10003;</text>
    <rect x="524" y="210" width="172" height="66" rx="12" fill="#121a31" stroke="#fb7185" stroke-width="1.5"/>
    <text x="610" y="238" text-anchor="middle" font-size="14" font-weight="800" fill="#fb7185">Host no asignado</text>
    <text x="610" y="257" text-anchor="middle" font-size="11.5" fill="#9aa7b4">blocked:csp &#10007;</text>
    <path d="M184 185 H256" fill="none" stroke="#c8a8ff" stroke-width="2.5" marker-end="url(#ah-b)"/>
    <path d="M444 176 C486 176 486 127 518 127" fill="none" stroke="#6ee7b7" stroke-width="2.5" marker-end="url(#ah-g)"/>
    <path d="M444 194 C486 194 486 243 518 243" fill="none" stroke="#fb7185" stroke-width="2.5" marker-end="url(#ah-r)"/>
    <text x="470" y="112" font-size="11" font-weight="700" fill="#6ee7b7">asignado</text>
    <text x="470" y="270" font-size="11" font-weight="700" fill="#fb7185">no asignado</text>
  </g>
</svg>
<p>En cuanto a la compatibilidad con motores, si puede compilarse para la web, puede ser una Activity. HTML5 y WebGL puros funcionan. La exportación WebGL de Unity funciona gracias a los <a href="https://www.supertorio.dev/creating-a-unity-discord-activity/" target="_blank" rel="noreferrer">wrappers del SDK para Unity</a> y las plantillas mantenidas por la comunidad, ya que Discord simplemente sirve mediante proxy la compilación WebGL dentro del marco. La exportación web de Godot funciona del mismo modo, y hay <a href="https://github.com/TheSleepyKoala/Svelcordot" target="_blank" rel="noreferrer">plantillas listas para usar</a> que combinan Godot con un alojamiento web. Los motores nativos que no pueden generar una versión para navegador no pueden convertirse en Activities, sin excepciones. Mantén reducida la descarga inicial, porque una descarga WebGL pesada dentro de una ventana de chat hace que los usuarios abandonen más rápido que en la página de una tienda.</p>
<p>Los dispositivos móviles forman parte del proyecto, no son algo secundario. Las Activities funcionan en los clientes de escritorio, web y móviles de Discord, así que diseña desde el principio para controles táctiles y orientación vertical en lugar de dar por sentado que se usarán teclado y ratón.</p>
<h2 id="funciones-multijugador-y-sociales" tabindex="-1">Funciones multijugador y sociales <a class="header-anchor" href="#funciones-multijugador-y-sociales" aria-label="Permalink to &quot;Funciones multijugador y sociales&quot;"></a></h2>
<p>Esta es la verdadera razón para estar en Discord. La plataforma te proporciona un grupo de amigos que ya están juntos en un canal de voz, justo el contexto que la mayoría de los juegos multijugador invierten una fortuna en intentar crear. El SDK te ofrece gratuitamente la lista y la identidad de los participantes, por lo que convertir «todos los integrantes de esta llamada están ahora en mi juego» en realidad requiere unas pocas líneas, no un sistema de emparejamiento.</p>
<p>Aun así, debes gestionar por tu cuenta el estado del juego en tiempo real. Embedded App SDK gestiona la identidad y la presencia, no tu código de red, por lo que tendrás que combinarlo con un servidor de juego. <a href="https://colyseus.io/blog/discord-embedded-sdk/" target="_blank" rel="noreferrer">Colyseus explicó cómo encaja detrás de una Activity de Discord</a>, y se aplican las mismas opciones de nuestra <a href="/es/guides/multiplayer-browser-game.html">guía de juegos multijugador para navegador</a>: WebSockets para publicar rápido y un servidor autoritativo para simplificar la prevención de trampas y mantener una única fuente fiable del estado. Recuerda que tu servidor de juego es otro host externo, por lo que necesita una asignación de URL como todo lo demás.</p>
<p>Aprovecha al máximo el enfoque social. Las Activities que han triunfado son aquellas en las que formar parte de un grupo es el objetivo principal, no un modo que pueda desactivarse. Juegos de fiesta, juegos de dibujo, preguntas y respuestas, rondas competitivas rápidas: cualquier experiencia en la que entrar con las personas que ya están en tu llamada resulte más divertido que jugar en solitario.</p>
<h2 id="la-realidad-de-la-monetizacion" tabindex="-1">La realidad de la monetización <a class="header-anchor" href="#la-realidad-de-la-monetizacion" aria-label="Permalink to &quot;La realidad de la monetización&quot;"></a></h2>
<p>Discord admite compras nativas dentro de las Activities, por lo que puedes vender sin enviar a los jugadores a una página de pago externa. El <a href="https://docs.discord.com/developers/monetization/implementing-iap-for-activities" target="_blank" rel="noreferrer">sistema de compras dentro de Activities</a> abarca suscripciones (de usuario o servidor) y compras únicas, que pueden ser duraderas para desbloqueos permanentes o consumibles para artículos que los jugadores gastan.</p>
<p>En cuanto al reparto, conviene ser realista. La comisión de la plataforma de Discord es del 15 % sobre tu primer millón de dólares en ventas acumuladas y del 30 % después de superar ese umbral, antes de descontar los costes de procesamiento de pagos y las comisiones por transacción (<a href="https://support-dev.discord.com/hc/en-us/articles/17299902720919-Premium-Apps-Payout" target="_blank" rel="noreferrer">Pagos de aplicaciones prémium, vigente desde el 6 de junio de 2024</a>). Verás por internet afirmaciones de que «Discord se queda con el 10 %». Tómatelas con cautela, porque las condiciones de pago documentadas son los tramos del 15 % y el 30 % indicados anteriormente. Podrás recibir pagos cuando hayas ganado 100 dólares.
Hay otros dos elementos del panorama económico de 2026 que conviene conocer, aunque todavía no estén pensados para la mayoría de los desarrolladores independientes. Orbs, la moneda de Discord que se lanzó globalmente en <a href="https://www.tweaktown.com/news/105500/discord-rewards-users-for-engaging-with-ads-new-orbs-currency-introduced/index.html" target="_blank" rel="noreferrer">julio de 2025</a>, permite a los jugadores ganar una moneda blanda completando Quests (acciones publicitarias con recompensa) y gastarla en la Tienda de Discord. Se trata de una economía publicitaria orientada más a los presupuestos de marketing de grandes juegos que a una primera Activity. Además, en la GDC 2026, Discord amplió Social Commerce, una forma nativa de comprar y regalar objetos del juego dentro de los servidores, presentada por primera vez con Marvel Rivals en <a href="https://discord.com/blog/bringing-in-game-commerce-to-discord-communities" target="_blank" rel="noreferrer">diciembre de 2025</a>. Aproximadamente el 20 % de las compras en la Tienda de Discord son regalos y, durante el lanzamiento con Marvel Rivals, el 41 % de las compras fueron regalos (<a href="https://discord.com/blog/building-on-the-social-layer-of-games-whats-new-from-gdc-2026" target="_blank" rel="noreferrer">resumen de la GDC 2026</a>). Social Commerce se está desplegando primero entre un grupo limitado de socios, así que es una opción a la que puedes acceder a medida que creces, no una herramienta disponible desde el primer día.</p>
<h2 id="la-realidad-del-descubrimiento" tabindex="-1">La realidad del descubrimiento <a class="header-anchor" href="#la-realidad-del-descubrimiento" aria-label="Permalink to &quot;La realidad del descubrimiento&quot;"></a></h2>
<p>Esto es lo que debes tener claro antes de basar tu plan en Discord. Dentro de Discord no existe una tienda global para «explorar Activities», como la portada que ofrecen Steam o los portales web (<a href="https://www.strayspark.studio/blog/discord-activities-embedded-app-sdk-indie-game-distribution-2026" target="_blank" rel="noreferrer">StraySpark, 14 de mayo de 2026</a>). El descubrimiento ocurre a través de servidores en los que la gente ya participa, enlaces compartidos en el chat y el App Launcher (el icono de formas situado en la parte inferior del cliente), además de la página de perfil de tu App Directory. Estas dos últimas opciones solo aparecen después de que tu aplicación se haya verificado y hayas habilitado Discovery en el Developer Portal (<a href="https://support-dev.discord.com/hc/en-us/articles/21204493235991-How-Can-Users-Discover-and-Play-My-Activity" target="_blank" rel="noreferrer">soporte de Discord</a>).</p>
<p>En la práctica, esto significa que una Activity no crea una audiencia por sí sola. Si tu comunidad aún no está en Discord, publicar una Activity no hará que aparezca mágicamente. Los juegos que despegaron lo hicieron propagándose entre grupos de amigos existentes: una persona los inicia en una llamada y todo el grupo empieza a jugar al instante. Por tanto, el ciclo de crecimiento que debes diseñar es «una persona lo comparte en un canal», no «alguien lo encuentra mientras explora un catálogo». Diseña el juego de modo que los primeros 30 segundos con tres amigos sean su mejor presentación.</p>
<h2 id="¿merece-la-pena-frente-a-los-portales-web" tabindex="-1">¿Merece la pena frente a los portales web? <a class="header-anchor" href="#¿merece-la-pena-frente-a-los-portales-web" aria-label="Permalink to &quot;¿Merece la pena frente a los portales web?&quot;"></a></h2>
<p>Discord y los portales web resuelven problemas diferentes, así que la respuesta suele ser «ambos, por motivos distintos».</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Discord Activities</th>
<th>Portales web (Poki, CrazyGames, itch.io)</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Audiencia</strong></td>
<td>Amigos que ya están juntos en una llamada de voz</td>
<td>Desconocidos que buscan un juego para probar</td>
</tr>
<tr>
<td><strong>Descubrimiento</strong></td>
<td>Boca a boca, sin una tienda para explorarlos todos</td>
<td>Tráfico de portada y algorítmico</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Juegos sociales, casuales y multijugador instantáneo</td>
<td>Juegos web para un jugador y con amplio alcance</td>
</tr>
<tr>
<td><strong>Monetización</strong></td>
<td>Compras integradas nativas, comisiones del 15 %/30 %</td>
<td>Reparto de ingresos publicitarios del portal o tus propias compras integradas</td>
</tr>
<tr>
<td><strong>Trabajo adicional respecto a una versión web</strong></td>
<td>SDK, asignación del proxy, CSP y diseño social</td>
<td>Normalmente, solo una inserción y una página</td>
</tr>
</tbody>
</table>
<p>Portales como <a href="/es/guides/publish-game-poki.html">Poki</a> y <a href="/es/guides/publish-game-crazygames.html">CrazyGames</a> te envían jugadores desconocidos y ponen tu juego delante de personas que buscan activamente algo nuevo, algo que Discord no hace. Discord te aporta grupos de amigos y un contexto social que permite poner en marcha una partida multijugador con facilidad, algo que los portales no ofrecen. Si tu juego es para un solo jugador, un portal es el mejor primer destino. Si es el tipo de juego que cobra vida con tres amigos en una llamada, Discord merece el trabajo técnico adicional. La buena noticia es que, como todos estos servicios ejecutan versiones web, un mismo juego puede estar en todas partes. Publícalo primero como juego web y después adáptalo a cada plataforma.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿puedo-publicar-cualquier-juego-en-discord" tabindex="-1">¿Puedo publicar cualquier juego en Discord? <a class="header-anchor" href="#¿puedo-publicar-cualquier-juego-en-discord" aria-label="Permalink to &quot;¿Puedo publicar cualquier juego en Discord?&quot;"></a></h3>
<p>Solo si se ejecuta en un navegador. Una Discord Activity es una aplicación web cargada en un iframe, por lo que HTML5, WebGL, Unity WebGL y las exportaciones web de Godot son compatibles, mientras que los juegos exclusivamente nativos que no pueden compilarse para la web no lo son. Debes desarrollarla con el Embedded App SDK, alojar tú mismo la versión web en una URL pública y registrarla como Activity en el Discord Developer Portal. Si tu juego ya funciona en un navegador, tienes hecha la mayor parte del trabajo.</p>
<h3 id="¿es-gratis-publicar-una-discord-activity" tabindex="-1">¿Es gratis publicar una Discord Activity? <a class="header-anchor" href="#¿es-gratis-publicar-una-discord-activity" aria-label="Permalink to &quot;¿Es gratis publicar una Discord Activity?&quot;"></a></h3>
<p>Crear la aplicación y habilitar Activities en el Developer Portal no cuesta nada. Lo que tendrás que pagar es tu propio alojamiento para la versión web y cualquier servidor de juego que utilices para el multijugador, ya que Discord solo actúa como proxy para tu sitio en lugar de alojarlo. Si vendes compras integradas, Discord cobra una comisión de plataforma del 15 % sobre tu primer millón de dólares en ventas y del 30 % a partir de esa cifra, además de los costes de procesamiento de pagos. Sin embargo, publicar no tiene costes iniciales ni comisiones por aparecer en el catálogo.</p>
<h3 id="¿como-encuentran-los-jugadores-mi-discord-activity" tabindex="-1">¿Cómo encuentran los jugadores mi Discord Activity? <a class="header-anchor" href="#¿como-encuentran-los-jugadores-mi-discord-activity" aria-label="Permalink to &quot;¿Cómo encuentran los jugadores mi Discord Activity?&quot;"></a></h3>
<p>Principalmente a través de sus amigos. Discord no tiene una tienda global para «explorar todas las Activities», así que el descubrimiento depende de los enlaces compartidos en canales, de que alguien la inicie en una llamada de voz y, una vez verificada tu aplicación, de su perfil en el App Directory y del App Launcher integrado en el cliente. Las Activities que alcanzaron un gran éxito lo hicieron propagándose dentro de grupos de amigos existentes, no porque alguien las encontrara en un catálogo. Planifica un crecimiento basado en el boca a boca y diseña el primer minuto con amigos para que sirva de gancho.</p>
<h3 id="¿necesito-multijugador-para-publicar-una-activity" tabindex="-1">¿Necesito multijugador para publicar una Activity? <a class="header-anchor" href="#¿necesito-multijugador-para-publicar-una-activity" aria-label="Permalink to &quot;¿Necesito multijugador para publicar una Activity?&quot;"></a></h3>
<p>No, pero es la principal razón por la que la plataforma resulta interesante. Las Activities pueden ser para un solo jugador, pero la ventaja de Discord es que coloca tu juego en un canal de voz donde los amigos ya están reunidos, y el SDK te proporciona gratuitamente la lista de participantes. Las Activities que se convierten en grandes éxitos son sociales y ofrecen multijugador instantáneo. Por lo general, a un juego para un solo jugador le irá mejor en un portal web que le aporte tráfico de usuarios que buscan juegos.</p>
<h3 id="¿como-se-compara-la-monetizacion-de-discord-activities-con-la-de-los-portales" tabindex="-1">¿Cómo se compara la monetización de Discord Activities con la de los portales? <a class="header-anchor" href="#¿como-se-compara-la-monetizacion-de-discord-activities-con-la-de-los-portales" aria-label="Permalink to &quot;¿Cómo se compara la monetización de Discord Activities con la de los portales?&quot;"></a></h3>
<p>Discord permite vender compras integradas nativas (suscripciones y artículos de pago único) sin enviar a los jugadores a una página de pago externa. Te deja el 85 % de los ingresos hasta alcanzar un millón de dólares en ventas y el 70 % a partir de esa cifra, antes de descontar las comisiones de procesamiento. Los portales web suelen pagarte una parte de los ingresos publicitarios en función de las partidas o permiten que gestiones tus propias compras integradas. El modelo de Discord beneficia a los juegos con jugadores fieles que compran elementos cosméticos o desbloqueos, mientras que los portales favorecen a los juegos capaces de atraer un gran volumen de partidas casuales.</p>
<h3 id="¿que-dificultades-tecnicas-hay-al-publicar-en-discord" tabindex="-1">¿Qué dificultades técnicas hay al publicar en Discord? <a class="header-anchor" href="#¿que-dificultades-tecnicas-hay-al-publicar-en-discord" aria-label="Permalink to &quot;¿Qué dificultades técnicas hay al publicar en Discord?&quot;"></a></h3>
<p>Las dos principales son el proxy y la CSP. Todas las solicitudes de red de tu Activity pasan por <code>discordsays.com</code>, y cualquier dominio externo que no hayas declarado como asignación de URL queda bloqueado. Esto suele causar problemas cuando una dependencia se conecta silenciosamente a su propia API. Puedes solucionarlo asignando el dominio o modificando la solicitud con el SDK. Aparte de eso, procura que la carga inicial sea ligera porque el juego se ejecuta en una ventana de chat, y diseña pensando en las pantallas táctiles, ya que Activities también funciona en dispositivos móviles.</p>
<BuildCta
  title="Discord Activities ejecuta juegos web"
  desc="Crea un juego 3D para navegador a partir de una sola frase y después adáptalo como Activity."
  prompt="Crea un juego de fiesta rápido donde hasta cuatro amigos compitan en rondas cortas" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/multiplayer-browser-game.html">Cómo crear un juego multijugador para navegador</a> — el código de red que tu Activity necesita detrás del SDK</li>
<li><a href="/es/guides/publish-web-game.html">Cómo publicar un juego web</a> — publica la versión web que se convertirá en tu Activity</li>
<li><a href="/es/guides/publish-game-poki.html">Cómo publicar un juego en Poki</a> — un portal que te aporta el tráfico de usuarios que Discord no ofrece</li>
<li><a href="/es/guides/publish-game-crazygames.html">Cómo publicar un juego en CrazyGames</a> — otro portal web con un amplio alcance</li>
<li><a href="/es/guides/web-game-monetization.html">Monetización de juegos web</a> — comparación entre las compras integradas y los ingresos publicitarios de Discord y los portales</li>
<li><a href="/es/guides/co-op-game-design.html">Diseño de juegos cooperativos</a> — diseña los ganchos sociales que ayudan a propagar las Activities</li>
<li><a href="/es/tutorials/iframe-embedding-games.html">Inserción de juegos mediante iframe</a> — la base técnica de cómo Discord enmarca tu juego</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/publish-game-discord-activities-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo publicar tu juego en Poki (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/publish-game-poki</link>
            <guid>https://app.cinevva.com/es/guides/publish-game-poki</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Poki funciona solo por invitación y se financia con publicidad. Te explicamos cómo enviar tu juego web, superar la Web Fit Test, cumplir los requisitos técnicos y entender el reparto de ingresos.]]></description>
            <content:encoded><![CDATA[<h1 id="como-publicar-tu-juego-en-poki-2026" tabindex="-1">Cómo publicar tu juego en Poki (2026) <a class="header-anchor" href="#como-publicar-tu-juego-en-poki-2026" aria-label="Permalink to &quot;Cómo publicar tu juego en Poki (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Para publicar tu juego en Poki, debes enviarlo a través del portal <a href="https://developers.poki.com/" target="_blank" rel="noreferrer">Poki for Developers</a>, donde un equipo humano revisa cada juego y decide si encaja en la plataforma. No hay ningún botón abierto de subida ni una opción de «publicar ahora». Debes crear una cuenta de desarrollador, subir una compilación HTML5 que cumpla los requisitos técnicos de Poki —una descarga inicial inferior a 8 MB, un lienzo 16:9 que se adapte a ordenadores y móviles, y el SDK de Poki integrado correctamente— y, después, tu juego pasará por un proceso de pruebas por etapas: una Player Fit Test, una Web Fit Test y una revisión final antes del lanzamiento mundial.</p>
<p>Poki es una plataforma seleccionada de juegos web, no una tienda, así que entrar se parece más a presentar un juego a una editora que a subirlo a itch.io. La ventaja es que Poki se encarga de la distribución. Recibió a <a href="https://markets.financialcontent.com/stocks/article/accwirecq-2026-3-20-poki-announces-milestone-of-625-million-players-without-raising-external-funding" target="_blank" rel="noreferrer">625 millones de jugadores en 2025</a> y cuenta con <a href="https://www.superjumpmagazine.com/what-pokis-100-million-monthly-gamers-reveal-about-the-future-of-browser-games/" target="_blank" rel="noreferrer">más de 100 millones de jugadores mensuales</a>, todo ello con un equipo de 65 personas que nunca ha aceptado inversión externa. Tú aportas un buen juego web capaz de retener a los jugadores durante los primeros tres minutos, y Poki lo pone frente a una audiencia del tamaño de una red de consolas. En esta guía explicamos cómo funciona realmente el proceso de envío, cuáles son los requisitos técnicos, cómo recibirás tus pagos y por qué se rechazan algunos juegos.</p>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Poki</th>
</tr>
</thead>
<tbody>
<tr>
<td>Modelo de envío</td>
<td>Seleccionado, similar a un sistema por invitación. Todos los juegos se revisan manualmente. No hay subida abierta</td>
</tr>
<tr>
<td>Coste del envío</td>
<td>Gratis</td>
</tr>
<tr>
<td>Modelo de ingresos</td>
<td>Reparto de ingresos publicitarios. <a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">El 100 % de los ingresos del tráfico que aportes y un reparto 50/50 del tráfico que aporte Poki</a></td>
</tr>
<tr>
<td>Método de pago</td>
<td>Transferencia bancaria o PayPal, en la divisa que elijas</td>
</tr>
<tr>
<td>Tecnología</td>
<td>HTML5. Descarga inicial <a href="https://sdk.poki.com/new-requirements" target="_blank" rel="noreferrer">inferior a 8 MB</a>, lienzo 16:9 y SDK de Poki obligatorio</td>
</tr>
<tr>
<td>Proceso de revisión</td>
<td>Player Fit Test, después Web Fit Test (<a href="https://sdk.poki.com/web-fit-test" target="_blank" rel="noreferrer">entre 3 y 5 días aproximadamente</a>) y, por último, revisión final</td>
</tr>
<tr>
<td>Tiempo hasta el lanzamiento mundial</td>
<td>Aproximadamente 2 o 3 semanas de <a href="https://sdk.poki.com/releaseprocess" target="_blank" rel="noreferrer">lanzamiento limitado</a> tras superar las pruebas</td>
</tr>
</tbody>
</table>
<h2 id="que-es-poki-y-por-que-merece-la-pena-intentarlo" tabindex="-1">Qué es Poki y por qué merece la pena intentarlo <a class="header-anchor" href="#que-es-poki-y-por-que-merece-la-pena-intentarlo" aria-label="Permalink to &quot;Qué es Poki y por qué merece la pena intentarlo&quot;"></a></h2>
<p>Poki es el nombre más importante de los juegos web. Funciona por completo en el navegador, sin descargas ni tiendas de aplicaciones, y se centra en títulos casuales que la gente juega en sesiones cortas. Lo que la hace relevante es su escala. Poki anunció que alcanzó los <a href="https://markets.financialcontent.com/stocks/article/accwirecq-2026-3-20-poki-announces-milestone-of-625-million-players-without-raising-external-funding" target="_blank" rel="noreferrer">625 millones de jugadores en 2025</a> y supera los <a href="https://www.superjumpmagazine.com/what-pokis-100-million-monthly-gamers-reveal-about-the-future-of-browser-games/" target="_blank" rel="noreferrer">100 millones de jugadores mensuales</a>, lo que la sitúa al nivel de PlayStation Network. Los juegos que triunfan allí alcanzan cifras enormes: Subway Surfers ha superado los mil millones de partidas en la plataforma, y títulos como Stickman Hook —más de 500 millones de partidas— y Monkey Mart —alrededor de 300 millones— muestran el aspecto que tiene un juego web de éxito, según <a href="https://www.gamedeveloper.com/business/the-huge-hidden-web-game-market-no-one-talks-about-and-how-to-get-in-" target="_blank" rel="noreferrer">Game Developer</a>.</p>
<p>La contrapartida es el control. En itch.io publicas y promocionas el juego por tu cuenta. En Poki, el equipo selecciona el catálogo y se encarga de la distribución, por lo que intercambias independencia por alcance. Ese modelo solo funciona si tu juego supera sus exigencias, que es de lo que trata el resto de esta guía.</p>
<h2 id="el-proceso-de-envio-paso-a-paso" tabindex="-1">El proceso de envío, paso a paso <a class="header-anchor" href="#el-proceso-de-envio-paso-a-paso" aria-label="Permalink to &quot;El proceso de envío, paso a paso&quot;"></a></h2>
<p>El proceso comienza en <a href="https://developers.poki.com/" target="_blank" rel="noreferrer">Poki for Developers</a>, el portal donde se alojan la información de tu equipo y tus juegos. Debes crear una cuenta y enviar tu juego mediante el formulario. Poki se describe como una plataforma seleccionada manualmente: el equipo revisa cada envío y decide si encaja, así que recibir un «no» o no recibir respuesta es algo normal, no un error.</p>
<p>Si Poki quiere seguir adelante, tu juego pasará por un proceso de varias etapas documentado en el <a href="https://sdk.poki.com/what-is-p4d" target="_blank" rel="noreferrer">sitio de Poki for Developers</a>: añades tu juego, recopilas los primeros comentarios de jugadores y, después, llegas a la Player Fit Test, la Web Fit Test y una revisión final de Poki. Cada etapa busca responder una pregunta utilizando jugadores reales antes de que Poki invierta su tráfico en tu juego: ¿la gente sigue jugando de verdad?</p>
<p>La Player Fit Test es el primer filtro importante. Un desarrollador que documentó su experiencia hasta la publicación describe el requisito como <a href="https://kuyimobile.substack.com/p/my-game-production-process-and-how" target="_blank" rel="noreferrer">125 de 500 jugadores —el 25 %— jugando durante al menos 3 minutos</a>. Si suficientes jugadores continúan jugando, pasarás a la Web Fit Test, que presenta el juego a un grupo más amplio durante <a href="https://sdk.poki.com/web-fit-test" target="_blank" rel="noreferrer">entre 3 y 5 días, según la documentación de Poki</a>, aunque algunos desarrolladores afirman que puede acercarse a una semana. Si la superas, Poki se pondrá en contacto contigo para avanzar hacia el lanzamiento.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 380" role="img" aria-label="El proceso de envío de Poki: envío mediante el portal de desarrolladores, seguido de la Player Fit Test, donde 125 de 500 evaluadores (el 25 por ciento) deben jugar durante 3 minutos o más; después, una Web Fit Test de entre 3 y 5 días; luego, un lanzamiento limitado de entre 2 y 3 semanas con el objetivo de mostrar al menos un anuncio por usuario activo diario; y, por último, el lanzamiento mundial con aproximadamente 2 semanas de promoción destacada" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="380" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">El proceso de envío de Poki</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Cada etapa es un filtro. Los jugadores reales deciden antes de que Poki invierta su tráfico.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <g transform="translate(80,92)">
      <rect width="600" height="42" rx="9" fill="#7dd3fc"/>
      <text x="18" y="19" font-size="14" font-weight="800" fill="#0b1020">1 · Envía el juego mediante el portal de desarrolladores</text>
      <text x="18" y="35" font-size="11.5" fill="#0b1020" fill-opacity="0.72">Crea una cuenta y sube la compilación HTML5. Revisión manual, sin subida abierta.</text>
    </g>
    <g transform="translate(80,148)">
      <rect width="500" height="42" rx="9" fill="#c8a8ff"/>
      <text x="18" y="19" font-size="14" font-weight="800" fill="#0b1020">2 · Player Fit Test</text>
      <text x="18" y="35" font-size="11.5" fill="#0b1020" fill-opacity="0.72">125 de 500 evaluadores (25 %) deben jugar durante 3 minutos o más.</text>
    </g>
    <g transform="translate(80,204)">
      <rect width="410" height="42" rx="9" fill="#a9b4ff"/>
      <text x="18" y="19" font-size="14" font-weight="800" fill="#0b1020">3 · Web Fit Test</text>
      <text x="18" y="35" font-size="11.5" fill="#0b1020" fill-opacity="0.72">Grupo de jugadores más amplio, durante 3–5 días.</text>
    </g>
    <g transform="translate(80,260)">
      <rect width="340" height="42" rx="9" fill="#f0abfc"/>
      <text x="18" y="19" font-size="14" font-weight="800" fill="#0b1020">4 · Lanzamiento limitado</text>
      <text x="18" y="35" font-size="11.5" fill="#0b1020" fill-opacity="0.72">2–3 semanas. Objetivo: ≥1 anuncio por DAU.</text>
    </g>
    <g transform="translate(80,316)">
      <rect width="300" height="42" rx="9" fill="#6ee7b7"/>
      <text x="18" y="19" font-size="14" font-weight="800" fill="#0b1020">5 · Lanzamiento mundial</text>
      <text x="18" y="35" font-size="11.5" fill="#0b1020" fill-opacity="0.72">~2 semanas de promoción destacada.</text>
    </g>
  </g>
</svg>
<h2 id="lanzamiento-limitado-y-lanzamiento-mundial" tabindex="-1">Lanzamiento limitado y lanzamiento mundial <a class="header-anchor" href="#lanzamiento-limitado-y-lanzamiento-mundial" aria-label="Permalink to &quot;Lanzamiento limitado y lanzamiento mundial&quot;"></a></h2>
<p>Superar las pruebas de adecuación no coloca tu juego directamente en la página de inicio. Poki realiza primero un lanzamiento limitado. Según la <a href="https://sdk.poki.com/releaseprocess" target="_blank" rel="noreferrer">documentación del proceso de lanzamiento</a>, normalmente se tarda entre una y dos semanas en programarlo y después dura unas dos o tres semanas. Durante ese periodo, tu juego aparece en páginas de categorías relevantes, pero no en las páginas de inicio, y puedes consultar en el panel un conjunto específico de métricas: conversión a partida, interacción, errores y monetización. Para esta última, Poki recomienda intentar mostrar al menos un anuncio por usuario activo diario, con una combinación equilibrada de vídeos intermedios y recompensados.</p>
<p>El lanzamiento limitado es el momento de corregir problemas. Puedes publicar nuevas versiones y hacer pruebas A/B mientras el juego está disponible para un público reducido, ajustando la retención y la frecuencia de los anuncios antes de la gran promoción. Cuando las métricas del lanzamiento limitado sean sólidas, el juego pasará al lanzamiento mundial y el sistema de promoción de Poki lo destacará en páginas de inicio localizadas, páginas de categorías y páginas de juegos, con lo que la documentación denomina un impulso importante durante unas dos semanas, además de un icono de fuego que indica que es «nuevo».</p>
<h2 id="requisitos-tecnicos-que-debes-cumplir" tabindex="-1">Requisitos técnicos que debes cumplir <a class="header-anchor" href="#requisitos-tecnicos-que-debes-cumplir" aria-label="Permalink to &quot;Requisitos técnicos que debes cumplir&quot;"></a></h2>
<p>La <a href="https://sdk.poki.com/new-requirements" target="_blank" rel="noreferrer">página de requisitos</a> de Poki es muy específica, e incumplirlos es una forma rápida de quedar fuera. La cifra principal es el tamaño: intenta que la descarga inicial sea inferior a 8 MB. Los jugadores web no esperarán mientras se completa una carga pesada, y esta es la limitación que más adaptaciones de consola o móvil incumplen.</p>
<p>Tu juego debe ajustarse a un lienzo 16:9 y adaptarse correctamente a distintos dispositivos. Poki indica como dimensiones proporcionales 640x360, 836x470 o 1031x580, y el juego debe ocupar todo el lienzo en ordenadores, móviles y tabletas. En teléfonos, debe llenar la pantalla en orientación vertical, horizontal o ambas. Las tabletas deben usar el esquema de controles para móviles, no el de ordenador.</p>
<p>Debes integrar correctamente el SDK de Poki, y sus eventos no son un adorno opcional. <code>gameplayStart()</code> se ejecuta con la primera acción del jugador, nunca durante la carga, y <code>gameplayStop()</code> se ejecuta ante cualquier interrupción, como una pausa, un menú o el final de un nivel. Estos eventos no pueden ejecutarse de forma consecutiva y no debe activarse ningún evento de anuncios durante un vídeo intermedio o recompensado. Poki utiliza estas señales para colocar anuncios y medir las pruebas de adecuación, así que configurarlas mal perjudica ambas cosas.</p>
<p>Hay otros requisitos que también causan problemas. Poki <a href="https://sdk.poki.com/new-requirements" target="_blank" rel="noreferrer">bloquea de forma predeterminada todas las solicitudes externas</a>, por lo que debes incluirlo todo en la compilación: nada de Google Fonts, CDN de recursos ni bibliotecas de código externas cargadas en tiempo de ejecución. Solo está permitido el sistema publicitario de Poki, así que elimina cualquier otro SDK de publicidad o seguimiento; Poki debe aprobar primero los rastreadores externos. Tu juego debe funcionar en modo incógnito, lo que implica envolver el acceso a <code>localStorage</code> en try/catch para evitar que una llamada de almacenamiento bloqueada cierre el juego. Además, para el lanzamiento mundial necesitas una miniatura estática y otra animada. Antes del envío, elimina todo el código de depuración, las herramientas de desarrollo y los elementos de prueba.</p>
<p>En cuanto a los motores, a Poki no le importa demasiado cómo desarrolles el juego siempre que exporte correctamente a HTML5. Las <a href="https://sdk.poki.com/faq" target="_blank" rel="noreferrer">preguntas frecuentes</a> indican que el SDK es compatible con HTML5, Defold, Unity, GameMaker, Phaser 3, Godot, Cocos, Construct 3 y GDevelop, y también existe una herramienta para convertir antiguos juegos Flash a HTML5. Unity funciona, pero es el motor que más dificultades presenta para respetar el límite de 8 MB: tendrás que seguir las recomendaciones de optimización de Poki y exportar una compilación WASM para tener alguna posibilidad de cumplirlo.</p>
<p>Si desarrollas con Cinevva, la mayor parte de esta sección ya está resuelta. Cinevva exporta una compilación HTML5 autónoma con todos los recursos incluidos, que es justo el formato que busca Poki. Así, en lugar de pelearte para reducir el tamaño de un motor pesado, puedes centrarte en conectar los eventos del SDK y ajustar la retención.</p>
<h2 id="como-cobran-los-desarrolladores" tabindex="-1">Cómo cobran los desarrolladores <a class="header-anchor" href="#como-cobran-los-desarrolladores" aria-label="Permalink to &quot;Cómo cobran los desarrolladores&quot;"></a></h2>
<p>El modelo de Poki se <a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">basa por completo en la publicidad</a>, lo que significa que no tienes que ocuparte de integrar pagos ni compras dentro del juego. Recibes una parte de los ingresos publicitarios, y el reparto depende de la procedencia del jugador. Si un jugador accede directamente a tu juego mediante un marcador, una búsqueda, las redes sociales o tu propia comunidad, conservas el 100 % de los ingresos generados por ese jugador. Si llega a tu juego a través de Poki.com o de una campaña de marketing de Poki, los ingresos se reparten al 50 % entre Poki y tú. Esta estructura recompensa discretamente que aportes tu propio público: el tráfico que tú generas vale para ti el doble que el aportado por Poki.</p>
<p>Poki paga mediante transferencia bancaria o PayPal, y puedes configurar tus datos de facturación y tu divisa preferida en el portal de desarrolladores. Además del reparto directo de ingresos, Poki también ofrece acuerdos de licencia y paga a algunos desarrolladores por adelantado o de forma recurrente para mantener un juego exclusiva o principalmente en la plataforma. Estos acuerdos no tienen condiciones públicas estandarizadas y suelen reservarse para juegos que Poki quiere destacar especialmente.</p>
<p>Ajusta tus expectativas usando cifras reales. Para un primer juego web, un intervalo realista es de <a href="https://indiegamebusiness.com/web-gaming-for-indie-developers/" target="_blank" rel="noreferrer">aproximadamente entre 500 y 3000 dólares al mes</a>, y los ingresos dependen en gran medida del género, de la frecuencia con la que actualices el juego y del tiempo que lleve publicado. Es bastante menos de lo que puede generar de golpe un éxito de Steam, pero los ingresos web son más constantes y se acumulan: la duración de las sesiones impulsa los ingresos publicitarios, por lo que un juego con un alto valor de rejugabilidad sigue generando dinero mucho después de su lanzamiento. Además, la mayoría de los desarrolladores a los que les va bien en la web lo consiguen con varios juegos, no con uno solo.</p>
<h2 id="poki-frente-a-otras-plataformas-web" tabindex="-1">Poki frente a otras plataformas web <a class="header-anchor" href="#poki-frente-a-otras-plataformas-web" aria-label="Permalink to &quot;Poki frente a otras plataformas web&quot;"></a></h2>
<p>Poki no es el único lugar donde publicar un juego de navegador, y la elección adecuada depende de cuánto valores el alcance frente al control.</p>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma</th>
<th>Acceso</th>
<th>Modelo de ingresos</th>
<th>Ideal para</th>
</tr>
</thead>
<tbody>
<tr>
<td>Poki</td>
<td>Selección editorial, revisión humana y acceso por invitación</td>
<td>Reparto de publicidad: <a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">100 % del tráfico directo y 50/50 del tráfico de Poki</a></td>
<td>Juegos casuales que buscan llegar al mayor público de juegos web</td>
</tr>
<tr>
<td>CrazyGames</td>
<td>Selección editorial y revisión antes de la publicación</td>
<td>Reparto de ingresos publicitarios</td>
<td>Juegos web casuales y de complejidad media, con un alcance similar al de Poki</td>
</tr>
<tr>
<td>itch.io</td>
<td>Abierta, sin filtros de acceso</td>
<td>Tú eliges la comisión (<a href="https://itch.io/docs/creators/pricing" target="_blank" rel="noreferrer">~10 % por defecto</a>, paga lo que quieras o precio fijo)</td>
<td>Juegos independientes, experimentales y de game jams que quieras controlar de principio a fin</td>
</tr>
<tr>
<td>Newgrounds</td>
<td>Envíos abiertos a la comunidad</td>
<td>Reparto de ingresos publicitarios y aportaciones de seguidores</td>
<td>Juegos cortos creativos e impulsados por la comunidad, con una audiencia integrada</td>
</tr>
</tbody>
</table>
<p>La forma más clara de entenderlo es esta: Poki y CrazyGames son plataformas enormes, financiadas con publicidad y con selección editorial, por lo que sacrificas independencia a cambio de distribución. itch.io y Newgrounds son abiertas, así que cualquiera puede publicar, pero debes encargarte de tu propio marketing. Muchos desarrolladores web envían sus juegos a Poki y CrazyGames para ganar alcance, mientras mantienen una página de itch.io que controlan por completo. Para conocer todo el proceso de itch.io, consulta nuestra <a href="/es/guides/itch-io-launch-guide.html">guía de lanzamiento en itch.io</a>.</p>
<h2 id="que-funciona-realmente-en-poki" tabindex="-1">Qué funciona realmente en Poki <a class="header-anchor" href="#que-funciona-realmente-en-poki" aria-label="Permalink to &quot;Qué funciona realmente en Poki&quot;"></a></h2>
<p>Poki prioriza los juegos casuales. Los juegos que escalan son fáciles de entender, se pueden jugar en sesiones cortas, funcionan bien en móviles y tienen un alto valor de rejugabilidad. Esto último importa más de lo que parece: como ganas dinero por las impresiones publicitarias durante el tiempo de juego, un título al que la gente regresa genera muchos más ingresos que una experiencia de una sola partida con el mismo pico de audiencia. Los bucles arcade sencillos, los multijugadores de estilo <code>.io</code>, los juegos de vestir y personalización y los títulos de acción con partidas cortas encajan bien en este modelo. La audiencia también tiende a ser más joven y a jugar más en móviles que el público habitual de Steam, por lo que los controles con un solo pulgar y el reinicio instantáneo funcionan mejor que los diseños profundos que exigen mucha dedicación.</p>
<h2 id="motivos-habituales-de-rechazo" tabindex="-1">Motivos habituales de rechazo <a class="header-anchor" href="#motivos-habituales-de-rechazo" aria-label="Permalink to &quot;Motivos habituales de rechazo&quot;"></a></h2>
<p>La mayoría de los rechazos se deben a la retención y al acabado, no a cuestiones de gusto. El principal motivo es una <a href="https://indiegamebusiness.com/web-gaming-for-indie-developers/" target="_blank" rel="noreferrer">baja retención de jugadores durante los primeros tres minutos</a>, que es exactamente lo que mide la prueba Player Fit Test. Por tanto, si el inicio es lento o confuso, no superarás el filtro antes siquiera de que una persona evalúe el juego. Otros motivos son las versiones que superan la <a href="https://sdk.poki.com/new-requirements" target="_blank" rel="noreferrer">descarga inicial de 8 MB</a>, la mala compatibilidad con móviles, los juegos que requieren controles complejos o mucho tiempo y cualquier título que parezca incompleto o poco pulido. Los problemas de propiedad intelectual también provocan rechazos, ya que Poki revisa tanto la compatibilidad técnica como los derechos de los juegos. Corrige primero la retención y el tamaño, porque son los dos factores que descartan más envíos antes que cualquier otro.</p>
<BuildCta
  title="Crea algo que podrías presentar a Poki"
  desc="Cinevva convierte una frase en un juego web HTML5 jugable que puedes exportar, integrar con el SDK de Poki y enviar."
  prompt="Crea un juego arcade para un solo pulgar, con un bucle de 10 segundos y reinicio instantáneo" />
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿como-envio-mi-juego-a-poki" tabindex="-1">¿Cómo envío mi juego a Poki? <a class="header-anchor" href="#¿como-envio-mi-juego-a-poki" aria-label="Permalink to &quot;¿Cómo envío mi juego a Poki?&quot;"></a></h3>
<p>Debes enviarlo mediante el <a href="https://developers.poki.com/" target="_blank" rel="noreferrer">portal Poki for Developers</a>, creando una cuenta de desarrollador y remitiendo tu juego a través del formulario de envío. Poki realiza una selección editorial manual, por lo que un equipo real revisa cada propuesta y decide si encaja antes de publicarla. Si les interesa, tu juego pasa por un proceso de pruebas —primero Player Fit Test, después Web Fit Test y, por último, una revisión final— para que jugadores reales demuestren que mantiene su atención antes de que Poki le aporte tráfico. No existe una opción de publicación abierta, así que considéralo más parecido a presentar un proyecto a una editora que a subirlo a una tienda.</p>
<h3 id="¿publicar-en-poki-es-gratis-y-que-tan-selectiva-es-la-plataforma" tabindex="-1">¿Publicar en Poki es gratis y qué tan selectiva es la plataforma? <a class="header-anchor" href="#¿publicar-en-poki-es-gratis-y-que-tan-selectiva-es-la-plataforma" aria-label="Permalink to &quot;¿Publicar en Poki es gratis y qué tan selectiva es la plataforma?&quot;"></a></h3>
<p>Enviar un juego es gratis, pero Poki es selectiva. El equipo revisa cada título y lo prueba con jugadores reales en varias fases, por lo que no es un mercado abierto donde se publica cualquier cosa. El filtro principal es la retención: según el testimonio de un desarrollador ampliamente citado, el umbral de Player Fit Test exige que <a href="https://kuyimobile.substack.com/p/my-game-production-process-and-how" target="_blank" rel="noreferrer">el 25 % de los participantes juegue durante al menos tres minutos</a>. Los juegos poco pulidos, demasiado pesados, difíciles de controlar o que funcionan mal en móviles suelen quedar fuera, por lo que un buen acabado y un primer minuto sólido importan más que una idea novedosa.</p>
<h3 id="¿cuanto-dinero-puedes-ganar-en-poki" tabindex="-1">¿Cuánto dinero puedes ganar en Poki? <a class="header-anchor" href="#¿cuanto-dinero-puedes-ganar-en-poki" aria-label="Permalink to &quot;¿Cuánto dinero puedes ganar en Poki?&quot;"></a></h3>
<p>Poki paga una parte de los ingresos publicitarios, y un intervalo realista para un primer juego web es de <a href="https://indiegamebusiness.com/web-gaming-for-indie-developers/" target="_blank" rel="noreferrer">unos 500 a 3.000 dólares al mes</a>, según el género, la frecuencia de las actualizaciones y el tiempo que lleve publicado. El reparto favorece a los desarrolladores que aportan su propia audiencia: conservas <a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">el 100 % de los ingresos del tráfico que generas y el 50 % del tráfico que aporta Poki</a>. Es menos que lo que puede producir un gran éxito en Steam, pero resulta más estable y, como los ingresos dependen del tiempo de sesión, un juego con mucha rejugabilidad sigue generando dinero mucho después de su lanzamiento.</p>
<h3 id="¿cuales-son-los-requisitos-tecnicos-de-poki" tabindex="-1">¿Cuáles son los requisitos técnicos de Poki? <a class="header-anchor" href="#¿cuales-son-los-requisitos-tecnicos-de-poki" aria-label="Permalink to &quot;¿Cuáles son los requisitos técnicos de Poki?&quot;"></a></h3>
<p>Tu juego debe estar desarrollado en HTML5, tener una <a href="https://sdk.poki.com/new-requirements" target="_blank" rel="noreferrer">descarga inicial inferior a 8 MB</a>, adaptarse a un lienzo 16:9 que se ajuste a ordenadores, móviles y tabletas e integrar correctamente el SDK de Poki, activando los eventos <code>gameplayStart()</code> y <code>gameplayStop()</code> cuando corresponda. Poki bloquea por defecto las solicitudes externas, así que incluye todas las fuentes, recursos y bibliotecas en el paquete en lugar de cargarlos durante la ejecución, y utiliza únicamente el sistema de anuncios de Poki. El juego también debe funcionar en modo incógnito —encierra <code>localStorage</code> en un bloque try/catch— e incluir miniaturas estáticas y animadas para el lanzamiento global.</p>
<h3 id="¿cuanto-tarda-un-juego-en-publicarse-en-poki" tabindex="-1">¿Cuánto tarda un juego en publicarse en Poki? <a class="header-anchor" href="#¿cuanto-tarda-un-juego-en-publicarse-en-poki" aria-label="Permalink to &quot;¿Cuánto tarda un juego en publicarse en Poki?&quot;"></a></h3>
<p>Calcula semanas, no días. Después de superar las pruebas Player Fit Test y Web Fit Test —solo la <a href="https://sdk.poki.com/web-fit-test" target="_blank" rel="noreferrer">Web Fit Test dura entre 3 y 5 días</a>—, tu juego entra en un lanzamiento limitado que <a href="https://sdk.poki.com/releaseprocess" target="_blank" rel="noreferrer">normalmente tarda entre una y dos semanas en programarse y dura entre dos y tres semanas</a>. Solo cuando las métricas de ese lanzamiento limitado son buenas, el juego pasa al lanzamiento global con apoyo promocional. Todo el proceso, desde el envío hasta un lanzamiento global destacado, suele durar un mes o más.</p>
<h3 id="¿que-tipos-de-juegos-funcionan-mejor-en-poki" tabindex="-1">¿Qué tipos de juegos funcionan mejor en Poki? <a class="header-anchor" href="#¿que-tipos-de-juegos-funcionan-mejor-en-poki" aria-label="Permalink to &quot;¿Qué tipos de juegos funcionan mejor en Poki?&quot;"></a></h3>
<p>Los juegos casuales con un alto valor de rejugabilidad. La audiencia de Poki juega en sesiones cortas y utiliza sobre todo dispositivos móviles, por lo que funcionan mejor los bucles arcade fáciles de entender, los juegos de estilo <code>.io</code>, los títulos de vestir y personalización y los juegos de acción con partidas cortas. Como ganas dinero por las impresiones publicitarias durante el tiempo de sesión, un juego al que la gente vuelve a diario genera más ingresos que una experiencia de una sola vez con la misma audiencia. Los controles complejos, las partidas que exigen mucho tiempo y los paquetes pesados juegan en tu contra.</p>
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/publish-web-game.html">Publicar un juego web: la guía completa</a> — todas las plataformas y vías para lanzar un juego de navegador</li>
<li><a href="/es/guides/publish-game-crazygames.html">Cómo publicar tu juego en CrazyGames</a> — la otra gran plataforma web con selección editorial, a la que se suele enviar junto con Poki</li>
<li><a href="/es/guides/web-game-monetization.html">Monetización de juegos web</a> — ingresos publicitarios, compras dentro del juego y licencias en plataformas web</li>
<li><a href="/es/guides/publish-game-discord-activities.html">Cómo publicar un juego en Discord Activities</a> — otra audiencia web integrada a la que puedes lanzar tu juego</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo lanzar tu juego en itch.io</a> — la alternativa abierta que controlas por completo</li>
<li><a href="/es/tutorials/ship-web-game-fast.html">Lanza un juego web que cargue rápido</a> — cómo cumplir el límite de 8 MB de Poki y lograr una primera carga rápida</li>
<li><a href="/es/guides/casual-games-trends-2026.html">Tendencias de juegos casuales en 2026</a> — lo que dicen los datos sobre los juegos que busca la audiencia de Poki</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/publish-game-poki-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Monetización de juegos web: lo que realmente dicen los datos (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/web-game-monetization</link>
            <guid>https://app.cinevva.com/es/guides/web-game-monetization</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Lo que realmente ganan los juegos web en 2026, desde los repartos de ingresos de portales como Poki e itch.io hasta los CPM publicitarios reales, los precios de las licencias y rangos de ingresos honestos, todo con fuentes.]]></description>
            <content:encoded><![CDATA[<h1 id="monetizacion-de-juegos-web-lo-que-realmente-dicen-los-datos-2026" tabindex="-1">Monetización de juegos web: lo que realmente dicen los datos (2026) <a class="header-anchor" href="#monetizacion-de-juegos-web-lo-que-realmente-dicen-los-datos-2026" aria-label="Permalink to &quot;Monetización de juegos web: lo que realmente dicen los datos (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Pregunta «cómo ganan dinero los juegos web» y recibirás una docena de respuestas tajantes, casi todas ellas una promoción de la plataforma que vende el autor. La versión sincera es más complicada y más útil. El dinero de los juegos web procede de cuatro fuentes (reparto de ingresos publicitarios con portales, acuerdos de licencia por un pago único, compras dentro del juego y ventas directas), y las cantidades van desde unos pocos euros al año hasta cifras de siete dígitos para el diminuto grupo de juegos que ocupa la cima. Hemos obtenido las condiciones actuales directamente de las plataformas (<a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">Poki</a>, <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">CrazyGames</a>, <a href="https://itch.io/updates/introducing-open-revenue-sharing" target="_blank" rel="noreferrer">itch.io</a>, <a href="https://gamemonetize.com/developers" target="_blank" rel="noreferrer">GameMonetize</a>), los valores de referencia publicitarios de 2026 y un desglose real de los ingresos de un desarrollador, y hemos excluido cualquier cifra que no pudiéramos respaldar con una fuente. Esto es lo que realmente sabemos.</p>
<p>La versión corta: la mayoría de los juegos web ganan dinero ofreciéndose gratis en un portal como Poki o CrazyGames y repartiendo los ingresos publicitarios, de los que los desarrolladores conservan aproximadamente entre el 50 % y el 80 %, según la plataforma y la fuente del tráfico, de acuerdo con la <a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">documentación de las plataformas</a>. Una segunda vía consiste en licenciar tu juego HTML5 terminado a portales por una tarifa fija, normalmente <a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">entre $300 y $800 por una licencia no exclusiva y $5,000 o más por una exclusiva</a>. Una tercera opción es vender compras dentro del juego o el juego completo directamente, en cuyo caso itch.io te permite conservar <a href="https://itch.io/updates/introducing-open-revenue-sharing" target="_blank" rel="noreferrer">el 90 % de forma predeterminada</a>. Las cifras son demoledoras en la mediana (la mayoría de los juegos de pago en itch.io generan <a href="https://generalistprogrammer.com/tutorials/how-to-make-money-on-itchio-indie-game-guide" target="_blank" rel="noreferrer">menos de $50 al mes</a>) y enormes en la cima (los mejores estudios de Poki ingresan <a href="https://app.dealroom.co/news/feed/poki-hits-1b-monthly-plays-as-developer-first-model-boosts-top-studio-revenues-tenfold-1" target="_blank" rel="noreferrer">hasta 1 millón de euros al año</a>). Un juego casual con buen rendimiento en un portal importante se sitúa en un punto intermedio de <a href="https://www.abratabia.com/web-game-monetization/licensing-to-portals.php" target="_blank" rel="noreferrer">$200 a $2,000 al mes</a>.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 350" role="img" aria-label="Porcentaje de ingresos para el desarrollador por plataforma de juegos web en 2026: itch.io, 90 por ciento; Playgama Bridge, 80 por ciento; compras dentro del juego de CrazyGames, 70 por ciento; anuncios de CrazyGames, 60 por ciento; Poki, 50 por ciento; GameMonetize, 45 por ciento" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="350" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Lo que cada plataforma te permite conservar</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Porcentaje de los ingresos para el desarrollador, mediados de 2026. Fuente: documentación de las plataformas y condiciones publicadas de concursos.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" font-weight="700">
    <text x="205" y="118" text-anchor="end" fill="#e8edf5">itch.io (predeterminado)</text>
    <rect x="220" y="102" width="414" height="24" rx="5" fill="#6ee7b7"/>
    <text x="644" y="119" font-size="13" font-weight="800" fill="#6ee7b7">90%</text>
    <text x="205" y="158" text-anchor="end" fill="#e8edf5">Playgama Bridge</text>
    <rect x="220" y="142" width="368" height="24" rx="5" fill="#7dd3fc"/>
    <text x="598" y="159" font-size="13" font-weight="800" fill="#7dd3fc">80%</text>
    <text x="205" y="198" text-anchor="end" fill="#e8edf5">CrazyGames · compras</text>
    <rect x="220" y="182" width="322" height="24" rx="5" fill="#7dd3fc"/>
    <text x="552" y="199" font-size="13" font-weight="800" fill="#7dd3fc">70%</text>
    <text x="205" y="238" text-anchor="end" fill="#e8edf5">CrazyGames · anuncios</text>
    <rect x="220" y="222" width="276" height="24" rx="5" fill="#a9b4ff"/>
    <text x="506" y="239" font-size="13" font-weight="800" fill="#a9b4ff">60%</text>
    <text x="205" y="278" text-anchor="end" fill="#e8edf5">Poki</text>
    <rect x="220" y="262" width="230" height="24" rx="5" fill="#c8a8ff"/>
    <text x="460" y="279" font-size="13" font-weight="800" fill="#c8a8ff">50%</text>
    <text x="516" y="279" font-size="11.5" font-weight="600" fill="#9aa7b4">100% con tu propio tráfico</text>
    <text x="205" y="318" text-anchor="end" fill="#e8edf5">GameMonetize</text>
    <rect x="220" y="302" width="207" height="24" rx="5" fill="#fb7185"/>
    <text x="437" y="319" font-size="13" font-weight="800" fill="#fb7185">45%</text>
  </g>
</svg>
<h2 id="el-modelo-de-negocio-predeterminado-de-los-juegos-web-es-free-to-play-mas-reparto-de-ingresos-publicitarios" tabindex="-1">El modelo de negocio predeterminado de los juegos web es free-to-play más reparto de ingresos publicitarios <a class="header-anchor" href="#el-modelo-de-negocio-predeterminado-de-los-juegos-web-es-free-to-play-mas-reparto-de-ingresos-publicitarios" aria-label="Permalink to &quot;El modelo de negocio predeterminado de los juegos web es free-to-play más reparto de ingresos publicitarios&quot;"></a></h2>
<p>El modelo dominante en la web abierta es extremadamente sencillo. Publicas tu juego gratis en un portal, los jugadores lo ejecutan en el navegador, el portal muestra anuncios alrededor y dentro de él, y os repartís el dinero. No hay ninguna tarifa inicial ni una tienda que actúe como guardián. El portal se encarga de la tecnología publicitaria, el tráfico y los pagos, y tú recibes una parte.</p>
<p>El porcentaje es lo que diferencia a las plataformas. <a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">Poki</a> aplica un reparto directo del 50/50, con un matiz importante: si un jugador llega a tu juego a través de Poki.com o del propio marketing de Poki, os repartís los ingresos a partes iguales; pero si llega mediante tus propios marcadores, búsquedas, redes sociales o comunidad, conservas el 100 %. Es un incentivo deliberado para que aportes tu propia audiencia. CrazyGames no indica ningún reparto en su documentación principal para desarrolladores, pero las condiciones que publicó para su <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">concurso web de GameMaker de 2026</a> establecen que los desarrolladores conservan el 60 % de los ingresos por publicidad dentro del juego y el 70 % de los ingresos por compras dentro del juego, con pagos una vez superado el <a href="https://docs.crazygames.com/faq/" target="_blank" rel="noreferrer">mínimo de 100 €</a>. GameMonetize se encuentra en el extremo inferior con una <a href="https://gamemonetize.com/developers" target="_blank" rel="noreferrer">participación del 45 %</a>, mientras que capas de distribución más recientes como Playgama Bridge anuncian un <a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">80 %</a>. La diferencia es real, por lo que elegir una plataforma es una decisión sobre ingresos, no solo sobre distribución.</p>
<p>La escala es lo que hace que estos porcentajes valgan algo. Poki superó los <a href="https://app.dealroom.co/news/feed/poki-hits-1b-monthly-plays-as-developer-first-model-boosts-top-studio-revenues-tenfold-1" target="_blank" rel="noreferrer">1.000 millones de partidas mensuales</a> en 2026, con más de 600 estudios independientes en su catálogo, y CrazyGames registra <a href="https://gamesbeat.com/crazygames-hits-35m-users-for-browser-games-and-launches-social-multiplayer-features/" target="_blank" rel="noreferrer">más de 300 millones de partidas al mes</a> entre más de 50 millones de jugadores mensuales, según su portal para desarrolladores. Los agregadores llegan aún más lejos: <a href="https://gamedistribution.com/developers/partnership/" target="_blank" rel="noreferrer">GameDistribution</a> distribuye juegos a más de 4.000 portales que alcanzan a 350 millones de usuarios mensuales. Un solo buen juego puede acumular cifras difíciles de imaginar. En el repaso del mercado de los juegos web <a href="https://www.gamedeveloper.com/business/the-huge-hidden-web-game-market-no-one-talks-about-and-how-to-get-in-" target="_blank" rel="noreferrer">publicado por Game Developer</a>, Monkey Mart alcanzó 300 millones de partidas, Level Devil 83 millones y Stickman Hook 574 millones; todos ellos juegos que costaron menos de $10,000 y tardaron entre uno y tres meses en desarrollarse.</p>
<h2 id="las-tarifas-publicitarias-que-realmente-obtienen-los-juegos-web" tabindex="-1">Las tarifas publicitarias que realmente obtienen los juegos web <a class="header-anchor" href="#las-tarifas-publicitarias-que-realmente-obtienen-los-juegos-web" aria-label="Permalink to &quot;Las tarifas publicitarias que realmente obtienen los juegos web&quot;"></a></h2>
<p>El reparto de ingresos solo importa si conoces las tarifas publicitarias subyacentes, y aquí es donde escasean los datos sobre juegos web, porque la mayoría de los valores de referencia publicados corresponden a aplicaciones móviles. Las cifras más claras específicas de la web proceden del <a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">desglose de monetización de Playgama para 2026</a>: el vídeo con recompensa, el formato mejor pagado, genera aproximadamente entre $15 y $28 de eCPM en Estados Unidos, entre $8 y $15 en la UE y solo entre $1 y $3 en mercados de nivel 3 como India y Brasil. Los anuncios «intrínsecos» dentro del juego (emplazamientos de marca integrados en la escena) generan entre $2 y $6. Estas son las tarifas brutas antes del reparto de ingresos, por lo que una audiencia mayoritariamente estadounidense en Poki te deja la mitad de esa cifra máxima, mientras que una audiencia global produce una mezcla ponderada hacia el extremo inferior.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 300" role="img" aria-label="eCPM del vídeo con recompensa en la web por región en 2026: Estados Unidos, de 15 a 28 dólares; Unión Europea, de 8 a 15 dólares; mercados de nivel 3, de 1 a 3 dólares" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="300" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Lo que paga el vídeo con recompensa en la web</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Rango de eCPM del vídeo con recompensa en la web, antes del reparto de ingresos. Fuente: Playgama, 2026.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="12" fill="#5b6472">
    <line x1="180" y1="96" x2="180" y2="248" stroke="#ffffff" stroke-opacity="0.14"/>
    <text x="180" y="268" text-anchor="middle">$0</text>
    <text x="347" y="268" text-anchor="middle">$10</text>
    <text x="513" y="268" text-anchor="middle">$20</text>
    <text x="680" y="268" text-anchor="middle">$30</text>
  </g>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="14" font-weight="700">
    <text x="165" y="126" text-anchor="end" fill="#e8edf5">Estados Unidos</text>
    <rect x="430" y="110" width="217" height="26" rx="6" fill="#c8a8ff"/>
    <text x="538" y="128" text-anchor="middle" font-size="12.5" font-weight="800" fill="#0b1020">$15–$28</text>
    <text x="165" y="176" text-anchor="end" fill="#e8edf5">Unión Europea</text>
    <rect x="313" y="160" width="117" height="26" rx="6" fill="#7dd3fc"/>
    <text x="371" y="178" text-anchor="middle" font-size="12.5" font-weight="800" fill="#0b1020">$8–$15</text>
    <text x="165" y="226" text-anchor="end" fill="#e8edf5">Nivel 3 (IN, BR)</text>
    <rect x="197" y="210" width="34" height="26" rx="6" fill="#fb7185"/>
    <text x="252" y="228" font-size="12.5" font-weight="800" fill="#fb7185">$1–$3</text>
  </g>
</svg>
<p>La tarifa que obtienes también depende del formato, y en este punto todas las fuentes coinciden en la clasificación. El vídeo con recompensa (la ubicación opcional de «ver un anuncio a cambio de una recompensa») es el formato que más paga, a menudo alrededor del doble que un intersticial, según la <a href="https://www.applixir.com/blog/the-complete-guide-to-ecpm-optimization-for-web-games/" target="_blank" rel="noreferrer">guía de juegos web de AppLixir</a>. Después vienen los intersticiales que se reproducen durante pausas naturales, mientras que los banners quedan en último lugar, con apenas unos céntimos por cada mil impresiones en la mayoría de las regiones. Este orden explica por qué CrazyGames y Poki promueven tanto los vídeos con recompensa y los vídeos durante la partida en sus SDK, y tratan los banners como algo secundario.</p>
<p>Google también reabrió su programa de anuncios para la web. El antiguo AdSense for Games se ha convertido en <a href="https://support.google.com/adsense/answer/9959170" target="_blank" rel="noreferrer">H5 Games Ads</a>, un producto que requiere solicitud y muestra anuncios intersticiales y con recompensa mediante una API de colocación de anuncios. No es automático (la aprobación depende de cumplir los requisitos), pero ofrece a los desarrolladores web una opción publicitaria propia al margen de los grandes portales. El propio caso de estudio de Google menciona a un desarrollador que obtuvo un aumento de ingresos del 20 % y un incremento del eCPM del 50 % en los tres meses posteriores al cambio.</p>
<h2 id="licenciar-tu-juego-por-una-tarifa-fija" tabindex="-1">Licenciar tu juego por una tarifa fija <a class="header-anchor" href="#licenciar-tu-juego-por-una-tarifa-fija" aria-label="Permalink to &quot;Licenciar tu juego por una tarifa fija&quot;"></a></h2>
<p>No todo el mundo quiere apostar por el reparto de ingresos. El modelo más antiguo, que sitios como FGL impulsaron hace años, es la concesión de licencias: vendes a un portal o una marca el derecho a publicar tu juego HTML5 terminado a cambio de un pago único. El comprador obtiene el juego, tú cobras por adelantado y pasas al siguiente proyecto. Este modelo sigue existiendo a través de mercados como MarketJS, GameDistribution y CodeThisLab.</p>
<p>Los precios varían enormemente porque «una licencia» puede significar cosas distintas. Las <a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">cifras de Playgama para 2026</a> sitúan las licencias no exclusivas (el mismo juego vendido a muchos compradores) aproximadamente entre $300 y $800 por plataforma, mientras que los acuerdos exclusivos (el comprador adquiere todos los derechos y el juego se retira del catálogo) parten de unos $5,000 y superan los $25,000 en el caso de un título pulido. Un artículo independiente sobre la <a href="https://www.abratabia.com/web-game-monetization/licensing-to-portals.php" target="_blank" rel="noreferrer">concesión de licencias a portales</a> sitúa las cifras en un rango similar, con tarifas fijas de «unos pocos cientos de dólares para juegos sencillos hasta $5,000 o más» para los de alta calidad. La disyuntiva es sencilla. Las licencias pagan ahora y limitan tus posibles ganancias; el reparto de ingresos paga más adelante y no las limita.</p>
<h2 id="compras-dentro-del-juego-y-ventas-directas-en-la-web-abierta" tabindex="-1">Compras dentro del juego y ventas directas en la web abierta <a class="header-anchor" href="#compras-dentro-del-juego-y-ventas-directas-en-la-web-abierta" aria-label="Permalink to &quot;Compras dentro del juego y ventas directas en la web abierta&quot;"></a></h2>
<p>Vender cosas dentro de un juego de navegador solía ser complicado. Ahora es más fácil. En cuanto a las compras, CrazyGames gestiona un <a href="https://docs.crazygames.com/resources/ad-monetization-guide/" target="_blank" rel="noreferrer">programa de compras dentro del juego solo por invitación mediante Xsolla</a> para títulos de alto rendimiento, que paga a los desarrolladores <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">el 70 % de los ingresos por compras</a>. Las capas de distribución más recientes, como Playgama Bridge, anuncian compatibilidad total con compras integradas y pasarelas de pago locales incorporadas. Fuera de los portales, puedes integrar el proceso de pago de Stripe o Xsolla en tu propio sitio y conservar casi todo después de las comisiones de procesamiento.
La versión más pura de «quedarte con el dinero» es itch.io. Es una tienda, no un portal de anuncios, y su modelo de <a href="https://itch.io/updates/introducing-open-revenue-sharing" target="_blank" rel="noreferrer">reparto de ingresos abierto</a> te permite fijar la comisión de la plataforma, entre el 0 % y el 100 %, con un 10 % predeterminado. En una venta de $10 con la tarifa predeterminada, después de descontar aproximadamente un <a href="https://generalistprogrammer.com/tutorials/how-to-make-money-on-itchio-indie-game-guide" target="_blank" rel="noreferrer">2,9 % más $0,30</a> por el procesamiento del pago y el dólar de itch.io, te quedas con $8,41. Compáralo con el 30 % que cobran Steam, la App Store y Google Play, y entenderás por qué itch.io es la opción predeterminada para los desarrolladores que quieren cobrar directamente por una versión web. Newgrounds ofrece un sistema similar favorable para los creadores y paga su parte de los ingresos publicitarios cuando alcanzas <a href="https://newgrounds.fandom.com/wiki/Revenue_Sharing" target="_blank" rel="noreferrer">$50 mediante PayPal o cheque</a>. En 2026 también está apostando más por su membresía Supporter (cuyo precio aumentará a <a href="https://newgrounds.wiki.gg/wiki/Supporter_Status" target="_blank" rel="noreferrer">$5 al mes en abril de 2026</a>) para financiar un fondo de pagos más saludable.</p>
<h2 id="la-comparativa-completa" tabindex="-1">La comparativa completa <a class="header-anchor" href="#la-comparativa-completa" aria-label="Permalink to &quot;La comparativa completa&quot;"></a></h2>
<p>Estas son todas las principales vías para ganar dinero con juegos web, reunidas en un solo lugar. Considera la columna de participación del desarrollador como la tasa de referencia antes de ajustarla según la composición y la ubicación geográfica de tu audiencia.</p>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma / modelo</th>
<th>Cómo ganas dinero</th>
<th>Participación del desarrollador</th>
<th>Condiciones destacadas</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">Poki</a></td>
<td>Juego gratuito, reparto de ingresos publicitarios</td>
<td>50 % (100 % con tu propio tráfico)</td>
<td>Sin tarifa inicial, catálogo seleccionado, más de 1.000 millones de partidas al mes</td>
</tr>
<tr>
<td><a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">CrazyGames</a></td>
<td>Reparto de ingresos publicitarios + compras dentro del juego solo por invitación</td>
<td>60 % de anuncios, 70 % de compras (según las condiciones de la game jam de 2026, no la documentación principal)</td>
<td>Pago mínimo de 100 €, compras mediante Xsolla para los títulos más exitosos</td>
</tr>
<tr>
<td><a href="https://gamemonetize.com/developers" target="_blank" rel="noreferrer">GameMonetize</a></td>
<td>Reparto de ingresos publicitarios mediante SDK</td>
<td>45 %</td>
<td>Amplia red de distribución, pagos mensuales por PayPal/USDT</td>
</tr>
<tr>
<td><a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">Playgama Bridge</a></td>
<td>Reparto de ingresos publicitarios + compras dentro del juego</td>
<td>80 %</td>
<td>Pasarelas de pago locales, mayor participación declarada</td>
</tr>
<tr>
<td><a href="https://gamedistribution.com/developers/partnership/" target="_blank" rel="noreferrer">GameDistribution</a></td>
<td>Reparto de ingresos publicitarios mediante distribución sindicada</td>
<td>Varía según el acuerdo</td>
<td>Más de 4.000 portales, alcance mensual de 350 millones</td>
</tr>
<tr>
<td>Licencias (MarketJS, CodeThisLab)</td>
<td>Tarifa fija única</td>
<td>100 % de la tarifa</td>
<td><a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">Entre $300 y $800 por una licencia no exclusiva; $5.000 o más por una exclusiva</a></td>
</tr>
<tr>
<td><a href="https://itch.io/updates/introducing-open-revenue-sharing" target="_blank" rel="noreferrer">itch.io</a></td>
<td>Ventas directas, comisión a elección del vendedor</td>
<td>Hasta el 100 % (10 % predeterminado)</td>
<td>Tú estableces la participación de la plataforma</td>
</tr>
<tr>
<td><a href="https://newgrounds.fandom.com/wiki/Revenue_Sharing" target="_blank" rel="noreferrer">Newgrounds</a></td>
<td>Reparto de ingresos publicitarios + fondo de Supporter</td>
<td>Parte del fondo publicitario</td>
<td>Pago mínimo de $50</td>
</tr>
</tbody>
</table>
<h2 id="expectativas-realistas-de-ingresos" tabindex="-1">Expectativas realistas de ingresos <a class="header-anchor" href="#expectativas-realistas-de-ingresos" aria-label="Permalink to &quot;Expectativas realistas de ingresos&quot;"></a></h2>
<p>Esta es la parte que la mayoría de las guías omite. La distribución de los ingresos de los juegos web está enormemente concentrada en la parte más alta, y la mediana se acerca a cero. El desglose más claro procede de un <a href="https://generalistprogrammer.com/tutorials/how-to-make-money-on-itchio-indie-game-guide" target="_blank" rel="noreferrer">análisis de ingresos de itch.io de 2026</a> que clasifica los juegos de pago por niveles: aproximadamente el 80 % gana entre $0 y $50 al mes; cerca del 15 %, entre $50 y $500; alrededor del 4 % alcanza ingresos equivalentes a un trabajo a tiempo parcial, entre $500 y $2.000; menos del 1 % logra ingresos a tiempo completo de entre $2.000 y $10.000; y menos del 0,2 % son grandes éxitos que superan los $10.000. Como señala sin rodeos, la mayoría de los juegos gana menos de $100 durante toda su vida útil.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 320" role="img" aria-label="Proporción de juegos de pago de itch.io por ingresos mensuales en 2026: el 80 por ciento gana entre 0 y 50 dólares, el 15 por ciento entre 50 y 500, el 4 por ciento entre 500 y 2000, menos del 1 por ciento entre 2000 y 10000 y menos del 0,2 por ciento más de 10000" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="320" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">La mayoría de los juegos casi no gana nada</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Proporción de juegos de pago de itch.io por ingresos mensuales, 2026. Fuente: Generalist Programmer.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" font-weight="700">
    <text x="205" y="118" text-anchor="end" fill="#e8edf5">$0–$50/mes</text>
    <rect x="220" y="102" width="400" height="24" rx="5" fill="#fb7185"/>
    <text x="628" y="119" font-size="13" font-weight="800" fill="#fb7185">~80 %</text>
    <text x="205" y="158" text-anchor="end" fill="#e8edf5">$50–$500</text>
    <rect x="220" y="142" width="75" height="24" rx="5" fill="#a9b4ff"/>
    <text x="303" y="159" font-size="13" font-weight="800" fill="#a9b4ff">~15 %</text>
    <text x="205" y="198" text-anchor="end" fill="#e8edf5">$500–$2.000</text>
    <rect x="220" y="182" width="20" height="24" rx="5" fill="#7dd3fc"/>
    <text x="248" y="199" font-size="13" font-weight="800" fill="#7dd3fc">~4 %</text>
    <text x="205" y="238" text-anchor="end" fill="#e8edf5">$2.000–$10.000</text>
    <rect x="220" y="222" width="7" height="24" rx="3" fill="#6ee7b7"/>
    <text x="235" y="239" font-size="13" font-weight="800" fill="#6ee7b7">&lt;1 %</text>
    <text x="205" y="278" text-anchor="end" fill="#e8edf5">$10.000+</text>
    <rect x="220" y="262" width="5" height="24" rx="2.5" fill="#c8a8ff"/>
    <text x="233" y="279" font-size="13" font-weight="800" fill="#c8a8ff">&lt;0,2 %</text>
  </g>
</svg>
<p>Los ingresos de los portales de anuncios cuentan la misma historia desde otro ángulo. Un juego casual con buen rendimiento en un portal importante suele generar <a href="https://www.abratabia.com/web-game-monetization/licensing-to-portals.php" target="_blank" rel="noreferrer">entre $200 y $2.000 al mes</a> mediante el reparto de ingresos, mientras que los títulos más exitosos del catálogo de Poki alcanzan <a href="https://app.dealroom.co/news/feed/poki-hits-1b-monthly-plays-as-developer-first-model-boosts-top-studio-revenues-tenfold-1" target="_blank" rel="noreferrer">hasta 1 millón de euros al año</a>, diez veces más de lo que esos estudios ganaban antes del modelo de Poki, según Dealroom. El artículo de un desarrollador independiente de 2025 describe cómo llegó a <a href="https://medium.com/@playrea/from-hobby-to-67-million-gameplays-on-poki-in-2025-df2c147cfb27" target="_blank" rel="noreferrer">67 millones de partidas entre cinco juegos de Poki</a> y a unas 200.000 partidas diarias a finales de año, suficiente, según afirma, para convertir el desarrollo de juegos en su principal fuente de ingresos.</p>
<p>Para hacerse una idea concreta de los ingresos por partida en el extremo inferior, resulta ilustrativo el <a href="https://donislawdev.com/earnings-and-statistics-from-my-8-games-android-ios-webgl/" target="_blank" rel="noreferrer">desglose de ingresos de varios juegos</a> de un desarrollador, aunque las cifras son antiguas (los juegos se lanzaron alrededor de 2018). Con ocho juegos WebGL y 451.327 partidas en CrazyGames, ganó 556,92 €, aproximadamente 1,20 € por cada mil partidas, además de $163,79 en Kongregate por otras 104.444 partidas. Su juego con mejor rendimiento, Fish Eat Fishes, generó 149,36 € con 143.000 partidas. Las tarifas han cambiado desde entonces y varían enormemente según la ubicación geográfica y el formato, pero la tendencia se mantiene: necesitas un volumen real antes de que el reparto de ingresos publicitarios se convierta en dinero significativo. Un juego con 10.000 partidas durante toda su vida útil es una pieza para tu portafolio, no un sueldo.</p>
<h2 id="lo-que-revelan-las-cifras" tabindex="-1">Lo que revelan las cifras <a class="header-anchor" href="#lo-que-revelan-las-cifras" aria-label="Permalink to &quot;Lo que revelan las cifras&quot;"></a></h2>
<p>Al combinarlo todo, surge una estrategia clara. Si quieres el mayor alcance sin ningún coste inicial, publica un juego gratuito en Poki o CrazyGames y depende del reparto de ingresos, llevando tu propio tráfico siempre que puedas para acercarte a la tasa del 100 % de Poki para el tráfico directo. Si prefieres cobrar ahora y evitar la apuesta por el volumen, licencia un juego terminado por una tarifa fija. Si tu juego es algo que la gente pagará por poseer, véndelo directamente en itch.io y conserva más del 90 %. Y si vas en serio, combina varias opciones, porque los desarrolladores que realmente se ganan la vida acumulan ingresos publicitarios de los portales, compras dentro del juego y ventas directas, en lugar de apostarlo todo a un único canal.</p>
<p>La idea común a todo esto es que el dinero sigue al juego, no al revés. Ningún sistema de monetización salva un juego que nadie quiere jugar, y un juego web realmente divertido encuentra una vía de ingresos sin importar en qué portal termine. Además, eso es ahora lo más barato de probar. Cuando crear un prototipo jugable lleva minutos en lugar de un fin de semana, puedes presentar varios juegos a jugadores reales y dejar que los paneles publicitarios y las listas de deseos te indiquen cuál merece la pena monetizar. Una herramienta como Cinevva puede convertir una frase en un juego web 3D jugable dentro del navegador, que es la forma más rápida de llegar a la única pregunta importante: si alguien sigue jugando.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cuanto-dinero-puede-generar-un-juego-de-navegador" tabindex="-1">¿Cuánto dinero puede generar un juego de navegador? <a class="header-anchor" href="#¿cuanto-dinero-puede-generar-un-juego-de-navegador" aria-label="Permalink to &quot;¿Cuánto dinero puede generar un juego de navegador?&quot;"></a></h3>
<p>Desde casi nada hasta millones, y la distribución está brutalmente concentrada en los mayores éxitos. Cerca del <a href="https://generalistprogrammer.com/tutorials/how-to-make-money-on-itchio-indie-game-guide" target="_blank" rel="noreferrer">80 % de los juegos de pago de itch.io gana menos de $50 al mes</a>, y la mayoría obtiene menos de $100 durante toda su vida útil. Un juego casual con buen rendimiento en un portal como Poki o CrazyGames suele generar <a href="https://www.abratabia.com/web-game-monetization/licensing-to-portals.php" target="_blank" rel="noreferrer">entre $200 y $2.000 al mes</a> mediante el reparto de ingresos publicitarios, mientras que los pocos estudios más exitosos de Poki alcanzan <a href="https://app.dealroom.co/news/feed/poki-hits-1b-monthly-plays-as-developer-first-model-boosts-top-studio-revenues-tenfold-1" target="_blank" rel="noreferrer">hasta 1 millón de euros al año</a>. El volumen lo es todo, porque los ingresos publicitarios solo empiezan a sumar cantidades importantes después de cientos de miles de partidas.</p>
<h3 id="¿que-porcentaje-de-los-ingresos-se-queda-poki" tabindex="-1">¿Qué porcentaje de los ingresos se queda Poki? <a class="header-anchor" href="#¿que-porcentaje-de-los-ingresos-se-queda-poki" aria-label="Permalink to &quot;¿Qué porcentaje de los ingresos se queda Poki?&quot;"></a></h3>
<p><a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">Poki divide los ingresos publicitarios al 50 %</a> cuando un jugador llega a tu juego mediante Poki.com o el marketing de Poki. Cuando un jugador llega a través de tus propios marcadores, búsquedas, redes sociales o comunidad, te quedas con el 100 %. No hay ninguna tarifa inicial por publicar, y el catálogo de Poki ya genera más de 1.000 millones de partidas al mes entre más de 600 estudios.</p>
<h3 id="¿que-porcentaje-de-los-ingresos-se-queda-crazygames" tabindex="-1">¿Qué porcentaje de los ingresos se queda CrazyGames? <a class="header-anchor" href="#¿que-porcentaje-de-los-ingresos-se-queda-crazygames" aria-label="Permalink to &quot;¿Qué porcentaje de los ingresos se queda CrazyGames?&quot;"></a></h3>
<p>CrazyGames no publica el reparto en su documentación principal para desarrolladores, pero el dato oficial más cercano está en las condiciones de su <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">game jam web de GameMaker de 2026</a>, donde se indica que los desarrolladores conservan el 60 % de los ingresos por publicidad dentro del juego y el 70 % de los ingresos por compras dentro del juego. Los pagos se realizan mensualmente cuando el saldo supera el <a href="https://docs.crazygames.com/faq/" target="_blank" rel="noreferrer">mínimo de 100 €</a>, y las compras dentro del juego se procesan mediante una integración con Xsolla disponible solo por invitación y reservada para los títulos de alto rendimiento.</p>
<h3 id="¿se-pueden-vender-compras-dentro-de-un-juego-web" tabindex="-1">¿Se pueden vender compras dentro de un juego web? <a class="header-anchor" href="#¿se-pueden-vender-compras-dentro-de-un-juego-web" aria-label="Permalink to &quot;¿Se pueden vender compras dentro de un juego web?&quot;"></a></h3>
<p>Sí. CrazyGames ofrece un <a href="https://docs.crazygames.com/resources/ad-monetization-guide/" target="_blank" rel="noreferrer">programa de compras dentro del juego mediante Xsolla disponible solo por invitación</a> que paga el 70 % a los desarrolladores; las capas de distribución como Playgama Bridge incluyen compras dentro del juego con pasarelas de pago locales; y puedes integrar el proceso de pago de Stripe o Xsolla en tu propio sitio para conservar casi todo después de las comisiones de procesamiento. Para vender el juego completo en lugar de objetos, itch.io te permite cobrar directamente y fijar la comisión de la plataforma, cuyo valor predeterminado es de solo el 10 %.</p>
<h3 id="¿cuanto-ganan-los-juegos-web-por-cada-1-000-partidas" tabindex="-1">¿Cuánto ganan los juegos web por cada 1.000 partidas? <a class="header-anchor" href="#¿cuanto-ganan-los-juegos-web-por-cada-1-000-partidas" aria-label="Permalink to &quot;¿Cuánto ganan los juegos web por cada 1.000 partidas?&quot;"></a></h3>
<p>Depende mucho del formato del anuncio y de la ubicación geográfica del jugador, así que conviene tomar cualquier cifra aislada con cautela. Los vídeos recompensados, el formato que más paga, generan aproximadamente <a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">entre $15 y $28 de eCPM en EE. UU., entre $8 y $15 en la UE y entre $1 y $3 en mercados de nivel 3</a> antes de repartir los ingresos. Esa es la tasa bruta por cada mil visualizaciones de anuncios, no por cada sesión de juego, y los banners pagan una fracción minúscula. Un desglose antiguo de un desarrollador reflejó aproximadamente <a href="https://donislawdev.com/earnings-and-statistics-from-my-8-games-android-ios-webgl/" target="_blank" rel="noreferrer">1,20 € por cada mil partidas</a> en CrazyGames con un portafolio de juegos sencillos.</p>
<h3 id="¿cuanto-cuesta-licenciar-un-juego-html5-a-un-portal" tabindex="-1">¿Cuánto cuesta licenciar un juego HTML5 a un portal? <a class="header-anchor" href="#¿cuanto-cuesta-licenciar-un-juego-html5-a-un-portal" aria-label="Permalink to &quot;¿Cuánto cuesta licenciar un juego HTML5 a un portal?&quot;"></a></h3>
<p>Publicar en un portal con reparto de ingresos como Poki o CrazyGames no cuesta nada. Si te refieres al modelo de licencias con tarifa fija, <a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">las licencias no exclusivas cuestan entre $300 y $800 por plataforma, mientras que los acuerdos exclusivos empiezan alrededor de $5.000 y pueden superar los $25.000</a> para un juego pulido. Una licencia no exclusiva significa que el mismo juego se vende a muchos compradores; una exclusiva significa que un único comprador lo posee y que se retira del mercado.</p>
<h3 id="¿es-itch-io-una-buena-forma-de-ganar-dinero-con-un-juego-web" tabindex="-1">¿Es itch.io una buena forma de ganar dinero con un juego web? <a class="header-anchor" href="#¿es-itch-io-una-buena-forma-de-ganar-dinero-con-un-juego-web" aria-label="Permalink to &quot;¿Es itch.io una buena forma de ganar dinero con un juego web?&quot;"></a></h3>
<p>Es la mejor opción si quieres cobrar directamente por el juego y conservar la mayor cantidad de dinero posible. El <a href="https://itch.io/updates/introducing-open-revenue-sharing" target="_blank" rel="noreferrer">reparto de ingresos abierto</a> de itch.io te permite fijar su comisión entre el 0 % y el 100 %, con un 10 % predeterminado, por lo que en una venta de $10 conservas unos $8,41 después del procesamiento del pago. Es mejor que el 30 % que cobran Steam y las tiendas móviles. La contrapartida es que itch.io aporta compradores, no un torrente de tráfico para juegos gratuitos, por lo que recompensa a los juegos con una audiencia propia o buenas recomendaciones de boca en boca, en lugar de a los títulos casuales destinados a los visitantes de portales.</p>
<BuildCta
  title="Crea primero el juego y monetízalo después"
  desc="Ningún modelo de ingresos salva un juego al que nadie juega. Empieza con algo divertido."
  prompt="Crea un juego de navegador rápido en el que saltes entre paredes para ascender por una torre que se derrumba" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/publish-web-game.html">Cómo publicar un juego web</a> — dónde colocar una versión terminada y cómo funciona cada plataforma</li>
<li><a href="/es/guides/publish-game-poki.html">Cómo publicar tu juego en Poki</a> — los requisitos de admisión y el programa 50/50 de Poki en detalle</li>
<li><a href="/es/guides/publish-game-crazygames.html">Cómo publicar tu juego en CrazyGames</a> — el SDK, los formatos publicitarios y cómo funcionan los pagos</li>
<li><a href="/es/guides/publish-game-discord-activities.html">Cómo publicar un juego en Discord Activities</a> — otra superficie de distribución, con sus propias vías de compras y publicidad</li>
<li><a href="/es/guides/casual-games-trends-2026.html">Tendencias de los juegos casuales en 2026</a> — hacia dónde se mueve el dinero en todo el mercado de juegos casuales</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Guía de lanzamiento en itch.io</a> — cómo vender un juego directamente y conservar el 90 %</li>
<li><a href="/es/guides/promote-indie-game-no-budget.html">Cómo promocionar un juego independiente sin presupuesto</a> — cómo atraer el tráfico que convierte un reparto de ingresos en dinero real</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/web-game-monetization-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mejores generadores de música con IA para juegos (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/ai-music-generators-games</link>
            <guid>https://app.cinevva.com/es/guides/ai-music-generators-games</guid>
            <pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Los mejores generadores de música con IA para bandas sonoras de videojuegos en 2026, comparados por voces, licencias comerciales, pistas separadas y alojamiento propio, desde Suno y ElevenLabs Music hasta modelos abiertos como Stable Audio y ACE-Step.]]></description>
            <content:encoded><![CDATA[<h1 id="mejores-generadores-de-musica-con-ia-para-juegos-2026" tabindex="-1">Mejores generadores de música con IA para juegos (2026) <a class="header-anchor" href="#mejores-generadores-de-musica-con-ia-para-juegos-2026" aria-label="Permalink to &quot;Mejores generadores de música con IA para juegos (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/ai-music-generators-games.jpg?v=1" alt="Mejores generadores de música con IA para bandas sonoras de videojuegos en 2026" style="width:100%;border-radius:10px">
</figure>
<p><em>Última actualización: julio de 2026.</em></p>
<p>La banda sonora solía ser la parte del juego que los desarrolladores en solitario simplemente omitían. Publicabas el juego en silencio o recurrías a un bucle gratuito que ya habían usado otros cincuenta juegos, porque contratar a un compositor costaba más que todo el resto del proyecto. La música con IA cambió esa ecuación. Puedes describir un ambiente en una frase y obtener una pista terminada en menos de un minuto.</p>
<p>La dificultad en 2026 no es la calidad. La mayoría de estas herramientas suenan lo bastante bien como para publicar el resultado. El problema son las licencias. Un juego es un producto comercial, y la mitad de los generadores de música populares bloquean el uso comercial en sus planes gratuitos o están involucrados en litigios sin resolver por sus datos de entrenamiento. Si eliges mal, estarás incluyendo un problema legal en los archivos de tu juego.</p>
<p>Tenemos experiencia directa con esto. Cinevva gestiona su propia <a href="/es/tools/music.html">herramienta de música</a>, y cuando elegimos los motores que utiliza probamos muchos más de tres. Nos decidimos por ElevenLabs Music, ACE-Step y Mubert, y el factor decisivo no fue cuál ganaba una prueba de escucha a ciegas. Fue qué licencias estaríamos dispuestos a respaldar cuando un creador hace la única pregunta que importa: ¿puedo vender un juego que incluya esta pista? Esa pregunta atraviesa todo lo que encontrarás a continuación.</p>
<p>Así es, a grandes rasgos, el proceso de convertir una instrucción en una pista, el mismo flujo que utilizarías dentro de la herramienta:</p>
<audio controls style="width:100%">
  <source src="/img/ai-samples/music-sample.mp3" type="audio/mpeg">
</audio>
<p><em>Un breve fragmento generado con IA. Describe un ambiente y obtén una pista que encaje.</em></p>
<p>Esta guía compara los generadores de música con IA que realmente sirven para juegos, organizados según cómo los utilizarás: herramientas para canciones completas con voces, generadores libres de regalías diseñados para productos y modelos abiertos que puedes ejecutar por tu cuenta. En todos ellos, lo más importante aparece primero: ¿puedes incluir legalmente el resultado en un juego que vendas?</p>
<h2 id="eleccion-rapida" tabindex="-1">Elección rápida <a class="header-anchor" href="#eleccion-rapida" aria-label="Permalink to &quot;Elección rápida&quot;"></a></h2>
<p>Si quieres la versión resumida, estas son las necesidades para las que resulta más adecuada cada herramienta.</p>
<table tabindex="0">
<thead>
<tr>
<th>Herramienta</th>
<th>Ideal para</th>
<th>Voces</th>
<th>Licencia comercial</th>
<th>Alojamiento propio</th>
<th>Precio</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>ElevenLabs Music</strong></td>
<td>Las licencias más claras para publicar un juego</td>
<td>Sí</td>
<td>Autorizada para uso comercial, datos de entrenamiento con licencia</td>
<td>No</td>
<td>Planes de pago</td>
</tr>
<tr>
<td><strong>Suno</strong></td>
<td>Canciones completas con voces generadas rápidamente</td>
<td>Sí</td>
<td>Solo planes de pago, riesgo residual por litigios</td>
<td>No</td>
<td>Pro, 10 $/mes</td>
</tr>
<tr>
<td><strong>Stable Audio 3</strong></td>
<td>Alojamiento propio y diseño sonoro</td>
<td>Instrumental</td>
<td>Licencia Community, gratuita con ingresos inferiores a 1 millón de dólares</td>
<td>Sí</td>
<td>Pesos abiertos</td>
</tr>
<tr>
<td><strong>ACE-Step</strong></td>
<td>Pistas completas, abiertas y alojadas por ti</td>
<td>Sí</td>
<td>MIT, totalmente permisiva</td>
<td>Sí</td>
<td>Gratis</td>
</tr>
<tr>
<td><strong>Mubert</strong></td>
<td>Música de fondo interminable dentro de una aplicación</td>
<td>No</td>
<td>Libre de regalías según el plan, diseñada para productos</td>
<td>API</td>
<td>Niveles de API</td>
</tr>
<tr>
<td><strong>Soundraw</strong></td>
<td>Pistas libres de regalías y una API integrada en el producto</td>
<td>No</td>
<td>Libre de regalías, catálogo interno con licencia</td>
<td>API</td>
<td>~17 $/mes</td>
</tr>
<tr>
<td><strong>AIVA</strong></td>
<td>Bandas sonoras cinematográficas y orquestales</td>
<td>Instrumental</td>
<td>Uso comercial en los planes de pago</td>
<td>No</td>
<td>Planes de pago</td>
</tr>
<tr>
<td><strong>Magenta RealTime</strong></td>
<td>Música adaptativa que reacciona en tiempo real</td>
<td>Instrumental</td>
<td>Código abierto, pesos CC-BY</td>
<td>Sí</td>
<td>Gratis</td>
</tr>
<tr>
<td><strong>Udio</strong></td>
<td>Escuchar y remezclar, no obtener archivos para juegos</td>
<td>Sí</td>
<td>Solo streaming, sin exportación</td>
<td>No</td>
<td>Planes de pago</td>
</tr>
</tbody>
</table>
<h2 id="generadores-de-canciones-completas-con-voces" tabindex="-1">Generadores de canciones completas con voces <a class="header-anchor" href="#generadores-de-canciones-completas-con-voces" aria-label="Permalink to &quot;Generadores de canciones completas con voces&quot;"></a></h2>
<p>Estas herramientas crean una pista completa, a menudo con partes cantadas, a partir de una instrucción de texto. Son a lo que la mayoría de la gente se refiere cuando habla de «música con IA», y son la elección adecuada cuando quieres un tema principal, música para el menú o una pieza con voces para un tráiler.</p>
<h3 id="elevenlabs-music" tabindex="-1">ElevenLabs Music <a class="header-anchor" href="#elevenlabs-music" aria-label="Permalink to &quot;ElevenLabs Music&quot;"></a></h3>
<p>Si vas a publicar un juego comercial y quieres dejar de preocuparte por las licencias, empieza aquí. ElevenLabs lanzó Eleven Music en agosto de 2025 y, a diferencia de sus rivales, desarrolló el modelo con música de producción licenciada y firmó acuerdos con Merlin y Kobalt para que los titulares de los derechos reciban una compensación. Los resultados están autorizados para un amplio uso comercial, y los videojuegos se mencionan explícitamente en las condiciones.</p>
<p>A cambio, debes respetar una serie de restricciones. No puedes incluir nombres de artistas reales, títulos de canciones ni letras en las instrucciones, y algunos sectores están excluidos, así que lee las condiciones de música antes de basar tu proyecto en esta herramienta. En una banda sonora para videojuegos, esos límites rara vez suponen un problema. A cambio, obtienes lo único que ningún otro generador de voces puede ofrecer en 2026: una cadena de licencias clara que puedes mostrar si alguien pregunta. Es uno de los tres motores de nuestra propia <a href="/es/tools/music.html">herramienta de música</a>, precisamente porque la situación de sus licencias está resuelta.</p>
<h3 id="suno" tabindex="-1">Suno <a class="header-anchor" href="#suno" aria-label="Permalink to &quot;Suno&quot;"></a></h3>
<p>Suno es la forma más rápida de obtener una canción terminada con voces y, con el modelo v5.5 (marzo de 2026), ofrece las voces más naturales de todos los generadores. Para los juegos, las reglas son sencillas y estrictas. El plan gratuito no permite ningún uso comercial. Necesitas el plan Pro por 10 $ al mes (u 8 $ al mes con facturación anual), que concede derechos comerciales, permite descargar archivos, incluye créditos para unas 500 canciones y da acceso al modelo v5.5. El plan Premier, por 30 $ al mes, añade Suno Studio, algo importante para los juegos porque permite separar una pista en partes que puedes remezclar para distintos contextos dentro del juego.</p>
<p>Hay dos cosas que debes tener claras. En primer lugar, una licencia comercial no equivale a ser titular de los derechos de autor. Las propias condiciones de Suno indican que conceder derechos de uso comercial no es lo mismo que transferir la propiedad, y la legislación estadounidense generalmente exige la intervención de un autor humano para que una obra esté plenamente protegida por derechos de autor. Por tanto, lo que tienes es una licencia para usar la pista, no unos derechos de autor incuestionables. En segundo lugar, Suno llegó a un acuerdo con Warner en noviembre de 2025, pero las demandas de Sony y Universal seguían activas de cara a una audiencia de juicio sumario en julio de 2026. Suno también ha declarado que planea sustituir sus modelos actuales por otros nuevos con licencia de las discográficas más adelante en 2026, por lo que el modelo exacto y las reglas de descarga pueden cambiar de forma inesperada. Ningún tribunal ha responsabilizado a los usuarios finales, y el riesgo práctico para un estudio independiente es bajo, pero es un riesgo residual que conviene conocer antes de construir una franquicia sobre esta tecnología. Conserva los recibos de pago como prueba de que estabas suscrito cuando generaste cada pista.</p>
<h3 id="udio" tabindex="-1">Udio <a class="header-anchor" href="#udio" aria-label="Permalink to &quot;Udio&quot;"></a></h3>
<p>Udio produce audio magnífico, pero en 2026 no puedes incluirlo en un juego. Tras su acuerdo con Universal Music en octubre de 2025, desactivó todas las descargas y pistas separadas y se convirtió en un ecosistema cerrado exclusivamente de streaming. Puedes crear, escuchar y remezclar dentro de la aplicación, pero no puedes exportar ningún archivo. Para desarrollar juegos, eso lo descarta, porque el objetivo es precisamente introducir un archivo de audio en tu motor. Universal está desarrollando conjuntamente una plataforma de Udio con licencia para 2026, así que esto podría cambiar, pero en el momento de escribir estas líneas debes considerar Udio un lugar para experimentar, no una fuente de bandas sonoras.</p>
<h2 id="generadores-libres-de-regalias-disenados-para-productos" tabindex="-1">Generadores libres de regalías diseñados para productos <a class="header-anchor" href="#generadores-libres-de-regalias-disenados-para-productos" aria-label="Permalink to &quot;Generadores libres de regalías diseñados para productos&quot;"></a></h2>
<p>Este grupo está dirigido a creadores y empresas más que a músicos. Las pistas suelen ser instrumentales, las interfaces son más sencillas y su principal argumento es la seguridad de las licencias. Varios ofrecen una API, que es la opción adecuada si quieres que los jugadores generen su propia música dentro del juego.</p>
<h3 id="mubert" tabindex="-1">Mubert <a class="header-anchor" href="#mubert" aria-label="Permalink to &quot;Mubert&quot;"></a></h3>
<p>Mubert está diseñado para productos, y los juegos son uno de sus principales casos de uso. Genera música libre de regalías y de reclamaciones de la DMCA a partir de instrucciones, ambientes, BPM o actividades, y se ha entrenado con contenido licenciado y de colaboradores. El detalle importante es la estructura de los planes, porque determina lo que puedes hacer legalmente. Con el plan Startup, la música se reproduce dentro de tu aplicación, pero los usuarios no pueden exportarla, algo adecuado para un juego móvil con música de fondo. Si quieres que los jugadores exporten o compartan las pistas que crean, necesitas Startup+ o un plan superior, que añade la posibilidad de conceder sublicencias. El plan gratuito no permite el uso comercial. Mubert también es uno de los motores de nuestra <a href="/es/tools/music.html">herramienta de música</a>, motivo por el que la generación dentro de una aplicación es una opción central y no algo añadido a última hora.</p>
<h3 id="soundraw" tabindex="-1">Soundraw <a class="header-anchor" href="#soundraw" aria-label="Permalink to &quot;Soundraw&quot;"></a></h3>
<p>Soundraw es el veterano de los generadores libres de regalías y se ha entrenado por completo con un catálogo interno licenciado para evitar el problema de los derechos de autor. Eliges el género, el ambiente y el tema, y después ajustas el arreglo. Para uso individual funciona mediante una suscripción de unos 17 $ al mes, y ofrece una API utilizada por desarrolladores de juegos y herramientas para creadores que quieren integrar la generación. Es una opción segura y sin florituras cuando buscas música de fondo instrumental y unas condiciones de licencia que puedas explicar a una editora.</p>
<h3 id="beatoven-loudly-y-aiva" tabindex="-1">Beatoven, Loudly y AIVA <a class="header-anchor" href="#beatoven-loudly-y-aiva" aria-label="Permalink to &quot;Beatoven, Loudly y AIVA&quot;"></a></h3>
<p>Hay otras tres opciones que conviene conocer para necesidades específicas. <strong>Beatoven.ai</strong> es la alternativa económica, por unos 2,50 $ al mes con derechos comerciales incluidos, algo difícil de superar si solo necesitas música de fondo limpia. <strong>Loudly</strong> cuesta algo más, alrededor de 6 $ al mes, y pone mayor énfasis en los controles de personalización y colaboración. <strong>AIVA</strong> es la especialista: se creó para producir música cinematográfica y orquestal, así que es la opción indicada cuando tu juego necesita un gran tema sinfónico en lugar de un bucle de pop. Las tres conceden derechos comerciales en sus planes de pago y los bloquean en los gratuitos, una pauta que se repite en toda esta categoría.</p>
<h2 id="modelos-abiertos-que-puedes-ejecutar-por-tu-cuenta" tabindex="-1">Modelos abiertos que puedes ejecutar por tu cuenta <a class="header-anchor" href="#modelos-abiertos-que-puedes-ejecutar-por-tu-cuenta" aria-label="Permalink to &quot;Modelos abiertos que puedes ejecutar por tu cuenta&quot;"></a></h2>
<p>Si no quieres suscripciones ni tarifas por pista y buscas un control total sobre el audio de un proyecto aún no publicado, ejecuta el modelo en tu propio hardware. Los modelos abiertos de audio han avanzado rápidamente y, en 2026, varios ofrecen resultados realmente buenos. Solo hay una regla: comprueba la licencia de los pesos, no solo la del código, porque a menudo son diferentes.</p>
<h3 id="stable-audio-3" tabindex="-1">Stable Audio 3 <a class="header-anchor" href="#stable-audio-3" aria-label="Permalink to &quot;Stable Audio 3&quot;"></a></h3>
<p>Stable Audio 3 (mayo de 2026) es la opción abierta más sólida para juegos, debido tanto a sus licencias como a su alcance. Stability publicó tres modelos de pesos abiertos entrenados con datos totalmente licenciados: Small-Music y Small-SFX funcionan en una CPU, sin necesidad de GPU, mientras que Medium se ejecuta en una GPU de consumo y ofrece mayor calidad. Solo el modelo Large está disponible exclusivamente mediante API. Según la Stability AI Community License, eres propietario de los resultados y puedes comercializarlos libremente hasta que tu estudio supere el millón de dólares en ingresos anuales. A partir de ese momento, debes pasar a una licencia Enterprise, que también añade indemnización legal.</p>
<p>Para los juegos, esto cubre dos necesidades a la vez. Los modelos de música generan pistas de duración variable de hasta unos seis minutos, y Small-SFX es el mejor modelo abierto para crear efectos de sonido que realmente puedes publicar. También puedes ajustar cualquiera de ellos con LoRA usando una carpeta con tu propio audio. Así puedes enseñarle el estilo sonoro de tu juego y después generar bucles para menús, acentos musicales de combate y ambientes que suenen como parte de una misma banda sonora.</p>
<h3 id="ace-step" tabindex="-1">ACE-Step <a class="header-anchor" href="#ace-step" aria-label="Permalink to &quot;ACE-Step&quot;"></a></h3>
<p>ACE-Step es el modelo abierto que debes conocer si buscas pistas completas con voces. La línea 1.5 (enero de 2026) utiliza la licencia MIT, una de las más permisivas que existen, y genera rápidamente varios minutos de música en 19 idiomas, con clonación de voz, remezcla y edición de letras integradas. Es la alternativa autoalojada a Suno para los equipos que prefieren ser dueños de su proceso en vez de alquilarlo, y es el tercer motor de nuestra <a href="/es/tools/music.html">herramienta de música</a>.</p>
<h3 id="el-resto-de-los-modelos-abiertos" tabindex="-1">El resto de los modelos abiertos <a class="header-anchor" href="#el-resto-de-los-modelos-abiertos" aria-label="Permalink to &quot;El resto de los modelos abiertos&quot;"></a></h3>
<p>Hay algunas opciones más según lo que necesites. <strong>YuE</strong> (Apache 2.0) genera canciones completas con voces a partir de una letra y fue el primer modelo abierto que lo hizo bien. <strong>DiffRhythm 2</strong> (Apache 2.0, febrero de 2026) está diseñado para generar rápidamente canciones completas. <strong>MusicGen</strong> de Meta sigue funcionando bien para crear prototipos, pero sus pesos utilizan la licencia CC-BY-NC, por lo que solo sirve como herramienta de bocetado. Nunca publiques una pista de MusicGen en un juego que vendas. Para la versión final, utiliza ACE-Step o Stable Audio.</p>
<p><strong>Magenta RealTime</strong> de Google (código Apache 2.0, pesos CC-BY) es la excepción y, para los juegos, lo es en el mejor sentido. En vez de renderizar un archivo terminado, genera música en directo que puedes dirigir mientras suena. Esa es exactamente la estructura de una banda sonora adaptativa que cambia cuando el jugador entra en combate o aparece un jefe. Ningún otro modelo abierto está diseñado para controlarse en tiempo real, así que, si tu objetivo es crear música interactiva, este es el punto de partida.</p>
<h2 id="efectos-de-sonido-no-solo-musica" tabindex="-1">Efectos de sonido, no solo música <a class="header-anchor" href="#efectos-de-sonido-no-solo-musica" aria-label="Permalink to &quot;Efectos de sonido, no solo música&quot;"></a></h2>
<p>Una banda sonora es solo la mitad del trabajo. Los juegos también necesitan pasos, clics de interfaz, explosiones y ambientes, y se aplican las mismas reglas de licencias de IA. Destacan dos opciones. <strong>Stable Audio 3 Small-SFX</strong> se ejecuta localmente, genera efectos bajo demanda y utiliza la misma licencia Community apta para uso comercial que sus modelos de música. <strong>ElevenLabs</strong> dispone de un generador específico de efectos de sonido con la misma autorización para uso comercial que Eleven Music, razón por la que nuestra propia <a href="/es/tools/sfx.html">herramienta de efectos de sonido</a> acompaña a la de música. Si prefieres el enfoque tradicional, nuestra guía de <a href="/es/guides/free-sound-effects-music.html">música y efectos de sonido gratuitos</a> recoge las bibliotecas CC0 que merece la pena tener como recurso de reserva.</p>
<h2 id="la-realidad-de-las-licencias-para-juegos" tabindex="-1">La realidad de las licencias para juegos <a class="header-anchor" href="#la-realidad-de-las-licencias-para-juegos" aria-label="Permalink to &quot;La realidad de las licencias para juegos&quot;"></a></h2>
<p>Esta sección puede evitarte una notificación de retirada, así que léela antes de generar cualquier contenido que tengas previsto publicar.</p>
<p><strong>«Libre de regalías» no significa «libre de derechos de autor», y ninguna de las dos cosas equivale a la propiedad.</strong> Libre de regalías significa que no pagas una tarifa cada vez que se reproduce la pista. No dice nada sobre quién posee la música ni sobre si los datos de entrenamiento se obtuvieron correctamente. Son tres conceptos diferentes que suelen mezclarse en los textos publicitarios.</p>
<p><strong>Los planes gratuitos casi nunca son seguros para un juego comercial.</strong> En Suno, Mubert, Soundraw, Beatoven y Loudly, el plan gratuito es para uso personal y no comercial. Un juego que vendes, e incluso un juego gratuito con anuncios o contenido descargable de pago, es un proyecto comercial. Utiliza un plan de pago o un modelo abierto con una licencia permisiva, y no publiques una pista generada con un plan gratuito.</p>
<p><strong>Presta atención a las demandas relacionadas con los datos de entrenamiento.</strong> Suno y Udio se enfrentan a litigios activos de grandes discográficas. Hasta ahora ningún tribunal ha responsabilizado a los usuarios finales, y la exposición práctica para un estudio independiente es baja, pero el riesgo existe. Por eso, las opciones más claras en 2026 son las herramientas entrenadas con datos licenciados: ElevenLabs Music, Stable Audio, Mubert, Soundraw y AIVA.</p>
<p><strong>Conserva los recibos.</strong> Los derechos comerciales de herramientas como Suno se aplican a las pistas generadas mientras mantenías una suscripción. Guarda una prueba de que la suscripción estaba activa en el momento de la generación, para poder demostrar que la pista tenía licencia cuando la creaste.
<strong>Informa sobre el uso de IA cuando la plataforma lo exija.</strong> itch.io y Steam tienen sus propias normas de divulgación de contenido generado con IA, y ser transparente es una forma sencilla de evitar problemas. Consulta nuestra <a href="/es/ai-content.html">política sobre contenido generado con IA</a> para saber cómo gestionamos esta divulgación, y nuestra <a href="/es/guides/game-asset-licenses.html">guía de licencias de recursos para juegos</a> para entender cómo encajan las licencias musicales con el arte y el código.</p>
<h2 id="crear-musica-que-encaje-en-un-juego-no-solo-una-pista" tabindex="-1">Crear música que encaje en un juego, no solo una pista <a class="header-anchor" href="#crear-musica-que-encaje-en-un-juego-no-solo-una-pista" aria-label="Permalink to &quot;Crear música que encaje en un juego, no solo una pista&quot;"></a></h2>
<p>Una canción pop de tres minutos no es una banda sonora para un juego. Los juegos necesitan bucles sin cortes audibles, pistas separadas que puedan mezclarse a medida que cambia la escena y transiciones de ambiente que sigan al jugador. Estas son algunas recomendaciones para el flujo de trabajo.</p>
<p>Para los <strong>bucles</strong>, genera una pieza un poco más larga y recórtala en un punto de bucle limpio, o utiliza una función de continuación e inpainting —tanto Stable Audio como Suno incluyen una— para conectar el final con el principio. Para las <strong>pistas separadas</strong>, Suno Studio con el plan Premier y el modo de remezcla de ACE-Step permiten dividir una pista en partes, de modo que puedas quitar la batería durante una sección de sigilo y recuperarla durante una persecución. Para crear música <strong>adaptativa y en tiempo real</strong> que reaccione a las acciones del jugador, Magenta RealTime está diseñado específicamente para ello, mientras que las transmisiones infinitas por estado de ánimo de Mubert funcionan bien como capas ambientales o fondos continuos dentro de una aplicación.</p>
<h2 id="lo-que-yo-usaria-realmente" tabindex="-1">Lo que yo usaría realmente <a class="header-anchor" href="#lo-que-yo-usaria-realmente" aria-label="Permalink to &quot;Lo que yo usaría realmente&quot;"></a></h2>
<p>Si hoy tuviera que componer la música de un juego, estas son las herramientas que elegiría.</p>
<p><strong>¿Vas a publicar un juego comercial y necesitas una licencia sin fisuras?</strong> Utiliza ElevenLabs Music para las pistas vocales y principales, y Stable Audio 3 para las bases instrumentales y los efectos de sonido. Ambos se entrenan con datos bajo licencia y autorizan el uso comercial de sus resultados, que es precisamente el motivo por el que dos de los tres motores de nuestra propia herramienta pertenecen a esta categoría.</p>
<p>¿Necesitas <strong>iterar rápidamente y obtener las mejores voces</strong>? Suno Pro es la respuesta, siempre que conserves los comprobantes y aceptes el pequeño riesgo residual del litigio. Exporta las mejores pistas a Suno Studio para extraer sus partes por separado.</p>
<p>¿Quieres <strong>control total y ninguna suscripción</strong>? Aloja ACE-Step por tu cuenta para las pistas vocales y Stable Audio 3 para los instrumentales y efectos de sonido. Después, ajusta Stable Audio mediante LoRA con tu propio audio para que todo suene como parte de una misma banda sonora.</p>
<p>Para crear <strong>música de fondo dentro de tu aplicación</strong>, o permitir que los jugadores generen la suya, integra la API de Mubert o Soundraw con el plan que corresponda en función de si los usuarios pueden exportarla. Y si quieres <strong>una banda sonora adaptativa que reaccione a la jugabilidad</strong>, empieza creando un prototipo con Magenta RealTime.</p>
<p>El error habitual es intentar utilizar una sola herramienta para todo. La música, las pistas separadas, los efectos de sonido y las capas adaptativas son tareas diferentes, y la solución adecuada suele consistir en dos o tres herramientas que hagan bien una función concreta. Todas persiguen el mismo objetivo: que la banda sonora deje de ser el aspecto en el que recortas gastos.</p>
<hr>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-mejor-generador-de-musica-con-ia-para-un-juego-comercial" tabindex="-1">¿Cuál es el mejor generador de música con IA para un juego comercial? <a class="header-anchor" href="#¿cual-es-el-mejor-generador-de-musica-con-ia-para-un-juego-comercial" aria-label="Permalink to &quot;¿Cuál es el mejor generador de música con IA para un juego comercial?&quot;"></a></h3>
<p>Para obtener licencias claras, ElevenLabs Music y Stable Audio 3 lideran en 2026 porque ambos se entrenan con datos bajo licencia y autorizan el uso comercial de sus resultados. Para conseguir rápidamente las mejores voces, Suno Pro funciona bien si aceptas como pequeño riesgo residual el litigio abierto con Sony. Evita los planes gratuitos y los pesos que no permitan el uso comercial en cualquier proyecto que vayas a publicar.</p>
<h3 id="¿puedo-usar-legalmente-musica-generada-con-ia-en-un-juego-que-vendo" tabindex="-1">¿Puedo usar legalmente música generada con IA en un juego que vendo? <a class="header-anchor" href="#¿puedo-usar-legalmente-musica-generada-con-ia-en-un-juego-que-vendo" aria-label="Permalink to &quot;¿Puedo usar legalmente música generada con IA en un juego que vendo?&quot;"></a></h3>
<p>Por lo general, sí, si utilizas un plan de pago o un modelo abierto con una licencia permisiva, pero los detalles importan. Los planes gratuitos casi siempre excluyen el uso comercial, una licencia comercial no equivale a poseer los derechos de autor y las herramientas entrenadas con datos sin licencia conllevan riesgos legales. Revisa la licencia concreta, conserva un comprobante de tu suscripción e informa sobre el contenido generado con IA cuando tu plataforma lo exija.</p>
<h3 id="¿que-generadores-de-musica-con-ia-puedo-ejecutar-en-mi-propio-equipo" tabindex="-1">¿Qué generadores de música con IA puedo ejecutar en mi propio equipo? <a class="header-anchor" href="#¿que-generadores-de-musica-con-ia-puedo-ejecutar-en-mi-propio-equipo" aria-label="Permalink to &quot;¿Qué generadores de música con IA puedo ejecutar en mi propio equipo?&quot;"></a></h3>
<p>Stable Audio 3 —los modelos Small funcionan en una CPU y Medium en una GPU de consumo—, ACE-Step, YuE, DiffRhythm 2 y Magenta RealTime son abiertos y pueden alojarse de forma autónoma. Comprueba la licencia de los pesos, no solo la del código: los pesos de MusicGen no permiten el uso comercial, mientras que ACE-Step (MIT) y Stable Audio (Community License) sí lo permiten.</p>
<h3 id="¿como-puedo-crear-musica-en-bucle-o-adaptativa-para-un-juego" tabindex="-1">¿Cómo puedo crear música en bucle o adaptativa para un juego? <a class="header-anchor" href="#¿como-puedo-crear-musica-en-bucle-o-adaptativa-para-un-juego" aria-label="Permalink to &quot;¿Cómo puedo crear música en bucle o adaptativa para un juego?&quot;"></a></h3>
<p>Genera una pista más larga y recórtala para crear un bucle sin interrupciones, o utiliza las funciones de continuación e inpainting para conectar los extremos. Para obtener pistas separadas, utiliza Suno Studio o el modo de remezcla de ACE-Step. Para crear música en tiempo real que reaccione a la jugabilidad, Magenta RealTime está diseñado para el control en directo, mientras que las transmisiones de Mubert basadas en estados de ánimo funcionan bien como capas de fondo infinitas.</p>
<hr>
<h2 id="mas-lecturas" tabindex="-1">Más lecturas <a class="header-anchor" href="#mas-lecturas" aria-label="Permalink to &quot;Más lecturas&quot;"></a></h2>
<ul>
<li><a href="/es/guides/frontier-gen-ai-models.html">Los mejores modelos abiertos de IA generativa para juegos</a>, un repaso completo a los modelos abiertos de vídeo, imagen, 3D, audio y voz</li>
<li><a href="/es/guides/ai-asset-generators-games.html">Los mejores generadores de recursos con IA para juegos</a>, modelos 3D, texturas y generación de audio en un mismo lugar</li>
<li><a href="/es/guides/ai-voice-acting-games.html">Actuación de voz con IA para juegos</a>, la misma cuestión sobre herramientas aplicada al diálogo y la narración</li>
<li><a href="/es/guides/free-sound-effects-music.html">Efectos de sonido y música gratuitos para juegos</a>, las bibliotecas CC0 que puedes combinar con la generación mediante IA</li>
<li><a href="/es/guides/game-asset-licenses.html">Explicación de las licencias de recursos para juegos</a>, cómo encajan las licencias musicales con el arte y el código</li>
<li><a href="/es/ai-content.html">Política sobre contenido generado con IA</a>, cómo gestionamos la divulgación del uso de IA</li>
</ul>
<BuildCta
  title="Genera un juego y su banda sonora en un solo lugar"
  desc="La música es más divertida cuando acompaña a un juego que tú mismo has creado."
  prompt="Crea un juego de ritmo ambientado en una ciudad de neón donde el compás controle los obstáculos" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/ai-music-generators-games.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Comparativa de plataformas de minijuegos y HTML5 en China (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/china-mini-game-platforms</link>
            <guid>https://app.cinevva.com/es/guides/china-mini-game-platforms</guid>
            <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Comparativa de las plataformas que distribuyen juegos HTML5 y minijuegos en China. WeChat, Douyin, QQ, 4399, Kuaishou, Alipay y Meituan en alcance, reparto de ingresos, público y requisitos de acceso.]]></description>
            <content:encoded><![CDATA[<h1 id="comparativa-de-plataformas-de-minijuegos-y-html5-en-china-2026" tabindex="-1">Comparativa de plataformas de minijuegos y HTML5 en China (2026) <a class="header-anchor" href="#comparativa-de-plataformas-de-minijuegos-y-html5-en-china-2026" aria-label="Permalink to &quot;Comparativa de plataformas de minijuegos y HTML5 en China (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/china-mini-game-platforms-hero.jpg?v=1" alt="Comparativa de plataformas de minijuegos y HTML5 en China en 2026" style="width:100%;border-radius:10px">
</figure>
<p>En Occidente, «publicar un juego web» significa itch.io, Poki, CrazyGames o Newgrounds. China tiene su propia versión de ese mapa, y es enorme. El mercado de los minijuegos generó unos 7.650 millones de dólares en 2025 y se prevé que alcance aproximadamente los 20.000 millones para 2030. Las plataformas son distintas, los mecanismos de descubrimiento son diferentes y los requisitos para acceder a ellas también cambian. Esta es la guía de campo.</p>
<p>Para consultar el equivalente occidental, consulta <a href="/es/guides/publish-web-game.html">los mejores lugares para publicar un juego web</a>. Esta página es el mapa de China. Si quieres conocer en detalle el proceso para conseguir que publiquen tu juego y recibir pagos, la <a href="/es/guides/publish-wechat-douyin-mini-games.html">guía para publicar en WeChat y Douyin</a> profundiza en las licencias y el reparto de ingresos.</p>
<h2 id="las-dos-plataformas-mas-importantes" tabindex="-1">Las dos plataformas más importantes <a class="header-anchor" href="#las-dos-plataformas-mas-importantes" aria-label="Permalink to &quot;Las dos plataformas más importantes&quot;"></a></h2>
<p>WeChat y Douyin concentran juntas más del 90 % de los ingresos de los minijuegos en China. Si solo vas a lanzar tu juego en dos sitios, deben ser estos.</p>
<p>WeChat Mini Games es el gigante. Tiene aproximadamente entre 500 y 570 millones de jugadores mensuales, que ejecutan juegos dentro de la aplicación que mil millones de personas utilizan para comunicarse y realizar pagos. El descubrimiento es social: los juegos se difunden entre amigos y chats de grupo. Hay más de 400.000 desarrolladores de minijuegos para WeChat y más de 300 equipos superan los 10 millones de yuanes en ingresos trimestrales. La plataforma premia la retención y el boca a boca, y su economía de compras dentro de la aplicación está muy desarrollada. Si tu juego tiene un bucle que anima a volver y un motivo para compartirlo con amigos, WeChat es donde ese efecto se multiplica.</p>
<p>Douyin Mini Games es el rival que crece con rapidez. Cuenta con unos 170 millones de jugadores mensuales, pero en 2025 sus ingresos crecieron aproximadamente un 100 % y sus usuarios cerca de un 120 % interanual. El descubrimiento es algorítmico y se basa en vídeos cortos. Un gran clip en el feed puede atraer una oleada de jugadores. Douyin ofrece condiciones muy competitivas, con algunos socios preferentes que conservan hasta el 90 % de los ingresos, y su sello Ohayoo está especializado en la publicación de juegos hipercasuales. Si tu juego resulta irresistible en cinco segundos, el feed de Douyin es un motor de crecimiento que WeChat no puede igualar.</p>
<h2 id="el-resto-del-panorama" tabindex="-1">El resto del panorama <a class="header-anchor" href="#el-resto-del-panorama" aria-label="Permalink to &quot;El resto del panorama&quot;"></a></h2>
<p>Más allá de las dos grandes, conviene conocer varias plataformas, sobre todo para llegar a públicos que los gigantes no dominan por completo.</p>
<p>QQ Mini Games es la otra plataforma social de Tencent y atrae a un público más joven que WeChat. Si tu juego está dirigido a adolescentes y estudiantes, el perfil demográfico de QQ es una razón de peso para estar allí. Además, formar parte del ecosistema de Tencent puede simplificar algunas integraciones.</p>
<p>4399 es una veterana de la era china de los juegos web casuales, un portal anterior al auge de los minijuegos que todavía atrae a un gran público casual. Tanto esta plataforma como otras empresas consolidadas similares (BoKe, Tanwan y otras) se han expandido hacia los minijuegos sin abandonar sus fortalezas tradicionales como portales de juegos casuales. Es una buena opción para títulos casuales sencillos.</p>
<p>Kuaishou es el principal rival de Douyin en vídeos cortos, con el mismo modelo de descubrimiento algorítmico y un público más rural y procedente de ciudades de menor nivel. Sus ingresos por minijuegos todavía son inferiores, pero cuenta con una base de usuarios diferenciada.</p>
<p>Alipay y Meituan completan el panorama. Ambas están impulsando sus minijuegos a partir de enormes bases de usuarios transaccionales —pagos y reparto de comida— y las dos se encuentran todavía en una fase temprana. Su alcance es enorme, pero su cuota de videojuegos es pequeña. Por tanto, representan una apuesta por un nicho o por entrar antes de que el mercado se sature, no un canal principal por ahora.</p>
<h2 id="comparativa-rapida" tabindex="-1">Comparativa rápida <a class="header-anchor" href="#comparativa-rapida" aria-label="Permalink to &quot;Comparativa rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma</th>
<th>Jugadores mensuales</th>
<th>Descubrimiento</th>
<th>Condiciones de ingresos</th>
<th>Ideal para</th>
</tr>
</thead>
<tbody>
<tr>
<td>WeChat</td>
<td>~500-570 millones</td>
<td>Social, recomendaciones entre amigos</td>
<td>Anuncios ~50/50, el desarrollador conserva ~60-70 % de las compras integradas</td>
<td>Juegos centrados en la retención y fáciles de compartir</td>
</tr>
<tr>
<td>Douyin</td>
<td>~170 millones</td>
<td>Vídeos cortos y algoritmos</td>
<td>Socios preferentes hasta ~90 %</td>
<td>Juegos hipercasuales con un potente gancho visual</td>
</tr>
<tr>
<td>QQ</td>
<td>Muchos, público más joven</td>
<td>Social, ecosistema de Tencent</td>
<td>Condiciones de Tencent</td>
<td>Público adolescente y estudiantil</td>
</tr>
<tr>
<td>4399</td>
<td>Gran base de jugadores casuales</td>
<td>Navegación por el portal</td>
<td>Condiciones del portal</td>
<td>Juegos casuales sencillos</td>
</tr>
<tr>
<td>Kuaishou</td>
<td>En crecimiento</td>
<td>Vídeos cortos y algoritmos</td>
<td>Negociadas</td>
<td>Alcance rural y en ciudades de menor nivel</td>
</tr>
<tr>
<td>Alipay / Meituan</td>
<td>Enorme, todavía incipiente en juegos</td>
<td>Posicionamiento en aplicaciones transaccionales</td>
<td>Condiciones de fase inicial</td>
<td>Apuestas de nicho y posicionamiento como pionero</td>
</tr>
</tbody>
</table>
<p>Las cifras de jugadores y las condiciones cambian con el mercado y las promociones, así que interpreta esta tabla como una representación general del panorama, no como datos inmutables.</p>
<h2 id="como-elegir" tabindex="-1">Cómo elegir <a class="header-anchor" href="#como-elegir" aria-label="Permalink to &quot;Cómo elegir&quot;"></a></h2>
<p>Elige la plataforma según la forma en que se descubre tu juego, no solo por su tamaño.</p>
<p>Si tu juego consigue que los usuarios vuelvan y lo compartan, WeChat es donde la retención se convierte en crecimiento. Si se trata de un título hipercasual cuyo éxito depende de un gran clip, el feed de Douyin es el motor más potente del mercado. Si te diriges a un público joven, QQ merece el esfuerzo adicional de integración. Si es un juego casual sencillo, 4399 y los demás portales son una buena opción. Además, como la licencia y la compilación pueden aprovecharse entre plataformas, publicar en más de una de las dos grandes suele ser lo habitual, no la excepción.</p>
<p>La principal barrera es la misma en todas partes: un juego monetizado necesita una licencia china y un operador local que sea su titular. Esto se explica en la <a href="/es/guides/publish-wechat-douyin-mini-games.html">guía de publicación</a> y se aplica a todas las plataformas de esta tabla.</p>
<h2 id="el-papel-de-cinevva" tabindex="-1">El papel de Cinevva <a class="header-anchor" href="#el-papel-de-cinevva" aria-label="Permalink to &quot;El papel de Cinevva&quot;"></a></h2>
<p>Ninguna de estas plataformas es el lugar donde deberías averiguar si tu juego es divertido. La licencia, el socio local y la revisión de la plataforma implican demasiado gasto para una idea que aún no se ha probado. Cinevva es la opción económica para la parte inicial del embudo: crea un juego para navegador en minutos, ponlo delante de jugadores reales y descubre qué títulos tienen el bucle ideal para WeChat o el gancho adecuado para Douyin antes de pagar para entrar en China. Las plataformas de minijuegos premian las mismas cualidades que un buen juego web —juego instantáneo y sin instalación—, así que un juego que funciona en el navegador ya habla su idioma.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cuales-son-las-mayores-plataformas-de-minijuegos-de-china" tabindex="-1">¿Cuáles son las mayores plataformas de minijuegos de China? <a class="header-anchor" href="#¿cuales-son-las-mayores-plataformas-de-minijuegos-de-china" aria-label="Permalink to &quot;¿Cuáles son las mayores plataformas de minijuegos de China?&quot;"></a></h3>
<p>WeChat Mini Games y Douyin Mini Games, que juntas concentran más del 90 % de los ingresos del mercado. WeChat tiene entre 500 y 570 millones de jugadores mensuales, mientras que Douyin cuenta con unos 170 millones y crece con rapidez.</p>
<h3 id="¿existe-un-equivalente-chino-de-itch-io-o-poki" tabindex="-1">¿Existe un equivalente chino de itch.io o Poki? <a class="header-anchor" href="#¿existe-un-equivalente-chino-de-itch-io-o-poki" aria-label="Permalink to &quot;¿Existe un equivalente chino de itch.io o Poki?&quot;"></a></h3>
<p>No exactamente. Las alternativas más parecidas son las plataformas de minijuegos integradas en superaplicaciones —WeChat, Douyin y QQ— y los portales casuales veteranos como 4399. El descubrimiento se produce mediante grafos sociales y algoritmos de vídeos cortos, en lugar de a través de un sitio independiente de juegos.</p>
<h3 id="¿necesito-una-compilacion-distinta-para-cada-plataforma-china" tabindex="-1">¿Necesito una compilación distinta para cada plataforma china? <a class="header-anchor" href="#¿necesito-una-compilacion-distinta-para-cada-plataforma-china" aria-label="Permalink to &quot;¿Necesito una compilación distinta para cada plataforma china?&quot;"></a></h3>
<p>Normalmente necesitas una adaptación específica para cada plataforma —el inicio de sesión y los SDK de publicidad y pagos varían—, pero el juego principal y su licencia pueden aprovecharse en todas ellas. Motores como Cocos y LayaAir permiten generar versiones para varias plataformas chinas desde un solo proyecto.</p>
<h3 id="¿que-plataforma-es-mejor-para-un-juego-hipercasual" tabindex="-1">¿Qué plataforma es mejor para un juego hipercasual? <a class="header-anchor" href="#¿que-plataforma-es-mejor-para-un-juego-hipercasual" aria-label="Permalink to &quot;¿Qué plataforma es mejor para un juego hipercasual?&quot;"></a></h3>
<p>Douyin, porque su feed de vídeos cortos puede generar una oleada viral hacia un juego con un potente gancho visual y sus condiciones de ingresos para socios preferentes son generosas. Ohayoo, el sello de Douyin, está especializado en juegos hipercasuales.</p>
<h3 id="¿que-tamano-tiene-el-mercado-chino-de-minijuegos" tabindex="-1">¿Qué tamaño tiene el mercado chino de minijuegos? <a class="header-anchor" href="#¿que-tamano-tiene-el-mercado-chino-de-minijuegos" aria-label="Permalink to &quot;¿Qué tamaño tiene el mercado chino de minijuegos?&quot;"></a></h3>
<p>Aproximadamente 7.650 millones de dólares en 2025, tras crecer cerca de un 34 % interanual, con previsiones que lo sitúan cerca de los 20.000 millones para 2030.</p>
<BuildCta
  title="Encuentra tu canal poniendo a prueba el juego"
  desc="Créalo en el navegador, observa cómo reaccionan los jugadores y elige después la plataforma más adecuada."
  prompt="Crea un colorido juego de física en el que haya que apilar objetos y que sea difícil de soltar" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/publish-wechat-douyin-mini-games.html">Cómo publicar en WeChat y Douyin Mini Games</a> — licencias, revisión y reparto de ingresos</li>
<li><a href="/es/guides/wechat-mini-game-engines.html">Motores de juego para WeChat Mini Games</a> — desarrolla para la plataforma</li>
<li><a href="/es/guides/localize-web-game-china.html">Cómo localizar un juego web para China</a> — fuentes, alojamiento y pagos</li>
<li><a href="/es/guides/publish-web-game.html">Los mejores lugares para publicar un juego web</a> — el panorama occidental</li>
<li><a href="/es/guides/casual-games-trends-2026.html">Tendencias de los juegos casuales en 2026</a> — hacia dónde se dirige el sector casual</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/china-mini-game-platforms-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Localizar un juego web para China (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/localize-web-game-china</link>
            <guid>https://app.cinevva.com/es/guides/localize-web-game-china</guid>
            <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Lo que realmente hace falta para llevar un juego web a China en 2026. Chino simplificado y fuentes, registro ICP, alojamiento dentro del Gran Cortafuegos, WeChat Pay y Alipay, y los servicios de terceros que dejan de funcionar sin avisar.]]></description>
            <content:encoded><![CDATA[<h1 id="localizar-un-juego-web-para-china-2026" tabindex="-1">Localizar un juego web para China (2026) <a class="header-anchor" href="#localizar-un-juego-web-para-china-2026" aria-label="Permalink to &quot;Localizar un juego web para China (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/localize-web-game-china-hero.jpg?v=1" alt="Localizar un juego web para China en 2026" style="width:100%;border-radius:10px">
</figure>
<p>Localizar un juego web para China no consiste solo en traducirlo. La traducción es el 10 % fácil. El 90 % difícil es que el entorno técnico y legal es diferente: las fuentes, el proveedor de alojamiento, el proveedor de pagos y la mitad de los servicios de terceros de los que dependes sin darte cuenta cambian o dejan de funcionar al cruzar la frontera. Esta guía es la lista de todo lo que realmente hay que hacer.</p>
<p>Si tu objetivo son específicamente los minijuegos, complementa esta información con la <a href="/es/guides/publish-wechat-douyin-mini-games.html">guía de publicación en WeChat y Douyin</a>. Esta página aborda el caso más general de los juegos web, tanto si vas a publicarlos en una plataforma de minijuegos como en un sitio independiente.</p>
<h2 id="idioma-chino-simplificado-bien-hecho" tabindex="-1">Idioma: chino simplificado bien hecho <a class="header-anchor" href="#idioma-chino-simplificado-bien-hecho" aria-label="Permalink to &quot;Idioma: chino simplificado bien hecho&quot;"></a></h2>
<p>Empieza por el chino simplificado (简体中文), el estándar escrito en China continental. El chino tradicional se utiliza en Hong Kong y Taiwán y no es intercambiable con el simplificado. Asegúrate de elegir la variante correcta antes de hacer cualquier otra cosa.</p>
<p>Después, ocúpate de lo que la traducción automática no puede resolver. El texto chino es más denso que el inglés, por lo que una interfaz ajustada a textos en inglés tendrá espacios en blanco extraños, y los botones dimensionados para «Continue» se verán raros con solo dos caracteres. Los saltos de línea funcionan de otra manera porque no hay espacios entre las palabras. El tono también importa: una traducción literal suena robótica para los jugadores chinos del mismo modo que una traducción literal del chino al español te sonaría robótica a ti. Reserva presupuesto para una revisión por parte de una persona nativa, no solo para el resultado de un modelo.</p>
<h2 id="fuentes-la-trampa-que-nadie-espera" tabindex="-1">Fuentes: la trampa que nadie espera <a class="header-anchor" href="#fuentes-la-trampa-que-nadie-espera" aria-label="Permalink to &quot;Fuentes: la trampa que nadie espera&quot;"></a></h2>
<p>Aquí es donde fracasan la mayoría de los juegos web occidentales. No puedes cargar fuentes chinas desde Google Fonts, porque Google está bloqueado en China continental y la solicitud simplemente falla. Una página que se muestra perfectamente en tu equipo puede presentar texto roto o una fuente alternativa dentro del Gran Cortafuegos.</p>
<p>Además, las fuentes chinas son enormes. Una tipografía CJK completa contiene decenas de miles de glifos y puede ocupar decenas de megabytes, algo inviable para un juego web y directamente imposible con los límites de tamaño de los paquetes de minijuegos. Las soluciones son usar las fuentes del sistema ya disponibles en cada dispositivo o crear un subconjunto que solo incluya los caracteres que realmente utiliza el juego y alojarlo tú mismo. En cualquier caso, aloja la fuente en China. No dependas de una CDN de fuentes externa.</p>
<h2 id="alojamiento-dentro-del-cortafuegos-o-lento-desde-fuera" tabindex="-1">Alojamiento: dentro del cortafuegos o lento desde fuera <a class="header-anchor" href="#alojamiento-dentro-del-cortafuegos-o-lento-desde-fuera" aria-label="Permalink to &quot;Alojamiento: dentro del cortafuegos o lento desde fuera&quot;"></a></h2>
<p>El lugar desde el que se sirve el juego determina cómo se siente al jugar. Si lo alojas fuera de China, cada solicitud pasa lentamente por la inspección del Gran Cortafuegos, lo que añade una latencia capaz de hacer que un juego en tiempo real parezca averiado. Si lo alojas en China continental, será rápido, pero hacerlo exige el registro ICP.</p>
<p>El registro ICP (proveedor de contenidos de Internet) es una inscripción ante el Ministerio de Industria y Tecnología de la Información de China, obligatoria para cualquier sitio servido desde servidores ubicados en China continental. Tiene dos modalidades: un registro básico (备案) para sitios no comerciales y una licencia ICP comercial para sitios que venden, muestran publicidad o aceptan pagos, como ocurre con un juego monetizado. Un juego que opere comercialmente también suele necesitar una Licencia de Operación de Cultura en Internet (网络文化经营许可证). El número ICP debe aparecer en el pie del sitio, enlazado con el sitio oficial de registros. Los trámites tardan semanas y requieren una entidad empresarial local, otra razón más por la que los estudios extranjeros trabajan a través de un socio chino.</p>
<p>Sin embargo, el registro ICP solo cubre el alojamiento. Un juego monetizado también necesita la aprobación ISBN para videojuegos (版号, el «banhao»), que solo puede obtenerse mediante una editora china autorizada. Nuestra <a href="/es/guides/publish-wechat-douyin-mini-games.html">guía de publicación en WeChat y Douyin</a> explica todo el proceso de licencias.</p>
<p>El registro no es solo burocracia. Es la llave que desbloquea todo lo demás: alojamiento dentro del país, una CDN china para distribuir el juego rápidamente por todo el territorio e integración de pagos.</p>
<h2 id="pagos-wechat-pay-y-alipay-no-stripe" tabindex="-1">Pagos: WeChat Pay y Alipay, no Stripe <a class="header-anchor" href="#pagos-wechat-pay-y-alipay-no-stripe" aria-label="Permalink to &quot;Pagos: WeChat Pay y Alipay, no Stripe&quot;"></a></h2>
<p>Los jugadores chinos no utilizan las mismas tarjetas y carteras digitales que el resto del mundo. Los pagos se realizan mediante WeChat Pay y Alipay, sin más. Stripe, PayPal y los flujos de pago con tarjetas occidentales no son la solución. Integrar WeChat Pay o Alipay requiere alojamiento dentro del país y una licencia ICP, así que los pagos, el alojamiento y el registro forman un único problema conectado, no tres problemas distintos. Planifícalos conjuntamente.</p>
<h2 id="los-servicios-que-dejan-de-funcionar-sin-avisar" tabindex="-1">Los servicios que dejan de funcionar sin avisar <a class="header-anchor" href="#los-servicios-que-dejan-de-funcionar-sin-avisar" aria-label="Permalink to &quot;Los servicios que dejan de funcionar sin avisar&quot;"></a></h2>
<p>Los errores más dolorosos de un lanzamiento en China son los que no aparecen hasta que un jugador dentro del Gran Cortafuegos carga el juego. Cualquier recurso que el juego obtenga desde un servicio bloqueado falla, a menudo sin mostrar ningún error, incluso después de haber configurado correctamente el alojamiento y el registro. Las víctimas habituales son:</p>
<p>Google Fonts, Google Analytics y cualquier otro servicio de Google. Están bloqueados. Sustitúyelos por fuentes autoalojadas y un proveedor de analítica nacional.</p>
<p>YouTube y los vídeos insertados desde proveedores occidentales. Están bloqueados. Utiliza un proveedor de vídeo nacional si insertas tráileres.</p>
<p>Facebook, Twitter y sus SDK y botones para compartir. Están bloqueados. Sustitúyelos por opciones para compartir en WeChat y Weibo.</p>
<p>CDN externas y proveedores de scripts que quizá ni habías tenido en cuenta. Algunos funcionan, muchos no. Audita cada URL de terceros que cargue el juego y considérala culpable hasta demostrar que es accesible.</p>
<p>La regla es sencilla: si un recurso lo sirve una empresa bloqueada en China, fallará para tus jugadores chinos por muy correcta que sea el resto de la configuración. Aloja tú mismo cada dependencia o busca un equivalente nacional.</p>
<h2 id="revision-de-contenido" tabindex="-1">Revisión de contenido <a class="header-anchor" href="#revision-de-contenido" aria-label="Permalink to &quot;Revisión de contenido&quot;"></a></h2>
<p>China revisa el contenido de los juegos y sus criterios difieren de los de las plataformas occidentales. Temas, imágenes y textos aceptados en otros lugares pueden ser rechazados. Este es otro ámbito en el que una editora local se gana su parte, porque conoce los límites y puede revisar el juego antes de presentarlo, en lugar de hacerlo después de un rechazo. Incorpora la revisión al calendario en vez de tratarla como un mero trámite al final del proceso.</p>
<h2 id="lista-de-comprobacion-para-la-localizacion" tabindex="-1">Lista de comprobación para la localización <a class="header-anchor" href="#lista-de-comprobacion-para-la-localizacion" aria-label="Permalink to &quot;Lista de comprobación para la localización&quot;"></a></h2>
<p>Traduce al chino simplificado y haz que una persona nativa revise el tono; no te limites al resultado de una traducción automática.</p>
<p>Adapta la interfaz al texto más denso y a las distintas reglas de salto de línea.</p>
<p>Aloja tú mismo un subconjunto de la fuente o utiliza fuentes del sistema. Nunca cargues fuentes chinas desde una CDN bloqueada.</p>
<p>Decide dónde alojar el juego: dentro del país con un registro ICP para obtener velocidad y admitir pagos, o fuera y aceptar la lentitud.</p>
<p>Integra WeChat Pay y Alipay si el juego tiene cualquier forma de monetización.</p>
<p>Audita todos los recursos de terceros y sustituye los que estén bloqueados.</p>
<p>Planifica la revisión de contenido con un socio local.</p>
<h2 id="el-papel-de-cinevva" tabindex="-1">El papel de Cinevva <a class="header-anchor" href="#el-papel-de-cinevva" aria-label="Permalink to &quot;El papel de Cinevva&quot;"></a></h2>
<p>La realidad es esta: el juego es la parte portátil; la capa china corresponde a la distribución y el cumplimiento normativo. Cinevva crea juegos web nativos que ya funcionan desde un enlace y sin instalación, justo el formato que buscan las plataformas chinas, pero no vamos a fingir que una herramienta hace desaparecer el registro ICP, la necesidad de una editora local o la integración de pagos. Lo que sí abaratamos es todo lo que viene antes. Crea el juego, demuestra que merece la pena localizarlo y solo entonces invierte en la infraestructura necesaria para China. La mayoría de los juegos no necesitan superar toda esa lista. Los que sí lo necesitan merecen que se haga bien.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿necesito-una-licencia-icp-para-publicar-un-juego-web-en-china" tabindex="-1">¿Necesito una licencia ICP para publicar un juego web en China? <a class="header-anchor" href="#¿necesito-una-licencia-icp-para-publicar-un-juego-web-en-china" aria-label="Permalink to &quot;¿Necesito una licencia ICP para publicar un juego web en China?&quot;"></a></h3>
<p>Para alojarlo dentro de China continental, sí. Los sitios no comerciales necesitan un registro ICP básico (备案); los sitios comerciales que venden, muestran publicidad o aceptan pagos necesitan una licencia ICP comercial, y un juego monetizado suele requerir también una Licencia de Operación de Cultura en Internet. Alojarlo fuera de China evita el registro, pero hace que el juego funcione lentamente al atravesar el Gran Cortafuegos.</p>
<h3 id="¿por-que-dejan-de-funcionar-mis-fuentes-en-china" tabindex="-1">¿Por qué dejan de funcionar mis fuentes en China? <a class="header-anchor" href="#¿por-que-dejan-de-funcionar-mis-fuentes-en-china" aria-label="Permalink to &quot;¿Por qué dejan de funcionar mis fuentes en China?&quot;"></a></h3>
<p>Casi siempre se debe a que se cargan desde Google Fonts u otra CDN bloqueada, que falla dentro del Gran Cortafuegos. Las fuentes chinas también son muy grandes, así que la solución consiste en crear un subconjunto con los glifos que utilizas y alojarlo tú mismo, o recurrir a las fuentes del sistema del dispositivo.</p>
<h3 id="¿puedo-usar-stripe-o-paypal-para-un-juego-en-china" tabindex="-1">¿Puedo usar Stripe o PayPal para un juego en China? <a class="header-anchor" href="#¿puedo-usar-stripe-o-paypal-para-un-juego-en-china" aria-label="Permalink to &quot;¿Puedo usar Stripe o PayPal para un juego en China?&quot;"></a></h3>
<p>No. Los jugadores chinos pagan con WeChat Pay y Alipay. Integrar cualquiera de los dos exige alojamiento dentro del país y una licencia ICP, por lo que los pagos, el alojamiento y el registro forman parte de un mismo proyecto.</p>
<h3 id="¿que-servicios-de-terceros-dejan-de-funcionar-en-china" tabindex="-1">¿Qué servicios de terceros dejan de funcionar en China? <a class="header-anchor" href="#¿que-servicios-de-terceros-dejan-de-funcionar-en-china" aria-label="Permalink to &quot;¿Qué servicios de terceros dejan de funcionar en China?&quot;"></a></h3>
<p>Cualquier servicio de una empresa bloqueada en el país: Google (Fonts y Analytics), YouTube, los SDK de Facebook y Twitter, y muchas CDN externas. Audita todas las URL que carga el juego y sustituye las bloqueadas por recursos autoalojados o proveedores nacionales.</p>
<h3 id="¿basta-con-traducir-un-juego-al-chino-para-localizarlo" tabindex="-1">¿Basta con traducir un juego al chino para localizarlo? <a class="header-anchor" href="#¿basta-con-traducir-un-juego-al-chino-para-localizarlo" aria-label="Permalink to &quot;¿Basta con traducir un juego al chino para localizarlo?&quot;"></a></h3>
<p>No. La traducción es solo una pequeña parte. También debes adaptar el texto más denso y los saltos de línea, usar fuentes autoalojadas, gestionar el alojamiento dentro del país y el registro, integrar pagos locales, sustituir los servicios de terceros bloqueados y superar la revisión de contenido. El idioma es la capa fácil.</p>
<BuildCta
  title="Crea primero el juego y localiza solo lo que lo merezca"
  desc="Crea un juego web nativo en minutos y demuestra su potencial antes de invertir en la infraestructura para China."
  prompt="Crea un acogedor juego de granja con ciclos de día y noche" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/publish-wechat-douyin-mini-games.html">Cómo publicar en los minijuegos de WeChat y Douyin</a> — licencias, revisión y reparto de ingresos</li>
<li><a href="/es/guides/china-mini-game-platforms.html">Comparativa de plataformas de minijuegos y HTML5 en China</a> — dónde distribuir tu juego</li>
<li><a href="/es/guides/wechat-mini-game-engines.html">Motores de juego para minijuegos de WeChat</a> — crea para la plataforma</li>
<li><a href="/es/guides/publish-web-game.html">Los mejores sitios para publicar un juego web</a> — el panorama occidental</li>
<li><a href="/es/guides/publish-web-game.html">Cómo publicar un juego web</a> — publica primero el juego en cualquier lugar</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/localize-web-game-china-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo publicar en los Mini Games de WeChat y Douyin (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/publish-wechat-douyin-mini-games</link>
            <guid>https://app.cinevva.com/es/guides/publish-wechat-douyin-mini-games</guid>
            <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[El proceso real para publicar un Mini Game en China en 2026. La licencia ISBN o banhao, por qué un estudio extranjero necesita un editor local, el reparto de ingresos de WeChat frente a Douyin y en qué se diferencian realmente ambas plataformas.]]></description>
            <content:encoded><![CDATA[<h1 id="como-publicar-en-los-mini-games-de-wechat-y-douyin-2026" tabindex="-1">Cómo publicar en los Mini Games de WeChat y Douyin (2026) <a class="header-anchor" href="#como-publicar-en-los-mini-games-de-wechat-y-douyin-2026" aria-label="Permalink to &quot;Cómo publicar en los Mini Games de WeChat y Douyin (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/publish-wechat-douyin-mini-games-hero.jpg?v=1" alt="Publicación en los Mini Games de WeChat y Douyin en 2026" style="width:100%;border-radius:10px">
</figure>
<p>El mercado chino de Mini Games generó aproximadamente 7.650 millones de dólares en 2025, un 34 % más que el año anterior, y las previsiones lo sitúan cerca de los 20.000 millones de dólares para 2030. Dos plataformas concentran más del 90 % de ese mercado: WeChat Mini Games y Douyin Mini Games. Si has creado un juego y quieres tener una oportunidad en ese mercado, este es el proceso que realmente tendrás que seguir. Tiene menos que ver con el juego y más con las licencias, un socio local y la elección de la plataforma adecuada.</p>
<p>Si aún no has elegido un motor, empieza por <a href="/es/guides/wechat-mini-game-engines.html">motores de juegos para WeChat Mini Games</a>. Esta guía presupone que ya tienes una versión del juego y explica cómo publicarla y monetizarla.</p>
<h2 id="la-licencia-es-la-puerta-de-entrada" tabindex="-1">La licencia es la puerta de entrada <a class="header-anchor" href="#la-licencia-es-la-puerta-de-entrada" aria-label="Permalink to &quot;La licencia es la puerta de entrada&quot;"></a></h2>
<p>Todos los juegos distribuidos en China, desde títulos AAA para consolas hasta un Mini Game que se ejecuta dentro de una aplicación de mensajería, están sujetos al mismo régimen de licencias. Hay dos documentos importantes.</p>
<p>El registro de derechos de autor del software (软著) es el más fácil de conseguir: acredita la autoría. El documento que determina la viabilidad de tu negocio es el ISBN, o 版号 (banhao), la licencia de publicación expedida por el organismo regulador. En la práctica, un Mini Game que acepte pagos dentro de la aplicación necesita un banhao. Históricamente, los juegos gratuitos o financiados solo con anuncios han tenido un proceso más sencillo, pero las normas se endurecen con el tiempo y lo más prudente es asumir que cualquier monetización real acabará necesitando la licencia.</p>
<p>Esta es la parte que frena en seco a la mayoría de los estudios extranjeros: solo una entidad china autorizada puede ser titular de la licencia y operar un juego monetizado. Una empresa extranjera no puede obtener un banhao. Debes publicar a través de un operador chino autorizado que sea titular de la licencia, gestione los pagos y se lleve una comisión. No es un mero trámite que puedas sortear. Es la estructura del mercado.</p>
<p>La buena noticia es que <a href="/es/news/2026-01-06-china-game-approvals-2025.html">China aprobó 1.771 juegos en 2025</a>, la cifra más alta desde 2018, y el ritmo mensual se ha mantenido estable. El proceso, que antes se paralizaba de forma impredecible, vuelve a funcionar con regularidad, lo que permite planificar de una manera que no era posible hace unos años.</p>
<h2 id="lo-que-hace-realmente-un-estudio-extranjero" tabindex="-1">Lo que hace realmente un estudio extranjero <a class="header-anchor" href="#lo-que-hace-realmente-un-estudio-extranjero" aria-label="Permalink to &quot;Lo que hace realmente un estudio extranjero&quot;"></a></h2>
<p>La secuencia realista es la siguiente.</p>
<p>Busca un editor u operador chino. Esta es la decisión fundamental. Será el titular de la licencia, gestionará la solicitud del banhao, integrará los pagos y, con frecuencia, ayudará con la revisión cultural y las relaciones con las plataformas. Su comisión y su competencia son los dos factores que pueden hacer que el acuerdo triunfe o fracase.</p>
<p>Registra la cuenta del Mini Game. Una cuenta con monetización necesita estar respaldada por una entidad empresarial china que, en la práctica, será la de tu editor, no la tuya.</p>
<p>Adapta el juego a la plataforma. Empaqueta el juego con el motor y el adaptador adecuados, mantenlo por debajo del límite de tamaño del paquete inicial e integra los SDK de inicio de sesión, publicidad y pagos de la plataforma.</p>
<p>Envíalo a revisión. Todos los Mini Games deben superar la revisión de la plataforma antes de hacerse públicos, además de contar con la licencia. Contenidos aceptables en otros lugares pueden ser rechazados, así que cuanto antes los revise tu editor, menos sorpresas habrá.</p>
<p>Lanza el juego e itera. Ambas plataformas premian las operaciones continuas, los eventos y las actualizaciones. Un Mini Game es un servicio, no un lanzamiento único.</p>
<h2 id="wechat-frente-a-douyin-dos-maquinas-diferentes" tabindex="-1">WeChat frente a Douyin: dos máquinas diferentes <a class="header-anchor" href="#wechat-frente-a-douyin-dos-maquinas-diferentes" aria-label="Permalink to &quot;WeChat frente a Douyin: dos máquinas diferentes&quot;"></a></h2>
<p>Las dos grandes plataformas no son intercambiables. Llegan a los jugadores de formas opuestas, y eso determina qué juegos triunfan en cada una.</p>
<p>WeChat Mini Games es el gigante, con unos 500 a 570 millones de jugadores mensuales. El descubrimiento se basa en el grafo social: recomendaciones entre amigos, chats de grupo y la sensación de que todo el mundo ya está jugando. La retención y el boca a boca son el motor. El reparto de ingresos de WeChat depende del modelo. En el caso de los anuncios dentro del juego, se divide al 50 %. En las compras dentro de la aplicación, el desarrollador suele conservar alrededor del 60 % y WeChat se queda con el 40 %; los títulos publicados directamente a través de WeChat pueden conservar hasta el 70 %. WeChat premia los juegos a los que la gente vuelve y que recomienda a sus amigos.</p>
<p>Douyin Mini Games es más pequeño, con unos 170 millones de jugadores mensuales, pero experimentó un crecimiento explosivo en 2025: los ingresos aumentaron aproximadamente un 100 % y los usuarios alrededor de un 120 % interanual. El descubrimiento funciona de forma opuesta a WeChat: es algorítmico y está impulsado por los vídeos cortos. Un clip de tu juego se vuelve viral en el feed y atrae una avalancha de jugadores. Douyin también busca activamente a los desarrolladores, permitiendo que algunos socios preferentes conserven hasta el 90 % de los ingresos, y su sello Ohayoo ayuda a publicar y monetizar títulos hipercasuales. Douyin premia los juegos que parecen irresistibles en un vídeo de cinco segundos.</p>
<p>La conclusión práctica: un juego centrado en la retención y fácil de compartir socialmente encaja mejor en WeChat. Un juego hipercasual con un gancho visual excepcional encaja mejor en Douyin. Muchos estudios publican en ambas plataformas, porque la licencia y la versión del juego son reutilizables y sus públicos apenas se solapan.</p>
<h2 id="el-reparto-de-ingresos-en-pocas-palabras" tabindex="-1">El reparto de ingresos, en pocas palabras <a class="header-anchor" href="#el-reparto-de-ingresos-en-pocas-palabras" aria-label="Permalink to &quot;El reparto de ingresos, en pocas palabras&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma</th>
<th>Anuncios dentro del juego</th>
<th>Compras dentro de la aplicación</th>
<th>Notas</th>
</tr>
</thead>
<tbody>
<tr>
<td>WeChat</td>
<td>~50/50</td>
<td>El desarrollador conserva ~60 % (hasta un 70 % con publicación directa)</td>
<td>Descubrimiento social, alcance enorme, orientado a la retención</td>
</tr>
<tr>
<td>Douyin</td>
<td>Favorable, negociado</td>
<td>Socios preferentes: hasta ~90 %</td>
<td>Descubrimiento algorítmico mediante vídeo, condiciones agresivas para desarrolladores, Ohayoo para juegos hipercasuales</td>
</tr>
</tbody>
</table>
<p>Las cifras cambian según las promociones y la categoría del socio, así que tómalas como una aproximación a la estructura del acuerdo, no como un contrato. La comisión de tu editor se suma a la de la plataforma, por lo que elegir al operador adecuado importa tanto como elegir la plataforma correcta.</p>
<h2 id="donde-encaja-cinevva" tabindex="-1">Dónde encaja Cinevva <a class="header-anchor" href="#donde-encaja-cinevva" aria-label="Permalink to &quot;Dónde encaja Cinevva&quot;"></a></h2>
<p>Cinevva no publica tu juego en WeChat o Douyin por ti, y no vamos a fingir que la capa de licencias es menos compleja de lo que realmente es. Un editor local y un banhao son costes reales de entrar en China. Cinevva te ofrece la forma más barata posible de averiguar si un juego merece ese esfuerzo: créalo como juego de navegador en cuestión de minutos, ponlo delante de jugadores y comprueba si tiene un gancho capaz de funcionar en un clip de Douyin o un bucle jugable que haga que los usuarios vuelvan a abrirlo en WeChat. Primero valida el juego en la web abierta. Después lleva los que funcionen a través del proceso de publicación en China.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿necesito-un-isbn-banhao-para-publicar-un-mini-game-en-china" tabindex="-1">¿Necesito un ISBN (banhao) para publicar un Mini Game en China? <a class="header-anchor" href="#¿necesito-un-isbn-banhao-para-publicar-un-mini-game-en-china" aria-label="Permalink to &quot;¿Necesito un ISBN (banhao) para publicar un Mini Game en China?&quot;"></a></h3>
<p>Si el juego acepta pagos dentro de la aplicación, en la práctica sí. Los Mini Games gratuitos o financiados solo con anuncios han tenido un proceso más sencillo, pero los juegos monetizados necesitan la licencia de publicación, y solo una entidad china autorizada puede ser su titular.</p>
<h3 id="¿puede-un-desarrollador-extranjero-publicar-directamente-en-wechat-mini-games" tabindex="-1">¿Puede un desarrollador extranjero publicar directamente en WeChat Mini Games? <a class="header-anchor" href="#¿puede-un-desarrollador-extranjero-publicar-directamente-en-wechat-mini-games" aria-label="Permalink to &quot;¿Puede un desarrollador extranjero publicar directamente en WeChat Mini Games?&quot;"></a></h3>
<p>No si se trata de un juego monetizado. Los estudios extranjeros publican a través de un operador chino autorizado que es titular de la licencia, gestiona los pagos y se lleva una parte de los ingresos. Encontrar al editor local adecuado es la decisión clave.</p>
<h3 id="¿que-plataforma-paga-mejor-wechat-o-douyin" tabindex="-1">¿Qué plataforma paga mejor, WeChat o Douyin? <a class="header-anchor" href="#¿que-plataforma-paga-mejor-wechat-o-douyin" aria-label="Permalink to &quot;¿Qué plataforma paga mejor, WeChat o Douyin?&quot;"></a></h3>
<p>Depende del modelo y de tu categoría como socio. WeChat reparte los ingresos publicitarios aproximadamente al 50 % y permite que los desarrolladores conserven entre el 60 % y el 70 % de las compras. Douyin ofrece a algunos socios preferentes hasta cerca del 90 %. Las condiciones de Douyin pueden ser más generosas, pero el alcance de WeChat es mucho mayor.</p>
<h3 id="¿cual-es-la-diferencia-entre-wechat-mini-games-y-douyin-mini-games" tabindex="-1">¿Cuál es la diferencia entre WeChat Mini Games y Douyin Mini Games? <a class="header-anchor" href="#¿cual-es-la-diferencia-entre-wechat-mini-games-y-douyin-mini-games" aria-label="Permalink to &quot;¿Cuál es la diferencia entre WeChat Mini Games y Douyin Mini Games?&quot;"></a></h3>
<p>El descubrimiento en WeChat es social, impulsado por las recomendaciones entre amigos y grupos, y premia la retención. El descubrimiento en Douyin es algorítmico, está impulsado por vídeos cortos y premia los juegos que se ven bien en un clip. WeChat es más grande; Douyin crece más rápido.</p>
<h3 id="¿que-tamano-tiene-el-mercado-chino-de-mini-games" tabindex="-1">¿Qué tamaño tiene el mercado chino de Mini Games? <a class="header-anchor" href="#¿que-tamano-tiene-el-mercado-chino-de-mini-games" aria-label="Permalink to &quot;¿Qué tamaño tiene el mercado chino de Mini Games?&quot;"></a></h3>
<p>Alrededor de 7.650 millones de dólares en 2025, un 34 % más que el año anterior, con previsiones cercanas a los 20.000 millones de dólares para 2030. WeChat y Douyin representan conjuntamente más del 90 % del mercado.</p>
<BuildCta
  title="Valida el juego antes de pagar por todo el proceso"
  desc="Crea una versión para navegador en minutos y prueba el gancho antes de comprometerte con un lanzamiento en China."
  prompt="Crea un puzle de combinación satisfactorio con efectos impactantes al fusionar piezas" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/wechat-mini-game-engines.html">Motores de juegos para WeChat Mini Games</a> — elige el motor antes de publicar</li>
<li><a href="/es/guides/china-mini-game-platforms.html">Comparativa de plataformas chinas de minijuegos y HTML5</a> — más allá de las dos grandes</li>
<li><a href="/es/guides/localize-web-game-china.html">Cómo localizar un juego web para China</a> — fuentes, alojamiento, pagos y el Gran Cortafuegos</li>
<li><a href="/es/guides/publish-web-game.html">Los mejores lugares para publicar un juego web</a> — el panorama de distribución occidental</li>
<li><a href="/es/guides/promote-indie-game-no-budget.html">Cómo promocionar un juego indie sin presupuesto</a> — crea la audiencia necesaria para que el lanzamiento tenga impacto</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/publish-wechat-douyin-mini-games-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Motores de juego para minijuegos de WeChat (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/wechat-mini-game-engines</link>
            <guid>https://app.cinevva.com/es/guides/wechat-mini-game-engines</guid>
            <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Qué motor usar para crear minijuegos de WeChat en 2026. Comparativa de Cocos Creator, LayaAir, Egret, la conversión WebGL de Unity y el motor Tuanjie de Unity China en cuanto al límite de paquete de 4 MB, el complemento de motor integrado y la adaptación de un juego web existente.]]></description>
            <content:encoded><![CDATA[<h1 id="motores-de-juego-para-minijuegos-de-wechat-2026" tabindex="-1">Motores de juego para minijuegos de WeChat (2026) <a class="header-anchor" href="#motores-de-juego-para-minijuegos-de-wechat-2026" aria-label="Permalink to &quot;Motores de juego para minijuegos de WeChat (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/wechat-mini-game-engines-hero.jpg?v=1" alt="Motores de juego para minijuegos de WeChat en 2026" style="width:100%;border-radius:10px">
</figure>
<p>Los minijuegos de WeChat (微信小游戏) son la mayor plataforma de juegos en la que la mayoría de los desarrolladores occidentales nunca han publicado. Más de 500 millones de personas juegan en ella cada mes, dentro de la misma aplicación que usan para enviar mensajes a sus amigos y pagar el almuerzo. No hay instalación, tienda de aplicaciones ni pantalla de descarga. El jugador toca un enlace y el juego se ejecuta.</p>
<p>El inconveniente es que un minijuego no es un juego web normal. Se ejecuta en un entorno aislado de JavaScript sin DOM ni HTML, sobre un lienzo personalizado que proporciona la plataforma, y el paquete inicial no puede superar los 4 MB. El motor que elijas determinará cuánto tendrás que lidiar por tu cuenta con estas limitaciones. Esta guía compara las opciones reales en 2026.</p>
<p>Si primero estás eligiendo un motor para navegador en general, nuestra <a href="/es/guides/web-game-engines-comparison.html">comparativa de motores de juegos web</a> abarca un campo más amplio. Esta página trata únicamente sobre los motores que permiten publicar en WeChat.</p>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Motor</th>
<th>¿Complemento integrado de WeChat?</th>
<th>2D/3D</th>
<th>Lenguaje</th>
<th>Gestión del tamaño del paquete</th>
<th>Ideal para</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Cocos Creator</strong></td>
<td>Sí, integrado en el cliente de WeChat</td>
<td>2D + 3D</td>
<td>TypeScript</td>
<td>La mejor: el motor no cuenta para tus 4 MB y admite subpaquetes con AssetBundle</td>
<td>Proyectos centrados en WeChat sin código existente (la opción predeterminada)</td>
</tr>
<tr>
<td><strong>LayaAir</strong></td>
<td>No</td>
<td>2D + 3D</td>
<td>TypeScript</td>
<td>El motor consume parte del límite; adecuado para 2D ligero, ajustado para 3D</td>
<td>Equipos que prefieren el flujo de trabajo de Laya</td>
</tr>
<tr>
<td><strong>Egret</strong></td>
<td>No</td>
<td>2D</td>
<td>—</td>
<td>Opción heredada, con un ecosistema cada vez menor</td>
<td>Solo para mantener un juego existente en Egret</td>
</tr>
<tr>
<td><strong>Unity (conversión WebGL)</strong></td>
<td>No, utiliza el SDK de conversión</td>
<td>2D + 3D</td>
<td>C#</td>
<td>Muy complicado: las compilaciones WebGL son grandes, así que necesitarás mucha eliminación de código y división en subpaquetes</td>
<td>Adaptar rápidamente un juego existente de Unity</td>
</tr>
<tr>
<td><strong>Tuanjie (Unity China)</strong></td>
<td>No, WeChat es un destino de exportación nativo</td>
<td>2D + 3D</td>
<td>C#</td>
<td>Destino nativo que evita el aumento de tamaño de la conversión WebGL</td>
<td>Estudios comprometidos con China que tienen experiencia en Unity</td>
</tr>
<tr>
<td><strong>Three.js / WebGL puro</strong></td>
<td>No, mediante <code>weapp-adapter</code></td>
<td>2D + 3D</td>
<td>JavaScript</td>
<td>Debes gestionar tú mismo los subpaquetes; adecuado para juegos pequeños donde el tamaño es crucial</td>
<td>Juegos personalizados pequeños o equipos que ya trabajan con Three.js</td>
</tr>
</tbody>
</table>
<h2 id="que-hace-diferente-a-un-minijuego-de-wechat" tabindex="-1">Qué hace diferente a un minijuego de WeChat <a class="header-anchor" href="#que-hace-diferente-a-un-minijuego-de-wechat" aria-label="Permalink to &quot;Qué hace diferente a un minijuego de WeChat&quot;"></a></h2>
<p>Antes de que la elección del motor tenga sentido, hay tres limitaciones importantes.</p>
<p>No hay DOM. El entorno de ejecución de los minijuegos es un entorno JavaScript básico con un <code>canvas</code> y un contexto WebGL —y, cada vez más, WebGPU—, además de las API propias de WeChat para almacenamiento, audio, redes y funciones sociales. Todo lo que presuponga la existencia de <code>document</code>, <code>window</code> o un elemento HTML debe pasar por un adaptador que simule esos objetos. Todos los motores que aparecen a continuación incluyen ese adaptador.</p>
<p>La regla de los 4 MB lo condiciona todo. El paquete inicial, es decir, el código y los recursos que se cargan antes del primer fotograma, debe ocupar como máximo 4 MB. Todo lo demás debe dividirse en subpaquetes (分包) que se descargan bajo demanda y cuyo tamaño total permitido es mucho mayor. Lograr que el paquete pese menos de 4 MB es el problema técnico más difícil de la plataforma, y es el aspecto principal en el que un motor puede ayudarte o perjudicarte.</p>
<p>La monetización requiere una licencia. Un minijuego que acepte pagos dentro de la aplicación necesita una licencia de videojuegos china, y un estudio extranjero necesita un editor local para conseguirla. Es un problema de distribución, no del motor, y lo explicamos en la <a href="/es/guides/publish-wechat-douyin-mini-games.html">guía para publicar en los minijuegos de WeChat y Douyin</a>.</p>
<h2 id="cocos-creator-la-opcion-predeterminada" tabindex="-1">Cocos Creator: la opción predeterminada <a class="header-anchor" href="#cocos-creator-la-opcion-predeterminada" aria-label="Permalink to &quot;Cocos Creator: la opción predeterminada&quot;"></a></h2>
<p>Cocos Creator es el motor con el que se crean la mayoría de los minijuegos de WeChat, y la propia plataforma está diseñada para favorecerlo. Desde la versión 7.0.7 del cliente de WeChat, el entorno de ejecución de Cocos está integrado como complemento en la propia aplicación. Si un jugador ya ha ejecutado antes cualquier minijuego de Cocos, el código del motor ya está en su teléfono y no cuenta para el límite de 4 MB. Es una ventaja estructural que ningún otro motor ofrece: tu paquete contiene solo tu juego, no tu juego más el motor.</p>
<p>Cocos también incluye el sistema AssetBundle, que es la forma más sencilla de gestionar los subpaquetes. Marcas los paquetes de recursos que deben cargarse bajo demanda, y la diferencia entre un proyecto que cabe en 4 MB y uno que no suele consistir simplemente en mover los paquetes adecuados fuera del paquete principal. Admite 2D y 3D, utiliza TypeScript y su panel de compilación trata a WeChat como una plataforma de primer nivel.</p>
<p>Si no tienes una base de código existente y estás desarrollando primero para WeChat, Cocos Creator es la opción segura. Empieza aquí a menos que tengas un motivo concreto para no hacerlo.</p>
<h2 id="layaair-la-alternativa-solida" tabindex="-1">LayaAir: la alternativa sólida <a class="header-anchor" href="#layaair-la-alternativa-solida" aria-label="Permalink to &quot;LayaAir: la alternativa sólida&quot;"></a></h2>
<p>LayaAir (de Laya) es el otro motor que se adaptó pronto a WeChat y lo trata como un destino de primer nivel. Seleccionas «Minijuego de WeChat» en el panel de compilación y publicas. Admite 2D y 3D, utiliza TypeScript y cuenta con una base fiel de desarrolladores que prefieren su flujo de trabajo al de Cocos. Quienes han utilizado ambos suelen describir la elección como una cuestión de preferencias más que de capacidades.</p>
<p>Hay un aspecto que debes valorar: el entorno de ejecución de LayaAir no está integrado en el cliente de WeChat como el de Cocos, por lo que el propio motor consume una parte mayor del límite del paquete. Para un juego 2D pequeño, esto suele ser aceptable. Para un juego 3D con muchos recursos, donde cada kilobyte de los 4 MB importa, el complemento integrado de Cocos puede ser el factor decisivo.</p>
<h2 id="egret-una-opcion-heredada-que-exige-cautela" tabindex="-1">Egret: una opción heredada que exige cautela <a class="header-anchor" href="#egret-una-opcion-heredada-que-exige-cautela" aria-label="Permalink to &quot;Egret: una opción heredada que exige cautela&quot;"></a></h2>
<p>Egret (白鹭) es un motor 2D de HTML5 más antiguo que ofreció pronto compatibilidad con los minijuegos de WeChat e impulsó muchos de los títulos de la primera oleada. Sigue funcionando, pero el impulso se ha trasladado a Cocos y Laya, la actividad de la comunidad ha disminuido y comenzar un proyecto nuevo con él en 2026 implica apostar por un ecosistema cada vez menor. Si mantienes un juego existente de Egret, puede servirte. Si empiezas desde cero, elige Cocos o Laya.</p>
<h2 id="unity-la-via-de-conversion-webgl" tabindex="-1">Unity: la vía de conversión WebGL <a class="header-anchor" href="#unity-la-via-de-conversion-webgl" aria-label="Permalink to &quot;Unity: la vía de conversión WebGL&quot;"></a></h2>
<p>Unity no dispone de exportación nativa a WeChat, pero Tencent y Unity mantienen una herramienta oficial que convierte una compilación WebGL de Unity en un paquete de minijuego: el SDK de conversión para minijuegos de WeChat, distribuido en ocasiones como WeChat MiniGame Exporter. Desde una actualización de mediados de 2025 permite exportar con un solo clic, y el <code>minigame-adaptor</code> complementario afirma ofrecer un rendimiento de renderizado aproximadamente tres veces superior al de WebGL convencional gracias a la ruta de renderizado optimizada de WeChat.</p>
<p>Esta es la vía adecuada si ya tienes un juego de Unity y quieres llevarlo a WeChat sin reescribirlo. Sé realista con las contrapartidas. Las compilaciones WebGL de Unity son grandes, y el límite inicial de 4 MB es especialmente duro para un motor que no se diseñó en torno a él. Tendrás que dedicar un esfuerzo considerable a eliminar código, dividirlo y trasladar recursos a subpaquetes. Es una herramienta para adaptar un juego existente, no para desarrollar desde el principio pensando en WeChat.</p>
<h2 id="tuanjie-la-respuesta-nativa-de-unity-china" tabindex="-1">Tuanjie: la respuesta nativa de Unity China <a class="header-anchor" href="#tuanjie-la-respuesta-nativa-de-unity-china" aria-label="Permalink to &quot;Tuanjie: la respuesta nativa de Unity China&quot;"></a></h2>
<p>Si te gusta el flujo de trabajo de Unity, pero quieres que WeChat sea un verdadero destino de compilación en lugar de una conversión WebGL, considera Tuanjie (团结引擎), el motor localizado de Unity China. Se basa en Unity 2022 LTS y trata los minijuegos de WeChat como una plataforma nativa junto con iOS y Android, además de destinos nacionales como OpenHarmony y AliOS. Las versiones recientes añadieron un sistema completo de iluminación global en tiempo real (TuanjieGI), y el motor ya ha superado las 500 000 descargas.</p>
<p>Para un estudio comprometido con el mercado chino y acostumbrado a Unity, Tuanjie es la opción con más futuro dentro de la familia Unity, porque la compatibilidad con WeChat no es un añadido posterior mediante WebGL. Es un destino de exportación de primer nivel.</p>
<h2 id="three-js-y-webgl-puro" tabindex="-1">Three.js y WebGL puro <a class="header-anchor" href="#three-js-y-webgl-puro" aria-label="Permalink to &quot;Three.js y WebGL puro&quot;"></a></h2>
<p>Puedes ejecutar Three.js o WebGL escrito a mano dentro de un minijuego mediante el <code>weapp-adapter</code> de WeChat, que simula los objetos del DOM y del lienzo que espera la biblioteca. Es la opción más flexible y la que exige más trabajo: tú te encargas del bucle de renderizado, la canalización de recursos, los subpaquetes y todos los casos límite del adaptador. Tiene sentido para un juego pequeño, personalizado y sensible al tamaño, donde un motor completo sería excesivo, o cuando tu equipo ya trabaja habitualmente con Three.js y quiere reutilizar su código.</p>
<p>También es la vía más cercana a un juego para navegador que ya hayas creado. Un juego de Three.js que funciona en la web abierta es estructuralmente parecido a uno que se ejecuta en WeChat. La diferencia está en el adaptador y el límite de 4 MB, no en el renderizado.</p>
<h2 id="eleccion-rapida" tabindex="-1">Elección rápida <a class="header-anchor" href="#eleccion-rapida" aria-label="Permalink to &quot;Elección rápida&quot;"></a></h2>
<p>Si desarrollas primero para WeChat y no tienes código existente: Cocos Creator. El complemento integrado del motor y el sistema AssetBundle hacen posible ganar la batalla de los 4 MB.</p>
<p>Si vas a adaptar un juego existente de Unity: usa el SDK de conversión WebGL de WeChat para hacerlo rápidamente, o Tuanjie si tienes un compromiso a largo plazo con China y quieres un destino nativo.</p>
<p>Para un proyecto pequeño, personalizado o que ya utiliza Three.js: el <code>weapp-adapter</code> y WebGL puro, asumiendo que tendrás que encargarte tú mismo de toda la infraestructura.</p>
<p>Si prefieres el flujo de trabajo de Laya: LayaAir, prestando atención al tamaño del paquete en proyectos 3D.</p>
<h2 id="donde-encaja-cinevva" tabindex="-1">Dónde encaja Cinevva <a class="header-anchor" href="#donde-encaja-cinevva" aria-label="Permalink to &quot;Dónde encaja Cinevva&quot;"></a></h2>
<p>Cinevva crea juegos 3D centrados en la web con Three.js que se ejecutan desde un enlace en cualquier navegador, justo el formato que busca un minijuego de WeChat: sin instalación, con inicio instantáneo y JavaScript y WebGL como base. El Gran Cortafuegos y el sistema de licencias son obstáculos reales, y reconocemos abiertamente que publicar en WeChat exige un editor local y disciplina para respetar los 4 MB. Pero el juego en sí —una experiencia 3D nativa del navegador y sin descargas— ya es precisamente aquello en torno a lo cual se ha construido la mayor plataforma de juegos de China. Si estás creando un prototipo que algún día podrías querer mostrar a 500 millones de jugadores de minijuegos, empezar en el navegador es la opción que menos trabajo desperdicia.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-limite-de-tamano-de-archivo-para-un-minijuego-de-wechat" tabindex="-1">¿Cuál es el límite de tamaño de archivo para un minijuego de WeChat? <a class="header-anchor" href="#¿cual-es-el-limite-de-tamano-de-archivo-para-un-minijuego-de-wechat" aria-label="Permalink to &quot;¿Cuál es el límite de tamaño de archivo para un minijuego de WeChat?&quot;"></a></h3>
<p>El paquete inicial tiene un límite de 4 MB. Todo lo que exceda ese tamaño debe dividirse en subpaquetes (分包) que se cargan bajo demanda y que, en conjunto, pueden alcanzar un tamaño total mucho mayor. Hacer que la experiencia de carga inicial quepa en 4 MB es el principal problema de optimización de la plataforma.</p>
<h3 id="¿puedo-usar-unity-para-crear-minijuegos-de-wechat" tabindex="-1">¿Puedo usar Unity para crear minijuegos de WeChat? <a class="header-anchor" href="#¿puedo-usar-unity-para-crear-minijuegos-de-wechat" aria-label="Permalink to &quot;¿Puedo usar Unity para crear minijuegos de WeChat?&quot;"></a></h3>
<p>Sí, pero no de forma nativa. Tencent y Unity proporcionan un SDK de conversión oficial que transforma una compilación WebGL de Unity en un minijuego y que, desde mediados de 2025, permite exportar con un solo clic. Como alternativa, el motor Tuanjie de Unity China admite WeChat como destino de compilación nativo. En ambos casos, tendrás que dedicar esfuerzo a reducir el tamaño de la compilación.</p>
<h3 id="¿que-motor-utilizan-la-mayoria-de-los-minijuegos-de-wechat" tabindex="-1">¿Qué motor utilizan la mayoría de los minijuegos de WeChat? <a class="header-anchor" href="#¿que-motor-utilizan-la-mayoria-de-los-minijuegos-de-wechat" aria-label="Permalink to &quot;¿Qué motor utilizan la mayoría de los minijuegos de WeChat?&quot;"></a></h3>
<p>Cocos Creator es la opción más habitual, favorecida por el hecho de que su entorno de ejecución está integrado en el cliente de WeChat, por lo que no consume parte del límite de 4 MB del paquete. LayaAir es la principal alternativa.</p>
<h3 id="¿los-minijuegos-de-wechat-admiten-3d" tabindex="-1">¿Los minijuegos de WeChat admiten 3D? <a class="header-anchor" href="#¿los-minijuegos-de-wechat-admiten-3d" aria-label="Permalink to &quot;¿Los minijuegos de WeChat admiten 3D?&quot;"></a></h3>
<p>Sí. Cocos Creator, LayaAir, Unity —mediante el SDK de conversión— y Tuanjie admiten 3D, y el entorno de ejecución de WeChat ofrece WebGL y, cada vez más, WebGPU. La limitación está en el tamaño del paquete y el rendimiento en teléfonos de gama baja, no en la posibilidad de utilizar 3D.</p>
<h3 id="¿puedo-convertir-mi-juego-para-navegador-en-un-minijuego-de-wechat" tabindex="-1">¿Puedo convertir mi juego para navegador en un minijuego de WeChat? <a class="header-anchor" href="#¿puedo-convertir-mi-juego-para-navegador-en-un-minijuego-de-wechat" aria-label="Permalink to &quot;¿Puedo convertir mi juego para navegador en un minijuego de WeChat?&quot;"></a></h3>
<p>A menudo, sí. Un juego creado con Three.js o WebGL puede ejecutarse dentro de WeChat mediante <code>weapp-adapter</code>, que emula los objetos del navegador que espera el código. El trabajo consiste en adaptar esa capa y reducir el paquete inicial por debajo del límite de 4 MB, no en reescribir el juego.</p>
<BuildCta
  title="Empieza en el navegador y mantén abiertas tus opciones"
  desc="Crea primero el prototipo de un juego 3D nativo de la web. Tiene justo el formato que busca un minijuego, pero sin el entorno aislado."
  prompt="Crea un endless runner rápido de un solo toque por una ciudad de neón" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/publish-wechat-douyin-mini-games.html">Cómo publicar en los minijuegos de WeChat y Douyin</a> — licencias, revisión y reparto de ingresos</li>
<li><a href="/es/guides/china-mini-game-platforms.html">Comparativa de plataformas chinas de minijuegos y HTML5</a> — WeChat, Douyin, QQ, 4399 y las demás</li>
<li><a href="/es/guides/localize-web-game-china.html">Cómo localizar un juego web para China</a> — fuentes, alojamiento, pagos y el Cortafuegos</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Los mejores motores de juegos web para 2026 (comparativa)</a> — todas las opciones</li>
<li><a href="/es/guides/threejs-vs-babylonjs.html">Three.js frente a Babylon.js</a> — si eliges la vía de WebGL puro</li>
<li><a href="/es/engine.html">Motor Cinevva</a> — nuestro motor de código abierto, centrado en la web y creado sobre Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/wechat-mini-game-engines-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Tendencias de los juegos casuales en 2026 (lo que realmente dicen los datos)]]></title>
            <link>https://app.cinevva.com/es/guides/casual-games-trends-2026</link>
            <guid>https://app.cinevva.com/es/guides/casual-games-trends-2026</guid>
            <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Un análisis de las tendencias de los juegos casuales en 2026 respaldado por datos, desde la caída de las descargas y el auge de los juegos híbridos casuales hasta dónde está el dinero, qué títulos están despuntando y qué está cambiando la IA.]]></description>
            <content:encoded><![CDATA[<h1 id="tendencias-de-los-juegos-casuales-en-2026-lo-que-realmente-dicen-los-datos" tabindex="-1">Tendencias de los juegos casuales en 2026 (lo que realmente dicen los datos) <a class="header-anchor" href="#tendencias-de-los-juegos-casuales-en-2026-lo-que-realmente-dicen-los-datos" aria-label="Permalink to &quot;Tendencias de los juegos casuales en 2026 (lo que realmente dicen los datos)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>La historia de los juegos casuales en 2026 no es que «el auge continúa», sino que «el auge ha madurado». Los jugadores siguen abriendo estos juegos con más frecuencia, pero instalan menos títulos nuevos, y el dinero se está desplazando de formas que premian a un tipo de juego distinto del que triunfaba hace tres años. Analizamos las cifras de todo 2025 de <a href="https://sensortower.com/state-of-gaming-2025" target="_blank" rel="noreferrer">Sensor Tower</a>, AppMagic (a través de <a href="https://investgame.net/wp-content/uploads/2025/07/Gamesforum-Intelligence-Casual-Gaming-Report.pdf" target="_blank" rel="noreferrer">Gamesforum Intelligence</a> y <a href="https://www.gamerefinery.com/mobile-game-market-review-december-2025/" target="_blank" rel="noreferrer">GameRefinery</a>), así como los análisis de <a href="https://www.deconstructoroffun.com/blog/2026/2/2/state-of-mobile-2026" target="_blank" rel="noreferrer">Deconstructor of Fun</a> y <a href="https://www.pocketgamer.biz/what-happened-to-hypercasual-the-markets-evolution-over-the-past-year/" target="_blank" rel="noreferrer">PocketGamer.biz</a> para separar los cambios reales del ruido. Esto es lo que está ocurriendo en realidad.</p>
<p>La versión breve: el mercado de los juegos casuales maduró en 2025. Los ingresos por compras dentro de la aplicación aumentaron apenas un 1,3 %, hasta unos 81.750 millones de dólares, mientras que las descargas cayeron un 7,2 %, hasta los 50.400 millones. Por tanto, el crecimiento ahora procede de que los jugadores gastan más, no de nuevas instalaciones. Los juegos híbridos casuales fueron el único segmento que aumentó sus ingresos por compras dentro de la aplicación: crecieron un 20 %, hasta los 4.200 millones de dólares, con los puzles híbridos casuales como categoría destacada. La monetización se extendió por un amplio espectro, desde juegos de gran volumen financiados solo con publicidad hasta títulos sin anuncios que ingresan más de 500 millones de dólares, y la IA generativa pasó de ser un experimento a convertirse en una herramienta habitual en los estudios.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 210" role="img" aria-label="El balance de los juegos móviles en 2025: 81.800 millones de dólares de ingresos por compras dentro de la aplicación, un 1,3 % más; 50.400 millones de descargas, un 7,2 % menos; 4.200 millones de dólares de ingresos híbridos casuales, un 20 % más; y 22.050 millones de instalaciones de juegos hipercasuales" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="210" rx="14" fill="#0b1020"/>
  <text x="24" y="40" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">El balance de 2025</text>
  <text x="24" y="62" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Datos anuales de juegos móviles. Fuente: Sensor Tower.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <g transform="translate(24,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#c8a8ff">$81.8B</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Compras en juegos</text>
      <rect x="16" y="82" width="62" height="20" rx="10" fill="#fbbf2422"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#fbbf24">+1.3%</text>
    </g>
    <g transform="translate(196,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#7dd3fc">50.4B</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Descargas de apps</text>
      <rect x="16" y="82" width="62" height="20" rx="10" fill="#fb718522"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#fb7185">&#8722;7.2%</text>
    </g>
    <g transform="translate(368,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#f0abfc">$4.2B</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Compras híbridas</text>
      <rect x="16" y="82" width="56" height="20" rx="10" fill="#6ee7b722"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#6ee7b7">+20%</text>
    </g>
    <g transform="translate(540,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#e8edf5">22.05B</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Instalaciones hiper.</text>
      <rect x="16" y="82" width="92" height="20" rx="10" fill="#ffffff14"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#9aa7b4">N.º 1 en volumen</text>
    </g>
  </g>
</svg>
<h2 id="el-mercado-dejo-de-crecer-mediante-instalaciones" tabindex="-1">El mercado dejó de crecer mediante instalaciones <a class="header-anchor" href="#el-mercado-dejo-de-crecer-mediante-instalaciones" aria-label="Permalink to &quot;El mercado dejó de crecer mediante instalaciones&quot;"></a></h2>
<p>Los juegos móviles generaron unos 81.750 millones de dólares en compras dentro de la aplicación en 2025, pero esto supuso un aumento de solo el 1,3 % respecto a 2024, según las <a href="https://www.deconstructoroffun.com/blog/2026/2/2/state-of-mobile-2026" target="_blank" rel="noreferrer">cifras de todo 2025</a>. Las descargas tomaron la dirección contraria y cayeron un 7,2 %, hasta los 50.400 millones, el segundo año consecutivo de descenso. Como referencia, el gasto en compras dentro de todas las aplicaciones de las tiendas creció un saludable 10,6 %, hasta los 167.000 millones de dólares. Por tanto, son específicamente los juegos los que se han estancado, no el comercio móvil en general.</p>
<p>Esa brecha lo explica todo. La interacción sigue aumentando —el año anterior, las sesiones crecieron un 12 % y el tiempo de uso un 7,9 %—, pero las nuevas instalaciones disminuyen. El crecimiento ahora procede de obtener más ingresos de los jugadores que ya tienes, no de captar otros nuevos. La era de la adquisición barata de usuarios ha terminado.</p>
<p>Las primeras cifras de 2026 indican que esta tendencia se está acelerando, no revirtiendo. Los <a href="https://gamedevreports.substack.com/p/sensor-tower-mobile-market-in-q1" target="_blank" rel="noreferrer">datos del primer trimestre de 2026 de Sensor Tower</a> sitúan el gasto en juegos móviles en 20.400 millones de dólares, apenas un 0,5 % más interanual, mientras que las descargas cayeron un 11,9 %, un descenso más pronunciado que el registrado durante todo 2025. El punto fuerte son los puzles, cuyos ingresos aumentaron un 21 % interanual.</p>
<p>La misma divergencia se observa dentro de la propia categoría casual. Entre los 1.000 juegos casuales principales, los ingresos por compras dentro de la aplicación pasaron de 17.470 millones de dólares en 2022 a 21.990 millones en 2024, con una previsión de 22.990 millones para 2025, mientras que las descargas se mantuvieron prácticamente estables en torno a los 16.000 millones, según el <a href="https://investgame.net/wp-content/uploads/2025/07/Gamesforum-Intelligence-Casual-Gaming-Report.pdf" target="_blank" rel="noreferrer">informe sobre juegos casuales de Gamesforum Intelligence</a>, basado en datos de AppMagic. Más ingresos y el mismo número de descargas. Los jugadores simplemente gastan más por instalación.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 360" role="img" aria-label="Los ingresos de los juegos casuales siguen aumentando mientras las descargas se mantienen estables entre 2022 y 2025" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <defs>
    <linearGradient id="revfill" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0" stop-color="#c8a8ff" stop-opacity="0.34"/>
      <stop offset="1" stop-color="#c8a8ff" stop-opacity="0"/>
    </linearGradient>
  </defs>
  <rect width="720" height="360" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Los ingresos casuales suben. Las instalaciones no.</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">1.000 juegos casuales principales: ingresos por compras ($B) frente a descargas (B). Previsión de 2025. Fuente: AppMagic / Gamesforum.</text>
  <g stroke="#ffffff" stroke-opacity="0.07"><path d="M70 130 H680 M70 190 H680 M70 250 H680"/></g>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="12" fill="#9aa7b4">
    <line x1="70" y1="300" x2="680" y2="300" stroke="#ffffff" stroke-opacity="0.14"/>
    <text x="110" y="324" text-anchor="middle">2022</text>
    <text x="300" y="324" text-anchor="middle">2023</text>
    <text x="490" y="324" text-anchor="middle">2024</text>
    <text x="650" y="324" text-anchor="middle">2025p</text>
  </g>
  <path d="M110 208 L300 168 L490 130 L650 120 L650 300 L110 300 Z" fill="url(#revfill)"/>
  <polyline points="110,208 300,168 490,130 650,120" fill="none" stroke="#c8a8ff" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
  <polyline points="110,244 300,242 490,238 650,232" fill="none" stroke="#7dd3fc" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-weight="700" font-size="12">
    <circle cx="650" cy="120" r="5" fill="#c8a8ff"/>
    <text x="638" y="108" text-anchor="end" fill="#c8a8ff">Ingresos: $23.0B</text>
    <circle cx="650" cy="232" r="5" fill="#7dd3fc"/>
    <text x="638" y="258" text-anchor="end" fill="#7dd3fc">Descargas: 16.4B</text>
  </g>
  <g transform="translate(118,128)">
    <rect width="186" height="26" rx="13" fill="#c8a8ff1f"/>
    <text x="16" y="18" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" font-weight="700" fill="#c8a8ff">+32% de ingresos desde 2022</text>
  </g>
</svg>
<h2 id="el-modelo-exclusivamente-publicitario-de-los-juegos-hipercasuales-dejo-de-funcionar-y-no-pasa-nada" tabindex="-1">El modelo exclusivamente publicitario de los juegos hipercasuales dejó de funcionar, y no pasa nada <a class="header-anchor" href="#el-modelo-exclusivamente-publicitario-de-los-juegos-hipercasuales-dejo-de-funcionar-y-no-pasa-nada" aria-label="Permalink to &quot;El modelo exclusivamente publicitario de los juegos hipercasuales dejó de funcionar, y no pasa nada&quot;"></a></h2>
<p>El titular que verás a menudo es que «los juegos hipercasuales están muriendo». Es una verdad a medias. Lo que dejó de funcionar fue el modelo económico, no los juegos. Durante años, los juegos hipercasuales se apoyaron en un único truco: comprar instalaciones baratas, mostrar anuncios y quedarse con el margen. Cuando los costes de adquisición superaron lo que la publicidad podía recuperar, ese modelo exclusivamente publicitario dejó de ser viable.</p>
<p>A los juegos en sí les va bien. Los hipercasuales siguieron dominando las descargas en 2025, con 22.050 millones de instalaciones, y continuaron aumentando el tiempo de uso, según <a href="https://gameworldobserver.com/2026/01/21/in-2025-the-revenue-of-the-mobile-gaming-market-grew-but-only-slightly-analysis" target="_blank" rel="noreferrer">Game World Observer</a>. <a href="https://www.pocketgamer.biz/what-happened-to-hypercasual-the-markets-evolution-over-the-past-year/" target="_blank" rel="noreferrer">PocketGamer.biz informa</a> de que los títulos principales generaron aproximadamente tres veces más al mes que el año anterior, aunque esa cifra parte de una base baja y refleja en parte juegos híbridos casuales que fueron reclasificados. La conclusión es sencilla: el formato sobrevive añadiendo compras dentro de la aplicación a la publicidad, en lugar de depender exclusivamente de los anuncios.</p>
<h2 id="los-juegos-hibridos-casuales-son-los-verdaderos-ganadores" tabindex="-1">Los juegos híbridos casuales son los verdaderos ganadores <a class="header-anchor" href="#los-juegos-hibridos-casuales-son-los-verdaderos-ganadores" aria-label="Permalink to &quot;Los juegos híbridos casuales son los verdaderos ganadores&quot;"></a></h2>
<p>Si hay una tendencia que define 2026, es la de los juegos híbridos casuales. Fue el único segmento casual que aumentó los ingresos por compras dentro de la aplicación el año pasado: crecieron un 20 %, hasta los 4.200 millones de dólares, y los 10 títulos principales registraron un crecimiento interanual de las compras dentro de la aplicación de entre el 67 % y el 100 %, según el análisis de <a href="https://gameworldobserver.com/2026/01/21/in-2025-the-revenue-of-the-mobile-gaming-market-grew-but-only-slightly-analysis" target="_blank" rel="noreferrer">Game World Observer</a>. Los servicios de seguimiento delimitan el segmento de formas distintas: Game World Observer calcula un 20 % y Sensor Tower, un 37 %, pero todos coinciden en que fue el único segmento casual que creció. Los juegos híbridos casuales toman los bucles breves y aptos para publicidad de los hipercasuales y les añaden la metaprogresión y la profundidad de gasto de un verdadero juego casual. Conservan la facilidad para conseguir instalaciones y añaden un motivo para pagar.</p>
<p>El crecimiento se concentra en los puzles híbridos casuales. El <a href="https://www.gamerefinery.com/mobile-game-market-review-december-2025/" target="_blank" rel="noreferrer">análisis de diciembre de 2025 de GameRefinery</a> califica de «intensamente saturados» subgéneros consolidados como los Match-3, mientras que un grupo de títulos de puzles más recientes escaló hasta las listas de mayor recaudación: Color Block Jam, Pixel Flow, Screwdom, Magic Sort y All in Hole. Solo Color Block Jam generó unos 42 millones de dólares de ingresos con 21,8 millones de instalaciones en un único trimestre. La historia siguió evolucionando durante la primera mitad de 2026: Pixel Flow pasó de recién llegado a líder de la categoría, con unos 94 millones de dólares en ingresos acumulados por compras dentro de la aplicación; Jigsolitaire y Color Block: Combo Blast son los títulos que están creciendo ahora; y Gossip Harbor y Tasty Travels impulsaron buena parte del crecimiento de los ingresos de los puzles durante el primer trimestre. Si estás decidiendo qué tipo de juego casual crear en 2026, un «clon saturado de Match-3» y un «puzle híbrido casual novedoso» son apuestas muy diferentes.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 300" role="img" aria-label="Éxitos casuales destacados de 2025: Royal Match y Monopoly Go, líderes en ingresos; el puzle híbrido-casual revelación Color Block Jam, Screwdom y Pixel Flow" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="300" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Los juegos revelación de 2025</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Los periodos de ingresos varían. Fuente: AppMagic.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <text x="32" y="100" font-size="12" font-weight="800" letter-spacing="1" fill="#c8a8ff">MÁS INGRESOS · SIN ANUNCIOS</text>
    <g transform="translate(32,112)">
      <rect width="316" height="46" rx="10" fill="#121a31"/>
      <text x="16" y="29" font-size="15" font-weight="700" fill="#e8edf5">Royal Match</text>
      <text x="300" y="29" text-anchor="end" font-size="14" font-weight="800" fill="#c8a8ff">&gt;$500M</text>
    </g>
    <g transform="translate(32,166)">
      <rect width="316" height="46" rx="10" fill="#121a31"/>
      <text x="16" y="29" font-size="15" font-weight="700" fill="#e8edf5">Monopoly Go!</text>
      <text x="300" y="29" text-anchor="end" font-size="14" font-weight="800" fill="#c8a8ff">$431M</text>
    </g>
    <text x="372" y="100" font-size="12" font-weight="800" letter-spacing="1" fill="#7dd3fc">PUZLE HÍBRIDO-CASUAL REVELACIÓN</text>
    <g transform="translate(372,112)">
      <rect width="316" height="46" rx="10" fill="#121a31"/>
      <text x="16" y="22" font-size="15" font-weight="700" fill="#e8edf5">Color Block Jam</text>
      <text x="16" y="38" font-size="11" fill="#9aa7b4">21,8 M de instalaciones en un trimestre</text>
      <text x="300" y="30" text-anchor="end" font-size="14" font-weight="800" fill="#7dd3fc">$42M</text>
    </g>
    <g transform="translate(372,166)">
      <rect width="150" height="46" rx="10" fill="#121a31"/>
      <text x="16" y="22" font-size="14" font-weight="700" fill="#e8edf5">Screwdom</text>
      <text x="134" y="38" text-anchor="end" font-size="13" font-weight="800" fill="#7dd3fc">$27.1M</text>
    </g>
    <g transform="translate(538,166)">
      <rect width="150" height="46" rx="10" fill="#121a31"/>
      <text x="16" y="22" font-size="14" font-weight="700" fill="#e8edf5">Pixel Flow</text>
      <text x="134" y="38" text-anchor="end" font-size="11" fill="#9aa7b4">lo superó en dic.</text>
    </g>
  </g>
  <text x="32" y="248" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="12.5" fill="#9aa7b4">Magic Sort y All in Hole también llegaron al top 50 por ingresos, mientras Match3</text>
  <text x="32" y="268" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="12.5" fill="#9aa7b4">se mantuvo plano en un mercado extremadamente saturado.</text>
</svg>
<h2 id="la-monetizacion-es-ahora-un-espectro-no-un-modelo" tabindex="-1">La monetización es ahora un espectro, no un modelo <a class="header-anchor" href="#la-monetizacion-es-ahora-un-espectro-no-un-modelo" aria-label="Permalink to &quot;La monetización es ahora un espectro, no un modelo&quot;"></a></h2>
<p>Ya no existe un único «modelo de monetización casual». El mercado se ha dividido en un espectro claro, y la posición de cada juego depende de lo que sea. La conclusión común de las distintas firmas de análisis es que combinar compras dentro de la aplicación con anuncios se ha convertido en la estrategia intermedia optimizada, aunque los extremos siguen obteniendo grandes resultados.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 290" role="img" aria-label="El espectro de monetización casual, desde Block Blast, que solo usa anuncios, pasando por los modelos híbridos de Candy Crush y Coin Master, hasta Royal Match y Monopoly Go, sin anuncios" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <defs>
    <linearGradient id="spec" x1="0" y1="0" x2="1" y2="0">
      <stop offset="0" stop-color="#7dd3fc"/>
      <stop offset="0.5" stop-color="#a9b4ff"/>
      <stop offset="1" stop-color="#c8a8ff"/>
    </linearGradient>
  </defs>
  <rect width="720" height="290" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Un género, tres modelos de ingresos</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Dónde se sitúan los éxitos casuales. Fuente: AppMagic, Gamesforum.</text>
  <rect x="60" y="150" width="600" height="10" rx="5" fill="url(#spec)"/>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <g text-anchor="middle">
      <circle cx="150" cy="155" r="9" fill="#7dd3fc" stroke="#0b1020" stroke-width="3"/>
      <text x="150" y="120" font-size="14" font-weight="800" fill="#e8edf5">Block Blast!</text>
      <text x="150" y="138" font-size="11.5" fill="#9aa7b4">el más descargado</text>
      <text x="150" y="186" font-size="12" font-weight="700" fill="#7dd3fc">Solo anuncios</text>
      <text x="150" y="204" font-size="11.5" fill="#9aa7b4">monetiza por volumen</text>
    </g>
    <g text-anchor="middle">
      <circle cx="360" cy="155" r="9" fill="#a9b4ff" stroke="#0b1020" stroke-width="3"/>
      <text x="360" y="120" font-size="14" font-weight="800" fill="#e8edf5">Candy Crush · Coin Master</text>
      <text x="360" y="138" font-size="11.5" fill="#9aa7b4">el nuevo estándar</text>
      <text x="360" y="186" font-size="12" font-weight="700" fill="#a9b4ff">Híbrido (IAP + anuncios)</text>
      <text x="360" y="204" font-size="11.5" fill="#9aa7b4">vídeo con recompensa y compras</text>
    </g>
    <g text-anchor="middle">
      <circle cx="570" cy="155" r="9" fill="#c8a8ff" stroke="#0b1020" stroke-width="3"/>
      <text x="570" y="120" font-size="14" font-weight="800" fill="#e8edf5">Royal Match · Monopoly Go!</text>
      <text x="570" y="138" font-size="11.5" fill="#9aa7b4">&gt;$500M · $431M</text>
      <text x="570" y="186" font-size="12" font-weight="700" fill="#c8a8ff">Sin anuncios, solo IAP</text>
      <text x="570" y="204" font-size="11.5" fill="#9aa7b4">lo sostienen quienes pagan</text>
    </g>
  </g>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="12" fill="#5b6472" font-weight="600">
    <text x="60" y="252">◄ Alcance y volumen</text>
    <text x="660" y="252" text-anchor="end">Profundidad y pagadores ►</text>
  </g>
</svg>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Quién lo utiliza</th>
<th>Ejemplos</th>
<th>Qué indica</th>
</tr>
</thead>
<tbody>
<tr>
<td>Sin anuncios, solo IAP</td>
<td>Los juegos con más ingresos</td>
<td>Royal Match (más de $500 M entre enero y abril de 2025), Monopoly Go! ($431 M)</td>
<td>Los metajuegos profundos no necesitan anuncios; los jugadores que pagan los sostienen</td>
</tr>
<tr>
<td>Híbrido (IAP + anuncios)</td>
<td>Los juegos de nivel intermedio y la mayoría de los nuevos éxitos</td>
<td>Candy Crush, Coin Master, Township</td>
<td>El nuevo estándar: vídeo con recompensa y compras</td>
</tr>
<tr>
<td>Solo anuncios</td>
<td>Los títulos más descargados</td>
<td>Block Blast!</td>
<td>Alcance enorme, monetizado casi por completo mediante el volumen</td>
</tr>
</tbody>
</table>
<p>La lección no es «elige uno». El modelo debe adaptarse al juego. Un puzle puro con un alcance enorme puede vivir de los anuncios. Un juego con coleccionismo, progresión y mecánicas sociales pierde ingresos si muestra anuncios a quienes gastan dinero. Casi todo lo que queda entre ambos extremos funciona mejor combinándolos. Estas cifras proceden del <a href="https://investgame.net/wp-content/uploads/2025/07/Gamesforum-Intelligence-Casual-Gaming-Report.pdf" target="_blank" rel="noreferrer">informe de Gamesforum Intelligence sobre juegos casuales</a> (datos de AppMagic).</p>
<h2 id="¿que-ingresos-publicitarios-puede-esperar-un-juego-casual-en-2026" tabindex="-1">¿Qué ingresos publicitarios puede esperar un juego casual en 2026? <a class="header-anchor" href="#¿que-ingresos-publicitarios-puede-esperar-un-juego-casual-en-2026" aria-label="Permalink to &quot;¿Qué ingresos publicitarios puede esperar un juego casual en 2026?&quot;"></a></h2>
<p>El lado publicitario de ese espectro es mayor de lo que mucha gente supone. La publicidad en juegos móviles superó los <a href="https://gameworldobserver.com/2026/07/06/in-2025-mobile-game-advertising-revenue-exceeded-12-billion-analytics" target="_blank" rel="noreferrer">$12.000 millones en 2025</a>, según el análisis detallado de Sensor Tower sobre monetización publicitaria, y los puzles concentraron por sí solos el 53 % de los ingresos publicitarios del género a principios de 2026. La proporción de tus ingresos que debería proceder de los anuncios depende en gran medida de dónde estén tus jugadores. Los anuncios representaron cerca del 22 % de los ingresos de los juegos móviles en Estados Unidos entre enero y mayo de 2026, pero el 70 % en India. Por tanto, una audiencia de nivel 1 genera ingresos mediante compras y una audiencia global de gran volumen lo hace mediante impresiones.</p>
<p>En cuanto a las tarifas, los <a href="https://business.mistplay.com/resources/mobile-ads-ecpm/" target="_blank" rel="noreferrer">valores de referencia de eCPM de Appodeal</a> sitúan los promedios de Estados Unidos en unos $15 para vídeos con recompensa, entre $12 y $13 para anuncios intersticiales y alrededor de $0,50 para banners, con cifras notablemente inferiores en Europa y la región APAC. Los ingresos por jugador varían más según el subgénero que según la red: el <a href="https://appdevelopermagazine.com/mobile-casual-benchmarks-report-2025/" target="_blank" rel="noreferrer">informe de valores de referencia para juegos casuales</a> de Appodeal muestra que el ARPU publicitario de Android en Estados Unidos se encuentra por debajo de un dólar para los juegos hipercasuales, cerca de $3 para los juegos de combinar y muy por encima de $10 para los títulos de fusión. Además, el <a href="https://tenjin.com/blog/ad-mon-gaming-2026/" target="_blank" rel="noreferrer">informe de referencia de 2026 de Tenjin y CAS.AI</a> atribuye a Android el 57 % de los ingresos publicitarios de los juegos móviles, con AdMob y AppLovin como las redes más grandes. Considera todos estos datos como orientación, no como verdades absolutas. El género, la combinación geográfica y el diseño de los emplazamientos influyen más en las cifras que la plataforma de mediación.</p>
<h2 id="metafunciones-la-renovacion-es-un-requisito-basico-las-nuevas-capas-son-las-tareas-y-la-cooperacion" tabindex="-1">Metafunciones: la renovación es un requisito básico; las nuevas capas son las tareas y la cooperación <a class="header-anchor" href="#metafunciones-la-renovacion-es-un-requisito-basico-las-nuevas-capas-son-las-tareas-y-la-cooperacion" aria-label="Permalink to &quot;Metafunciones: la renovación es un requisito básico; las nuevas capas son las tareas y la cooperación&quot;"></a></h2>
<p>Si te preguntas qué metafunciones utilizan realmente los juegos casuales con mayores ingresos, la respuesta se ha mantenido notablemente estable: decoración y construcción. GameRefinery encontró elementos de renovación en <a href="https://www.pocketgamer.biz/gamerefinery-renovation-features-are-in-every-top-100-us-casual-mobile-game/" target="_blank" rel="noreferrer">todos los 100 juegos casuales con mayores ingresos de Estados Unidos publicados desde 2020</a> (un hallazgo de 2022 que todavía define la categoría), y <a href="https://www.gamerefinery.com/why-renovation-and-construction-elements-are-becoming-more-popular-in-casual-games/" target="_blank" rel="noreferrer">elementos de construcción en el 49 % de los juegos Match3 con mayores ingresos del top 100 estadounidense</a>, frente al 7 % de seis años antes.</p>
<p>Lo que cambia en 2026 es la capa superior. El <a href="https://www.gamerefinery.com/mobile-game-market-review-january-2026/" target="_blank" rel="noreferrer">análisis de enero de 2026 de GameRefinery</a> lo describe como evolución en lugar de revolución: Zen Match sustituyó su metajuego de decoración de habitaciones por una capa de exploración de islas basada en tareas; Gossip Harbor añadió Medal Challenges, una cuadrícula de metatareas paralelas y de larga duración en lugar de eventos mensuales aislados; y Hay Day incorporó una progresión cooperativa a nivel de vecindario sobre la granja. La decoración trajo a todos hasta aquí, pero ahora la diferenciación proviene de los sistemas de tareas, los bucles de temporada y los metajuegos cooperativos superpuestos.</p>
<h2 id="hacia-donde-se-mueve-el-dinero" tabindex="-1">Hacia dónde se mueve el dinero <a class="header-anchor" href="#hacia-donde-se-mueve-el-dinero" aria-label="Permalink to &quot;Hacia dónde se mueve el dinero&quot;"></a></h2>
<p>Geográficamente, los juegos casuales impulsaron el mayor crecimiento en los mercados occidentales. Norteamérica registró el mayor crecimiento absoluto y Europa creció más en términos porcentuales, mientras que Asia fue la única región donde los ingresos por compras dentro de la aplicación <a href="https://sensortower.com/state-of-gaming-2025" target="_blank" rel="noreferrer">disminuyeron</a>. Parte de ese descenso en Asia se debe al fortalecimiento del dólar, pero la dirección es clara: el gasto en juegos casuales está creciendo en Occidente.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 240" role="img" aria-label="Crecimiento de los ingresos casuales por región en 2025: Europa subió un 14 por ciento, Norteamérica un 9 por ciento y registró el mayor crecimiento absoluto, y Asia bajó un 3 por ciento" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="240" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">El crecimiento casual se desplazó al oeste</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Cambio regional en ingresos de 2025. Asia: dólar fuerte. Fuente: Sensor Tower.</text>
  <line x1="280" y1="96" x2="280" y2="212" stroke="#ffffff" stroke-opacity="0.18"/>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="14" font-weight="700">
    <text x="150" y="122" text-anchor="end" fill="#e8edf5">Europa</text>
    <rect x="280" y="106" width="252" height="22" rx="5" fill="#6ee7b7"/>
    <text x="542" y="122" font-size="13" font-weight="800" fill="#6ee7b7">+14%</text>
    <text x="150" y="164" text-anchor="end" fill="#e8edf5">Norteamérica</text>
    <rect x="280" y="148" width="162" height="22" rx="5" fill="#7dd3fc"/>
    <text x="452" y="164" font-size="13" font-weight="800" fill="#7dd3fc">+9%</text>
    <text x="504" y="164" font-size="11.5" font-weight="600" fill="#9aa7b4">mayor crecimiento absoluto</text>
    <text x="150" y="206" text-anchor="end" fill="#e8edf5">Asia</text>
    <rect x="226" y="190" width="54" height="22" rx="5" fill="#fb7185"/>
    <text x="218" y="206" text-anchor="end" font-size="13" font-weight="800" fill="#fb7185">&#8722;3%</text>
  </g>
</svg>
<p>El hito más llamativo de 2025 se encuentra justo fuera de los juegos. Por primera vez, las aplicaciones que no son juegos superaron a los juegos en ingresos por compras dentro de aplicaciones móviles: unos $85.600 millones frente a $81.800 millones. Buena parte de ese cambio provino de las aplicaciones de suscripción de IA generativa, como explica <a href="https://www.deconstructoroffun.com/blog/2026/2/2/state-of-mobile-2026" target="_blank" rel="noreferrer">Deconstructor of Fun</a>. Los juegos perdieron el primer puesto en la tienda que antes dominaban, en parte frente a productos de IA. Es un dato que merece reflexión.</p>
<h2 id="las-reglas-de-las-tiendas-tambien-estan-cambiando" tabindex="-1">Las reglas de las tiendas también están cambiando <a class="header-anchor" href="#las-reglas-de-las-tiendas-tambien-estan-cambiando" aria-label="Permalink to &quot;Las reglas de las tiendas también están cambiando&quot;"></a></h2>
<p>El otro factor que está transformando la monetización casual en 2026 se desarrolla en tribunales y organismos reguladores, no en el diseño de juegos. En Estados Unidos, Apple se ha visto obligada a permitir enlaces a pagos externos sin comisión desde la sentencia por desacato de abril de 2025. Aunque una <a href="https://www.macrumors.com/2025/12/11/apple-app-store-fees-external-payment-links/" target="_blank" rel="noreferrer">decisión de apelación de diciembre de 2025</a> permite que Apple cobre en el futuro «una comisión razonable», no se aplicará ninguna tarifa hasta que un tribunal la apruebe, por lo que los enlaces siguen sin comisión a mediados de 2026. En la UE, la Core Technology Fee por instalación ha desaparecido y ha sido sustituida por una <a href="https://developer.apple.com/support/dma-and-apps-in-the-eu/" target="_blank" rel="noreferrer">Core Technology Commission del 5 %</a> sobre los ingresos por bienes digitales desde enero de 2026. Y en Android, Google y Epic <a href="https://www.pocketgamer.biz/google-and-epic-withdraw-settlement-as-play-store-overhaul-moves-ahead/" target="_blank" rel="noreferrer">retiraron su acuerdo el 15 de julio de 2026</a>, lo que mantiene vigente la orden judicial original: desde el 22 de julio, las tiendas de aplicaciones rivales se distribuyen como aplicaciones descargables en la Play Store estadounidense, y las fichas de Estados Unidos se incorporan automáticamente a tiendas de terceros salvo que los desarrolladores decidan excluirse.
Para un estudio de juegos casuales, la conclusión práctica es que los ingresos generados fuera de las tiendas han dejado de ser algo exótico. El informe <a href="https://www.revenuecat.com/state-of-subscription-apps" target="_blank" rel="noreferrer">State of Subscription Apps 2026</a> de RevenueCat reveló que el 41 % de las aplicaciones más grandes ya genera ingresos en la web, frente a alrededor del 1 % de las aplicaciones de aficionados. Las tiendas web directas al consumidor, los enlaces de pago externos y las tiendas alternativas son ahora opciones que un juego casual de tamaño medio debe, como mínimo, evaluar.</p>
<h2 id="como-esta-cambiando-la-ia-la-creacion-de-juegos-casuales" tabindex="-1">Cómo está cambiando la IA la creación de juegos casuales <a class="header-anchor" href="#como-esta-cambiando-la-ia-la-creacion-de-juegos-casuales" aria-label="Permalink to &quot;Cómo está cambiando la IA la creación de juegos casuales&quot;"></a></h2>
<p>La IA aparece en ambos lados de la ecuación. En cuanto al gasto, como se señaló anteriormente, las aplicaciones de IA están captando dinero que antes se destinaba a los juegos. En el ámbito de la producción, la IA generativa ha pasado de ser un experimento a convertirse en una herramienta estándar. La encuesta State of the Game Industry de la GDC de 2025 reveló que el 52 % de los desarrolladores trabajaba en empresas que utilizaban IA generativa en alguna parte de la organización, mientras que la edición de 2026 situó el uso personal en el 36 %.</p>
<p>Sin embargo, no es una tendencia ascendente constante. Una <a href="https://www.gamedeveloper.com/production/developer-use-of-generative-ai-may-be-declining" target="_blank" rel="noreferrer">encuesta más reciente de Game Developer Collective</a> reveló que el uso personal cayó al 29 %, lo que sugiere que algunos equipos probaron herramientas de IA y luego dieron marcha atrás. Además, la percepción empeora incluso mientras se extiende su adopción: en esa misma encuesta de la GDC de 2026, el 52 % de los desarrolladores afirmó que la IA generativa está teniendo un impacto negativo en la industria, la proporción más alta hasta la fecha. La lectura más honesta en 2026 es que la IA ya forma parte de la corriente dominante en los estudios de videojuegos, pero todavía se está definiendo dónde aporta valor de verdad. En los juegos casuales, esto significa prototipado rápido, generación de recursos y contenido para operaciones en vivo, en lugar de publicar un juego completo sin intervención humana.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 250" role="img" aria-label="Adopción de la IA generativa entre desarrolladores de videojuegos: 52 por ciento en empresas que usan IA, 36 por ciento que la usan personalmente y 29 por ciento en una encuesta posterior" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="250" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">La IA llegó a los estudios</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Proporción de desarrolladores que usan IA generativa. Fuente: GDC; Game Developer Collective.</text>
  <g transform="translate(180,120)">
    <circle r="44" fill="none" stroke="#1b2540" stroke-width="11"/>
    <circle r="44" fill="none" stroke="#c8a8ff" stroke-width="11" stroke-linecap="round" stroke-dasharray="143.8 276.5" transform="rotate(-90)"/>
    <text y="8" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="26" font-weight="800" fill="#e8edf5">52%</text>
    <text y="74" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" font-weight="700" fill="#e8edf5">En empresas que usan IA</text>
    <text y="92" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="11.5" fill="#9aa7b4">Encuesta GDC 2025</text>
  </g>
  <g transform="translate(360,120)">
    <circle r="44" fill="none" stroke="#1b2540" stroke-width="11"/>
    <circle r="44" fill="none" stroke="#7dd3fc" stroke-width="11" stroke-linecap="round" stroke-dasharray="99.5 276.5" transform="rotate(-90)"/>
    <text y="8" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="26" font-weight="800" fill="#e8edf5">36%</text>
    <text y="74" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" font-weight="700" fill="#e8edf5">La usan personalmente</text>
    <text y="92" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="11.5" fill="#9aa7b4">Encuesta GDC 2026</text>
  </g>
  <g transform="translate(540,120)">
    <circle r="44" fill="none" stroke="#1b2540" stroke-width="11"/>
    <circle r="44" fill="none" stroke="#f0abfc" stroke-width="11" stroke-linecap="round" stroke-dasharray="80.2 276.5" transform="rotate(-90)"/>
    <text y="8" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="26" font-weight="800" fill="#e8edf5">29%</text>
    <text y="74" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" font-weight="700" fill="#e8edf5">Uso personal posterior</text>
    <text y="92" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="11.5" fill="#9aa7b4">frente al 36 % anterior</text>
  </g>
</svg>
<p>Para creadores independientes y pequeños equipos, este es el frente más interesante. El mismo enfoque de texto a juego que dio origen a la categoría de aplicaciones de IA se utiliza ahora para crear los propios juegos. Los juegos casuales son el género que mejor maneja la IA, ya que sus bucles son compactos y su alcance reducido. Precisamente por eso, una herramienta como Cinevva puede tomar una frase y entregarte un juego funcional en el navegador.</p>
<h2 id="que-significa-esto-si-estas-creando-un-juego-casual" tabindex="-1">Qué significa esto si estás creando un juego casual <a class="header-anchor" href="#que-significa-esto-si-estas-creando-un-juego-casual" aria-label="Permalink to &quot;Qué significa esto si estás creando un juego casual&quot;"></a></h2>
<p>Al reunir todos estos datos, la estrategia para 2026 es distinta de la de 2022. Ya no compites por conseguir instalaciones baratas, porque esa etapa ha terminado. Intentas crear algo que un público más reducido quiera conservar y en lo que esté dispuesto a gastar. Esto favorece una propuesta clara con profundidad, una monetización híbrida que respete tanto a quienes ven anuncios como a quienes gastan dinero y una interpretación novedosa de un bucle probado, en lugar del enésimo clon de Match 3. El público occidental está gastando, el género de puzles está saturado en la cima pero ofrece muchas oportunidades para mecánicas nuevas, y el coste de probar una idea se ha desplomado ahora que la IA puede crear la primera versión jugable.</p>
<p>Esta última parte es la verdadera oportunidad. Cuando un prototipo tarda minutos en lugar de todo un fin de semana, puedes probar diez conceptos híbridos casuales con el esfuerzo que antes requería uno solo. El mercado recompensa la idea que funciona, y la forma más rápida de encontrarla es crear y jugar, no planificar. <a href="/es/game-creator.html">Empieza uno a partir de una descripción</a> y comprueba qué funciona.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿se-esta-reduciendo-el-mercado-de-juegos-casuales-en-2026" tabindex="-1">¿Se está reduciendo el mercado de juegos casuales en 2026? <a class="header-anchor" href="#¿se-esta-reduciendo-el-mercado-de-juegos-casuales-en-2026" aria-label="Permalink to &quot;¿Se está reduciendo el mercado de juegos casuales en 2026?&quot;"></a></h3>
<p>No, pero ha dejado de crecer en número de descargas. Los ingresos por compras dentro de aplicaciones todavía aumentaron ligeramente hasta unos 81.750 millones de dólares en 2025, mientras que las descargas cayeron un 7,2 %. El descenso continuó en 2026, con una reducción interanual del 11,9 % en las descargas del primer trimestre. El mercado está madurando, por lo que el crecimiento procede de un mayor gasto por parte de los jugadores, no de nuevas instalaciones.</p>
<h3 id="¿que-es-el-genero-hibrido-casual-y-por-que-importa" tabindex="-1">¿Qué es el género híbrido casual y por qué importa? <a class="header-anchor" href="#¿que-es-el-genero-hibrido-casual-y-por-que-importa" aria-label="Permalink to &quot;¿Qué es el género híbrido casual y por qué importa?&quot;"></a></h3>
<p>Los juegos híbridos casuales combinan los bucles sencillos y aptos para anuncios de los juegos hipercasuales con la progresión más profunda y las compras de un juego casual completo. Fue el único segmento casual cuyos ingresos por compras dentro de la aplicación crecieron en 2025: aumentaron un 20 %, hasta alcanzar los 4.200 millones de dólares. Esto lo convierte en la categoría que conviene estudiar ahora mismo.</p>
<h3 id="¿que-juegos-casuales-estan-triunfando-ahora-mismo" tabindex="-1">¿Qué juegos casuales están triunfando ahora mismo? <a class="header-anchor" href="#¿que-juegos-casuales-estan-triunfando-ahora-mismo" aria-label="Permalink to &quot;¿Qué juegos casuales están triunfando ahora mismo?&quot;"></a></h3>
<p>Entre los nuevos éxitos, títulos de puzles híbridos casuales como Color Block Jam, Pixel Flow, Screwdom y Magic Sort crecieron rápidamente en 2025. Entre los gigantes consolidados, Royal Match y Monopoly Go! lideran por ingresos, mientras que Block Blast! encabeza las descargas.</p>
<h3 id="¿mi-juego-deberia-usar-anuncios-o-compras-dentro-de-la-aplicacion" tabindex="-1">¿Mi juego debería usar anuncios o compras dentro de la aplicación? <a class="header-anchor" href="#¿mi-juego-deberia-usar-anuncios-o-compras-dentro-de-la-aplicacion" aria-label="Permalink to &quot;¿Mi juego debería usar anuncios o compras dentro de la aplicación?&quot;"></a></h3>
<p>Depende del juego. Los juegos sencillos con gran alcance pueden mantenerse mediante anuncios; los metajuegos profundos funcionan mejor sin anuncios y con compras; y casi todo lo que queda entre ambos extremos genera más ingresos al combinar los dos modelos. El modelo debe adaptarse al diseño, no al revés.</p>
<h3 id="¿como-esta-cambiando-la-ia-el-desarrollo-de-juegos-casuales" tabindex="-1">¿Cómo está cambiando la IA el desarrollo de juegos casuales? <a class="header-anchor" href="#¿como-esta-cambiando-la-ia-el-desarrollo-de-juegos-casuales" aria-label="Permalink to &quot;¿Cómo está cambiando la IA el desarrollo de juegos casuales?&quot;"></a></h3>
<p>La IA generativa ya es una herramienta habitual en los estudios, y el 52 % de los desarrolladores trabaja en empresas que la utilizan. En los juegos casuales, acelera específicamente el prototipado, la creación de recursos y las operaciones en vivo. Además, las herramientas de texto a juego ya permiten a los creadores construir un juego casual funcional a partir de una descripción.</p>
<h3 id="¿que-tamano-tiene-el-mercado-de-juegos-casuales-en-2026" tabindex="-1">¿Qué tamaño tiene el mercado de juegos casuales en 2026? <a class="header-anchor" href="#¿que-tamano-tiene-el-mercado-de-juegos-casuales-en-2026" aria-label="Permalink to &quot;¿Qué tamaño tiene el mercado de juegos casuales en 2026?&quot;"></a></h3>
<p>Los juegos para móviles generaron unos 81.750 millones de dólares en compras dentro de aplicaciones en 2025, apenas un 1,3 % más que en 2024, y los 1.000 juegos casuales principales representan aproximadamente 23.000 millones de esa cantidad. Las descargas cayeron un 7,2 %, hasta los 50.400 millones, por lo que el mercado crece gracias al gasto por jugador, no a nuevas instalaciones.</p>
<h3 id="¿ha-muerto-el-genero-hipercasual-en-2026" tabindex="-1">¿Ha muerto el género hipercasual en 2026? <a class="header-anchor" href="#¿ha-muerto-el-genero-hipercasual-en-2026" aria-label="Permalink to &quot;¿Ha muerto el género hipercasual en 2026?&quot;"></a></h3>
<p>No. Lo que dejó de funcionar fue el modelo de negocio basado exclusivamente en anuncios, no los juegos. El género hipercasual todavía lideró todas las descargas en 2025, con 22.050 millones de instalaciones, y el formato está evolucionando hacia una monetización híbrida que añade compras dentro de la aplicación a los anuncios.</p>
<BuildCta
  title="Aprovecha la ola casual con tu propio juego"
  desc="Los juegos acogedores y casuales son el género más fácil para empezar."
  prompt="Crea un acogedor juego de puzles de combinar y fusionar con colores suaves" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/ai-game-generators-2026.html">Los mejores generadores de juegos con IA de 2026</a> — las herramientas que crean juegos casuales a partir de una descripción</li>
<li><a href="/es/guides/make-a-game-with-ai.html">Cómo crear un juego con IA (sin programar)</a> — el proceso de creación paso a paso</li>
<li><a href="/es/guides/vibe-coding-games.html">Vibe coding para juegos: qué es y cómo empezar</a> — la mentalidad de prototipado que recompensa este mercado</li>
<li><a href="/es/guides/vibe-coding-game-prompts.html">Prompts de juegos con IA que puedes crear con un solo clic</a> — conceptos casuales que puedes probar rápidamente</li>
<li><a href="/es/guides/get-more-plays-itch-io.html">Cómo conseguir más partidas en itch.io</a> — cómo encontrar un público que se quede</li>
<li><a href="/es/guides/web-game-monetization.html">Monetización de juegos web: lo que realmente dicen los datos</a> — el mismo análisis basado en datos sobre cómo generan ingresos los juegos de navegador</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/casual-games-trends-2026-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo crear un juego en Cinevva]]></title>
            <link>https://app.cinevva.com/es/guides/how-to-write-a-game</link>
            <guid>https://app.cinevva.com/es/guides/how-to-write-a-game</guid>
            <pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Una guía práctica para escribir instrucciones que se conviertan en un juego que realmente quieras conservar. Cómo empezar, cómo iterar y cómo describir un error para que la IA lo corrija al primer intento.]]></description>
            <content:encoded><![CDATA[<h1 id="como-crear-un-juego-en-cinevva" tabindex="-1">Cómo crear un juego en Cinevva <a class="header-anchor" href="#como-crear-un-juego-en-cinevva" aria-label="Permalink to &quot;Cómo crear un juego en Cinevva&quot;"></a></h1>
<p>Escribes lo que quieres, Cinevva crea un juego funcional en tu navegador y después lo modificas mediante el chat. Así de sencillo. Lo difícil no es la herramienta, sino saber qué decir.</p>
<p>Analizamos una semana de sesiones reales para descubrir qué diferencia una instrucción que se convierte en un juego que alguien quiere conservar de otra que se abandona justo después de generar la primera versión. El patrón estaba claro y no tiene nada de complicado. Esto es lo que funciona.</p>
<h2 id="empieza-con-una-frase-clara" tabindex="-1">Empieza con una frase clara <a class="header-anchor" href="#empieza-con-una-frase-clara" aria-label="Permalink to &quot;Empieza con una frase clara&quot;"></a></h2>
<p>La mejor forma de empezar es con una o dos frases que indiquen el tipo de juego y aquello que lo hace divertido. «Un juego de supervivencia contra zombis con vista cenital, en el que llevas una linterna y munición limitada» proporciona a la IA un género, un ángulo de cámara, una tensión principal y una limitación en torno a la cual trabajar. Sabe exactamente qué crear.</p>
<p>Compáralo con «juego de plataformas» o «juegos de disparos». Son instrucciones iniciales reales que vemos todos los días. Cinevva creará algo a partir de ellas, pero que ese algo se parezca a lo que tenías en mente es cuestión de suerte. Cuanto más específica sea tu primera frase, más se acercará esa primera versión a lo que querías.</p>
<h2 id="describe-las-sensaciones-no-un-juego-famoso" tabindex="-1">Describe las sensaciones, no un juego famoso <a class="header-anchor" href="#describe-las-sensaciones-no-un-juego-famoso" aria-label="Permalink to &quot;Describe las sensaciones, no un juego famoso&quot;"></a></h2>
<p>Mucha gente empieza mencionando un solo título. Pokémon. GTA. Minecraft. Un juego de Roblox que les encanta. Lo entendemos: esos son los juegos que hicieron que quisieras crear uno. El problema es que estudios enteros tardaron años en desarrollarlos y no caben en una pestaña del navegador.</p>
<p>En su lugar, menciona las partes que realmente quieres. Si dices GTA, probablemente te refieras a «conducir por una ciudad abierta y aceptar misiones». Si dices Minecraft, quizá quieras «colocar y romper bloques en una cuadrícula infinita para construir cosas». Explica la mecánica y Cinevva podrá reproducir las sensaciones, aunque no pueda crear la franquicia completa. Describir la experiencia siempre funciona mejor que mencionar la marca.</p>
<h2 id="deja-que-empiece-con-algo-pequeno-y-despues-amplialo" tabindex="-1">Deja que empiece con algo pequeño y después amplíalo <a class="header-anchor" href="#deja-que-empiece-con-algo-pequeno-y-despues-amplialo" aria-label="Permalink to &quot;Deja que empiece con algo pequeño y después amplíalo&quot;"></a></h2>
<p>Cinevva crea a propósito una pequeña parte jugable desde el primer mensaje. Quienes terminan con algo que les encanta no intentan meterlo todo en la instrucción inicial. Añaden una cosa por mensaje una vez que pueden verlo en funcionamiento.</p>
<p>«Añade coches circulando». «Haz que el salto sea más alto». «Crea un segundo nivel». «Añade una barra de salud». Cada cambio es pequeño, rápido y fácil de comprobar, y juntos acaban formando un juego completo. Intentar incluir diez funciones en el primer mensaje suele producir una versión poco sólida de las diez. Los buenos juegos se crean haciendo un cambio claro cada vez.</p>
<h2 id="cuando-algo-vaya-mal-explica-exactamente-que-ocurre" tabindex="-1">Cuando algo vaya mal, explica exactamente qué ocurre <a class="header-anchor" href="#cuando-algo-vaya-mal-explica-exactamente-que-ocurre" aria-label="Permalink to &quot;Cuando algo vaya mal, explica exactamente qué ocurre&quot;"></a></h2>
<p>El mensaje poco útil más habitual es «no funciona» o simplemente «arréglalo». La IA no puede ver tu pantalla, así que solo puede intentar adivinar qué sucede.</p>
<p>Cuéntale tres cosas: qué hiciste, qué ocurrió y qué esperabas que pasara. «Cuando pulso espacio, el pájaro apenas salta; quiero que aletee más alto» permite obtener una corrección real al primer intento. «El coche atraviesa las paredes en vez de detenerse» señala directamente la detección de colisiones. Esas diez palabras adicionales te ahorran tres rondas de mensajes.</p>
<h2 id="describe-de-forma-concreta-el-aspecto-de-las-cosas" tabindex="-1">Describe de forma concreta el aspecto de las cosas <a class="header-anchor" href="#describe-de-forma-concreta-el-aspecto-de-las-cosas" aria-label="Permalink to &quot;Describe de forma concreta el aspecto de las cosas&quot;"></a></h2>
<p>Cinevva se desenvuelve bien con los elementos visuales cuando le das algo que pueda imaginar: colores, formas, atmósfera y detalles de los personajes. Un creador describió a su héroe como «una figura oscura con capa blanca, guantes blancos y ojos blancos brillantes» y obtuvo exactamente eso.</p>
<p>«Haz que se vea más genial» no le da a la IA nada con lo que trabajar. En su lugar, indica la paleta de colores, el estilo (neón, acogedor, retro, terror, dibujado a mano) y cualquier detalle importante del personaje o del mundo. Unas pocas palabras concretas pueden cambiar por completo el aspecto del juego.</p>
<h2 id="usa-tus-propios-recursos-graficos" tabindex="-1">Usa tus propios recursos gráficos <a class="header-anchor" href="#usa-tus-propios-recursos-graficos" aria-label="Permalink to &quot;Usa tus propios recursos gráficos&quot;"></a></h2>
<p>No estás limitado a lo que dibuje la IA. Arrastra tus propias imágenes directamente al chat y las utilizará como texturas, sprites o fondos. También puedes abrir la biblioteca de recursos para incorporar modelos 3D gratuitos sin preocuparte por la atribución. Cuando tienes un estilo concreto en mente, proporcionar una imagen de referencia suele funcionar mejor que intentar describirlo.</p>
<h2 id="la-primera-version-es-la-que-mas-tarda-y-tu-trabajo-queda-guardado" tabindex="-1">La primera versión es la que más tarda, y tu trabajo queda guardado <a class="header-anchor" href="#la-primera-version-es-la-que-mas-tarda-y-tu-trabajo-queda-guardado" aria-label="Permalink to &quot;La primera versión es la que más tarda, y tu trabajo queda guardado&quot;"></a></h2>
<p>La primera versión es la que más tarda porque Cinevva está escribiendo todo tu juego desde cero. Después, los cambios llegan en cuestión de segundos. Así que ten paciencia durante esa primera espera: de verdad será la más larga de toda la sesión.</p>
<p>Y sí, tus juegos quedan guardados. Cierra la pestaña, vuelve mañana, abre Mis juegos y continúa exactamente donde lo dejaste. No se pierde nada cuando sales.</p>
<h2 id="una-buena-instruccion-de-principio-a-fin" tabindex="-1">Una buena instrucción, de principio a fin <a class="header-anchor" href="#una-buena-instruccion-de-principio-a-fin" aria-label="Permalink to &quot;Una buena instrucción, de principio a fin&quot;"></a></h2>
<p>Si juntas todo lo anterior, una buena instrucción inicial tendrá este aspecto:</p>
<p>«Un juego de disparos con dos joysticks y vista cenital. Soy un pequeño robot en una arena de neón, se acercan oleadas de enemigos y tengo que esquivar y disparar para sobrevivir. Haz que sea rápido y tenga un estilo arcade».</p>
<p>Eso define un género, un personaje, un escenario, un bucle jugable principal y unas sensaciones, todo en cuatro frases cortas. Créalo, observa cómo funciona y empieza a añadir cosas. Un jefe cada cinco oleadas. Un impulso rápido con la tecla Mayús. Un multiplicador de puntuación por combos. Así es como una frase se convierte en un juego que realmente quieres compartir.</p>
<p>¿Todo listo para probarlo? <a href="/es/create.html?utm_source=guide&amp;utm_medium=content&amp;utm_campaign=how_to_write_a_game">Abre el creador y empieza a crear gratis →</a></p>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/how-to-write-a-game-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo crear un juego 3D para navegador sin programar (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/3d-browser-game-without-coding</link>
            <guid>https://app.cinevva.com/es/guides/3d-browser-game-without-coding</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Las opciones reales para crear un juego 3D para navegador sin programar en 2026, por qué la mayoría de las herramientas sin código son 2D y cómo las herramientas de IA que convierten instrucciones en juegos se convirtieron en la vía práctica para crear en 3D en el navegador.]]></description>
            <content:encoded><![CDATA[<h1 id="como-crear-un-juego-3d-para-navegador-sin-programar-2026" tabindex="-1">Cómo crear un juego 3D para navegador sin programar (2026) <a class="header-anchor" href="#como-crear-un-juego-3d-para-navegador-sin-programar-2026" aria-label="Permalink to &quot;Cómo crear un juego 3D para navegador sin programar (2026)&quot;"></a></h1>
<p><em>Última actualización: junio de 2026.</em></p>
<p>Crear un juego 2D sin código es posible desde hace años. Crear un juego 3D que funcione en un navegador, sin código, ha sido sorprendentemente difícil, y la mayoría de las guías evitan discretamente el tema mostrándote una herramienta 2D. Esta no. Este es el estado real de la creación 3D sin código en el navegador en 2026 y la vía que ahora sí funciona.</p>
<h2 id="la-incomoda-realidad-del-3d-sin-codigo" tabindex="-1">La incómoda realidad del 3D sin código <a class="header-anchor" href="#la-incomoda-realidad-del-3d-sin-codigo" aria-label="Permalink to &quot;La incómoda realidad del 3D sin código&quot;"></a></h2>
<p>Los creadores de juegos sin código tradicionales son, en su inmensa mayoría, 2D. Las pocas herramientas 3D totalmente sin código que funcionaban en un navegador han desaparecido o han cambiado de rumbo:</p>
<ul>
<li><strong>Struckd</strong>, lo más parecido a una verdadera herramienta 3D de arrastrar y soltar en la web, cerrará su estudio en agosto de 2026.</li>
<li><strong>Crayta</strong> cerró en 2023.</li>
<li><strong>Core</strong> permite crear en 3D sin código, pero es un cliente que debe descargarse, no un juego de navegador.</li>
<li><strong>PlayCanvas</strong> es un magnífico motor 3D para la web, pero espera que escribas JavaScript, así que en realidad no es una herramienta sin código.</li>
</ul>
<p>Eso deja un vacío real. Si quieres 3D, en un navegador y sin código, el mundo de los editores visuales clásicos ya casi no tiene nada que ofrecer, salvo una excepción.</p>
<h2 id="la-unica-excepcion-clasica-gdevelop" tabindex="-1">La única excepción clásica: GDevelop <a class="header-anchor" href="#la-unica-excepcion-clasica-gdevelop" aria-label="Permalink to &quot;La única excepción clásica: GDevelop&quot;"></a></h2>
<p>GDevelop es un creador visual de juegos gratuito y de código abierto que funciona en el navegador y que ha invertido mucho en 3D desde finales de 2025. La lógica se construye con hojas de eventos visuales en lugar de código; cuenta con un editor 3D específico y física 3D, y permite publicar en la web mediante gd.games con un enlace para compartir. Es principalmente una herramienta 2D cuyas funciones 3D siguen creciendo, por lo que no igualará a un motor 3D especializado, pero es la opción clásica más sólida para crear auténticos juegos 3D sin código en el navegador. También incorporó un agente de IA, lo que nos lleva a la otra vía.</p>
<h2 id="la-via-que-realmente-funciona-en-2026-crear-juegos-con-instrucciones-para-ia" tabindex="-1">La vía que realmente funciona en 2026: crear juegos con instrucciones para IA <a class="header-anchor" href="#la-via-que-realmente-funciona-en-2026-crear-juegos-con-instrucciones-para-ia" aria-label="Permalink to &quot;La vía que realmente funciona en 2026: crear juegos con instrucciones para IA&quot;"></a></h2>
<p>Este es el cambio. La forma más práctica de crear un juego 3D para navegador sin programar en 2026 no es utilizar un editor visual, sino describir el juego a una IA y dejar que construya un juego 3D real sobre un motor web. Esto se conoce a veces como <a href="/es/guides/vibe-coding-games.html">vibe coding</a> y, específicamente para el 3D, se ha convertido discretamente en una vía fiable mientras las herramientas 3D sin código tradicionales desaparecían.</p>
<p>Varias herramientas permiten hacerlo:</p>
<ul>
<li><strong>Cinevva</strong> crea juegos realmente 3D y jugables en el navegador a partir de una instrucción de texto, sobre un motor basado en Three.js, con generación integrada de modelos 3D, imágenes, música y skyboxes, además de un enlace que se puede compartir al instante.</li>
<li><strong>Rosebud</strong> convierte instrucciones en juegos tanto 2D como 3D, con funciones 3D en expansión y alojamiento en el navegador.</li>
<li><strong>Nilo</strong> es una herramienta de IA 3D basada en el navegador, con una clara orientación a la exportación a Roblox y dirigida a un público más joven.</li>
</ul>
<p>No tienes que escribir código en ninguna de ellas. Describes el juego, pruebas el resultado y lo perfeccionas pidiendo cambios. Consulta la <a href="/es/guides/ai-game-generators-2026.html">comparativa completa de generadores de juegos con IA</a> para ver en qué se diferencian.</p>
<h2 id="como-crear-paso-a-paso-un-juego-3d-para-navegador-con-ia" tabindex="-1">Cómo crear paso a paso un juego 3D para navegador con IA <a class="header-anchor" href="#como-crear-paso-a-paso-un-juego-3d-para-navegador-con-ia" aria-label="Permalink to &quot;Cómo crear paso a paso un juego 3D para navegador con IA&quot;"></a></h2>
<h3 id="_1-describe-un-juego-3d-pequeno" tabindex="-1">1. Describe un juego 3D pequeño <a class="header-anchor" href="#_1-describe-un-juego-3d-pequeno" aria-label="Permalink to &quot;1. Describe un juego 3D pequeño&quot;"></a></h3>
<p>Indica el género, un detalle distintivo y un objetivo. El 3D funciona mejor cuando el concepto es sencillo y espacial. Por ejemplo:</p>
<blockquote>
<p>Crea un juego de parkour en primera persona en el que tenga que saltar entre islas flotantes y competir contra el cronómetro para llegar al final.</p>
</blockquote>
<p>Puedes <a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=3d_no_code">empezar con una instrucción en blanco</a> o elegir una <a href="/es/guides/vibe-coding-game-prompts.html">instrucción 3D con un solo clic</a> y adaptarla.</p>
<h3 id="_2-pruebalo-y-luego-cambia-una-sola-cosa" tabindex="-1">2. Pruébalo y luego cambia una sola cosa <a class="header-anchor" href="#_2-pruebalo-y-luego-cambia-una-sola-cosa" aria-label="Permalink to &quot;2. Pruébalo y luego cambia una sola cosa&quot;"></a></h3>
<p>Obtendrás una escena 3D jugable. Pruébala e identifica el problema más importante. Pide un único cambio: «haz que los saltos lleguen más lejos», «añade una caída con reaparición» o «aumenta la velocidad del jugador». Cambia, juega y repite. Este ciclo es la base de todo el proceso creativo.</p>
<h3 id="_3-anade-recursos-3d" tabindex="-1">3. Añade recursos 3D <a class="header-anchor" href="#_3-anade-recursos-3d" aria-label="Permalink to &quot;3. Añade recursos 3D&quot;"></a></h3>
<p>Pide los modelos y el estilo visual que quieras: «dale al jugador un robot low poly», «usa un skybox de atardecer» o «haz que las islas sean de piedra y tengan césped en la parte superior». Si la herramienta dispone de una biblioteca de recursos CC0, aprovéchala para todo lo que vayas a publicar. Nuestra <a href="/es/guides/game-assets-guide.html">guía de recursos gratuitos para juegos</a> explica las fuentes y las licencias.</p>
<h3 id="_4-haz-que-se-sienta-como-un-juego" tabindex="-1">4. Haz que se sienta como un juego <a class="header-anchor" href="#_4-haz-que-se-sienta-como-un-juego" aria-label="Permalink to &quot;4. Haz que se sienta como un juego&quot;"></a></h3>
<p>Añade los retoques finales que los jugadores perciben en 3D: una cámara clara, controles ágiles, un objetivo visible, sonidos para las acciones importantes y una condición de victoria o derrota. Pide una pantalla de título y un botón para reiniciar.</p>
<h3 id="_5-publica-el-enlace" tabindex="-1">5. Publica el enlace <a class="header-anchor" href="#_5-publica-el-enlace" aria-label="Permalink to &quot;5. Publica el enlace&quot;"></a></h3>
<p>Las herramientas de navegador te proporcionan una URL para compartir con un solo clic. Envíala a otras personas, observa en qué punto abandonan el juego y convierte esa información en tu siguiente ronda de cambios.</p>
<h2 id="¿y-si-lo-haces-manualmente" tabindex="-1">¿Y si lo haces manualmente? <a class="header-anchor" href="#¿y-si-lo-haces-manualmente" aria-label="Permalink to &quot;¿Y si lo haces manualmente?&quot;"></a></h2>
<p>Si estás dispuesto a aprender un poco de código, el mundo del 3D para la web ofrece muchas posibilidades: Three.js, Babylon.js y PlayCanvas permiten crear excelentes experiencias 3D para navegador, y motores como Godot también pueden exportar a la web. Eso ya no es creación sin código, pero conviene saber que las posibilidades son enormes una vez que cruzas esa línea. Nuestra <a href="/es/guides/web-game-engines-comparison.html">comparativa de motores de juegos web</a> analiza estas opciones. Si quieres mantenerte realmente en el terreno sin código, la respuesta es GDevelop o una herramienta de IA que convierta instrucciones en juegos.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿se-puede-crear-un-juego-3d-en-un-navegador-sin-programar" tabindex="-1">¿Se puede crear un juego 3D en un navegador sin programar? <a class="header-anchor" href="#¿se-puede-crear-un-juego-3d-en-un-navegador-sin-programar" aria-label="Permalink to &quot;¿Se puede crear un juego 3D en un navegador sin programar?&quot;"></a></h3>
<p>Sí, pero las opciones son limitadas. GDevelop es la principal herramienta clásica sin código con verdaderas funciones 3D en el navegador, mientras que las herramientas de IA que convierten instrucciones en juegos, como Cinevva, Rosebud y Nilo, permiten crear juegos 3D para navegador describiéndolos en lugar de programarlos. Varias herramientas 3D sin código más antiguas (Struckd y Crayta) han cerrado, por lo que las vías prácticas en 2026 son GDevelop o la IA.</p>
<h3 id="¿cual-es-la-forma-mas-facil-de-crear-un-juego-3d-sin-experiencia" tabindex="-1">¿Cuál es la forma más fácil de crear un juego 3D sin experiencia? <a class="header-anchor" href="#¿cual-es-la-forma-mas-facil-de-crear-un-juego-3d-sin-experiencia" aria-label="Permalink to &quot;¿Cuál es la forma más fácil de crear un juego 3D sin experiencia?&quot;"></a></h3>
<p>Describe el juego a una herramienta de IA que convierta instrucciones en juegos y perfecciónalo mediante una conversación. Obtendrás un juego 3D jugable en cuestión de minutos, sin instalar ningún motor ni escribir código, y podrás mejorarlo realizando un cambio cada vez. Es el punto de partida más accesible para alguien sin experiencia.</p>
<h3 id="¿es-gdevelop-una-buena-opcion-para-crear-en-3d" tabindex="-1">¿Es GDevelop una buena opción para crear en 3D? <a class="header-anchor" href="#¿es-gdevelop-una-buena-opcion-para-crear-en-3d" aria-label="Permalink to &quot;¿Es GDevelop una buena opción para crear en 3D?&quot;"></a></h3>
<p>GDevelop es principalmente un motor 2D, pero desde finales de 2025 ha incorporado un editor 3D específico, física 3D y otras funciones tridimensionales. Además, es gratuito, de código abierto, funciona en el navegador y permite publicar en la web. No igualará a un motor 3D especializado, pero es la opción clásica más sólida para crear gratis en 3D y sin código desde el navegador.</p>
<h3 id="¿necesito-un-ordenador-potente-para-crear-un-juego-3d-para-navegador" tabindex="-1">¿Necesito un ordenador potente para crear un juego 3D para navegador? <a class="header-anchor" href="#¿necesito-un-ordenador-potente-para-crear-un-juego-3d-para-navegador" aria-label="Permalink to &quot;¿Necesito un ordenador potente para crear un juego 3D para navegador?&quot;"></a></h3>
<p>No. Las herramientas de IA basadas en el navegador y GDevelop ejecutan las tareas más exigentes en sus servidores o en el propio navegador, por lo que no necesitas un PC para videojuegos ni una GPU dedicada. Cualquier ordenador razonablemente moderno con un navegador actualizado es suficiente para crear y jugar.</p>
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/ai-game-generators-2026.html">Los mejores generadores de juegos con IA de 2026</a> — las herramientas que crean en 3D a partir de instrucciones</li>
<li><a href="/es/guides/make-a-game-with-ai.html">Cómo crear un juego con IA (sin programar)</a> — el flujo de trabajo completo para principiantes</li>
<li><a href="/es/guides/vibe-coding-games.html">Vibe coding de juegos: qué es y cómo empezar</a> — una explicación del enfoque basado en instrucciones</li>
<li><a href="/es/guides/vibe-coding-game-prompts.html">Instrucciones para crear juegos con IA en un solo clic</a> — puntos de partida en 3D</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Los mejores motores de juegos web para 2026</a> — si decides aprender un poco de código</li>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — modelos 3D y texturas</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/3d-browser-game-without-coding-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mejores generadores de recursos con IA para juegos (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/ai-asset-generators-games</link>
            <guid>https://app.cinevva.com/es/guides/ai-asset-generators-games</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Los mejores generadores de recursos con IA para juegos en 2026, incluidos modelos 3D, texturas y audio, con una comparativa de Meshy, Tripo, Hunyuan3D, TRELLIS, Stable Audio y más, además de notas sobre licencias.]]></description>
            <content:encoded><![CDATA[<h1 id="mejores-generadores-de-recursos-con-ia-para-juegos-2026" tabindex="-1">Mejores generadores de recursos con IA para juegos (2026) <a class="header-anchor" href="#mejores-generadores-de-recursos-con-ia-para-juegos-2026" aria-label="Permalink to &quot;Mejores generadores de recursos con IA para juegos (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>En 2026, generar un recurso para un juego suele ser más rápido que buscar uno gratuito que encaje. Describe un objeto y obtén un modelo 3D texturizado en menos de un minuto. Escribe un estado de ánimo y obtén música. Esta guía presenta los mejores generadores de recursos con IA para juegos en las categorías de 3D, texturas y audio, explica qué hace bien cada uno y aborda el aspecto de las licencias que debes comprobar antes de publicar.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/9zUOvhQ828g" title="Meshy 5: análisis de un generador de modelos 3D con IA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Un análisis de Meshy, uno de los principales generadores de modelos 3D con IA.</div>
<h2 id="la-cuestion-de-las-licencias-lee-esto-primero" tabindex="-1">La cuestión de las licencias (lee esto primero) <a class="header-anchor" href="#la-cuestion-de-las-licencias-lee-esto-primero" aria-label="Permalink to &quot;La cuestión de las licencias (lee esto primero)&quot;"></a></h2>
<p>La mayoría de los generadores alojados te permiten crear gratis, pero reservan los derechos de uso comercial para los planes de pago, y los resultados del nivel gratuito a menudo no pueden utilizarse con fines comerciales. Los modelos abiertos que alojas por tu cuenta suelen ser la opción más segura para uso comercial, pero cada uno tiene su propia licencia (algunas excluyen ciertas regiones). Antes de publicar cualquier contenido creado por una IA, comprueba las condiciones sobre los derechos de uso de los resultados del modelo. En caso de duda, utiliza un modelo abierto con una licencia permisiva o un plan de pago que conceda derechos de uso comercial.</p>
<h2 id="generadores-de-modelos-3d" tabindex="-1">Generadores de modelos 3D <a class="header-anchor" href="#generadores-de-modelos-3d" aria-label="Permalink to &quot;Generadores de modelos 3D&quot;"></a></h2>
<h3 id="alojados-los-mas-rapidos-para-empezar" tabindex="-1">Alojados (los más rápidos para empezar) <a class="header-anchor" href="#alojados-los-mas-rapidos-para-empezar" aria-label="Permalink to &quot;Alojados (los más rápidos para empezar)&quot;"></a></h3>
<ul>
<li><strong>Meshy</strong>: convierte texto o imágenes en una malla 3D texturizada y animable, con materiales PBR. Los resultados del nivel gratuito se distribuyen bajo la licencia CC BY 4.0, por lo que se permite el uso comercial siempre que atribuyas la autoría a Meshy. La opción versátil más popular. <a href="https://www.meshy.ai" target="_blank" rel="noreferrer">meshy.ai</a></li>
<li><strong>Tripo</strong>: convierte texto o imágenes en 3D con PBR 4K y rigging automático. El nivel gratuito no permite el uso comercial. Ofrece resultados sólidos orientados a videojuegos. <a href="https://www.tripo3d.ai" target="_blank" rel="noreferrer">tripo3d.ai</a></li>
<li><strong>Rodin / Hyper3D</strong>: topología limpia basada en cuadriláteros; generar es gratis y se paga por descargar. Una buena opción si te importa la topología de la malla. <a href="https://hyper3d.ai" target="_blank" rel="noreferrer">hyper3d.ai</a></li>
<li><strong>Sloyd</strong>: generación paramétrica y mediante IA orientada a videojuegos, con uso comercial en el plan de pago. <a href="https://www.sloyd.ai" target="_blank" rel="noreferrer">sloyd.ai</a></li>
</ul>
<h3 id="abiertos-alojamiento-propio-y-aptos-para-uso-comercial" tabindex="-1">Abiertos (alojamiento propio y aptos para uso comercial) <a class="header-anchor" href="#abiertos-alojamiento-propio-y-aptos-para-uso-comercial" aria-label="Permalink to &quot;Abiertos (alojamiento propio y aptos para uso comercial)&quot;"></a></h3>
<ul>
<li><strong>Hunyuan3D 2.1</strong> (Tencent): pesos y código de entrenamiento abiertos, con texturizado PBR listo para producción. Ten en cuenta que su licencia excluye la UE, el Reino Unido y Corea del Sur, así que compruébala antes de publicar en esas regiones. Cinevva lo ofrece como <a href="/es/tools/hunyuan3d.html">Generador de modelos 3D</a>.</li>
<li><strong>TRELLIS.2</strong> (Microsoft): con licencia MIT, es el modelo abierto líder actual para convertir imágenes en 3D e incluye PBR nativo.</li>
<li><strong>SAM 3D</strong> (Meta): convierte una sola foto en 3D, tanto para objetos como para cuerpos humanos. Cinevva lo ofrece como una herramienta en el navegador de <a href="/es/tools/sam3d.html">captura de objetos 3D a partir de imágenes</a> que genera un Gaussian splat.</li>
<li><strong>Roblox Cube 3D</strong>: conversión de texto en mallas con código abierto.</li>
</ul>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/-_ZlUTXaFqA" title="Tripo 3.1: análisis de la generación de recursos 3D con IA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Un vistazo a Tripo generando recursos 3D listos para usar en juegos.</div>
<h2 id="generadores-de-texturas-e-imagenes" tabindex="-1">Generadores de texturas e imágenes <a class="header-anchor" href="#generadores-de-texturas-e-imagenes" aria-label="Permalink to &quot;Generadores de texturas e imágenes&quot;"></a></h2>
<p>Para texturas repetibles, sprites, arte conceptual e interfaces de usuario:</p>
<ul>
<li><strong>FLUX.2</strong> (Black Forest Labs): potente conversión de texto en imágenes y edición. La opción abierta y gratuita para uso comercial es klein 4B (Apache 2.0).</li>
<li><strong>Qwen-Image</strong> (Alibaba): abierto, con licencia Apache 2.0 y una representación de texto líder en su categoría (ideal para letreros y etiquetas).</li>
<li><strong>Stable Diffusion 3.5</strong>: ecosistema maduro (ControlNet, inpainting y LoRAs) para una personalización avanzada.</li>
</ul>
<p>Estos modelos generan texturas repetibles y arte 2D que puedes incorporar directamente a un juego. Consulta nuestra <a href="/es/guides/frontier-gen-ai-models.html">guía de modelos abiertos de IA generativa</a> para ver la lista completa y sus licencias.</p>
<h2 id="generadores-de-audio-musica-y-efectos-de-sonido" tabindex="-1">Generadores de audio (música y efectos de sonido) <a class="header-anchor" href="#generadores-de-audio-musica-y-efectos-de-sonido" aria-label="Permalink to &quot;Generadores de audio (música y efectos de sonido)&quot;"></a></h2>
<ul>
<li><strong>Stable Audio 3.0</strong>: pesos abiertos para un modelo Small, además de un modelo abierto específico para efectos de sonido, entrenado con datos bajo licencia (una base jurídica sólida). La mejor opción abierta para efectos de sonido de videojuegos.</li>
<li><strong>ACE-Step 1.5</strong>: generación musical abierta con licencia MIT, disponible en muchos idiomas y con clonación de voz.</li>
<li><strong>ElevenLabs</strong>: la opción alojada más potente para efectos de sonido y música, con derechos de uso comercial en los planes de pago.</li>
</ul>
<h2 id="rigging-y-animacion" tabindex="-1">Rigging y animación <a class="header-anchor" href="#rigging-y-animacion" aria-label="Permalink to &quot;Rigging y animación&quot;"></a></h2>
<p>El rigging automático ha madurado: modelos abiertos como <strong>UniRig</strong> (MIT) y <strong>NVIDIA SOMA-X</strong> (Apache 2.0) generan esqueletos y skinning para tus mallas, lo que supone una alternativa creíble a Mixamo, que se ha vuelto poco fiable. Herramientas alojadas como Tripo y Meshy también ofrecen rigging automático. La herramienta de <a href="/es/tools/rigger.html">rigging automático</a> de Cinevva lo hace en el navegador: sube un archivo GLB, FBX u OBJ y recibe un modelo con rigging y, opcionalmente, animaciones predefinidas.</p>
<h2 id="comparativa" tabindex="-1">Comparativa <a class="header-anchor" href="#comparativa" aria-label="Permalink to &quot;Comparativa&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Herramienta</th>
<th>Genera</th>
<th>Abierta / alojada</th>
<th>Uso comercial</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Meshy</strong></td>
<td>Modelos 3D</td>
<td>Alojada</td>
<td>Nivel gratuito CC BY (atribución a Meshy)</td>
</tr>
<tr>
<td><strong>Tripo</strong></td>
<td>Modelos 3D + rigging</td>
<td>Alojada</td>
<td>Plan de pago</td>
</tr>
<tr>
<td><strong>Hunyuan3D 2.1</strong></td>
<td>Modelos 3D</td>
<td>Abierta</td>
<td>Sí (con restricciones regionales)</td>
</tr>
<tr>
<td><strong>TRELLIS.2</strong></td>
<td>Modelos 3D</td>
<td>Abierta (MIT)</td>
<td>Sí</td>
</tr>
<tr>
<td><strong>FLUX.2 klein</strong></td>
<td>Imágenes/texturas</td>
<td>Abierta (Apache)</td>
<td>Sí</td>
</tr>
<tr>
<td><strong>Qwen-Image</strong></td>
<td>Imágenes/texturas</td>
<td>Abierta (Apache)</td>
<td>Sí</td>
</tr>
<tr>
<td><strong>Stable Audio 3.0</strong></td>
<td>Música + efectos de sonido</td>
<td>Abierta</td>
<td>Sí</td>
</tr>
<tr>
<td><strong>ElevenLabs</strong></td>
<td>Efectos de sonido + música</td>
<td>Alojada</td>
<td>Plan de pago</td>
</tr>
</tbody>
</table>
<h2 id="la-opcion-todo-en-uno" tabindex="-1">La opción todo en uno <a class="header-anchor" href="#la-opcion-todo-en-uno" aria-label="Permalink to &quot;La opción todo en uno&quot;"></a></h2>
<p>Combinar estas herramientas funciona, pero requiere un flujo de trabajo. Algunos creadores de juegos integran la generación en el editor: Cinevva incorpora generación de modelos 3D a partir de texto, imágenes, música y skyboxes, por lo que puedes generar un recurso e incorporarlo directamente a tu juego sin exportar e importar archivos entre herramientas. Puedes <a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=ai_asset_generators">probarlo gratis</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-mejor-generador-de-modelos-3d-con-ia-para-juegos" tabindex="-1">¿Cuál es el mejor generador de modelos 3D con IA para juegos? <a class="header-anchor" href="#¿cual-es-el-mejor-generador-de-modelos-3d-con-ia-para-juegos" aria-label="Permalink to &quot;¿Cuál es el mejor generador de modelos 3D con IA para juegos?&quot;"></a></h3>
<p>Entre las herramientas alojadas, Meshy y Tripo son las opciones versátiles más destacadas (convierten texto o imágenes en una malla texturizada y animable). Los resultados del nivel gratuito de Meshy se distribuyen bajo CC BY 4.0, por lo que puedes utilizarlos comercialmente si atribuyes la autoría a Meshy, mientras que Tripo concede derechos de uso comercial en sus planes de pago. Entre los modelos abiertos que puedes alojar por tu cuenta, Hunyuan3D 2.1 y TRELLIS.2 de Microsoft son los más potentes en 2026. La mejor opción depende de si buscas una herramienta alojada rápida o pesos abiertos aptos para uso comercial.</p>
<h3 id="¿puedo-utilizar-recursos-generados-mediante-ia-en-un-juego-comercial" tabindex="-1">¿Puedo utilizar recursos generados mediante IA en un juego comercial? <a class="header-anchor" href="#¿puedo-utilizar-recursos-generados-mediante-ia-en-un-juego-comercial" aria-label="Permalink to &quot;¿Puedo utilizar recursos generados mediante IA en un juego comercial?&quot;"></a></h3>
<p>A menudo sí, pero debes comprobar la licencia. Los modelos abiertos que alojas por tu cuenta suelen ser la opción más segura (ten en cuenta que Hunyuan3D excluye algunas regiones). Las herramientas alojadas suelen reservar los derechos de uso comercial para los planes de pago, y los resultados del nivel gratuito a menudo no pueden utilizarse con fines comerciales. Comprueba siempre las condiciones sobre los derechos de uso de los resultados del modelo y declara el contenido generado mediante IA cuando la plataforma lo exija.</p>
<h3 id="¿hay-generadores-de-recursos-con-ia-gratuitos" tabindex="-1">¿Hay generadores de recursos con IA gratuitos? <a class="header-anchor" href="#¿hay-generadores-de-recursos-con-ia-gratuitos" aria-label="Permalink to &quot;¿Hay generadores de recursos con IA gratuitos?&quot;"></a></h3>
<p>Muchas herramientas tienen niveles gratuitos, pero normalmente limitan el uso y excluyen los derechos comerciales. Los modelos abiertos como TRELLIS.2, FLUX.2 klein, Qwen-Image y Stable Audio se pueden ejecutar gratis por cuenta propia con licencias aptas para uso comercial, siempre que dispongas del hardware necesario. La tabla comparativa anterior muestra cuáles son abiertos y cuáles están alojados.</p>
<h3 id="¿puede-la-ia-generar-musica-y-efectos-de-sonido-para-juegos" tabindex="-1">¿Puede la IA generar música y efectos de sonido para juegos? <a class="header-anchor" href="#¿puede-la-ia-generar-musica-y-efectos-de-sonido-para-juegos" aria-label="Permalink to &quot;¿Puede la IA generar música y efectos de sonido para juegos?&quot;"></a></h3>
<p>Sí. Stable Audio 3.0 ofrece pesos abiertos, incluido un modelo específico para efectos de sonido; ACE-Step genera música bajo una licencia MIT; y ElevenLabs es una potente opción alojada con derechos de uso comercial en sus planes de pago. Estas herramientas cubren tanto la música como los efectos de sonido necesarios para crear todo el paisaje sonoro de un juego.</p>
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/frontier-gen-ai-models.html">Mejores modelos de IA generativa de código abierto para juegos</a> — análisis técnico detallado</li>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — recursos gratuitos ya creados</li>
<li><a href="/es/guides/free-3d-model-sites.html">Mejores sitios de modelos 3D gratuitos para juegos</a> — busca en lugar de generar</li>
<li><a href="/es/guides/free-sound-effects-music.html">Efectos de sonido y música gratuitos para juegos</a> — audio ya creado</li>
<li><a href="/es/guides/game-asset-licenses.html">Explicación de las licencias de recursos para juegos</a> — comprende sus condiciones</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/ai-asset-generators-games-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mejores generadores de juegos con IA en 2026 (clasificados y comparados)]]></title>
            <link>https://app.cinevva.com/es/guides/ai-game-generators-2026</link>
            <guid>https://app.cinevva.com/es/guides/ai-game-generators-2026</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Comparamos los mejores generadores de juegos con IA de 2026 según lo que realmente crean, 2D frente a 3D, propiedad y precio, desde Rosebud y Summer hasta Replit, Gameer, GDevelop AI y Cinevva.]]></description>
            <content:encoded><![CDATA[<h1 id="mejores-generadores-de-juegos-con-ia-en-2026-clasificados-y-comparados" tabindex="-1">Mejores generadores de juegos con IA en 2026 (clasificados y comparados) <a class="header-anchor" href="#mejores-generadores-de-juegos-con-ia-en-2026-clasificados-y-comparados" aria-label="Permalink to &quot;Mejores generadores de juegos con IA en 2026 (clasificados y comparados)&quot;"></a></h1>
<p><em>Última actualización: junio de 2026.</em></p>
<p>Escribes una frase y una IA crea un juego. Esa es la promesa, y en 2026 es una realidad, pero las herramientas que lo hacen posible son muy diferentes por dentro. Algunas crean juegos arcade 2D pulidos en el navegador. Otras son motores de escritorio que te entregan un proyecto del que eres completamente propietario. Algunas son asistentes de programación generales que, entre otras cosas, pueden crear un juego. Elegir la herramienta equivocada puede hacerte perder todo un fin de semana.</p>
<p>Esta guía compara los generadores de juegos con IA que merece la pena conocer en 2026, lo que realmente produce cada uno, si puedes ser propietario de tu juego y exportarlo, y cuánto cuesta. Hemos intentado ser sinceros sobre los puntos fuertes de cada herramienta, incluidos los aspectos en los que la nuestra destaca y aquellos en los que no.</p>
<h2 id="los-cuatro-tipos-de-«generadores-de-juegos-con-ia»" tabindex="-1">Los cuatro tipos de «generadores de juegos con IA» <a class="header-anchor" href="#los-cuatro-tipos-de-«generadores-de-juegos-con-ia»" aria-label="Permalink to &quot;Los cuatro tipos de «generadores de juegos con IA»&quot;"></a></h2>
<p>La mayoría de las listas de «mejores creadores de juegos con IA» mezclan estas categorías, y por eso resultan confusas. En realidad, hay cuatro:</p>
<ol>
<li><strong>Los creadores de juegos a partir de indicaciones</strong> generan un juego jugable desde una descripción. Rosebud, Gameer, Astrocade, Nilo y Cinevva pertenecen a esta categoría.</li>
<li><strong>Los agentes de IA integrados en motores</strong> añaden un asistente de IA dentro de un motor existente. GDevelop AI, Buildbox 4 y Unity AI pertenecen a este grupo.</li>
<li><strong>Los creadores de código generales</strong>, como Replit, pueden crear un juego porque pueden desarrollar cualquier aplicación web, pero no están especializados en juegos.</li>
<li><strong>Las herramientas de ideación y recursos</strong>, como Ludo.ai, te ayudan a planificar y generar recursos, pero no producen el juego terminado.</li>
</ol>
<p>Saber qué categoría buscas te permite reducir rápidamente las opciones.</p>
<h2 id="recomendaciones-rapidas" tabindex="-1">Recomendaciones rápidas <a class="header-anchor" href="#recomendaciones-rapidas" aria-label="Permalink to &quot;Recomendaciones rápidas&quot;"></a></h2>
<ul>
<li><strong>Resultado jugable más rápido en un navegador:</strong> Rosebud o Cinevva.</li>
<li><strong>Quieres ser propietario del código y publicar en Steam:</strong> Summer Engine.</li>
<li><strong>Ficción interactiva y novelas visuales:</strong> Gameer.</li>
<li><strong>Gratis, de código abierto y con alojamiento web:</strong> GDevelop AI.</li>
<li><strong>Juego 3D creado desde una indicación y compartible al instante mediante un enlace:</strong> Cinevva o Nilo.</li>
<li><strong>Ya desarrollas con Unity o para la web:</strong> Unity AI o Replit.</li>
</ul>
<h2 id="tabla-comparativa" tabindex="-1">Tabla comparativa <a class="header-anchor" href="#tabla-comparativa" aria-label="Permalink to &quot;Tabla comparativa&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Herramienta</th>
<th>Crea</th>
<th>2D / 3D</th>
<th>¿Eres propietario del código?</th>
<th>Compartible en la web</th>
<th>Plan gratuito</th>
<th>Plan de pago más barato</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/es/engine.html"><strong>Cinevva</strong></a></td>
<td>Juego jugable</td>
<td>2D + 3D (web)</td>
<td>✅ descarga</td>
<td>✅ enlace</td>
<td>✅</td>
<td>consulta los <a href="/es/plans.html">planes</a></td>
</tr>
<tr>
<td><a href="https://rosebud.ai/" target="_blank" rel="noreferrer"><strong>Rosebud</strong></a></td>
<td>Juego jugable</td>
<td>2D + 3D</td>
<td>Exportación de JS</td>
<td>✅ enlace</td>
<td>✅ ~20 indicaciones/semana</td>
<td>~$10/mes</td>
</tr>
<tr>
<td><a href="https://www.summerengine.com/" target="_blank" rel="noreferrer"><strong>Summer Engine</strong></a></td>
<td>Proyecto de motor real</td>
<td>2D + 3D</td>
<td>✅ completo (Godot)</td>
<td>❌ compilaciones nativas</td>
<td>✅</td>
<td>$20/mes</td>
</tr>
<tr>
<td><a href="https://www.gameer.io/" target="_blank" rel="noreferrer"><strong>Gameer</strong></a></td>
<td>Historia interactiva</td>
<td>2D</td>
<td>❌ ligado al motor</td>
<td>✅ enlace</td>
<td>✅</td>
<td>$1.99/mes</td>
</tr>
<tr>
<td><a href="https://gdevelop.io/" target="_blank" rel="noreferrer"><strong>GDevelop AI</strong></a></td>
<td>Proyecto de motor</td>
<td>2D + 3D</td>
<td>✅ código abierto</td>
<td>✅ gd.games</td>
<td>✅ ~40 créditos/mes</td>
<td>~$5.49/mes</td>
</tr>
<tr>
<td><a href="https://replit.com/" target="_blank" rel="noreferrer"><strong>Replit</strong></a></td>
<td>Aplicación/juego web</td>
<td>2D (3D posible)</td>
<td>✅ exportación de código</td>
<td>✅ URL</td>
<td>✅</td>
<td>$25/mes</td>
</tr>
<tr>
<td><a href="https://unity.com/" target="_blank" rel="noreferrer"><strong>Unity AI</strong></a></td>
<td>Proyecto de Unity</td>
<td>2D + 3D</td>
<td>✅ tu proyecto</td>
<td>Exportación WebGL</td>
<td>prueba</td>
<td>$10/mes</td>
</tr>
<tr>
<td><a href="https://www.buildbox.com/" target="_blank" rel="noreferrer"><strong>Buildbox 4</strong></a></td>
<td>Juego sin código</td>
<td>2D + 3D</td>
<td>❌ ligado al motor</td>
<td>Exportación HTML5</td>
<td>✅</td>
<td>~$48.99/año</td>
</tr>
<tr>
<td><a href="https://www.astrocade.com/" target="_blank" rel="noreferrer"><strong>Astrocade</strong></a></td>
<td>Juego social</td>
<td>2D (afirma ofrecer 3D)</td>
<td>❌ bloqueado</td>
<td>✅ enlace</td>
<td>✅</td>
<td>no disponible (consultar)</td>
</tr>
<tr>
<td><a href="https://nilo.io/" target="_blank" rel="noreferrer"><strong>Nilo</strong></a></td>
<td>Mundo/recursos 3D</td>
<td>3D</td>
<td>exportación FBX/glTF</td>
<td>✅ enlace + Roblox</td>
<td>✅ beta</td>
<td>aún no disponible</td>
</tr>
</tbody>
</table>
<p>Los precios son aproximados y cambian con frecuencia, así que confírmalos antes de pagar. Los planes gratuitos suelen restringir los derechos de uso comercial; revisa las condiciones antes de publicar cualquier juego que quieras vender.</p>
<h2 id="herramienta-por-herramienta" tabindex="-1">Herramienta por herramienta <a class="header-anchor" href="#herramienta-por-herramienta" aria-label="Permalink to &quot;Herramienta por herramienta&quot;"></a></h2>
<h3 id="rosebud-ai" tabindex="-1">Rosebud AI <a class="header-anchor" href="#rosebud-ai" aria-label="Permalink to &quot;Rosebud AI&quot;"></a></h3>
<p>Rosebud convierte indicaciones en juegos ejecutables en el navegador y destaca especialmente en 2D, aunque su compatibilidad con 3D y vóxeles sigue creciendo. Por debajo, genera JavaScript (Three.js para 3D y Phaser para 2D), así que, en principio, el resultado es portable. Puedes iterar chateando con su asistente, que genera sprites y PNJ por ti, y publicar el juego en una URL compartible alojada por Rosebud. El plan gratuito ofrece unas pocas indicaciones por semana sin derechos comerciales; los planes de pago permiten el uso comercial. Es ideal para principiantes, educadores y participantes en game jams que busquen la vía más rápida para obtener un enlace a un juego 2D.</p>
<h3 id="summer-engine" tabindex="-1">Summer Engine <a class="header-anchor" href="#summer-engine" aria-label="Permalink to &quot;Summer Engine&quot;"></a></h3>
<p>Summer es la mejor opción si quieres publicar y vender un juego real, además de ser propietario de todo. Es un motor de escritorio nativo de IA que se presenta como una alternativa directa a Godot 4, por lo que tu proyecto utiliza archivos estándar de Godot (GDScript o C#) sin dependencia de una plataforma propietaria. Describes escenas y lógica mediante el chat, genera código y recursos, y puedes exportar a Windows, macOS, Linux, dispositivos móviles, web y Steam, conservando todos tus ingresos. La contrapartida frente a las herramientas para navegador es que se trata de una aplicación de escritorio orientada a publicar en tiendas, no a generar un enlace público al instante. Cabe señalar que Summer publica muchas de las recopilaciones de «mejores creadores de juegos con IA» que sitúan a Summer en primer lugar, así que conviene tenerlo en cuenta al valorarlas.</p>
<h3 id="gameer" tabindex="-1">Gameer <a class="header-anchor" href="#gameer" aria-label="Permalink to &quot;Gameer&quot;"></a></h3>
<p>Gameer crea en pocos minutos juegos cinematográficos de historias interactivas y novelas visuales a partir de una indicación de texto sencillo, sin necesidad de programar. Un sistema multiagente se encarga de la narrativa, los elementos visuales y las mecánicas. Obtienes al instante un enlace compartible, aunque el juego queda ligado al entorno de ejecución de Gameer. Está diseñado para escritores, educadores y profesionales del marketing que quieren crear ficción ramificada, no acción en tiempo real ni 3D.</p>
<h3 id="gdevelop-ai" tabindex="-1">GDevelop AI <a class="header-anchor" href="#gdevelop-ai" aria-label="Permalink to &quot;GDevelop AI&quot;"></a></h3>
<p>GDevelop es un motor gratuito y de código abierto que incorporó un agente de IA dentro del editor. Puedes pedirle que cree funciones o juegos completos, y escribirá eventos y comportamientos en tu proyecto editable. Permite desarrollar en 2D y ofrece capacidades 3D cada vez mayores, exporta a web, Android, iOS y escritorio, y proporciona alojamiento público gratuito en gd.games con enlaces para compartir. La IA funciona mediante una asignación mensual de créditos, y los planes de pago incluyen más. Es una opción gratuita, abierta y sólida si no te importa tener un límite de créditos y realizar varias iteraciones.</p>
<h3 id="replit" tabindex="-1">Replit <a class="header-anchor" href="#replit" aria-label="Permalink to &quot;Replit&quot;"></a></h3>
<p>El Agent de Replit es un creador generalista de aplicaciones full stack, no un motor de juegos, pero puede crear un juego web a partir de una descripción y desplegarlo en una URL pública. No genera sprites, música ni sonidos, por lo que tendrás que aportar tus propios recursos, y se orienta principalmente al 2D. Es ideal para quienes ya saben dirigir una herramienta de programación con IA y quieren un resultado ejecutable en la web que puedan controlar por completo.</p>
<h3 id="unity-ai" tabindex="-1">Unity AI <a class="header-anchor" href="#unity-ai" aria-label="Permalink to &quot;Unity AI&quot;"></a></h3>
<p>Unity sustituyó su antiguo producto Muse por Unity AI, disponible en beta abierta desde mayo de 2026. Es un agente integrado en el editor de Unity 6 que genera código C#, recursos provisionales y escenas mediante modelos de vanguardia. Trabajas dentro de tu propio proyecto de Unity, mantienes la propiedad de tu juego y puedes exportarlo a WebGL, entre otras plataformas. Está dirigido a quienes ya trabajan con Unity y quieren asistencia de IA, no a principiantes que esperan crear un juego a partir de una sola frase.</p>
<h3 id="buildbox-4-astrocade-y-nilo" tabindex="-1">Buildbox 4, Astrocade y Nilo <a class="header-anchor" href="#buildbox-4-astrocade-y-nilo" aria-label="Permalink to &quot;Buildbox 4, Astrocade y Nilo&quot;"></a></h3>
<p><strong>Buildbox 4</strong> es un motor sin código orientado principalmente a juegos móviles hipercasuales que incorporó generación de recursos y nodos mediante IA; permite exportar a HTML5, pero el proyecto queda ligado al motor. <strong>Astrocade</strong> es una plataforma social bien financiada para crear y compartir juegos al instante cuyos resultados tienden a ser 2D en la práctica, a pesar de su promoción del 3D, con una fuerte dependencia de la plataforma y sin exportación de código. <strong>Nilo</strong> es la herramienta de IA 3D para navegador más parecida a lo que desarrollamos, con un fuerte enfoque en la exportación a Roblox y un público objetivo más joven; está en beta gratuita.</p>
<h2 id="como-elegir" tabindex="-1">Cómo elegir <a class="header-anchor" href="#como-elegir" aria-label="Permalink to &quot;Cómo elegir&quot;"></a></h2>
<p>Hazte tres preguntas. Primero, ¿necesitas 3D o te basta con 2D? La mayoría de las herramientas rinden mejor en 2D, y crear 3D fiable a partir de una indicación es el difícil listón que pocas superan. Segundo, ¿necesitas ser propietario del código y exportarlo, o te basta con un enlace alojado? Summer, GDevelop, Unity AI y Cinevva permiten exportar tu proyecto (Cinevva te deja descargar el juego completo para alojarlo donde quieras); Rosebud, Gameer y Astrocade apuestan más por el enlace compartible al instante. Tercero, ¿vas a publicar en Steam y tiendas de aplicaciones o solo quieres compartir un enlace con amigos? Para las tiendas, los motores de escritorio son mejores; para los enlaces, destacan las herramientas de navegador.</p>
<h2 id="el-lugar-de-cinevva" tabindex="-1">El lugar de Cinevva <a class="header-anchor" href="#el-lugar-de-cinevva" aria-label="Permalink to &quot;El lugar de Cinevva&quot;"></a></h2>
<p>Vamos a ser sinceros. La parte más saturada del mercado es la creación de juegos 2D en el navegador (Rosebud, Astrocade, Gameer y Replit). Cinevva ocupa un espacio mucho menos concurrido: funciona mediante chat, crea tanto juegos 2D como juegos verdaderamente 3D, se ejecuta en el navegador sobre un motor real basado en Three.js, permite compartirlos al instante mediante un enlace y exportarlos como juegos completos que puedes descargar y alojar donde quieras. Además, incorpora generación de texto a 3D, imágenes, música y skyboxes, junto con bibliotecas integradas de recursos CC0. La exportación del código es importante porque varios competidores centrados en compartir al instante (Astrocade y Gameer) mantienen tu juego ligado a su entorno de ejecución. La herramienta más cercana a esta combinación es Nilo, que se inclina por exportar recursos 3D a Roblox y se dirige a un público más joven. Por eso, el hueco en el que nos centramos es el juego web autoalojable que puedes tanto compartir como descargar.</p>
<p>La salvedad honesta es que el «3D real a partir de una indicación» es la afirmación más difícil de cumplir en esta categoría, y los analistas hacen bien en mostrarse escépticos. La forma justa de evaluar cualquiera de estas herramientas, incluida la nuestra, es crear algo y compartir el enlace. Puedes <a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=ai_game_generators">crear gratis un juego 3D a partir de una indicación</a> y ver el resultado, o <a href="/es/guides/vibe-coding-game-prompts.html">empezar con una indicación de un solo clic</a> si prefieres no quedarte mirando un cuadro vacío.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-mejor-generador-de-juegos-con-ia-en-2026" tabindex="-1">¿Cuál es el mejor generador de juegos con IA en 2026? <a class="header-anchor" href="#¿cual-es-el-mejor-generador-de-juegos-con-ia-en-2026" aria-label="Permalink to &quot;¿Cuál es el mejor generador de juegos con IA en 2026?&quot;"></a></h3>
<p>No existe uno que sea el mejor para todo, porque estas herramientas responden a objetivos diferentes. Para crear rápidamente un juego 2D en el navegador, Rosebud es excelente. Para un juego 3D de navegador que puedas compartir al instante, Cinevva o Nilo. Para un juego del que seas propietario y que puedas publicar en Steam, Summer Engine. Para una opción gratuita y de código abierto, GDevelop AI. Elige según necesites 2D o 3D, quieras ser propietario del código y vayas a compartir un enlace o publicar en una tienda.</p>
<h3 id="¿puede-la-ia-crear-realmente-un-juego-completo-a-partir-de-una-indicacion" tabindex="-1">¿Puede la IA crear realmente un juego completo a partir de una indicación? <a class="header-anchor" href="#¿puede-la-ia-crear-realmente-un-juego-completo-a-partir-de-una-indicacion" aria-label="Permalink to &quot;¿Puede la IA crear realmente un juego completo a partir de una indicación?&quot;"></a></h3>
<p>Para juegos pequeños y casuales, sí, especialmente en 2D. La IA se encarga del movimiento, las colisiones, la física y el arte básico, por lo que puedes pasar de una idea a un juego funcional en cuestión de minutos. Los juegos más grandes o pulidos todavía requieren iteraciones y trabajo de diseño humano, y para la IA es más difícil acertar con el 3D que con el 2D. Considera la primera generación como un punto de partida sólido que debes perfeccionar, no como un producto terminado.</p>
<h3 id="¿soy-propietario-de-los-juegos-que-creo-con-un-generador-de-juegos-con-ia" tabindex="-1">¿Soy propietario de los juegos que creo con un generador de juegos con IA? <a class="header-anchor" href="#¿soy-propietario-de-los-juegos-que-creo-con-un-generador-de-juegos-con-ia" aria-label="Permalink to &quot;¿Soy propietario de los juegos que creo con un generador de juegos con IA?&quot;"></a></h3>
<p>Depende de la herramienta. Las herramientas basadas en motores, como Summer, GDevelop y Unity AI, te proporcionan un proyecto real del que eres propietario y que puedes exportar. Las plataformas alojadas que crean juegos a partir de indicaciones varían: algunas permiten exportar el código, otras mantienen el juego ligado a su entorno de ejecución y muchas reservan los derechos comerciales para los planes de pago. Lee siempre las condiciones antes de vender nada.</p>
<h3 id="¿se-pueden-crear-gratis-juegos-generados-por-ia" tabindex="-1">¿Se pueden crear gratis juegos generados por IA? <a class="header-anchor" href="#¿se-pueden-crear-gratis-juegos-generados-por-ia" aria-label="Permalink to &quot;¿Se pueden crear gratis juegos generados por IA?&quot;"></a></h3>
<p>La mayoría de las herramientas ofrecen un plan gratuito lo bastante completo como para probarlas, pero estos planes suelen limitar cuánto puedes generar y a menudo excluyen los derechos comerciales. Lo habitual es tener que pagar cuando quieras publicar con fines comerciales, generar mucho contenido o exportar. La tabla comparativa anterior muestra el plan gratuito y el plan de pago más barato de cada herramienta.</p>
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/make-a-game-with-ai.html">Cómo crear un juego con IA (guía de 2026)</a> — el flujo de trabajo completo sin código, paso a paso</li>
<li><a href="/es/guides/3d-browser-game-without-coding.html">Cómo crear un juego 3D para navegador sin programar</a> — la ruta específica para 3D</li>
<li><a href="/es/guides/vibe-coding-games.html">Vibe coding de juegos: qué es y cómo empezar</a> — el concepto, el flujo de trabajo y los errores habituales</li>
<li><a href="/es/guides/vibe-coding-game-prompts.html">Indicaciones para juegos con IA que puedes crear con un clic</a> — puntos de partida para probar</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Mejores motores de juegos web para 2026</a> — si prefieres crear el juego a mano</li>
<li><a href="/es/guides/frontier-gen-ai-models.html">Mejores modelos de IA generativa de código abierto para juegos</a> — los modelos detrás de la generación de recursos mediante IA</li>
<li><a href="/es/guides/ai-npcs-dialogue.html">PNJ con IA y diálogos en los juegos</a> — IA dentro del juego, no solo para crearlo</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/ai-game-generators-2026-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Los mejores motores de videojuegos gratuitos para principiantes (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/best-free-game-engines-beginners</link>
            <guid>https://app.cinevva.com/es/guides/best-free-game-engines-beginners</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Los mejores motores de videojuegos gratuitos para principiantes en 2026, desde herramientas sin código como GDevelop hasta Godot y Phaser, con los puntos fuertes de cada uno y cómo elegir tu primer motor.]]></description>
            <content:encoded><![CDATA[<h1 id="los-mejores-motores-de-videojuegos-gratuitos-para-principiantes-2026" tabindex="-1">Los mejores motores de videojuegos gratuitos para principiantes (2026) <a class="header-anchor" href="#los-mejores-motores-de-videojuegos-gratuitos-para-principiantes-2026" aria-label="Permalink to &quot;Los mejores motores de videojuegos gratuitos para principiantes (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Cuando empiezas, el mejor motor es el que te permite llegar más rápido a un juego jugable sin pagar ni enfrentarte a una barrera de código demasiado alta. La buena noticia en 2026 es que las mejores opciones para principiantes son completamente gratuitas. Estas son nuestras recomendaciones, ordenadas según cuánto código quieras escribir, además de la nueva vía de «describírselo a una IA».</p>
<h2 id="recomendaciones-rapidas-segun-tu-punto-de-partida" tabindex="-1">Recomendaciones rápidas según tu punto de partida <a class="header-anchor" href="#recomendaciones-rapidas-segun-tu-punto-de-partida" aria-label="Permalink to &quot;Recomendaciones rápidas según tu punto de partida&quot;"></a></h2>
<ul>
<li><strong>Nada de código y quieres crear un juego hoy:</strong> GDevelop o una herramienta de IA que convierta instrucciones en juegos.</li>
<li><strong>Un poco de código y quieres aprender bien:</strong> Godot.</li>
<li><strong>Ya sabes algo de JavaScript:</strong> Phaser.</li>
<li><strong>Programación visual con un editor pulido:</strong> Construct (plan gratuito) o GDevelop.</li>
</ul>
<h2 id="los-mejores-motores-gratuitos" tabindex="-1">Los mejores motores gratuitos <a class="header-anchor" href="#los-mejores-motores-gratuitos" aria-label="Permalink to &quot;Los mejores motores gratuitos&quot;"></a></h2>
<h3 id="gdevelop" tabindex="-1">GDevelop <a class="header-anchor" href="#gdevelop" aria-label="Permalink to &quot;GDevelop&quot;"></a></h3>
<p>Es gratuito y de código abierto, funciona en el navegador o como aplicación de escritorio y permite crear la lógica mediante hojas de eventos visuales en lugar de código. Sirve para 2D y, cada vez más, para 3D; exporta a web, dispositivos móviles y escritorio, y ofrece alojamiento gratuito en gd.games con un enlace para compartir. Incluso ha añadido un agente de IA capaz de crear funciones a partir de instrucciones. Es el mejor punto de partida sin código para la mayoría de los principiantes y no cuesta nada publicar un juego.</p>
<h3 id="godot" tabindex="-1">Godot <a class="header-anchor" href="#godot" aria-label="Permalink to &quot;Godot&quot;"></a></h3>
<p>Es gratuito y de código abierto bajo la licencia MIT, sin comisiones ni límites de ingresos. Godot sirve tanto para 2D como para 3D, cuenta con un lenguaje de scripting accesible (GDScript) y dispone de una enorme biblioteca de tutoriales gratuitos. La versión actual es la 4.7 (junio de 2026). Es la mejor opción si quieres aprender programación de videojuegos de verdad sin preocuparte por las licencias, y puede acompañarte desde tu primer proyecto hasta la publicación de un juego completo. Una observación: los proyectos en C# no se pueden exportar a la web, así que usa GDScript si tu objetivo es el navegador.</p>
<h3 id="phaser" tabindex="-1">Phaser <a class="header-anchor" href="#phaser" aria-label="Permalink to &quot;Phaser&quot;"></a></h3>
<p>Gratuito bajo la licencia MIT, Phaser es el framework de juegos HTML5 más popular, con la mayor comunidad y la mayor cantidad de tutoriales para juegos web 2D. La versión 4 se publicó en 2026. Se basa principalmente en código (JavaScript o TypeScript), por lo que resulta adecuado para principiantes que ya conocen un poco de desarrollo web y quieren aprender escribiendo código en lugar de utilizar un editor visual.</p>
<h3 id="construct-plan-gratuito" tabindex="-1">Construct (plan gratuito) <a class="header-anchor" href="#construct-plan-gratuito" aria-label="Permalink to &quot;Construct (plan gratuito)&quot;"></a></h3>
<p>Construct es un motor visual basado en hojas de eventos que funciona en el navegador sin necesidad de programar. Su plan gratuito permite crear y publicar juegos 2D en la web, aunque con límites —como un máximo de eventos y capas— que se quedan cortos a medida que los proyectos crecen. Es ideal para principiantes absolutos que buscan un editor pulido y guiado; solo necesitarás una suscripción cuando quieras ampliar tus proyectos.</p>
<h3 id="la-via-de-la-ia-y-el-desarrollo-sin-codigo" tabindex="-1">La vía de la IA y el desarrollo sin código <a class="header-anchor" href="#la-via-de-la-ia-y-el-desarrollo-sin-codigo" aria-label="Permalink to &quot;La vía de la IA y el desarrollo sin código&quot;"></a></h3>
<p>Una opción más reciente consiste en describir un juego a una herramienta de IA que convierte instrucciones en juegos y perfeccionarlo mediante una conversación, sin instalar ningún motor. Es la forma más rápida de pasar de una idea a un juego jugable y listo para compartir, especialmente en 3D, donde las herramientas clásicas sin código son más limitadas. Consulta <a href="/es/guides/make-a-game-with-ai.html">cómo crear un juego con IA</a> y nuestra <a href="/es/guides/ai-game-generators-2026.html">comparativa de generadores de juegos con IA</a>.</p>
<h2 id="comparativa" tabindex="-1">Comparativa <a class="header-anchor" href="#comparativa" aria-label="Permalink to &quot;Comparativa&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Motor</th>
<th>Código necesario</th>
<th>2D / 3D</th>
<th>Funciona en el navegador</th>
<th>Publicación web</th>
<th>Coste</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>GDevelop</strong></td>
<td>Ninguno (visual)</td>
<td>2D + 3D</td>
<td>Sí</td>
<td>gd.games</td>
<td>Gratis</td>
</tr>
<tr>
<td><strong>Godot</strong></td>
<td>Básico (GDScript)</td>
<td>2D + 3D</td>
<td>Escritorio</td>
<td>Exportación</td>
<td>Gratis (MIT)</td>
</tr>
<tr>
<td><strong>Phaser</strong></td>
<td>Sí (JS/TS)</td>
<td>2D</td>
<td>Sí</td>
<td>Alojamiento propio</td>
<td>Gratis (MIT)</td>
</tr>
<tr>
<td><strong>Construct</strong></td>
<td>Ninguno (visual)</td>
<td>2D</td>
<td>Sí</td>
<td>Plan gratuito</td>
<td>Plan gratuito; de pago para ampliar</td>
</tr>
<tr>
<td><strong>IA que convierte instrucciones en juegos</strong></td>
<td>Ninguno (solo describirlo)</td>
<td>2D + 3D</td>
<td>Sí</td>
<td>Enlace instantáneo</td>
<td>Gratis para empezar</td>
</tr>
</tbody>
</table>
<h2 id="como-elegir-tu-primer-motor" tabindex="-1">Cómo elegir tu primer motor <a class="header-anchor" href="#como-elegir-tu-primer-motor" aria-label="Permalink to &quot;Cómo elegir tu primer motor&quot;"></a></h2>
<p>No le des demasiadas vueltas. Elige el motor según cuánto código quieras escribir y empieza con algo pequeño. Si la idea de programar te desanima, comienza con GDevelop y publica un juego diminuto esta semana. Si quieres aprender programación al mismo tiempo que diseño, empieza con Godot y sigue uno de sus numerosos tutoriales para principiantes. Si ya sabes JavaScript, Phaser te resultará natural. Y si solo quieres ver tu idea convertida en un juego lo antes posible, prueba la vía de la IA y pasa después a un motor de código o visual a medida que crezcan tus proyectos. El mayor error de los principiantes es elegir un motor profesional complejo, sentirse abrumados y abandonar. Un juego pequeño terminado con un motor sencillo te enseña más que un gran proyecto abandonado.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-motor-de-videojuegos-gratuito-mas-facil-para-principiantes" tabindex="-1">¿Cuál es el motor de videojuegos gratuito más fácil para principiantes? <a class="header-anchor" href="#¿cual-es-el-motor-de-videojuegos-gratuito-mas-facil-para-principiantes" aria-label="Permalink to &quot;¿Cuál es el motor de videojuegos gratuito más fácil para principiantes?&quot;"></a></h3>
<p>GDevelop es el punto de partida gratuito más sencillo: no requiere código —utiliza hojas de eventos visuales—, funciona en el navegador y permite publicar gratis en la web. Construct es igual de accesible para principiantes y ofrece un plan gratuito. Si no quieres configurar absolutamente nada, una herramienta de IA que convierte instrucciones en juegos puede generar un juego jugable a partir de una descripción.</p>
<h3 id="¿godot-es-adecuado-para-principiantes" tabindex="-1">¿Godot es adecuado para principiantes? <a class="header-anchor" href="#¿godot-es-adecuado-para-principiantes" aria-label="Permalink to &quot;¿Godot es adecuado para principiantes?&quot;"></a></h3>
<p>Sí. Godot es gratuito y de código abierto, cuenta con un lenguaje de scripting accesible para principiantes (GDScript) y ofrece una gran biblioteca de tutoriales gratuitos. Es la mejor opción gratuita si quieres aprender programación de videojuegos de verdad, y sirve tanto para 2D como para 3D. Ten en cuenta que los proyectos en C# no se pueden exportar a la web, así que utiliza GDScript si tu objetivo son los navegadores.</p>
<h3 id="¿necesito-saber-programar-para-crear-un-juego" tabindex="-1">¿Necesito saber programar para crear un juego? <a class="header-anchor" href="#¿necesito-saber-programar-para-crear-un-juego" aria-label="Permalink to &quot;¿Necesito saber programar para crear un juego?&quot;"></a></h3>
<p>No. Los motores sin código como GDevelop y Construct permiten crear juegos mediante lógica visual, mientras que las herramientas de IA que convierten instrucciones en juegos pueden generar uno a partir de una descripción en lenguaje natural. Saber programar proporciona más control y merece la pena aprender con el tiempo, pero hoy mismo puedes crear y publicar un juego real sin escribir código.</p>
<h3 id="¿que-motor-gratuito-deberia-aprender-en-2026" tabindex="-1">¿Qué motor gratuito debería aprender en 2026? <a class="header-anchor" href="#¿que-motor-gratuito-deberia-aprender-en-2026" aria-label="Permalink to &quot;¿Qué motor gratuito debería aprender en 2026?&quot;"></a></h3>
<p>Elige según cuánto código quieras escribir: GDevelop o una herramienta de IA si no quieres programar, Godot si quieres aprender programación y Phaser si ya sabes JavaScript. Todos permiten publicar juegos comerciales de forma gratuita. Empieza por el que te resulte más accesible, termina un juego pequeño y avanza desde ahí.</p>
<BuildCta
  title="Crea tu primer juego antes de instalar nada"
  desc="La forma más rápida de descubrir si crear juegos es para ti."
  prompt="Crea un circuito de obstáculos 3D sencillo con puntos de control y una línea de meta" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/vibe-coding-game-prompts.html">100 ideas de instrucciones para crear juegos con IA en un solo clic</a> — toma prestada una idea y conviértela en un juego en aproximadamente un minuto</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Los mejores motores de juegos web para 2026</a> — todas las opciones para cuando quieras avanzar</li>
<li><a href="/es/guides/best-2d-game-engines-2026.html">Los mejores motores de juegos 2D para 2026</a> — si tu primer juego es 2D</li>
<li><a href="/es/guides/make-a-game-with-ai.html">Cómo crear un juego con IA (sin programar)</a> — la vía de la IA sin código</li>
<li><a href="/es/guides/3d-browser-game-without-coding.html">Cómo crear un juego 3D para navegador sin programar</a> — 3D para principiantes</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo publicar tu juego en itch.io</a> — publica tu primer juego</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/best-free-game-engines-beginners-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mejores sitios de modelos 3D gratuitos para juegos (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/free-3d-model-sites</link>
            <guid>https://app.cinevva.com/es/guides/free-3d-model-sites</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Los mejores sitios de modelos 3D gratuitos para juegos en 2026, desde fuentes CC0 como Kenney, Quaternius y Poly Haven hasta Sketchfab y los sucesores de Google Poly, con sus licencias explicadas.]]></description>
            <content:encoded><![CDATA[<h1 id="mejores-sitios-de-modelos-3d-gratuitos-para-juegos-2026" tabindex="-1">Mejores sitios de modelos 3D gratuitos para juegos (2026) <a class="header-anchor" href="#mejores-sitios-de-modelos-3d-gratuitos-para-juegos-2026" aria-label="Permalink to &quot;Mejores sitios de modelos 3D gratuitos para juegos (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>No necesitas modelarlo todo por tu cuenta ni pagar por ello. Hay una enorme cantidad de modelos 3D gratuitos y listos para usar en juegos, y los mejores son CC0, lo que significa que puedes utilizarlos comercialmente sin atribución. Estos son los sitios que merece la pena guardar en favoritos en 2026, ordenados según el uso que realmente les darás y con las licencias claramente explicadas.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/pC937t3NlOA" title="Miles de modelos 3D GRATUITOS para juegos (recursos CC0 de Quaternius)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Un recorrido por miles de modelos 3D gratuitos y CC0 para juegos de Quaternius.</div>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Necesidad</th>
<th>Mejor fuente</th>
<th>Licencia</th>
<th>Atribución</th>
</tr>
</thead>
<tbody>
<tr>
<td>Objetos listos para juegos con un estilo coherente</td>
<td>Kenney</td>
<td>CC0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Personajes low-poly estilizados</td>
<td>Quaternius, KayKit</td>
<td>CC0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Objetos, texturas y HDRI fotorrealistas</td>
<td>Poly Haven</td>
<td>CC0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Mayor variedad y modelos complejos</td>
<td>Sketchfab</td>
<td>Mixta, filtra por modelo</td>
<td>Depende del modelo</td>
</tr>
<tr>
<td>Archivo de Google Poly y objetos estilizados rápidos</td>
<td>Poly Pizza, Icosa Gallery</td>
<td>Principalmente CC-BY</td>
<td>Acredita al creador</td>
</tr>
<tr>
<td>Escaneos gratuitos de calidad AAA</td>
<td>Fab (paquete inicial de Megascans)</td>
<td>Fab Standard, algunos CC</td>
<td>Ninguna; revisa la publicación</td>
</tr>
<tr>
<td>Enorme biblioteca centrada en Blender</td>
<td>Nivel gratuito de BlenderKit</td>
<td>Libre de regalías y CC0</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Arte comunitario apto para proyectos de código abierto</td>
<td>OpenGameArt</td>
<td>CC0, CC-BY, OGA-BY, GPL</td>
<td>Depende del recurso</td>
</tr>
<tr>
<td>Recursos gratuitos de marketplaces</td>
<td>CGTrader, TurboSquid</td>
<td>Libre de regalías</td>
<td>Ninguna</td>
</tr>
<tr>
<td>Escaneos de museos y del espacio</td>
<td>Smithsonian, NASA</td>
<td>CC0 / obra del Gobierno de EE. UU.</td>
<td>Ninguna</td>
</tr>
</tbody>
</table>
<h2 id="recomendaciones-rapidas" tabindex="-1">Recomendaciones rápidas <a class="header-anchor" href="#recomendaciones-rapidas" aria-label="Permalink to &quot;Recomendaciones rápidas&quot;"></a></h2>
<ul>
<li><strong>Listos para juegos, estilo coherente y sin complicaciones:</strong> Kenney, Quaternius y KayKit (todos CC0).</li>
<li><strong>Modelos, texturas y HDRI fotorrealistas:</strong> Poly Haven (CC0).</li>
<li><strong>Mayor variedad y modelos complejos:</strong> Sketchfab (licencias mixtas; revisa cada modelo).</li>
<li><strong>Low-poly y archivo de Google Poly:</strong> Poly Pizza e Icosa Gallery (principalmente CC-BY).</li>
<li><strong>Objetos poco habituales que nadie más tiene:</strong> Smithsonian Open Access y NASA 3D Resources.</li>
</ul>
<h2 id="los-imprescindibles-cc0-sin-atribucion-y-seguros-para-uso-comercial" tabindex="-1">Los imprescindibles CC0 (sin atribución y seguros para uso comercial) <a class="header-anchor" href="#los-imprescindibles-cc0-sin-atribucion-y-seguros-para-uso-comercial" aria-label="Permalink to &quot;Los imprescindibles CC0 (sin atribución y seguros para uso comercial)&quot;"></a></h2>
<h3 id="kenney" tabindex="-1">Kenney <a class="header-anchor" href="#kenney" aria-label="Permalink to &quot;Kenney&quot;"></a></h3>
<p>El mejor punto de partida. Kenney ofrece decenas de miles de recursos listos para usar en juegos, todos CC0, entre modelos 3D, sprites, interfaces y audio, con estilos artísticos coherentes que puedes combinar. Todo está optimizado para juegos, con atlas de texturas compartidos y cantidades de polígonos razonables. Si quieres conseguir rápidamente un aspecto uniforme, empieza aquí.</p>
<figure class="sample-sheet">
<a href="/es/assets?providers=kenney"><img src="https://cdn.cinevva.com/guides/samples/samples-kenney-3d.jpg" alt="Ejemplos de modelos 3D CC0 de Kenney: coche de carreras, nave espacial, torre de asedio, casa, barco pirata, molino de viento, ovni y camión de bomberos" loading="lazy"></a>
<figcaption>Ocho objetos de Kenney, todos CC0. <a href="/es/assets?providers=kenney">Explora la colección completa de Kenney en la biblioteca de recursos</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://kenney.nl" target="_blank" rel="noreferrer">kenney.nl</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0, no requiere atribución</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 270 paquetes y decenas de miles de recursos individuales</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLB/GLTF, OBJ y FBX para 3D, además de PNG y WAV</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, un ZIP gratuito por paquete, sin necesidad de cuenta</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Crear prototipos rápidamente y publicar con un único estilo coherente</td>
</tr>
</tbody>
</table>
<h3 id="quaternius" tabindex="-1">Quaternius <a class="header-anchor" href="#quaternius" aria-label="Permalink to &quot;Quaternius&quot;"></a></h3>
<p>Modelos 3D low-poly simpáticos y estilizados, todos CC0, organizados en paquetes temáticos (personajes, entornos, vehículos y monstruos), además de una biblioteca universal de animaciones que funciona con todos los paquetes de personajes. Perfecto para juegos independientes que buscan una estética low-poly encantadora.</p>
<figure class="sample-sheet">
<a href="/es/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-quaternius.jpg" alt="Ejemplos de modelos low-poly CC0 de Quaternius: monstruos, capitán pirata, meca, mago, nave espacial, shiba inu y caballero" loading="lazy"></a>
<figcaption>Personajes y naves de Quaternius, todos CC0 y animados en su mayoría. <a href="/es/assets">Búscalos en la biblioteca de recursos gratuitos</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://quaternius.com" target="_blank" rel="noreferrer">quaternius.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0, no requiere atribución</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Casi 80 paquetes temáticos y más de 1.100 modelos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF/GLB, FBX</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, un ZIP gratuito por paquete</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Personajes y criaturas low-poly con animaciones a juego</td>
</tr>
</tbody>
</table>
<h3 id="kaykit-de-kay-lousberg" tabindex="-1">KayKit de Kay Lousberg <a class="header-anchor" href="#kaykit-de-kay-lousberg" aria-label="Permalink to &quot;KayKit de Kay Lousberg&quot;"></a></h3>
<p>KayKit es la línea de paquetes de recursos low-poly de Kay Lousberg y llena el espacio entre Kenney y Quaternius con kits de mazmorras, paquetes de personajes (aventureros y esqueletos), terrenos hexagonales y decenas de paquetes temáticos de objetos «Bits». La mayoría de los paquetes son gratuitos y CC0, con un paquete completo de pago si quieres obtenerlo todo de una vez. Los paquetes de personajes incluyen animaciones y están equipados con esqueletos bien preparados.</p>
<figure class="sample-sheet">
<a href="/es/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-kaykit.jpg" alt="Ejemplos de modelos CC0 de KayKit: cofre del tesoro, mago esqueleto, caballero, torre hexagonal, maga, torre de agua, barril y calabaza de Halloween" loading="lazy"></a>
<figcaption>Paquetes de mazmorras y personajes de KayKit, CC0. <a href="/es/assets">Busca KayKit en la biblioteca de recursos</a>.</figcaption>
</figure>
<figure class="sample-sheet">
<a href="/es/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-kaylousberg.jpg" alt="Ejemplos de objetos CC0 para interiores y parques de Kay Lousberg: frigorífico, tarta de cumpleaños, cactus, árbol, banco de parque, bañera, fuente y pan" loading="lazy"></a>
<figcaption>Paquetes Bits de objetos domésticos y para parques de Kay Lousberg, CC0. <a href="/es/assets">Encuéntralos en la biblioteca de recursos</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://kaylousberg.itch.io" target="_blank" rel="noreferrer">kaylousberg.itch.io</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 en los paquetes gratuitos, no requiere atribución</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Alrededor de 25 paquetes, la mayoría gratuitos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF, FBX, OBJ</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, mediante itch.io (paga lo que quieras, desde 0 $)</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Juegos de exploración de mazmorras, objetos para RPG y personajes de fantasía animados</td>
</tr>
</tbody>
</table>
<h3 id="poly-haven" tabindex="-1">Poly Haven <a class="header-anchor" href="#poly-haven" aria-label="Permalink to &quot;Poly Haven&quot;"></a></h3>
<p>Modelos 3D fotorrealistas, texturas PBR y HDRI, todos CC0, con varias resoluciones y una API sin clave para descargas directas. Cuenta con más de 2.000 recursos y sigue creciendo, incluidos más de 500 modelos. Es la mejor opción para objetos, entornos e iluminación realistas. Solo por sus HDRI ya merece estar en favoritos: harán que cualquier escena se vea mejor con un solo clic.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://polyhaven.com" target="_blank" rel="noreferrer">polyhaven.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0, no requiere atribución</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 2.000 (modelos, texturas PBR y HDRI)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF, Blend y FBX, con resoluciones de 1K a 16K</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sí, pública y sin clave</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Objetos realistas, materiales e iluminación basada en imágenes</td>
</tr>
</tbody>
</table>
<h3 id="polygonalmind" tabindex="-1">PolygonalMind <a class="header-anchor" href="#polygonalmind" aria-label="Permalink to &quot;PolygonalMind&quot;"></a></h3>
<p>Un estudio que publica parte de su trabajo como código abierto. El proyecto 100 Avatars lanzó más de 200 personajes low-poly CC0 en dos rondas completas (con una tercera en desarrollo), todos con esqueleto y listos para juegos o realidad virtual, además de paquetes temáticos de objetos CC0 publicados en Sketchfab y GitHub. Una gran fuente de personajes variados y estilizados cuando necesitas llenar una multitud.</p>
<figure class="sample-sheet">
<a href="/es/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-polygonalmind.jpg" alt="Ejemplos de avatares CC0 del proyecto 100 Avatars de PolygonalMind: ocho personajes estilizados con esqueleto" loading="lazy"></a>
<figcaption>Ocho de los más de 200 avatares CC0 con esqueleto de 100 Avatars. <a href="/es/assets">Explora los avatares en la biblioteca de recursos</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://github.com/PolygonalMind" target="_blank" rel="noreferrer">github.com/PolygonalMind</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 en las publicaciones de código abierto</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 200 avatares, además de paquetes temáticos de objetos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, VRM, GLB (varía según el paquete)</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, mediante publicaciones de GitHub y Sketchfab</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Grandes cantidades de personajes estilizados con esqueleto</td>
</tr>
</tbody>
</table>
<h2 id="las-grandes-bibliotecas-licencias-mixtas-revisa-cada-recurso" tabindex="-1">Las grandes bibliotecas (licencias mixtas, revisa cada recurso) <a class="header-anchor" href="#las-grandes-bibliotecas-licencias-mixtas-revisa-cada-recurso" aria-label="Permalink to &quot;Las grandes bibliotecas (licencias mixtas, revisa cada recurso)&quot;"></a></h2>
<h3 id="sketchfab" tabindex="-1">Sketchfab <a class="header-anchor" href="#sketchfab" aria-label="Permalink to &quot;Sketchfab&quot;"></a></h3>
<p>La mayor biblioteca de modelos 3D, con millones de modelos y una vista previa 3D antes de descargarlos. Las licencias varían según el modelo, así que filtra por modelos descargables y CC0 o CC-BY. La advertencia para 2026: la tienda de pago de Sketchfab cerró y se trasladó a Fab de Epic, y solo el contenido CC-BY y Fab Standard puede migrar allí. Los modelos CC0, CC-BY-SA, CC-BY-NC y CC-BY-ND permanecen en Sketchfab y, a mediados de 2026, las descargas gratuitas y la API de descarga siguen funcionando. Considéralo una fuente CC0 todavía útil pero en lento declive, así que descarga lo que necesites en lugar de asumir que siempre estará disponible.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://sketchfab.com" target="_blank" rel="noreferrer">sketchfab.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Mixta, según el modelo (CC0, CC-BY, CC-BY-NC y otras)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Millones de modelos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF, FBX, OBJ, USDZ</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sí, las API de descarga y visualización siguen activas en 2026</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Encontrar ese modelo específico que no tiene ninguna otra biblioteca</td>
</tr>
</tbody>
</table>
<h3 id="poly-pizza-e-icosa-gallery" tabindex="-1">Poly Pizza e Icosa Gallery <a class="header-anchor" href="#poly-pizza-e-icosa-gallery" aria-label="Permalink to &quot;Poly Pizza e Icosa Gallery&quot;"></a></h3>
<p>Google Poly cerró en 2021, pero su catálogo low-poly sigue vivo. Poly Pizza aloja más de 10.600 modelos gratuitos, incluida la colección archivada «Poly by Google» (alrededor de 2.294 modelos), además de miles de nuevas aportaciones de la comunidad. Icosa Gallery, una organización sin ánimo de lucro, continúa esa misión abierta con su propio archivo, una API y vínculos con los proyectos Open Brush y Open Blocks. La mayoría de los modelos de ambos sitios son CC-BY (debes acreditar al creador), aunque algunos son CC0. Son ideales para obtener rápidamente objetos estilizados que combinan con el aspecto de Kenney y Quaternius.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://poly.pizza" target="_blank" rel="noreferrer">poly.pizza</a> e <a href="https://icosa.gallery" target="_blank" rel="noreferrer">icosa.gallery</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Principalmente CC-BY y algunos CC0, indicada en cada modelo</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 10.600 en Poly Pizza y varios miles más en Icosa</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLB/GLTF, OBJ</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, sin necesidad de cuenta en Poly Pizza</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Objetos low-poly rápidos cuando no te importa añadir una línea de créditos</td>
</tr>
</tbody>
</table>
<h3 id="fab-epic" tabindex="-1">Fab (Epic) <a class="header-anchor" href="#fab-epic" aria-label="Permalink to &quot;Fab (Epic)&quot;"></a></h3>
<p>El marketplace unificado de Epic, sucesor de Unreal Marketplace, Quixel Megascans y la tienda de Sketchfab. Su principal atractivo para quienes buscan recursos es un paquete inicial de Megascans permanentemente gratuito, con más de 1.500 recursos escaneados, superficies y calcomanías que pueden utilizarse en cualquier motor, además de una selección gratuita que cambia cada dos semanas. El catálogo completo de Megascans, con alrededor de 17.000 recursos, pasó a ser de pago a finales de 2024. Revisa la licencia de cada publicación antes de lanzar tu juego.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.fab.com" target="_blank" rel="noreferrer">fab.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Fab Standard (Personal/Professional) y algunas Creative Commons</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 1.500 Megascans permanentemente gratuitos, además de selecciones gratuitas quincenales</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Unreal, Unity, glTF y otros</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, tras registrarte gratuitamente</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Escaneos fotorrealistas y aprovechar los recursos gratuitos quincenales</td>
</tr>
</tbody>
</table>
<h3 id="opengameart" tabindex="-1">OpenGameArt <a class="header-anchor" href="#opengameart" aria-label="Permalink to &quot;OpenGameArt&quot;"></a></h3>
<p>El repositorio comunitario de arte para juegos independientes y de código abierto, activo desde 2009. Aloja arte 2D y 3D, audio y texturas bajo un conjunto estricto de licencias abiertas, por lo que todo su contenido puede utilizarse legalmente si respetas la licencia indicada. La sección 3D es más pequeña y menos uniforme que la de los sitios especializados en modelos, pero esconde auténticas joyas y su filtro de licencias facilita explorar únicamente contenido CC0. Ten cuidado con los recursos bajo licencia GPL, ya que pueden imponer obligaciones de compartir con la misma licencia a tu proyecto.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://opengameart.org" target="_blank" rel="noreferrer">opengameart.org</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0, CC-BY, CC-BY-SA, OGA-BY o GPL, según el recurso</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Miles de aportaciones de la comunidad entre 2D, 3D y audio</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Varían (Blend, OBJ, FBX, GLTF)</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, sin necesidad de cuenta</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Explorar contenido filtrado por CC0 y proyectos compatibles con el código abierto</td>
</tr>
</tbody>
</table>
<h3 id="blenderkit" tabindex="-1">BlenderKit <a class="header-anchor" href="#blenderkit" aria-label="Permalink to &quot;BlenderKit&quot;"></a></h3>
<p>Una enorme biblioteca de recursos integrada en un complemento de Blender, por lo que los modelos, materiales y HDRI se añaden directamente a tu escena. El nivel gratuito es realmente amplio: más de 17.000 modelos gratuitos, 26.000 materiales gratuitos y 2.000 HDRI gratuitos según el último recuento público. BlenderKit utiliza exactamente dos licencias, libre de regalías y CC0, y puedes filtrar por cualquiera de ellas. Aquí, «libre de regalías» significa que puedes utilizar el recurso comercialmente y sin coste en tu juego, pero no revenderlo en bruto.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.blenderkit.com" target="_blank" rel="noreferrer">blenderkit.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Libre de regalías o CC0, con filtros</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 45.000 gratuitos (modelos, materiales, HDRI y pinceles)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Blend de forma nativa, con exportación a GLB/FBX desde Blender</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sí, mediante el complemento de Blender; requiere una cuenta gratuita</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Decorar escenas y obtener materiales si Blender forma parte de tu flujo de trabajo</td>
</tr>
</tbody>
</table>
<h2 id="secciones-gratuitas-de-marketplaces-libres-de-regalias-lee-la-letra-pequena" tabindex="-1">Secciones gratuitas de marketplaces (libres de regalías, lee la letra pequeña) <a class="header-anchor" href="#secciones-gratuitas-de-marketplaces-libres-de-regalias-lee-la-letra-pequena" aria-label="Permalink to &quot;Secciones gratuitas de marketplaces (libres de regalías, lee la letra pequeña)&quot;"></a></h2>
<h3 id="turbosquid" tabindex="-1">TurboSquid <a class="header-anchor" href="#turbosquid" aria-label="Permalink to &quot;TurboSquid&quot;"></a></h3>
<p>El marketplace 3D grande más antiguo, ahora propiedad de Shutterstock, con una sección gratuita considerable. Los modelos gratuitos utilizan la misma licencia libre de regalías de TurboSquid que los de pago: se permiten expresamente los juegos para consola, PC, móviles y realidad virtual; puedes utilizar un modelo en una cantidad ilimitada de proyectos para siempre, pero no puedes redistribuir los archivos sin modificar y los usuarios finales no deben poder extraerlos. Evita cualquier recurso etiquetado como «Editorial Use», ya que esos modelos no pueden publicarse en un juego comercial.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.turbosquid.com/Search/3D-Models/free" target="_blank" rel="noreferrer">turbosquid.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Licencia libre de regalías de TurboSquid, permite juegos</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Una amplia sección gratuita dentro de un catálogo de varios millones de modelos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MAX, FBX, OBJ, Blend, GLTF (varían según el modelo)</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Tras registrarte con una cuenta gratuita</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Objetos realistas específicos, vehículos y modelos de superficies rígidas</td>
</tr>
</tbody>
</table>
<h3 id="cgtrader" tabindex="-1">CGTrader <a class="header-anchor" href="#cgtrader" aria-label="Permalink to &quot;CGTrader&quot;"></a></h3>
<p>La sección gratuita más grande de cualquier marketplace, con más de 150.000 modelos gratis. La licencia libre de regalías permite el uso comercial en juegos sin costes adicionales, con la misma condición que TurboSquid: el modelo debe estar integrado en tu juego para que los jugadores no puedan extraer el archivo, y no puedes revenderlo por separado. La calidad varía mucho más que en los sitios con contenido seleccionado, así que comprueba el número de polígonos y las texturas antes de decidirte.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.cgtrader.com/free-3d-models" target="_blank" rel="noreferrer">cgtrader.com/free-3d-models</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Licencia libre de regalías de CGTrader; se permite el uso comercial</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 150.000 modelos gratuitos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, OBJ, Blend, GLTF, MAX (varía según el modelo)</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Tras crear una cuenta gratuita</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Encontrar prácticamente cualquier cosa cuando los sitios CC0 no la tienen</td>
</tr>
</tbody>
</table>
<h2 id="escaneos-de-dominio-publico-museos-y-espacio" tabindex="-1">Escaneos de dominio público (museos y espacio) <a class="header-anchor" href="#escaneos-de-dominio-publico-museos-y-espacio" aria-label="Permalink to &quot;Escaneos de dominio público (museos y espacio)&quot;"></a></h2>
<h3 id="smithsonian-open-access-3d" tabindex="-1">Smithsonian Open Access 3D <a class="header-anchor" href="#smithsonian-open-access-3d" aria-label="Permalink to &quot;Smithsonian Open Access 3D&quot;"></a></h3>
<p>El Smithsonian publicó millones de piezas de sus colecciones bajo CC0, incluidos más de 2.000 escaneos 3D descargables: fósiles de dinosaurios, naves espaciales, estatuas, instrumentos y artefactos que no encontrarás en ningún otro lugar. Busca la marca CC0 en la página del modelo. Los escaneos dependen mucho de la fotogrametría, así que conviene reducir su geometría en Blender antes de usarlos en un juego para navegador.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://3d.si.edu" target="_blank" rel="noreferrer">3d.si.edu</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 en los modelos marcados; comprueba cada uno</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 2.000 escaneos 3D</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>OBJ, glTF/GLB</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, sin necesidad de cuenta</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Objetos con calidad de museo, fósiles y elementos históricos para ambientar escenarios</td>
</tr>
</tbody>
</table>
<h3 id="nasa-3d-resources" tabindex="-1">NASA 3D Resources <a class="header-anchor" href="#nasa-3d-resources" aria-label="Permalink to &quot;NASA 3D Resources&quot;"></a></h3>
<p>La NASA publica cientos de modelos de naves espaciales, róveres, asteroides y terrenos planetarios que se pueden descargar y usar gratis conforme a sus directrices de uso de medios (la mayor parte del material creado por la NASA no está sujeto a derechos de autor; simplemente no des a entender que la NASA respalda tu juego ni uses su insignia). La calidad de las mallas abarca desde escaneos listos para imprimir hasta modelos de ingeniería reales, y la colección también está replicada en GitHub.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://science.nasa.gov/3d-resources/" target="_blank" rel="noreferrer">science.nasa.gov/3d-resources</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Uso gratuito conforme a las directrices de medios de la NASA, sin dar a entender respaldo alguno</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Cientos de modelos y texturas</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLB, FBX, Blend, STL, 3DS y más</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>Sí, sin necesidad de cuenta</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Juegos espaciales que quieran incluir el róver Curiosity real</td>
</tr>
</tbody>
</table>
<h2 id="genera-modelos-con-ia" tabindex="-1">Genera modelos con IA <a class="header-anchor" href="#genera-modelos-con-ia" aria-label="Permalink to &quot;Genera modelos con IA&quot;"></a></h2>
<p>En 2026, generar un modelo puede ser más rápido que buscarlo. Herramientas como Meshy y Tripo convierten texto o una imagen en una malla 3D texturizada, mientras que modelos abiertos como Hunyuan3D y TRELLIS.2 permiten alojarlos en tu propia infraestructura. La mayoría de las herramientas alojadas reservan los derechos de uso comercial para los planes de pago, así que consulta sus condiciones. Consulta nuestra guía sobre los <a href="/es/guides/ai-asset-generators-games.html">mejores generadores de recursos con IA para juegos</a> para ver el análisis completo. Recuerda también que Cinevva incluye un <a href="/es/tools/hunyuan3d.html">generador de modelos 3D</a> que convierte una foto o una descripción de texto en un modelo.</p>
<h2 id="como-preparar-los-modelos-para-un-juego" tabindex="-1">Cómo preparar los modelos para un juego <a class="header-anchor" href="#como-preparar-los-modelos-para-un-juego" aria-label="Permalink to &quot;Cómo preparar los modelos para un juego&quot;"></a></h2>
<p>Encontrar el modelo es solo la mitad del trabajo. Así puedes asegurarte de que funcione correctamente en tu juego.</p>
<p><strong>Da prioridad a GLB para juegos web.</strong> GLB es un único archivo binario que contiene la malla, los materiales y las texturas, y todos los motores web (Three.js, Babylon.js y PlayCanvas) pueden cargarlo de forma nativa. Si un modelo solo está disponible como FBX u OBJ, ábrelo en Blender y expórtalo a GLB; apenas lleva un minuto. Kenney, Quaternius, KayKit y Poly Haven ya ofrecen GLTF/GLB, lo que explica en gran medida que ocupen los primeros puestos de esta lista.</p>
<p><strong>Controla el presupuesto de polígonos.</strong> Los juegos para navegador se ejecutan en cualquier dispositivo que aparezca, incluidos teléfonos de hace tres años. Como regla general, limita los objetos a unos cientos o unos pocos miles de triángulos, los personajes principales a entre 10.000 y 30.000, y cada recurso descargado a menos de 100.000. Los modelos de marketplaces y museos suelen superar con creces estas cifras, así que comprueba el número de triángulos antes de enamorarte de uno o prepárate para reducir su geometría en Blender.</p>
<p><strong>Vigila las llamadas de dibujado, no solo los polígonos.</strong> Cincuenta objetos separados con cincuenta materiales perjudicarán más el rendimiento que una sola malla densa. Los paquetes seleccionados también ayudan en este aspecto: los recursos de Kenney y Quaternius comparten atlas de texturas, por lo que una escena completa puede renderizarse con unas pocas llamadas de dibujado.</p>
<p><strong>Comprueba la licencia antes de publicar, no después.</strong> Guarda una captura de pantalla o un PDF de la página de la licencia de cada modelo que no sea CC0 y mantén una lista actualizada de créditos para los recursos CC-BY. Intentar averiguar de dónde salió un modelo un año después es desesperante.</p>
<p><strong>O evita saltar de una pestaña a otra.</strong> La <a href="/es/assets.html">búsqueda de recursos</a> de Cinevva consulta Kenney, Quaternius, Poly Haven, Sketchfab y más desde un único cuadro de búsqueda, con información sobre la licencia en cada ficha y filtros por fuente, como <a href="/es/assets.html?providers=kenney">solo Kenney</a> o <a href="/es/assets.html?providers=polyhaven">solo Poly Haven</a>. Y si descargas un personaje sin rig, la herramienta gratuita de <a href="/es/tools/rigger.html">rigging automático</a> prepara modelos humanoides directamente en el navegador.</p>
<h2 id="licencias-en-30-segundos" tabindex="-1">Licencias en 30 segundos <a class="header-anchor" href="#licencias-en-30-segundos" aria-label="Permalink to &quot;Licencias en 30 segundos&quot;"></a></h2>
<ul>
<li><strong>CC0:</strong> dominio público. Permite el uso comercial y las modificaciones sin atribución. La opción más segura.</li>
<li><strong>CC-BY:</strong> permite el uso comercial gratuito, pero debes acreditar al creador.</li>
<li><strong>Libre de regalías:</strong> pagas una vez (o no pagas nada) y puedes usar el recurso sin abonar tarifas por cada uso, pero no puedes revender los archivos originales.</li>
<li><strong>CC-BY-NC / Uso editorial:</strong> no permiten el uso comercial. Evítalas en juegos que vayas a vender.</li>
</ul>
<p>En caso de duda, elige CC0. Para ver una explicación completa, consulta nuestra <a href="/es/guides/game-asset-licenses.html">guía de licencias de recursos para juegos</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿donde-puedo-encontrar-modelos-3d-gratuitos-para-juegos" tabindex="-1">¿Dónde puedo encontrar modelos 3D gratuitos para juegos? <a class="header-anchor" href="#¿donde-puedo-encontrar-modelos-3d-gratuitos-para-juegos" aria-label="Permalink to &quot;¿Dónde puedo encontrar modelos 3D gratuitos para juegos?&quot;"></a></h3>
<p>Kenney, Quaternius, KayKit y Poly Haven son los mejores puntos de partida. Todos usan CC0, así que puedes emplear sus recursos comercialmente sin atribución. Si buscas más variedad, Sketchfab tiene millones de modelos con distintas licencias, Poly Pizza aloja el catálogo archivado de Google Poly y la sección gratuita de CGTrader cuenta con más de 150.000 modelos. Comprueba siempre la licencia de cada modelo antes de publicar tu juego.</p>
<h3 id="¿que-significa-cc0-para-los-modelos-3d" tabindex="-1">¿Qué significa CC0 para los modelos 3D? <a class="header-anchor" href="#¿que-significa-cc0-para-los-modelos-3d" aria-label="Permalink to &quot;¿Qué significa CC0 para los modelos 3D?&quot;"></a></h3>
<p>CC0 significa que el modelo está en el dominio público: puedes utilizarlo en juegos comerciales, modificarlo y no tienes que acreditar al creador. Es la licencia más permisiva y de menor riesgo. Kenney, Quaternius, KayKit, Poly Haven y AmbientCG son las principales fuentes CC0 de recursos para juegos.</p>
<h3 id="¿se-pueden-usar-modelos-3d-gratuitos-en-juegos-comerciales" tabindex="-1">¿Se pueden usar modelos 3D gratuitos en juegos comerciales? <a class="header-anchor" href="#¿se-pueden-usar-modelos-3d-gratuitos-en-juegos-comerciales" aria-label="Permalink to &quot;¿Se pueden usar modelos 3D gratuitos en juegos comerciales?&quot;"></a></h3>
<p>La mayoría sí, pero depende de la licencia. Los recursos CC0 siempre son seguros. CC-BY exige acreditar al creador. Los modelos de marketplaces con licencia libre de regalías permiten su uso en juegos comerciales, pero prohíben redistribuir los archivos originales. Los modelos CC-BY-NC y exclusivos para uso editorial no pueden utilizarse en juegos que vendas, así que comprueba la licencia de cada modelo y elige CC0 siempre que puedas.</p>
<h3 id="¿que-paso-con-google-poly" tabindex="-1">¿Qué pasó con Google Poly? <a class="header-anchor" href="#¿que-paso-con-google-poly" aria-label="Permalink to &quot;¿Qué pasó con Google Poly?&quot;"></a></h3>
<p>Google cerró Poly el 30 de junio de 2021. La comunidad archivó el catálogo antes de que desapareciera y ahora se conserva en dos lugares: Poly Pizza aloja la colección «Poly by Google» junto con miles de publicaciones más recientes, y la organización sin ánimo de lucro Icosa Gallery continúa la misión de la plataforma abierta. La mayoría de los modelos archivados son CC-BY, así que debes acreditar al creador original.</p>
<h3 id="¿va-a-cerrar-sketchfab" tabindex="-1">¿Va a cerrar Sketchfab? <a class="header-anchor" href="#¿va-a-cerrar-sketchfab" aria-label="Permalink to &quot;¿Va a cerrar Sketchfab?&quot;"></a></h3>
<p>No ha cerrado, pero está reduciendo progresivamente su actividad como marketplace. Epic cerró la tienda de Sketchfab y trasladó las ventas a Fab; solo el contenido CC-BY y con licencia Fab Standard podía migrarse. A mediados de 2026, el sitio, las descargas gratuitas y la API de descargas siguen funcionando, y los modelos CC0 continúan disponibles para descargar. Lo más prudente es descargar todo lo que sepas que vas a querer, en lugar de asumir que seguirá disponible para siempre.</p>
<h3 id="¿cual-es-la-mejor-alternativa-gratuita-a-turbosquid" tabindex="-1">¿Cuál es la mejor alternativa gratuita a TurboSquid? <a class="header-anchor" href="#¿cual-es-la-mejor-alternativa-gratuita-a-turbosquid" aria-label="Permalink to &quot;¿Cuál es la mejor alternativa gratuita a TurboSquid?&quot;"></a></h3>
<p>Para obtener recursos listos para usar en juegos, Kenney, Quaternius y KayKit superan a la sección gratuita de cualquier marketplace porque todo su contenido es CC0 y está optimizado para motores. Para escaneos realistas, Poly Haven y el paquete inicial gratuito de Megascans en Fab son mejores opciones. Si buscas específicamente la variedad de un marketplace, la sección gratuita de CGTrader es más grande que la de TurboSquid, con más de 150.000 modelos gratuitos bajo una licencia libre de regalías similar.</p>
<h3 id="¿cuantos-poligonos-debe-tener-un-modelo-para-un-juego-web" tabindex="-1">¿Cuántos polígonos debe tener un modelo para un juego web? <a class="header-anchor" href="#¿cuantos-poligonos-debe-tener-un-modelo-para-un-juego-web" aria-label="Permalink to &quot;¿Cuántos polígonos debe tener un modelo para un juego web?&quot;"></a></h3>
<p>Limita los objetos a unos cientos o unos pocos miles de triángulos, los personajes a entre 10.000 y 30.000, y evita que un solo modelo supere los 100.000. Una escena completa para navegador debería mantenerse en unos pocos cientos de miles de triángulos para funcionar bien en teléfonos de gama media. Si un modelo es demasiado pesado, el modificador Decimate de Blender suele poder reducir la cantidad a la mitad sin que se aprecie la diferencia.</p>
<h3 id="¿puedo-generar-modelos-3d-con-ia" tabindex="-1">¿Puedo generar modelos 3D con IA? <a class="header-anchor" href="#¿puedo-generar-modelos-3d-con-ia" aria-label="Permalink to &quot;¿Puedo generar modelos 3D con IA?&quot;"></a></h3>
<p>Sí. Herramientas como Meshy y Tripo crean mallas texturizadas a partir de texto o imágenes, y modelos abiertos como Hunyuan3D y TRELLIS.2 pueden alojarse en tu propia infraestructura. Los derechos de uso comercial de las herramientas alojadas suelen requerir un plan de pago, así que confirma las condiciones. Generar recursos con IA es cada vez más rápido que buscar el modelo gratuito adecuado.</p>
<BuildCta
  title="Olvídate de las descargas. Deja que coloquemos los objetos por ti"
  desc="Cinevva incluye miles de objetos CC0 gratuitos y los coloca en un juego por ti."
  prompt="Crea una escena de campamento low poly que pueda explorar de noche con una linterna" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — la guía completa con más de 20 fuentes</li>
<li><a href="/es/guides/sketchfab-polyhaven-kenney.html">Sketchfab frente a Poly Haven y Kenney</a> — comparación directa de tres fuentes destacadas</li>
<li><a href="/es/guides/ai-asset-generators-games.html">Mejores generadores de recursos con IA para juegos</a> — genera recursos en lugar de buscarlos</li>
<li><a href="/es/guides/game-asset-licenses.html">Explicación de las licencias de recursos para juegos</a> — CC0, CC-BY y las demás</li>
<li><a href="/es/guides/free-sound-effects-music.html">Efectos de sonido y música gratuitos para juegos</a> — la parte del audio</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/free-3d-model-sites-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Efectos de sonido y música gratis para juegos (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/free-sound-effects-music</link>
            <guid>https://app.cinevva.com/es/guides/free-sound-effects-music</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Dónde encontrar efectos de sonido y música gratis para juegos en 2026, desde fuentes CC0 como Kenney y Freesound hasta Incompetech y Pixabay, con explicaciones sobre licencias y atribución.]]></description>
            <content:encoded><![CDATA[<h1 id="efectos-de-sonido-y-musica-gratis-para-juegos-2026" tabindex="-1">Efectos de sonido y música gratis para juegos (2026) <a class="header-anchor" href="#efectos-de-sonido-y-musica-gratis-para-juegos-2026" aria-label="Permalink to &quot;Efectos de sonido y música gratis para juegos (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>El audio representa la mitad de las sensaciones que transmite un juego, y no necesitas presupuesto para conseguirlo. Hay excelentes fuentes gratuitas tanto de efectos de sonido como de música, pero las licencias varían mucho y algunos sitios populares solo permiten usos no comerciales, lo que puede echar por tierra discretamente un juego que planeas vender. Aquí tienes dónde buscar en 2026 y qué puedes publicar exactamente.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/eFSKkNdHh_k" title="Dónde conseguir efectos de sonido y música para tu juego (gratis y de pago)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Un resumen de fuentes gratuitas y de pago para obtener efectos de sonido y música para juegos.</div>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Necesidad</th>
<th>Mejor fuente</th>
<th>Licencia</th>
<th>Atribución</th>
</tr>
</thead>
<tbody>
<tr>
<td>Efectos de sonido en grandes cantidades y con calidad de estudio</td>
<td><a href="https://sonniss.com/gameaudiogdc" target="_blank" rel="noreferrer">Paquete GDC de Sonniss</a></td>
<td>Libre de regalías</td>
<td>No</td>
</tr>
<tr>
<td>Un sonido específico</td>
<td><a href="https://freesound.org" target="_blank" rel="noreferrer">Freesound</a> (filtro CC0)</td>
<td>CC0</td>
<td>No</td>
</tr>
<tr>
<td>Efectos de sonido coherentes y listos para juegos</td>
<td><a href="https://kenney.nl/assets/category:Audio" target="_blank" rel="noreferrer">Kenney</a></td>
<td>CC0</td>
<td>No</td>
</tr>
<tr>
<td>Efectos rápidos para interfaces y juegos casuales</td>
<td><a href="https://mixkit.co/free-sound-effects/" target="_blank" rel="noreferrer">Mixkit</a></td>
<td>Licencia gratuita de Mixkit</td>
<td>No</td>
</tr>
<tr>
<td>Música de fondo sin complicaciones</td>
<td><a href="https://pixabay.com/music/" target="_blank" rel="noreferrer">Pixabay Music</a></td>
<td>Licencia de contenido de Pixabay</td>
<td>No</td>
</tr>
<tr>
<td>Gran variedad de bandas sonoras</td>
<td><a href="https://incompetech.com" target="_blank" rel="noreferrer">Incompetech</a></td>
<td>CC-BY 4.0</td>
<td>Sí</td>
</tr>
<tr>
<td>Música chiptune y para RPG</td>
<td><a href="https://opengameart.org" target="_blank" rel="noreferrer">OpenGameArt</a></td>
<td>CC0 / CC-BY según el recurso</td>
<td>Depende</td>
</tr>
<tr>
<td>Paquetes temáticos con estilo</td>
<td><a href="https://itch.io/game-assets/free/tag-audio" target="_blank" rel="noreferrer">itch.io</a></td>
<td>Según el paquete, a menudo CC0</td>
<td>Depende</td>
</tr>
<tr>
<td>Enorme biblioteca de efectos, si puedes dar crédito</td>
<td><a href="https://www.zapsplat.com" target="_blank" rel="noreferrer">ZapSplat</a></td>
<td>ZapSplat Standard</td>
<td>Sí</td>
</tr>
<tr>
<td>Audio personalizado generado</td>
<td>Herramientas de <a href="/es/tools/sfx.html">efectos de sonido de Cinevva</a> y <a href="/es/tools/music.html">música</a></td>
<td>Tuyo para usarlo</td>
<td>No</td>
</tr>
</tbody>
</table>
<h2 id="las-opciones-cc0-mas-seguras-sin-atribucion-y-aptas-para-uso-comercial" tabindex="-1">Las opciones CC0 más seguras (sin atribución y aptas para uso comercial) <a class="header-anchor" href="#las-opciones-cc0-mas-seguras-sin-atribucion-y-aptas-para-uso-comercial" aria-label="Permalink to &quot;Las opciones CC0 más seguras (sin atribución y aptas para uso comercial)&quot;"></a></h2>
<p>Si no quieres tener que estudiar licencias, empieza aquí. El <strong>audio de Kenney</strong> es totalmente CC0 y ofrece clics de interfaz, impactos y efectos retro limpios y listos para juegos. <strong>Pixabay Music</strong> es gratis bajo la Licencia de contenido de Pixabay, permite el uso comercial y no exige atribución (no puedes revender el archivo por separado, pero sí incluirlo en tu juego). El <strong>paquete GDC de Sonniss</strong> está libre de regalías para uso comercial, no exige atribución y cuenta con un archivo de varios años que supera los 200 GB de efectos profesionales. Además, tanto <strong>Freesound</strong> como <strong>OpenGameArt</strong> alojan contenido CC0 que puedes encontrar mediante un filtro de licencia, así que aplícalo y estarás cubierto.</p>
<h2 id="efectos-de-sonido" tabindex="-1">Efectos de sonido <a class="header-anchor" href="#efectos-de-sonido" aria-label="Permalink to &quot;Efectos de sonido&quot;"></a></h2>
<h3 id="freesound" tabindex="-1">Freesound <a class="header-anchor" href="#freesound" aria-label="Permalink to &quot;Freesound&quot;"></a></h3>
<p><strong>Ideal para:</strong> Efectos específicos y grabaciones de campo</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://freesound.org" target="_blank" rel="noreferrer">freesound.org</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Según el sonido: CC0, CC-BY, CC-BY-SA o CC-BY-NC</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 700 000 sonidos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV, MP3, FLAC, OGG (varían según el archivo subido)</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Ninguna para CC0, obligatoria para CC-BY; CC-BY-NC no es apta para uso comercial</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>La mayor biblioteca gratuita de efectos de sonido de la web, que sigue creciendo en 2026</li>
<li>Filtros de búsqueda avanzados por licencia, para que puedas limitar los resultados a CC0</li>
<li>Grabaciones de campo y sonidos peculiares que no encontrarás en paquetes seleccionados</li>
</ul>
<p>El inconveniente es que cada sonido tiene su propia licencia, así que revisa cada archivo antes de publicar. CC0 no exige crédito, CC-BY requiere una línea de atribución y CC-BY-NC está prohibida para un juego que vendas. También puedes buscar directamente en el catálogo CC0 de Freesound desde la <a href="/es/assets.html?providers=freesound">búsqueda de recursos de Cinevva</a>, ya filtrada para que todo lo que importes sea apto para uso comercial.</p>
<h3 id="audio-de-kenney" tabindex="-1">Audio de Kenney <a class="header-anchor" href="#audio-de-kenney" aria-label="Permalink to &quot;Audio de Kenney&quot;"></a></h3>
<p><strong>Ideal para:</strong> Efectos de sonido coherentes y listos para juegos sin complicaciones de licencia</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://kenney.nl/assets/category:Audio" target="_blank" rel="noreferrer">kenney.nl</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 (dominio público)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>10 paquetes de audio (interfaces, impactos, ciencia ficción, RPG, casino, sintonías y voces)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV, listos para juegos</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Ninguna</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Todo es CC0, así que no tienes que registrar nada ni dar crédito</li>
<li>Los sonidos de un mismo paquete comparten estilo, por lo que el audio de tu juego mantiene la coherencia</li>
<li>Cubre lo básico que necesita cualquier juego: clics, confirmaciones, impactos y sintonías</li>
</ul>
<p>Descarga primero los paquetes Interface Sounds e Impact Sounds. Entre ambos cubrirás casi todo lo que necesita un juego pequeño, mientras que el paquete Music Jingles incluye sintonías breves para victorias y derrotas.</p>
<h3 id="paquete-gdc-de-sonniss" tabindex="-1">Paquete GDC de Sonniss <a class="header-anchor" href="#paquete-gdc-de-sonniss" aria-label="Permalink to &quot;Paquete GDC de Sonniss&quot;"></a></h3>
<p><strong>Ideal para:</strong> Efectos de sonido con calidad de estudio en grandes cantidades</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://sonniss.com/gameaudiogdc" target="_blank" rel="noreferrer">sonniss.com/gameaudiogdc</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Libre de regalías, uso comercial y proyectos ilimitados de por vida</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>El paquete de 2026 supera los 7 GB y el archivo de varios años suma más de 200 GB</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV (frecuencias de muestreo altas)</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Ninguna</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Bibliotecas profesionales de diseño sonoro donadas por proveedores comerciales</li>
<li>Cada año se publica un paquete nuevo coincidiendo con la GDC (el de 2026 llegó en marzo)</li>
<li>El archivo de paquetes anteriores permanece disponible para descargar de forma indefinida</li>
</ul>
<p>Hay una restricción: se prohíbe explícitamente usar los sonidos para entrenar sistemas de IA o aprendizaje automático. Para reproducirlos en un juego, no hay problema. Los archivos son grandes, así que conviene descargarlos, seleccionar lo que necesites y convertirlo a OGG antes de publicar.</p>
<h3 id="zapsplat" tabindex="-1">ZapSplat <a class="header-anchor" href="#zapsplat" aria-label="Permalink to &quot;ZapSplat&quot;"></a></h3>
<p><strong>Ideal para:</strong> Una amplia biblioteca de efectos cotidianos cuando puedes incluir un crédito</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.zapsplat.com" target="_blank" rel="noreferrer">zapsplat.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Licencia estándar de ZapSplat (plan gratuito); algunos sonidos son CC-BY</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Decenas de miles de efectos de sonido de distintas categorías</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3 gratis, WAV con el plan Gold de pago</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Obligatoria con el plan gratuito</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Descargas gratuitas ilimitadas para proyectos personales y comerciales</li>
<li>El requisito de atribución es sencillo y los juegos están cubiertos explícitamente</li>
<li>La suscripción Gold elimina la atribución y mantiene los sonidos licenciados de por vida</li>
</ul>
<p>El crédito exigido para un juego es una línea como «Efectos de sonido obtenidos de zapsplat.com» en la pantalla de créditos o en la página del juego. Los sonidos descargados mientras esté activa una suscripción Gold seguirán sin exigir atribución para siempre, incluso después de cancelarla.</p>
<h3 id="mixkit" tabindex="-1">Mixkit <a class="header-anchor" href="#mixkit" aria-label="Permalink to &quot;Mixkit&quot;"></a></h3>
<p><strong>Ideal para:</strong> Sonidos rápidos y pulidos para interfaces y juegos casuales, sin necesidad de registrarse</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://mixkit.co/free-sound-effects/" target="_blank" rel="noreferrer">mixkit.co</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Licencia gratuita de efectos de sonido de Mixkit</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Categorías seleccionadas de efectos de sonido y música de stock, incluida una sección específica para juegos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3 y WAV</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Ninguna</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Permite explícitamente el uso comercial, incluidos los videojuegos, sin atribución</li>
<li>No necesitas una cuenta: basta con descargar</li>
<li>Calidad seleccionada, por lo que hay que buscar menos que en las bibliotecas grandes</li>
</ul>
<p>La música y los efectos de sonido de Mixkit tienen licencias gratuitas distintas, así que revisa ambas si utilizas contenido de los dos catálogos. La selección es menor que la de Freesound o ZapSplat, pero todo está limpio y listo para usar.</p>
<h3 id="audio-de-opengameart" tabindex="-1">Audio de OpenGameArt <a class="header-anchor" href="#audio-de-opengameart" aria-label="Permalink to &quot;Audio de OpenGameArt&quot;"></a></h3>
<p><strong>Ideal para:</strong> Chiptune, música para RPG y efectos retro creados por desarrolladores de juegos para juegos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://opengameart.org" target="_blank" rel="noreferrer">opengameart.org</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Según el recurso: CC0, CC-BY, OGA-BY o GPL</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Miles de pistas musicales y paquetes de efectos de sonido</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>OGG, WAV, MP3 y formatos de trackers</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Ninguna para CC0, obligatoria para CC-BY y OGA-BY</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Música compuesta específicamente para juegos, por lo que las pistas se reproducen bien en bucle y encajan con distintos géneros</li>
<li>Filtro de licencia en la búsqueda para limitar fácilmente los resultados a CC0</li>
<li>Colecciones de la comunidad que reúnen el mejor audio CC0 en un solo lugar</li>
</ul>
<p>Dos apuntes sobre las licencias: OGA-BY es la licencia de atribución propia de OpenGameArt, similar a CC-BY, pero más adecuada para juegos protegidos con DRM. El audio con licencia GPL resulta jurídicamente incómodo en un juego de código cerrado, así que es preferible elegir las opciones Creative Commons.</p>
<h3 id="paquetes-de-audio-de-itch-io" tabindex="-1">Paquetes de audio de itch.io <a class="header-anchor" href="#paquetes-de-audio-de-itch-io" aria-label="Permalink to &quot;Paquetes de audio de itch.io&quot;"></a></h3>
<p><strong>Ideal para:</strong> Paquetes temáticos con una dirección artística marcada</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://itch.io/game-assets/free/tag-audio" target="_blank" rel="noreferrer">itch.io/game-assets/free/tag-audio</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Según el paquete, establecida por cada creador (muchos son CC0 o libres de regalías)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 980 paquetes gratuitos etiquetados como audio</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV, OGG, MP3 (varían según el paquete)</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Depende del paquete; lee cada página</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Compositores independientes publican paquetes completos adaptados a géneros concretos (synthwave, RPG de fantasía, terror)</li>
<li>Muchos paquetes tienen un precio de «paga lo que quieras», así que puedes obtenerlos gratis ahora y dar una propina más adelante</li>
<li>Las páginas de los paquetes explican las condiciones con un lenguaje sencillo</li>
</ul>
<p>itch.io no tiene una licencia para todo el sitio: cada creador establece las condiciones de su paquete, así que lee la descripción antes de publicar. Los paquetes más populares suelen indicar expresamente que son «gratuitos para uso comercial», y muchos son CC0.</p>
<h2 id="musica" tabindex="-1">Música <a class="header-anchor" href="#musica" aria-label="Permalink to &quot;Música&quot;"></a></h2>
<h3 id="incompetech-kevin-macleod" tabindex="-1">Incompetech (Kevin MacLeod) <a class="header-anchor" href="#incompetech-kevin-macleod" aria-label="Permalink to &quot;Incompetech (Kevin MacLeod)&quot;"></a></h3>
<p><strong>Ideal para:</strong> Pistas de fondo completas para casi cualquier ambiente</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://incompetech.com" target="_blank" rel="noreferrer">incompetech.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC-BY 4.0; hay disponible una licencia de pago sin atribución</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 2000 pistas completas</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Obligatoria; se proporciona la línea de crédito exacta para cada pista</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Uno de los mayores catálogos gratuitos de música de un único compositor</li>
<li>Búsqueda por género, ambiente y tempo</li>
<li>La licencia establece una única regla clara, en lugar de convertir cada pista en una lotería</li>
</ul>
<p>El crédito obligatorio es la línea completa: «Música de Kevin MacLeod (incompetech.com), bajo licencia Creative Commons: Atribución 4.0». Si no puedes mostrar créditos, una licencia sin atribución cuesta desde 30 dólares por una canción, o 20 dólares por canción al adquirir tres o más. En 2026 sigue siendo gratis con atribución; eso no ha cambiado.</p>
<h3 id="pixabay-music" tabindex="-1">Pixabay Music <a class="header-anchor" href="#pixabay-music" aria-label="Permalink to &quot;Pixabay Music&quot;"></a></h3>
<p><strong>Ideal para:</strong> Música de fondo apta para uso comercial y sin complicaciones</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://pixabay.com/music/" target="_blank" rel="noreferrer">pixabay.com/music</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Licencia de contenido de Pixabay (las subidas anteriores a 2019 son CC0)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Gran catálogo de pistas y bucles con buscador</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Ninguna</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Uso comercial sin atribución ni trabas de registro</li>
<li>Buena variedad de bucles y música de fondo de distintos géneros</li>
<li>Los efectos de sonido están en el mismo sitio y bajo la misma licencia</li>
</ul>
<p>La Licencia de contenido prohíbe revender el archivo por separado y utilizar contenido que muestre marcas comerciales o logotipos para promocionar productos, pero integrar una pista en tu juego es precisamente el uso previsto. Sigue siendo la opción más sencilla para quien solo quiere conseguir música.</p>
<h3 id="purple-planet" tabindex="-1">Purple Planet <a class="header-anchor" href="#purple-planet" aria-label="Permalink to &quot;Purple Planet&quot;"></a></h3>
<p><strong>Ideal para:</strong> Música de banda sonora organizada por ambiente con un crédito sencillo</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.purple-planet.com" target="_blank" rel="noreferrer">purple-planet.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Gratis con atribución; la licencia de pago elimina el crédito</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Pistas originales de Chris Martyn y Geoff Harvey, organizadas por ambiente</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3 gratis; archivos de mayor calidad con las licencias de pago</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Obligatoria con el plan gratuito: &quot;Música: <a href="https://www.purple-planet.com" target="_blank" rel="noreferrer">https://www.purple-planet.com</a>&quot;</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Sus condiciones permiten explícitamente los juegos que vendas y distribuyas por tu cuenta</li>
<li>Las pistas están agrupadas por emoción, lo que agiliza la búsqueda de una banda sonora</li>
<li>El crédito puede aparecer en la pantalla de créditos o en la página del juego en la tienda</li>
</ul>
<p>Los usos comerciales más amplios, como anuncios y emisiones, requieren una de sus licencias de pago, que también eliminan la obligación de atribución. Para un juego independiente típico, el plan gratuito y una línea de crédito son suficientes.</p>
<h3 id="uppbeat" tabindex="-1">Uppbeat <a class="header-anchor" href="#uppbeat" aria-label="Permalink to &quot;Uppbeat&quot;"></a></h3>
<p><strong>Ideal para:</strong> Música para creadores de contenido, menos recomendable para incluirla en juegos publicados</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://uppbeat.io" target="_blank" rel="noreferrer">uppbeat.io</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Plan gratuito de Uppbeat, código de crédito por descarga</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Catálogo moderno seleccionado (el 25 % está disponible con el plan gratuito)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Obligatoria con el plan gratuito</td>
</tr>
</tbody>
</table>
<p>El plan gratuito ofrece ahora 3 descargas al mes y el texto de la licencia se dirige a plataformas sociales, retransmisiones en directo, pódcast y sitios web, más que a juegos descargables. Por ello, lee atentamente las condiciones antes de crear una banda sonora con este servicio. Es estupendo para el tráiler y los diarios de desarrollo de tu juego. Para incluir música dentro de un juego comercial, las fuentes anteriores son más seguras.</p>
<h3 id="free-music-archive" tabindex="-1">Free Music Archive <a class="header-anchor" href="#free-music-archive" aria-label="Permalink to &quot;Free Music Archive&quot;"></a></h3>
<p><strong>Ideal para:</strong> Explorar géneros a fondo si estás dispuesto a comprobar cada licencia</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://freemusicarchive.org" target="_blank" rel="noreferrer">freemusicarchive.org</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Según la pista: CC0, CC-BY, CC-BY-SA y muchas variantes NC</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Enorme catálogo de artistas reales que abarca numerosos géneros</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Depende de la licencia CC de la pista</td>
</tr>
</tbody>
</table>
<p>FMA sigue activo en 2026 bajo la gestión de Tribe of Noise. El inconveniente no ha cambiado: muchas pistas son para uso no comercial o exigen compartir bajo la misma licencia, así que filtra por licencia y lee la página de la pista antes de publicar. Su servicio de pago, Tribe of Noise PRO, concede licencias para proyectos comerciales, incluidos juegos, por unos 45 euros por canción.</p>
<h3 id="jamendo" tabindex="-1">Jamendo <a class="header-anchor" href="#jamendo" aria-label="Permalink to &quot;Jamendo&quot;"></a></h3>
<p><strong>Ideal para:</strong> Descubrir música, no para usarla comercialmente de forma gratuita</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.jamendo.com" target="_blank" rel="noreferrer">jamendo.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC para escucha personal; licencia de sincronización de pago para proyectos comerciales</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Gran catálogo de artistas independientes</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>No se aplica al uso comercial (se requiere una licencia de pago)</td>
</tr>
</tbody>
</table>
<p>Jamendo confunde a mucha gente. Las descargas gratuitas son para uso personal y la mayoría de las pistas tienen condiciones CC no comerciales. Para incluir una pista en un juego que vendas necesitas adquirir una licencia por pista mediante Jamendo Licensing, su programa de sincronización de pago. Considéralo una fuente de pago con escucha previa gratuita, no una fuente gratuita.</p>
<h2 id="cuidado-con-las-trampas-de-las-licencias" tabindex="-1">Cuidado con las trampas de las licencias <a class="header-anchor" href="#cuidado-con-las-trampas-de-las-licencias" aria-label="Permalink to &quot;Cuidado con las trampas de las licencias&quot;"></a></h2>
<p>Algunas fuentes populares no son seguras para juegos comerciales:</p>
<ul>
<li>El <strong>archivo de efectos de sonido de la BBC</strong> es gratuito, pero su licencia RemArc solo permite usos no comerciales. Úsalo para prototipos y proyectos estudiantiles, no para juegos que vayas a vender.</li>
<li>Las <strong>descargas gratuitas de Jamendo</strong> son solo para uso personal, como se explicó anteriormente. El uso comercial requiere comprar una licencia de sincronización.</li>
<li>El <strong>plan gratuito de Uppbeat</strong> está pensado para contenido en redes sociales, no para juegos descargables, así que no des por hecho que cubre tu proyecto.</li>
<li>El audio de <strong>Internet Archive</strong> varía muchísimo de un elemento a otro, y algunos archivos se han subido sin el consentimiento de los titulares de los derechos. Comprueba el campo de derechos de cada elemento; es la fuente de mayor riesgo de esta lista.</li>
</ul>
<h2 id="formatos-de-audio-para-juegos-web" tabindex="-1">Formatos de audio para juegos web <a class="header-anchor" href="#formatos-de-audio-para-juegos-web" aria-label="Permalink to &quot;Formatos de audio para juegos web&quot;"></a></h2>
<p>Si tu juego se ejecuta en un navegador, la elección del formato afecta tanto al tamaño de los archivos como a la capacidad de reproducir bucles correctamente.</p>
<table tabindex="0">
<thead>
<tr>
<th>Formato</th>
<th>Tamaño con buena calidad</th>
<th>Compatibilidad con navegadores</th>
<th>Úsalo para</th>
</tr>
</thead>
<tbody>
<tr>
<td>OGG Vorbis</td>
<td>Pequeño</td>
<td>Todos, Safari desde la versión 18.4 (2025)</td>
<td>Música y efectos de sonido; tu opción predeterminada</td>
</tr>
<tr>
<td>MP3</td>
<td>Ligeramente mayor</td>
<td>Universal, incluido Safari antiguo</td>
<td>Formato alternativo y sonidos de una sola reproducción</td>
</tr>
<tr>
<td>Opus (WebM/OGG)</td>
<td>El más pequeño</td>
<td>Navegadores modernos; la compatibilidad con Safari es reciente</td>
<td>Música larga con tasas de bits bajas</td>
</tr>
<tr>
<td>WAV</td>
<td>Enorme</td>
<td>Universal</td>
<td>Solo efectos de interfaz muy breves, si acaso</td>
</tr>
</tbody>
</table>
<p>Safari finalmente añadió compatibilidad nativa con OGG Vorbis en la versión 18.4, así que en 2026 puedes publicar únicamente en OGG para la mayoría de los públicos. Si tus datos analíticos muestran tráfico desde versiones antiguas de iOS, ofrece MP3 como formato alternativo mediante el patrón de múltiples fuentes del elemento <code>&lt;audio&gt;</code> o una biblioteca como Howler.js.</p>
<h3 id="musica-en-bucle-sin-pausas" tabindex="-1">Música en bucle sin pausas <a class="header-anchor" href="#musica-en-bucle-sin-pausas" aria-label="Permalink to &quot;Música en bucle sin pausas&quot;"></a></h3>
<p>MP3 no es el formato adecuado para los bucles. El codificador rellena el principio y el final de cada archivo con unos milisegundos de silencio, por lo que un bucle MP3 produce un clic o un salto en el punto de unión. Usa OGG para cualquier audio que se repita. Para conseguir bucles con precisión de muestra, decodifica el archivo con la API Web Audio (<code>decodeAudioData</code> en un <code>AudioBufferSourceNode</code> con <code>loop = true</code>), que lo repite sin ninguna pausa. Elimina el silencio de ambos extremos del archivo y corta el bucle en el límite de un compás para que la unión resulte inaudible.</p>
<h3 id="normalizacion-del-volumen" tabindex="-1">Normalización del volumen <a class="header-anchor" href="#normalizacion-del-volumen" aria-label="Permalink to &quot;Normalización del volumen&quot;"></a></h3>
<p>Los sonidos gratuitos proceden de distintas fuentes con niveles de volumen muy diferentes. Antes de publicar el juego, importa todo en un editor como Audacity y normalízalo: las pistas musicales deberían rondar entre -14 y -16 LUFS, mientras que los efectos de sonido deberían alcanzar su pico uno o dos decibelios por debajo del nivel máximo para evitar la saturación cuando se reproduzcan varios a la vez. En el código, dirige todo a través de un único nodo de ganancia maestro para que un solo control de volumen gestione toda la mezcla.</p>
<h3 id="como-reducir-el-peso-total-del-audio" tabindex="-1">Cómo reducir el peso total del audio <a class="header-anchor" href="#como-reducir-el-peso-total-del-audio" aria-label="Permalink to &quot;Cómo reducir el peso total del audio&quot;"></a></h3>
<p>El audio puede convertirse silenciosamente en la parte más pesada de un juego de navegador. Codifica la música en OGG a entre 96 y 128 kbps —los jugadores no notarán la diferencia mientras juegan—, exporta los efectos de sonido en mono y prefiere un bucle de 60 segundos a una pista de 4 minutos. Transmite la música larga mediante un elemento <code>&lt;audio&gt;</code> en lugar de decodificarla en memoria, y reserva los búferes de Web Audio para efectos de sonido cortos que necesiten baja latencia. Todo el audio de un juego pequeño puede mantenerse cómodamente por debajo de 5 MB.</p>
<h2 id="genera-audio-con-ia" tabindex="-1">Genera audio con IA <a class="header-anchor" href="#genera-audio-con-ia" aria-label="Permalink to &quot;Genera audio con IA&quot;"></a></h2>
<p>La otra forma de conseguir audio gratuito para juegos en 2026 es generarlo. Los modelos abiertos como Stable Audio Open y ACE-Step permiten crear efectos de sonido y música con licencias aptas para uso comercial, mientras que ElevenLabs es la opción alojada más potente, con derechos comerciales en sus planes de pago. Nuestra <a href="/es/guides/frontier-gen-ai-models.html">guía de modelos abiertos de IA generativa</a> los compara.</p>
<p>Una observación sobre las licencias: según las directrices actuales de la Oficina de Derechos de Autor de Estados Unidos, el audio generado íntegramente por IA no puede protegerse por derechos de autor por sí solo. Por tanto, nadie puede reclamar la propiedad de los efectos de sonido que generes, pero tampoco puedes impedir que otras personas utilicen resultados idénticos. En la práctica, lo importante son las condiciones del proveedor, así que confirma que dispones de derechos de uso comercial antes de publicar.</p>
<p>Cinevva incluye ambas opciones y puedes probarlas gratis. <a href="/es/tools/sfx.html">Genera efectos de sonido a partir de una descripción de texto</a> —un disparo láser, el crujido de una puerta o el sonido de recoger una moneda— o <a href="/es/tools/music.html">genera canciones originales</a>, con voz o instrumentales, para la banda sonora de tu juego. Y si prefieres utilizar sonidos grabados, el catálogo CC0 de Freesound está integrado en la <a href="/es/assets.html?providers=freesound">búsqueda de recursos de Cinevva</a>, para que puedas buscar y añadir directamente a un juego audio apto para uso comercial.</p>
<h2 id="referencia-rapida-de-licencias" tabindex="-1">Referencia rápida de licencias <a class="header-anchor" href="#referencia-rapida-de-licencias" aria-label="Permalink to &quot;Referencia rápida de licencias&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Fuente</th>
<th>Licencia</th>
<th>Atribución</th>
<th>Apta para uso comercial</th>
</tr>
</thead>
<tbody>
<tr>
<td>Audio de Kenney</td>
<td>CC0</td>
<td>No</td>
<td>✅</td>
</tr>
<tr>
<td>Pixabay Music</td>
<td>Licencia de contenido de Pixabay</td>
<td>No</td>
<td>✅</td>
</tr>
<tr>
<td>Sonniss GDC</td>
<td>Libre de regalías</td>
<td>No</td>
<td>✅</td>
</tr>
<tr>
<td>Mixkit</td>
<td>Licencia gratuita de Mixkit</td>
<td>No</td>
<td>✅</td>
</tr>
<tr>
<td>Freesound</td>
<td>Según el sonido (CC0/CC-BY/NC)</td>
<td>Depende</td>
<td>✅ (comprueba cada uno)</td>
</tr>
<tr>
<td>OpenGameArt</td>
<td>Según el elemento (CC0/CC-BY/OGA-BY)</td>
<td>Depende</td>
<td>✅ (comprueba cada uno)</td>
</tr>
<tr>
<td>Paquetes de itch.io</td>
<td>Según el paquete</td>
<td>Depende</td>
<td>✅ (comprueba cada uno)</td>
</tr>
<tr>
<td>Incompetech</td>
<td>CC-BY 4.0</td>
<td>Sí</td>
<td>✅</td>
</tr>
<tr>
<td>ZapSplat (gratuito)</td>
<td>Estándar</td>
<td>Sí</td>
<td>✅</td>
</tr>
<tr>
<td>Purple Planet (gratuito)</td>
<td>Licencia con atribución</td>
<td>Sí</td>
<td>✅</td>
</tr>
<tr>
<td>Uppbeat (gratuito)</td>
<td>Plan gratuito</td>
<td>Sí</td>
<td>Limitada</td>
</tr>
<tr>
<td>Free Music Archive</td>
<td>CC según la pista</td>
<td>Depende</td>
<td>⚠️ muchas pistas NC</td>
</tr>
<tr>
<td>Jamendo</td>
<td>CC para uso personal / sincronización de pago</td>
<td>n/a</td>
<td>❌ sin licencia de pago</td>
</tr>
<tr>
<td>BBC Sound Effects</td>
<td>RemArc</td>
<td>n/a</td>
<td>❌ no comercial</td>
</tr>
<tr>
<td>Internet Archive</td>
<td>Varía</td>
<td>Varía</td>
<td>⚠️ comprueba cada elemento</td>
</tr>
</tbody>
</table>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿donde-puedo-conseguir-efectos-de-sonido-gratuitos-para-juegos" tabindex="-1">¿Dónde puedo conseguir efectos de sonido gratuitos para juegos? <a class="header-anchor" href="#¿donde-puedo-conseguir-efectos-de-sonido-gratuitos-para-juegos" aria-label="Permalink to &quot;¿Dónde puedo conseguir efectos de sonido gratuitos para juegos?&quot;"></a></h3>
<p>Freesound tiene la biblioteca más grande, con más de 700 000 sonidos —las licencias varían según el sonido, así que filtra por CC0—; Kenney ofrece paquetes de audio completamente CC0 sin necesidad de atribución; y el paquete Sonniss GDC proporciona grandes cantidades de efectos de sonido profesionales libres de regalías. Para juegos comerciales, da prioridad a las fuentes CC0 o claramente libres de regalías y comprueba la licencia de cada archivo.</p>
<h3 id="¿cual-es-la-mejor-musica-gratuita-para-juegos" tabindex="-1">¿Cuál es la mejor música gratuita para juegos? <a class="header-anchor" href="#¿cual-es-la-mejor-musica-gratuita-para-juegos" aria-label="Permalink to &quot;¿Cuál es la mejor música gratuita para juegos?&quot;"></a></h3>
<p>Si buscas música sin necesidad de atribución, Pixabay Music es la opción más sencilla y apta para uso comercial. Incompetech ofrece más de 2000 pistas con licencia CC-BY si incluyes la línea de atribución, y OpenGameArt cuenta con bucles específicos para juegos bajo CC0. Free Music Archive tiene una enorme variedad, pero sus licencias son mixtas, así que comprueba cada pista. Evita las descargas gratuitas de Jamendo para juegos comerciales, ya que solo permiten el uso personal.</p>
<h3 id="¿puedo-usar-audio-de-freesound-en-un-juego-comercial" tabindex="-1">¿Puedo usar audio de Freesound en un juego comercial? <a class="header-anchor" href="#¿puedo-usar-audio-de-freesound-en-un-juego-comercial" aria-label="Permalink to &quot;¿Puedo usar audio de Freesound en un juego comercial?&quot;"></a></h3>
<p>Sí, siempre que la licencia del sonido concreto lo permita. Los sonidos CC0 son totalmente aptos para uso comercial y no requieren atribución; los sonidos CC-BY pueden utilizarse con atribución; y los sonidos CC-BY-NC no pueden incluirse en un juego que vendas. La búsqueda avanzada de Freesound permite filtrar por licencia, así que limita los resultados a CC0 y CC-BY para utilizarlos sin problemas.</p>
<h3 id="¿tengo-que-atribuir-a-kenney" tabindex="-1">¿Tengo que atribuir a Kenney? <a class="header-anchor" href="#¿tengo-que-atribuir-a-kenney" aria-label="Permalink to &quot;¿Tengo que atribuir a Kenney?&quot;"></a></h3>
<p>No. Todos los recursos de Kenney, incluidos todos sus paquetes de audio, son de dominio público bajo CC0, por lo que no requieren atribución ni siquiera en juegos comerciales. Kenney fomenta explícitamente el uso comercial. Incluirlo en los créditos o hacer una donación es un buen gesto, no un requisito legal.</p>
<h3 id="¿la-musica-de-incompetech-sigue-siendo-gratuita" tabindex="-1">¿La música de Incompetech sigue siendo gratuita? <a class="header-anchor" href="#¿la-musica-de-incompetech-sigue-siendo-gratuita" aria-label="Permalink to &quot;¿La música de Incompetech sigue siendo gratuita?&quot;"></a></h3>
<p>Sí. En 2026, el catálogo de Kevin MacLeod, con más de 2000 pistas, sigue siendo gratuito bajo CC-BY 4.0 siempre que incluyas la línea de atribución completa con su nombre, el sitio y la licencia. Si no puedes mostrar créditos, puedes adquirir una licencia sin atribución desde 30 dólares por canción.</p>
<h3 id="¿tengo-que-atribuir-el-audio-gratuito-de-un-juego" tabindex="-1">¿Tengo que atribuir el audio gratuito de un juego? <a class="header-anchor" href="#¿tengo-que-atribuir-el-audio-gratuito-de-un-juego" aria-label="Permalink to &quot;¿Tengo que atribuir el audio gratuito de un juego?&quot;"></a></h3>
<p>Depende de la licencia. El audio con licencia CC0, de Pixabay y de Mixkit no requiere atribución. CC-BY —como Incompetech—, el plan gratuito de ZapSplat y Purple Planet exigen atribución, normalmente mediante una línea en la pantalla de créditos. CC-BY-NC y la licencia RemArc de la BBC prohíben por completo el uso comercial. Da prioridad a CC0 para evitar tener que gestionar atribuciones.</p>
<h3 id="¿que-formato-de-audio-deberian-usar-los-juegos-web" tabindex="-1">¿Qué formato de audio deberían usar los juegos web? <a class="header-anchor" href="#¿que-formato-de-audio-deberian-usar-los-juegos-web" aria-label="Permalink to &quot;¿Qué formato de audio deberían usar los juegos web?&quot;"></a></h3>
<p>OGG Vorbis. Ofrece buena calidad con un tamaño reducido, permite reproducir bucles sin pausas y ya es compatible con todos los navegadores principales desde que Safari lo añadió en la versión 18.4. Conserva MP3 como formato alternativo si necesitas admitir dispositivos iOS antiguos, y evita MP3 para música en bucle porque el relleno del codificador rompe la continuidad en el punto de unión.</p>
<h3 id="¿puedo-usar-ia-para-generar-sonido-y-musica-para-juegos" tabindex="-1">¿Puedo usar IA para generar sonido y música para juegos? <a class="header-anchor" href="#¿puedo-usar-ia-para-generar-sonido-y-musica-para-juegos" aria-label="Permalink to &quot;¿Puedo usar IA para generar sonido y música para juegos?&quot;"></a></h3>
<p>Sí. Los modelos abiertos como Stable Audio Open y ACE-Step generan audio con licencias aptas para uso comercial, y ElevenLabs es una potente opción alojada que concede derechos comerciales en sus planes de pago. Las herramientas gratuitas de <a href="/es/tools/sfx.html">efectos de sonido</a> y <a href="/es/tools/music.html">música</a> de Cinevva generan audio para juegos a partir de una instrucción de texto. Confirma las condiciones del proveedor sobre los derechos de los resultados antes de publicar cualquier contenido comercialmente.</p>
<BuildCta
  title="Añade automáticamente música y sonido a un juego"
  desc="La IA compone la banda sonora de tu juego mientras lo crea."
  prompt="Crea un juego incremental de ritmo con música alegre y efectos de sonido satisfactorios" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — la guía completa de recursos</li>
<li><a href="/es/guides/free-3d-model-sites.html">Los mejores sitios de modelos 3D gratuitos para juegos</a> — el apartado visual</li>
<li><a href="/es/guides/game-asset-licenses.html">Explicación de las licencias de recursos para juegos</a> — CC0, CC-BY y contenido libre de regalías</li>
<li><a href="/es/guides/frontier-gen-ai-models.html">Los mejores modelos de IA generativa de código abierto para juegos</a> — generación de audio con IA</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo publicar un juego en itch.io</a> — publica tu juego con esos paquetes de audio</li>
<li><a href="/es/tutorials/tone-js-game-audio.html">Audio para juegos con Tone.js</a> — reproducción de audio en el navegador</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/free-sound-effects-music-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo conseguir más reproducciones en itch.io (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/get-more-plays-itch-io</link>
            <guid>https://app.cinevva.com/es/guides/get-more-plays-itch-io</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Una guía práctica de 2026 para conseguir más reproducciones y descargas en itch.io que explica cómo funciona el descubrimiento, las etiquetas, las versiones web jugables, los devlogs, las game jams y el tráfico externo.]]></description>
            <content:encoded><![CDATA[<h1 id="como-conseguir-mas-reproducciones-en-itch-io-2026" tabindex="-1">Cómo conseguir más reproducciones en itch.io (2026) <a class="header-anchor" href="#como-conseguir-mas-reproducciones-en-itch-io-2026" aria-label="Permalink to &quot;Cómo conseguir más reproducciones en itch.io (2026)&quot;"></a></h1>
<p><em>Última actualización: junio de 2026.</em></p>
<p>Subir un juego a itch.io es fácil. Conseguir que la gente juegue es la parte difícil. itch.io no te dará una audiencia como podría hacerlo un gran portal, así que las reproducciones provienen de una buena página, una versión web jugable, devlogs, jams y el tráfico que consigas por tu cuenta. Esto es lo que realmente marca la diferencia en 2026, según cómo funciona de verdad el descubrimiento en itch.io.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/dSLhu2ufSvc" title="Cómo conseguir más visitas y descargas en itch.io — Brani_Dev" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Tácticas prácticas para conseguir más visitas y descargas en itch.io.</div>
<h2 id="como-funciona-realmente-el-descubrimiento-en-itch-io" tabindex="-1">Cómo funciona realmente el descubrimiento en itch.io <a class="header-anchor" href="#como-funciona-realmente-el-descubrimiento-en-itch-io" aria-label="Permalink to &quot;Cómo funciona realmente el descubrimiento en itch.io&quot;"></a></h2>
<p>Algunos datos para orientar tus esfuerzos:</p>
<ul>
<li>La clasificación <strong>Popular</strong> utiliza un algoritmo opaco que combina la actividad histórica y reciente, dando más peso a la reciente. Entre las señales confirmadas están las visitas orgánicas, las descargas y las reproducciones. Fingir cualquiera de ellas hará que tu juego sea retirado de los listados.</li>
<li><strong>Más recientes</strong> te muestra una sola vez, cuando publicas por primera vez; no puedes volver a activarlo republicando el juego (itch no cambiará tu fecha de publicación).</li>
<li>La <strong>página de inicio está seleccionada por personas</strong>: el personal elige los juegos manualmente, no un algoritmo. No puedes manipular el sistema para aparecer en ella, pero una página excelente y una tracción real aumentan tus probabilidades.</li>
<li>Para que tu juego se indexe, su página debe ser pública, tener una imagen de portada y permitir jugar o descargarlo. Las páginas provisionales vacías no se indexan, y las cuentas nuevas de vendedores pasan por una breve cola de revisión.</li>
</ul>
<p>La conclusión práctica: itch recompensa la actividad real concentrada en el lanzamiento y una página completa. No recompensa los trucos.</p>
<h2 id="haz-que-se-pueda-jugar-en-el-navegador" tabindex="-1">Haz que se pueda jugar en el navegador <a class="header-anchor" href="#haz-que-se-pueda-jugar-en-el-navegador" aria-label="Permalink to &quot;Haz que se pueda jugar en el navegador&quot;"></a></h2>
<p>Esta es la medida más eficaz que puedes tomar en la propia página. Sube una versión HTML5 (un ZIP con <code>index.html</code>) para que la gente pueda jugar al instante en vez de tener que descargarla. Los juegos que funcionan en el navegador generan mucha más interacción que los que solo se pueden descargar, porque eliminan las barreras. El fundador de itch ha señalado que su tasa de conversión es mucho mayor, y los datos de analistas indican que los juegos de navegador consiguen aproximadamente tres veces más interacción; a menudo, cerca de la mitad de las visitas a la página se convierten en partidas. Si tu motor puede exportar a la web, hazlo.</p>
<h2 id="perfecciona-la-pagina" tabindex="-1">Perfecciona la página <a class="header-anchor" href="#perfecciona-la-pagina" aria-label="Permalink to &quot;Perfecciona la página&quot;"></a></h2>
<ul>
<li><strong>Imagen de portada:</strong> es obligatoria y se recomienda un tamaño de 630x500. Es el elemento gráfico más importante de tu página, y las portadas GIF animadas son compatibles y recomendables. Empieza con movimiento que muestre el principal atractivo del juego.</li>
<li><strong>Capturas de pantalla y un tráiler/GIF:</strong> itch muestra los vídeos incrustados (YouTube, Vimeo) encima de las capturas de pantalla y los recomienda especialmente para los juegos. Muestra, no cuentes.</li>
<li><strong>Descripción breve:</strong> aparece en todos los listados, así que debe comunicar un gancho claro y específico.</li>
</ul>
<h2 id="etiquetas-y-metadatos" tabindex="-1">Etiquetas y metadatos <a class="header-anchor" href="#etiquetas-y-metadatos" aria-label="Permalink to &quot;Etiquetas y metadatos&quot;"></a></h2>
<p>Usa las etiquetas sugeridas en lugar de inventar las tuyas, evita los sinónimos y no abuses de las etiquetas, ya que eso hará que tu juego desaparezca de la navegación. Puedes usar hasta 10 etiquetas, además de un género. Marca una plataforma (Windows/Mac/Linux) únicamente si de verdad tienes una versión probada para ella; una clasificación incorrecta hará que tu juego sea retirado de los listados.</p>
<h2 id="usa-devlogs" tabindex="-1">Usa devlogs <a class="header-anchor" href="#usa-devlogs" aria-label="Permalink to &quot;Usa devlogs&quot;"></a></h2>
<p>Publicar un devlog hace que aparezca en los feeds de todos tus seguidores y en el feed general de devlogs del sitio, lo que te permite llegar más allá de tus propios seguidores. Estos también reciben una notificación cuando publicas un proyecto nuevo o pones uno en oferta. Por tanto, publicar devlogs aumenta tu número de seguidores, y esos seguidores recibirán un aviso en tu próximo lanzamiento. Trata los devlogs como una herramienta recurrente para generar tráfico y construir una audiencia, no como algo secundario.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/l9TZl_0Gqe4" title="Por qué tu juego de itch.io recibe 0 descargas (y cómo solucionarlo) — KiriSoft Games" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Motivos habituales por los que los juegos de itch.io no consiguen descargas y cómo solucionarlos.</div>
<h2 id="participa-en-game-jams-el-verdadero-motor-de-descubrimiento" tabindex="-1">Participa en game jams (el verdadero motor de descubrimiento) <a class="header-anchor" href="#participa-en-game-jams-el-verdadero-motor-de-descubrimiento" aria-label="Permalink to &quot;Participa en game jams (el verdadero motor de descubrimiento)&quot;"></a></h2>
<p>Las jams son el mayor impulsor individual del descubrimiento orgánico en itch.io, donde se han creado cientos de miles de juegos para ellas. Una jam te proporciona una audiencia integrada, una fecha límite y un mecanismo de reciprocidad: si puntúas y comentas otras propuestas (y has enviado la tuya), se añade automáticamente un enlace a tu juego debajo de tus comentarios, lo que atrae reproducciones de vuelta hacia él. Las grandes jams, como GMTK, atraen a decenas de miles de participantes. Las jams no impulsarán mágicamente el algoritmo de Popular, pero harán que personas reales vean tu juego cuando nada más lo consiga.</p>
<h2 id="precios-para-conseguir-mas-reproducciones" tabindex="-1">Precios para conseguir más reproducciones <a class="header-anchor" href="#precios-para-conseguir-mas-reproducciones" aria-label="Permalink to &quot;Precios para conseguir más reproducciones&quot;"></a></h2>
<p>Los precios de itch siempre siguen el modelo «paga lo que quieras»: el precio establecido es el mínimo y los compradores pueden pagar más (alrededor del 30 % del dinero gastado corresponde a cantidades adicionales por encima del mínimo). Para maximizar las reproducciones, ofrecer el juego gratis o con un precio de «paga lo que quieras» elimina todas las barreras y permite que los fans sigan dejando propina. Ten en cuenta que los juegos HTML5 solo pueden recibir pagos como donaciones. Evita las ofertas permanentes, ya que itch considera que no son ofertas auténticas y puede retirar esos juegos del índice.</p>
<h2 id="consigue-tu-propio-trafico-de-donde-provienen-la-mayoria-de-las-reproducciones" tabindex="-1">Consigue tu propio tráfico (de donde provienen la mayoría de las reproducciones) <a class="header-anchor" href="#consigue-tu-propio-trafico-de-donde-provienen-la-mayoria-de-las-reproducciones" aria-label="Permalink to &quot;Consigue tu propio tráfico (de donde provienen la mayoría de las reproducciones)&quot;"></a></h2>
<p>itch renueva rápidamente los juegos destacados y no mantiene el descubrimiento como Steam, así que el tráfico externo es donde se consiguen las reproducciones de verdad:</p>
<ul>
<li><strong>Streamers y youtubers</strong> son el canal con mayor rendimiento. Un solo creador puede generar más instalaciones que meses de otros esfuerzos, y buscan activamente demos gratuitas en itch.</li>
<li>Los <strong>vídeos cortos</strong> (TikTok, Reels, Shorts) con clips de partidas reales son ahora uno de los principales motores de viralidad para los juegos independientes.</li>
<li><strong>Reddit</strong> (r/IndieGaming, r/playmygame y comunidades similares), respetando la regla aproximada de nueve publicaciones para la comunidad por cada publicación de autopromoción.</li>
<li><strong>Discord</strong> para conseguir testers y mejorar la retención, y X con #screenshotsaturday y GIFs.</li>
</ul>
<p>Para consultar una estrategia más amplia sin presupuesto, lee <a href="/es/guides/promote-indie-game-no-budget.html">cómo promocionar un juego independiente sin presupuesto</a>.</p>
<h2 id="errores-comunes" tabindex="-1">Errores comunes <a class="header-anchor" href="#errores-comunes" aria-label="Permalink to &quot;Errores comunes&quot;"></a></h2>
<p>Ofrecer solo una descarga cuando es posible crear una versión web, tener una portada débil o inexistente, no incluir un tráiler o GIF, usar descripciones escasas o etiquetas incorrectas o excesivas, publicar y después guardar silencio (sin devlogs), esperar que el algoritmo o los destacados hagan todo el trabajo, no ofrecer una demo y falsificar métricas (lo que hará que tu juego sea retirado de los listados). Corrige primero estos problemas; hacerlo es gratis.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿como-consigo-mas-reproducciones-en-itch-io" tabindex="-1">¿Cómo consigo más reproducciones en itch.io? <a class="header-anchor" href="#¿como-consigo-mas-reproducciones-en-itch-io" aria-label="Permalink to &quot;¿Cómo consigo más reproducciones en itch.io?&quot;"></a></h3>
<p>Sube una versión HTML5 jugable en el navegador (genera mucha más interacción que las descargas), crea una página atractiva con una portada animada y un tráiler, usa etiquetas sugeridas y precisas, publica devlogs para llegar a tus seguidores, participa en game jams para aprovechar su descubrimiento integrado y atrae tráfico externo mediante streamers, vídeos cortos y comunidades. itch recompensa la actividad real y las páginas completas, no los trucos.</p>
<h3 id="¿itch-io-promociona-tu-juego-por-ti" tabindex="-1">¿itch.io promociona tu juego por ti? <a class="header-anchor" href="#¿itch-io-promociona-tu-juego-por-ti" aria-label="Permalink to &quot;¿itch.io promociona tu juego por ti?&quot;"></a></h3>
<p>No demasiado. El personal selecciona manualmente la página de inicio, y la clasificación Popular cambia rápidamente en función de la actividad reciente real. itch te proporciona las herramientas y una audiencia inicial, pero el descubrimiento sostenido depende de lo que hagas: una versión jugable, devlogs, jams y el tráfico que atraigas desde streamers, vídeos y comunidades.</p>
<h3 id="¿los-juegos-web-consiguen-mas-reproducciones-que-descargas-en-itch-io" tabindex="-1">¿Los juegos web consiguen más reproducciones que descargas en itch.io? <a class="header-anchor" href="#¿los-juegos-web-consiguen-mas-reproducciones-que-descargas-en-itch-io" aria-label="Permalink to &quot;¿Los juegos web consiguen más reproducciones que descargas en itch.io?&quot;"></a></h3>
<p>Sí, muchas más. Los juegos que funcionan en el navegador eliminan la barrera de la descarga, y los datos muestran que generan aproximadamente tres veces más interacción que los juegos que solo se pueden descargar, ya que una gran proporción de las visitas a la página se convierten en partidas. Si tu motor exporta a HTML5, publicar una versión web jugable es la mejor medida que puedes tomar para conseguir más reproducciones.</p>
<h3 id="¿merece-la-pena-participar-en-game-jams-para-conseguir-reproducciones" tabindex="-1">¿Merece la pena participar en game jams para conseguir reproducciones? <a class="header-anchor" href="#¿merece-la-pena-participar-en-game-jams-para-conseguir-reproducciones" aria-label="Permalink to &quot;¿Merece la pena participar en game jams para conseguir reproducciones?&quot;"></a></h3>
<p>Mucho. Las jams son el mayor motor de descubrimiento orgánico en itch.io: te ofrecen una audiencia integrada y una fecha límite, y al puntuar otras propuestas se añade automáticamente un enlace de vuelta a tu juego, lo que atrae reproducciones. No impulsarán directamente el algoritmo, pero llevarán jugadores reales a tu juego cuando todavía no tengas audiencia.</p>
<BuildCta
  title="¿Primero necesitas un juego que promocionar?"
  desc="Crea algo breve y adictivo, y después aplica esta estrategia."
  prompt="Crea un juego breve y adictivo de un solo botón, con la emoción de competir por la máxima puntuación mundial" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo lanzar tu juego en itch.io</a> — los aspectos básicos de la configuración</li>
<li><a href="/es/guides/publish-web-game.html">Los mejores lugares donde publicar un juego web en 2026</a> — itch.io frente a los portales</li>
<li><a href="/es/guides/promote-indie-game-no-budget.html">Cómo promocionar un juego independiente sin presupuesto</a> — la estrategia más amplia</li>
<li><a href="/es/guides/game-jams-hackathons.html">Game jams y hackatones</a> — cómo elegir las jams en las que participar</li>
<li><a href="/es/guides/web-game-monetization.html">Monetización de juegos web: qué dicen realmente los datos</a> — cómo convertir esas reproducciones en ingresos</li>
<li><a href="/es/guides/steam-next-fest-strategy.html">Estrategia para Steam Next Fest</a> — si también llevas el juego a Steam</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/get-more-plays-itch-io-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo crear un juego con IA en 2026 (sin necesidad de programar)]]></title>
            <link>https://app.cinevva.com/es/guides/make-a-game-with-ai</link>
            <guid>https://app.cinevva.com/es/guides/make-a-game-with-ai</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Una guía paso a paso de 2026 para crear un juego con IA y sin programar, desde escribir tu primer prompt hasta generar recursos, iterar y publicar un juego que se pueda jugar.]]></description>
            <content:encoded><![CDATA[<h1 id="como-crear-un-juego-con-ia-en-2026-sin-necesidad-de-programar" tabindex="-1">Cómo crear un juego con IA en 2026 (sin necesidad de programar) <a class="header-anchor" href="#como-crear-un-juego-con-ia-en-2026-sin-necesidad-de-programar" aria-label="Permalink to &quot;Cómo crear un juego con IA en 2026 (sin necesidad de programar)&quot;"></a></h1>
<p><em>Última actualización: junio de 2026.</em></p>
<p>Hace unos años, crear un juego implicaba aprender a usar un motor, un lenguaje de programación y un flujo de trabajo artístico antes de tener algo jugable. En 2026, puedes describir un juego con lenguaje cotidiano y obtener una versión funcional en cuestión de minutos. Tú sigues tomando las decisiones creativas, pero la IA se encarga del trabajo repetitivo: movimiento, colisiones, físicas, arte provisional y sonido.</p>
<p>Esta guía recorre todo el proceso sin programar, desde tu primer prompt hasta la publicación del juego. Los ejemplos utilizan un creador de juegos con IA basado en el navegador, pero el flujo de trabajo se aplica a la mayoría de las herramientas que convierten prompts en juegos.</p>
<h2 id="que-necesitas" tabindex="-1">Qué necesitas <a class="header-anchor" href="#que-necesitas" aria-label="Permalink to &quot;Qué necesitas&quot;"></a></h2>
<p>Muy poco: un navegador, una idea y una herramienta. No necesitas instalar un motor, tener una GPU ni contar con recursos artísticos. Si primero quieres elegir una herramienta, consulta nuestra <a href="/es/guides/ai-game-generators-2026.html">comparativa de generadores de juegos con IA</a>; si solo quieres empezar, puedes <a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=make_game_with_ai">abrir un creador y escribir una idea</a> ahora mismo.</p>
<h2 id="paso-1-empieza-con-una-idea-clara-y-pequena" tabindex="-1">Paso 1: Empieza con una idea clara y pequeña <a class="header-anchor" href="#paso-1-empieza-con-una-idea-clara-y-pequena" aria-label="Permalink to &quot;Paso 1: Empieza con una idea clara y pequeña&quot;"></a></h2>
<p>El error más común entre principiantes es pedir «un RPG de mundo abierto con multijugador». Las herramientas de IA consiguen mejores resultados a partir de un núcleo pequeño y específico que puedas ampliar más adelante. Define tres cosas:</p>
<ul>
<li><strong>El tipo de juego.</strong> Plataformas, carreras, disparos, puzles, supervivencia o simulación relajante.</li>
<li><strong>Un elemento que lo haga tuyo.</strong> Un brillo, un giro en las reglas o una ambientación.</li>
<li><strong>Un objetivo.</strong> Lo que intenta conseguir el jugador.</li>
</ul>
<p>«Un juego de parkour en primera persona por islas flotantes en el que compites contra el reloj» es un prompt inicial mucho mejor que «una aventura 3D divertida». El primero proporciona a la IA una estructura sobre la que construir; el segundo la obliga a adivinar.</p>
<h2 id="paso-2-escribe-tu-primer-prompt" tabindex="-1">Paso 2: Escribe tu primer prompt <a class="header-anchor" href="#paso-2-escribe-tu-primer-prompt" aria-label="Permalink to &quot;Paso 2: Escribe tu primer prompt&quot;"></a></h2>
<p>Limítalo a una o dos frases. No estás escribiendo una especificación, sino iniciando una conversación. Un buen primer prompt indica el género, el objetivo y las sensaciones que buscas:</p>
<blockquote>
<p>Crea un juego de supervivencia zombi con vista cenital, una linterna que solo ilumine un cono estrecho, munición limitada y oleadas cada vez más difíciles.</p>
</blockquote>
<p>Después, deja que la herramienta construya el juego. Obtendrás una primera versión jugable, a menudo imperfecta, y eso es exactamente lo que quieres, porque el verdadero trabajo está en la iteración. Si empezar con un cuadro vacío te intimida, usa un <a href="/es/guides/vibe-coding-game-prompts.html">prompt ya preparado</a> y cambia una palabra.</p>
<h2 id="paso-3-itera-hablando-con-la-ia" tabindex="-1">Paso 3: Itera hablando con la IA <a class="header-anchor" href="#paso-3-itera-hablando-con-la-ia" aria-label="Permalink to &quot;Paso 3: Itera hablando con la IA&quot;"></a></h2>
<p>Aquí es donde realmente se crean los juegos. Juega a la primera versión, identifica lo que más te molesta y pide un único cambio para solucionarlo. Las peticiones pequeñas y específicas funcionan mejor que las grandes y vagas:</p>
<ul>
<li>«Haz que el jugador se mueva más rápido y salte más alto».</li>
<li>«Los enemigos son demasiado agresivos; hazlos más lentos y reduce su salud».</li>
<li>«Añade un contador de puntuación en la esquina superior derecha y una pantalla de fin de partida».</li>
</ul>
<p>Cambia una cosa, juega y repite. Si un cambio empeora el resultado, pide que lo deshaga o que vuelva a la versión anterior. Trátalo como un trabajo de dirección, no de programación: describe el resultado que quieres y evalúa lo que obtienes.</p>
<h2 id="paso-4-genera-los-recursos-que-necesitas" tabindex="-1">Paso 4: Genera los recursos que necesitas <a class="header-anchor" href="#paso-4-genera-los-recursos-que-necesitas" aria-label="Permalink to &quot;Paso 4: Genera los recursos que necesitas&quot;"></a></h2>
<p>Las herramientas modernas de creación de juegos con IA generan arte y audio bajo demanda, así que no tienes que conformarte con cajas grises. Dependiendo de la herramienta, puedes pedir modelos 3D, texturas, sprites, música y efectos de sonido, o utilizar bibliotecas integradas de recursos gratuitos. Pide lo que encaje con el ambiente: «dale al jugador un modelo de robot low poly», «añade música alegre de sintetizador» o «usa un skybox desértico». Si tu herramienta tiene una biblioteca de recursos CC0, esa es la fuente más segura para cualquier cosa que tengas previsto publicar. Nuestra <a href="/es/guides/game-assets-guide.html">guía de recursos gratuitos para juegos</a> explica de dónde proceden y cómo funcionan sus licencias.</p>
<h2 id="paso-5-pule-las-sensaciones-del-juego" tabindex="-1">Paso 5: Pule las sensaciones del juego <a class="header-anchor" href="#paso-5-pule-las-sensaciones-del-juego" aria-label="Permalink to &quot;Paso 5: Pule las sensaciones del juego&quot;"></a></h2>
<p>La diferencia entre una demostración técnica y un juego está en las sensaciones. Cuando el bucle principal funcione, dedica tus iteraciones a lo que los jugadores realmente perciben: controles ágiles, respuestas claras cuando sucede algo, un objetivo visible y una condición de victoria o derrota. Pide una pantalla de título, un botón para reiniciar, sonidos para las acciones importantes y una curva de dificultad. Estos pequeños detalles son los que hacen que un juego parezca terminado.</p>
<h2 id="paso-6-publica-y-comparte" tabindex="-1">Paso 6: Publica y comparte <a class="header-anchor" href="#paso-6-publica-y-comparte" aria-label="Permalink to &quot;Paso 6: Publica y comparte&quot;"></a></h2>
<p>Cuando sea jugable, publícalo. Las herramientas basadas en el navegador te proporcionan un enlace para compartir con un solo clic, la forma más rápida de obtener comentarios. Compártelo con amigos, publícalo donde se encuentre tu público y observa en qué puntos los jugadores se atascan o abandonan. Esos comentarios marcarán tu siguiente ronda de iteraciones. Si quieres ir más allá, nuestra <a href="/es/guides/itch-io-launch-guide.html">guía para publicar en itch.io</a> explica cómo distribuir un juego web entre un público más amplio.</p>
<h2 id="consejos-para-que-la-creacion-de-juegos-con-ia-funcione" tabindex="-1">Consejos para que la creación de juegos con IA funcione <a class="header-anchor" href="#consejos-para-que-la-creacion-de-juegos-con-ia-funcione" aria-label="Permalink to &quot;Consejos para que la creación de juegos con IA funcione&quot;"></a></h2>
<ul>
<li><strong>Empieza con algo pequeño y después amplíalo.</strong> Publica un juego pequeño pero completo antes de añadir funciones. Un juego pequeño terminado es mejor que uno grande sin terminar.</li>
<li><strong>Haz un cambio cada vez.</strong> Agrupar varias peticiones confunde a la IA y dificulta saber qué ha funcionado.</li>
<li><strong>Describe resultados, no la implementación.</strong> Di «el salto se siente demasiado flotante; hazlo más ágil», no «establece la gravedad en 20».</li>
<li><strong>Conserva una versión que sabes que funciona.</strong> Antes de hacer un cambio importante, deja constancia de que el estado actual funciona para poder volver a él.</li>
<li><strong>Usa la IA para las tareas tediosas.</strong> Deja que se encargue del trabajo repetitivo y de las variaciones para que tú dediques el tiempo a las decisiones que hacen que el juego sea tuyo.</li>
</ul>
<h2 id="para-que-sirve-la-ia-y-para-que-no" tabindex="-1">Para qué sirve la IA y para qué no <a class="header-anchor" href="#para-que-sirve-la-ia-y-para-que-no" aria-label="Permalink to &quot;Para qué sirve la IA y para qué no&quot;"></a></h2>
<p>La IA es realmente buena para pasar rápidamente de la nada a un prototipo jugable, generar recursos provisionales e incluso definitivos, y ocuparse de la mecánica interna de un juego. Es menos eficaz con diseños grandes y cargados de sistemas, ajustes de equilibrio minuciosos y cualquier proyecto que necesite una visión coherente a largo plazo, algo que sigue siendo responsabilidad tuya. La expectativa realista en 2026 es que la IA comprime en una tarde lo que antes requería un fin de semana de preparación, y que los resultados fiables se concentran en juegos pequeños y medianos, en lugar de proyectos enormes.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿de-verdad-puedo-crear-un-juego-sin-experiencia-en-programacion" tabindex="-1">¿De verdad puedo crear un juego sin experiencia en programación? <a class="header-anchor" href="#¿de-verdad-puedo-crear-un-juego-sin-experiencia-en-programacion" aria-label="Permalink to &quot;¿De verdad puedo crear un juego sin experiencia en programación?&quot;"></a></h3>
<p>Sí. En 2026, las herramientas que convierten prompts en juegos generan por ti el código, el arte y la lógica a partir de descripciones en lenguaje cotidiano, por lo que puedes crear y publicar un juego jugable sin escribir ni leer código. Tú diriges el juego describiendo lo que quieres y refinando los resultados.</p>
<h3 id="¿cuanto-se-tarda-en-crear-un-juego-con-ia" tabindex="-1">¿Cuánto se tarda en crear un juego con IA? <a class="header-anchor" href="#¿cuanto-se-tarda-en-crear-un-juego-con-ia" aria-label="Permalink to &quot;¿Cuánto se tarda en crear un juego con IA?&quot;"></a></h3>
<p>Un juego sencillo y jugable puede llevar entre unos minutos y una hora. Un juego pequeño pero pulido, con arte, sonido, menús y una curva de dificultad, suele requerir entre una tarde y un fin de semana de iteraciones. Los juegos más grandes o complejos siguen llevando más tiempo, porque el trabajo pasa de la configuración al diseño y el refinamiento.</p>
<h3 id="¿que-tipos-de-juegos-puede-crear-la-ia" tabindex="-1">¿Qué tipos de juegos puede crear la IA? <a class="header-anchor" href="#¿que-tipos-de-juegos-puede-crear-la-ia" aria-label="Permalink to &quot;¿Qué tipos de juegos puede crear la IA?&quot;"></a></h3>
<p>La IA funciona mejor con juegos pequeños y casuales: plataformas, carreras infinitas, shooters arcade, puzles, carreras, supervivencia y simuladores relajantes. Las herramientas de navegador pueden crear tanto juegos 2D como 3D, aunque los 2D suelen ofrecer resultados más fiables. Los juegos grandes y cargados de sistemas, como los RPG extensos o los títulos de estrategia, siguen siendo difíciles de generar correctamente y necesitan mucha dirección humana.</p>
<h3 id="¿tengo-que-pagar-para-crear-un-juego-con-ia" tabindex="-1">¿Tengo que pagar para crear un juego con IA? <a class="header-anchor" href="#¿tengo-que-pagar-para-crear-un-juego-con-ia" aria-label="Permalink to &quot;¿Tengo que pagar para crear un juego con IA?&quot;"></a></h3>
<p>La mayoría de las herramientas tienen un plan gratuito suficiente para crear y probar un juego. Normalmente tendrás que pagar si quieres una generación más intensiva, derechos comerciales o funciones de exportación. Nuestra <a href="/es/guides/ai-game-generators-2026.html">comparativa de generadores de juegos con IA</a> muestra los planes gratuitos y los precios uno al lado del otro.</p>
<h3 id="¿puedo-vender-un-juego-que-haya-creado-con-ia" tabindex="-1">¿Puedo vender un juego que haya creado con IA? <a class="header-anchor" href="#¿puedo-vender-un-juego-que-haya-creado-con-ia" aria-label="Permalink to &quot;¿Puedo vender un juego que haya creado con IA?&quot;"></a></h3>
<p>A menudo sí, pero debes comprobar dos cosas: las condiciones comerciales de la herramienta —algunas reservan el uso comercial para un plan de pago— y la licencia de cualquier recurso generado o importado. Muchas plataformas también exigen que indiques si se ha utilizado contenido generado por IA. Utiliza recursos CC0 y el plan comercial de la herramienta para evitar problemas.</p>
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/ai-game-generators-2026.html">Los mejores generadores de juegos con IA de 2026</a> — elige primero la herramienta adecuada</li>
<li><a href="/es/guides/3d-browser-game-without-coding.html">Cómo crear un juego 3D para navegador sin programar</a> — guía específica para juegos 3D</li>
<li><a href="/es/guides/vibe-coding-games.html">Vibe coding de juegos: qué es y cómo empezar</a> — la mentalidad detrás de la creación mediante prompts</li>
<li><a href="/es/guides/vibe-coding-game-prompts.html">Prompts de juegos con IA que puedes crear con un solo clic</a> — puntos de partida</li>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — arte y audio para tu juego</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo publicar tu juego en itch.io</a> — consigue jugadores</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/make-a-game-with-ai-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo crear un juego multijugador para navegador (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/multiplayer-browser-game</link>
            <guid>https://app.cinevva.com/es/guides/multiplayer-browser-game</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Cómo crear un juego multijugador para navegador en 2026, desde WebSockets frente a WebRTC hasta las mejores herramientas (Colyseus, PartyKit, Playroom), los fundamentos del netcode y una pila tecnológica para principiantes.]]></description>
            <content:encoded><![CDATA[<h1 id="como-crear-un-juego-multijugador-para-navegador-2026" tabindex="-1">Cómo crear un juego multijugador para navegador (2026) <a class="header-anchor" href="#como-crear-un-juego-multijugador-para-navegador-2026" aria-label="Permalink to &quot;Cómo crear un juego multijugador para navegador (2026)&quot;"></a></h1>
<p><em>Última actualización: junio de 2026.</em></p>
<p>El multijugador es la función que hace que un juego pequeño se difunda y, en 2026, puedes añadirlo a un juego de navegador sin gestionar tu propio centro de datos. Lo difícil no es conectar a los jugadores, sino mantener el juego sincronizado y justo. Esta guía aborda las decisiones importantes (transporte, modelo de servidor y netcode), las herramientas que facilitan el proceso y, por último, te ofrece una pila tecnológica sensata para empezar.</p>
<p><strong>La opción predeterminada en 2026 para un juego multijugador de navegador son los WebSockets con un servidor autoritativo, utilizando un framework como Colyseus o PartyKit para gestionar las salas y la sincronización del estado, y recurriendo a WebRTC solo cuando realmente necesitas una conexión entre pares.</strong></p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/s4lcuCTO2K8" title="Configuración de un servidor de juego multijugador con Colyseus y Phaser 3 — ourcade" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">ourcade explica paso a paso cómo crear un servidor multijugador con Colyseus y Phaser.</div>
<h2 id="primero-define-el-alcance-con-honestidad" tabindex="-1">Primero, define el alcance con honestidad <a class="header-anchor" href="#primero-define-el-alcance-con-honestidad" aria-label="Permalink to &quot;Primero, define el alcance con honestidad&quot;"></a></h2>
<p>La dificultad del multijugador aumenta drásticamente según la velocidad y el nivel competitivo de tu juego.</p>
<ul>
<li><strong>Fácil:</strong> juegos por turnos (de cartas o de tablero), salas pequeñas de 2 a 8 jugadores, cursores compartidos, salas de espera, chat y cooperación casual. Basta con WebSockets básicos o una herramienta sin backend.</li>
<li><strong>Difícil:</strong> acción rápida en tiempo real (shooters, movimiento tipo .io), muchos jugadores simultáneos y cualquier experiencia competitiva donde las trampas sean importantes. Estos juegos necesitan un servidor autoritativo, predicción y un netcode cuidadosamente diseñado.</li>
</ul>
<p>Empieza por la categoría fácil. Un juego funcional por turnos o con salas pequeñas te enseña todo el proceso antes de enfrentarte a los problemas difíciles.</p>
<h2 id="el-transporte-como-viajan-los-datos" tabindex="-1">El transporte: cómo viajan los datos <a class="header-anchor" href="#el-transporte-como-viajan-los-datos" aria-label="Permalink to &quot;El transporte: cómo viajan los datos&quot;"></a></h2>
<ul>
<li><strong>WebSockets</strong> son la opción práctica predeterminada. Se basan en TCP, son bidireccionales, maduros y compatibles con todos los navegadores. Su única debilidad es el bloqueo de cabecera de línea: un paquete perdido detiene todo lo que viene detrás, lo que perjudica a los juegos de acción rápida. Para la mayoría de los juegos, publica con WebSockets.</li>
<li><strong>WebRTC</strong> utiliza canales de datos similares a UDP (sin bloqueo de cabecera de línea), adecuados para acción rápida o conexiones entre pares, pero su configuración es mucho más compleja (señalización, STUN/TURN). Úsalo únicamente cuando necesites P2P o debas evitar un servidor de retransmisión.</li>
<li><strong>WebTransport</strong> es la opción más reciente (HTTP/3 + QUIC), con datagramas al estilo UDP. Es la dirección hacia la que avanza el sector, pero la compatibilidad con navegadores todavía se está consolidando en 2026, así que no es un transporte único seguro para alguien que empieza y quiere publicar hoy.</li>
</ul>
<p>Regla general: WebSockets para publicar ahora, WebTransport más adelante si lo necesitas y WebRTC para P2P o contenido multimedia.</p>
<h2 id="el-modelo-de-servidor-quien-decide-que-ha-ocurrido" tabindex="-1">El modelo de servidor: quién decide qué ha ocurrido <a class="header-anchor" href="#el-modelo-de-servidor-quien-decide-que-ha-ocurrido" aria-label="Permalink to &quot;El modelo de servidor: quién decide qué ha ocurrido&quot;"></a></h2>
<ul>
<li><strong>Servidor autoritativo:</strong> los clientes envían entradas, el servidor ejecuta la simulación y transmite el resultado. Es el estándar para cualquier experiencia competitiva, porque el servidor constituye el límite natural contra las trampas; nunca se confía en el cliente.</li>
<li><strong>Entre pares:</strong> es más barato de operar, pero resulta difícil evitar las trampas y la conectividad es frágil. Es adecuado para cooperación casual y salas pequeñas con jugadores de confianza.</li>
</ul>
<p>Incluso en un juego pequeño, un servidor autoritativo simplifica tu «fuente de verdad». La mayoría de las herramientas que aparecen a continuación utilizan este modelo de forma predeterminada.</p>
<h2 id="fundamentos-del-netcode-solo-cuando-los-necesites" tabindex="-1">Fundamentos del netcode (solo cuando los necesites) <a class="header-anchor" href="#fundamentos-del-netcode-solo-cuando-los-necesites" aria-label="Permalink to &quot;Fundamentos del netcode (solo cuando los necesites)&quot;"></a></h2>
<p>En los juegos rápidos en tiempo real, la sincronización directa del estado produce una sensación de latencia. Las soluciones habituales, explicadas claramente en la serie clásica de Gabriel Gambetta, son:</p>
<ul>
<li><strong>Predicción del lado del cliente:</strong> el cliente aplica tu entrada inmediatamente en lugar de esperar el viaje de ida y vuelta al servidor, por lo que el movimiento se siente instantáneo.</li>
<li><strong>Reconciliación con el servidor:</strong> cuando llega el estado autoritativo, el cliente vuelve a aplicar sus entradas pendientes para corregir cualquier desviación.</li>
<li><strong>Interpolación de entidades:</strong> representa a los demás jugadores ligeramente en el pasado, entre estados conocidos, para suavizar su movimiento.</li>
<li><strong>Compensación de latencia:</strong> el servidor retrocede hasta la posición que tenía un objetivo cuando se realizó el disparo, para determinar los impactos de forma justa.</li>
</ul>
<p>No implementes estas técnicas desde el principio. Añádelas únicamente cuando el movimiento se sienta realmente mal, algo que no ocurrirá en juegos por turnos o de ritmo lento.</p>
<h2 id="panorama-de-herramientas-en-2026" tabindex="-1">Panorama de herramientas en 2026 <a class="header-anchor" href="#panorama-de-herramientas-en-2026" aria-label="Permalink to &quot;Panorama de herramientas en 2026&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Herramienta</th>
<th>Para qué sirve</th>
<th>Código abierto</th>
<th>Alojamiento</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Socket.IO</strong></td>
<td>Biblioteca de WebSocket; tú escribes la lógica del juego. Excelente para aprender y para salas pequeñas.</td>
<td>Sí (MIT)</td>
<td>Alojamiento propio</td>
</tr>
<tr>
<td><strong>Colyseus</strong></td>
<td>Framework de servidor autoritativo para juegos: salas, emparejamiento y sincronización automática del estado.</td>
<td>Sí (MIT)</td>
<td>Alojamiento propio gratuito; Cloud desde unos 15 USD/mes</td>
</tr>
<tr>
<td><strong>Playroom</strong></td>
<td>Salas accesibles sin backend, presencia y emparejamiento casual. La vía más rápida para juegos casuales.</td>
<td>SDK</td>
<td>Gestionado</td>
</tr>
<tr>
<td><strong>PartyKit</strong></td>
<td>Salas en tiempo real en la red perimetral de Cloudflare (ahora forma parte de Cloudflare).</td>
<td>Sí</td>
<td>Cloudflare según el uso</td>
</tr>
<tr>
<td><strong>Cloudflare Durable Objects</strong></td>
<td>La primitiva de estado por sala de bajo nivel sobre la que se construye PartyKit.</td>
<td>Plataforma</td>
<td>Cloudflare según el uso</td>
</tr>
<tr>
<td><strong>geckos.io</strong></td>
<td>Comunicación cliente/servidor similar a UDP mediante WebRTC para juegos de acción rápida.</td>
<td>Sí</td>
<td>Alojamiento propio</td>
</tr>
<tr>
<td><strong>Nakama</strong></td>
<td>Backend completo de código abierto: tiempo real, emparejamiento, clasificaciones y chat.</td>
<td>Sí (Apache-2.0)</td>
<td>Alojamiento propio; nube gestionada</td>
</tr>
<tr>
<td><strong>Photon</strong></td>
<td>Red en tiempo real comercial y madura, centrada en Unity.</td>
<td>No</td>
<td>100 CCU gratis; planes de pago</td>
</tr>
<tr>
<td><strong>Supabase Realtime</strong></td>
<td>Difusión y presencia mediante WebSockets para sincronización ligera y salas de espera.</td>
<td>Sí</td>
<td>Incluido en los planes de Supabase</td>
</tr>
</tbody>
</table>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/DbaBeLDU-oY" title="Crea una aplicación web multijugador en tiempo real — CodeTV" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Creación de una experiencia multijugador en tiempo real con PartyKit en la red perimetral.</div>
<h2 id="una-pila-tecnologica-recomendada-para-principiantes" tabindex="-1">Una pila tecnológica recomendada para principiantes <a class="header-anchor" href="#una-pila-tecnologica-recomendada-para-principiantes" aria-label="Permalink to &quot;Una pila tecnológica recomendada para principiantes&quot;"></a></h2>
<p>Para un juego pequeño de navegador en tiempo real en 2026:</p>
<ul>
<li><strong>Transporte:</strong> WebSockets (compatibilidad para publicar ahora).</li>
<li><strong>Modelo de servidor:</strong> autoritativo, incluso para un juego pequeño, para simplificar la prevención de trampas y la «fuente de verdad».</li>
<li><strong>Framework:</strong> Colyseus. Tiene licencia MIT, puedes alojarlo por tu cuenta gratuitamente y proporciona salas, emparejamiento y sincronización automática del estado desde el primer momento, además de una nube gestionada (desde unos 15 USD al mes) si prefieres no administrar servidores. Si quieres prescindir por completo del backend en un juego casual, Playroom es una opción aún más rápida; si ya utilizas Cloudflare, PartyKit o Durable Objects encajan de forma natural.</li>
<li><strong>Netcode:</strong> empieza sin predicción. Añade predicción e interpolación al estilo de Gambetta solo cuando el movimiento se sienta lento.</li>
</ul>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-la-forma-mas-facil-de-crear-un-juego-multijugador-para-navegador" tabindex="-1">¿Cuál es la forma más fácil de crear un juego multijugador para navegador? <a class="header-anchor" href="#¿cual-es-la-forma-mas-facil-de-crear-un-juego-multijugador-para-navegador" aria-label="Permalink to &quot;¿Cuál es la forma más fácil de crear un juego multijugador para navegador?&quot;"></a></h3>
<p>Empieza con un juego por turnos o con salas pequeñas mediante WebSockets, utilizando un framework como Colyseus o una herramienta sin backend como Playroom. Estas soluciones gestionan las salas, la incorporación de jugadores y la sincronización del estado, por lo que puedes publicar un juego multijugador funcional sin crear netcode ni administrar tus propios servidores. Deja la acción rápida en tiempo real para después de haber publicado algo más sencillo.</p>
<h3 id="¿deberia-usar-websockets-o-webrtc-para-mi-juego" tabindex="-1">¿Debería usar WebSockets o WebRTC para mi juego? <a class="header-anchor" href="#¿deberia-usar-websockets-o-webrtc-para-mi-juego" aria-label="Permalink to &quot;¿Debería usar WebSockets o WebRTC para mi juego?&quot;"></a></h3>
<p>WebSockets para la mayoría de los juegos: son sencillos, maduros y compatibles con todos los navegadores. Usa WebRTC únicamente si necesitas conexiones entre pares o la menor latencia posible para acción rápida, ya que su configuración es considerablemente más compleja. WebTransport es la prometedora opción del futuro, pero su compatibilidad con navegadores todavía se está consolidando en 2026.</p>
<h3 id="¿necesito-mi-propio-servidor-para-el-multijugador" tabindex="-1">¿Necesito mi propio servidor para el multijugador? <a class="header-anchor" href="#¿necesito-mi-propio-servidor-para-el-multijugador" aria-label="Permalink to &quot;¿Necesito mi propio servidor para el multijugador?&quot;"></a></h3>
<p>No necesariamente. Herramientas gestionadas como Colyseus Cloud, Playroom, PartyKit y Photon alojan por ti la parte en tiempo real. También puedes alojar por tu cuenta frameworks de código abierto como Colyseus o Nakama si quieres tener un control total. Para un juego pequeño, un servicio gestionado es la vía más rápida y suele ser gratuito o barato al principio.</p>
<h3 id="¿como-evito-las-trampas-en-un-juego-multijugador" tabindex="-1">¿Cómo evito las trampas en un juego multijugador? <a class="header-anchor" href="#¿como-evito-las-trampas-en-un-juego-multijugador" aria-label="Permalink to &quot;¿Cómo evito las trampas en un juego multijugador?&quot;"></a></h3>
<p>Utiliza un servidor autoritativo: los clientes envían únicamente sus entradas y el servidor decide qué ocurre realmente, validándolo todo. Nunca confíes al cliente el resultado del juego. Por eso frameworks como Colyseus, Nakama y Photon utilizan de forma predeterminada un modelo autoritativo en el servidor, especialmente para cualquier experiencia competitiva.</p>
<BuildCta
  title="Empieza por el núcleo para un jugador"
  desc="Perfecciona la jugabilidad contra bots antes de añadir netcode."
  prompt="Crea un shooter de arena en el que luche contra oleadas de bots controlados por IA" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/web-game-engines-comparison.html">Mejores motores de juegos web para 2026</a> — el motor sobre el que se ejecuta tu juego multijugador</li>
<li><a href="/es/guides/best-free-game-engines-beginners.html">Mejores motores de juegos gratuitos para principiantes</a> — por dónde empezar</li>
<li><a href="/es/tutorials/websocket-multiplayer-basics.html">Fundamentos del multijugador con WebSocket</a> — una introducción práctica</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo publicar tu juego en itch.io</a> — publica tu juego multijugador</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/multiplayer-browser-game-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Phaser vs Defold: comparativa de los mejores motores para juegos web 2D (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/phaser-vs-defold</link>
            <guid>https://app.cinevva.com/es/guides/phaser-vs-defold</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Comparativa de Phaser y Defold en 2026 para juegos web 2D según el tamaño de compilación, el tiempo de carga, el lenguaje, el flujo de trabajo y el coste, para que puedas elegir el motor 2D adecuado para el navegador.]]></description>
            <content:encoded><![CDATA[<h1 id="phaser-vs-defold-comparativa-de-los-mejores-motores-para-juegos-web-2d-2026" tabindex="-1">Phaser vs Defold: comparativa de los mejores motores para juegos web 2D (2026) <a class="header-anchor" href="#phaser-vs-defold-comparativa-de-los-mejores-motores-para-juegos-web-2d-2026" aria-label="Permalink to &quot;Phaser vs Defold: comparativa de los mejores motores para juegos web 2D (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Para los juegos 2D en el navegador, hay dos motores que destacan por fortalezas diferentes: Phaser, el framework HTML5 más popular, y Defold, el motor que genera las compilaciones web más pequeñas y rápidas de cargar. Están pensados para distintos tipos de desarrolladores. Esta comparativa de 2026 te ayudará a elegir.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/3nfs6MNTNDo" title="Comparativa del motor de juegos Defold — GameFromScratch" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">GameFromScratch enfrenta a Defold con otros motores en una comparativa directa.</div>
<h2 id="veredicto-rapido" tabindex="-1">Veredicto rápido <a class="header-anchor" href="#veredicto-rapido" aria-label="Permalink to &quot;Veredicto rápido&quot;"></a></h2>
<ul>
<li><strong>Compilaciones web más pequeñas y rápidas de cargar, además de un editor todo en uno muy pulido:</strong> Defold.</li>
<li><strong>La comunidad más grande, más tutoriales y un framework JavaScript centrado en el código:</strong> Phaser.</li>
</ul>
<p>Ambos son gratuitos. La verdadera elección depende del flujo de trabajo (editor visual frente a framework de código), el lenguaje (Lua frente a JavaScript) y de cuánto te importen el tiempo de carga y la comunidad.</p>
<h2 id="comparativa" tabindex="-1">Comparativa <a class="header-anchor" href="#comparativa" aria-label="Permalink to &quot;Comparativa&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Phaser (4)</th>
<th>Defold</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Framework de juegos JS/TS</td>
<td>Motor completo + editor</td>
</tr>
<tr>
<td><strong>Lenguaje</strong></td>
<td>JavaScript / TypeScript</td>
<td>Lua</td>
</tr>
<tr>
<td><strong>Tecnología web</strong></td>
<td>WebGL2 / Canvas</td>
<td>WebAssembly + WebGL</td>
</tr>
<tr>
<td><strong>Tamaño de una compilación vacía</strong></td>
<td>~500 KB (framework)</td>
<td>~1,14 MB (compilación completa)</td>
</tr>
<tr>
<td><strong>Editor</strong></td>
<td>Usa el que prefieras (código)</td>
<td>Integrado y todo en uno</td>
</tr>
<tr>
<td><strong>Comunidad</strong></td>
<td>La más grande en juegos HTML5</td>
<td>Más pequeña, pero activa</td>
</tr>
<tr>
<td><strong>Publicación</strong></td>
<td>Manual / por tu cuenta</td>
<td>Integrada (Poki y otras plataformas)</td>
</tr>
<tr>
<td><strong>Licencia / coste</strong></td>
<td>Gratis (MIT)</td>
<td>Gratis, sin regalías</td>
</tr>
<tr>
<td><strong>3D</strong></td>
<td>No (2D)</td>
<td>Principalmente 2D, incorporando 3D</td>
</tr>
</tbody>
</table>
<h2 id="phaser-4" tabindex="-1">Phaser 4 <a class="header-anchor" href="#phaser-4" aria-label="Permalink to &quot;Phaser 4&quot;"></a></h2>
<p>Phaser es el framework de juegos HTML5 más popular, y la versión estable 4.0 se lanzó en abril de 2026 (seguida rápidamente por versiones menores como la 4.2). Se trata de una reescritura completa del renderizador WebGL2 con una nueva arquitectura basada en nodos, aunque conserva la conocida API de la versión 3. Puedes programar en JavaScript o TypeScript y disponer desde el primer momento de físicas, controles, audio, escenas y carga de recursos. El framework en sí es pequeño (~500 KB), aunque el tamaño final depende de tus recursos. Sus grandes ventajas son la enorme comunidad, la gran cantidad de tutoriales y ejemplos, y el hecho de que trabajas con código web estándar sobre el que tienes control total. Ten en cuenta que Phaser 4 es un motor WebGL2, no WebGPU; WebGPU forma parte de los planes futuros, pero aún no es una función disponible.</p>
<h2 id="defold" tabindex="-1">Defold <a class="header-anchor" href="#defold" aria-label="Permalink to &quot;Defold&quot;"></a></h2>
<p>Defold, creado originalmente por King (Candy Crush), está diseñado para desarrollar juegos web pequeños y de carga rápida. Su compilación HTML5 vacía ocupa alrededor de 1,14 MB y utiliza WebAssembly de forma predeterminada, lo que lo convierte en uno de los motores más rápidos de cargar según estudios sobre los principales juegos web. Se distribuye como un paquete completo: editor integrado, herramientas para escenas y publicación con un solo clic en plataformas como Poki. La versión estable más reciente es la 1.13.0 (junio de 2026), que eliminó el antiguo destino asm.js para que las compilaciones web usen exclusivamente Wasm. Además, es gratuito y no cobra regalías. Sus desventajas son una comunidad más pequeña que la de Phaser y la curva de aprendizaje de los scripts en Lua y del modelo de componentes de Defold. Es principalmente un motor 2D, aunque está incorporando activamente funciones 3D.</p>
<h2 id="como-elegir" tabindex="-1">Cómo elegir <a class="header-anchor" href="#como-elegir" aria-label="Permalink to &quot;Cómo elegir&quot;"></a></h2>
<p>Si ya conoces JavaScript, quieres acceder a la mayor cantidad de tutoriales y recursos de ayuda, y te gusta montar tu propia cadena de herramientas, elige Phaser. Si buscas las compilaciones más pequeñas y rápidas de cargar, un editor todo en uno muy pulido y publicación integrada, y no te importa aprender Lua, elige Defold. Para juegos web móviles en los que el tiempo de carga sea crítico, Defold ofrece una ventaja real; para aprender y recibir ayuda de la comunidad, Phaser es difícil de superar.</p>
<p>¿Quieres conocer más opciones, como PixiJS, Construct y GDevelop? Consulta nuestra guía de los <a href="/es/guides/best-2d-game-engines-2026.html">mejores motores de juegos 2D para 2026</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿es-mejor-phaser-o-defold-para-juegos-web-2d" tabindex="-1">¿Es mejor Phaser o Defold para juegos web 2D? <a class="header-anchor" href="#¿es-mejor-phaser-o-defold-para-juegos-web-2d" aria-label="Permalink to &quot;¿Es mejor Phaser o Defold para juegos web 2D?&quot;"></a></h3>
<p>Ambos son excelentes, pero se adaptan a distintos tipos de desarrolladores. Phaser es un framework JavaScript centrado en el código, con la comunidad más grande y la mayor cantidad de material de aprendizaje. Defold es un motor completo con editor integrado y genera las compilaciones web más pequeñas y rápidas de cargar. Elige Phaser por su comunidad y JavaScript; elige Defold por sus tiempos de carga y su flujo de trabajo todo en uno.</p>
<h3 id="¿cual-genera-compilaciones-web-mas-pequenas-y-rapidas-de-cargar" tabindex="-1">¿Cuál genera compilaciones web más pequeñas y rápidas de cargar? <a class="header-anchor" href="#¿cual-genera-compilaciones-web-mas-pequenas-y-rapidas-de-cargar" aria-label="Permalink to &quot;¿Cuál genera compilaciones web más pequeñas y rápidas de cargar?&quot;"></a></h3>
<p>Defold. Su compilación HTML5 vacía ocupa alrededor de 1,14 MB y utiliza WebAssembly, lo que lo convierte en uno de los motores de carga más rápida para juegos web. El framework de Phaser ocupa unos 500 KB, pero se trata de un framework y no de una compilación completa, y el tamaño real depende en gran medida de tus propios recursos. Para juegos sensibles al tiempo de carga, Defold tiene ventaja.</p>
<h3 id="¿phaser-y-defold-son-compatibles-con-webgpu" tabindex="-1">¿Phaser y Defold son compatibles con WebGPU? <a class="header-anchor" href="#¿phaser-y-defold-son-compatibles-con-webgpu" aria-label="Permalink to &quot;¿Phaser y Defold son compatibles con WebGPU?&quot;"></a></h3>
<p>No como función disponible en 2026. Phaser 4 es una reescritura basada en WebGL2, y WebGPU solo forma parte de sus planes futuros. El backend HTML5 de Defold utiliza WebGL, aunque hay trabajo experimental con WebGPU. Para los juegos 2D esto rara vez importa; WebGL2 es más que suficiente para el renderizado 2D habitual.</p>
<h3 id="¿phaser-y-defold-son-gratuitos-para-juegos-comerciales" tabindex="-1">¿Phaser y Defold son gratuitos para juegos comerciales? <a class="header-anchor" href="#¿phaser-y-defold-son-gratuitos-para-juegos-comerciales" aria-label="Permalink to &quot;¿Phaser y Defold son gratuitos para juegos comerciales?&quot;"></a></h3>
<p>Sí. Phaser es gratuito bajo la licencia MIT, y Defold es gratuito y de código abierto, sin regalías ni umbrales de ingresos. Ninguno cobra por publicar un juego comercial, aunque Phaser vende por separado un editor opcional.</p>
<BuildCta
  title="Pon a prueba tu idea 2D antes de comprometerte"
  desc="Una instrucción, un prototipo jugable y cero código repetitivo."
  prompt="Crea un shooter espacial 2D con oleadas de enemigos y potenciadores" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/best-2d-game-engines-2026.html">Mejores motores de juegos 2D para 2026</a> — todas las opciones 2D</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Mejores motores de juegos web para 2026</a> — 2D y 3D en una sola comparativa</li>
<li><a href="/es/guides/best-free-game-engines-beginners.html">Mejores motores de juegos gratuitos para principiantes</a> — por dónde empezar</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo publicar tu juego en itch.io</a> — cómo publicar un juego 2D terminado</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/phaser-vs-defold-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo promocionar un juego indie sin presupuesto (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/promote-indie-game-no-budget</link>
            <guid>https://app.cinevva.com/es/guides/promote-indie-game-no-budget</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Una guía práctica de 2026 para promocionar un juego indie sin presupuesto, desde las listas de deseados y la página de Steam hasta los vídeos cortos, los diarios de desarrollo, las comunidades y el contacto con streamers.]]></description>
            <content:encoded><![CDATA[<h1 id="como-promocionar-un-juego-indie-sin-presupuesto-2026" tabindex="-1">Cómo promocionar un juego indie sin presupuesto (2026) <a class="header-anchor" href="#como-promocionar-un-juego-indie-sin-presupuesto-2026" aria-label="Permalink to &quot;Cómo promocionar un juego indie sin presupuesto (2026)&quot;"></a></h1>
<p><em>Última actualización: junio de 2026.</em></p>
<p>No necesitas dinero para anuncios con el que promocionar un juego. Necesitas tiempo, un gancho claro y empezar pronto. La dura realidad de 2026 es que el problema es la visibilidad, no la demanda: en 2024 se publicaron unos 19.000 juegos en Steam y la mayoría nunca alcanzó unas ventas significativas. La buena noticia es que los canales que funcionan para los desarrolladores indie son, en su mayoría, gratuitos. Aquí te explicamos cómo utilizarlos.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/kpb2Ab8x7Zg" title="¿Por qué son tan importantes las listas de deseados para los desarrolladores indie? (con Chris Zukowski)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Por qué importan las listas de deseados, con el experto en marketing Chris Zukowski.</div>
<h2 id="empieza-por-la-pagina-de-steam-si-vas-a-publicar-en-steam" tabindex="-1">Empieza por la página de Steam (si vas a publicar en Steam) <a class="header-anchor" href="#empieza-por-la-pagina-de-steam-si-vas-a-publicar-en-steam" aria-label="Permalink to &quot;Empieza por la página de Steam (si vas a publicar en Steam)&quot;"></a></h2>
<p>Si tu juego va a estar en Steam, lo más valioso que puedes hacer gratis es publicar pronto una página de «Próximamente». Los juegos que la publicaron seis meses o más antes del lanzamiento consiguieron muchas más ventas que aquellos que esperaron hasta el último mes. Las listas de deseados no caducan, así que deberías publicar la página en cuanto tengas algunas capturas de pantalla y un clip corto.</p>
<p>Qué hacen realmente las listas de deseados: cada persona que añade el juego recibe una notificación cuando se lanza y cuando tiene descuentos, lo que convierte esa acumulación de interés en un pico de ventas durante el primer día. También impulsan la pestaña «Próximos lanzamientos populares» durante la última semana. Un mínimo aproximado para un lanzamiento viable ronda las 7.000 adiciones a listas de deseados; no es una cifra mágica, solo significa estar entre los lanzamientos más destacados de esa semana. Completa también correctamente la página de la tienda: unas etiquetas precisas (Steam las utiliza para clasificar los juegos) y un mayor número de idiomas compatibles aumentan la frecuencia con la que Steam muestra tu juego.</p>
<h3 id="el-ciclo-de-la-demo-para-el-next-fest" tabindex="-1">El ciclo de la demo para el Next Fest <a class="header-anchor" href="#el-ciclo-de-la-demo-para-el-next-fest" aria-label="Permalink to &quot;El ciclo de la demo para el Next Fest&quot;"></a></h3>
<p>Steam Next Fest es el mayor evento gratuito para conseguir adiciones a listas de deseados, pero amplifica una audiencia existente en lugar de crear una. La cantidad que consigues durante el evento está estrechamente relacionada con la que ya tenías al llegar, así que crea una audiencia antes del festival y aprovecha después su impulso. Una buena tasa de conversión de la demo a la lista de deseados ronda el 16-20 %.</p>
<h2 id="crea-un-juego-que-se-promocione-por-si-solo" tabindex="-1">Crea un juego que se promocione por sí solo <a class="header-anchor" href="#crea-un-juego-que-se-promocione-por-si-solo" aria-label="Permalink to &quot;Crea un juego que se promocione por sí solo&quot;"></a></h2>
<p>La decisión de marketing más importante ocurre antes de cualquier campaña: la elección del género y el concepto. Un juego con un concepto potente se difunde desde su primera captura de pantalla y solo necesita una o dos frases para despertar interés. Si no puedes mostrar por qué tu juego es interesante en los primeros segundos de un clip, la gente seguirá desplazándose. Por eso debes empezar por el gancho: los tráileres y clips deberían llegar a lo interesante durante los primeros segundos y presentar primero el género, después el gancho y luego el contenido, en lugar de limitarse a enumerar características.</p>
<h2 id="los-canales-gratuitos-que-funcionan-en-2026" tabindex="-1">Los canales gratuitos que funcionan en 2026 <a class="header-anchor" href="#los-canales-gratuitos-que-funcionan-en-2026" aria-label="Permalink to &quot;Los canales gratuitos que funcionan en 2026&quot;"></a></h2>
<ul>
<li><strong>Vídeos cortos</strong> (TikTok, Reels y YouTube Shorts) es el canal gratuito con mayor potencial de alcance, porque el algoritmo muestra los clips a personas que no te siguen, a diferencia de X, donde el alcance orgánico se ha reducido. Un clip puede superar con creces el rendimiento de un tuit. Una advertencia importante: conseguir alcance orgánico con vídeos cortos se ha vuelto más difícil en 2025-2026, así que prepárate para publicar con constancia y considera YouTube Shorts una opción estable que también genera buenas tasas de clics.</li>
<li><strong>Diarios de desarrollo, tráileres, GIF y arte de cápsula:</strong> la exposición repetida genera la familiaridad que se traduce en adiciones a listas de deseados, y publicar clips con regularidad también sirve para probar gratis qué ganchos funcionan.</li>
<li><strong>Reddit:</strong> publica en subreddits relevantes (r/IndieGaming, r/IndieDev, r/indiegames, r/playmygame y otros especializados) y respeta la regla aproximada de 10 a 1: solo una de cada diez publicaciones debería promocionar directamente tu juego. La autopromoción invasiva hará que te expulsen.</li>
<li><strong>Discord:</strong> un servidor mantiene el interés de los jugadores, te proporciona participantes para las pruebas y crea el núcleo de la comunidad que estará presente durante el lanzamiento.</li>
</ul>
<h2 id="prensa-y-streamers-sin-presupuesto" tabindex="-1">Prensa y streamers sin presupuesto <a class="header-anchor" href="#prensa-y-streamers-sin-presupuesto" aria-label="Permalink to &quot;Prensa y streamers sin presupuesto&quot;"></a></h2>
<p>Los streamers y youtubers impulsan ahora el descubrimiento de juegos indie con más fiabilidad que la prensa tradicional, y un par de creadores adecuados pueden superar los resultados de todos tus contactos con la prensa juntos. Buscan activamente demos gratuitas. La afinidad importa más que el alcance: elige creadores cuya audiencia encaje con el género de tu juego y explícales por qué los has elegido.</p>
<p>Para la prensa, escribe propuestas breves (la mayoría de los periodistas prefiere textos de menos de 200 palabras), incluye un gancho, el género, un enlace al kit de prensa, un tráiler y una clave, y personaliza el mensaje. Publica un kit de prensa de una sola página con una ficha informativa, capturas de pantalla en alta resolución, un tráiler y logotipos; cada obstáculo que elimines aumentará tus probabilidades. Envía copias para análisis unas dos semanas antes del lanzamiento y entrega las claves a los streamers alrededor de una semana antes. El mayor error al contactar con alguien es guardar silencio después de que muestre interés y dejar pasar la oportunidad.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/gQBdIGaZROE" title="Cómo NO arruinar el lanzamiento de tu juego indie. 30 errores en 30 minutos." frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Errores habituales que debes evitar al lanzar un juego indie.</div>
<h2 id="expectativas-realistas" tabindex="-1">Expectativas realistas <a class="header-anchor" href="#expectativas-realistas" aria-label="Permalink to &quot;Expectativas realistas&quot;"></a></h2>
<p>El punto de partida es desalentador: la mediana de ingresos brutos de los juegos publicados en Steam en 2024 fue de apenas unos cientos de dólares, y la mayor parte de los ingresos se concentra en los títulos ganadores. Pero es un problema de visibilidad, no de demanda: los juegos indie ya representan aproximadamente la mitad de los ingresos y de las copias vendidas en Steam. La audiencia es enorme; tu trabajo consiste en lograr que puedan encontrarte. El principal error es desarrollar en silencio y empezar a promocionar durante la última semana. El silencio total es más peligroso que mostrar un juego imperfecto.</p>
<p>Si tu juego funciona en un navegador, publicarlo gratis en portales como Poki y CrazyGames es en sí mismo una estrategia de marketing sin presupuesto, ya que esas plataformas te envían jugadores a los que, de otro modo, tendrías que pagar para llegar. Publicar en un portal pone tu juego frente a una audiencia que ya está allí buscando algo a lo que jugar, por lo que obtienes distribución y tráfico sin gastar un solo dólar en anuncios. Consulta <a href="/es/guides/publish-web-game.html">dónde publicar un juego web</a> para conocer las ventajas y desventajas de cada plataforma y <a href="/es/guides/web-game-monetization.html">cómo monetizar un juego web</a> para saber cuánto puede generar realmente ese alcance.</p>
<h2 id="un-calendario-sin-presupuesto" tabindex="-1">Un calendario sin presupuesto <a class="header-anchor" href="#un-calendario-sin-presupuesto" aria-label="Permalink to &quot;Un calendario sin presupuesto&quot;"></a></h2>
<ul>
<li><strong>De 6 a 12 meses antes:</strong> publica la página de «Próximamente» en Steam, empieza a compartir clips y diarios de desarrollo y crea un servidor de Discord.</li>
<li><strong>De 3 a 6 meses antes:</strong> publica vídeos cortos con regularidad, consigue adiciones a listas de deseados y prepara tu participación en el Next Fest.</li>
<li><strong>De 4 a 6 semanas antes:</strong> contacta con la prensa y los creadores, y termina el tráiler y el kit de prensa.</li>
<li><strong>Semana del lanzamiento:</strong> coordina las publicaciones en Reddit y redes sociales y los contactos con la prensa para la misma mañana; entrega las claves a los streamers una semana antes.</li>
</ul>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿como-promociono-un-juego-indie-sin-dinero" tabindex="-1">¿Cómo promociono un juego indie sin dinero? <a class="header-anchor" href="#¿como-promociono-un-juego-indie-sin-dinero" aria-label="Permalink to &quot;¿Cómo promociono un juego indie sin dinero?&quot;"></a></h3>
<p>Empieza pronto y aprovecha los canales gratuitos: publica una página de Steam con varios meses de antelación para reunir adiciones a listas de deseados, comparte vídeos cortos que muestren el gancho de tu juego, escribe diarios de desarrollo, participa en comunidades relevantes de Reddit y Discord y contacta con streamers y medios pequeños. La clave es mantener la constancia a lo largo del tiempo y ofrecer un gancho claro e inmediato, no disponer de un presupuesto de marketing.</p>
<h3 id="¿cuantas-adiciones-a-listas-de-deseados-necesito-antes-de-lanzar-mi-juego-en-steam" tabindex="-1">¿Cuántas adiciones a listas de deseados necesito antes de lanzar mi juego en Steam? <a class="header-anchor" href="#¿cuantas-adiciones-a-listas-de-deseados-necesito-antes-de-lanzar-mi-juego-en-steam" aria-label="Permalink to &quot;¿Cuántas adiciones a listas de deseados necesito antes de lanzar mi juego en Steam?&quot;"></a></h3>
<p>No hay una cifra mágica, pero un mínimo aproximado ronda las 7.000, y entre 7.000 y 10.000 te da la oportunidad de aparecer en la pestaña «Próximos lanzamientos populares». Cuantas más tengas, mejor, ya que las notificaciones convierten las listas de deseados en ventas durante el día del lanzamiento. La idea fundamental es estar entre los lanzamientos más destacados de esa semana, algo que depende principalmente de publicar tu página y empezar a promocionar pronto.</p>
<h3 id="¿cual-es-el-mejor-canal-gratuito-para-promocionar-juegos-indie-en-2026" tabindex="-1">¿Cuál es el mejor canal gratuito para promocionar juegos indie en 2026? <a class="header-anchor" href="#¿cual-es-el-mejor-canal-gratuito-para-promocionar-juegos-indie-en-2026" aria-label="Permalink to &quot;¿Cuál es el mejor canal gratuito para promocionar juegos indie en 2026?&quot;"></a></h3>
<p>Los vídeos cortos de partidas reales (TikTok, Reels y YouTube Shorts), porque los algoritmos muestran los clips a personas que no te siguen y te permiten obtener alcance sin tener una audiencia previa. Los streamers y youtubers también pueden producir resultados extraordinarios. Conseguir alcance orgánico con vídeos cortos es más difícil que hace unos años, así que publica con regularidad en lugar de esperar un único éxito viral.</p>
<h3 id="¿cual-es-el-mayor-error-de-marketing-que-cometen-los-desarrolladores-indie" tabindex="-1">¿Cuál es el mayor error de marketing que cometen los desarrolladores indie? <a class="header-anchor" href="#¿cual-es-el-mayor-error-de-marketing-que-cometen-los-desarrolladores-indie" aria-label="Permalink to &quot;¿Cuál es el mayor error de marketing que cometen los desarrolladores indie?&quot;"></a></h3>
<p>Desarrollar en silencio y empezar a promocionar durante la última semana. El marketing necesita meses para reunir adiciones a listas de deseados y crear una audiencia, por lo que un gran juego lanzado en frío, sin listas de deseados, sin tráiler y con una página de tienda deficiente acaba enterrado. Muestra tu juego pronto, aunque todavía sea imperfecto, y empieza a generar interés mucho antes del lanzamiento.</p>
<BuildCta
  title="Tu mejor recurso de marketing es un enlace que permite jugar"
  desc="Los juegos web se difunden porque no hay nada que instalar."
  prompt="Crea un minijuego para compartir con un gancho de supera mi puntuación" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/steam-next-fest-strategy.html">Estrategia para Steam Next Fest</a> — el evento de demos y listas de deseados en profundidad</li>
<li><a href="/es/guides/kickstarter-for-indie-games.html">Kickstarter para juegos indie</a> — si eliges la vía de la financiación colectiva</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo lanzar tu juego en itch.io</a> — cómo publicar en itch</li>
<li><a href="/es/guides/get-more-plays-itch-io.html">Cómo conseguir más partidas en itch.io</a> — cómo atraer tráfico a un juego web</li>
<li><a href="/es/guides/publish-web-game.html">Los mejores lugares para publicar un juego web en 2026</a> — dónde publicar un juego web</li>
<li><a href="/es/guides/web-game-monetization.html">Monetización de juegos web: qué dicen realmente los datos</a> — cuánto puede generar el alcance gratuito de los portales</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/promote-indie-game-no-budget-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mejores lugares para publicar un juego web en 2026]]></title>
            <link>https://app.cinevva.com/es/guides/publish-web-game</link>
            <guid>https://app.cinevva.com/es/guides/publish-web-game</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Dónde publicar un juego web en 2026, comparando itch.io, Newgrounds, CrazyGames, Poki, GameJolt y más según su alcance, reparto de ingresos y requisitos.]]></description>
            <content:encoded><![CDATA[<h1 id="mejores-lugares-para-publicar-un-juego-web-en-2026" tabindex="-1">Mejores lugares para publicar un juego web en 2026 <a class="header-anchor" href="#mejores-lugares-para-publicar-un-juego-web-en-2026" aria-label="Permalink to &quot;Mejores lugares para publicar un juego web en 2026&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Has terminado un juego web. ¿Y ahora qué? El lugar donde lo publiques determina cuántas personas jugarán, si ganarás algo y cuánto control conservarás. Las plataformas van desde la autopublicación gratuita e instantánea hasta portales seleccionados con millones de jugadores y requisitos mucho más exigentes. Este es el panorama de 2026, con las ventajas y desventajas que realmente importan.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/hyWQHY7EqoE" title="Cómo crear una página de itch.io para tu juego indie — TheOdie" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Cómo preparar una buena página de itch.io, el lugar más flexible para autopublicar un juego web.</div>
<h2 id="comparativa" tabindex="-1">Comparativa <a class="header-anchor" href="#comparativa" aria-label="Permalink to &quot;Comparativa&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma</th>
<th>Alcance</th>
<th>Modelo de ingresos</th>
<th>Aprobación</th>
<th>Ideal para</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>itch.io</strong></td>
<td>Grande (indie)</td>
<td>Tú eliges el reparto (por defecto, 90 % para ti / 10 % para itch); de pago, donaciones o gratis</td>
<td>Inmediata, sin filtro</td>
<td>Juegos indie, de pago/PWYW y de game jams</td>
</tr>
<tr>
<td><strong>Newgrounds</strong></td>
<td>Medio, comunidad</td>
<td>Reparto de ingresos publicitarios con los creadores</td>
<td>Votación del portal</td>
<td>Juegos gratuitos para navegador, comunidad de arte y animación</td>
</tr>
<tr>
<td><strong>CrazyGames</strong></td>
<td>Más de 50 M de jugadores mensuales</td>
<td>Reparto de ingresos publicitarios (% no público)</td>
<td>Control de calidad + revisión</td>
<td>Acción/arcade/casual, gran audiencia</td>
</tr>
<tr>
<td><strong>Poki</strong></td>
<td>~100 M de usuarios activos mensuales</td>
<td>100 % si tú atraes a los jugadores / 50 % si los atrae Poki</td>
<td>Rigurosa, con pruebas de juego</td>
<td>Juegos casuales pulidos y optimizados</td>
</tr>
<tr>
<td><strong>GameJolt</strong></td>
<td>Comunidad</td>
<td>Comisión del marketplace limitada al 10 %</td>
<td>Inmediata</td>
<td>Crear una comunidad de seguidores, ventas con comisiones bajas</td>
</tr>
<tr>
<td><strong>gd.games</strong> (GDevelop)</td>
<td>Comunidad</td>
<td>Ingresos publicitarios basados en sesiones</td>
<td>Privado y después público</td>
<td>Usuarios de GDevelop, alojamiento gratuito</td>
</tr>
<tr>
<td><strong>Armor Games</strong></td>
<td>Menor</td>
<td>Pago inicial por patrocinio/licencia</td>
<td>Propuesta por correo electrónico, selección editorial</td>
<td>Juegos pulidos que buscan un pago</td>
</tr>
<tr>
<td><strong>GameDistribution / GameMonetize</strong></td>
<td>Alcance mediante una red</td>
<td>Reparto de ingresos (33 % / 45 %+)</td>
<td>Panel + revisión</td>
<td>Distribución pasiva de juegos casuales</td>
</tr>
</tbody>
</table>
<p>Una nota sobre los dos grandes portales: <strong>Poki y CrazyGames</strong> tienen las mayores audiencias, pero también los requisitos más exigentes y SDK obligatorios. <strong>itch.io</strong> ofrece la mayor libertad y el mejor reparto de ingresos, pero tú debes atraer el tráfico. Evita <strong>Kongregate</strong>, que dejó de aceptar juegos nuevos en 2020 y ahora funciona como un archivo.</p>
<h2 id="empieza-autopublicando-itch-io" tabindex="-1">Empieza autopublicando: itch.io <a class="header-anchor" href="#empieza-autopublicando-itch-io" aria-label="Permalink to &quot;Empieza autopublicando: itch.io&quot;"></a></h2>
<p>Para la mayoría de desarrolladores indie, itch.io es el punto de partida habitual. Subes una compilación HTML5 (un ZIP con <code>index.html</code>), se incrusta en un iframe y tu juego queda publicado en cuestión de minutos, sin pasar por un proceso de aprobación. Tú eliges el reparto de ingresos (por defecto, recibes el 90 %) y puedes cobrar, aceptar donaciones u ofrecerlo gratis. El inconveniente es que itch no suele generar mucho tráfico constante por sí solo. Tú debes atraer a los jugadores. Lo explicamos en nuestra guía sobre <a href="/es/guides/get-more-plays-itch-io.html">cómo conseguir más partidas en itch.io</a>, además de cubrir los conceptos básicos en la <a href="/es/guides/itch-io-launch-guide.html">guía de lanzamiento en itch.io</a>.</p>
<h2 id="los-grandes-portales-crazygames-y-poki" tabindex="-1">Los grandes portales: CrazyGames y Poki <a class="header-anchor" href="#los-grandes-portales-crazygames-y-poki" aria-label="Permalink to &quot;Los grandes portales: CrazyGames y Poki&quot;"></a></h2>
<p>Si quieres una audiencia integrada de decenas de millones de personas, los portales de juegos casuales son el lugar adecuado, pero son selectivos.</p>
<ul>
<li><strong>CrazyGames</strong> (más de 50 M de jugadores mensuales) acepta juegos HTML5/WebGL. Publicar una ficha básica requiere poco, pero un lanzamiento completo con monetización exige integrar su SDK y superar el control de calidad, lo que incluye funcionar con bloqueadores de anuncios y entrar directamente en la partida. Los pagos comienzan a partir de 100 €.</li>
<li><strong>Poki</strong> (~100 M de usuarios mensuales) es la plataforma más rigurosa: cuenta con un proceso de varias fases y pruebas de juego que evalúan la calidad, la adecuación a sus jugadores y la solidez técnica. Su SDK es obligatorio y el acuerdo de ingresos depende de quién atraiga al jugador (100 % cuando lo haces tú y 50 % cuando lo hace Poki).</li>
</ul>
<p>Estas plataformas son adecuadas para juegos casuales pulidos y muy optimizados, y completar sus procesos requiere bastante trabajo.</p>
<h2 id="plataformas-comunitarias-newgrounds-gamejolt-y-gd-games" tabindex="-1">Plataformas comunitarias: Newgrounds, GameJolt y gd.games <a class="header-anchor" href="#plataformas-comunitarias-newgrounds-gamejolt-y-gd-games" aria-label="Permalink to &quot;Plataformas comunitarias: Newgrounds, GameJolt y gd.games&quot;"></a></h2>
<ul>
<li><strong>Newgrounds</strong> prioriza la comunidad, con un sistema de votación del portal y reparto de ingresos publicitarios. Es ideal para juegos gratuitos de navegador y para la comunidad de arte y animación.</li>
<li><strong>GameJolt</strong> limita la comisión de su marketplace al 10 % y está diseñado en torno al seguimiento de creadores y la creación de comunidades de fans.</li>
<li><strong>gd.games</strong> ofrece a los usuarios de GDevelop alojamiento gratuito, ingresos publicitarios basados en sesiones y publicación con un clic desde el editor.</li>
</ul>
<h2 id="redes-de-distribucion-gamedistribution-y-gamemonetize" tabindex="-1">Redes de distribución: GameDistribution y GameMonetize <a class="header-anchor" href="#redes-de-distribucion-gamedistribution-y-gamemonetize" aria-label="Permalink to &quot;Redes de distribución: GameDistribution y GameMonetize&quot;"></a></h2>
<p>Estas redes distribuyen una única versión HTML5 entre muchos sitios asociados para conseguir alcance pasivo, a cambio de una comisión mayor y la integración obligatoria de un SDK. GameDistribution se queda con una parte más grande; GameMonetize ofrece un porcentaje más alto y pagos rápidos con un umbral bajo. Son una buena opción para juegos casuales, de puzles y .io, donde el volumen importa más que el porcentaje del reparto.</p>
<h2 id="no-olvides-el-alojamiento-propio" tabindex="-1">No olvides el alojamiento propio <a class="header-anchor" href="#no-olvides-el-alojamiento-propio" aria-label="Permalink to &quot;No olvides el alojamiento propio&quot;"></a></h2>
<p>Un juego HTML5 no es más que un conjunto de archivos estáticos, por lo que puedes alojarlo gratis en GitHub Pages, Cloudflare Pages, Netlify o Vercel, usar tu propio dominio, evitar cualquier comisión sobre los ingresos y conservar el control total del SEO y las analíticas. La desventaja es que no tendrás una audiencia integrada. Una estrategia habitual consiste en alojar la versión canónica para desarrollar tu propia marca y SEO, y publicarla también en itch.io y en uno o dos portales para ampliar el alcance. Si has creado tu juego con una herramienta como Cinevva, también puedes compartirlo al instante mediante un enlace y enviarlo a la galería.</p>
<h2 id="como-elegir" tabindex="-1">Cómo elegir <a class="header-anchor" href="#como-elegir" aria-label="Permalink to &quot;Cómo elegir&quot;"></a></h2>
<p>Elige la plataforma en función de tu objetivo. ¿Quieres la máxima libertad y el mejor reparto? itch.io más alojamiento propio. ¿Quieres la mayor audiencia y tienes un juego casual pulido? Poki o CrazyGames. ¿Quieres recibir un pago inicial por un juego de calidad ya terminado? Envía una propuesta a Armor Games. ¿Quieres alcance pasivo mediante distribución en varios sitios? Una red de distribución. La mayoría de desarrolladores indie publican en varios lugares a la vez: itch.io como base principal, un portal para obtener alcance y su propio enlace para conservar el control.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿donde-deberia-publicar-mi-juego-html5" tabindex="-1">¿Dónde debería publicar mi juego HTML5? <a class="header-anchor" href="#¿donde-deberia-publicar-mi-juego-html5" aria-label="Permalink to &quot;¿Dónde debería publicar mi juego HTML5?&quot;"></a></h3>
<p>Empieza con itch.io: es inmediato, gratuito, te ofrece el mejor reparto de ingresos y permite cobrar u ofrecer el juego gratis. Para llegar a una audiencia mayor, envía tus juegos casuales pulidos a CrazyGames o Poki (ambas plataformas tienen procesos de selección y SDK obligatorios). La mayoría de los desarrolladores publican en varios lugares: itch.io, un portal y su propio enlace con alojamiento propio.</p>
<h3 id="¿que-plataforma-de-juegos-web-paga-mas" tabindex="-1">¿Qué plataforma de juegos web paga más? <a class="header-anchor" href="#¿que-plataforma-de-juegos-web-paga-mas" aria-label="Permalink to &quot;¿Qué plataforma de juegos web paga más?&quot;"></a></h3>
<p>Depende del tráfico y del modelo. itch.io ofrece el mejor reparto (por defecto, conservas el 90 % o más), pero tú debes atraer a la audiencia. Poki y CrazyGames tienen enormes audiencias integradas, pero reparten los ingresos publicitarios según sus propias condiciones. Armor Games paga por adelantado un patrocinio para juegos de calidad. No hay una única opción mejor; un porcentaje alto con poco tráfico puede generar menos que un porcentaje menor con millones de jugadores.</p>
<h3 id="¿necesito-un-sdk-para-publicar-un-juego-web" tabindex="-1">¿Necesito un SDK para publicar un juego web? <a class="header-anchor" href="#¿necesito-un-sdk-para-publicar-un-juego-web" aria-label="Permalink to &quot;¿Necesito un SDK para publicar un juego web?&quot;"></a></h3>
<p>En itch.io, Newgrounds y GameJolt, no: solo tienes que subirlo. En los grandes portales (Poki y CrazyGames) y las redes de distribución (GameDistribution y GameMonetize), se requiere un SDK para la monetización y el lanzamiento completo. El SDK gestiona los anuncios y las funciones de la plataforma. Ten en cuenta ese trabajo de integración al elegir dónde publicar.</p>
<h3 id="¿puedo-publicar-el-mismo-juego-web-en-varias-plataformas" tabindex="-1">¿Puedo publicar el mismo juego web en varias plataformas? <a class="header-anchor" href="#¿puedo-publicar-el-mismo-juego-web-en-varias-plataformas" aria-label="Permalink to &quot;¿Puedo publicar el mismo juego web en varias plataformas?&quot;"></a></h3>
<p>Normalmente sí, salvo que aceptes un acuerdo de exclusividad (por ejemplo, el porcentaje de ingresos más alto de Poki puede exigir exclusividad en la web). Una combinación habitual consiste en usar alojamiento propio, itch.io y un portal no exclusivo. Lee las condiciones de cada plataforma, ya que la exclusividad y el reparto de ingresos suelen estar vinculados.</p>
<BuildCta
  title="¿Necesitas un juego que publicar?"
  desc="Crea uno en el navegador y compártelo con un solo enlace."
  prompt="Crea un juego arcade sencillo que pueda publicar y compartir mediante un enlace" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/publish-game-poki.html">Cómo publicar tu juego en Poki</a> — el proceso de envío y el reparto de ingresos, en detalle</li>
<li><a href="/es/guides/publish-game-crazygames.html">Guía para desarrolladores de CrazyGames</a> — el portal, el SDK y los pagos, en detalle</li>
<li><a href="/es/guides/publish-game-discord-activities.html">Cómo publicar un juego en Discord Activities</a> — cómo lanzar un juego web dentro de Discord</li>
<li><a href="/es/guides/web-game-monetization.html">Monetización de juegos web: lo que dicen realmente los datos</a> — cuánto paga cada plataforma, con fuentes</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo lanzar tu juego en itch.io</a> — el proceso paso a paso</li>
<li><a href="/es/guides/get-more-plays-itch-io.html">Cómo conseguir más partidas en itch.io</a> — cómo atraer tráfico después del lanzamiento</li>
<li><a href="/es/guides/promote-indie-game-no-budget.html">Cómo promocionar un juego indie sin presupuesto</a> — marketing con 0 $</li>
<li><a href="/es/guides/steam-next-fest-strategy.html">Estrategia para Steam Next Fest</a> — si también publicas en Steam</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Mejores motores para juegos web de 2026</a> — cómo crear primero el juego</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/publish-web-game-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Sketchfab vs Poly Haven vs Kenney: comparación de recursos 3D gratuitos (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/sketchfab-polyhaven-kenney</link>
            <guid>https://app.cinevva.com/es/guides/sketchfab-polyhaven-kenney</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Comparación de Sketchfab, Poly Haven y Kenney para obtener recursos gratuitos para juegos en 2026 según licencia, estilo, variedad, formatos y el tipo de juego más adecuado para cada uno.]]></description>
            <content:encoded><![CDATA[<h1 id="sketchfab-vs-poly-haven-vs-kenney-comparacion-de-recursos-3d-gratuitos-2026" tabindex="-1">Sketchfab vs Poly Haven vs Kenney: comparación de recursos 3D gratuitos (2026) <a class="header-anchor" href="#sketchfab-vs-poly-haven-vs-kenney-comparacion-de-recursos-3d-gratuitos-2026" aria-label="Permalink to &quot;Sketchfab vs Poly Haven vs Kenney: comparación de recursos 3D gratuitos (2026)&quot;"></a></h1>
<p><em>Última actualización: junio de 2026.</em></p>
<p>Hay tres nombres que aparecen constantemente al buscar recursos 3D gratuitos: Sketchfab, Poly Haven y Kenney. En realidad no son competidores, ya que cada uno destaca en aspectos distintos. Uno es un enorme mercado con diversas licencias, otro ofrece contenido fotorrealista y CC0, y el tercero se especializa en recursos estilizados y listos para usar en juegos. Así se comparan en 2026 y estos son los casos en los que conviene recurrir a cada uno.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/8aGqyS7IQVA" title="Las mejores webs de modelos 3D gratuitos" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Un repaso a varias fuentes de modelos 3D gratuitos, incluidas las tres que comparamos aquí.</div>
<h2 id="comparacion-rapida" tabindex="-1">Comparación rápida <a class="header-anchor" href="#comparacion-rapida" aria-label="Permalink to &quot;Comparación rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Sketchfab</th>
<th>Poly Haven</th>
<th>Kenney</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Ideal para</strong></td>
<td>Variedad y modelos complejos o detallados</td>
<td>Modelos fotorrealistas, texturas y HDRI</td>
<td>Recursos estilizados, coherentes y listos para juegos</td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Varias (comprueba cada recurso)</td>
<td>CC0 (todo)</td>
<td>CC0 (todo)</td>
</tr>
<tr>
<td><strong>Atribución</strong></td>
<td>Depende del modelo</td>
<td>Ninguna</td>
<td>Ninguna</td>
</tr>
<tr>
<td><strong>Catálogo</strong></td>
<td>Millones</td>
<td>Más de 2000</td>
<td>Decenas de miles</td>
</tr>
<tr>
<td><strong>Estilo</strong></td>
<td>De todo tipo</td>
<td>Realista</td>
<td>Low poly cohesionado y limpio</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>glTF, FBX, OBJ</td>
<td>glTF, Blend, FBX</td>
<td>GLB, PNG, WAV y más</td>
</tr>
<tr>
<td><strong>Descarga directa/API</strong></td>
<td>Requiere iniciar sesión</td>
<td>Sí, API sin clave</td>
<td>Sí (paquetes)</td>
</tr>
</tbody>
</table>
<h2 id="kenney-cohesionado-y-listo-para-juegos" tabindex="-1">Kenney: cohesionado y listo para juegos <a class="header-anchor" href="#kenney-cohesionado-y-listo-para-juegos" aria-label="Permalink to &quot;Kenney: cohesionado y listo para juegos&quot;"></a></h2>
<p>Kenney es la forma más rápida de conseguir que un juego tenga una apariencia coherente. Ofrece decenas de miles de recursos, todos ellos CC0 (sin atribución y aptos para uso comercial), con estilos uniformes que puedes combinar entre paquetes y optimizados para juegos. La contrapartida es la variedad: su estilo es limpio y estilizado, no fotorrealista, y no encontrarás objetos concretos con un nivel de detalle extremo. Usa Kenney cuando quieras que todo el juego parezca formar parte del mismo universo, con rapidez y sin tener que preocuparte por las licencias.</p>
<h2 id="poly-haven-fotorrealismo-y-cc0" tabindex="-1">Poly Haven: fotorrealismo y CC0 <a class="header-anchor" href="#poly-haven-fotorrealismo-y-cc0" aria-label="Permalink to &quot;Poly Haven: fotorrealismo y CC0&quot;"></a></h2>
<p>Poly Haven es el especialista en realismo: modelos 3D con texturas PBR, texturas de alta resolución y HDRI para iluminación, todo bajo licencia CC0, con varias resoluciones disponibles y una API sin clave para realizar descargas directas. Cuenta con más de 2000 recursos y sigue creciendo. Su catálogo es más pequeño y especializado —objetos, elementos de entorno, materiales e iluminación— que el de un gran mercado generalista. Usa Poly Haven cuando busques materiales realistas, elementos para decorar entornos e iluminación HDRI adecuada sin necesidad de atribución.</p>
<h2 id="sketchfab-variedad-pero-con-licencias-que-revisar" tabindex="-1">Sketchfab: variedad, pero con licencias que revisar <a class="header-anchor" href="#sketchfab-variedad-pero-con-licencias-que-revisar" aria-label="Permalink to &quot;Sketchfab: variedad, pero con licencias que revisar&quot;"></a></h2>
<p>Sketchfab es el gigante: millones de modelos, vista previa en 3D antes de descargarlos y una variedad enorme de estilos y temáticas. El inconveniente es que la licencia varía según el modelo, por lo que debes filtrar por recursos descargables y con licencia CC0 o CC-BY, y después comprobar cada uno. Una advertencia para 2026: la tienda de Sketchfab se trasladó a Fab, de Epic, y solo el contenido con licencia CC-BY o Estándar de Fab puede migrarse. Por ahora, los modelos CC0 y con otras licencias Creative Commons siguen disponibles para descargar en Sketchfab, pero conviene tratarlo como una fuente de contenido CC0 en lento declive y descargar lo que necesites. Usa Sketchfab cuando busques un modelo específico o poco habitual que no tengan las otras plataformas y estés dispuesto a revisar la licencia.</p>
<h2 id="¿cual-deberias-usar" tabindex="-1">¿Cuál deberías usar? <a class="header-anchor" href="#¿cual-deberias-usar" aria-label="Permalink to &quot;¿Cuál deberías usar?&quot;"></a></h2>
<ul>
<li><strong>Coherencia visual para todo el juego, rapidez y sin atribución:</strong> Kenney.</li>
<li><strong>Objetos, materiales e iluminación realistas con licencia CC0:</strong> Poly Haven.</li>
<li><strong>Un modelo específico o poco habitual y la selección más amplia:</strong> Sketchfab (comprueba la licencia).</li>
</ul>
<p>En la práctica, muchos desarrolladores usan las tres plataformas: Kenney para el conjunto base y la interfaz, Poly Haven para texturas realistas y HDRI, y Sketchfab para algún recurso protagonista concreto. Combinar materiales realistas de Poly Haven con modelos estilizados de Kenney puede producir choques visuales, así que define primero la dirección artística y elige después fuentes que encajen con ella.</p>
<h2 id="mas-alla-de-las-tres-grandes" tabindex="-1">Más allá de las tres grandes <a class="header-anchor" href="#mas-alla-de-las-tres-grandes" aria-label="Permalink to &quot;Más allá de las tres grandes&quot;"></a></h2>
<p>Estas no son las únicas opciones. Quaternius es otra excelente fuente CC0 de recursos low poly estilizados, AmbientCG se especializa en texturas CC0 y Poly Pizza alberga el catálogo archivado de Google Poly. También puedes generar modelos con IA. Para conocer todas las opciones, consulta nuestras guías de <a href="/es/guides/free-3d-model-sites.html">sitios de modelos 3D gratuitos</a> y <a href="/es/guides/game-assets-guide.html">recursos gratuitos para juegos</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿sketchfab-poly-haven-o-kenney-cual-es-mejor-para-conseguir-modelos-3d-gratuitos" tabindex="-1">¿Sketchfab, Poly Haven o Kenney: cuál es mejor para conseguir modelos 3D gratuitos? <a class="header-anchor" href="#¿sketchfab-poly-haven-o-kenney-cual-es-mejor-para-conseguir-modelos-3d-gratuitos" aria-label="Permalink to &quot;¿Sketchfab, Poly Haven o Kenney: cuál es mejor para conseguir modelos 3D gratuitos?&quot;"></a></h3>
<p>Cada uno destaca en aspectos distintos. Kenney es la mejor opción para conseguir recursos estilizados, coherentes y listos para juegos, todos bajo licencia CC0. Poly Haven es la mejor para modelos fotorrealistas, texturas y HDRI, también todo con licencia CC0. Sketchfab es la mejor en variedad y para encontrar modelos específicos o detallados, pero sus licencias varían, así que debes revisar cada recurso. Muchos desarrolladores utilizan las tres plataformas juntas.</p>
<h3 id="¿poly-haven-y-kenney-son-realmente-gratuitos-para-juegos-comerciales" tabindex="-1">¿Poly Haven y Kenney son realmente gratuitos para juegos comerciales? <a class="header-anchor" href="#¿poly-haven-y-kenney-son-realmente-gratuitos-para-juegos-comerciales" aria-label="Permalink to &quot;¿Poly Haven y Kenney son realmente gratuitos para juegos comerciales?&quot;"></a></h3>
<p>Sí. Ambas plataformas ofrecen todo su contenido bajo licencia CC0, lo que significa que cada recurso pertenece al dominio público: es gratuito para uso comercial, puede modificarse y no requiere atribución. Esto las convierte en las dos fuentes de menor riesgo de las tres. Sketchfab, en cambio, tiene distintas licencias para cada modelo y debes verificarlas antes de darle un uso comercial.</p>
<h3 id="¿tengo-que-atribuir-los-recursos-de-estos-sitios" tabindex="-1">¿Tengo que atribuir los recursos de estos sitios? <a class="header-anchor" href="#¿tengo-que-atribuir-los-recursos-de-estos-sitios" aria-label="Permalink to &quot;¿Tengo que atribuir los recursos de estos sitios?&quot;"></a></h3>
<p>No en el caso de Kenney o Poly Haven, ya que todo su contenido es CC0. En Sketchfab depende de la licencia de cada modelo: CC0 no requiere atribución, CC-BY sí la exige y algunos modelos no pueden utilizarse comercialmente. Comprueba siempre la licencia de cada modelo de Sketchfab antes de publicar tu juego.</p>
<h3 id="¿puedo-combinar-recursos-de-las-tres-plataformas-en-un-mismo-juego" tabindex="-1">¿Puedo combinar recursos de las tres plataformas en un mismo juego? <a class="header-anchor" href="#¿puedo-combinar-recursos-de-las-tres-plataformas-en-un-mismo-juego" aria-label="Permalink to &quot;¿Puedo combinar recursos de las tres plataformas en un mismo juego?&quot;"></a></h3>
<p>Técnicamente sí, y las licencias lo permiten, pero debes cuidar la dirección artística. El aspecto estilizado de Kenney y los materiales fotorrealistas de Poly Haven pueden chocar si se combinan sin cuidado. Define primero un estilo visual y elige después recursos que encajen con él, utilizando Sketchfab para piezas concretas que no estén disponibles en las fuentes CC0.</p>
<BuildCta
  title="Consigue objetos al estilo de Kenney colocados en un juego"
  desc="Cinevva incorpora directamente en su editor miles de objetos CC0 de Kenney y Quaternius."
  prompt="Crea una manzana urbana low poly con parques, coches y lugares que explorar" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/free-3d-model-sites.html">Los mejores sitios de modelos 3D gratuitos para juegos</a> — más opciones disponibles</li>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — más de 20 fuentes de todo tipo</li>
<li><a href="/es/guides/ai-asset-generators-games.html">Los mejores generadores de recursos para juegos con IA</a> — genéralos en su lugar</li>
<li><a href="/es/guides/game-asset-licenses.html">Explicación de las licencias de recursos para juegos</a> — CC0, CC-BY y las demás</li>
<li><a href="/es/guides/free-sound-effects-music.html">Efectos de sonido y música gratuitos para juegos</a> — la parte de audio</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/sketchfab-polyhaven-kenney-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Unity WebGL vs Godot vs PlayCanvas para 3D web (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/unity-godot-playcanvas-web</link>
            <guid>https://app.cinevva.com/es/guides/unity-godot-playcanvas-web</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Comparativa de Unity WebGL, la exportación web de Godot y PlayCanvas en 2026 según el tamaño de compilación, el tiempo de carga, WebGPU, el flujo de trabajo y el coste, para elegir el motor 3D adecuado para el navegador.]]></description>
            <content:encoded><![CDATA[<h1 id="unity-webgl-vs-godot-vs-playcanvas-para-3d-web-2026" tabindex="-1">Unity WebGL vs Godot vs PlayCanvas para 3D web (2026) <a class="header-anchor" href="#unity-webgl-vs-godot-vs-playcanvas-para-3d-web-2026" aria-label="Permalink to &quot;Unity WebGL vs Godot vs PlayCanvas para 3D web (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Si quieres crear un juego 3D que se ejecute en el navegador, hay tres motores que destacan: Unity, Godot y PlayCanvas. Cada uno adopta un enfoque muy diferente para la web. Unity es una potencia de escritorio que exporta a WebGL, Godot es una solución versátil, gratuita y de código abierto, y PlayCanvas está diseñado para la web desde cero. Así se comparan en 2026 específicamente para 3D en el navegador.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/MiejI68zyCk" title="PlayCanvas: ¿el mejor motor de juegos 3D para la web? — GameFromScratch" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">GameFromScratch analiza PlayCanvas como motor 3D diseñado ante todo para la web.</div>
<h2 id="veredicto-rapido" tabindex="-1">Veredicto rápido <a class="header-anchor" href="#veredicto-rapido" aria-label="Permalink to &quot;Veredicto rápido&quot;"></a></h2>
<ul>
<li><strong>3D diseñado para la web, compilaciones más pequeñas y mejor WebGPU:</strong> PlayCanvas.</li>
<li><strong>Gratuito, de código abierto, compatible con 2D y 3D, y con una sola base de código para web y plataformas nativas:</strong> Godot.</li>
<li><strong>Ya tienes un proyecto de Unity o también necesitas consolas y plataformas nativas de gama alta:</strong> Unity, aceptando una descarga web de mayor tamaño.</li>
</ul>
<h2 id="comparativa" tabindex="-1">Comparativa <a class="header-anchor" href="#comparativa" aria-label="Permalink to &quot;Comparativa&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Unity (WebGL)</th>
<th>Godot (4.7)</th>
<th>PlayCanvas</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tecnología web de destino</strong></td>
<td>Exportación WebGL2</td>
<td>WebGL2 + Wasm (wasm64 en 4.7)</td>
<td>WebGL2 + WebGPU</td>
</tr>
<tr>
<td><strong>Tamaño de una compilación vacía</strong></td>
<td>~8 MB o más</td>
<td>~9 MB comprimidos con gzip</td>
<td>~1-2 MB</td>
</tr>
<tr>
<td><strong>Tiempo de carga</strong></td>
<td>El más lento de los tres</td>
<td>Moderado</td>
<td>El más rápido</td>
</tr>
<tr>
<td><strong>WebGPU</strong></td>
<td>Experimental</td>
<td>No compatible en la web</td>
<td>El más maduro</td>
</tr>
<tr>
<td><strong>2D / 3D</strong></td>
<td>Ambos</td>
<td>Ambos (2D y 3D sólidos)</td>
<td>Centrado en 3D</td>
</tr>
<tr>
<td><strong>Editor</strong></td>
<td>Escritorio</td>
<td>Escritorio (ligero)</td>
<td>En la nube y colaborativo</td>
</tr>
<tr>
<td><strong>Lenguaje</strong></td>
<td>C# (se compila a WebAssembly para la exportación web)</td>
<td>GDScript (C# no puede exportarse a la web)</td>
<td>JavaScript / TypeScript</td>
</tr>
<tr>
<td><strong>Coste</strong></td>
<td>Gratis con ingresos inferiores a $200.000; Pro: $2.310 por usuario/año</td>
<td>Gratis (MIT)</td>
<td>Plan gratuito; editor en la nube de pago</td>
</tr>
</tbody>
</table>
<h2 id="unity-webgl" tabindex="-1">Unity (WebGL) <a class="header-anchor" href="#unity-webgl" aria-label="Permalink to &quot;Unity (WebGL)&quot;"></a></h2>
<p>Unity exporta compilaciones WebGL jugables y su ecosistema (Asset Store, herramientas y documentación) no tiene rival. El inconveniente específico para la web es que las compilaciones vacías parten de unos 8 MB, los tiempos de carga quedan por detrás de los motores nativos para la web y la memoria de los navegadores móviles puede ser limitada. WebGPU está disponible, pero es experimental y viene desactivado de forma predeterminada; WebGL2 es el verdadero objetivo. Un aspecto práctico que hay que tener en cuenta es que Unity es la opción más pesada para ejecutar en un navegador, por lo que destaca cuando la web es un objetivo secundario para un juego que también se publica en ordenadores, móviles o consolas. Unity también sustituyó su herramienta de IA Muse por Unity AI (beta abierta, 2026) para quienes quieran asistencia de IA dentro del editor.</p>
<h2 id="godot-4-7" tabindex="-1">Godot (4.7) <a class="header-anchor" href="#godot-4-7" aria-label="Permalink to &quot;Godot (4.7)&quot;"></a></h2>
<p>Godot es gratuito y de código abierto bajo la licencia MIT, sin límites de ingresos ni tarifas por usuario, y ofrece buenos resultados tanto en 2D como en 3D. La versión 4.7 (junio de 2026) incluye WebAssembly SIMD de forma predeterminada y añadió una opción de exportación wasm64 que elimina el antiguo límite de memoria de 4 GB. El renderizado web sigue limitado a WebGL 2.0 mediante el renderizador Compatibility, ya que Godot todavía no admite WebGPU. Persisten dos salvedades para la web: los proyectos de C# no pueden exportarse a ella (solo GDScript) y los hilos con SharedArrayBuffer requieren cabeceras de servidor COOP/COEP específicas, lo que puede causar problemas en algunos alojamientos. Para un desarrollador independiente que quiera usar un único motor en la web y en plataformas nativas sin preocuparse por las licencias, Godot es la mejor opción gratuita.</p>
<h2 id="playcanvas" tabindex="-1">PlayCanvas <a class="header-anchor" href="#playcanvas" aria-label="Permalink to &quot;PlayCanvas&quot;"></a></h2>
<p>PlayCanvas fue diseñado para la web desde el primer día. Su entorno de ejecución es diminuto (~1-2 MB), es el que más rápido carga de los tres y cuenta con el renderizador WebGPU más preparado para producción de todos los motores web, incluido el renderizado de Gaussian splats 3D basado en cómputo desde la versión 2.20 (junio de 2026). El editor está en la nube y permite la colaboración, lo que resulta ideal para equipos, aunque no encajará en el flujo de trabajo de todo el mundo. Está centrado en 3D y es menos adecuado para proyectos 2D complejos. Si el tamaño de descarga y el rendimiento web son tus prioridades, PlayCanvas está hecho precisamente para eso.</p>
<h2 id="como-elegir" tabindex="-1">Cómo elegir <a class="header-anchor" href="#como-elegir" aria-label="Permalink to &quot;Cómo elegir&quot;"></a></h2>
<p>Elige según tu verdadera limitación. Si necesitas la compilación web 3D más pequeña, la carga más rápida y una buena compatibilidad con WebGPU, elige PlayCanvas. Si quieres un motor gratuito y abierto que admita 2D y 3D y también exporte a ordenadores y móviles desde una única base de código, elige Godot. Si tu juego ya está desarrollado en Unity o realmente necesita el renderizado avanzado y la exportación a consolas de Unity, publica la compilación WebGL y acepta una descarga de mayor tamaño.</p>
<p>Si prefieres prescindir por completo de un motor y describirle un juego web 3D a una IA, ese es otro enfoque, explicado en <a href="/es/guides/3d-browser-game-without-coding.html">cómo crear un juego 3D para navegador sin programar</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-mejor-motor-para-juegos-3d-de-navegador" tabindex="-1">¿Cuál es el mejor motor para juegos 3D de navegador? <a class="header-anchor" href="#¿cual-es-el-mejor-motor-para-juegos-3d-de-navegador" aria-label="Permalink to &quot;¿Cuál es el mejor motor para juegos 3D de navegador?&quot;"></a></h3>
<p>PlayCanvas es la mejor opción diseñada para la web en 2026: tiene un entorno de ejecución diminuto, la carga más rápida y el renderizador WebGPU más maduro. Godot es la mejor opción gratuita y de código abierto, y también exporta a plataformas nativas. Unity solo es la mejor alternativa si tu juego ya lo utiliza o necesita sus funciones avanzadas, ya que sus compilaciones web son las más grandes. La elección ideal depende del tamaño de compilación, de si necesitas exportar a plataformas nativas y de tu presupuesto.</p>
<h3 id="¿pueden-unity-y-godot-exportar-juegos-de-c-a-la-web" tabindex="-1">¿Pueden Unity y Godot exportar juegos de C# a la web? <a class="header-anchor" href="#¿pueden-unity-y-godot-exportar-juegos-de-c-a-la-web" aria-label="Permalink to &quot;¿Pueden Unity y Godot exportar juegos de C# a la web?&quot;"></a></h3>
<p>Este es un inconveniente habitual: Godot no puede exportar proyectos de C# a la web en absoluto (solo GDScript). La exportación web de Unity utiliza C#, pero lo compila para WebGL mediante Wasm, y las compilaciones resultantes son grandes (~8 MB o más estando vacías). PlayCanvas utiliza JavaScript o TypeScript de forma nativa, lo que explica en parte por qué sus compilaciones web son tan pequeñas.</p>
<h3 id="¿cual-carga-mas-rapido-en-el-navegador" tabindex="-1">¿Cuál carga más rápido en el navegador? <a class="header-anchor" href="#¿cual-carga-mas-rapido-en-el-navegador" aria-label="Permalink to &quot;¿Cuál carga más rápido en el navegador?&quot;"></a></h3>
<p>PlayCanvas, con mucha diferencia, gracias a su entorno de ejecución de ~1-2 MB creado específicamente para la web. Las compilaciones vacías de Godot ocupan unos 9 MB comprimidos con gzip, mientras que las de Unity parten de unos 8 MB y aumentan desde ahí. En los juegos web, el tamaño total de descarga influye enormemente en cuántos jugadores esperan realmente a que termine la carga, por lo que es un verdadero factor de selección y no un detalle menor.</p>
<h3 id="¿estos-motores-son-compatibles-con-webgpu" tabindex="-1">¿Estos motores son compatibles con WebGPU? <a class="header-anchor" href="#¿estos-motores-son-compatibles-con-webgpu" aria-label="Permalink to &quot;¿Estos motores son compatibles con WebGPU?&quot;"></a></h3>
<p>PlayCanvas tiene el renderizador WebGPU más maduro. La exportación web de Godot todavía se limita a WebGL2 y aún no es compatible con WebGPU. Unity mantiene WebGPU como función experimental y utiliza WebGL2 de forma predeterminada. Para analizar en profundidad las ventajas y desventajas, consulta nuestra <a href="/es/guides/webgpu-vs-webgl-games.html">guía sobre WebGPU frente a WebGL</a>.</p>
<BuildCta
  title="Compara motores después; juega con tu idea ahora"
  desc="Un prototipo jugable hace evidente la elección del motor."
  prompt="Crea un FPS para navegador con gráficos low poly" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/web-game-engines-comparison.html">Mejores motores de juegos web para 2026</a> — la comparativa completa de 11 motores</li>
<li><a href="/es/guides/webgpu-vs-webgl-games.html">WebGPU frente a WebGL para juegos</a> — las ventajas y desventajas de cada API de renderizado</li>
<li><a href="/es/guides/playcanvas-vs-threejs.html">PlayCanvas frente a Three.js</a> — motor frente a biblioteca para 3D web</li>
<li><a href="/es/guides/godot-vs-unity-web-games.html">Godot frente a Unity para juegos web</a> — comparación directa de los dos grandes motores completos</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/unity-godot-playcanvas-web-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Vibe Coding de juegos: qué es y cómo empezar (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/vibe-coding-games</link>
            <guid>https://app.cinevva.com/es/guides/vibe-coding-games</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Qué significa el vibe coding, de dónde surgió el término y cómo crear un juego mediante vibe coding en 2026, con el flujo de trabajo, las herramientas, los casos de éxito reales y los errores que debes evitar.]]></description>
            <content:encoded><![CDATA[<h1 id="vibe-coding-de-juegos-que-es-y-como-empezar-2026" tabindex="-1">Vibe Coding de juegos: qué es y cómo empezar (2026) <a class="header-anchor" href="#vibe-coding-de-juegos-que-es-y-como-empezar-2026" aria-label="Permalink to &quot;Vibe Coding de juegos: qué es y cómo empezar (2026)&quot;"></a></h1>
<p><em>Última actualización: junio de 2026.</em></p>
<p>El «vibe coding» pasó de ser un tuit a convertirse en la Palabra del Año del Diccionario Collins en menos de un año. En el ámbito de los juegos, es una de las formas más divertidas de crear en la actualidad: describes lo que quieres, la IA lo programa y tú diriges el proceso por intuición, en lugar de preocuparte por la sintaxis. Aquí explicamos qué significa realmente el término, cómo crear un juego mediante vibe coding, dónde funciona y dónde puede darte problemas.</p>
<h2 id="de-donde-surgio-el-termino" tabindex="-1">De dónde surgió el término <a class="header-anchor" href="#de-donde-surgio-el-termino" aria-label="Permalink to &quot;De dónde surgió el término&quot;"></a></h2>
<p>La expresión procede de Andrej Karpathy, uno de los miembros cofundadores de OpenAI, quien la utilizó en una publicación de febrero de 2025. Describió «un nuevo tipo de programación en el que te entregas por completo a las sensaciones, aceptas las exponenciales y olvidas incluso que el código existe», algo posible porque los modelos de IA para programación habían mejorado lo suficiente como para que pudieras «limitarte a ver cosas, decir cosas, ejecutar cosas y copiar y pegar cosas, y casi siempre funciona». Lo planteó para proyectos desechables de fin de semana, algo que conviene recordar.</p>
<p>El desarrollador Simon Willison precisó la definición: el verdadero vibe coding consiste en crear software con un LLM sin revisar el código que genera. Si lees, pruebas y comprendes cada línea, estás utilizando la IA como asistente de escritura, que es algo diferente. A finales de 2025, el término se había extendido tanto que Collins lo nombró Palabra del Año.</p>
<p>En los juegos, esto encaja perfectamente: describes un juego, la IA lo crea, tú lo pruebas y pides cambios, y prácticamente no miras el código. Eso es crear un juego mediante vibe coding.</p>
<h2 id="por-que-los-juegos-son-ideales-para-el-vibe-coding" tabindex="-1">Por qué los juegos son ideales para el vibe coding <a class="header-anchor" href="#por-que-los-juegos-son-ideales-para-el-vibe-coding" aria-label="Permalink to &quot;Por qué los juegos son ideales para el vibe coding&quot;"></a></h2>
<p>Los juegos son visuales y pueden probarse de inmediato, justo el tipo de ciclo que favorece el vibe coding. En dos segundos puedes ver si el salto se siente bien o si el enemigo es demasiado rápido, por lo que el ciclo de «decir cosas y ejecutar cosas» es ágil y satisfactorio. Además, el caso de éxito más conocido es un juego: a principios de 2025, el desarrollador independiente Pieter Levels creó mediante vibe coding un simulador 3D de vuelo para navegador en unas pocas horas, utilizando un editor de código con IA y Three.js, sin experiencia previa en desarrollo de juegos, y se convirtió en un éxito viral. (Las cifras de ingresos fueron comunicadas por él mismo, así que conviene tomarlas con cautela, pero el juego es real y está bien documentado).</p>
<h2 id="dos-formas-de-crear-un-juego-mediante-vibe-coding" tabindex="-1">Dos formas de crear un juego mediante vibe coding <a class="header-anchor" href="#dos-formas-de-crear-un-juego-mediante-vibe-coding" aria-label="Permalink to &quot;Dos formas de crear un juego mediante vibe coding&quot;"></a></h2>
<p>Hay dos modalidades, dependiendo de cuánto quieras intervenir.</p>
<p><strong>Herramientas generales de programación con IA.</strong> Cursor, Claude Code y GitHub Copilot permiten crear un juego de la forma descrita por Karpathy: das instrucciones a un agente de programación con IA, normalmente junto con un framework web como Three.js, y vas iterando. No tienes que leer el código, pero el proyecto es una base de código real que puedes llevar a cualquier parte. Es la opción más flexible y potente, pero también la que más posibilidades ofrece de meterte en problemas.</p>
<p><strong>Herramientas específicas para generar juegos mediante prompts.</strong> Cinevva, Rosebud, Summer, Replit y Nilo integran todo el proceso en un entorno diseñado específicamente para ello. Describes un juego, la herramienta crea una versión jugable y tú la mejoras conversando, con recursos generados automáticamente. Es la forma más sencilla de empezar y la más rápida para obtener un resultado que puedas compartir. Nuestra <a href="/es/guides/ai-game-generators-2026.html">comparativa de generadores de juegos con IA</a> explica las diferencias entre ellos.</p>
<h2 id="como-crear-un-juego-mediante-vibe-coding-paso-a-paso" tabindex="-1">Cómo crear un juego mediante vibe coding, paso a paso <a class="header-anchor" href="#como-crear-un-juego-mediante-vibe-coding-paso-a-paso" aria-label="Permalink to &quot;Cómo crear un juego mediante vibe coding, paso a paso&quot;"></a></h2>
<ol>
<li><strong>Elige una idea pequeña.</strong> El vibe coding funciona especialmente bien con proyectos que puedan completarse en un fin de semana. Define un género, un giro original y un objetivo.</li>
<li><strong>Escribe un prompt de una sola frase.</strong> «Crea un juego de la serpiente con estética de neón que acelere a medida que crece». Deja que la herramienta genere una primera versión. Puedes <a href="/es/guides/vibe-coding-game-prompts.html">probar un prompt con un solo clic</a> para evitar enfrentarte a la página en blanco.</li>
<li><strong>Juega y pide un solo cambio.</strong> «Hazlo más rápido», «añade una puntuación», «los controles se sienten pesados; haz que respondan mejor». Cambia, juega y repite.</li>
<li><strong>Pide que genere los recursos.</strong> «Dale un estilo low-poly», «añade música alegre», «utiliza un skybox desértico».</li>
<li><strong>Publica el enlace.</strong> Las herramientas para navegador permiten compartirlo con un solo clic. Enséñaselo a otras personas y deja que sus reacciones orienten la siguiente ronda de cambios.</li>
</ol>
<p>Puedes <a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_coding_games">empezar ahora mismo a crear gratis un juego 3D mediante vibe coding en tu navegador</a> si prefieres aprender haciendo.</p>
<h2 id="los-riesgos-y-como-evitarlos" tabindex="-1">Los riesgos y cómo evitarlos <a class="header-anchor" href="#los-riesgos-y-como-evitarlos" aria-label="Permalink to &quot;Los riesgos y cómo evitarlos&quot;"></a></h2>
<p>El vibe coding es potente, pero la situación real en 2026 presenta varias señales de advertencia:</p>
<ul>
<li><strong>«Casi está bien, pero no del todo».</strong> Dos tercios de los desarrolladores señalan este problema como su principal frustración con la IA. En el caso de los juegos, la solución consiste en hacer peticiones pequeñas y específicas, y estar dispuesto a revertir los cambios cuando empeoren el resultado.</li>
<li><strong>Deuda de seguridad y calidad.</strong> Diversos estudios de 2025 descubrieron que una gran proporción de las muestras de código generadas por IA introducía vulnerabilidades de seguridad, y que está aumentando el código duplicado y sin refactorizar. Esto rara vez importa en un juego desechable, pero si el proyecto maneja datos de usuarios o dinero, revisa el código o pide ayuda a alguien que sepa hacerlo.</li>
<li><strong>Funciona hasta que deja de funcionar.</strong> En un incidente ampliamente difundido, un agente de programación con IA eliminó una base de datos de producción durante una congelación del código. La lección: mantén copias de seguridad, separa los experimentos de cualquier cosa importante y no permitas que un agente de vibe coding acceda a sistemas que no puedes permitirte perder.</li>
</ul>
<p>Más adelante, el propio Karpathy calificó la publicación original como «un tuit sin demasiada importancia» y prefiere utilizar un lenguaje más cuidadoso al hablar de trabajos serios. La conclusión no es que el vibe coding sea malo, sino que resulta excelente para prototipos y juegos pequeños, pero es arriesgado como único método para proyectos que deben funcionar correctamente.</p>
<h2 id="¿es-el-vibe-coding-desarrollo-de-juegos-«de-verdad»" tabindex="-1">¿Es el vibe coding desarrollo de juegos «de verdad»? <a class="header-anchor" href="#¿es-el-vibe-coding-desarrollo-de-juegos-«de-verdad»" aria-label="Permalink to &quot;¿Es el vibe coding desarrollo de juegos «de verdad»?&quot;"></a></h2>
<p>Es una forma real y útil de crear, especialmente para prototipos, game jams y juegos pequeños, y está permitiendo que muchas personas se inicien por primera vez en la creación de juegos. Sin embargo, cuando hay mucho en juego, no sustituye a la comprensión de lo que estás construyendo. El enfoque más productivo en 2026 es usar el vibe coding para explorar ideas y crear prototipos rápidamente, y después avanzar más despacio para comprender las partes que deben ser fiables. En la mayoría de los juegos para navegador, este equilibrio juega claramente a tu favor.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿que-significa-vibe-coding" tabindex="-1">¿Qué significa vibe coding? <a class="header-anchor" href="#¿que-significa-vibe-coding" aria-label="Permalink to &quot;¿Qué significa vibe coding?&quot;"></a></h3>
<p>El vibe coding consiste en crear software describiéndole a una IA lo que quieres y dejando que escriba el código, sin revisarlo tú mismo. Andrej Karpathy acuñó el término en febrero de 2025 y Collins lo nombró Palabra del Año en 2025. En el caso de los juegos, significa describir uno mediante lenguaje natural y mejorarlo conversando, en lugar de escribir código.</p>
<h3 id="¿como-empiezo-a-crear-un-juego-mediante-vibe-coding" tabindex="-1">¿Cómo empiezo a crear un juego mediante vibe coding? <a class="header-anchor" href="#¿como-empiezo-a-crear-un-juego-mediante-vibe-coding" aria-label="Permalink to &quot;¿Cómo empiezo a crear un juego mediante vibe coding?&quot;"></a></h3>
<p>Elige una idea pequeña, descríbela en una sola frase a una herramienta que genere juegos mediante prompts o a un editor de código con IA, prueba la primera versión y pide un solo cambio cada vez. Los creadores de juegos con IA para navegador son el punto de partida más sencillo porque generan un juego funcional y te permiten compartirlo al instante, sin ninguna configuración.</p>
<h3 id="¿es-el-vibe-coding-adecuado-para-crear-juegos" tabindex="-1">¿Es el vibe coding adecuado para crear juegos? <a class="header-anchor" href="#¿es-el-vibe-coding-adecuado-para-crear-juegos" aria-label="Permalink to &quot;¿Es el vibe coding adecuado para crear juegos?&quot;"></a></h3>
<p>Sí, especialmente para prototipos y juegos pequeños o casuales, donde el rápido ciclo de describir, jugar y mejorar encaja a la perfección. Resulta menos adecuado para proyectos grandes, complejos o que requieran un funcionamiento impecable, ya que el código de IA sin revisar puede introducir errores y problemas de seguridad. Úsalo para avanzar rápidamente y revisa el código de todo aquello que deba ser fiable.</p>
<h3 id="¿que-herramientas-se-utilizan-para-crear-juegos-mediante-vibe-coding" tabindex="-1">¿Qué herramientas se utilizan para crear juegos mediante vibe coding? <a class="header-anchor" href="#¿que-herramientas-se-utilizan-para-crear-juegos-mediante-vibe-coding" aria-label="Permalink to &quot;¿Qué herramientas se utilizan para crear juegos mediante vibe coding?&quot;"></a></h3>
<p>Hay dos tipos. Por un lado, herramientas generales de programación con IA como Cursor, Claude Code y GitHub Copilot, a menudo combinadas con Three.js para la web; por otro, herramientas específicas que generan juegos mediante prompts, como Cinevva, Rosebud, Summer, Replit y Nilo. Las herramientas específicas para juegos son la forma más sencilla de empezar, mientras que las herramientas de programación ofrecen mayor flexibilidad.</p>
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/ai-game-generators-2026.html">Los mejores generadores de juegos con IA de 2026</a> — comparativa de herramientas</li>
<li><a href="/es/guides/make-a-game-with-ai.html">Cómo crear un juego con IA sin programar</a> — el flujo de trabajo paso a paso</li>
<li><a href="/es/guides/3d-browser-game-without-coding.html">Cómo crear un juego 3D para navegador sin programar</a> — la opción 3D</li>
<li><a href="/es/guides/vibe-coding-game-prompts.html">Prompts de juegos con IA que puedes crear con un solo clic</a> — prompts para empezar</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Los mejores motores de juegos web para 2026</a> — para crear juegos de la forma tradicional</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/vibe-coding-games-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[WebGPU vs WebGL para juegos (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/webgpu-vs-webgl-games</link>
            <guid>https://app.cinevva.com/es/guides/webgpu-vs-webgl-games</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[WebGPU frente a WebGL para juegos de navegador en 2026: qué ha cambiado, en qué destaca cada uno, compatibilidad con navegadores tras Safari 26 y qué motores utiliza cada tecnología.]]></description>
            <content:encoded><![CDATA[<h1 id="webgpu-vs-webgl-para-juegos-2026" tabindex="-1">WebGPU vs WebGL para juegos (2026) <a class="header-anchor" href="#webgpu-vs-webgl-para-juegos-2026" aria-label="Permalink to &quot;WebGPU vs WebGL para juegos (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Durante más de una década, WebGL fue la única forma de mostrar gráficos reales en un navegador. WebGPU es su sucesor, y 2026 es el año en que por fin se ha podido usar en todas partes. Si estás creando un juego web y no sabes cuál elegir, aquí tienes una comparación sincera: qué ha cambiado, en qué destaca cada uno y qué utiliza ya tu motor.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/grj7uYdCna0" title="Novedades de WebGL y WebGPU en 3D on the Web 2025 — The Khronos Group" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">The Khronos Group analiza el estado de WebGL y WebGPU, incluidos los shaders de cómputo y los renderizadores WebGPU de Three.js y Babylon.js.</div>
<h2 id="la-version-corta" tabindex="-1">La versión corta <a class="header-anchor" href="#la-version-corta" aria-label="Permalink to &quot;La versión corta&quot;"></a></h2>
<p>WebGL es una API gráfica basada en OpenGL ES y creada para dibujar. WebGPU es una API moderna inspirada en Vulkan, Metal y Direct3D 12, diseñada tanto para dibujar como para realizar cómputo general en la GPU. WebGPU es más rápido en escenas exigentes, permite usar shaders de cómputo (partículas, simulación y descarte en la GPU) y ofrece una API más limpia. WebGL es más antiguo, más sencillo y compatible con prácticamente todos los dispositivos existentes.</p>
<h2 id="que-ha-cambiado-en-2026" tabindex="-1">Qué ha cambiado en 2026 <a class="header-anchor" href="#que-ha-cambiado-en-2026" aria-label="Permalink to &quot;Qué ha cambiado en 2026&quot;"></a></h2>
<p>El gran titular: WebGPU por fin es compatible con todos los navegadores. Safari 26 (septiembre de 2025) incorporó WebGPU en macOS, iPadOS, iOS y visionOS, eliminando el último gran obstáculo. Antes, «usa WebGL porque Safari e iOS no son compatibles con WebGPU» era un consejo acertado. Ya no lo es. Chrome y Firefox ya lo admitían, así que, desde 2026, WebGPU funciona en todos los navegadores principales.</p>
<p>Eso no significa que WebGPU sea la opción predeterminada en todas partes. En la mayoría de los motores todavía es opcional o experimental (más información a continuación), y WebGL2 sigue siendo la base segura. Pero la barrera de compatibilidad con navegadores que frenaba la adopción de WebGPU ha desaparecido.</p>
<h2 id="comparacion-directa" tabindex="-1">Comparación directa <a class="header-anchor" href="#comparacion-directa" aria-label="Permalink to &quot;Comparación directa&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>WebGL (2.0)</th>
<th>WebGPU</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Basado en</strong></td>
<td>OpenGL ES 3.0</td>
<td>Vulkan / Metal / D3D12</td>
</tr>
<tr>
<td><strong>Lanzamiento</strong></td>
<td>2017 (WebGL 1: 2011)</td>
<td>2023, compatibilidad amplia con navegadores en 2025-2026</td>
</tr>
<tr>
<td><strong>Shaders de cómputo</strong></td>
<td>No</td>
<td>Sí</td>
</tr>
<tr>
<td><strong>Sobrecarga de CPU</strong></td>
<td>Mayor (coste por llamada de dibujo)</td>
<td>Menor (búferes de comandos, menos comunicación con el controlador)</td>
</tr>
<tr>
<td><strong>Destaca en</strong></td>
<td>Compatibilidad, escenas sencillas o intermedias</td>
<td>Escenas exigentes, muchos objetos, cómputo en GPU</td>
</tr>
<tr>
<td><strong>Compatibilidad con navegadores</strong></td>
<td>Universal</td>
<td>Chrome, Firefox, Safari 26+ y todos los principales navegadores móviles</td>
</tr>
<tr>
<td><strong>Lenguaje de shaders</strong></td>
<td>GLSL</td>
<td>WGSL</td>
</tr>
<tr>
<td><strong>Ergonomía de la API</strong></td>
<td>Más antigua, con más estado global</td>
<td>Moderna, explícita y más detallada</td>
</tr>
</tbody>
</table>
<h2 id="cuando-gana-webgpu" tabindex="-1">Cuándo gana WebGPU <a class="header-anchor" href="#cuando-gana-webgpu" aria-label="Permalink to &quot;Cuándo gana WebGPU&quot;"></a></h2>
<ul>
<li><strong>Muchos objetos o llamadas de dibujo.</strong> La menor sobrecarga de CPU de WebGPU y funciones como el dibujo múltiple le permiten mantener la tasa de fotogramas cuando WebGL empieza a atascarse por la cantidad de llamadas de dibujo.</li>
<li><strong>Cómputo en GPU.</strong> Los sistemas de partículas, la física, el descarte, la generación procedimental y el splatting gaussiano 3D pueden ejecutarse en la GPU mediante shaders de cómputo. WebGL sencillamente no puede hacerlo.</li>
<li><strong>Preparación para el futuro.</strong> WebGPU es hacia donde se dirige la plataforma; cada vez más funciones nuevas de los motores llegan primero a esta tecnología.</li>
</ul>
<h2 id="cuando-webgl-sigue-siendo-la-opcion-adecuada" tabindex="-1">Cuándo WebGL sigue siendo la opción adecuada <a class="header-anchor" href="#cuando-webgl-sigue-siendo-la-opcion-adecuada" aria-label="Permalink to &quot;Cuándo WebGL sigue siendo la opción adecuada&quot;"></a></h2>
<ul>
<li><strong>Máximo alcance en dispositivos antiguos o de gama baja.</strong> WebGL2 funciona en hardware y versiones de navegadores que quizá todavía no dispongan de una implementación funcional de WebGPU.</li>
<li><strong>2D sencillo y 3D ligero.</strong> Si tu juego no exige demasiado a la GPU, WebGL es más que suficiente y evita posibles casos límite de los controladores más recientes.</li>
<li><strong>Quieres la base más segura posible hoy.</strong> Publicar con WebGL2 sin lógica de respaldo sigue siendo la opción de menor riesgo para llegar a un público amplio.</li>
</ul>
<p>La respuesta pragmática en 2026 para la mayoría de los juegos: utiliza un motor compatible con ambos que emplee WebGPU cuando esté disponible y recurra automáticamente a WebGL2 como alternativa. Obtendrás velocidad donde sea posible y compatibilidad donde no, sin tener que escribir dos renderizadores.</p>
<h2 id="que-utiliza-ya-tu-motor" tabindex="-1">Qué utiliza ya tu motor <a class="header-anchor" href="#que-utiliza-ya-tu-motor" aria-label="Permalink to &quot;Qué utiliza ya tu motor&quot;"></a></h2>
<p>Según nuestra <a href="/es/guides/web-game-engines-comparison.html">comparativa de motores para juegos web</a>, así se encuentran los principales motores web respecto a WebGPU en 2026:</p>
<ul>
<li><strong>PlayCanvas</strong> tiene el renderizador WebGPU más preparado para producción entre los motores web e incluye renderizado de splats gaussianos basado en cómputo.</li>
<li><strong>Three.js</strong> incluye un renderizador WebGPU sin configuración (<code>three/webgpu</code>) con respaldo automático en WebGL2, aunque la exportación predeterminada sigue usando WebGL.</li>
<li><strong>Babylon.js</strong> es compatible con WebGPU (se activa mediante <code>WebGPUEngine</code>); la versión 8 redujo a la mitad el tamaño de la compilación WebGPU, y Babylon.js 9.0 (marzo de 2026) avanzó aún más con iluminación agrupada en ambos backends e iluminación volumétrica basada en shaders de cómputo de WebGPU.</li>
<li><strong>Godot</strong> todavía no es compatible con WebGPU. La exportación web de la versión 4.7 sigue limitada a WebGL2, aunque las compilaciones wasm64 ya eliminan el antiguo límite de memoria de 4 GB.</li>
<li><strong>Cocos Creator</strong> ofrece compatibilidad experimental con WebGPU mediante su nueva canalización de renderizado.</li>
<li><strong>Unity</strong> mantiene WebGPU como opción experimental y WebGL2 como destino web predeterminado.</li>
<li><strong>Phaser 4</strong> es una reescritura basada en WebGL2 que todavía no incluye WebGPU; <strong>PixiJS</strong> es compatible con WebGPU, pero utiliza WebGL de forma predeterminada.</li>
</ul>
<p>Así que, en la práctica, el motor suele tomar por ti la decisión entre WebGPU y WebGL, y los buenos recurren automáticamente a la alternativa compatible.</p>
<h2 id="resumen-de-compatibilidad-con-navegadores-2026" tabindex="-1">Resumen de compatibilidad con navegadores (2026) <a class="header-anchor" href="#resumen-de-compatibilidad-con-navegadores-2026" aria-label="Permalink to &quot;Resumen de compatibilidad con navegadores (2026)&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Función</th>
<th>Chrome</th>
<th>Firefox</th>
<th>Safari</th>
<th>Móviles</th>
</tr>
</thead>
<tbody>
<tr>
<td>WebGL 2.0</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>WebGPU</td>
<td>✅</td>
<td>✅</td>
<td>✅ Safari 26+</td>
<td>✅ iOS/iPadOS 26+</td>
</tr>
</tbody>
</table>
<p>Haz siempre pruebas en Safari/iOS si te diriges a un público amplio y mantén WebGL2 como alternativa para la larga cola de dispositivos antiguos.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿es-webgpu-mejor-que-webgl-para-juegos" tabindex="-1">¿Es WebGPU mejor que WebGL para juegos? <a class="header-anchor" href="#¿es-webgpu-mejor-que-webgl-para-juegos" aria-label="Permalink to &quot;¿Es WebGPU mejor que WebGL para juegos?&quot;"></a></h3>
<p>Para juegos exigentes, sí: WebGPU tiene una menor sobrecarga de CPU, gestiona más objetos y añade shaders de cómputo para efectos que WebGL no puede realizar. Para 2D sencillo o 3D ligero, WebGL2 sigue siendo más que suficiente y ofrece una compatibilidad más amplia con dispositivos antiguos. El mejor enfoque en 2026 es utilizar un motor que emplee WebGPU cuando esté disponible y recurra automáticamente a WebGL2 como alternativa.</p>
<h3 id="¿funciona-webgpu-en-safari-e-ios-en-2026" tabindex="-1">¿Funciona WebGPU en Safari e iOS en 2026? <a class="header-anchor" href="#¿funciona-webgpu-en-safari-e-ios-en-2026" aria-label="Permalink to &quot;¿Funciona WebGPU en Safari e iOS en 2026?&quot;"></a></h3>
<p>Sí. Safari 26, publicado en septiembre de 2025, añadió WebGPU a macOS, iPadOS, iOS y visionOS. Esto eliminó la última gran carencia, por lo que WebGPU ya funciona en Chrome, Firefox y Safari, también en dispositivos móviles. Es posible que los dispositivos y las versiones de navegadores más antiguos todavía no lo admitan, así que mantén WebGL2 como alternativa.</p>
<h3 id="¿deberia-aprender-primero-webgpu-o-webgl" tabindex="-1">¿Debería aprender primero WebGPU o WebGL? <a class="header-anchor" href="#¿deberia-aprender-primero-webgpu-o-webgl" aria-label="Permalink to &quot;¿Debería aprender primero WebGPU o WebGL?&quot;"></a></h3>
<p>Si utilizas un motor de juegos, normalmente no tienes que programar directamente con ninguno de los dos: el motor se encarga de ello. Si escribes código gráfico a mano, WebGPU es la API con más futuro, pero actualmente WebGL cuenta con más tutoriales y ejemplos. Muchos desarrolladores siguen empezando con WebGL o con una biblioteca como Three.js, que ahora ofrece un renderizador WebGPU para cuando estés listo.</p>
<h3 id="¿webgpu-sustituira-a-webgl" tabindex="-1">¿WebGPU sustituirá a WebGL? <a class="header-anchor" href="#¿webgpu-sustituira-a-webgl" aria-label="Permalink to &quot;¿WebGPU sustituirá a WebGL?&quot;"></a></h3>
<p>Con el tiempo, la mayor parte del desarrollo nuevo se orientará a WebGPU, pero WebGL no desaparecerá pronto. Sigue siendo la base universal para hardware antiguo y está profundamente integrado en las herramientas y el contenido existentes. Cabe esperar un largo periodo de convivencia en el que los motores sean compatibles con ambos y elijan uno durante la ejecución.</p>
<BuildCta
  title="Pon a prueba tu GPU con algo jugable"
  desc="Una sola instrucción te permite crear un juego que mueve píxeles reales en tu navegador."
  prompt="Crea un juego de disparos espaciales con muchas partículas y explosiones" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/web-game-engines-comparison.html">Los mejores motores para juegos web de 2026</a> — el panorama completo, con el estado de WebGPU en cada motor</li>
<li><a href="/es/guides/web-games-stack-2026.html">Stack tecnológico de los juegos web en 2026</a> — WebGL, WebGPU y Wasm en el ámbito de las API</li>
<li><a href="/es/guides/unity-godot-playcanvas-web.html">Unity WebGL vs Godot vs PlayCanvas</a> — los tres grandes motores 3D para la web</li>
<li><a href="/es/guides/playcanvas-vs-threejs.html">PlayCanvas vs Three.js</a> — motor frente a biblioteca para 3D en la web</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/webgpu-vs-webgl-games-hero.jpg?v=3" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[100 ideas de prompts para juegos con IA (2026) que puedes crear con un clic]]></title>
            <link>https://app.cinevva.com/es/guides/vibe-coding-game-prompts</link>
            <guid>https://app.cinevva.com/es/guides/vibe-coding-game-prompts</guid>
            <pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[100 ideas de prompts para juegos con IA en 2026, ordenadas por género. Haz clic en cualquier prompt y Cinevva creará gratis un juego 3D jugable en tu navegador. Cópialas, modifícalas o escribe las tuyas.]]></description>
            <content:encoded><![CDATA[<h1 id="_100-ideas-de-prompts-para-juegos-con-ia-2026-que-puedes-crear-con-un-clic" tabindex="-1">100 ideas de prompts para juegos con IA (2026) que puedes crear con un clic <a class="header-anchor" href="#_100-ideas-de-prompts-para-juegos-con-ia-2026-que-puedes-crear-con-un-clic" aria-label="Permalink to &quot;100 ideas de prompts para juegos con IA (2026) que puedes crear con un clic&quot;"></a></h1>
<p><em>Última actualización: junio de 2026.</em></p>
<p>El vibe coding es la forma más rápida de crear un juego hoy en día. Describes lo que quieres con palabras sencillas y la IA lo construye. No hay que instalar ningún motor, escribir código ni rebuscar en una tienda de recursos. A menudo, lo más difícil es simplemente pensar en una idea, así que aquí tienes 100.</p>
<p>Haz clic en cualquiera de los prompts de abajo y Cinevva se abrirá con esa idea ya escrita y comenzará a crear un juego 3D jugable que podrás editar y compartir. Todos funcionan en tu navegador y se pueden probar gratis. Cópialos, cambia una palabra o úsalos como punto de partida para crear los tuyos. ¿Es tu primera vez? Lee <a href="/es/guides/vibe-coding-games.html">qué es el vibe coding</a> o la guía completa sobre <a href="/es/guides/make-a-game-with-ai.html">cómo crear un juego con IA</a>.</p>
<h2 id="_12-favoritos-para-empezar" tabindex="-1">12 favoritos para empezar <a class="header-anchor" href="#_12-favoritos-para-empezar" aria-label="Permalink to &quot;12 favoritos para empezar&quot;"></a></h2>
<div class="prompt-grid">
<div class="prompt-card">
<strong>Snake de neón, pero más rápido</strong>
<p>Un clásico con brillo y una curva de dificultad que muerde.</p>
<a class="prompt-go" href="/es/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Make%20a%20neon%20snake%20game%20that%20speeds%20up%20as%20you%20grow">Créalo gratis →</a>
</div>
<div class="prompt-card">
<strong>Carreras de karts en el desierto</strong>
<p>Un circuito low poly, acelerones al derrapar y un cronómetro de vuelta que superar.</p>
<a class="prompt-go" href="/es/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Build%20a%20low%20poly%20kart%20racer%20on%20a%20desert%20track%20with%20drift%20boosts">Créalo gratis →</a>
</div>
<div class="prompt-card">
<strong>Parkour en islas flotantes</strong>
<p>En primera persona: salta entre islas sin caerte.</p>
<a class="prompt-go" href="/es/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Make%20a%20first%20person%20parkour%20game%20across%20floating%20islands">Créalo gratis →</a>
</div>
<div class="prompt-card">
<strong>Defensa de torres contra slimes</strong>
<p>Coloca torretas y mantén la posición ante oleadas de slimes.</p>
<a class="prompt-go" href="/es/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Build%20a%20tower%20defense%20where%20I%20place%20turrets%20to%20stop%20waves%20of%20slimes">Créalo gratis →</a>
</div>
<div class="prompt-card">
<strong>Pesca relajante al atardecer</strong>
<p>Un lago tranquilo, un sedal en el agua y ninguna prisa.</p>
<a class="prompt-go" href="/es/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Make%20a%20cozy%20fishing%20game%20on%20a%20quiet%20lake%20at%20sunset">Créalo gratis →</a>
</div>
<div class="prompt-card">
<strong>Supervivencia zombi con linterna</strong>
<p>Vista cenital, munición limitada y un haz de luz que solo llega hasta cierto punto.</p>
<a class="prompt-go" href="/es/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Build%20a%20top%20down%20zombie%20survival%20with%20a%20flashlight%20and%20limited%20ammo">Créalo gratis →</a>
</div>
<div class="prompt-card">
<strong>Sandbox de física con bloques</strong>
<p>Apílalos bien alto y luego derríbalo todo.</p>
<a class="prompt-go" href="/es/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Make%20a%20physics%20sandbox%20where%20I%20stack%20blocks%20and%20knock%20them%20down">Créalo gratis →</a>
</div>
<div class="prompt-card">
<strong>Runner rítmico</strong>
<p>Salta al ritmo de la música o pierde tu racha.</p>
<a class="prompt-go" href="/es/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Build%20a%20rhythm%20runner%20where%20I%20jump%20in%20time%20with%20the%20music">Créalo gratis →</a>
</div>
<div class="prompt-card">
<strong>Combate espacial entre asteroides</strong>
<p>Espacio, misiles teledirigidos y rocas que no se apartan.</p>
<a class="prompt-go" href="/es/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Make%20a%20space%20dogfight%20with%20asteroids%20and%20homing%20missiles">Créalo gratis →</a>
</div>
<div class="prompt-card">
<strong>Plataformas y recolección de estrellas</strong>
<p>Recoge las estrellas, abre la puerta y encuentra la siguiente sala.</p>
<a class="prompt-go" href="/es/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Build%20a%203D%20platformer%20collecting%20stars%20to%20open%20the%20next%20door">Créalo gratis →</a>
</div>
<div class="prompt-card">
<strong>Minigolf disparatado</strong>
<p>Rampas, paredes móviles y un par que dará pie a discusiones.</p>
<a class="prompt-go" href="/es/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Make%20a%20golf%20game%20with%20wacky%20ramps%20and%20moving%20obstacles">Créalo gratis →</a>
</div>
<div class="prompt-card">
<strong>Robo sigiloso de una gema</strong>
<p>Escabúllete entre los guardias, roba la gema y evita que te vean.</p>
<a class="prompt-go" href="/es/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Build%20a%20stealth%20game%20sneaking%20past%20guards%20to%20steal%20the%20gem">Créalo gratis →</a>
</div>
</div>
<h2 id="mas-ideas-de-prompts-por-genero" tabindex="-1">Más ideas de prompts por género <a class="header-anchor" href="#mas-ideas-de-prompts-por-genero" aria-label="Permalink to &quot;Más ideas de prompts por género&quot;"></a></h2>
<p>Puedes hacer clic en cada una de las siguientes líneas. Elige una y comenzará a crearse.</p>
<h3 id="plataformas-y-runners" tabindex="-1">Plataformas y runners <a class="header-anchor" href="#plataformas-y-runners" aria-label="Permalink to &quot;Plataformas y runners&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a 3D platformer collecting coins across moving platforms">Juego de plataformas 3D para recoger monedas sobre plataformas móviles</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an endless runner dodging obstacles that speeds up over time">Runner infinito que se acelera con el tiempo y en el que esquivas obstáculos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a wall jumping ninja platformer in a neon city">Juego de plataformas con un ninja que salta por las paredes de una ciudad de neón</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a double jump platformer where the floor is lava">Juego de plataformas con doble salto donde el suelo es lava</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make an ice physics platformer where everything is slippery">Juego de plataformas con física de hielo donde todo resbala</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a speedrun platformer with a countdown timer per level">Juego de plataformas de speedrun con una cuenta atrás por nivel</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a gravity flip platformer where you walk on the ceiling">Juego de plataformas con inversión de gravedad donde caminas por el techo</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an auto runner where I only control jumping and sliding">Runner automático donde solo controlo los saltos y deslizamientos</a></li>
</ul>
<h3 id="carreras-y-conduccion" tabindex="-1">Carreras y conducción <a class="header-anchor" href="#carreras-y-conduccion" aria-label="Permalink to &quot;Carreras y conducción&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a futuristic hover pod race on a glowing track">Carrera futurista de vehículos flotantes sobre una pista luminosa</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an off road rally through muddy hills and jumps">Rally todoterreno por colinas embarradas y saltos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a time trial drift game scoring points for long drifts">Contrarreloj de derrapes que da puntos por derrapes largos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a top down racer with power ups and oil slicks">Juego de carreras con vista cenital, potenciadores y manchas de aceite</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a downhill bike ride dodging trees and rocks">Descenso en bicicleta esquivando árboles y rocas</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a boat race through a stormy sea with big waves">Carrera de barcos por un mar tormentoso con grandes olas</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a delivery driving game beating the clock through traffic">Juego de reparto contrarreloj entre el tráfico</a></li>
</ul>
<h3 id="disparos-y-accion" tabindex="-1">Disparos y acción <a class="header-anchor" href="#disparos-y-accion" aria-label="Permalink to &quot;Disparos y acción&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a wave shooter defending a base from robots">Juego de disparos por oleadas en el que defiendes una base de los robots</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a first person arena shooter with jump pads and power weapons">Shooter de arena en primera persona con plataformas de salto y armas potentes</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a twin stick shooter clearing rooms of enemies">Shooter de doble stick en el que eliminas a los enemigos de cada sala</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a bullet hell game dodging waves of projectiles">Bullet hell en el que esquivas oleadas de proyectiles</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a tank battle in a destructible arena">Batalla de tanques en una arena destructible</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a sword fighting game blocking and countering attacks">Juego de lucha con espadas en el que bloqueas y contraatacas</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an archery defense holding a gate against raiders">Defensa con arco para proteger una puerta de los saqueadores</a></li>
</ul>
<h3 id="puzles-y-logica" tabindex="-1">Puzles y lógica <a class="header-anchor" href="#puzles-y-logica" aria-label="Permalink to &quot;Puzles y lógica&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a block sliding puzzle to clear a path to the exit">Puzle de bloques deslizantes para despejar el camino hacia la salida</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a color matching puzzle that clears connected groups">Puzle de combinación de colores que elimina los grupos conectados</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a portal puzzle where I place two doors to cross gaps">Puzle de portales donde coloco dos puertas para cruzar huecos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a light and mirror puzzle aiming a beam at a target">Puzle de luces y espejos para dirigir un haz hacia un objetivo</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a maze game where the walls shift every few seconds">Laberinto cuyas paredes cambian cada pocos segundos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a pipe connecting puzzle to route water to a tank">Puzle de conectar tuberías para llevar agua hasta un depósito</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a memory game flipping tiles to find matching pairs">Juego de memoria donde volteas fichas para encontrar parejas</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a crate pushing puzzle placing boxes onto targets">Juego al estilo Sokoban donde empujas cajas hasta sus objetivos</a></li>
</ul>
<h3 id="supervivencia-y-terror" tabindex="-1">Supervivencia y terror <a class="header-anchor" href="#supervivencia-y-terror" aria-label="Permalink to &quot;Supervivencia y terror&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make an island survival gathering wood and food to last the night">Supervivencia en una isla recogiendo madera y comida para pasar la noche</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a horror game escaping a dark maze while something follows">Juego de terror donde escapas de un laberinto oscuro mientras algo te sigue</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a bunker survival rationing supplies through waves of night">Supervivencia en un búnker administrando suministros durante oleadas nocturnas</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an underwater survival managing oxygen while exploring a reef">Supervivencia submarina gestionando el oxígeno mientras exploras un arrecife</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a hide and seek horror in an abandoned house">Terror y escondite en una casa abandonada</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a winter survival keeping a fire lit against the cold">Supervivencia invernal manteniendo encendido un fuego para resistir el frío</a></li>
</ul>
<h3 id="rpg-y-aventura" tabindex="-1">RPG y aventura <a class="header-anchor" href="#rpg-y-aventura" aria-label="Permalink to &quot;RPG y aventura&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a top down dungeon crawler fighting monsters for loot">Juego de mazmorras con vista cenital en el que luchas contra monstruos para conseguir botín</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an open field adventure collecting herbs and crafting potions">Aventura en campo abierto en la que recolectas hierbas y elaboras pociones</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a quest game talking to villagers to find a lost relic">Juego de misiones en el que hablas con aldeanos para encontrar una reliquia perdida</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a roguelike where each run scrambles the dungeon layout">Roguelike en el que la disposición de la mazmorra cambia en cada partida</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a treasure hunt adventure following a map across an island">Aventura de búsqueda del tesoro siguiendo un mapa por una isla</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a boss rush game fighting a series of giant creatures">Juego de jefes consecutivos en el que luchas contra una serie de criaturas gigantes</a></li>
</ul>
<h3 id="deportes-y-arcade" tabindex="-1">Deportes y arcade <a class="header-anchor" href="#deportes-y-arcade" aria-label="Permalink to &quot;Deportes y arcade&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make an arcade basketball game shooting hoops against the clock">Juego de baloncesto arcade en el que encestas a contrarreloj</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a bowling game with trick lanes and bumpers">Juego de bolos con pistas difíciles y barreras laterales</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a penalty shootout soccer game aiming past a keeper">Juego de tandas de penaltis en el que intentas batir al portero</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a skateboard game chaining tricks for combos">Juego de skate en el que encadenas trucos para conseguir combos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a home run derby baseball game timing the swing">Juego de béisbol de jonrones en el que debes sincronizar el bateo</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a table tennis game rallying against a tricky opponent">Juego de tenis de mesa en el que mantienes el peloteo contra un rival impredecible</a></li>
</ul>
<h3 id="acogedores-y-casuales" tabindex="-1">Acogedores y casuales <a class="header-anchor" href="#acogedores-y-casuales" aria-label="Permalink to &quot;Acogedores y casuales&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a cozy farm game planting and harvesting crops">Acogedor juego de granja en el que plantas y cosechas cultivos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a cafe game serving drinks to a line of customers">Juego de cafetería en el que sirves bebidas a una fila de clientes</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a garden game arranging plants and decorations">Juego de jardinería en el que colocas plantas y adornos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a pet care game feeding and playing with a creature">Juego de cuidado de mascotas en el que alimentas a una criatura y juegas con ella</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a cozy cooking game following recipes to plate a dish">Acogedor juego de cocina en el que sigues recetas para emplatar un plato</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a relaxing bird watching game spotting species in a forest">Relajante juego de observación de aves en el que avistas especies en un bosque</a></li>
</ul>
<h3 id="sandbox-y-fisica" tabindex="-1">Sandbox y física <a class="header-anchor" href="#sandbox-y-fisica" aria-label="Permalink to &quot;Sandbox y física&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a marble run where I build ramps to reach the goal">Circuito de canicas en el que construyo rampas para alcanzar la meta</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a demolition game knocking down towers with a wrecking ball">Juego de demolición en el que derribas torres con una bola de demolición</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a bridge builder where my bridge has to hold a truck">Constructor de puentes en el que mi puente debe soportar un camión</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a ragdoll launch game flinging a character for distance">Juego de lanzamiento de muñecos de trapo en el que arrojas un personaje lo más lejos posible</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a cannon game blasting targets with bouncing balls">Juego de cañones en el que destruyes objetivos con bolas que rebotan</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a domino toppling sandbox setting off a chain reaction">Sandbox de fichas de dominó en el que desencadenas una reacción en cadena</a></li>
</ul>
<h3 id="ciencia-ficcion-y-espacio" tabindex="-1">Ciencia ficción y espacio <a class="header-anchor" href="#ciencia-ficcion-y-espacio" aria-label="Permalink to &quot;Ciencia ficción y espacio&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a spaceship landing game touching down gently on low fuel">Juego de aterrizaje de naves espaciales en el que debes posarte suavemente con poco combustible</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an asteroid mining game collecting ore and dodging rocks">Juego de minería de asteroides en el que recoges minerales y esquivas rocas</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a zero gravity station where I float between handholds">Estación de gravedad cero en la que floto entre asideros</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an alien planet explorer scanning strange creatures">Explorador de un planeta alienígena que escanea criaturas extrañas</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a wormhole runner steering through a tunnel of light">Runner de agujeros de gusano en el que pilotas por un túnel de luz</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a rover game driving across a crater filled moon">Juego de rover en el que conduces por una luna llena de cráteres</a></li>
</ul>
<h3 id="estrategia-y-defensa-de-torres" tabindex="-1">Estrategia y defensa de torres <a class="header-anchor" href="#estrategia-y-defensa-de-torres" aria-label="Permalink to &quot;Estrategia y defensa de torres&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a tower defense where towers can be upgraded between waves">Defensa de torres en la que puedes mejorar las torres entre oleadas</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a base builder placing walls and turrets before a raid">Constructor de bases en el que colocas muros y torretas antes de un ataque</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a resource game balancing food wood and gold to grow a town">Juego de gestión de recursos en el que equilibras comida, madera y oro para hacer crecer una ciudad</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a maze tower defense where I shape the path enemies take">Defensa de torres con laberintos en la que diseño el camino que siguen los enemigos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a lane defense sending units to push toward the enemy base">Defensa por carriles en la que envías unidades para avanzar hacia la base enemiga</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an auto battler arranging a team that fights on its own">Auto battler en el que organizas un equipo que lucha por su cuenta</a></li>
</ul>
<h3 id="vuelo-y-aviacion" tabindex="-1">Vuelo y aviación <a class="header-anchor" href="#vuelo-y-aviacion" aria-label="Permalink to &quot;Vuelo y aviación&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a flight sim gliding through canyons and arches">Simulador de vuelo en el que planeas entre cañones y arcos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a hot air balloon game drifting between rings in the sky">Juego de globo aerostático en el que flotas entre aros en el cielo</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a wingsuit dive threading through narrow gaps">Descenso con traje aéreo atravesando huecos estrechos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a paper airplane game catching wind currents for distance">Juego de aviones de papel en el que aprovechas las corrientes de aire para llegar más lejos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a dragon flight game swooping to grab coins midair">Juego de vuelo con dragones en el que desciendes en picado para recoger monedas en el aire</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a helicopter rescue lifting survivors off rooftops">Rescate en helicóptero en el que recoges supervivientes de los tejados</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a jetpack game burning fuel to climb past obstacles">Juego con mochila propulsora en el que gastas combustible para superar obstáculos en el ascenso</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a bird flocking game leading a flock through gates">Juego de bandadas de aves en el que guías a una bandada a través de puertas</a></li>
</ul>
<h3 id="peculiares-y-experimentales" tabindex="-1">Peculiares y experimentales <a class="header-anchor" href="#peculiares-y-experimentales" aria-label="Permalink to &quot;Peculiares y experimentales&quot;"></a></h3>
<ul>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a game where you play as a rolling ball growing bigger by absorbing objects">Juego en el que controlas una bola rodante que crece al absorber objetos</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a game where gravity points wherever I click">Juego en el que la gravedad apunta hacia donde hago clic</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a game played entirely in one rotating room">Juego que transcurre íntegramente en una habitación giratoria</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a game where the screen shrinks as time runs out">Juego en el que la pantalla se encoge a medida que se agota el tiempo</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a game where you control two characters at once">Juego en el que controlas dos personajes a la vez</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a game where painting the floor is how you score">Juego en el que consigues puntos pintando el suelo</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a game where the world is made of stacked cubes you can remove">Juego en el que el mundo está hecho de cubos apilados que puedes retirar</a></li>
<li><a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a game where you grow a tower as tall as possible before it topples">Juego en el que construyes una torre tan alta como sea posible antes de que se derrumbe</a></li>
</ul>
<h2 id="como-escribir-tus-propios-prompts" tabindex="-1">Cómo escribir tus propios prompts <a class="header-anchor" href="#como-escribir-tus-propios-prompts" aria-label="Permalink to &quot;Cómo escribir tus propios prompts&quot;"></a></h2>
<p>Los prompts anteriores son breves a propósito. No necesitas detallar todas las reglas. Indica el tipo de juego, algo que lo haga tuyo y un objetivo, y la IA se encargará del resto. Cuando ya funcione, dile qué quieres cambiar. Para obtener más información sobre el flujo de trabajo, consulta <a href="/es/guides/make-a-game-with-ai.html">cómo crear un juego con IA</a>.</p>
<p>¿Prefieres empezar desde cero? <a href="/es/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack">Abre el creador</a> y escribe tu propia idea.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿como-escribo-un-buen-prompt-para-crear-un-juego-con-ia" tabindex="-1">¿Cómo escribo un buen prompt para crear un juego con IA? <a class="header-anchor" href="#¿como-escribo-un-buen-prompt-para-crear-un-juego-con-ia" aria-label="Permalink to &quot;¿Cómo escribo un buen prompt para crear un juego con IA?&quot;"></a></h3>
<p>Limítalo a una frase e indica tres cosas: el género, un detalle que lo haga tuyo y un objetivo claro. «Un juego de parkour en primera persona por islas flotantes en el que compites contra el reloj» funciona mucho mejor que «un juego 3D divertido», porque ofrece a la IA una estructura concreta sobre la que trabajar. Perfecciona el resultado pidiendo un cambio cada vez.</p>
<h3 id="¿puedo-usar-gratis-estos-prompts-para-juegos-con-ia" tabindex="-1">¿Puedo usar gratis estos prompts para juegos con IA? <a class="header-anchor" href="#¿puedo-usar-gratis-estos-prompts-para-juegos-con-ia" aria-label="Permalink to &quot;¿Puedo usar gratis estos prompts para juegos con IA?&quot;"></a></h3>
<p>Sí. Puedes usar gratis todos los prompts de esta página para crear un juego en tu navegador, editar el resultado y compartir un enlace a tu juego. La generación gratuita tiene límites, y el uso comercial de un juego terminado depende del plan y de los recursos utilizados, así que consulta las condiciones antes de vender nada.</p>
<h3 id="¿puede-la-ia-crear-un-juego-3d-a-partir-de-uno-de-estos-prompts" tabindex="-1">¿Puede la IA crear un juego 3D a partir de uno de estos prompts? <a class="header-anchor" href="#¿puede-la-ia-crear-un-juego-3d-a-partir-de-uno-de-estos-prompts" aria-label="Permalink to &quot;¿Puede la IA crear un juego 3D a partir de uno de estos prompts?&quot;"></a></h3>
<p>Sí. Cada prompt de esta página está diseñado para producir un juego 3D jugable en el navegador. La primera versión es un punto de partida que puedes perfeccionar mediante el chat, pidiendo nuevas mecánicas, arte, sonido y ajustes de dificultad hasta que el resultado sea el adecuado.</p>
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/make-a-game-with-ai.html">Cómo crear un juego con IA (sin programar)</a> — el flujo de trabajo completo</li>
<li><a href="/es/guides/vibe-coding-games.html">Vibe coding de juegos: qué es y cómo empezar</a> — el enfoque explicado</li>
<li><a href="/es/guides/ai-game-generators-2026.html">Los mejores generadores de juegos con IA de 2026</a> — comparativa de herramientas</li>
<li><a href="/es/guides/3d-browser-game-without-coding.html">Cómo crear un juego 3D para navegador sin programar</a> — un análisis detallado del proceso 3D</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/vibe-coding-game-prompts-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mejores motores de juegos de código abierto para 2026]]></title>
            <link>https://app.cinevva.com/es/guides/open-source-game-engines-2026</link>
            <guid>https://app.cinevva.com/es/guides/open-source-game-engines-2026</guid>
            <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Una lista completa de los mejores motores de juegos de código abierto para 2026: Godot, Phaser, PixiJS, Defold, Bevy, Three.js, Babylon.js y más, con licencias, lenguajes, exportación web y una opción para cada caso de uso.]]></description>
            <content:encoded><![CDATA[<h1 id="mejores-motores-de-juegos-de-codigo-abierto-para-2026" tabindex="-1">Mejores motores de juegos de código abierto para 2026 <a class="header-anchor" href="#mejores-motores-de-juegos-de-codigo-abierto-para-2026" aria-label="Permalink to &quot;Mejores motores de juegos de código abierto para 2026&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/open-source-game-engines-hero.jpg?v=2" alt="Mejores motores de juegos de código abierto para 2026" style="width:100%;border-radius:10px">
</figure>
<p>Los motores de juegos de código abierto te ofrecen algo que los propietarios no pueden: una licencia que no cambiará después de que hayas publicado tu juego. Sin tarifas por usuario, límites de ingresos ni cambios de precio inesperados. Puedes leer el código fuente, crear una bifurcación y seguir desarrollando incluso si el equipo original abandona el proyecto. Después del <a href="/es/news/2024-09-12-unity-runtime-fee-cancelled.html">episodio de la tarifa de ejecución de Unity</a>, esa estabilidad es precisamente la razón por la que muchos equipos se pasaron al código abierto.</p>
<p>Esta es la lista completa de motores de juegos de código abierto que vale la pena usar en 2026, agrupados según su propósito. Si necesitas específicamente una versión web, hemos indicado cuáles permiten exportar al navegador, y puedes consultar más detalles en nuestra <a href="/es/guides/web-game-engines-comparison.html">comparativa de los mejores motores de juegos web</a>.</p>
<h2 id="comparativa-rapida" tabindex="-1">Comparativa rápida <a class="header-anchor" href="#comparativa-rapida" aria-label="Permalink to &quot;Comparativa rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Motor</th>
<th>Licencia</th>
<th>Lenguaje</th>
<th>2D / 3D</th>
<th>Exportación web</th>
<th>Ideal para</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/es/guides/godot-vs-unity-web-games.html"><strong>Godot</strong></a></td>
<td>MIT</td>
<td>GDScript, C#</td>
<td>Ambos</td>
<td>Sí (GDScript)</td>
<td>El motor gratuito más versátil</td>
</tr>
<tr>
<td><strong>Phaser</strong></td>
<td>MIT</td>
<td>JavaScript</td>
<td>2D</td>
<td>Sí</td>
<td>Juegos web 2D</td>
</tr>
<tr>
<td><strong>PixiJS</strong></td>
<td>MIT</td>
<td>JavaScript</td>
<td>2D</td>
<td>Sí</td>
<td>Renderizado 2D personalizado</td>
</tr>
<tr>
<td><strong>Three.js</strong></td>
<td>MIT</td>
<td>JS / TS</td>
<td>3D</td>
<td>Sí</td>
<td>3D para web, máximo control</td>
</tr>
<tr>
<td><strong>Babylon.js</strong></td>
<td>Apache 2.0</td>
<td>JS / TS</td>
<td>3D</td>
<td>Sí</td>
<td>3D para web con todas las funciones</td>
</tr>
<tr>
<td><strong>Defold</strong></td>
<td>Gratuito, código fuente disponible</td>
<td>Lua</td>
<td>2D / 3D ligero</td>
<td>Sí</td>
<td>Versiones web más pequeñas</td>
</tr>
<tr>
<td><strong>Excalibur.js</strong></td>
<td>BSD</td>
<td>TypeScript</td>
<td>2D</td>
<td>Sí</td>
<td>Juegos 2D con TypeScript</td>
</tr>
<tr>
<td><strong>Bevy</strong></td>
<td>MIT / Apache 2.0</td>
<td>Rust</td>
<td>Ambos</td>
<td>Sí (Wasm)</td>
<td>Rust, diseño basado en datos</td>
</tr>
<tr>
<td><strong>LÖVE</strong></td>
<td>zlib</td>
<td>Lua</td>
<td>2D</td>
<td>Limitada</td>
<td>Prototipos 2D rápidos</td>
</tr>
<tr>
<td><strong>Cocos Creator</strong></td>
<td>Entorno de ejecución MIT</td>
<td>TypeScript</td>
<td>Ambos</td>
<td>Sí</td>
<td>Minijuegos, mercado asiático</td>
</tr>
<tr>
<td><strong>O3DE</strong></td>
<td>Apache 2.0</td>
<td>C++, Lua</td>
<td>3D</td>
<td>No</td>
<td>3D a gran escala, proyectos de alcance AAA</td>
</tr>
</tbody>
</table>
<p>No existe un único «mejor» motor de código abierto. La opción adecuada depende de si trabajas en 2D o 3D, del lenguaje que uses y de si tu plataforma de destino es la web.</p>
<h2 id="motores-completos-2d-y-3d" tabindex="-1">Motores completos 2D y 3D <a class="header-anchor" href="#motores-completos-2d-y-3d" aria-label="Permalink to &quot;Motores completos 2D y 3D&quot;"></a></h2>
<h3 id="godot" tabindex="-1">Godot <a class="header-anchor" href="#godot" aria-label="Permalink to &quot;Godot&quot;"></a></h3>
<p>Godot es el motor en el que piensa la mayoría de la gente cuando habla de un «motor de juegos de código abierto». Tiene licencia MIT, permite crear juegos tanto en 2D como en 3D y no impone tarifas ni límites de ingresos de ningún tipo. Genera versiones web pequeñas (alrededor de 5 MB con Brotli o 9 MB con gzip) y, desde la versión 4.3, permite exportar con un solo hilo para ofrecer compatibilidad fluida con iOS y Safari. La única salvedad para la web es que los proyectos de C# todavía no pueden exportarse al navegador; solo los de GDScript. Para la mayoría de los equipos que abandonan un motor propietario, Godot es el sustituto versátil más parecido. Consulta <a href="/es/guides/godot-vs-unity-web-games.html">Godot frente a Unity para juegos web</a> para ver una comparativa directa.</p>
<h3 id="cocos-creator" tabindex="-1">Cocos Creator <a class="header-anchor" href="#cocos-creator" aria-label="Permalink to &quot;Cocos Creator&quot;"></a></h3>
<p>Cocos Creator combina un editor gratuito con un entorno de ejecución de código abierto (MIT). Admite 2D y 3D, es compatible con WebGL, WebGPU y Wasm, y destaca especialmente en plataformas de minijuegos como WeChat y TikTok, donde el tamaño de la compilación resulta crucial. Las compilaciones ocupan entre 2 y 4 MB aproximadamente.</p>
<h2 id="bibliotecas-y-motores-3d-para-la-web" tabindex="-1">Bibliotecas y motores 3D para la web <a class="header-anchor" href="#bibliotecas-y-motores-3d-para-la-web" aria-label="Permalink to &quot;Bibliotecas y motores 3D para la web&quot;"></a></h2>
<h3 id="three-js" tabindex="-1">Three.js <a class="header-anchor" href="#three-js" aria-label="Permalink to &quot;Three.js&quot;"></a></h3>
<p>Three.js es la biblioteca 3D más utilizada en la web, cuenta con licencia MIT y tiene un núcleo de unos 150 KB. Es una biblioteca de renderizado en lugar de un motor completo, por lo que debes añadir tus propios sistemas de juego o incorporar un framework. Esa es la contrapartida: máximo control y el menor tamaño posible a cambio de tener que programar más por tu cuenta. Es la base sobre la que creamos <a href="/es/engine.html">Cinevva Engine</a>, añadiendo los sistemas de juego necesarios para que no tengas que empezar desde un lienzo vacío.</p>
<h3 id="babylon-js" tabindex="-1">Babylon.js <a class="header-anchor" href="#babylon-js" aria-label="Permalink to &quot;Babylon.js&quot;"></a></h3>
<p>Babylon.js es un motor 3D completo de código abierto (Apache 2.0) con física y animación integradas, un inspector de escenas y una sólida compatibilidad con WebGPU y WGSL. En comparación con Three.js, ofrece más funciones listas para usar, pero ocupa más espacio. Consulta <a href="/es/guides/threejs-vs-babylonjs.html">Three.js frente a Babylon.js</a> para descubrir cuál encaja mejor con tu proyecto.</p>
<h2 id="frameworks-2d" tabindex="-1">Frameworks 2D <a class="header-anchor" href="#frameworks-2d" aria-label="Permalink to &quot;Frameworks 2D&quot;"></a></h2>
<h3 id="phaser" tabindex="-1">Phaser <a class="header-anchor" href="#phaser" aria-label="Permalink to &quot;Phaser&quot;"></a></h3>
<p>Phaser es el framework de juegos HTML5 de código abierto más popular, cuenta con licencia MIT y posee la mayor comunidad y el ecosistema más amplio para juegos web 2D. Las compilaciones ocupan alrededor de 500 KB. Si tu juego es 2D y programas en JavaScript, es difícil encontrar algo mejor.</p>
<h3 id="pixijs" tabindex="-1">PixiJS <a class="header-anchor" href="#pixijs" aria-label="Permalink to &quot;PixiJS&quot;"></a></h3>
<p>PixiJS es un rápido renderizador WebGL 2D (MIT) de unos 200 KB. Al igual que Three.js para 3D, es un renderizador y no un motor completo, por lo que debes aportar tu propia lógica de juego. Elígelo cuando quieras un renderizado 2D personalizado y un tamaño mínimo.</p>
<h3 id="excalibur-js" tabindex="-1">Excalibur.js <a class="header-anchor" href="#excalibur-js" aria-label="Permalink to &quot;Excalibur.js&quot;"></a></h3>
<p>Excalibur.js es un accesible motor 2D con licencia BSD escrito en TypeScript, de unos 300 KB y con más funciones de juego integradas que un renderizador básico. Es una buena opción si quieres trabajar con tipado y disfrutar de una curva de aprendizaje suave.</p>
<h3 id="love-love2d" tabindex="-1">LÖVE (Love2D) <a class="header-anchor" href="#love-love2d" aria-label="Permalink to &quot;LÖVE (Love2D)&quot;"></a></h3>
<p>LÖVE es un veterano framework 2D con licencia zlib que utiliza Lua como lenguaje de scripting. Es muy apreciado para crear prototipos rápidamente y participar en game jams para escritorio. La exportación web está disponible mediante love.js, pero es limitada, por lo que conviene considerar LÖVE como una herramienta orientada principalmente al escritorio.</p>
<h2 id="rust-c-y-motores-a-gran-escala" tabindex="-1">Rust, C++ y motores a gran escala <a class="header-anchor" href="#rust-c-y-motores-a-gran-escala" aria-label="Permalink to &quot;Rust, C++ y motores a gran escala&quot;"></a></h2>
<h3 id="bevy" tabindex="-1">Bevy <a class="header-anchor" href="#bevy" aria-label="Permalink to &quot;Bevy&quot;"></a></h3>
<p>Bevy es un motor moderno basado en datos, escrito en Rust y con licencia dual MIT y Apache 2.0. Su arquitectura de sistema de entidades y componentes es uno de sus principales atractivos, y puede compilarse a WebAssembly para generar versiones para navegador. Es más joven que los demás y evoluciona rápidamente, así que cabe esperar cambios incompatibles entre versiones, aunque en 2026 mantiene un fuerte impulso.</p>
<h3 id="open-3d-engine-o3de" tabindex="-1">Open 3D Engine (O3DE) <a class="header-anchor" href="#open-3d-engine-o3de" aria-label="Permalink to &quot;Open 3D Engine (O3DE)&quot;"></a></h3>
<p>O3DE es un proyecto de la Linux Foundation (Apache 2.0), respaldado por AWS y otras organizaciones, cuyo objetivo es crear experiencias 3D a gran escala y de alta fidelidad. Es un motor potente y exigente para equipos con ambiciones AAA y recursos a la altura. No está orientado al navegador.</p>
<h2 id="como-elegir" tabindex="-1">Cómo elegir <a class="header-anchor" href="#como-elegir" aria-label="Permalink to &quot;Cómo elegir&quot;"></a></h2>
<ul>
<li><strong>¿Quieres un motor gratuito para casi cualquier proyecto?</strong> Godot.</li>
<li><strong>¿Estás creando un juego web 2D?</strong> Phaser, o PixiJS/Excalibur.js si buscas renderizado personalizado.</li>
<li><strong>¿Estás creando un juego 3D para la web?</strong> Three.js si priorizas el control y el tamaño; Babylon.js si quieres todas las funciones integradas.</li>
<li><strong>¿Quieres la versión web más pequeña posible?</strong> Defold.</li>
<li><strong>¿Tu objetivo son las plataformas de minijuegos?</strong> Cocos Creator.</li>
<li><strong>¿Te encantan Rust y ECS?</strong> Bevy.</li>
<li><strong>¿Buscas 3D a gran escala y de alta fidelidad?</strong> O3DE.</li>
</ul>
<p>Si tu plataforma de destino es la web, todos los motores anteriores, excepto O3DE y, en gran medida, LÖVE, pueden generar una versión para navegador. Para consultar un análisis completo centrado en la web, lee la <a href="/es/guides/web-game-engines-comparison.html">comparativa de motores de juegos web</a> y nuestra guía de <a href="/es/guides/unity-alternatives-web-games.html">alternativas a Unity para juegos web</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-mejor-motor-de-juegos-de-codigo-abierto-en-2026" tabindex="-1">¿Cuál es el mejor motor de juegos de código abierto en 2026? <a class="header-anchor" href="#¿cual-es-el-mejor-motor-de-juegos-de-codigo-abierto-en-2026" aria-label="Permalink to &quot;¿Cuál es el mejor motor de juegos de código abierto en 2026?&quot;"></a></h3>
<p>Para la mayoría de la gente es Godot: tiene licencia MIT, es gratuito, no impone límites de ingresos, ofrece buenas prestaciones tanto en 2D como en 3D y cuenta con una exportación web sencilla. Para juegos web 2D en concreto, Phaser es la opción de código abierto más popular; para 3D en la web, las mejores opciones son Three.js (una biblioteca) o Babylon.js (un motor completo). La mejor elección depende de las dimensiones, el lenguaje y la plataforma.</p>
<h3 id="¿godot-es-realmente-gratuito-sin-ninguna-trampa" tabindex="-1">¿Godot es realmente gratuito, sin ninguna trampa? <a class="header-anchor" href="#¿godot-es-realmente-gratuito-sin-ninguna-trampa" aria-label="Permalink to &quot;¿Godot es realmente gratuito, sin ninguna trampa?&quot;"></a></h3>
<p>Sí. Godot se distribuye bajo la licencia MIT, lo que significa que nunca hay tarifas, regalías, límites de ingresos ni licencias por usuario. Puedes usarlo para juegos comerciales e incluso modificar el propio motor. El proyecto se financia mediante donaciones y patrocinios, no cobrando a los desarrolladores.</p>
<h3 id="¿son-los-motores-de-juegos-de-codigo-abierto-suficientemente-buenos-para-juegos-comerciales" tabindex="-1">¿Son los motores de juegos de código abierto suficientemente buenos para juegos comerciales? <a class="header-anchor" href="#¿son-los-motores-de-juegos-de-codigo-abierto-suficientemente-buenos-para-juegos-comerciales" aria-label="Permalink to &quot;¿Son los motores de juegos de código abierto suficientemente buenos para juegos comerciales?&quot;"></a></h3>
<p>Sí. Muchos juegos con éxito comercial se publican usando motores de código abierto, y no tendrás que preocuparte por ningún límite de ingresos. Las contrapartidas suelen ser un mercado de recursos integrado más pequeño y, en algunos motores, menos funciones listas para usar que en un gran motor propietario. En el caso concreto de los juegos web, los motores de código abierto suelen generar versiones más pequeñas y rápidas.</p>
<h3 id="¿unity-o-unreal-son-de-codigo-abierto" tabindex="-1">¿Unity o Unreal son de código abierto? <a class="header-anchor" href="#¿unity-o-unreal-son-de-codigo-abierto" aria-label="Permalink to &quot;¿Unity o Unreal son de código abierto?&quot;"></a></h3>
<p>No. Unity es de código cerrado y funciona mediante suscripción. El código fuente de Unreal Engine está disponible (puedes leerlo y modificarlo con una cuenta), pero no es de código abierto y aplica un modelo de regalías a partir de cierto límite de ingresos. Si buscas específicamente un motor de código abierto, Godot es el equivalente más cercano a Unity, y nuestra <a href="/es/guides/unity-alternatives-web-games.html">guía de alternativas a Unity</a> analiza las demás opciones.</p>
<h3 id="¿que-motor-de-juegos-de-codigo-abierto-es-mejor-para-la-web" tabindex="-1">¿Qué motor de juegos de código abierto es mejor para la web? <a class="header-anchor" href="#¿que-motor-de-juegos-de-codigo-abierto-es-mejor-para-la-web" aria-label="Permalink to &quot;¿Qué motor de juegos de código abierto es mejor para la web?&quot;"></a></h3>
<p>Godot si buscas un motor versátil para 2D y 3D, Phaser para 2D, y Three.js o Babylon.js para 3D. Defold genera las versiones web más pequeñas entre todos los motores completos. Todos son gratuitos y de código abierto. Nuestra <a href="/es/guides/web-game-engines-comparison.html">comparativa de motores de juegos web</a> los clasifica según el tamaño de la compilación, el tiempo de carga y la compatibilidad con navegadores.</p>
<BuildCta
  title="Los motores gratuitos son geniales. Uno gratuito y sin configuración es más rápido"
  desc="Prueba primero la idea y adopta el motor cuando se te quede pequeño."
  prompt="Crea un juego retro de exploración de mazmorras con antorchas y esqueletos" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/web-game-engines-comparison.html">Mejores motores de juegos web para 2026 (comparativa)</a> — clasificados por tamaño de compilación, tiempo de carga y coste</li>
<li><a href="/es/guides/unity-alternatives-web-games.html">Alternativas a Unity para juegos web</a> — opciones de código abierto para equipos que abandonan Unity</li>
<li><a href="/es/guides/godot-vs-unity-web-games.html">Godot frente a Unity para juegos web</a> — comparativa directa con el sustituto de código abierto más parecido</li>
<li><a href="/es/guides/best-2d-game-engines-2026.html">Mejores motores de juegos 2D para 2026</a> — si tu juego es 2D</li>
<li><a href="/es/guides/threejs-vs-babylonjs.html">Three.js frente a Babylon.js</a> — las dos grandes bibliotecas 3D de código abierto para la web</li>
<li><a href="/es/engine.html">Cinevva Engine</a> — nuestro motor de código abierto orientado a la web y basado en Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/open-source-game-engines-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Alternativas a Unity para juegos web (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/unity-alternatives-web-games</link>
            <guid>https://app.cinevva.com/es/guides/unity-alternatives-web-games</guid>
            <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Las mejores alternativas a Unity para juegos de navegador en 2026 —Godot, PlayCanvas, Three.js, Defold, Cocos, Phaser y más— comparadas por exportación web, tamaño de compilación, lenguaje y coste, con una recomendación según el motivo por el que dejas Unity.]]></description>
            <content:encoded><![CDATA[<h1 id="alternativas-a-unity-para-juegos-web-2026" tabindex="-1">Alternativas a Unity para juegos web (2026) <a class="header-anchor" href="#alternativas-a-unity-para-juegos-web-2026" aria-label="Permalink to &quot;Alternativas a Unity para juegos web (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/unity-alternatives-web-hero.jpg?v=2" alt="Alternativas a Unity para juegos web en 2026" style="width:100%;border-radius:10px">
</figure>
<p>Unity permite exportar a la web, pero sus compilaciones WebGL son pesadas, sus cambios de precios han desconcertado a los desarrolladores desde 2023 y, para un juego pensado primero para el navegador, rara vez es la opción más ligera. Si buscas una alternativa a Unity específicamente para juegos web, esta guía analiza los motores que realmente generan compilaciones pequeñas y rápidas para navegadores en 2026, y cuál elegir según el motivo por el que dejas Unity.</p>
<p>Si quieres comparar todas las opciones, empieza por nuestra <a href="/es/guides/web-game-engines-comparison.html">comparativa de los mejores motores de juegos web para 2026</a>. Esta página se centra específicamente en sustituir Unity para la web.</p>
<h2 id="por-que-los-desarrolladores-buscan-alternativas-a-unity" tabindex="-1">Por qué los desarrolladores buscan alternativas a Unity <a class="header-anchor" href="#por-que-los-desarrolladores-buscan-alternativas-a-unity" aria-label="Permalink to &quot;Por qué los desarrolladores buscan alternativas a Unity&quot;"></a></h2>
<p>Hay varios motivos que aparecen una y otra vez:</p>
<ul>
<li><strong>Confianza en los precios.</strong> La <a href="/es/news/2024-09-12-unity-runtime-fee-cancelled.html">tarifa de ejecución de Unity</a> se canceló en septiembre de 2024 y no ha regresado, pero enseñó a muchos equipos a planificar teniendo en cuenta la pregunta: «¿Y si vuelven a cambiar las condiciones?». Un motor cuya licencia no pueda cambiar de precio elimina ese riesgo.</li>
<li><strong>Tamaño de las compilaciones web.</strong> Las compilaciones WebGL vacías de Unity parten de unos 8 a 11 MB. Los motores nativos para la web generan compilaciones de entre 1 y 5 MB, algo que los jugadores perciben directamente en el tiempo de carga.</li>
<li><strong>Compatibilidad con navegadores móviles.</strong> Históricamente, Unity WebGL ha sido frágil en teléfonos. Los motores más ligeros y creados para la web funcionan mejor en Safari y Chrome para móviles.</li>
<li><strong>Código abierto.</strong> Algunos equipos quieren una base de código que puedan leer, bifurcar y utilizar sin depender de un proveedor.</li>
</ul>
<p>La buena noticia es que, para la web, las alternativas son sólidas y varias son gratuitas para siempre.</p>
<h2 id="comparacion-rapida" tabindex="-1">Comparación rápida <a class="header-anchor" href="#comparacion-rapida" aria-label="Permalink to &quot;Comparación rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Alternativa</th>
<th>Tipo</th>
<th>Tecnología web</th>
<th>Tamaño de compilación (vacía)</th>
<th>Lenguaje</th>
<th>Coste</th>
<th>Ideal para</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/es/guides/godot-vs-unity-web-games.html"><strong>Godot</strong></a></td>
<td>Motor 2D/3D completo</td>
<td>WebGL2 + Wasm</td>
<td>~5 MB con Brotli, ~9 MB con gzip</td>
<td>GDScript (C# aún no está disponible en la web)</td>
<td>Gratis (MIT)</td>
<td>El sustituto integral más parecido a Unity</td>
</tr>
<tr>
<td><strong>PlayCanvas</strong></td>
<td>Motor 3D web-first</td>
<td>WebGL2 + WebGPU</td>
<td>~1-2 MB</td>
<td>JavaScript</td>
<td>Plan gratuito; planes de pago</td>
<td>3D pensado primero para el navegador con editor en la nube</td>
</tr>
<tr>
<td><strong>Babylon.js</strong></td>
<td>Motor 3D web-first</td>
<td>WebGL2 + WebGPU</td>
<td>~1-2 MB</td>
<td>JavaScript / TypeScript</td>
<td>Gratis (Apache 2.0)</td>
<td>Un motor gratuito y completo para quienes dejan Unity</td>
</tr>
<tr>
<td><strong>Three.js / Cinevva</strong></td>
<td>Biblioteca / motor 3D</td>
<td>WebGL2 + WebGPU</td>
<td>Núcleo de ~150 KB</td>
<td>JavaScript / TypeScript</td>
<td>Gratis (MIT)</td>
<td>Máximo control y tamaño mínimo</td>
</tr>
<tr>
<td><strong>Defold</strong></td>
<td>2D/3D web-first</td>
<td>WebGL + Wasm</td>
<td>~1,14 MB</td>
<td>Lua</td>
<td>Gratis</td>
<td>Los juegos web más pequeños y rápidos de cargar</td>
</tr>
<tr>
<td><strong>Cocos Creator</strong></td>
<td>Motor 2D/3D completo</td>
<td>WebGL + WebGPU + Wasm</td>
<td>~2-4 MB</td>
<td>TypeScript</td>
<td>Gratis</td>
<td>Minijuegos y el mercado web asiático</td>
</tr>
<tr>
<td><strong>Phaser</strong></td>
<td>Framework 2D</td>
<td>WebGL/Canvas</td>
<td>~500 KB</td>
<td>JavaScript</td>
<td>Gratis (MIT)</td>
<td>Juegos web 2D y la mayor comunidad HTML5</td>
</tr>
<tr>
<td><strong>Construct / GDevelop</strong></td>
<td>2D visual</td>
<td>WebGL</td>
<td>~1-3 MB</td>
<td>Sin código</td>
<td>Suscripción / plan gratuito</td>
<td>Dejar Unity sin escribir código</td>
</tr>
</tbody>
</table>
<p>No existe un único «sustituto de Unity». La elección correcta depende de si necesitas 3D, de si programas y de por qué Unity no te servía.</p>
<h2 id="godot-el-sustituto-integral-mas-parecido" tabindex="-1">Godot: el sustituto integral más parecido <a class="header-anchor" href="#godot-el-sustituto-integral-mas-parecido" aria-label="Permalink to &quot;Godot: el sustituto integral más parecido&quot;"></a></h2>
<p>Godot es la alternativa que eligen muchos antiguos desarrolladores de Unity. Es un motor 2D y 3D completo, gratuito bajo la licencia MIT, sin costes por puesto, regalías ni límites de ingresos, y su exportación web es sólida. El tamaño de compilación ronda los 5 MB con Brotli o los 9 MB con gzip, menor que el de Unity de forma predeterminada. Desde Godot 4.3 se pueden exportar compilaciones web de un solo hilo que eliminan el requisito de SharedArrayBuffer, lo que también solucionó los antiguos problemas de reproducción en iOS y Safari.</p>
<p>La única pega para la web es que los proyectos de Godot en C# (.NET) todavía no pueden exportarse al navegador; solo GDScript puede hacerlo. Si vas a migrar una base de código en C#, es un factor importante. Analizamos en detalle las ventajas y desventajas en <a href="/es/guides/godot-vs-unity-web-games.html">Godot frente a Unity para juegos web</a>.</p>
<p>Elige Godot si quieres el motor integral más parecido a Unity, gratuito para siempre y con una vía clara para crear juegos web 2D y 3D.</p>
<h2 id="playcanvas-3d-web-first-con-editor" tabindex="-1">PlayCanvas: 3D web-first con editor <a class="header-anchor" href="#playcanvas-3d-web-first-con-editor" aria-label="Permalink to &quot;PlayCanvas: 3D web-first con editor&quot;"></a></h2>
<p>PlayCanvas se creó para el navegador desde el primer día. Su entorno de ejecución ocupa aproximadamente entre 1 y 2 MB, admite tanto WebGL2 como WebGPU y cuenta con un editor colaborativo en la nube que te resultará familiar si te gustaba el flujo de trabajo de escenas de Unity. Los juegos se programan en JavaScript. Es una opción sólida cuando necesitas 3D en tiempo real en el navegador y prefieres un editor visual a una biblioteca basada únicamente en código.</p>
<p>Elige PlayCanvas si quieres edición de escenas 3D al estilo de Unity, pero con una compilación web diminuta.</p>
<h2 id="babylon-js-un-motor-gratuito-completo-y-nativo-para-la-web" tabindex="-1">Babylon.js: un motor gratuito, completo y nativo para la web <a class="header-anchor" href="#babylon-js-un-motor-gratuito-completo-y-nativo-para-la-web" aria-label="Permalink to &quot;Babylon.js: un motor gratuito, completo y nativo para la web&quot;"></a></h2>
<p>Babylon.js es la opción indicada si dejas Unity pero quieres seguir usando un motor completo en lugar de una biblioteca de renderizado básica. Es gratuito y de código abierto (Apache 2.0), está desarrollado y respaldado por un equipo de Microsoft y se ejecuta desde su origen en el navegador. Incluye física Havok, un inspector de escenas, herramientas de animación y un editor web gratuito, por lo que ofrece la misma sensación de tenerlo todo incluido que atrajo a muchos usuarios a Unity, pero sin costes por puesto ni límites de ingresos. Babylon.js 9.0 (marzo de 2026) también incorpora una de las implementaciones de WebGPU más avanzadas entre los motores web, incluida la iluminación agrupada y la iluminación volumétrica basada en cómputo, por lo que dar prioridad a la web no implica sacrificar fidelidad de renderizado. Se programa en JavaScript o TypeScript.</p>
<p>Elige Babylon.js si quieres un motor 3D completo, gratuito y nativo para la web, con un conjunto de funciones similar al de Unity y renderizado WebGPU moderno.</p>
<h2 id="three-js-y-cinevva-maximo-control-y-tamano-minimo" tabindex="-1">Three.js y Cinevva: máximo control y tamaño mínimo <a class="header-anchor" href="#three-js-y-cinevva-maximo-control-y-tamano-minimo" aria-label="Permalink to &quot;Three.js y Cinevva: máximo control y tamaño mínimo&quot;"></a></h2>
<p>Si quieres la compilación web más ligera posible y un control total sobre el renderizado, <a href="/es/guides/playcanvas-vs-threejs.html">Three.js</a> es el estándar. La biblioteca principal ocupa alrededor de 150 KB y está detrás de una gran parte del contenido 3D de la web. Es una biblioteca de renderizado y no un motor completo, por lo que debes aportar tus propios sistemas de juego o añadir un framework.</p>
<p>Precisamente por eso creamos <a href="/es/engine.html">Cinevva Engine</a> sobre Three.js: es de código abierto, está pensado primero para la web e incorpora los sistemas de juego necesarios para que no tengas que empezar desde un lienzo vacío. Una sola base de código permite publicar en el navegador, móviles, equipos de escritorio, Steam y Discord. Sin costes por puesto, sin tarifas de instalación y sin condiciones que puedan cambiar después de haber creado tu juego, justo lo que hizo que la gente empezara a valorar el episodio de la tarifa de ejecución.</p>
<p>Elige Three.js o Cinevva si quieres 3D nativo para la web, código abierto y el menor tamaño posible, y te sientes cómodo trabajando con JavaScript o TypeScript.</p>
<h2 id="defold-las-compilaciones-web-2d-mas-pequenas-y-rapidas" tabindex="-1">Defold: las compilaciones web 2D más pequeñas y rápidas <a class="header-anchor" href="#defold-las-compilaciones-web-2d-mas-pequenas-y-rapidas" aria-label="Permalink to &quot;Defold: las compilaciones web 2D más pequeñas y rápidas&quot;"></a></h2>
<p>Defold genera las compilaciones web más pequeñas entre los motores completos, de unos 1,14 MB, y carga rápidamente. Permite crear juegos 2D y 3D ligeros, utiliza Lua para los scripts y es gratuito, sin límites de ingresos. Si tu juego de Unity es 2D y el tiempo de carga es la prioridad, es difícil superar a Defold en la web.</p>
<p>Elige Defold para juegos web casuales y móviles en los que cada kilobyte cuenta.</p>
<h2 id="cocos-creator-minijuegos-y-el-mercado-asiatico" tabindex="-1">Cocos Creator: minijuegos y el mercado asiático <a class="header-anchor" href="#cocos-creator-minijuegos-y-el-mercado-asiatico" aria-label="Permalink to &quot;Cocos Creator: minijuegos y el mercado asiático&quot;"></a></h2>
<p>Cocos Creator es un motor 2D y 3D completo compatible con WebGL, WebGPU y Wasm, con compilaciones de entre 2 y 4 MB y scripts en TypeScript. Destaca especialmente en las plataformas de minijuegos (WeChat, TikTok, Taobao), donde el tamaño de Unity lo descarta desde el principio. Es gratuito.</p>
<p>Elige Cocos Creator para minijuegos o si tu objetivo es el ecosistema web asiático.</p>
<h2 id="phaser-el-estandar-web-para-2d" tabindex="-1">Phaser: el estándar web para 2D <a class="header-anchor" href="#phaser-el-estandar-web-para-2d" aria-label="Permalink to &quot;Phaser: el estándar web para 2D&quot;"></a></h2>
<p>Si tu juego es 2D y programas en JavaScript, Phaser es el framework de juegos HTML5 más popular y cuenta con la comunidad y el ecosistema más grandes. Las compilaciones ocupan alrededor de 500 KB. Es gratuito bajo la licencia MIT. Para juegos web 2D suele encajar mejor de lo que nunca encajó Unity. Consulta <a href="/es/guides/best-2d-game-engines-2026.html">los mejores motores de juegos 2D para 2026</a> para ver cómo se compara con Defold, Construct y GDevelop.</p>
<p>Elige Phaser para juegos web 2D si buscas código, comunidad y una compilación pequeña.</p>
<h2 id="construct-y-gdevelop-dejar-unity-sin-programar" tabindex="-1">Construct y GDevelop: dejar Unity sin programar <a class="header-anchor" href="#construct-y-gdevelop-dejar-unity-sin-programar" aria-label="Permalink to &quot;Construct y GDevelop: dejar Unity sin programar&quot;"></a></h2>
<p>Si parte de tu frustración con Unity se debía a la cantidad de código y configuración necesaria, los motores visuales son una alternativa real. <a href="/es/guides/construct-vs-gdevelop.html">Construct y GDevelop</a> permiten crear juegos 2D sin programar y exportan compilaciones web limpias. GDevelop tiene un plan gratuito y favorece el código abierto; Construct funciona mediante suscripción y ofrece un editor muy pulido.</p>
<p>Elige uno de ellos si quieres crear juegos web visualmente, con poco o ningún código.</p>
<h2 id="como-elegir-segun-el-motivo-por-el-que-dejas-unity" tabindex="-1">Cómo elegir según el motivo por el que dejas Unity <a class="header-anchor" href="#como-elegir-segun-el-motivo-por-el-que-dejas-unity" aria-label="Permalink to &quot;Cómo elegir según el motivo por el que dejas Unity&quot;"></a></h2>
<ul>
<li><strong>¿Lo dejas por los precios o la confianza?</strong> Elige código abierto: Godot, Defold, Phaser, Three.js o Cinevva. Ninguno puede cambiarte los precios de forma unilateral.</li>
<li><strong>¿Necesitas 3D en el navegador?</strong> PlayCanvas o Babylon.js (motores completos con editores), o Three.js y Cinevva (para tener más control y el menor tamaño posible).</li>
<li><strong>¿Estás creando un juego 2D?</strong> Defold para las compilaciones más pequeñas; Phaser para la comunidad más grande.</li>
<li><strong>¿No quieres programar?</strong> Construct o GDevelop.</li>
<li><strong>¿Tu objetivo son las plataformas de minijuegos?</strong> Cocos Creator.</li>
</ul>
<p>Elijas lo que elijas, la web premia las compilaciones pequeñas y las cargas rápidas. Cuando te hayas decidido, consulta <a href="/es/tutorials/ship-web-game-fast.html">cómo publicar un juego web que cargue rápido</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-la-mejor-alternativa-a-unity-para-juegos-web" tabindex="-1">¿Cuál es la mejor alternativa a Unity para juegos web? <a class="header-anchor" href="#¿cual-es-la-mejor-alternativa-a-unity-para-juegos-web" aria-label="Permalink to &quot;¿Cuál es la mejor alternativa a Unity para juegos web?&quot;"></a></h3>
<p>Para la mayoría de los equipos es Godot: un motor 2D y 3D completo, gratuito y de código abierto, con compilaciones web más pequeñas que las de Unity y una vía clara de exportación de un solo hilo para iOS y Safari. Si necesitas específicamente 3D pensado primero para el navegador, PlayCanvas o Three.js son aún más ligeros. La mejor opción depende de si necesitas 3D y de si programas.</p>
<h3 id="¿existe-una-alternativa-gratuita-a-unity" tabindex="-1">¿Existe una alternativa gratuita a Unity? <a class="header-anchor" href="#¿existe-una-alternativa-gratuita-a-unity" aria-label="Permalink to &quot;¿Existe una alternativa gratuita a Unity?&quot;"></a></h3>
<p>Sí, hay varias. Godot, Defold, Phaser, PixiJS, Excalibur.js y Three.js son gratuitos y de código abierto, sin límites de ingresos ni costes por puesto. Cocos Creator y GDevelop también ofrecen opciones gratuitas. En el caso específico de los juegos web, estos motores gratuitos suelen generar compilaciones más pequeñas y rápidas que Unity.</p>
<h3 id="¿por-que-cambiar-unity-por-otro-motor-para-juegos-web" tabindex="-1">¿Por qué cambiar Unity por otro motor para juegos web? <a class="header-anchor" href="#¿por-que-cambiar-unity-por-otro-motor-para-juegos-web" aria-label="Permalink to &quot;¿Por qué cambiar Unity por otro motor para juegos web?&quot;"></a></h3>
<p>Los motivos habituales son el tamaño de las compilaciones —las compilaciones WebGL vacías de Unity parten de unos 8 a 11 MB, frente a entre 1 y 5 MB en los motores nativos para la web—, la fiabilidad en navegadores móviles, la confianza en los precios tras el episodio de la tarifa de ejecución de 2023 y la preferencia por el código abierto. Si la web es tu plataforma principal, un motor web-first suele ofrecer mejores resultados.</p>
<h3 id="¿puedo-sustituir-unity-por-un-motor-de-codigo-abierto" tabindex="-1">¿Puedo sustituir Unity por un motor de código abierto? <a class="header-anchor" href="#¿puedo-sustituir-unity-por-un-motor-de-codigo-abierto" aria-label="Permalink to &quot;¿Puedo sustituir Unity por un motor de código abierto?&quot;"></a></h3>
<p>Sí. Godot es el equivalente de código abierto más cercano para proyectos generales en 2D y 3D, y utiliza la licencia MIT sin cobrar tarifas. Para 3D nativo en la web, Three.js —y los motores basados en él, como Cinevva— también es de código abierto. El principal coste de migración consiste en reconstruir el juego en un nuevo lenguaje, ya que cada motor tiene su propio sistema de scripting.</p>
<h3 id="¿que-alternativa-a-unity-genera-la-compilacion-web-mas-pequena" tabindex="-1">¿Qué alternativa a Unity genera la compilación web más pequeña? <a class="header-anchor" href="#¿que-alternativa-a-unity-genera-la-compilacion-web-mas-pequena" aria-label="Permalink to &quot;¿Qué alternativa a Unity genera la compilación web más pequeña?&quot;"></a></h3>
<p>Entre los motores completos, Defold es el más pequeño, con unos 1,14 MB. Three.js, como biblioteca, es aún más pequeño, con un núcleo de unos 150 KB, aunque debes añadir tu propio código de juego. Godot ocupa alrededor de 5 MB con Brotli o 9 MB con gzip, todavía muy por debajo del punto de partida de Unity, de más de 8 MB.</p>
<BuildCta
  title="La alternativa más radical a Unity: no usar ningún motor"
  desc="Describe tu juego y juégalo en el navegador en aproximadamente un minuto."
  prompt="Crea un juego de plataformas en tercera persona que cargue al instante en el navegador" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/web-game-engines-comparison.html">Mejores motores de juegos web para 2026 (comparados)</a> — todas las opciones, ordenadas</li>
<li><a href="/es/guides/open-source-game-engines-2026.html">Mejores motores de juegos de código abierto para 2026</a> — todas las opciones gratuitas que puedes bifurcar tú mismo</li>
<li><a href="/es/guides/godot-vs-unity-web-games.html">Godot frente a Unity para juegos web</a> — la alternativa más cercana, comparada cara a cara</li>
<li><a href="/es/news/2024-09-12-unity-runtime-fee-cancelled.html">Cancelación de la tarifa de ejecución de Unity: la historia oficial</a> — por qué la confianza en los precios se convirtió en un factor decisivo</li>
<li><a href="/es/guides/best-2d-game-engines-2026.html">Mejores motores de juegos 2D para 2026</a> — si tu juego es 2D</li>
<li><a href="/es/guides/playcanvas-vs-threejs.html">PlayCanvas frente a Three.js</a> — motor frente a biblioteca para 3D web</li>
<li><a href="/es/engine.html">Cinevva Engine</a> — nuestro motor de código abierto, pensado primero para la web y basado en Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/unity-alternatives-web-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mejores motores de juegos 2D para 2026 (comparativa)]]></title>
            <link>https://app.cinevva.com/es/guides/best-2d-game-engines-2026</link>
            <guid>https://app.cinevva.com/es/guides/best-2d-game-engines-2026</guid>
            <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Los mejores motores de juegos 2D para 2026 - Godot, GameMaker, Construct, Defold, Phaser, GDevelop, Unity y LÖVE, comparados por precio, exportación web, tamaño de compilación y público objetivo.]]></description>
            <content:encoded><![CDATA[<h1 id="mejores-motores-de-juegos-2d-para-2026-comparativa" tabindex="-1">Mejores motores de juegos 2D para 2026 (comparativa) <a class="header-anchor" href="#mejores-motores-de-juegos-2d-para-2026-comparativa" aria-label="Permalink to &quot;Mejores motores de juegos 2D para 2026 (comparativa)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/best-2d-game-engines-2026-hero.jpg?v=2" alt="Mejores motores de juegos 2D para 2026: Godot, GameMaker, Construct, Defold y Phaser" style="width:100%;border-radius:10px">
</figure>
<p>El 2D sigue muy vivo en 2026 y hay más motores buenos que nunca. La elección adecuada depende de si programas o no, de si vas a publicar en la web y de lo pequeña que deba ser la compilación. Aquí comparamos las principales opciones y explicamos para quién es cada una.</p>
<p>Si también estás considerando motores 3D o multiplataforma completos, consulta la comparativa general de <a href="/es/guides/web-game-engines-comparison.html">motores de juegos web</a>.</p>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Motor</th>
<th>Precio</th>
<th>Exportación web</th>
<th>Ideal para</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://godotengine.org/" target="_blank" rel="noreferrer"><strong>Godot</strong></a></td>
<td>Gratis (MIT)</td>
<td>Buena (WebGL2, GDScript)</td>
<td>La mejor opción general y de código abierto</td>
</tr>
<tr>
<td><a href="https://gamemaker.io/" target="_blank" rel="noreferrer"><strong>GameMaker</strong></a></td>
<td>Gratis para uso no comercial; Pro por $99.99, pago único</td>
<td>HTML5 incluido</td>
<td>Juegos 2D comerciales y publicación rápida</td>
</tr>
<tr>
<td><a href="https://www.construct.net/" target="_blank" rel="noreferrer"><strong>Construct</strong></a></td>
<td>Plan gratuito; Personal por $99/año</td>
<td>Excelente (nativo de HTML5)</td>
<td>Principiantes, desarrollo sin código y proyectos centrados en la web</td>
</tr>
<tr>
<td><a href="https://defold.com/" target="_blank" rel="noreferrer"><strong>Defold</strong></a></td>
<td>Gratis</td>
<td>Excelente (&lt;2 MB con gzip)</td>
<td>Compilaciones web más pequeñas y de carga más rápida</td>
</tr>
<tr>
<td><a href="https://phaser.io/" target="_blank" rel="noreferrer"><strong>Phaser</strong></a></td>
<td>Gratis (MIT)</td>
<td>Nativa (es un framework de JS)</td>
<td>Juegos web basados en código</td>
</tr>
<tr>
<td><a href="https://gdevelop.io/" target="_blank" rel="noreferrer"><strong>GDevelop</strong></a></td>
<td>Gratis; plan prémium desde $2.19/mes</td>
<td>Sí (HTML5)</td>
<td>Desarrollo gratuito sin código</td>
</tr>
<tr>
<td><a href="https://unity.com/" target="_blank" rel="noreferrer"><strong>Unity</strong></a></td>
<td>Personal gratis con ingresos inferiores a $200K; Pro por $2,310/año</td>
<td>Sí (WebGL2)</td>
<td>Gran ecosistema y alcance multiplataforma</td>
</tr>
<tr>
<td><a href="https://love2d.org/" target="_blank" rel="noreferrer"><strong>LÖVE</strong></a></td>
<td>Gratis (código abierto)</td>
<td>Mediante love.js (de terceros)</td>
<td>Prototipado minimalista con Lua</td>
</tr>
</tbody>
</table>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/a_TDD1QhYGg" title="¡Unity frente a Godot y Defold! Comparativa de motores de juegos" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Asatte Games compara directamente tres de los motores que aparecen a continuación.</div>
<h2 id="los-motores" tabindex="-1">Los motores <a class="header-anchor" href="#los-motores" aria-label="Permalink to &quot;Los motores&quot;"></a></h2>
<h3 id="godot" tabindex="-1">Godot <a class="header-anchor" href="#godot" aria-label="Permalink to &quot;Godot&quot;"></a></h3>
<p>El favorito de código abierto y un motor 2D realmente excelente. Godot 4.7 (junio de 2026) cuenta con un renderizador 2D específico, un editor ligero y GDScript, un lenguaje apto para principiantes. Es gratuito bajo la licencia MIT y no cobra regalías. La exportación web funciona bien con WebGL2, aunque solo GDScript puede exportarse al navegador, no C#. Si buscas una única herramienta gratuita que ofrezca un 2D excelente y un 3D competente, esta es la opción predeterminada.</p>
<p><strong>Ideal para:</strong> 2D en general, proyectos de código abierto y pixel art.</p>
<h3 id="gamemaker" tabindex="-1">GameMaker <a class="header-anchor" href="#gamemaker" aria-label="Permalink to &quot;GameMaker&quot;"></a></h3>
<p>El motor detrás de éxitos como Undertale y de una larga lista de juegos 2D comerciales. Utiliza GML, su propio lenguaje de scripting rápido, e incluye exportación a HTML5 incluso en el plan gratuito. Su modelo de precios se ha vuelto más asequible: es gratuito para uso no comercial y ofrece una licencia Pro de pago único por $99.99 para trabajos comerciales, en lugar de una suscripción.</p>
<p><strong>Ideal para:</strong> juegos 2D comerciales que quieras publicar con rapidez y pixel art.</p>
<h3 id="construct" tabindex="-1">Construct <a class="header-anchor" href="#construct" aria-label="Permalink to &quot;Construct&quot;"></a></h3>
<p>Un motor sin código basado en el navegador y en un sistema de eventos. Permite crear juegos visualmente sin programar y, como es nativo de HTML5, su exportación web es excelente. Funciona mediante suscripción: $99 al año por el plan Personal, además de una opción gratuita limitada.</p>
<p><strong>Ideal para:</strong> principiantes, creadores sin conocimientos de programación y juegos 2D centrados en la web.</p>
<h3 id="defold" tabindex="-1">Defold <a class="header-anchor" href="#defold" aria-label="Permalink to &quot;Defold&quot;"></a></h3>
<p>Un motor gratuito creado por antiguos desarrolladores de King que genera compilaciones web sorprendentemente pequeñas, a menudo de menos de 2 MB comprimidas con gzip. Esto lo hace ideal para juegos web casuales y plataformas de minijuegos donde el tiempo de carga lo es todo. Utiliza Lua y su código fuente está disponible bajo la licencia Defold.</p>
<p><strong>Ideal para:</strong> los juegos web más pequeños y de carga más rápida.</p>
<h3 id="phaser" tabindex="-1">Phaser <a class="header-anchor" href="#phaser" aria-label="Permalink to &quot;Phaser&quot;"></a></h3>
<p>El framework de juegos HTML5 más popular, orientado principalmente a la programación. Phaser 4 (publicado en abril de 2026) incorporó un nuevo renderizador WebGL reconstruido desde cero. Es gratuito y de código abierto, permite programar en JavaScript o TypeScript y, como es un framework web, no existe un paso de «exportación»: el juego ya se ejecuta en el navegador.</p>
<p><strong>Ideal para:</strong> desarrolladores que buscan un framework 2D nativo de la web y basado en código.</p>
<h3 id="gdevelop" tabindex="-1">GDevelop <a class="header-anchor" href="#gdevelop" aria-label="Permalink to &quot;GDevelop&quot;"></a></h3>
<p>GDevelop, de código abierto y sin código, es uno de los motores más accesibles para principiantes. Es gratuito y cuenta con un plan prémium opcional desde $2.19 al mes (incluso tras el aumento de precios de enero de 2026), además de permitir exportaciones HTML5 ilimitadas. Es un buen punto intermedio si quieres desarrollar sin código, pero también buscas una herramienta de código abierto.</p>
<p><strong>Ideal para:</strong> desarrollo 2D gratuito sin código.</p>
<h3 id="unity" tabindex="-1">Unity <a class="header-anchor" href="#unity" aria-label="Permalink to &quot;Unity&quot;"></a></h3>
<p>Las herramientas 2D de Unity están muy consolidadas, y su ecosistema y tienda de recursos no tienen rival. Resulta excesivo para un juego 2D pequeño, pero merece su lugar si buscas alcance multiplataforma o tienes pensado dar el salto al 3D. Personal es gratuito con ingresos inferiores a $200K, mientras que Pro cuesta $2,310 al año por puesto. A diferencia de Godot, el código C# de Unity sí puede exportarse a la web.</p>
<p><strong>Ideal para:</strong> equipos que buscan un gran ecosistema o alcance multiplataforma.</p>
<h3 id="love-love2d" tabindex="-1">LÖVE (Love2D) <a class="header-anchor" href="#love-love2d" aria-label="Permalink to &quot;LÖVE (Love2D)&quot;"></a></h3>
<p>Un framework minimalista para Lua, no un editor completo. Escribes código y lo ejecutas. LÖVE 11.5 es la versión estable actual, mientras que la 12.0 se encuentra en desarrollo. La exportación web está disponible mediante love.js, una herramienta de terceros, pero no es una función de primera clase. Elige LÖVE si te encanta programar y quieres reducir al mínimo la abstracción entre tú y el bucle del juego.</p>
<p><strong>Ideal para:</strong> aficionados centrados en la programación y prototipos ligeros.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/ZiBsbBGT9L4" title="Unreal frente a Unity y Godot: ¿cuál es mejor en 2026?" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">InspirationTuts compara los grandes motores para 2026.</div>
<h2 id="como-elegir" tabindex="-1">Cómo elegir <a class="header-anchor" href="#como-elegir" aria-label="Permalink to &quot;Cómo elegir&quot;"></a></h2>
<ul>
<li><strong>No quieres programar:</strong> Construct o GDevelop. Construct si vas a publicar en la web; GDevelop si buscas código abierto.</li>
<li><strong>Quieres la compilación web más pequeña y rápida:</strong> Defold.</li>
<li><strong>Programas y tu plataforma objetivo es la web:</strong> Phaser.</li>
<li><strong>Quieres un único motor gratuito para todo:</strong> Godot.</li>
<li><strong>Vas a publicar un juego 2D comercial:</strong> GameMaker o Unity.</li>
<li><strong>Necesitas el mayor ecosistema o tienes pensado añadir 3D:</strong> Unity.</li>
</ul>
<p>Elijas el que elijas, necesitarás recursos gráficos y de audio. Consulta <a href="/es/guides/game-assets-guide.html">dónde encontrar recursos gratuitos para juegos</a> para descubrir fuentes cuyos contenidos puedes incorporar directamente.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-mejor-motor-de-juegos-2d-en-2026" tabindex="-1">¿Cuál es el mejor motor de juegos 2D en 2026? <a class="header-anchor" href="#¿cual-es-el-mejor-motor-de-juegos-2d-en-2026" aria-label="Permalink to &quot;¿Cuál es el mejor motor de juegos 2D en 2026?&quot;"></a></h3>
<p>Para la mayoría de las personas, Godot es el mejor motor 2D en términos generales: es gratuito, de código abierto y cuenta con un renderizador 2D de primera clase. Si no quieres programar, Construct (centrado en la web) o GDevelop (de código abierto) son mejores opciones. Para juegos 2D comerciales, GameMaker y Unity tienen una trayectoria demostrada. La «mejor» opción depende de si programas y de dónde vayas a publicar el juego.</p>
<h3 id="¿que-motor-de-juegos-2d-es-mejor-para-principiantes" tabindex="-1">¿Qué motor de juegos 2D es mejor para principiantes? <a class="header-anchor" href="#¿que-motor-de-juegos-2d-es-mejor-para-principiantes" aria-label="Permalink to &quot;¿Qué motor de juegos 2D es mejor para principiantes?&quot;"></a></h3>
<p>Construct y GDevelop son los más accesibles para principiantes porque no requieren código: se crea mediante sistemas visuales de eventos en lugar de programar. GDevelop es gratuito y de código abierto; Construct funciona mediante suscripción, pero ofrece la exportación web más sencilla. Si quieres aprender a programar durante el proceso, Godot con GDScript es el más accesible de los motores basados en código.</p>
<h3 id="¿cual-es-el-mejor-motor-de-juegos-2d-gratuito" tabindex="-1">¿Cuál es el mejor motor de juegos 2D gratuito? <a class="header-anchor" href="#¿cual-es-el-mejor-motor-de-juegos-2d-gratuito" aria-label="Permalink to &quot;¿Cuál es el mejor motor de juegos 2D gratuito?&quot;"></a></h3>
<p>Godot es el motor 2D gratuito y de código abierto más potente, sin cuotas ni regalías. GDevelop es la mejor opción gratuita sin código, Defold es gratuito y genera las compilaciones web más pequeñas, y Phaser es un framework gratuito y de código abierto para quienes programan. GameMaker es gratuito para uso no comercial y requiere después una licencia de pago único de $99.99 para proyectos comerciales.</p>
<h3 id="¿que-motor-2d-crea-los-juegos-web-mas-pequenos" tabindex="-1">¿Qué motor 2D crea los juegos web más pequeños? <a class="header-anchor" href="#¿que-motor-2d-crea-los-juegos-web-mas-pequenos" aria-label="Permalink to &quot;¿Qué motor 2D crea los juegos web más pequeños?&quot;"></a></h3>
<p>Defold genera las compilaciones web más pequeñas, con frecuencia de menos de 2 MB comprimidas con gzip. Por eso es popular en plataformas de juegos casuales y minijuegos, donde el tiempo de carga determina si los jugadores se quedan. Phaser y Godot también ofrecen tamaños razonables, pero Defold lidera en tamaño bruto.</p>
<BuildCta
  title="¿No sabes qué motor 2D elegir? Sáltate la decisión"
  desc="Describe un juego 2D y juégalo en aproximadamente un minuto, sin instalar ningún motor."
  prompt="Crea un runner 2D de desplazamiento lateral con estética de neón, monedas y una puntuación máxima" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/vibe-coding-game-prompts.html">100 ideas de prompts para juegos con IA que puedes crear con un clic</a> — toma una idea y conviértela en un juego en aproximadamente un minuto</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Mejores motores de juegos web para 2026 (comparativa)</a> — 2D y 3D, todas las opciones</li>
<li><a href="/es/guides/godot-vs-unity-web-games.html">Godot frente a Unity para juegos web</a> — comparativa directa de los dos grandes motores</li>
<li><a href="/es/guides/construct-vs-gdevelop.html">Construct frente a GDevelop</a> — comparativa de los dos motores 2D sin código</li>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — gráficos y audio para tu juego 2D</li>
<li><a href="/es/tutorials/canvas-2d-game-loop.html">Bucle de juego con Canvas 2D</a> — crea un juego 2D sin ningún motor</li>
<li><a href="/es/engine.html">Cinevva Engine</a> — nuestro motor de código abierto centrado en la web</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/best-2d-game-engines-2026-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Construct vs GDevelop: mejor motor 2D sin código (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/construct-vs-gdevelop</link>
            <guid>https://app.cinevva.com/es/guides/construct-vs-gdevelop</guid>
            <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Construct vs GDevelop en 2026: comparamos dos motores de juegos 2D sin código en precio, exportación web, compatibilidad con 3D, scripting, multijugador y código abierto, con una recomendación para cada tipo de creador.]]></description>
            <content:encoded><![CDATA[<h1 id="construct-vs-gdevelop-mejor-motor-2d-sin-codigo-2026" tabindex="-1">Construct vs GDevelop: mejor motor 2D sin código (2026) <a class="header-anchor" href="#construct-vs-gdevelop-mejor-motor-2d-sin-codigo-2026" aria-label="Permalink to &quot;Construct vs GDevelop: mejor motor 2D sin código (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/construct-vs-gdevelop-hero.jpg?v=2" alt="Construct vs GDevelop, motores de juegos 2D sin código en 2026" style="width:100%;border-radius:10px">
</figure>
<p>Si quieres crear un juego sin escribir código, estas dos opciones lideran el sector. Ambas permiten desarrollar juegos con lógica visual de eventos en lugar de programación y exportar a la web. La gran diferencia está en su filosofía y precio: Construct es un producto pulido por suscripción, mientras que GDevelop es gratuito y de código abierto. Así se comparan en 2026.</p>
<p>Para conocer más opciones, incluidos los motores basados en código, consulta la <a href="/es/guides/web-game-engines-comparison.html">comparativa de motores de juegos web</a> y los <a href="/es/guides/best-2d-game-engines-2026.html">mejores motores de juegos 2D para 2026</a>.</p>
<h2 id="veredicto-rapido" tabindex="-1">Veredicto rápido <a class="header-anchor" href="#veredicto-rapido" aria-label="Permalink to &quot;Veredicto rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Construct</th>
<th>GDevelop</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Modelo</strong></td>
<td>Propietario, por suscripción</td>
<td>Gratuito, de código abierto (MIT)</td>
</tr>
<tr>
<td><strong>Lógica</strong></td>
<td>Hojas de eventos</td>
<td>Sistema de eventos</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>Plan gratuito; Personal por $99/año</td>
<td>Gratis; planes prémium desde $2,19/mes</td>
</tr>
<tr>
<td><strong>Exportación web</strong></td>
<td>Excelente (nativo de HTML5)</td>
<td>Sí (HTML5)</td>
</tr>
<tr>
<td><strong>3D</strong></td>
<td>En expansión (editor 3D en r487, centrado en 2D)</td>
<td>Editor 3D completo en tiempo real (5.6)</td>
</tr>
<tr>
<td><strong>Scripting</strong></td>
<td>JavaScript y TypeScript</td>
<td>Eventos + JavaScript</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Flujo de trabajo pulido y multijugador integrado</td>
<td>Software gratuito y de código abierto, con 3D más avanzado</td>
</tr>
</tbody>
</table>
<h2 id="dos-formas-de-crear-sin-codigo" tabindex="-1">Dos formas de crear sin código <a class="header-anchor" href="#dos-formas-de-crear-sin-codigo" aria-label="Permalink to &quot;Dos formas de crear sin código&quot;"></a></h2>
<p>Ambos motores permiten crear un juego combinando condiciones y acciones visuales, sin necesidad de programar. Construct utiliza «hojas de eventos», un flujo claro similar a una hoja de cálculo, muy valorado por la rapidez con la que permite crear prototipos. GDevelop emplea un sistema de eventos parecido y resulta igual de accesible para principiantes.</p>
<p>La diferencia más importante es esta: <strong>Construct es un producto de pago y código cerrado; GDevelop es gratuito y de código abierto bajo la licencia MIT.</strong> Si el código abierto o no gastar nada son prioridades, eso por sí solo puede decidir la elección.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/MDlP01bwczo" title="Por qué cambié Construct 3 por GDevelop" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">La perspectiva de un creador sobre el cambio de Construct a GDevelop.</div>
<h2 id="precios" tabindex="-1">Precios <a class="header-anchor" href="#precios" aria-label="Permalink to &quot;Precios&quot;"></a></h2>
<p>Construct 3 funciona mediante suscripción. Ofrece una edición gratuita limitada y el plan Personal cuesta $99 al año, con planes superiores para educación y empresas. Pagas por un producto pulido y en desarrollo activo.</p>
<p>El motor de GDevelop es gratuito y de código abierto. Los planes prémium opcionales ($2,19 Silver, $4,39 Gold y $23,99 Pro al mes) añaden compilaciones en la nube y servicios en línea, pero puedes crear y exportar juegos de forma totalmente gratuita. Los precios aumentaron un 20 % para los nuevos suscriptores en enero de 2026.</p>
<p>Para aficionados o personas con un presupuesto ajustado, es difícil competir con el plan gratuito de GDevelop. Para un estudio que busca una herramienta comercial refinada, la suscripción de Construct es razonable.</p>
<h2 id="_3d-scripting-y-multijugador" tabindex="-1">3D, scripting y multijugador <a class="header-anchor" href="#_3d-scripting-y-multijugador" aria-label="Permalink to &quot;3D, scripting y multijugador&quot;"></a></h2>
<p><strong>3D:</strong> GDevelop tomó la delantera en este aspecto. Su versión 5.6 (diciembre de 2025) incorporó un editor 3D completo en tiempo real con físicas basadas en Jolt, sombras, modelos animados, partículas 3D y comportamientos prediseñados para personajes y vehículos. Las actualizaciones posteriores de la versión 5.6 añadieron luces puntuales y focos 3D. Construct está recortando distancias: la versión estable r487 (mayo de 2026) añadió un modo de edición 3D con controles de transformación y un comportamiento de proyectil 3D, además de su cámara 3D y compatibilidad con modelos glTF. Es un avance importante, pero sigue siendo una capa añadida sobre un motor esencialmente 2D.</p>
<p><strong>Scripting:</strong> cuando el sistema de eventos se te queda corto, ambos permiten recurrir al código. Construct admite JavaScript y TypeScript junto con las hojas de eventos. GDevelop admite JavaScript mediante sus eventos y extensiones. En ambos casos, la vía sin código sigue siendo la principal.</p>
<p><strong>Multijugador:</strong> Construct incluye un objeto Multiplayer basado en canales de datos WebRTC para juegos entre pares. GDevelop ofrece multijugador integrado basado en salas mediante sus servicios en línea; el plan gratuito está limitado a una sala de 4 jugadores y los planes de pago elevan el límite a 8.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/Jjsfk-vzlWQ" title="Construct 3 da oficialmente el salto al 3D" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">FoozleCC analiza el salto de Construct al 3D.</div>
<h2 id="cuando-elegir-cada-uno" tabindex="-1">Cuándo elegir cada uno <a class="header-anchor" href="#cuando-elegir-cada-uno" aria-label="Permalink to &quot;Cuándo elegir cada uno&quot;"></a></h2>
<p>Elige <strong>GDevelop</strong> si buscas software gratuito y de código abierto, exportación multiplataforma y el editor 3D en tiempo real más completo. Es la mejor opción para aficionados, estudiantes y cualquiera que quiera tener control sobre sus herramientas.</p>
<p>Elige <strong>Construct</strong> si buscas el flujo de trabajo con hojas de eventos más pulido, una exportación HTML5 madura y fiable y multijugador WebRTC integrado, y no te importa pagar una suscripción por un producto comercial refinado.</p>
<p>Elijas el que elijas, necesitarás recursos gráficos y de audio. Consulta <a href="/es/guides/game-assets-guide.html">dónde encontrar recursos gratuitos para juegos</a> para descubrir fuentes que puedes usar de inmediato.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿construct-o-gdevelop-es-mejor-para-principiantes" tabindex="-1">¿Construct o GDevelop es mejor para principiantes? <a class="header-anchor" href="#¿construct-o-gdevelop-es-mejor-para-principiantes" aria-label="Permalink to &quot;¿Construct o GDevelop es mejor para principiantes?&quot;"></a></h3>
<p>Ambos están diseñados para principiantes y utilizan lógica visual de eventos sin necesidad de programar. GDevelop gana en precio —es gratuito y de código abierto— y ahora cuenta con un editor 3D más potente. Construct destaca por su flujo de trabajo pulido y su multijugador integrado. Si el presupuesto es importante, empieza con GDevelop. Si quieres el flujo de eventos 2D más refinado, prueba primero la edición gratuita de Construct.</p>
<h3 id="¿gdevelop-es-realmente-gratuito" tabindex="-1">¿GDevelop es realmente gratuito? <a class="header-anchor" href="#¿gdevelop-es-realmente-gratuito" aria-label="Permalink to &quot;¿GDevelop es realmente gratuito?&quot;"></a></h3>
<p>Sí. El motor GDevelop es gratuito y de código abierto bajo la licencia MIT, y puedes crear y exportar juegos HTML5 sin coste alguno. Los planes prémium opcionales (desde unos $2,19 al mes) añaden compilaciones en la nube y servicios en línea, pero no son necesarios para crear y publicar un juego.</p>
<h3 id="¿construct-y-gdevelop-pueden-crear-juegos-3d" tabindex="-1">¿Construct y GDevelop pueden crear juegos 3D? <a class="header-anchor" href="#¿construct-y-gdevelop-pueden-crear-juegos-3d" aria-label="Permalink to &quot;¿Construct y GDevelop pueden crear juegos 3D?&quot;"></a></h3>
<p>Ambos ofrecen funciones 3D, pero GDevelop está más avanzado. GDevelop 5.6 (diciembre de 2025) añadió un editor 3D completo en tiempo real con físicas, sombras y modelos animados. Construct incorporó su propio modo de edición 3D en r487 (mayo de 2026), además de su cámara 3D y compatibilidad con modelos glTF, pero sigue siendo principalmente un motor 2D. Para proyectos con mayor énfasis en el 3D, GDevelop continúa siendo la opción sin código más potente.</p>
<h3 id="¿construct-y-gdevelop-permiten-exportar-a-la-web" tabindex="-1">¿Construct y GDevelop permiten exportar a la web? <a class="header-anchor" href="#¿construct-y-gdevelop-permiten-exportar-a-la-web" aria-label="Permalink to &quot;¿Construct y GDevelop permiten exportar a la web?&quot;"></a></h3>
<p>Sí, ambos exportan juegos HTML5 que se ejecutan en el navegador. Construct es nativo de HTML5 y ofrece una exportación web madura y fiable. GDevelop permite exportar compilaciones HTML5 ilimitadas, incluso de forma local y gratuita. Ambos son opciones sólidas para juegos de navegador.</p>
<BuildCta
  title="Crear sin código está muy bien. Crear sin motor es más rápido"
  desc="Describe el juego en lugar de configurar hojas de eventos."
  prompt="Crea un laberinto con vista cenital donde un fantasma me persiga y yo recoja llaves" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/best-2d-game-engines-2026.html">Mejores motores de juegos 2D para 2026</a> — todas las opciones 2D, con y sin código</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Mejores motores de juegos web para 2026 (comparativa)</a> — 2D y 3D</li>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — arte y audio para tu juego</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo publicar tu juego en itch.io</a> — presenta tu juego a los jugadores</li>
<li><a href="/es/engine.html">Cinevva</a> — crea juegos con herramientas basadas en IA y orientadas a la web</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/construct-vs-gdevelop-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Godot vs Unity para juegos web (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/godot-vs-unity-web-games</link>
            <guid>https://app.cinevva.com/es/guides/godot-vs-unity-web-games</guid>
            <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Godot vs Unity para juegos de navegador en 2026: tamaño de compilación, WebGL2 frente a WebGPU, la limitación de exportación web con C#, compatibilidad con iOS y precios, con una recomendación clara para cada tipo de juego web.]]></description>
            <content:encoded><![CDATA[<h1 id="godot-vs-unity-para-juegos-web-2026" tabindex="-1">Godot vs Unity para juegos web (2026) <a class="header-anchor" href="#godot-vs-unity-para-juegos-web-2026" aria-label="Permalink to &quot;Godot vs Unity para juegos web (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/godot-vs-unity-web-hero.jpg?v=2" alt="Godot vs Unity para juegos web en 2026" style="width:100%;border-radius:10px">
</figure>
<p>Tanto Godot como Unity permiten publicar un juego en el navegador. Sin embargo, llegan hasta ahí de formas muy distintas y, específicamente para la web, la diferencia entre ambos es más marcada de lo que sugiere el debate general sobre «Godot vs Unity». Esta guía los compara en los aspectos que realmente determinan una compilación web: tamaño de descarga, renderizado, compatibilidad con lenguajes, navegadores móviles y coste.</p>
<p>Si quieres una visión más amplia de todos los motores para navegador, empieza por nuestra <a href="/es/guides/web-game-engines-comparison.html">comparativa de motores para juegos web</a>. Esta página se centra en las dos grandes opciones de motores completos.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/84Prr0SOMvk" title="Unity o Godot en 2025: ¿qué motor de juegos es el adecuado para ti?" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Gamefromscratch explica para qué casos encaja mejor cada motor. A continuación tienes la versión resumida para la web.</div>
<h2 id="veredicto-rapido" tabindex="-1">Veredicto rápido <a class="header-anchor" href="#veredicto-rapido" aria-label="Permalink to &quot;Veredicto rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Godot</th>
<th>Unity</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tamaño de compilación web (vacía)</strong></td>
<td>~5 MB con Brotli, ~9 MB con gzip</td>
<td>~7,7 MB en 2D, ~10,7 MB en 3D, ~2 MB con eliminación de código (Brotli)</td>
</tr>
<tr>
<td><strong>Lenguaje para web</strong></td>
<td>Solo GDScript (C# aún no puede exportarse a la web)</td>
<td>C# (funciona en la web)</td>
</tr>
<tr>
<td><strong>Renderizado web</strong></td>
<td>WebGL2 (renderizador Compatibility)</td>
<td>WebGL2, además de WebGPU experimental</td>
</tr>
<tr>
<td><strong>iOS/Safari</strong></td>
<td>Buena compatibilidad con exportación de un solo hilo (4.3+)</td>
<td>Web móvil desde Unity 6</td>
</tr>
<tr>
<td><strong>Coste</strong></td>
<td>Gratis, licencia MIT, sin comisiones nunca</td>
<td>Personal gratis por debajo de $200 000; Pro, $2310/año/puesto</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Juegos web 2D y 3D ligeros, gratuitos y de poco peso</td>
<td>3D más exigente, equipos que usan C# y un gran ecosistema de recursos</td>
</tr>
</tbody>
</table>
<p>El principal factor decisivo es este: <strong>si tu juego está escrito en C#, Unity puede publicarlo en la web y Godot todavía no.</strong> Todo lo demás parte de ahí.</p>
<h2 id="tamano-de-compilacion-y-tiempo-de-carga" tabindex="-1">Tamaño de compilación y tiempo de carga <a class="header-anchor" href="#tamano-de-compilacion-y-tiempo-de-carga" aria-label="Permalink to &quot;Tamaño de compilación y tiempo de carga&quot;"></a></h2>
<p>El tamaño de descarga es lo primero que percibe un jugador en la web. La exportación web de Godot incluye el motor como un binario WebAssembly que se comprime hasta aproximadamente 5 MB con Brotli o unos 9 MB con gzip. El tamaño se debe a que la plantilla precompilada incluye el motor completo —renderizador 3D, audio y redes— porque no puede saber qué funciones utiliza tu juego.</p>
<p>Las compilaciones web vacías de Unity, medidas en Unity 6 con Brotli, rondan los 7,7 MB para un proyecto 2D con el pipeline integrado y los 10,7 MB para una plantilla 3D con URP. Una compilación mínima con una eliminación de código agresiva puede bajar hasta cerca de 2 MB. Por tanto, una compilación 2D de Unity cuidadosamente optimizada puede acercarse al tamaño de Godot, pero la configuración predeterminada de Godot es más pequeña y requiere menos esfuerzo.</p>
<p>En ambos motores, tus recursos suelen ocupar mucho más que el binario del motor. Comprime las texturas y el audio, carga progresivamente todo lo que puedas y la elección del motor importará menos que el presupuesto de recursos.</p>
<h2 id="la-limitacion-de-c-lee-esto-antes-de-elegir" tabindex="-1">La limitación de C# (lee esto antes de elegir) <a class="header-anchor" href="#la-limitacion-de-c-lee-esto-antes-de-elegir" aria-label="Permalink to &quot;La limitación de C# (lee esto antes de elegir)&quot;"></a></h2>
<p>Este es el detalle que suele tomar por sorpresa a los equipos. En 2026, <strong>los proyectos de Godot escritos en C# (.NET) no pueden exportarse oficialmente a la web.</strong> GDScript se exporta sin problemas. En la GodotCon de Boston de mayo de 2025 se mostró un prototipo web funcional con C# mediante la vinculación estática de Mono, pero generaba una descarga de gran tamaño y el equipo no quiso comprometerse con una fecha de lanzamiento.</p>
<p>Unity, por el contrario, compila C# a WebAssembly y lleva años publicando C# en el navegador. Por eso, si ya tienes una base de código en C# o tu equipo solo conoce C#, Unity es la opción práctica para la web. Si empiezas desde cero y te sientes cómodo con GDScript, la vía web de Godot es sencilla.</p>
<h2 id="renderizado-webgl2-frente-a-webgpu" tabindex="-1">Renderizado: WebGL2 frente a WebGPU <a class="header-anchor" href="#renderizado-webgl2-frente-a-webgpu" aria-label="Permalink to &quot;Renderizado: WebGL2 frente a WebGPU&quot;"></a></h2>
<p>La exportación web de Godot usa WebGL2 mediante su renderizador Compatibility. Su trabajo más amplio con WebGPU aún no está listo para exportaciones web en producción. Godot 4.7 (junio de 2026, seguido de 4.7.1 en julio de 2026) incluye SIMD para WebAssembly de forma predeterminada y añadió una opción de exportación wasm64, lo que mejora el rendimiento web sin modificar el código.</p>
<p>Unity 6 añadió un backend experimental de WebGPU que permite usar shaders de cómputo y funciones modernas de GPU más allá de WebGL2, que sigue siendo la alternativa segura. WebGPU todavía no está disponible en todos los navegadores (consulta nuestra <a href="/es/guides/web-games-stack-2026.html">guía de la pila tecnológica para juegos web</a> para ver la compatibilidad actual), así que considéralo una vía de mejora, no una base mínima. Unity 6 también aumentó a 4 GB el montón de WebAssembly y añadió SIMD para Wasm y excepciones nativas.</p>
<p>Si hoy necesitas shaders de cómputo o gráficos 3D más exigentes en el navegador, la vía WebGPU de Unity va por delante. Para 2D y 3D ligero con WebGL2, ambos funcionan bien.</p>
<h2 id="hilos-ios-y-problemas-de-alojamiento" tabindex="-1">Hilos, iOS y problemas de alojamiento <a class="header-anchor" href="#hilos-ios-y-problemas-de-alojamiento" aria-label="Permalink to &quot;Hilos, iOS y problemas de alojamiento&quot;"></a></h2>
<p>Godot 4 requería originalmente SharedArrayBuffer, que los navegadores solo exponen cuando la página tiene aislamiento entre orígenes (las cabeceras COOP y COEP). Esto complica el alojamiento y, en itch.io, solo funciona en Chrome. Desde Godot 4.3 puedes exportar compilaciones de un solo hilo que eliminan por completo este requisito; ese cambio también solucionó los antiguos problemas de reproducción en iOS y Safari. Para un juego de Godot pensado principalmente para la web, la exportación de un solo hilo suele ser la opción predeterminada más segura.</p>
<p>Las compilaciones web de Unity también usan WebAssembly y son compatibles con la web móvil desde Unity 6. Si quieres llegar a una amplia variedad de navegadores móviles, prueba pronto ambos motores en dispositivos reales, porque ahí es donde las compilaciones web suelen fallar primero.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/WB7v-ezqcJM" title="Creé el mismo juego en Unity y Godot: ¿qué motor es mejor?" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Thomas Grové crea el mismo juego con ambos motores, una comparación útil para hacerse una idea del flujo de trabajo cotidiano.</div>
<h2 id="precios" tabindex="-1">Precios <a class="header-anchor" href="#precios" aria-label="Permalink to &quot;Precios&quot;"></a></h2>
<p>Godot es gratuito bajo la licencia MIT. Sin puestos, regalías, límites de ingresos ni comisiones, nunca.</p>
<p>Unity volvió a las suscripciones por puesto después de cancelar la Runtime Fee en septiembre de 2024 (y no ha regresado). Unity Personal sigue siendo gratuito hasta alcanzar $200 000 en ingresos o financiación, y la pantalla «Made with Unity» pasó a ser opcional en Unity 6. Unity Pro cuesta $2310 por puesto al año desde el aumento aproximado del 5 % en los planes de pago que entró en vigor a principios de 2026. Para un desarrollador independiente o un equipo pequeño que no supere el límite, publicar con cualquiera de los dos motores es, en la práctica, gratis.</p>
<h2 id="cuando-elegir-cada-uno" tabindex="-1">Cuándo elegir cada uno <a class="header-anchor" href="#cuando-elegir-cada-uno" aria-label="Permalink to &quot;Cuándo elegir cada uno&quot;"></a></h2>
<p>Elige <strong>Godot</strong> para la web si quieres un juego de navegador 2D o 3D ligero, gratuito y de poco peso, con buena compatibilidad con iOS y Safari mediante la exportación de un solo hilo, y te sientes cómodo programando en GDScript.</p>
<p>Elige <strong>Unity</strong> para la web si necesitas 3D más exigente o shaders de cómputo mediante WebGPU, quieres un ecosistema de recursos más amplio o tu equipo trabaja con C#, y puedes aceptar compilaciones más grandes y las limitaciones de una implementación experimental de WebGPU.</p>
<p>En cualquier caso, tu compilación debe cargar rápido y funcionar en un teléfono. Cuando hayas elegido, consulta <a href="/es/tutorials/ship-web-game-fast.html">cómo publicar un juego web que cargue rápido</a>.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿puede-godot-exportar-juegos-en-c-a-la-web" tabindex="-1">¿Puede Godot exportar juegos en C# a la web? <a class="header-anchor" href="#¿puede-godot-exportar-juegos-en-c-a-la-web" aria-label="Permalink to &quot;¿Puede Godot exportar juegos en C# a la web?&quot;"></a></h3>
<p>No oficialmente, en 2026. La exportación web de Godot funciona con GDScript, pero los proyectos en C# (.NET) todavía no pueden exportarse al navegador. En la GodotCon de Boston de mayo de 2025 se mostró un prototipo, pero no hay una fecha de lanzamiento confirmada. Si necesitas C# en la web, Unity es actualmente el único de los dos que permite publicarlo.</p>
<h3 id="¿godot-o-unity-genera-compilaciones-web-mas-pequenas" tabindex="-1">¿Godot o Unity genera compilaciones web más pequeñas? <a class="header-anchor" href="#¿godot-o-unity-genera-compilaciones-web-mas-pequenas" aria-label="Permalink to &quot;¿Godot o Unity genera compilaciones web más pequeñas?&quot;"></a></h3>
<p>La compilación web vacía de Godot ocupa alrededor de 5 MB comprimida con Brotli. Las compilaciones vacías de Unity 6 rondan los 7,7 MB en 2D y los 10,7 MB en 3D, aunque una compilación de Unity con una eliminación de código agresiva puede llegar aproximadamente a 2 MB. Godot es más pequeño de forma predeterminada, pero una compilación 2D de Unity bien optimizada puede acercarse. Tus propios recursos suelen importar más que el binario del motor.</p>
<h3 id="¿unity-es-compatible-con-webgpu-en-el-navegador" tabindex="-1">¿Unity es compatible con WebGPU en el navegador? <a class="header-anchor" href="#¿unity-es-compatible-con-webgpu-en-el-navegador" aria-label="Permalink to &quot;¿Unity es compatible con WebGPU en el navegador?&quot;"></a></h3>
<p>Sí. Unity 6 añadió un backend experimental de WebGPU con shaders de cómputo y funciones modernas de GPU, con WebGL2 como alternativa. Está marcado como experimental y no es compatible con todos los navegadores, así que publica WebGL2 como base y trata WebGPU como una mejora.</p>
<h3 id="¿cual-es-mejor-para-juegos-de-navegador-godot-o-unity" tabindex="-1">¿Cuál es mejor para juegos de navegador, Godot o Unity? <a class="header-anchor" href="#¿cual-es-mejor-para-juegos-de-navegador-godot-o-unity" aria-label="Permalink to &quot;¿Cuál es mejor para juegos de navegador, Godot o Unity?&quot;"></a></h3>
<p>Para juegos 2D o 3D ligeros, gratuitos y con buena compatibilidad con iOS, Godot ofrece la vía web más sencilla, siempre que uses GDScript. Para 3D más exigente, shaders de cómputo, un ecosistema más amplio o una base de código existente en C#, Unity gana en la web. La cuestión de C# suele ser decisiva.</p>
<BuildCta
  title="Crea un prototipo en el navegador antes de elegir"
  desc="Prueba primero tu idea como juego web jugable y luego comprométete con un motor."
  prompt="Crea un juego de recolección de monedas en tercera persona sobre islas flotantes" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/vibe-coding-game-prompts.html">100 ideas de prompts de IA para crear juegos con un solo clic</a> — toma una idea y conviértela en un juego en aproximadamente un minuto</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Los mejores motores para juegos web de 2026 (comparativa)</a> — todas las opciones, más allá de estos dos</li>
<li><a href="/es/guides/unity-alternatives-web-games.html">Alternativas a Unity para juegos web</a> — todas las opciones compatibles con la web, según el motivo por el que dejas Unity</li>
<li><a href="/es/guides/best-2d-game-engines-2026.html">Los mejores motores para juegos 2D de 2026</a> — si tu juego es 2D, empieza aquí</li>
<li><a href="/es/guides/web-games-stack-2026.html">Pila tecnológica para juegos web en 2026</a> — explicación de WebGL, WebGPU y Wasm</li>
<li><a href="/es/tutorials/ship-web-game-fast.html">Publica un juego web que cargue rápido</a> — técnicas para reducir el tamaño de compilación y el tiempo de carga</li>
<li><a href="/es/engine.html">Cinevva Engine</a> — nuestro motor de código abierto, diseñado primero para la web y basado en Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/godot-vs-unity-web-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[PlayCanvas vs Three.js: comparativa de 3D web (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/playcanvas-vs-threejs</link>
            <guid>https://app.cinevva.com/es/guides/playcanvas-vs-threejs</guid>
            <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[PlayCanvas frente a Three.js para 3D en la web: un motor completo con editor visual frente a una biblioteca de renderizado, además de compatibilidad con WebGPU, sistemas integrados, precios y cuándo elegir cada uno.]]></description>
            <content:encoded><![CDATA[<h1 id="playcanvas-vs-three-js-comparativa-de-3d-web-2026" tabindex="-1">PlayCanvas vs Three.js: comparativa de 3D web (2026) <a class="header-anchor" href="#playcanvas-vs-three-js-comparativa-de-3d-web-2026" aria-label="Permalink to &quot;PlayCanvas vs Three.js: comparativa de 3D web (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/playcanvas-vs-threejs-hero.jpg?v=2" alt="PlayCanvas frente a Three.js para 3D web en 2026" style="width:100%;border-radius:10px">
</figure>
<p>A menudo se presentan estas dos opciones como rivales, pero no son el mismo tipo de herramienta. PlayCanvas es un motor de juegos completo con un editor visual. Three.js es una biblioteca de renderizado sobre la que se construye mediante código. Elegir entre ambas depende realmente de cuánto quieres recibir ya hecho y cuánto quieres controlar. Esta es la comparativa para 3D web en 2026.</p>
<p>Para conocer el panorama general, consulta nuestra <a href="/es/guides/web-game-engines-comparison.html">comparativa de motores de juegos web</a>.</p>
<h2 id="veredicto-rapido" tabindex="-1">Veredicto rápido <a class="header-anchor" href="#veredicto-rapido" aria-label="Permalink to &quot;Veredicto rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>PlayCanvas</th>
<th>Three.js</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Qué es</strong></td>
<td>Motor completo + editor en la nube</td>
<td>Biblioteca de renderizado (sin editor)</td>
</tr>
<tr>
<td><strong>Flujo de trabajo</strong></td>
<td>Editor visual y colaboración en tiempo real</td>
<td>Solo código</td>
</tr>
<tr>
<td><strong>Renderizado</strong></td>
<td>WebGL2 + WebGPU</td>
<td>WebGL2 + WebGPU (WebGPURenderer)</td>
</tr>
<tr>
<td><strong>Sistemas integrados</strong></td>
<td>ECS, físicas, animación, audio y entrada</td>
<td>Solo renderizador; tú añades el resto</td>
</tr>
<tr>
<td><strong>Licencia/coste</strong></td>
<td>Motor MIT; editor desde gratis hasta 50 USD por usuario al mes</td>
<td>MIT, gratis</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Equipos que buscan un motor listo para usar + editor</td>
<td>Proyectos personalizados, centrados en código y con máximo control</td>
</tr>
</tbody>
</table>
<h2 id="motor-frente-a-biblioteca" tabindex="-1">Motor frente a biblioteca <a class="header-anchor" href="#motor-frente-a-biblioteca" aria-label="Permalink to &quot;Motor frente a biblioteca&quot;"></a></h2>
<p>Esta es toda la historia resumida en una frase. <strong>PlayCanvas te proporciona un motor de juegos</strong>: un sistema de entidades y componentes, físicas, animación, audio, entrada y un pipeline de recursos, todo integrado, además de un editor basado en navegador donde un equipo puede crear conjuntamente una escena en tiempo real (piensa en edición colaborativa, como una herramienta de diseño para 3D).</p>
<p><strong>Three.js te proporciona un renderizador.</strong> Grafo de escena, cámaras, luces, materiales y un renderizador WebGL/WebGPU rápido. No incluye editor, físicas ni impone una forma de crear el bucle de juego. Añades físicas con algo como Rapier o cannon-es, estructuras tu propia lógica de juego y creas las herramientas que necesites. Eso ofrece libertad, pero también supone más trabajo.</p>
<p>Así que la verdadera pregunta no es «cuál es mejor», sino «¿quiero un motor o un renderizador?».</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/-0envvPmj5k" title="El motor de juegos PlayCanvas se convierte en código abierto" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Gamefromscratch habla sobre la transición de PlayCanvas al código abierto.</div>
<h2 id="renderizado-y-webgpu" tabindex="-1">Renderizado y WebGPU <a class="header-anchor" href="#renderizado-y-webgpu" aria-label="Permalink to &quot;Renderizado y WebGPU&quot;"></a></h2>
<p>Ambos están al día en lo relativo a la GPU. PlayCanvas funciona con backends duales para WebGL2 y WebGPU. Su versión 2.0 (agosto de 2024) abandonó por completo WebGL1, y las versiones recientes del motor añadieron una ruta WebGPU basada en cómputo para splats gaussianos 3D. Three.js lanzó un WebGPURenderer listo para producción alrededor de r171 (septiembre de 2025), con una configuración prácticamente nula y un fallback automático a WebGL2, además de TSL (Three.js Shading Language), que permite escribir los shaders una sola vez y usarlos con ambos backends.</p>
<p>En 2026, cualquiera de los dos ofrecerá un renderizado excelente para la mayoría de los proyectos. WebGPU es la vía de mejora en ambos, mientras que WebGL2 sigue siendo la base segura. Consulta nuestra <a href="/es/guides/web-games-stack-2026.html">guía del stack tecnológico para juegos web</a> para conocer la compatibilidad actual de los navegadores.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/7we9mqIOKyw" title="Adoptando WebGPU y WebXR con Three.js - Mr.doob, JSNation 2024" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">El creador de Three.js, Mr.doob, explica hacia dónde están llevando WebGPU y WebXR a la biblioteca.</div>
<h2 id="flujo-de-trabajo-licencia-y-coste" tabindex="-1">Flujo de trabajo, licencia y coste <a class="header-anchor" href="#flujo-de-trabajo-licencia-y-coste" aria-label="Permalink to &quot;Flujo de trabajo, licencia y coste&quot;"></a></h2>
<p>El editor de PlayCanvas es su característica estrella: un editor de escenas alojado y colaborativo con un pipeline de recursos. El motor es de código abierto bajo la licencia MIT, y el frontend del editor también se convirtió en código abierto en 2025. El editor alojado ofrece varios niveles: un plan gratuito, un plan Personal de unos 15 USD al mes y un plan Organization de unos 50 USD por usuario al mes. Las diferencias se centran principalmente en el almacenamiento y los límites de proyectos privados.</p>
<p>Three.js tiene licencia MIT y es gratis, sin más. No hay que pagar por un editor porque no existe ninguno. Tu «coste» es el tiempo de ingeniería necesario para crear la estructura que PlayCanvas te entrega ya hecha.</p>
<h2 id="cuando-elegir-cada-uno" tabindex="-1">Cuándo elegir cada uno <a class="header-anchor" href="#cuando-elegir-cada-uno" aria-label="Permalink to &quot;Cuándo elegir cada uno&quot;"></a></h2>
<p>Elige <strong>PlayCanvas</strong> cuando quieras un motor completo y un editor visual listos para usar, tu equipo necesite colaborar en escenas y prefieras configurar en lugar de construir desde cero. Es especialmente potente para configuradores de productos, experiencias 3D interactivas y equipos que necesitan publicar con rapidez.</p>
<p>Elige <strong>Three.js</strong> cuando quieras tener un control total sobre el renderizado y la arquitectura, te resulte cómodo montar tu propio stack o estés creando algo a medida en lo que las decisiones impuestas por un motor podrían estorbar. También cuenta con el ecosistema más amplio y es la habilidad de 3D web más demandada. Creamos <a href="/es/engine.html">Cinevva Engine</a> sobre Three.js precisamente por eso: prioriza la web, es abierto y no impone límites a lo que podemos personalizar.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿es-mejor-playcanvas-o-three-js-para-los-juegos-web" tabindex="-1">¿Es mejor PlayCanvas o Three.js para los juegos web? <a class="header-anchor" href="#¿es-mejor-playcanvas-o-three-js-para-los-juegos-web" aria-label="Permalink to &quot;¿Es mejor PlayCanvas o Three.js para los juegos web?&quot;"></a></h3>
<p>Ninguno es estrictamente mejor; son herramientas diferentes. PlayCanvas es un motor completo con un editor visual, por lo que permite publicar más rápido un juego estructurado o una aplicación interactiva, especialmente en equipo. Three.js es una biblioteca de renderizado que ofrece un control total, pero espera que crees por tu cuenta los sistemas del juego. Elige PlayCanvas si buscas una solución lista para usar y Three.js si quieres algo personalizado.</p>
<h3 id="¿es-three-js-un-motor-de-juegos" tabindex="-1">¿Es Three.js un motor de juegos? <a class="header-anchor" href="#¿es-three-js-un-motor-de-juegos" aria-label="Permalink to &quot;¿Es Three.js un motor de juegos?&quot;"></a></h3>
<p>No. Three.js es una biblioteca de renderizado 3D. Gestiona el grafo de escena, las cámaras, las luces, los materiales y el renderizado mediante WebGL2 o WebGPU, pero no incluye físicas, audio, entrada ni un bucle de juego integrados. Puedes añadirlos con otras bibliotecas (como Rapier para las físicas) o crearlos tú mismo. PlayCanvas, en cambio, es un motor completo.</p>
<h3 id="¿playcanvas-y-three-js-son-compatibles-con-webgpu" tabindex="-1">¿PlayCanvas y Three.js son compatibles con WebGPU? <a class="header-anchor" href="#¿playcanvas-y-three-js-son-compatibles-con-webgpu" aria-label="Permalink to &quot;¿PlayCanvas y Three.js son compatibles con WebGPU?&quot;"></a></h3>
<p>Sí, ambos lo son en 2026. PlayCanvas utiliza backends duales para WebGL2 y WebGPU. Three.js cuenta con un WebGPURenderer listo para producción (estable desde aproximadamente r171), con fallback automático a WebGL2 y TSL para crear shaders compatibles con ambos destinos. Publica usando WebGL2 como base y considera WebGPU como una mejora de rendimiento.</p>
<h3 id="¿playcanvas-es-gratis" tabindex="-1">¿PlayCanvas es gratis? <a class="header-anchor" href="#¿playcanvas-es-gratis" aria-label="Permalink to &quot;¿PlayCanvas es gratis?&quot;"></a></h3>
<p>El motor PlayCanvas es gratuito y de código abierto bajo la licencia MIT, y el frontend del editor se convirtió en código abierto en 2025. El editor alojado en la nube ofrece un nivel gratuito y planes de pago (unos 15 USD al mes para Personal y 50 USD por usuario al mes para Organization), que principalmente añaden almacenamiento y proyectos privados. Three.js es completamente gratuito y no tiene ningún editor por el que pagar.</p>
<BuildCta
  title="¿Quieres el resultado 3D sin tener que recorrer todo el motor?"
  desc="Describe la escena y obtén algo jugable, no un proyecto con código repetitivo."
  prompt="Crea una pista de carreras de canicas 3D con loopings y un cronómetro" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/web-game-engines-comparison.html">Los mejores motores de juegos web para 2026 (comparativa)</a> — el panorama completo</li>
<li><a href="/es/guides/threejs-vs-babylonjs.html">Three.js frente a Babylon.js</a> — si has reducido las opciones a bibliotecas de 3D web</li>
<li><a href="/es/guides/godot-vs-unity-web-games.html">Godot frente a Unity para juegos web</a> — motores completos en lugar de bibliotecas</li>
<li><a href="/es/guides/web-games-stack-2026.html">Stack tecnológico para juegos web en 2026</a> — WebGL, WebGPU y Wasm</li>
<li><a href="/es/engine.html">Cinevva Engine</a> — nuestro motor de código abierto creado sobre Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/playcanvas-vs-threejs-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Three.js vs Babylon.js: qué biblioteca 3D web elegir (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/threejs-vs-babylonjs</link>
            <guid>https://app.cinevva.com/es/guides/threejs-vs-babylonjs</guid>
            <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Three.js frente a Babylon.js en 2026: renderizador minimalista frente a motor completo, compatibilidad con WebGPU y WGSL, herramientas integradas, tamaño del paquete, TypeScript y cuándo elegir cada uno para 3D web.]]></description>
            <content:encoded><![CDATA[<h1 id="three-js-vs-babylon-js-que-biblioteca-3d-web-elegir-2026" tabindex="-1">Three.js vs Babylon.js: qué biblioteca 3D web elegir (2026) <a class="header-anchor" href="#three-js-vs-babylon-js-que-biblioteca-3d-web-elegir-2026" aria-label="Permalink to &quot;Three.js vs Babylon.js: qué biblioteca 3D web elegir (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/threejs-vs-babylonjs-hero.jpg?v=2" alt="Three.js frente a Babylon.js para 3D web en 2026" style="width:100%;border-radius:10px">
</figure>
<p>Estos son los dos pesos pesados del 3D web, y la elección entre ellos se reduce a una cuestión de filosofía. Three.js es un renderizador ligero que puedes ampliar. Babylon.js es un motor completo que ya incluye las herramientas necesarias. Ambos son excelentes, ambos son gratuitos y ambos admiten WebGPU en 2026. Aquí tienes cómo elegir.</p>
<p>Si buscas motores 2D o motores de juegos completos, consulta la <a href="/es/guides/web-game-engines-comparison.html">comparativa de motores de juegos web</a>.</p>
<h2 id="veredicto-rapido" tabindex="-1">Veredicto rápido <a class="header-anchor" href="#veredicto-rapido" aria-label="Permalink to &quot;Veredicto rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Three.js</th>
<th>Babylon.js</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Enfoque</strong></td>
<td>Renderizador/biblioteca minimalista</td>
<td>Motor/framework completo</td>
</tr>
<tr>
<td><strong>Lenguaje</strong></td>
<td>JavaScript (con definiciones de tipos)</td>
<td>TypeScript como prioridad</td>
</tr>
<tr>
<td><strong>Herramientas integradas</strong></td>
<td>Renderizador; complementos para el resto</td>
<td>Física, GUI, Inspector, Playground y NME</td>
</tr>
<tr>
<td><strong>WebGPU</strong></td>
<td>WebGPURenderer + TSL</td>
<td>Núcleo GLSL + WGSL (8.0)</td>
</tr>
<tr>
<td><strong>Paquete</strong></td>
<td>Núcleo más pequeño y compatible con tree shaking</td>
<td>Más grande, pero modular</td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>MIT</td>
<td>Apache 2.0</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Proyectos personalizados y ligeros; el mayor ecosistema</td>
<td>Una solución completa con herramientas potentes</td>
</tr>
</tbody>
</table>
<h2 id="biblioteca-frente-a-framework" tabindex="-1">Biblioteca frente a framework <a class="header-anchor" href="#biblioteca-frente-a-framework" aria-label="Permalink to &quot;Biblioteca frente a framework&quot;"></a></h2>
<p>Three.js mantiene un núcleo pequeño y deja el resto en tus manos y en las de la comunidad. Obtienes un excelente renderizador, un grafo de escena y materiales, y después recurres a complementos cuando necesitas física, posprocesamiento o controles. Es la biblioteca de 3D web más popular y cuenta con el ecosistema más grande, lo que significa más ejemplos, más tutoriales y más profesionales disponibles.</p>
<p>Babylon.js es un motor más completo respaldado por Microsoft. Incluye física, un sistema de GUI, animación, un Inspector integrado para depurar escenas, un Playground en línea para compartir código y un Node Material Editor para crear shaders visualmente. Si prefieres recibir las herramientas y la estructura ya preparadas en lugar de montarlas por tu cuenta, Babylon te ofrece más desde el primer día.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/kKaomUggipQ" title="Presentación de Babylon.js 8.0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">La presentación oficial de Babylon.js 8.0 permite hacerse una idea de todo lo que incluye de serie.</div>
<h2 id="webgpu-en-2026" tabindex="-1">WebGPU en 2026 <a class="header-anchor" href="#webgpu-en-2026" aria-label="Permalink to &quot;WebGPU en 2026&quot;"></a></h2>
<p>Ambos se toman WebGPU en serio. Babylon.js 8.0 (marzo de 2025) hizo que todos los shaders del núcleo del motor se distribuyeran tanto en GLSL como en WGSL, lo que eliminó una capa de conversión de varios megabytes y redujo aproximadamente a la mitad el tamaño del motor al usar WebGPU. Babylon.js 9.0 (marzo de 2026) fue más allá con iluminación agrupada, iluminación volumétrica mediante shaders de cómputo, un grafo de fotogramas y luces de área.</p>
<p>Three.js cuenta con su WebGPURenderer listo para producción, con retorno automático a WebGL2, y TSL permite escribir shaders una sola vez para ambos backends. Las versiones recientes siguen perfeccionándolo.</p>
<p>En resumen: WebGPU es sólido en ambos. Babylon apuesta por funciones basadas en shaders de cómputo; Three.js mantiene su renderizador ligero y flexible.</p>
<h2 id="typescript-tamano-del-paquete-y-ecosistema" tabindex="-1">TypeScript, tamaño del paquete y ecosistema <a class="header-anchor" href="#typescript-tamano-del-paquete-y-ecosistema" aria-label="Permalink to &quot;TypeScript, tamaño del paquete y ecosistema&quot;"></a></h2>
<p>Babylon.js prioriza TypeScript y está escrito casi íntegramente en TS, algo que muchos equipos prefieren para bases de código grandes. Three.js está escrito en JavaScript y utiliza definiciones de tipos independientes que funcionan bien, pero no constituyen la fuente de referencia.</p>
<p>En cuanto al tamaño, Three.js tiene un núcleo más pequeño y más compatible con tree shaking, por lo que una escena mínima distribuye menos código. Babylon es más grande, pero es modular gracias a sus paquetes con ámbito, y su enfoque nativo en WGSL redujo la diferencia al usar WebGPU.</p>
<p>Three.js gana en tamaño bruto del ecosistema y producción de la comunidad. Babylon gana en herramientas incluidas de serie.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/6k5ZK3SV3ko" title="La transición de Three.js de WebGL a WebGPU: Mr.doob, JSConf JP 2024" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">El creador de Three.js, Mr.doob, habla sobre la transición a WebGPU.</div>
<h2 id="cuando-elegir-cada-uno" tabindex="-1">Cuándo elegir cada uno <a class="header-anchor" href="#cuando-elegir-cada-uno" aria-label="Permalink to &quot;Cuándo elegir cada uno&quot;"></a></h2>
<p>Elige <strong>Three.js</strong> si quieres un renderizador ligero y flexible, el ecosistema más grande y libertad para diseñar la arquitectura a tu manera. Es la opción predeterminada para proyectos 3D web personalizados y la habilidad más transferible.</p>
<p>Elige <strong>Babylon.js</strong> si quieres un motor completo con sólidas herramientas integradas (Inspector, Playground y Node Material Editor), desarrollo centrado en TypeScript y estabilidad respaldada por una empresa, y no te importa aceptar un paquete algo mayor a cambio de tenerlo todo incluido.</p>
<p>Ambos son excelentes opciones. Elegimos Three.js para <a href="/es/engine.html">Cinevva Engine</a> porque queríamos una base ligera, pensada para la web y que pudiéramos adaptar nosotros mismos.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿es-mejor-three-js-o-babylon-js" tabindex="-1">¿Es mejor Three.js o Babylon.js? <a class="header-anchor" href="#¿es-mejor-three-js-o-babylon-js" aria-label="Permalink to &quot;¿Es mejor Three.js o Babylon.js?&quot;"></a></h3>
<p>Ambos son excelentes y gratuitos. Three.js es un renderizador minimalista con el ecosistema más grande, ideal cuando quieres flexibilidad y crear tu propia estructura. Babylon.js es un motor más completo con física, GUI, un Inspector y un Playground integrados, ideal cuando quieres herramientas ya preparadas y desarrollo centrado en TypeScript. Es una elección de filosofía, no una diferencia de calidad.</p>
<h3 id="¿three-js-y-babylon-js-son-compatibles-con-webgpu" tabindex="-1">¿Three.js y Babylon.js son compatibles con WebGPU? <a class="header-anchor" href="#¿three-js-y-babylon-js-son-compatibles-con-webgpu" aria-label="Permalink to &quot;¿Three.js y Babylon.js son compatibles con WebGPU?&quot;"></a></h3>
<p>Sí, ambos son compatibles con WebGPU en 2026. Three.js cuenta con un WebGPURenderer listo para producción, retorno a WebGL2 y TSL para crear shaders compatibles con ambos destinos. Babylon.js 8.0 hizo que sus shaders principales fueran nativos de WGSL, lo que redujo el tamaño del paquete con WebGPU, y la versión 9.0 añadió funciones basadas en shaders de cómputo, como la iluminación volumétrica. Usa WebGL2 como base y WebGPU donde esté disponible.</p>
<h3 id="¿babylon-js-es-un-motor-de-juegos-y-three-js-no" tabindex="-1">¿Babylon.js es un motor de juegos y Three.js no? <a class="header-anchor" href="#¿babylon-js-es-un-motor-de-juegos-y-three-js-no" aria-label="Permalink to &quot;¿Babylon.js es un motor de juegos y Three.js no?&quot;"></a></h3>
<p>A grandes rasgos, sí. Babylon.js es un motor completo: incluye física, un sistema de GUI, animación, un Inspector y herramientas similares a las de un editor. Three.js es una biblioteca de renderizado centrada en dibujar gráficos 3D, por lo que debes añadir la física, los controles y los sistemas de juego mediante otros paquetes o tu propio código. Esa es la diferencia fundamental entre ambos.</p>
<h3 id="¿cual-es-mas-pequeno-three-js-o-babylon-js" tabindex="-1">¿Cuál es más pequeño, Three.js o Babylon.js? <a class="header-anchor" href="#¿cual-es-mas-pequeno-three-js-o-babylon-js" aria-label="Permalink to &quot;¿Cuál es más pequeño, Three.js o Babylon.js?&quot;"></a></h3>
<p>Three.js tiene un núcleo más pequeño y más compatible con tree shaking, por lo que una escena mínima distribuye menos JavaScript. Babylon.js es más grande en conjunto, pero es modular gracias a sus paquetes con ámbito, y sus shaders nativos de WGSL en la versión 8.0 redujeron aproximadamente a la mitad su tamaño al usar WebGPU. Para conseguir el paquete más pequeño posible, Three.js sigue ganando.</p>
<BuildCta
  title="Consigue el juego 3D sin escribir el renderizador"
  desc="Ambas bibliotecas funcionan bajo el capó de Cinevva; tú solo tienes que describir el juego."
  prompt="Crea un endless runner 3D en el navegador" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/playcanvas-vs-threejs.html">PlayCanvas frente a Three.js</a> — añade un editor visual a la comparativa</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Los mejores motores de juegos web para 2026 (comparativa)</a> — todas las opciones</li>
<li><a href="/es/guides/web-games-stack-2026.html">Stack tecnológico para juegos web en 2026</a> — WebGL, WebGPU y Wasm</li>
<li><a href="/es/guides/threejs-usdc-tech-report.html">Three.js + USDC en el navegador</a> — carga de recursos 3D en formato USD en Three.js</li>
<li><a href="/es/engine.html">Cinevva Engine</a> — nuestro motor de código abierto basado en Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/threejs-vs-babylonjs-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Dar a los jugadores el poder de esculpir el mundo]]></title>
            <link>https://app.cinevva.com/es/guides/player-world-sculpting</link>
            <guid>https://app.cinevva.com/es/guides/player-world-sculpting</guid>
            <pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Cómo convertir los pinceles de terreno en juguetes. TNT que excava cuevas, semillas que hacen crecer bosques, lluvia que erosiona acantilados. Patrones de diseño de juegos para hacer que esculpir el mundo sea divertido para jugadores ocasionales en un mundo multijugador compartido.]]></description>
            <content:encoded><![CDATA[<h1 id="dar-a-los-jugadores-el-poder-de-esculpir-el-mundo" tabindex="-1">Dar a los jugadores el poder de esculpir el mundo <a class="header-anchor" href="#dar-a-los-jugadores-el-poder-de-esculpir-el-mundo" aria-label="Permalink to &quot;Dar a los jugadores el poder de esculpir el mundo&quot;"></a></h1>
<img src="https://cdn.cinevva.com/guides/player-world-sculpting-hero.jpg?v=2" alt="Un jugador rodeado de herramientas para esculpir el terreno: dinamita, azada, regadera, semillas, pico, nube de lluvia y una baliza de terraformación, remodelando un colorido paisaje 3D" style="width:100%;border-radius:8px;margin:1.5rem 0" />
<p>Nadie abre un juego pensando: «Quiero aplicar una función de atenuación suave con interpolación de Hermite a un campo de distancia con signo». Piensa: «Quiero excavar una cueva», «Quiero construir una montaña» o «Quiero crear un río».</p>
<p>La parte técnica de esculpir terrenos (marching cubes, pinceles SDF, uniones transvoxel) se aborda en nuestra <a href="/es/guides/terrain-sculpting-brushes.html">guía de investigación complementaria</a>. Esta guía trata sobre la otra mitad del problema: cómo poner el poder de esculpir en manos de jugadores ocasionales y hacer que se sienta como jugar, no como usar una herramienta de modelado 3D.</p>
<h2 id="el-problema-de-la-metafora" tabindex="-1">El problema de la metáfora <a class="header-anchor" href="#el-problema-de-la-metafora" aria-label="Permalink to &quot;El problema de la metáfora&quot;"></a></h2>
<p>Todos los juegos publicados que permiten a los jugadores remodelar el terreno han resuelto el mismo problema de diseño: los parámetros de esculpido sin procesar (radio, intensidad, atenuación, tipo de operación) no significan nada para la mayoría de los jugadores. La solución siempre es la misma: envolver el pincel en una metáfora que el jugador ya entienda.</p>
<h3 id="minecraft-el-bloque-como-metafora-universal" tabindex="-1">Minecraft: el bloque como metáfora universal <a class="header-anchor" href="#minecraft-el-bloque-como-metafora-universal" aria-label="Permalink to &quot;Minecraft: el bloque como metáfora universal&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/MmB9b5njVbA" title="Tráiler oficial de Minecraft" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">Tráiler oficial de Minecraft (Mojang). El mundo basado en bloques donde el TNT, los picos y las palas también sirven como editores de terreno.</p>
</div>
<p>La genialidad de Minecraft consiste en que editar el terreno es simplemente gestionar el inventario. Rompes un bloque. Obtienes un bloque. Colocas un bloque. El «pincel» es un solo vóxel, la «atenuación» es binaria (afectado o no) y la «operación» consiste en añadir o eliminar.</p>
<p>El TNT amplía esta mecánica. Lo fabricas con pólvora y arena (materiales que ya has recogido mientras jugabas), lo colocas como cualquier otro bloque, lo enciendes con pedernal y acero, y este excava una esfera en el terreno. El radio de la explosión es de 4 a 7 bloques. La resistencia a las explosiones varía según el material: la tierra y la arena se desintegran, la piedra sobrevive parcialmente y la obsidiana es inmune. El agua impide la destrucción de bloques, pero no el daño a entidades.</p>
<p>El jugador nunca piensa en el radio de la explosión como un parámetro. Piensa: «El TNT es potente, la obsidiana es resistente y el agua es un escudo». El sistema de edición del terreno se expresa por completo mediante materiales y objetos que el jugador ya conoce.</p>
<h3 id="valheim-las-herramientas-del-agricultor" tabindex="-1">Valheim: las herramientas del agricultor <a class="header-anchor" href="#valheim-las-herramientas-del-agricultor" aria-label="Permalink to &quot;Valheim: las herramientas del agricultor&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/zmIS9B3w7bw" title="Cómo nivelar y dar forma al terreno en Valheim" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">Una explicación clara del vocabulario de Valheim para dar forma al terreno con la azada, el cultivador y el pico, incluido el truco de «colócate donde quieras que quede el suelo» para nivelarlo.</p>
</div>
<p>Valheim adopta un enfoque diferente. En lugar de bloques, ofrece a los jugadores herramientas de la agricultura preindustrial:</p>
<p><strong>La azada</strong> (5 de madera + 2 de piedra, disponible en los primeros 10 minutos) tiene cuatro modos: Nivelar terreno (lo aplana hasta la altura a la que estás), Elevar terreno (añade tierra y cuesta 2 de piedra por uso), Sendero (elimina la hierba) y Pavimentar (coloca adoquines). La mecánica de nivelación es brillante: te sitúas donde quieres que quede el suelo y la azada hace que todo a tu alrededor alcance esa altura. No hay que introducir valores numéricos. Tus pies son la referencia.</p>
<p><strong>El cultivador</strong> (5 de bronce + 5 de madera noble, requiere fundición) sirve para plantar: labrar la tierra, sembrar semillas, cultivar hierba y regenerar la vegetación. No da forma al terreno, pero lo decora. Después de aplanar una ladera con la azada, puedes cultivarla y plantar un bosque. El terreno cuenta una historia: alguien estuvo aquí y trabajó esta tierra.</p>
<p><strong>El pico</strong> se encarga de la parte destructiva. Excava el terreno, a la inversa de la función de elevar de la azada. Las tres herramientas juntas (el pico excava, la azada eleva y nivela, y el cultivador planta) forman un vocabulario completo que se corresponde con acciones agrícolas del mundo real.</p>
<p>El modelo de costes importa. Elevar el terreno cuesta piedra. Percibes el peso de cada modificación. No terraformas una montaña gratis. El coste en recursos convierte el esculpido en una decisión, no en una casilla que marcar.</p>
<h3 id="animal-crossing-terraformacion-ganada" tabindex="-1">Animal Crossing: terraformación ganada <a class="header-anchor" href="#animal-crossing-terraformacion-ganada" aria-label="Permalink to &quot;Animal Crossing: terraformación ganada&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/q9wHV8XmLfs" title="Cómo desbloquear la terraformación en Animal Crossing: New Horizons" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">GameXplain explica cómo se desbloquea la aplicación Diseñador de islas, además de los permisos para construir acantilados y modificar cursos de agua, que condicionan cada nueva herramienta de esculpido a la obtención de moneda.</p>
</div>
<p>Animal Crossing: New Horizons bloquea la terraformación hasta que la isla alcanza una valoración de 3 estrellas. Tienes que construir un campamento, invitar a vecinos, preparar parcelas para viviendas y desarrollar tu isla durante días (días del mundo real, no horas de juego) antes de que Tom Nook te entregue la aplicación Diseñador de islas. Para cuando desbloqueas la terraformación, ya conoces la isla. Sabes dónde están los ríos, qué acantilados bloquean tus vistas favoritas y qué quieres cambiar.</p>
<p>Las propias herramientas utilizan un sistema de permisos. Los senderos son gratuitos. La modificación de cursos de agua (crear ríos, estanques y cascadas) cuesta 6000 millas Nook. La construcción de acantilados cuesta otras 6000. Cada tipo de sendero adicional cuesta 2000. Gastas la moneda que has ganado jugando para ampliar tu conjunto de herramientas creativas.</p>
<p>La edición se basa en casillas. Una casilla cada vez. No hay un control deslizante para el radio. No hay un parámetro de intensidad. Elevas una casilla de acantilado o excavas una casilla de río. Esta restricción hace que sea accesible: el peor error que puedes cometer se deshace pulsando un solo botón. El diseño fomenta la planificación (la comunidad creó Happy Island Designer, una herramienta web para planificar diseños de antemano) y el perfeccionamiento incremental con el tiempo.</p>
<p>Los acantilados pueden alcanzar hasta 3 niveles. Los ríos deben conectar con el océano. Ciertos lugares emblemáticos (el aeropuerto y la oficina de gestión vecinal) no se pueden mover. Estas restricciones no son limitaciones. Son diseño. Evitan la «parálisis ante el lienzo en blanco» que acaba con el interés de los jugadores ocasionales en los editores de formato libre.</p>
<h3 id="no-man-s-sky-la-multiherramienta" tabindex="-1">No Man's Sky: la multiherramienta <a class="header-anchor" href="#no-man-s-sky-la-multiherramienta" aria-label="Permalink to &quot;No Man's Sky: la multiherramienta&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/mnxMzm3_Ykw?start=942" title="No Man's Sky: construir dentro del terreno (Beeblebum)" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">La sección sobre el Manipulador de terreno de la guía de construcción de bases de Beeblebum (salta al minuto 15:42), que muestra los cuatro modos basados en esferas y el límite de «regeneración».</p>
</div>
<p>No Man's Sky incorpora la manipulación del terreno a un arma. El Manipulador de terreno es una mejora para la multiherramienta con cuatro modos: Extraer (elimina terreno dentro de una esfera), Crear (añade terreno con formas esféricas o cúbicas), Restaurar (revierte al estado generado originalmente) y Aplanar (nivela grandes áreas).</p>
<p>La metáfora es la de un dispositivo de ciencia ficción que cabe en la mano. Apuntas y disparas para editar el mundo. Las teclas T y R cambian el tamaño de la esfera entre tres valores predefinidos (pequeño, mediano y grande). No hay un radio numérico. Tres tamaños. Esa es toda la interfaz.</p>
<p>La herramienta se presenta en la primera misión. Para cuando empiezas a explorar, ya sabes cómo excavar una cueva o aplanar una pista de aterrizaje. El modo de creación permite elegir tipos de terreno (roca, tierra, etc.), lo que se corresponde internamente con la mezcla de texturas mediante mapas de salpicaduras.</p>
<p>El consumo de energía mantiene el esculpido bajo control. En el modo Normal es generoso. En el modo Supervivencia, cada modificación consume una cantidad significativa de recursos. La misma herramienta en dos niveles de dificultad sirve tanto para escultores ocasionales como para jugadores de supervivencia atentos a sus recursos.</p>
<h3 id="astroneer-la-pistola-aspiradora" tabindex="-1">Astroneer: la pistola aspiradora <a class="header-anchor" href="#astroneer-la-pistola-aspiradora" aria-label="Permalink to &quot;Astroneer: la pistola aspiradora&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/0KXQZG7riEs" title="ASTRONEER - Tráiler de lanzamiento" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">Tráiler oficial de lanzamiento de Astroneer (System Era). La herramienta de terreno aspira tierra y vuelve a expulsarla, convirtiendo el esculpido y la recolección de recursos en un mismo gesto.</p>
</div>
<p>Astroneer adopta la metáfora más sencilla posible: una aspiradora de tierra. Apunta al terreno, mantén pulsado el gatillo y absorberá la tierra. Apunta al espacio vacío y la expulsará. El terreno se deforma en tiempo real alrededor del cursor.</p>
<p>Los aumentos modifican el comportamiento: el modificador de alineación crea superficies planas con respecto a la curvatura del planeta. El modificador de potencia aumenta la velocidad. El modificador de amplitud aumenta el área de efecto. El modificador inhibidor permite recoger recursos sin deformar el terreno.</p>
<p>La genialidad reside en que el terreno también es un recurso. La tierra que aspiras llena depósitos. La tierra de los depósitos puede procesarse para obtener materiales en una centrifugadora de suelo. Esculpir el mundo y recolectar recursos son la misma acción. No excavas porque quieras una cueva. Excavas porque necesitas tierra para fabricar compuesto. La cueva es un efecto secundario que resulta útil más adelante.</p>
<h3 id="deep-rock-galactic-la-mineria-como-trabajo-en-equipo" tabindex="-1">Deep Rock Galactic: la minería como trabajo en equipo <a class="header-anchor" href="#deep-rock-galactic-la-mineria-como-trabajo-en-equipo" aria-label="Permalink to &quot;Deep Rock Galactic: la minería como trabajo en equipo&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/t9VsWTLJkVY" title="Clase magistral del Perforador - Deep Rock Academy" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">Clase magistral del Perforador de Deep Rock Academy. Los taladros de antebrazo excavan túneles en pleno combate, difuminando la línea entre arma y herramienta de terreno.</p>
</div>
<p>Deep Rock Galactic asigna la destrucción del terreno a los roles de clase. El Perforador tiene taladros eléctricos montados en los antebrazos que perforan la roca a razón de 2 m de ancho por 2,2 m de alto por 1 m de profundidad por segundo. Los taladros se sobrecalientan tras un uso prolongado (5,5 segundos hasta llegar al rojo y 8 segundos de enfriamiento) y disponen de combustible limitado. Todos los enanos tienen un pico para trabajos de precisión.</p>
<p>El trabajo del Perforador es abrir el camino. Excava un túnel desde el punto A hasta el punto B atravesando roca sólida. El equipo lo sigue. La edición del terreno sirve al objetivo de la misión (llegar a la cápsula de extracción), en lugar de actuar como herramienta creativa. Sin embargo, el efecto secundario es que cada sistema de cuevas que recorre el equipo queda moldeado de forma única por sus decisiones. No hay dos partidas iguales.</p>
<p>La estructura cooperativa convierte el esculpido en una actividad social. El Perforador no excava solo. El Explorador ilumina la cueva con bengalas. El Ingeniero coloca plataformas en las paredes que ha dejado expuestas el Perforador. El Artillero defiende la entrada del túnel. La edición del terreno es un verbo dentro de una frase compartida.</p>
<h3 id="teardown-la-destruccion-como-rompecabezas" tabindex="-1">Teardown: la destrucción como rompecabezas <a class="header-anchor" href="#teardown-la-destruccion-como-rompecabezas" aria-label="Permalink to &quot;Teardown: la destrucción como rompecabezas&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/mdqJEvia4mQ" title="Teardown - Tráiler general de la jugabilidad" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">Presentación oficial de la jugabilidad de Teardown (Tuxedo Labs / PlayStation). Cada herramienta se corresponde con una metáfora física, y la física de vóxeles hace que las consecuencias sean inmediatas y evidentes.</p>
</div>
<p>Teardown integra la destrucción del terreno en la planificación de atracos. Tienes tiempo ilimitado para prepararte: derriba paredes, estrella vehículos contra edificios, coloca explosivos y construye rampas. Después se activa la alarma y dispones de 60 segundos para completar todos los objetivos y escapar.</p>
<p>Cada herramienta tiene una identidad física. El mazo rompe cosas a corta distancia. El soplete corta acero. Los explosivos abren boquetes en las paredes. El extintor apaga el fuego. Los vehículos atraviesan estructuras. El jugador no «edita el terreno» de forma abstracta. Golpea una pared con un martillo y la pared se rompe.</p>
<p>La física hace que parezca real. Las estructuras se derrumban cuando se eliminan sus soportes. El fuego se propaga. El humo llena las habitaciones. Los escombros caen. El ciclo de respuesta es inmediato y físico: golpea algo, observa cómo se rompe y contempla cómo las consecuencias se suceden en cascada. Los jugadores ocasionales lo entienden porque han usado un martillo en la vida real (o han querido hacerlo).</p>
<h3 id="eco-las-consecuencias-como-diseno-de-juego" tabindex="-1">Eco: las consecuencias como diseño de juego <a class="header-anchor" href="#eco-las-consecuencias-como-diseno-de-juego" aria-label="Permalink to &quot;Eco: las consecuencias como diseño de juego&quot;"></a></h3>
<p>Eco es uno de los pocos juegos en los que la edición del terreno tiene consecuencias permanentes y compartidas. Tala demasiados árboles y la calidad del aire empeora. Explota las minas con demasiada intensidad y contaminarás el nivel freático. Caza en exceso y las especies se extinguirán. El ecosistema está simulado por completo.</p>
<p>Los jugadores pueden proponer leyes y votarlas: «Prohibido talar a menos de 200 m del río» o «Impuesto minero de 10 monedas de oro por metro cúbico». El sistema de gobierno convierte la edición del terreno en un acto político. No puedes excavar donde quieras sin más. La comunidad podría impedírtelo.</p>
<p>Este es el extremo de la ludificación: el propio sistema de esculpido se convierte en el bucle central del juego. El terreno es el recurso compartido al que afecta cada acción de los jugadores. Esculpir no es una herramienta creativa. Es la tensión central del juego.</p>
<h2 id="patrones-de-diseno-para-cinevva" tabindex="-1">Patrones de diseño para Cinevva <a class="header-anchor" href="#patrones-de-diseno-para-cinevva" aria-label="Permalink to &quot;Patrones de diseño para Cinevva&quot;"></a></h2>
<p>Estos juegos sugieren un conjunto de patrones que podemos utilizar. No todos a la vez. Por capas, empezando por los más accesibles y avanzando hacia los más complejos.</p>
<h3 id="patron-1-esculpido-basado-en-objetos-el-patron-del-tnt" tabindex="-1">Patrón 1: esculpido basado en objetos (el patrón del TNT) <a class="header-anchor" href="#patron-1-esculpido-basado-en-objetos-el-patron-del-tnt" aria-label="Permalink to &quot;Patrón 1: esculpido basado en objetos (el patrón del TNT)&quot;"></a></h3>
<p>No des a los jugadores un pincel. Dales objetos que, al usarlos, remodelen el terreno.
<strong>TNT / Dinamita:</strong> El jugador fabrica o encuentra un explosivo. Lo coloca en el mundo. Enciende la mecha (o lo lanza). Se sustrae una esfera de terreno. El radio depende del tipo de explosivo. Petardo pequeño: 2 m de radio. Dinamita estándar: 5 m. Megabomba (recompensa rara): 15 m. El jugador está volando cosas por los aires, no «editando el terreno».</p>
<p><strong>Pico / Pala / Taladro:</strong> Herramientas de mano con características diferentes. El pico desmenuza la roca (radio pequeño, rápido y eficaz con materiales duros). La pala retira tierra (radio mediano, rápida en terrenos blandos e inútil contra la roca). El taladro perfora túneles (estrechos y profundos, con agujeros cilíndricos lisos). Internamente, cada herramienta corresponde a una operación de pincel SDF diferente, pero el jugador las percibe como objetos físicos distintos, cada uno con sus propias respuestas visuales y sonoras.</p>
<p><strong>Cubo / Regadera:</strong> Vierte agua sobre el terreno y esta fluye cuesta abajo, erosionando un canal. El pincel de erosión sigue automáticamente el gradiente del terreno. El jugador no apunta con un pincel. Vierte agua y observa cómo se forma el río. Internamente, es una operación de descenso suavizado condicionada por la pendiente del terreno.</p>
<p><strong>Semillas / Plantones:</strong> Plántalos y el terreno crecerá. Un paquete de semillas colocado sobre suelo llano brota hasta formar una pequeña colina con el tiempo (durante varios segundos y con una animación). Un plantón colocado sobre roca desnuda genera un montículo de tierra alrededor de su base. «Cultivar» terreno no es más que el pincel de elevación con una apariencia natural.</p>
<p><strong>Baliza de terraformación:</strong> Coloca una baliza y esta aplana lentamente todo lo que hay dentro de su radio hasta alcanzar una altura objetivo. Es ideal para terrenos de construcción. El jugador coloca el objeto y se marcha. El pincel de aplanado se ejecuta automáticamente con baja intensidad hasta que el suelo coincide con la altura de la baliza.</p>
<h3 id="patron-2-progresion-de-herramientas-el-patron-de-stardew" tabindex="-1">Patrón 2: Progresión de herramientas (el patrón de Stardew) <a class="header-anchor" href="#patron-2-progresion-de-herramientas-el-patron-de-stardew" aria-label="Permalink to &quot;Patrón 2: Progresión de herramientas (el patrón de Stardew)&quot;"></a></h3>
<p>Haz que los jugadores comiencen con herramientas débiles que realicen modificaciones pequeñas. Permite que las mejoren mediante el juego.</p>
<p><strong>Nivel 1 (gratis e inmediato):</strong> Manos desnudas. Pueden aplanar pequeños bultos con palmadas (microsuavizado, radio de 0,5 m). Pueden recoger un puñado de tierra (microdescenso, radio de 0,3 m). El impacto es insignificante. Enseña que el sistema existe.</p>
<p><strong>Nivel 2 (fabricado con materiales básicos):</strong> Pala de piedra y pico de madera. Sirven para realizar modificaciones pequeñas. Aplanar un campamento. Cavar una zanja poco profunda. Radio de 1-2 m. Este es el nivel en el que se quedan la mayoría de los jugadores ocasionales.</p>
<p><strong>Nivel 3 (requiere exploración o comercio):</strong> Herramientas de metal. Mayor radio (3-5 m). Se desbloquean nuevas operaciones: elevar el terreno con la azada y tallar curvas suaves con el cincel.</p>
<p><strong>Nivel 4 (fase final / recompensas raras):</strong> Herramientas eléctricas, explosivos y dispositivos de terraformación. Radio de 10-20 m. Perforación de cuevas. Construcción de montañas. Son herramientas espectaculares que recompensan a los jugadores veteranos.</p>
<p>La ruta de mejoras también funciona como tutorial. Cada nivel presenta un concepto nuevo. Para cuando llegas al nivel 4, ya has asimilado el vocabulario de la edición de terreno mediante una exposición gradual, no a través de una pantalla de tutorial.</p>
<h3 id="patron-3-herramientas-contextuales-el-patron-de-valheim" tabindex="-1">Patrón 3: Herramientas contextuales (el patrón de Valheim) <a class="header-anchor" href="#patron-3-herramientas-contextuales-el-patron-de-valheim" aria-label="Permalink to &quot;Patrón 3: Herramientas contextuales (el patrón de Valheim)&quot;"></a></h3>
<p>Adapta la herramienta a lo que el jugador intenta hacer, no a lo que necesita el terreno.</p>
<p><strong>Modo de construcción:</strong> Cuando el jugador está en modo de construcción (colocando paredes, suelos y tejados), el terreno se aplana automáticamente bajo los cimientos. No necesita una herramienta de aplanado independiente. El sistema de construcción se encarga de ello. Así funciona la construcción en Valheim: colocas un suelo y el terreno se ajusta.</p>
<p><strong>Modo de agricultura:</strong> Al plantar cultivos, el cultivador labra la tierra (cambia el material de la superficie) y nivela pequeños bultos. El jugador está cultivando, no terraformando. La edición del terreno es un efecto secundario de la actividad agrícola.</p>
<p><strong>Modo de minería:</strong> Al extraer recursos del terreno (vetas de mineral, depósitos de arcilla o nodos minerales), la extracción deja un agujero. La edición del terreno es un efecto secundario de la recolección de recursos. Astroneer lo hace a la perfección: aspira tierra, obtiene recursos y deja una cueva.</p>
<p><strong>Modo de combate:</strong> Las explosiones de las armas crean cráteres. El fuego quema la vegetación. El ácido disuelve la roca. El daño al terreno es un efecto secundario del combate. Los taladros de Deep Rock Galactic funcionan así: son un arma y una herramienta para modificar el terreno al mismo tiempo.</p>
<h3 id="patron-4-escultura-social-el-patron-de-eco" tabindex="-1">Patrón 4: Escultura social (el patrón de Eco) <a class="header-anchor" href="#patron-4-escultura-social-el-patron-de-eco" aria-label="Permalink to &quot;Patrón 4: Escultura social (el patrón de Eco)&quot;"></a></h3>
<p>En un mundo compartido, cada modificación es un acto social. Diseña el sistema teniendo esto en cuenta.</p>
<p><strong>Autoría visible:</strong> Cuando un jugador esculpa el terreno, deja un indicador sutil de quién lo hizo. Un brillo tenue. Un matiz del color del jugador sobre la superficie modificada. Una pequeña bandera. Otros jugadores pueden ver que alguien estuvo allí y cambió el paisaje.</p>
<p><strong>Proyectos colaborativos:</strong> Las modificaciones del terreno dentro de un área reclamada contribuyen a un objetivo compartido. «Cava un río desde la montaña hasta el lago». Todos los jugadores de la zona pueden ver la barra de progreso. Cuando se completa, el río se llena de agua. La escultura fue una actividad grupal con una recompensa compartida.</p>
<p><strong>Zonas de aprobación:</strong> En las áreas protegidas, las modificaciones del terreno requieren la aprobación del propietario o una votación de los jugadores cercanos. Esto evita el sabotaje sin desactivar la escultura. La modificación se muestra como una silueta fantasma (transparente y delineada) hasta que se aprueba.</p>
<p><strong>Deshacer por consenso:</strong> Cualquier jugador puede proponer revertir una modificación del terreno. Si suficientes jugadores cercanos están de acuerdo, la modificación se desvanece durante unos segundos. Es el modo de restauración de No Man's Sky, pero convertido en una mecánica social.</p>
<h3 id="patron-5-fuerzas-naturales-el-patron-de-erosion" tabindex="-1">Patrón 5: Fuerzas naturales (el patrón de erosión) <a class="header-anchor" href="#patron-5-fuerzas-naturales-el-patron-de-erosion" aria-label="Permalink to &quot;Patrón 5: Fuerzas naturales (el patrón de erosión)&quot;"></a></h3>
<p>En lugar de pinceladas directas, permite que los jugadores desencadenen procesos naturales.</p>
<p><strong>Invocador de lluvia:</strong> Coloca una nube sobre una colina y empieza a llover. La lluvia erosiona la ladera con el tiempo, formando canales y suavizando los bordes. El jugador controla dónde cae la lluvia y cuánto dura. El shader de erosión se encarga de esculpir.</p>
<p><strong>Dispositivo sísmico:</strong> Provoca un terremoto local que agrieta el suelo, crea fisuras y reduce la altura del terreno en el área afectada. El jugador elige dónde. La simulación física determina cómo.</p>
<p><strong>Flujo de lava:</strong> Libera lava desde un punto y esta fluye cuesta abajo, llena los valles y se endurece hasta convertirse en roca. Es terreno nuevo creado mediante una metáfora natural. Internamente, es el pincel de elevación siguiendo el gradiente del terreno con un material rocoso.</p>
<p><strong>Escultor de viento:</strong> Un ventilador o dispositivo de soplado que empuja el terreno blando (arena o tierra) en la dirección del viento. Con el tiempo, crea dunas y pendientes suaves. Es el pincel de suavizado con un sesgo direccional.</p>
<p><strong>Congelación / Deshielo:</strong> Congela el agua de un río para crear un puente de hielo. Descongela una ladera helada para provocar un alud de barro. La temperatura actúa como parámetro de edición del terreno y se expresa mediante objetos meteorológicos.</p>
<h3 id="patron-6-descubrimiento-y-sorpresa-el-patron-de-infinite-craft" tabindex="-1">Patrón 6: Descubrimiento y sorpresa (el patrón de Infinite Craft) <a class="header-anchor" href="#patron-6-descubrimiento-y-sorpresa-el-patron-de-infinite-craft" aria-label="Permalink to &quot;Patrón 6: Descubrimiento y sorpresa (el patrón de Infinite Craft)&quot;"></a></h3>
<p>Recompensa la experimentación.</p>
<p><strong>Efectos combinados:</strong> El TNT cerca del agua crea una fuente termal (cráter + llenado de agua + partículas de vapor). Las semillas plantadas en cráteres de TNT crecen más rápido (el cráter tiene «suelo fértil»). Al dinamitar un río congelado, se descubre una cueva oculta debajo.</p>
<p><strong>Materiales ocultos:</strong> Al cavar a suficiente profundidad, aparecen distintas capas del terreno: tierra vegetal, arcilla, piedra, cristal y lava. Cada capa tiene propiedades y aspectos diferentes. Los jugadores que cavan más hondo ven cosas que nadie más ha visto.</p>
<p><strong>Fósiles y artefactos:</strong> Las modificaciones aleatorias del terreno desentierran ocasionalmente objetos enterrados: fósiles, artefactos antiguos, cofres del tesoro y semillas raras. Esculpir se convierte en una mecánica de exploración. No cavas solo para hacer una cueva. Cavas porque podrías encontrar algo.</p>
<p><strong>Memoria del terreno:</strong> El terreno modificado recuerda lo que le ocurrió. Una zona volada con TNT conserva marcas de quemaduras y bordes carbonizados. Una zona cultivada con semillas tiene un color de suelo más intenso. Una zona erosionada por la lluvia presenta texturas suaves y desgastadas por el agua. El terreno cuenta su propia historia.</p>
<h2 id="correspondencia-entre-pinceles-y-metaforas" tabindex="-1">Correspondencia entre pinceles y metáforas <a class="header-anchor" href="#correspondencia-entre-pinceles-y-metaforas" aria-label="Permalink to &quot;Correspondencia entre pinceles y metáforas&quot;"></a></h2>
<p>Cada metáfora con la que interactúa el jugador corresponde a una operación técnica de pincel de nuestro <a href="/es/guides/terrain-sculpting-brushes.html">proceso de escultura</a>. Esta es la tabla de correspondencias:</p>
<p><strong>Pico / Pala</strong> corresponden al <strong>pincel de descenso</strong> (sustraer del mapa de alturas o SDF), con radio pequeño, fuerza alta y una atenuación marcada. La animación de la herramienta activa la misma llamada a <code>Chunk.applyBrush()</code>.</p>
<p><strong>TNT / Explosivos</strong> corresponden al <strong>pincel de descenso</strong>, con radio grande, fuerza máxima y atenuación esférica. Cada explosión aplica una pincelada centrada en el punto de detonación. La resistencia a explosiones de cada tipo de material corresponde a un multiplicador de fuerza del pincel.</p>
<p><strong>Azada / Aplanador</strong> corresponden al <strong>pincel de aplanado</strong>, con radio mediano y atenuación suave. La altura objetivo se obtiene de la posición de los pies del jugador al activar la herramienta, exactamente como en Valheim.</p>
<p><strong>Semillas / Crecimiento</strong> corresponden al <strong>pincel de elevación</strong>, con radio pequeño y atenuación suave, aplicado durante varios fotogramas (crecimiento animado). Cada fotograma aplica un pequeño incremento. La animación hace convincente la metáfora mientras el pincel se ocupa de la geometría.</p>
<p><strong>Regadera / Lluvia</strong> corresponden al <strong>pincel de suavizado</strong> con sesgo direccional. El sesgo sigue el gradiente de la pendiente del terreno obtenido mediante <code>ChunkManager.getNormal()</code>. Los puntos situados por debajo del centro del pincel descienden más que los que están por encima, lo que crea canales de erosión naturales.</p>
<p><strong>Baliza de terraformación</strong> corresponde al <strong>pincel de aplanado</strong>, aplicado con poca fuerza en cada fotograma hasta converger. La posición de la baliza en el espacio del mundo establece la altura objetivo. El radio es el área de efecto de la baliza.</p>
<p><strong>Taladro</strong> corresponde al <strong>pincel de descenso</strong> proyectado a lo largo de la dirección de un rayo en lugar de una esfera. El rayo emitido en la dirección a la que apunta el jugador determina el centro del pincel en cada paso de profundidad, creando un túnel cilíndrico.</p>
<h2 id="progresion-y-economia" tabindex="-1">Progresión y economía <a class="header-anchor" href="#progresion-y-economia" aria-label="Permalink to &quot;Progresión y economía&quot;"></a></h2>
<h3 id="lo-que-obtienen-los-jugadores" tabindex="-1">Lo que obtienen los jugadores <a class="header-anchor" href="#lo-que-obtienen-los-jugadores" aria-label="Permalink to &quot;Lo que obtienen los jugadores&quot;"></a></h3>
<p><strong>Desbloqueo de herramientas:</strong> Empieza con las manos. Fabrica herramientas básicas con materiales comunes. Descubre recetas de herramientas avanzadas mediante la exploración, el comercio o la finalización de misiones.</p>
<p><strong>Mejoras de capacidad:</strong> Explosivos más grandes. Azadas más anchas. Taladros más rápidos. El radio y la fuerza del pincel aumentan con el nivel. Mejorar tu pala de madera a hierro duplica el radio.</p>
<p><strong>Tipos de materiales:</strong> Se desbloquean nuevos materiales de terreno a medida que los jugadores exploran biomas. Solo puedes «crear» tipos de terreno que ya hayas encontrado. Visita un desierto para desbloquear la creación de arena. Visita un volcán para desbloquear la basita. Es el modo de creación de No Man's Sky, limitado mediante la exploración.</p>
<p><strong>Recetas:</strong> Los efectos combinados se descubren, no se entregan. Planta una semilla en un cráter de TNT y descubre «Explosión fértil». Vierte agua sobre terreno de lava y descubre «Formación de obsidiana». Cada descubrimiento queda registrado en un catálogo y puede compartirse.</p>
<h3 id="lo-que-cuesta" tabindex="-1">Lo que cuesta <a class="header-anchor" href="#lo-que-cuesta" aria-label="Permalink to &quot;Lo que cuesta&quot;"></a></h3>
<p><strong>Recursos:</strong> Cada modificación del terreno consume materiales. Elevar el terreno cuesta tierra, piedra o arena (el material que se coloca). Reducirlo produce materiales (que van a tu inventario). Aplanar los redistribuye. El flujo de recursos mantiene la economía conectada al sistema de terreno.</p>
<p><strong>Energía / Durabilidad:</strong> Las herramientas tienen límites de durabilidad o energía. El pico se rompe después de N usos. La baliza de terraformación funciona con combustible. Esto evita la edición infinita y crea límites naturales para cada sesión. Los jugadores se toman descansos para reabastecerse.</p>
<p><strong>Tiempo:</strong> Algunas operaciones son instantáneas (un golpe de pico). Otras son lentas (el aplanado de la baliza, el crecimiento de las semillas o la erosión por lluvia). Las operaciones lentas recompensan la paciencia y desincentivan el uso indiscriminado. También tienen mejor aspecto: observar cómo una semilla brota hasta convertirse en una colina resulta más satisfactorio que hacer clic en un botón de «elevar».</p>
<h3 id="lo-que-ven-los-demas" tabindex="-1">Lo que ven los demás <a class="header-anchor" href="#lo-que-ven-los-demas" aria-label="Permalink to &quot;Lo que ven los demás&quot;"></a></h3>
<p><strong>Huella de las modificaciones:</strong> Cada modificación del terreno tiene una firma visual. Los cráteres de TNT presentan bordes oscuros y agrietados. Las zonas aplanadas con una azada tienen una textura de tierra trabajada, lisa y uniforme. El terreno cultivado muestra colores intensos y orgánicos. Los canales erosionados por la lluvia presentan marcas de agua. Los jugadores pueden leer la historia del paisaje.</p>
<p><strong>Etiquetas del creador:</strong> Pasa el cursor sobre el terreno modificado para ver quién lo cambió y cuándo. «Esculpido por @PlayerName hace 2 horas». Esto fomenta el orgullo de autoría y la responsabilidad social.</p>
<p><strong>Antes/Después:</strong> Una vista de «cámara rápida» que muestra el terreno en cualquier punto de su historial de modificaciones. Arrastra un control deslizante de la línea temporal para ver cómo se transforma el paisaje. Esto es posible porque el árbol de modificaciones CSG de la fase 3 de la <a href="/es/guides/terrain-sculpting-brushes.html">guía técnica</a> almacena todas las operaciones en orden.</p>
<h2 id="lo-que-construiremos-primero" tabindex="-1">Lo que construiremos primero <a class="header-anchor" href="#lo-que-construiremos-primero" aria-label="Permalink to &quot;Lo que construiremos primero&quot;"></a></h2>
<p>La fase 1 de la <a href="/es/guides/terrain-sculpting-brushes.html#practical-architecture-for-sculpting">arquitectura técnica</a> permite esculpir mapas de alturas en el renderizador WebGL existente. Estas son las herramientas sencillas que podemos implementar sobre esa base:</p>
<ol>
<li><strong>Pala</strong> (pincel de descenso, radio pequeño). La herramienta más básica. Haz clic en el terreno y cava un agujero. Produce recursos de tierra.</li>
<li><strong>Azada</strong> (pincel de aplanado, radio mediano). Colócate donde quieras nivelar el suelo, usa la azada y el terreno se ajustará a la altura de tus pies.</li>
<li><strong>TNT</strong> (pincel de descenso, radio grande y un solo uso). Fabrícalo con materiales, colócalo, préndele fuego y observa la explosión. Produce escombros.</li>
<li><strong>Semillas</strong> (pincel de elevación animado durante varios fotogramas). Plántalas en terreno llano, observa cómo el terreno se eleva hasta formar una pequeña colina y cómo aparece vegetación encima.</li>
<li><strong>Regadera</strong> (pincel de suavizado con sesgo de pendiente). Vierte agua sobre pendientes para erosionarlas. Crea canales de aspecto natural.</li>
</ol>
<p>Cinco herramientas. Cinco metáforas diferentes. Un único sistema de pinceles subyacente. Cada herramienta es una configuración distinta de <code>(radius, strength, falloff, operation, animation)</code> envuelta en un objeto que el jugador fabrica, equipa y usa mediante el mismo modelo de interacción que el <code>PlacementTool</code> existente.</p>
<BuildCta
  title="Deja que los jugadores construyan: prueba ahora un sandbox"
  desc="La forma más rápida de sentir por qué editar mundos engancha a los jugadores."
  prompt="Crea una isla sandbox donde pueda colocar y apilar bloques" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/player-world-sculpting-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Técnicas de pinceles 3D y esculpido de mundos dentro del juego]]></title>
            <link>https://app.cinevva.com/es/guides/terrain-sculpting-brushes</link>
            <guid>https://app.cinevva.com/es/guides/terrain-sculpting-brushes</guid>
            <pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Desde el desplazamiento con mapas de altura hasta los árboles CSG con SDF. Cómo funcionan realmente los pinceles de esculpido de terreno, qué hacen Marching Cubes y Surface Nets internamente y cómo permitir que los jugadores transformen un mundo compartido en tiempo real.]]></description>
            <content:encoded><![CDATA[<h1 id="tecnicas-de-pinceles-3d-y-esculpido-de-mundos-dentro-del-juego" tabindex="-1">Técnicas de pinceles 3D y esculpido de mundos dentro del juego <a class="header-anchor" href="#tecnicas-de-pinceles-3d-y-esculpido-de-mundos-dentro-del-juego" aria-label="Permalink to &quot;Técnicas de pinceles 3D y esculpido de mundos dentro del juego&quot;"></a></h1>
<p>Queremos que los jugadores puedan esculpir el mundo. No colocar elementos prefabricados sobre una cuadrícula. No activar y desactivar bloques. Sino transformar de verdad el terreno: abrir cauces, levantar montañas, suavizar laderas y excavar cuevas. El tipo de trabajo que ZBrush y el modo Esculpir de Blender permiten hacer a los artistas, pero ejecutándose a 60 fps dentro de un juego multijugador para navegador.</p>
<p>Es un problema de ingeniería difícil que abarca la representación de datos, la extracción de mallas, el cómputo en GPU, las matemáticas de los pinceles y la sincronización de red. Esta guía documenta todo lo que descubrimos.</p>
<h2 id="los-dos-mundos-de-la-representacion-del-terreno" tabindex="-1">Los dos mundos de la representación del terreno <a class="header-anchor" href="#los-dos-mundos-de-la-representacion-del-terreno" aria-label="Permalink to &quot;Los dos mundos de la representación del terreno&quot;"></a></h2>
<p>Todo sistema de esculpido comienza con una decisión sobre cómo almacenar los datos del terreno. Esa decisión determina qué tipos de edición son posibles, con qué rapidez se ejecutan y cuánta memoria consumen.</p>
<h3 id="mapas-de-altura" tabindex="-1">Mapas de altura <a class="header-anchor" href="#mapas-de-altura" aria-label="Permalink to &quot;Mapas de altura&quot;"></a></h3>
<p>Un mapa de altura almacena un valor de elevación por cada punto de la cuadrícula. Puede entenderse como una imagen en escala de grises en la que el brillo equivale a la elevación. Nuestro terreno actual de <code>world/client</code> funciona exactamente así: <code>noise.ts</code> genera la altura mediante ruido de valores FBM y cada <code>Chunk</code> almacena un mapa de altura <code>Float32Array</code> que se proyecta sobre una <code>PlaneGeometry</code>.</p>
<p>Los mapas de altura son rápidos. El muestreo consiste en una sola consulta al array con interpolación bilineal. El LOD es trivial, porque basta con reducir la resolución de la cuadrícula. La mezcla de texturas basada en salpicaduras se asigna directamente a la cuadrícula UV. Las colisiones físicas se reducen a consultar una altura.</p>
<p>La limitación es la topología. Un mapa de altura solo puede representar una altura por cada coordenada (x, z). No admite cuevas, voladizos, arcos ni túneles. Si un jugador esculpe un acantilado que se repliega sobre sí mismo, un mapa de altura no puede almacenarlo. Para un terreno compuesto principalmente por colinas y montañas, esto es suficiente. Para el esculpido libre, donde los jugadores pueden excavar el suelo, es un callejón sin salida.</p>
<h3 id="representaciones-volumetricas-campos-escalares-3d" tabindex="-1">Representaciones volumétricas (campos escalares 3D) <a class="header-anchor" href="#representaciones-volumetricas-campos-escalares-3d" aria-label="Permalink to &quot;Representaciones volumétricas (campos escalares 3D)&quot;"></a></h3>
<p>La alternativa consiste en almacenar un valor en cada punto del espacio 3D. Si el valor es negativo dentro del material sólido y positivo fuera —o viceversa—, se obtiene un campo de distancia con signo (SDF). Si el valor solo representa una densidad —por encima de cierto umbral es sólido y por debajo está vacío—, se obtiene un campo de densidad.</p>
<p>Las representaciones volumétricas admiten cualquier topología: cuevas, voladizos, islas flotantes y túneles que atraviesan montañas. El precio es el consumo de memoria y la complejidad. Una cuadrícula de 256^3 con valores de coma flotante de 32 bits ocupa 64 MB. Una cuadrícula de 512^3 ocupa 512 MB. Y eso es para un solo chunk. Para que resulte práctico, se necesitan estructuras de datos dispersas, como octrees o mapas de bloques.</p>
<p>El paso de extracción de la malla tampoco es trivial. No basta con establecer las posiciones Y de los vértices. Se necesita un algoritmo que lea el campo escalar y genere una malla de triángulos que aproxime la superficie donde el campo cruza el valor cero.</p>
<h2 id="extraccion-de-mallas-marching-cubes-surface-nets-y-dual-contouring" tabindex="-1">Extracción de mallas: Marching Cubes, Surface Nets y Dual Contouring <a class="header-anchor" href="#extraccion-de-mallas-marching-cubes-surface-nets-y-dual-contouring" aria-label="Permalink to &quot;Extracción de mallas: Marching Cubes, Surface Nets y Dual Contouring&quot;"></a></h2>
<h3 id="marching-cubes" tabindex="-1">Marching Cubes <a class="header-anchor" href="#marching-cubes" aria-label="Permalink to &quot;Marching Cubes&quot;"></a></h3>
<p>Marching Cubes es el algoritmo de extracción de isosuperficies más antiguo y con más implementaciones. Publicado por Lorensen y Cline en 1987, funciona examinando cada cubo de la cuadrícula de vóxeles, donde cada esquina tiene un valor escalar. Si algunas esquinas están dentro de la superficie —valor negativo— y otras fuera —valor positivo—, se coloca un fragmento de malla triangular dentro de ese cubo.</p>
<p>Cada cubo tiene 8 esquinas, cada una dentro o fuera, lo que produce 256 configuraciones posibles (2^8). Mediante simetría, estas se reducen a 15 casos únicos. Una tabla de consulta asigna a cada caso un conjunto de triángulos. Los puntos de intersección de las aristas se calculan mediante interpolación lineal a lo largo de las aristas donde cambia el signo.</p>
<p>Las <strong>implementaciones recientes para GPU</strong> han logrado que Marching Cubes sea lo bastante rápido para el esculpido en tiempo real. Una implementación de 2025 para UE5 asigna cada hilo de la GPU a un cubo y procesa miles de ellos simultáneamente. La idea clave es que la triangulación de cada cubo es independiente de sus vecinos, lo que hace que el algoritmo sea extremadamente paralelizable.</p>
<p><strong>MCHex</strong> (arxiv 2511.02064, 2025) amplía Marching Cubes para generar mallas hexaédricas adaptativas con valores jacobianos positivos garantizados, lo que mejora la aproximación de los límites en mallas de simulación.</p>
<p><strong>rupMC</strong> alcanza un rendimiento decenas de veces superior al de las implementaciones secuenciales y es 4 veces más rápido que las variantes DMC paralelas mediante arquitecturas heterogéneas de CPU/GPU.</p>
<p>La principal limitación es que Marching Cubes tiene dificultades con los rasgos afilados. Una arista de 90 grados se redondea hasta convertirse en una curva suave. Para esculpir terreno esto suele ser aceptable —el terreno natural es mayormente suave—, pero supone un problema para los elementos arquitectónicos.</p>
<h3 id="surface-nets" tabindex="-1">Surface Nets <a class="header-anchor" href="#surface-nets" aria-label="Permalink to &quot;Surface Nets&quot;"></a></h3>
<p>Surface Nets es una familia de algoritmos más reciente que produce mallas más suaves a partir de campos escalares discretos. En lugar de colocar vértices sobre las aristas de los cubos, como Marching Cubes, Surface Nets coloca un vértice por cada cubo que contiene la superficie y después conecta los vértices adyacentes para formar cuadriláteros.</p>
<p>El resultado es naturalmente más suave. Un artículo de 2024 (arxiv 2401.14906) presentó una implementación paralela de Surface Nets de alto rendimiento que se ejecuta entre uno y dos órdenes de magnitud más rápido que los algoritmos secuenciales. El crate de Rust <code>fast-surface-nets</code> genera aproximadamente 20 millones de triángulos por segundo en un solo núcleo de 2,5 GHz mediante pequeñas tablas de consulta y aceleración SIMD.</p>
<p><code>bevy-sculpter</code> (v0.18.0, enero de 2026) utiliza Surface Nets como estrategia principal de generación de mallas. El crate ofrece esculpido volumétrico basado en SDF con cuatro tipos de pincel: CSG duro —adición o eliminación instantánea—, continuo suave —para mantener pulsado el control—, desenfoque —suavizado de la superficie— y aplanado —ajuste a una altura objetivo—. También incluye la recuperación de distancias del SDF mediante el método Fast Sweeping para restaurar las propiedades correctas del campo de distancia con signo después de las ediciones.</p>
<p>Surface Nets ofrece un buen punto intermedio entre Marching Cubes —sencillo y rápido, pero produce mallas con aliasing a partir de datos binarios— y Dual Contouring —conserva los rasgos, pero es complejo—.</p>
<h3 id="dual-contouring" tabindex="-1">Dual Contouring <a class="header-anchor" href="#dual-contouring" aria-label="Permalink to &quot;Dual Contouring&quot;"></a></h3>
<p>Dual Contouring conserva los rasgos afilados que Marching Cubes y Surface Nets no pueden mantener. Para ello utiliza no solo el signo del campo en cada esquina, sino también el gradiente —la normal— en las intersecciones de las aristas. Una minimización QEF —función de error cuadrático— coloca el vértice dentro de cada celda en la posición que mejor satisface todas las restricciones de intersección de las aristas.</p>
<p>El resultado es que las aristas y esquinas pronunciadas se conservan en la malla extraída. Un cubo con caras perpendiculares sigue siendo un cubo.</p>
<p>El inconveniente es la complejidad. La resolución de la QEF tiene dependencias entre celdas que dificultan la paralelización en GPU. Puede producir mallas no múltiples —con aristas compartidas por más de dos polígonos—. Y la implementación es más compleja que Marching Cubes, aunque Johannes Jendersie señala que una implementación funcional de Dual Contouring requiere unas 200 líneas de código, frente a más de 500 para una implementación sólida de Marching Cubes.</p>
<p><strong>Cubical Marching Squares (CMS)</strong> se ha propuesto como solución intermedia: es independiente entre celdas —y, por tanto, apto para GPU—, pero sigue conservando algunos rasgos.</p>
<h3 id="cual-utilizar" tabindex="-1">Cuál utilizar <a class="header-anchor" href="#cual-utilizar" aria-label="Permalink to &quot;Cuál utilizar&quot;"></a></h3>
<p>Para el esculpido de terreno orientado a jugadores en un navegador:</p>
<p><strong>Surface Nets</strong> es el candidato más sólido. Produce mallas suaves —con terrenos de aspecto natural— sin los artefactos de aliasing de Marching Cubes sobre datos binarios. Es lo bastante rápido para regenerar mallas en tiempo real. Y su implementación es más sencilla que la de Dual Contouring.</p>
<p><strong>Marching Cubes</strong> sigue siendo una opción sólida cuando la prioridad es el paralelismo en GPU —cada cubo es independiente— o cuando se necesita la máxima compatibilidad con bibliotecas. El editor SDF para WebGPU de Reinder Nijhoff (enero de 2026) implementa tanto Marching Cubes como Surface Nets en su proceso de extracción, ejecutado íntegramente en la GPU.</p>
<p><strong>Dual Contouring</strong> se reserva mejor para aquellos casos en los que la precisión arquitectónica importa más que el rendimiento. No es ideal para esculpir terreno en tiempo real dentro de un navegador.</p>
<h2 id="el-algoritmo-transvoxel-como-resolver-la-union-entre-niveles-de-lod" tabindex="-1">El algoritmo Transvoxel: cómo resolver la unión entre niveles de LOD <a class="header-anchor" href="#el-algoritmo-transvoxel-como-resolver-la-union-entre-niveles-de-lod" aria-label="Permalink to &quot;El algoritmo Transvoxel: cómo resolver la unión entre niveles de LOD&quot;"></a></h2>
<p>Cuando el terreno de vóxeles se convierte en malla con distintas resoluciones —LOD0 cerca del jugador y LOD2 en la distancia—, aparecen grietas en los límites. Para los mapas de altura, es un problema sencillo: se interpolan los vértices del borde para que coincidan con el vecino de menor resolución. Nuestro <code>chunk.ts</code> actual hace exactamente esto en <code>stitchEdge()</code>.</p>
<p>Para el terreno volumétrico, el problema es mucho más difícil. La entrada de una cueva en LOD0 podría producir 30 triángulos en el límite. La misma región en LOD1 podría producir 8 triángulos con una topología completamente distinta. No existe una forma sencilla de interpolar linealmente entre ambas.</p>
<p>El algoritmo Transvoxel de Eric Lengyel (2009) resuelve este problema mediante «celdas de transición». En el límite entre dos niveles de LOD, el algoritmo considera 9 muestras de alta resolución —en lugar de las 8 esquinas de un cubo—, lo que produce 512 configuraciones posibles agrupadas en 73 clases de equivalencia. Cada clase se asigna a un patrón de triángulos predefinido que rellena perfectamente el espacio entre las dos resoluciones.</p>
<p>El algoritmo opera sobre datos locales de vóxeles, por lo que volver a triangular una región modificada es rápido. Esto es fundamental para el esculpido en tiempo real: cuando un jugador edita terreno cerca del límite de un LOD, solo es necesario reconstruir las celdas de transición.</p>
<p>Existe una implementación en Rust como el crate <code>transvoxel</code>. Las tablas de consulta originales están disponibles en transvoxel.org.</p>
<h2 id="matematicas-de-los-pinceles" tabindex="-1">Matemáticas de los pinceles <a class="header-anchor" href="#matematicas-de-los-pinceles" aria-label="Permalink to &quot;Matemáticas de los pinceles&quot;"></a></h2>
<p>Un pincel de esculpido es una función que modifica los valores del campo escalar dentro de un radio alrededor de un punto objetivo. Las matemáticas son sorprendentemente similares en todas las implementaciones, desde Blender hasta Unreal Engine y los sistemas de juego en tiempo de ejecución.</p>
<h3 id="funciones-de-atenuacion" tabindex="-1">Funciones de atenuación <a class="header-anchor" href="#funciones-de-atenuacion" aria-label="Permalink to &quot;Funciones de atenuación&quot;"></a></h3>
<p>La atenuación del pincel determina cómo disminuye la intensidad de la edición desde el centro hasta el borde. Blender 5.1 define estos perfiles estándar:</p>
<p><strong>Suave:</strong> <code>f(d) = 3d^2 - 2d^3</code> (interpolación de Hermite, el mismo smoothstep que en nuestro noise.ts)</p>
<p><strong>Esfera:</strong> Intensa en el centro, con una atenuación pronunciada cerca del borde. Se aproxima como <code>f(d) = sqrt(1 - d^2)</code>.</p>
<p><strong>Afilada:</strong> <code>f(d) = (1 - d)^n</code> con n &gt; 2. Crea una punta fina.</p>
<p><strong>Lineal:</strong> <code>f(d) = 1 - d</code>, donde d es la distancia normalizada desde el centro —0 en el centro y 1 en el borde—.</p>
<p><strong>Constante:</strong> <code>f(d) = 1</code> para <code>d &lt; 1</code>, con un corte abrupto en el límite del pincel.</p>
<p><strong>Cuadrática inversa:</strong> Híbrido entre suave y esfera que proporciona una sensación natural, similar a la arcilla.</p>
<p>En todos los casos, <code>d = distance_to_center / brush_radius</code>, limitado al intervalo [0, 1]. El valor de atenuación multiplica la intensidad del pincel para producir la modificación real del campo en cada punto.</p>
<h3 id="espacio-de-atenuacion" tabindex="-1">Espacio de atenuación <a class="header-anchor" href="#espacio-de-atenuacion" aria-label="Permalink to &quot;Espacio de atenuación&quot;"></a></h3>
<p>Blender distingue entre la <strong>atenuación esférica</strong> —distancia calculada en el espacio 3D del mundo— y la <strong>atenuación proyectada</strong> —distancia calculada en el espacio 2D de la pantalla—. La atenuación proyectada significa que dos puntos que parecen cercanos en pantalla se afectan por igual, aunque se encuentren a profundidades muy distintas en el espacio del mundo. Para esculpir terreno, la atenuación en el espacio 3D del mundo suele resultar más intuitiva.</p>
<h3 id="operaciones-principales-de-los-pinceles" tabindex="-1">Operaciones principales de los pinceles <a class="header-anchor" href="#operaciones-principales-de-los-pinceles" aria-label="Permalink to &quot;Operaciones principales de los pinceles&quot;"></a></h3>
<p><strong>Elevar/bajar (desplazamiento):</strong> Suma o resta valores del campo escalar dentro del radio del pincel, ponderados por la atenuación. Para mapas de altura: <code>height[i] += strength * falloff(d)</code>. Para SDF: <code>sdf[i] -= strength * falloff(d)</code> —restar hace que el material sea más sólido y eleva la superficie—.</p>
<p><strong>Suavizar (laplaciano):</strong> Sustituye cada valor por el promedio de sus vecinos, ponderado por la atenuación. Esto elimina detalles y reduce el ruido. El filtro laplaciano muestrea un kernel pequeño —3x3 para mapas de altura y 3x3x3 para volúmenes— y mezcla el valor hacia la media. El suavizado HC —Humphrey's Classes— es una variante que conserva mejor el volumen que el laplaciano puro.</p>
<p><strong>Aplanar:</strong> Ajusta el valor del campo a una altura objetivo —o una distancia en el espacio SDF—, mezclándolo según la atenuación. El objetivo suele muestrearse en el centro del pincel cuando comienza el trazo y después se mantiene constante. Esto crea mesetas planas.</p>
<p><strong>Pellizcar/inflar:</strong> Mueve los vértices hacia la normal de la superficie o en dirección contraria. En el espacio SDF, esto equivale a desplazar a lo largo de la dirección del gradiente.</p>
<p><strong>Agarrar:</strong> Traslada una región del campo como si se tirara de arcilla. El vector de desplazamiento es el delta del ratón proyectado en el espacio del mundo y se aplica a los valores del campo dentro del radio.</p>
<p><strong>Ruido:</strong> Añade ruido procedimental al campo dentro del radio del pincel. Resulta útil para dar rugosidad a superficies lisas.</p>
<p><strong>Estampar:</strong> Aplica una imagen 2D en escala de grises como desplazamiento y la proyecta sobre la superficie situada bajo el cursor. La herramienta Landscape de Unreal Engine admite esta función para pinceles de terreno.</p>
<h3 id="teselacion-adaptativa" tabindex="-1">Teselación adaptativa <a class="header-anchor" href="#teselacion-adaptativa" aria-label="Permalink to &quot;Teselación adaptativa&quot;"></a></h3>
<p><code>sculpt-3D</code> —esculpido para navegador con React y Three.js— implementa teselación adaptativa: a medida que el pincel se desplaza por la malla, los triángulos cercanos a su centro se subdividen para proporcionar más vértices que deformar. Esto evita el problema del «estiramiento low-poly», en el que una malla de baja resolución se distorsiona al esculpirla. La subdivisión utiliza divisiones simétricas para mantener uniforme la calidad de los triángulos.</p>
<p>En los sistemas volumétricos, la teselación adaptativa no se necesita de la misma manera porque la malla se regenera a partir del campo. En su lugar, se puede aumentar localmente la resolución de los vóxeles cerca de las ediciones —mediante octrees adaptativos— para obtener el mismo efecto.</p>
<h2 id="esculpido-con-sdf-el-enfoque-de-dreams" tabindex="-1">Esculpido con SDF: el enfoque de Dreams <a class="header-anchor" href="#esculpido-con-sdf-el-enfoque-de-dreams" aria-label="Permalink to &quot;Esculpido con SDF: el enfoque de Dreams&quot;"></a></h2>
<p>Dreams de Media Molecule (PS4, 2020) es el sistema de esculpido dentro de un juego más ambicioso que se ha publicado. Alex Evans presentó el enfoque técnico en SIGGRAPH 2015.</p>
<h3 id="representacion" tabindex="-1">Representación <a class="header-anchor" href="#representacion" aria-label="Permalink to &quot;Representación&quot;"></a></h3>
<p>Dreams almacena la geometría como una función SDF compuesta en bloques de texturas volumétricas fp16 de 83^3. Cada escultura es una lista de entre 1 y 100.000 «ediciones», donde cada edición es una operación CSG —añadir, restar o colorear— con una forma primitiva —esfera, cubo, cilindro, cono, elipsoide, toroide, etc.— y un modo de mezcla.
Los modos de fusión utilizan funciones de máximo suave y mínimo suave. Una fusión «suave» produce transiciones redondeadas entre primitivas, como si se unieran piezas de arcilla. Una fusión «dura» produce cortes booleanos nítidos. El usuario puede controlar el radio de fusión.</p>
<h3 id="renderizado" tabindex="-1">Renderizado <a class="header-anchor" href="#renderizado" aria-label="Permalink to &quot;Renderizado&quot;"></a></h3>
<p>Dreams no extrae una malla de triángulos. En su lugar, renderiza directamente desde el SDF mediante un renderizador de nubes de puntos personalizado («flecks»). Cada fleck es un disco diminuto orientado según la normal de la superficie. Se muestrea el SDF para encontrar superficies y se distribuyen flecks sobre ellas. Esto evita por completo el cuello de botella de la extracción de mallas, pero requiere un renderizador personalizado.</p>
<p>Este enfoque no puede aplicarse directamente a un mundo de Three.js/WebGL. Tendríamos que extraer mallas. Sin embargo, el concepto de una lista de ediciones CSG resulta muy relevante para deshacer/rehacer y para la sincronización de red.</p>
<h2 id="motor-sdf-dinamico-de-mike-turitzin-2026" tabindex="-1">Motor SDF dinámico de Mike Turitzin (2026) <a class="header-anchor" href="#motor-sdf-dinamico-de-mike-turitzin-2026" aria-label="Permalink to &quot;Motor SDF dinámico de Mike Turitzin (2026)&quot;"></a></h2>
<p>Un motor de juegos que Mike Turitzin está desarrollando actualmente utiliza SDF dinámicos como representación principal. El motor admite:</p>
<p><strong>Modificaciones detalladas durante la partida:</strong> añadir y eliminar materia de forma suave o con bordes definidos. Cambios no destructivos, como mover agujeros o crear túneles temporales que desaparecen detrás del jugador.</p>
<p><strong>Mapas y atlas de bricks</strong> para almacenamiento en caché disperso. En lugar de almacenar todo el campo SDF en una cuadrícula 3D densa, el campo se divide en «bricks» (pequeños bloques 3D). Solo se asignan los bricks que contienen el límite de la superficie. Esto reduce drásticamente el uso de memoria en escenas compuestas principalmente por espacio vacío o sólido.</p>
<p><strong>Clipmaps de geometría</strong> (Losasso y Hoppe, SIGGRAPH 2004) para el LOD. Alrededor de la cámara se disponen cuadrículas regulares anidadas con resoluciones crecientes. La cuadrícula más interna tiene la resolución más alta y las exteriores son progresivamente menos detalladas. Esto reduce drásticamente el uso de memoria y, al mismo tiempo, permite trabajar con espacios enormes. Los clipmaps se actualizan de forma incremental a medida que se mueve la cámara, por lo que resultan eficientes para el streaming de mundos abiertos.</p>
<p><strong>La física y las colisiones</strong> operan directamente sobre el SDF. El trazado de esferas (ray marching con la distancia del SDF como tamaño de paso) permite realizar raycasts de forma eficiente. La detección de colisiones utiliza el gradiente del SDF como normal de la superficie y el valor de distancia como profundidad de penetración.</p>
<h2 id="teardown-destruccion-de-voxeles-a-gran-escala" tabindex="-1">Teardown: destrucción de vóxeles a gran escala <a class="header-anchor" href="#teardown-destruccion-de-voxeles-a-gran-escala" aria-label="Permalink to &quot;Teardown: destrucción de vóxeles a gran escala&quot;"></a></h2>
<p>Teardown (Voxagon) representa el otro extremo del espectro: cada objeto del mundo es un volumen de vóxeles que puede destruirse pieza a pieza.</p>
<h3 id="arquitectura" tabindex="-1">Arquitectura <a class="header-anchor" href="#arquitectura" aria-label="Permalink to &quot;Arquitectura&quot;"></a></h3>
<p>Los objetos se almacenan como cuadrículas de vóxeles con espaciado regular. El motor no utiliza Marching Cubes ni SDF para el renderizado. En su lugar, traza rayos directamente contra los vóxeles mediante un algoritmo DDA (Digital Differential Analyzer) modificado en shaders de fragmentos, implementado sobre OpenGL 3.3. Los mipmaps forman una estructura de octree densa que acelera el recorrido del espacio vacío durante la intersección de los rayos.</p>
<p>Para cada objeto, el motor rasteriza su caja delimitadora orientada (OBB) y traza un rayo a través de ella para encontrar intersecciones con los vóxeles. Solo se renderizan las caras posteriores de la OBB, lo que permite que la cámara entre en el volumen delimitador.</p>
<h3 id="sincronizacion-de-la-destruccion-multijugador" tabindex="-1">Sincronización de la destrucción (multijugador) <a class="header-anchor" href="#sincronizacion-de-la-destruccion-multijugador" aria-label="Permalink to &quot;Sincronización de la destrucción (multijugador)&quot;"></a></h3>
<p>La actualización multijugador de Teardown de marzo de 2026 utiliza un enfoque semideterminista. La destrucción estructural (abrir agujeros, cambiar la propiedad o reconectar uniones) se gestiona mediante aritmética de enteros de punto fijo a través de un flujo de red fiable. Todos los clientes ejecutan los mismos comandos deterministas y llegan al mismo estado del mundo. Los cambios no estructurales (escombros y partículas) utilizan una sincronización de estado no fiable.</p>
<p>Esta es una conclusión importante para nuestro mundo multijugador: las ediciones del terreno deben ser deterministas. Si el jugador A esculpe una montaña, todos los clientes deben producir la misma malla a partir de los mismos datos de campo. Los comandos de edición (posición, radio y fuerza del pincel, y tipo de operación) deben ser los datos autoritativos, no la malla resultante.</p>
<h2 id="alice-sdf-compresion-y-arboles-csg" tabindex="-1">ALICE-SDF: compresión y árboles CSG <a class="header-anchor" href="#alice-sdf-compresion-y-arboles-csg" aria-label="Permalink to &quot;ALICE-SDF: compresión y árboles CSG&quot;"></a></h2>
<p>ALICE-SDF (Adaptive Lightweight Implicit Compression Engine, v1.3.0 de marzo de 2026) proporciona una implementación en Rust de datos espaciales basados en SDF con una compresión de entre 10 y 1000 veces superior a la de las mallas poligonales. Admite:</p>
<p><strong>126 bloques de construcción:</strong> 72 primitivas, 24 operaciones, 7 transformaciones y 23 modificadores. Operaciones de fusión suave (unión, sustracción e intersección), así como fusiones de bisel y escalones para crear biseles de bordes duros y transiciones CSG escalonadas.</p>
<p><strong>Diff/patch de árboles CSG</strong> para deshacer/rehacer y sincronizar a través de la red. Esta es la función clave para el esculpido multijugador: en lugar de enviar el estado completo del campo, se envía la diferencia estructural entre dos árboles CSG. El cliente aplica el parche para reconstruir el nuevo estado. Esto consume mucho menos ancho de banda que aplicar compresión delta a datos de vóxeles sin procesar.</p>
<p><strong>Optimización de árboles CSG</strong>, incluida la eliminación de transformaciones identidad, la combinación de transformaciones anidadas y la degradación de modificadores. Esto mantiene compacto el árbol a medida que se acumulan las ediciones.</p>
<p><strong>Generación de mallas</strong> mediante Marching Cubes y Dual Contouring. La detección de colisiones físicas opera directamente sobre el SDF.</p>
<p><strong>Compatibilidad con WebAssembly</strong> para facilitar la integración en el navegador. El motor está escrito en Rust y dispone de bindings para WASM, por lo que es una opción realista para una aplicación Three.js.</p>
<h2 id="computo-con-webgpu-para-terrenos" tabindex="-1">Cómputo con WebGPU para terrenos <a class="header-anchor" href="#computo-con-webgpu-para-terrenos" aria-label="Permalink to &quot;Cómputo con WebGPU para terrenos&quot;"></a></h2>
<p>Desde finales de 2025, WebGPU está disponible en todos los navegadores principales. Chrome 113+, Edge 113+, Firefox 141+ y Safari 26+ lo incluyen habilitado. Esto permite utilizar pipelines de shaders de cómputo que anteriormente solo estaban disponibles en la GPU.</p>
<h3 id="rendimiento" tabindex="-1">Rendimiento <a class="header-anchor" href="#rendimiento" aria-label="Permalink to &quot;Rendimiento&quot;"></a></h3>
<p>Gracias al paralelismo masivo, los shaders de cómputo de WebGPU generan terrenos aproximadamente 100 veces más rápido que los métodos basados en CPU. La GPU ejecuta miles de cálculos simultáneamente y la generación de terreno es casi totalmente paralela, ya que cada vértice o vóxel es independiente.</p>
<p>El trabajo se organiza en tres niveles: nivel de despacho (distribución de la carga de trabajo por la GPU), nivel de grupo de trabajo (memoria compartida dentro de una unidad de procesamiento) y nivel de hilo (cálculos individuales). WGSL (WebGPU Shading Language) es el lenguaje de shaders.</p>
<h3 id="pipeline-de-esculpido-de-terreno-en-tiempo-real" tabindex="-1">Pipeline de esculpido de terreno en tiempo real <a class="header-anchor" href="#pipeline-de-esculpido-de-terreno-en-tiempo-real" aria-label="Permalink to &quot;Pipeline de esculpido de terreno en tiempo real&quot;"></a></h3>
<p>Un pipeline de esculpido con WebGPU tendría este aspecto:</p>
<ol>
<li>
<p><strong>Aplicación del pincel</strong> (shader de cómputo): actualizar los valores del campo escalar dentro del radio del pincel. Cada hilo se encarga de un vóxel. Lee los parámetros del pincel (posición, radio, fuerza, tipo de atenuación y operación) desde un búfer uniforme y aplica la modificación.</p>
</li>
<li>
<p><strong>Extracción de la malla</strong> (shader de cómputo): ejecutar Surface Nets o Marching Cubes en la región modificada. El editor SDF para WebGPU de Nijhoff lo implementa como un pipeline de varias etapas: partición espacial en 16 384 celdas, subdivisión de celdas basada en octrees y, después, extracción de la superficie.</p>
</li>
<li>
<p><strong>Actualización del búfer de vértices</strong> (en la GPU): escribir los vértices extraídos directamente en un búfer de renderizado sin hacer un recorrido de ida y vuelta por la memoria de la CPU.</p>
</li>
<li>
<p><strong>Cálculo de normales</strong> (shader de cómputo): calcular las normales de los vértices a partir de la malla o del gradiente del SDF.</p>
</li>
<li>
<p><strong>Renderizado</strong> (pipeline estándar): dibujar la malla con materiales PBR estándar.</p>
</li>
</ol>
<p>Los pasos 1-4 pueden ejecutarse íntegramente en la GPU sin devolver ningún dato a JavaScript. La CPU solo tiene que enviar los parámetros del pincel en cada fotograma.</p>
<h3 id="el-editor-sdf-para-webgpu" tabindex="-1">El editor SDF para WebGPU <a class="header-anchor" href="#el-editor-sdf-para-webgpu" aria-label="Permalink to &quot;El editor SDF para WebGPU&quot;"></a></h3>
<p>El editor SDF para WebGPU de Reinder Nijhoff (enero de 2026) demuestra este enfoque en Chrome. Admite seis primitivas (cono, cilindro, cápsula, toro, caja y esfera), tres operaciones de fusión (unión, sustracción e intersección) con fusión suave configurable y grafos de escena jerárquicos. Cada primitiva ocupa 112 bytes en un único búfer de la GPU.</p>
<p>El pipeline de renderizado utiliza 1024 mapas de sombras para la oclusión ambiental y antialiasing temporal. Funciona a tasas de fotogramas interactivas en GPU de gama alta.</p>
<h2 id="esculpido-de-mapas-de-alturas-el-camino-mas-sencillo" tabindex="-1">Esculpido de mapas de alturas: el camino más sencillo <a class="header-anchor" href="#esculpido-de-mapas-de-alturas-el-camino-mas-sencillo" aria-label="Permalink to &quot;Esculpido de mapas de alturas: el camino más sencillo&quot;"></a></h2>
<p>Si no es necesario admitir cuevas ni salientes, el esculpido de mapas de alturas evita por completo el pipeline volumétrico. Así es como la mayoría de los juegos publicados gestionan la edición de terrenos.</p>
<h3 id="patron-de-implementacion-en-tiempo-de-ejecucion" tabindex="-1">Patrón de implementación en tiempo de ejecución <a class="header-anchor" href="#patron-de-implementacion-en-tiempo-de-ejecucion" aria-label="Permalink to &quot;Patrón de implementación en tiempo de ejecución&quot;"></a></h3>
<p>Unity Runtime Terrain (JohannHotzel, enero de 2026) muestra el patrón estándar:</p>
<ol>
<li><strong>Lanzar un rayo</strong> desde la cámara a través de la posición del ratón para encontrar el punto de impacto sobre el terreno.</li>
<li><strong>Convertir el punto de impacto</strong> a coordenadas del mapa de alturas.</li>
<li><strong>Aplicar el pincel</strong> a los valores cercanos del mapa de alturas, ponderados según la atenuación.</li>
<li><strong>Actualizar la malla</strong> estableciendo las posiciones Y de los vértices a partir del mapa de alturas modificado.</li>
<li><strong>Reconstruir el colisionador físico</strong> para que coincida con la nueva malla.</li>
</ol>
<p>En nuestro terreno de Three.js, los pasos 1-4 encajan directamente en la arquitectura existente. La clase <code>Chunk</code> ya almacena mapas de alturas y construye mallas a partir de ellos. Añadir el esculpido supondría:</p>
<ul>
<li>Un sistema de raycasting contra las mallas de los chunks (<code>Raycaster</code> de Three.js)</li>
<li>Funciones de aplicación del pincel que modifiquen los valores de <code>chunk.heightmap</code></li>
<li>Actualizaciones de los vértices de la malla (establecer las posiciones Y y recalcular las normales)</li>
<li>Recálculo del mapa splat para la región afectada, de modo que la mezcla de texturas refleje la nueva pendiente o altura</li>
<li>Difusión de la edición por la red (posición, radio y fuerza del pincel, y operación) a los demás clientes mediante el protocolo WebSocket existente</li>
</ul>
<h3 id="el-enfoque-de-clipmaps" tabindex="-1">El enfoque de clipmaps <a class="header-anchor" href="#el-enfoque-de-clipmaps" aria-label="Permalink to &quot;El enfoque de clipmaps&quot;"></a></h3>
<p>Landow.dev describe un «clipmap errante» para terrenos basados en mapas de alturas: una única malla con una densidad de subdivisión variable que sigue al jugador. En lugar de dividir el mapa de alturas en mallas separadas con distintos niveles de LOD, como hacemos ahora, el clipmap es una malla continua con alta densidad cerca de la cámara y menor densidad en los bordes.</p>
<p>Esto elimina por completo la necesidad de unir niveles de LOD. La malla simplemente tiene más triángulos donde se necesitan y menos donde no. La contrapartida es que el esculpido exige actualizar una única malla grande en lugar de chunks individuales, lo que puede resultar costoso para ediciones extensas.</p>
<h3 id="mapas-de-alturas-sdf-no-destructivos" tabindex="-1">Mapas de alturas SDF no destructivos <a class="header-anchor" href="#mapas-de-alturas-sdf-no-destructivos" aria-label="Permalink to &quot;Mapas de alturas SDF no destructivos&quot;"></a></h3>
<p>Landow.dev también describe una técnica en la que el propio mapa de alturas se genera a partir de una composición SDF. Las instancias de formas (esferas, cajas y funciones de ruido) se combinan en un shader de cómputo mediante operaciones CSG, y el resultado se muestrea como un mapa de alturas. Esto permite una edición no destructiva —se puede mover o eliminar cualquier instancia de forma en cualquier momento— sin renunciar a la sencillez del renderizado mediante mapas de alturas.</p>
<p>Se trata de un híbrido muy atractivo: la representación de datos es volumétrica (un árbol CSG de SDF), pero la ruta de renderizado utiliza una malla estándar de mapa de alturas. El lado SDF aporta las operaciones de edición fáciles de deshacer, rehacer y sincronizar por red, mientras que el lado del mapa de alturas ofrece un renderizado y una física sencillos. La limitación permanece: no admite cuevas ni salientes.</p>
<h2 id="octrees-de-voxeles-dispersos-para-mundos-grandes" tabindex="-1">Octrees de vóxeles dispersos para mundos grandes <a class="header-anchor" href="#octrees-de-voxeles-dispersos-para-mundos-grandes" aria-label="Permalink to &quot;Octrees de vóxeles dispersos para mundos grandes&quot;"></a></h2>
<p>Las cuadrículas 3D densas no escalan. Un mundo de 1 km por lado con una resolución de 0,5 m necesitaría 8000 millones de vóxeles. Los octrees de vóxeles dispersos (SVO) resuelven este problema subdividiendo recursivamente el espacio y asignando almacenamiento únicamente a los octantes que contienen el límite de la superficie.</p>
<p>Un SVO proporciona LOD jerárquico de forma natural: la profundidad del árbol en cada punto determina la resolución efectiva. Cerca del jugador, el árbol está totalmente expandido y ofrece el máximo detalle. A lo lejos, se trunca en un nivel menos detallado.</p>
<p>Para el renderizado, los SVO pueden trazarse directamente mediante rayos, sin necesidad de extraer una malla. Un ray marcher de GPU intersecta los rayos con cajas alineadas con los ejes en cada nivel del árbol y omite por completo los subárboles vacíos. Esto elimina los problemas de sobredibujado del renderizado basado en chunks y evita los artefactos del mallado voraz.</p>
<p>El constructor de SVO basado en Vulkan de AdamYuan demuestra un rendimiento notable: 19 ms para construir Crytek Sponza con una resolución de 2^10 en una GTX 1660 Ti.</p>
<p>La modificación de SVO es eficiente para el esculpido: solo es necesario actualizar los nodos hoja que estén dentro del radio del pincel, y la estructura del árbol gestiona de forma natural las distintas resoluciones. La propia estructura de datos permite añadir detalle donde esculpe el jugador —dividiendo los nodos para obtener una resolución mayor— y reducirlo donde suaviza —fusionando los nodos para obtener una resolución menor—.</p>
<p>El reto para el despliegue en navegadores es que WebGL no admite shaders de cómputo y, aunque WebGPU sí lo hace, los algoritmos de construcción y recorrido de SVO son complejos de implementar en WGSL.</p>
<h2 id="sincronizacion-de-red-para-el-esculpido-multijugador" tabindex="-1">Sincronización de red para el esculpido multijugador <a class="header-anchor" href="#sincronizacion-de-red-para-el-esculpido-multijugador" aria-label="Permalink to &quot;Sincronización de red para el esculpido multijugador&quot;"></a></h2>
<p>Nuestro mundo ya ofrece multijugador mediante Cloudflare Durable Objects (<code>world-chunk-do.ts</code>). Añadir el esculpido implica sincronizar las modificaciones del terreno entre todos los clientes conectados.</p>
<h3 id="compresion-delta" tabindex="-1">Compresión delta <a class="header-anchor" href="#compresion-delta" aria-label="Permalink to &quot;Compresión delta&quot;"></a></h3>
<p>Enviar datos de vóxeles sin procesar resulta costoso. Un estudio de 2024 de la Universidad de Oulu logró mejorar el tamaño de la carga útil entre 2 y 8 veces combinando la codificación delta con la compresión DEFLATE, y empaquetó las actualizaciones de vóxeles en menos de un byte por vóxel. El códec SDEC demuestra que la codificación delta empaquetada en bits produce paquetes con un tamaño medio de 259 bytes, frente a los 1114 bytes de una serialización genérica.</p>
<h3 id="sincronizacion-basada-en-operaciones-recomendada" tabindex="-1">Sincronización basada en operaciones (recomendada) <a class="header-anchor" href="#sincronizacion-basada-en-operaciones-recomendada" aria-label="Permalink to &quot;Sincronización basada en operaciones (recomendada)&quot;"></a></h3>
<p>En lugar de sincronizar el estado del campo, se sincronizan las operaciones. Cada acción de esculpido se convierte en un mensaje:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> TerrainEditMsg</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  t</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> MsgType</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">TerrainEdit</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  brush</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    position</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    radius</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    strength</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    falloff</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'smooth'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'linear'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'sharp'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'constant'</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    operation</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'raise'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'lower'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'smooth'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'flatten'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'noise'</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    targetHeight</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">?:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>El servidor difunde este mensaje a todos los clientes, y cada cliente aplica la misma operación determinista del pincel a sus datos locales del terreno. Es el mismo enfoque que utiliza Teardown para la destrucción estructural: comandos deterministas transmitidos por un flujo fiable.</p>
<p>El sistema diff/patch de árboles CSG de ALICE-SDF lleva esta idea más lejos: en lugar de representar pinceladas individuales, la diferencia representa el cambio estructural de todo el árbol CSG. Esto permite deshacer y rehacer de forma eficiente a través de la red —enviando el parche inverso—, y los clientes que se conecten más tarde pueden reconstruir el estado completo del mundo reproduciendo el registro de operaciones.</p>
<h3 id="prioridad-y-limitacion-de-frecuencia" tabindex="-1">Prioridad y limitación de frecuencia <a class="header-anchor" href="#prioridad-y-limitacion-de-frecuencia" aria-label="Permalink to &quot;Prioridad y limitación de frecuencia&quot;"></a></h3>
<p>Las ediciones del terreno cercanas a jugadores conectados deben tener una prioridad alta y difundirse de inmediato. Las ediciones alejadas de cualquier jugador pueden agruparse y enviarse con menor frecuencia. La red de vóxeles de Enshrouded utiliza este patrón: actualizaciones a 60 Hz para el terreno próximo a los jugadores y a 10 Hz para las regiones en segundo plano.</p>
<p>La compresión ZSTD durante la transmisión reduce hasta un 60 % el tamaño de los paquetes de mensajes de actualización del terreno.</p>
<h2 id="esculpido-colaborativo-ediciones-simultaneas" tabindex="-1">Esculpido colaborativo: ediciones simultáneas <a class="header-anchor" href="#esculpido-colaborativo-ediciones-simultaneas" aria-label="Permalink to &quot;Esculpido colaborativo: ediciones simultáneas&quot;"></a></h2>
<p>Cuando varios jugadores esculpen simultáneamente la misma región, es necesario resolver los conflictos. <code>cSculpt</code> (CNR Visual Computing Lab, 2016) resolvió este problema con un algoritmo de fusión multirresolución. Cada edición se representa a múltiples escalas, y las ediciones simultáneas que se solapan se fusionan combinando sus representaciones multirresolución.
Para nuestros fines, funciona un enfoque más sencillo: prevalece la última escritura según el orden del servidor. El Durable Object asigna una marca de tiempo a cada edición y las difunde en orden. Todos los clientes aplican las ediciones en la misma secuencia. Como las pinceladas son pequeñas, localizadas y aditivas o sustractivas, el resultado visual de reordenar ligeramente las ediciones simultáneas suele ser indistinguible del orden «correcto».</p>
<h2 id="inst-sculpt-edicion-neuronal-de-sdf-frontera-de-investigacion" tabindex="-1">INST-Sculpt: edición neuronal de SDF (frontera de investigación) <a class="header-anchor" href="#inst-sculpt-edicion-neuronal-de-sdf-frontera-de-investigacion" aria-label="Permalink to &quot;INST-Sculpt: edición neuronal de SDF (frontera de investigación)&quot;"></a></h2>
<p>INST-Sculpt (arxiv 2502.02891, febrero de 2025) permite editar SDF neuronales mediante pinceladas. Los usuarios dibujan trazos sobre la superficie y el sistema deforma el campo neuronal subyacente a lo largo de zonas tubulares alrededor del recorrido del trazo. Los perfiles de pincel personalizados (secciones transversales configurables) controlan la forma de la deformación.</p>
<p>Esto resulta interesante para terrenos generados por IA: si el mundo base se representa como un SDF neuronal (una pequeña red neuronal que transforma coordenadas 3D en distancias con signo), el esculpido modifica los pesos de la red en lugar de datos explícitos de vóxeles. La representación es extremadamente compacta (unos pocos MB para un mundo entero), pero evaluarla resulta más costoso que consultar una tabla.</p>
<p>Esta tecnología todavía se encuentra en fase de investigación. Actualmente, el coste de inferencia de los SDF neuronales en hardware de consumo es demasiado alto para usarlos en juegos en tiempo real. Sin embargo, merece la pena seguir su evolución, especialmente a medida que mejoren las capacidades de los shaders de WebGPU y se acelere la inferencia de modelos.</p>
<h2 id="world-creator-2026-3-lo-ultimo-en-terrenos-comerciales" tabindex="-1">World Creator 2026.3: lo último en terrenos comerciales <a class="header-anchor" href="#world-creator-2026-3-lo-ultimo-en-terrenos-comerciales" aria-label="Permalink to &quot;World Creator 2026.3: lo último en terrenos comerciales&quot;"></a></h2>
<p>World Creator (BiteTheBytes, marzo de 2026) representa lo último en herramientas comerciales para la creación de terrenos. La versión 2026.3 añadió generación de terrenos basada en GPU con adaptación automática del terreno (el terreno se ajusta a los objetos colocados), distribución de objetos centrada en la cámara para optimizar el LOD e importación de datos de elevación reales (GeoTIFF, HGT y DTED).</p>
<p>Desde entonces, World Creator 2026.4 (28 de abril de 2026) añadió expresiones matemáticas en campos numéricos, mezcla de normales del terreno para integrar objetos principales en la superficie, compatibilidad completa con calcomanías y escalado según la VRAM que ajusta el número máximo de objetos a la memoria de GPU disponible. BiteTheBytes también publicó una Community Edition gratuita con todas las funciones, pero sin posibilidad de exportar, lo que en la práctica supone una prueba ilimitada.</p>
<p>Su enfoque utiliza cómputo en GPU para todas las operaciones del terreno: simulación de erosión, excavación de ríos y pintura de texturas. Las herramientas de pincel están aceleradas por GPU y ofrecen respuesta en tiempo real en el visor. Esto coincide con el proceso de cómputo de WebGPU descrito anteriormente, ejecutado en GPU de escritorio.</p>
<h2 id="lo-que-ya-hemos-creado-24-prototipos-y-un-mundo-en-produccion" tabindex="-1">Lo que ya hemos creado: 24 prototipos y un mundo en producción <a class="header-anchor" href="#lo-que-ya-hemos-creado-24-prototipos-y-un-mundo-en-produccion" aria-label="Permalink to &quot;Lo que ya hemos creado: 24 prototipos y un mundo en producción&quot;"></a></h2>
<p>El directorio <code>world/spikes/</code> contiene 24 prototipos independientes. No son demostraciones de juguete. Forman un proceso progresivo de I+D en el que cada prototipo resolvió un problema específico, midió su rendimiento respecto a un objetivo y sirvió de base para el siguiente. El sistema de esculpido se apoya en todos ellos, no solo en los prototipos volumétricos posteriores.</p>
<h3 id="el-terreno-de-mapa-de-alturas-en-produccion-world-client" tabindex="-1">El terreno de mapa de alturas en producción (<code>world/client/</code>) <a class="header-anchor" href="#el-terreno-de-mapa-de-alturas-en-produccion-world-client" aria-label="Permalink to &quot;El terreno de mapa de alturas en producción (`world/client/`)&quot;"></a></h3>
<p>El mundo activo utiliza un sistema segmentado de mapas de alturas en Three.js WebGL:</p>
<ul>
<li><code>noise.ts</code> genera la altura del terreno mediante ruido de valores FBM (5 octavas para colinas, 4 para crestas y 3 para microdetalle) con una función determinista <code>terrainHeight(wx, wz)</code></li>
<li><code>chunk.ts</code> crea mallas <code>PlaneGeometry</code> a partir de mapas de alturas <code>Float32Array</code> con 3 niveles de LOD (32/8/4 segmentos por chunk de 64 unidades) y coloca árboles y carteles instanciados mediante una distribución aleatoria con semilla y colisionadores individuales por objeto</li>
<li><code>chunk-manager.ts</code> transmite chunks en anillos alrededor del jugador (radio 1 en LOD0, radio 3 en LOD1 y radio 6 en LOD2), conecta los bordes mediante interpolación lineal en <code>stitchEdge()</code> y proporciona <code>getHeight()</code>, <code>getNormal()</code> y <code>resolveCollisions()</code> a la capa de físicas</li>
<li><code>terrain-material.ts</code> realiza una mezcla de texturas basada en mapas de salpicado con 4 capas (hierba/roca/arena/tierra) mediante <code>MeshStandardMaterial.onBeforeCompile</code>, con pesos determinados por la pendiente y la altura, además de mezcla de mapas de normales por capa</li>
<li><code>character-controller.ts</code> muestrea la altura del terreno en cada fotograma para gestionar la gravedad, el contacto con el suelo y el rechazo de pendientes (coseno máximo de pendiente de 50 grados). El esculpido debe suministrar de inmediato las alturas modificadas a este sistema o el jugador atravesará el terreno editado</li>
<li><code>placement.ts</code> ya dispone de un <code>Raycaster</code> que detecta las mallas de los chunks para la herramienta de colocación de objetos. La herramienta de pincel debería seguir exactamente este patrón en lugar de implementar la detección por rayos desde cero</li>
<li><code>protocol.ts</code> define mensajes codificados con MessagePack para la sincronización multijugador mediante el Durable Object <code>world-chunk-do.ts</code>, que actualmente gestiona mensajes <code>PlayerState</code>, <code>PlaceObject</code>, <code>RemoveObject</code> y <code>Snapshot</code>. Las ediciones del terreno necesitarán un nuevo tipo de mensaje</li>
<li><code>world-chunk-do.ts</code> (Cloudflare Worker) conserva los objetos colocados en el almacenamiento del Durable Object y los difunde a los jugadores conectados a intervalos de 50 ms. Todavía no contempla las modificaciones del terreno</li>
</ul>
<h3 id="prototipos-01-11-la-capa-base" tabindex="-1">Prototipos 01-11: la capa base <a class="header-anchor" href="#prototipos-01-11-la-capa-base" aria-label="Permalink to &quot;Prototipos 01-11: la capa base&quot;"></a></h3>
<p>Estos prototipos validaron los sistemas fundamentales de los que dependerá el esculpido. Omitirlos implica pasar por alto restricciones que el sistema de esculpido debe respetar.</p>
<p><strong>Prototipo 01 (Terreno + instanciación):</strong> El primer prototipo de terreno en Three.js. Estableció el patrón de PlaneGeometry + mapa de alturas y la colocación de objetos instanciados que <code>chunk.ts</code> todavía utiliza.</p>
<p><strong>Prototipo 02 (Worker de físicas Rapier):</strong> Rapier 3D ejecutándose en un Web Worker con un colisionador <code>ColliderDesc.heightfield()</code>. Se creó un controlador de personaje cinemático con subida automática de escalones, límites de pendiente y ajuste al suelo. Este prototipo demostró que las físicas pueden ejecutarse fuera del hilo principal usando un campo de alturas. Si esculpimos el terreno, habrá que reconstruir el campo de alturas de las físicas o sustituirlo por un colisionador de malla triangular para los chunks MC.</p>
<p><strong>Prototipo 05 (Comportamientos con LLM):</strong> No está relacionado directamente con el terreno, pero estableció el esquema JSON de comportamiento para los objetos del juego. Es relevante porque las formas esculpidas del terreno podrían activar comportamientos (por ejemplo, un río excavado genera efectos de agua).</p>
<p><strong>Prototipo 06 (Transmisión de chunks):</strong> Primer sistema de carga e intercambio de chunks, con carga dinámica a medida que se mueve el jugador. Estableció el patrón que utiliza <code>chunk-manager.ts</code>: regiones coloreadas que se cargan y descargan. El esculpido debe conservar el estado de las ediciones cuando los chunks se descarguen y vuelvan a cargarse.</p>
<p><strong>Prototipo 07 (Vegetación en GPU a partir de mapas de densidad):</strong> Hierba y árboles instanciados colocados mediante mapas de densidad que muestrean la altura y la pendiente del terreno. El esculpido invalida la colocación de la vegetación: si cambia la altura del terreno, los árboles pueden acabar flotando o enterrados. El mapa de densidad debe regenerarse para los chunks editados.</p>
<p><strong>Prototipo 08 (Coste del shader de material del terreno):</strong> Midió el rendimiento de la proyección triplanar, los mapas de normales y la mezcla de 4 capas. Calculó el coste exacto en ms de cada función. Determinó que la proyección triplanar + normales + 4 capas se mantiene dentro del presupuesto a más de 45 FPS. Este presupuesto es importante para el terreno esculpido: si añadimos una quinta capa para «tierra editada» o cambiamos la mezcla de las superficies excavadas, sabemos exactamente cuánto margen queda.</p>
<p><strong>Prototipo 09 (Presupuesto de sombras CSM):</strong> Mapas de sombras en cascada con 3 cascadas a una resolución de 1024^2. Midió el coste de las sombras en unos 1,5 ms. El terreno esculpido modifica los mapas de sombras, pero el coste permanece constante independientemente de la forma del terreno.</p>
<p><strong>Prototipo 10 (Clipmaps de geometría + geomorphing):</strong> Anillos de clipmap anidados con geomorphing entre niveles de LOD para eliminar las apariciones repentinas. El número constante de triángulos permite predecir el coste para la GPU. El geomorphing es importante para el esculpido: cuando el jugador esculpe cerca del límite de un LOD, la transición entre los niveles de LOD debe reflejar la edición. Si la edición solo existe en el anillo de alta resolución, el objetivo del geomorphing será incorrecto.</p>
<p><strong>Prototipo 11 (Transmisión de chunks de mapas de alturas):</strong> Transmisión de chunks más avanzada, con una cuadrícula visual que muestra los estados cargado/cargando/descargado de cada nivel de LOD. Estableció el presupuesto de transmisión: número máximo de chunks cargados por fotograma y priorización de los chunks que necesitan mejoras de LOD. El esculpido añade una nueva señal de prioridad: los chunks que el jugador esté editando activamente nunca deben descargarse.</p>
<h3 id="prototipos-12-14-integracion-de-webgpu-three-js" tabindex="-1">Prototipos 12-14: integración de WebGPU + Three.js <a class="header-anchor" href="#prototipos-12-14-integracion-de-webgpu-three-js" aria-label="Permalink to &quot;Prototipos 12-14: integración de WebGPU + Three.js&quot;"></a></h3>
<p><strong>Prototipo 12 (Marching Cubes con WebGPU):</strong> El primer prototipo volumétrico. Cuatro chunks SDF de 64^3 con cuevas esféricas animadas, ejecutado íntegramente en la GPU. Utiliza WebGPU sin abstracciones: procesos de cómputo para evaluar el SDF, extracción MC con la tabla de casos de Twinklebear (256 configuraciones, 16 entradas cada una), contador atómico de vértices y dibujo indirecto. El objetivo de rendimiento era &lt;4 ms por chunk y &lt;12 ms para los 4. Esto confirmó que MC en GPU es lo bastante rápido para volver a generar mallas en tiempo real en el navegador. Todos los prototipos volumétricos posteriores reutilizan la tabla de casos MC y los shaders WGSL definidos aquí.</p>
<p><strong>Prototipo 13 (Restablecimiento de la base desde el prototipo 12):</strong> Adaptó la ruta de dibujo de WebGPU sin abstracciones del prototipo 12 para ejecutarla dentro del <code>WebGPURenderer</code> de Three.js, accediendo directamente al <code>device</code> del backend. El proceso de renderizado sigue utilizando WebGPU sin abstracciones (<code>drawIndirect</code> con struct Vertex vec4+vec4). Esto demostró que el cómputo personalizado y el renderizado de escenas de Three.js pueden coexistir en el mismo dispositivo GPU.</p>
<p><strong>Prototipo 14 (Robustecimiento incremental de WebGPU en Three.js):</strong> Sustituyó el proceso de renderizado sin abstracciones por <code>StorageBufferAttribute</code> de Three.js para posiciones y normales. El cómputo MC escribe directamente en estos búferes residentes en la GPU. El búfer <code>drawIndirect</code> controla cuántos vértices dibuja Three.js. Este es el patrón que utilizan todos los prototipos posteriores: el cómputo permanece en WebGPU sin abstracciones y el renderizado pasa por el grafo de escena de Three.js. La versión de Three.js empleada en estos prototipos avanzó de la 0.170.0 a la 0.172.0 a medida que se estabilizaba el backend de WebGPU.</p>
<h3 id="prototipos-15-17-union-de-lod-con-transvoxel" tabindex="-1">Prototipos 15-17: unión de LOD con Transvoxel <a class="header-anchor" href="#prototipos-15-17-union-de-lod-con-transvoxel" aria-label="Permalink to &quot;Prototipos 15-17: unión de LOD con Transvoxel&quot;"></a></h3>
<p><strong>Prototipo 15 (Estructura de juntas Transvoxel):</strong> Añadió la arquitectura de tres zonas: chunk MC (centro volumétrico), franja de transición (junta entre el límite MC y el mapa de alturas) y anillo de terreno (mapa de alturas circundante). Las tres comparten una pasada de material. En esta fase, la franja de transición es una malla provisional, no contiene celdas Transvoxel reales.</p>
<p><strong>Prototipo 16 (Cara +X de Transvoxel con mapa de alturas compartido):</strong> Dos avances fundamentales en un solo prototipo. Primero, sustituyó el plano de terreno del SDF por un mapa de alturas Perlin compartido: un Float32Array de 257x257 subido a la GPU como búfer de almacenamiento y muestreado mediante interpolación bilineal en el shader de cómputo del SDF. La superficie MC y la malla del mapa de alturas ahora coinciden en la misma fuente de verdad. Segundo, implementó celdas de transición Transvoxel reales para la cara +X obteniendo de GitHub las tablas de datos de referencia de Eric Lengyel (<code>transitionCellClass</code>, <code>transitionVertexData</code>, <code>transitionCellData</code>) y el paquete npm <code>transvoxel-data</code>. La CPU evalúa celdas de transición de 9 muestras (512 configuraciones, 73 clases de equivalencia), coloca vértices interpolando los valores SDF en los puntos de la cuadrícula y gestiona la inversión del orden de los vértices en los casos reflejados.</p>
<p><strong>Prototipo 17 (LOD MC doble 1x/2x):</strong> Dos chunks MC adyacentes con resoluciones distintas. Alta resolución: 62 celdas con cell_scale=1.0. Baja resolución: 31 celdas con cell_scale=2.0. El shader MC incorporó los uniformes <code>cell_scale</code> y <code>grid_points</code>. Introdujo <code>transition_shrink</code>: los vértices del límite de la cara 0 del chunk de baja resolución se retraen un 15 % de cell_scale, creando un espacio estrecho que las celdas de transición Transvoxel rellenan sin z-fighting. Este es el modelo de LOD que necesita el sistema de producción: chunks cercanos a resolución completa, chunks lejanos a media resolución y Transvoxel en todos los límites.</p>
<h3 id="prototipos-18-21-casos-limite-de-transvoxel-y-aceleracion-por-gpu" tabindex="-1">Prototipos 18-21: casos límite de Transvoxel y aceleración por GPU <a class="header-anchor" href="#prototipos-18-21-casos-limite-de-transvoxel-y-aceleracion-por-gpu" aria-label="Permalink to &quot;Prototipos 18-21: casos límite de Transvoxel y aceleración por GPU&quot;"></a></h3>
<p>Cada uno de estos cuatro prototipos resolvió un fallo específico de la implementación de Transvoxel. Agruparlos oculta sus distintos problemas.</p>
<p><strong>Prototipo 18 (Junta 2:1 de mapas de alturas):</strong> Aplicó Transvoxel a un límite compuesto únicamente por mapas de alturas, donde un lado tiene el doble de resolución que el otro. Sin MC. La junta entre un chunk de mapa de alturas de 62 celdas y otro de 31 se genera a partir de las tablas de transición de Transvoxel, con una retracción del 15 % en la cara de baja resolución. Esto confirmó que Transvoxel funciona para el caso compuesto únicamente por mapas de alturas, no solo con MC.</p>
<p><strong>Prototipo 19 (Cuadrícula de esquina 64/32/32/16):</strong> El caso de unión más difícil: cuatro chunks de distintas resoluciones que convergen en un punto de esquina (64, 32, 32 y 16 celdas). El sistema de juntas debe generar celdas de transición a lo largo de cuatro bordes (A-B, A-C, B-D y C-D) con el orden de vértices correcto para cada dirección. Este prototipo demostró que las tablas de Transvoxel gestionan la esquina multirresolución sin lógica personalizada para casos especiales.</p>
<p><strong>Prototipo 20 (Esquina Transvoxel en GPU):</strong> Trasladó a la GPU la generación de celdas de transición Transvoxel para la disposición de esquina 64/32/32/16. La CPU suponía un cuello de botella al regenerar las celdas de transición en cada fotograma para el terreno animado. El cómputo en GPU genera los vértices de la junta en la misma pasada que la extracción MC.</p>
<p><strong>Prototipo 21 (Esquina MC + Transvoxel en GPU):</strong> Combinó la extracción MC completa en GPU con la generación de juntas Transvoxel en GPU en una única secuencia de envíos de cómputo. Tanto los chunks MC como las cuatro juntas se generan en la GPU, con recuentos de vértices gestionados mediante contadores atómicos y dibujados con <code>drawIndirect</code>. Este es el proceso completo en GPU para terrenos volumétricos multirresolución con transiciones de LOD sin discontinuidades.</p>
<h3 id="prototipos-22-24-la-arquitectura-hibrida" tabindex="-1">Prototipos 22-24: la arquitectura híbrida <a class="header-anchor" href="#prototipos-22-24-la-arquitectura-hibrida" aria-label="Permalink to &quot;Prototipos 22-24: la arquitectura híbrida&quot;"></a></h3>
<p><strong>Prototipo 22 (Política híbrida MC/mapa de alturas):</strong> El prototipo arquitectónico clave. De forma predeterminada, los chunks son mapas de alturas. Cuando la esfera de deformación animada interseca el AABB de un chunk, ese chunk cambia al modo MC. Los demás permanecen como mallas estáticas de mapas de alturas. Disposición: chunks de 64, 32/32 y 16 celdas con distintas resoluciones. Las juntas Transvoxel gestionan todos los límites, incluidas las transiciones de MC a mapa de alturas. El prototipo registra el número de chunks MC frente al número de chunks HM y el desbordamiento de vértices por fotograma.</p>
<p><strong>Prototipo 23 (Modos de chunk controlados por políticas):</strong> Cargado como parche sobre el prototipo 22. Añadió histéresis según la distancia a la cámara (los chunks no alternan rápidamente entre modos cuando la cámara está cerca de un umbral) y una máscara de edición (los chunks deformados permanecen en modo MC aunque se aleje la fuente de deformación). Este es el comportamiento de «edición persistente» que necesita el esculpido: una vez que un jugador excava una cueva, ese chunk permanece volumétrico para siempre.</p>
<p><strong>Prototipo 24 (Política + anillos de clipmap):</strong> El prototipo más avanzado. Combina el sistema de políticas de campo cercano del prototipo 23 con los anillos de clipmap de geometría de campo lejano del prototipo 10. Se actualizó a Three.js 0.183.1. El campo cercano utiliza un híbrido HM/MC con juntas Transvoxel a resoluciones 64/32/16. El campo lejano utiliza anillos de clipmap con centro estático que siguen a la cámara. Esta es la arquitectura completa de renderizado del terreno: esculpido volumétrico por chunks donde resulte necesario y terreno económico mediante clipmaps en el resto del mundo.</p>
<h3 id="por-que-marching-cubes-y-no-surface-nets" tabindex="-1">Por qué Marching Cubes y no Surface Nets <a class="header-anchor" href="#por-que-marching-cubes-y-no-surface-nets" aria-label="Permalink to &quot;Por qué Marching Cubes y no Surface Nets&quot;"></a></h3>
<p>La sección de investigación externa de esta guía propone Surface Nets como el candidato más sólido para esculpir terreno en el navegador. Sin embargo, todas las pruebas del pipeline usan Marching Cubes. No es casualidad.</p>
<p>La principal ventaja de MC es su paralelismo trivial: cada cubo es completamente independiente. Los shaders de cómputo WGSL de las pruebas 12-24 ejecutan un hilo por cubo sin ninguna comunicación entre celdas. Los contadores atómicos gestionan la asignación de vértices. Esto encaja perfectamente con los grupos de trabajo de la GPU.</p>
<p>Surface Nets coloca un vértice por cada celda que contiene superficie y después conecta las celdas vecinas. Esa conectividad entre celdas introduce una dependencia. El crate <code>fast-surface-nets</code> la gestiona en la CPU mediante un orden de iteración cuidadosamente diseñado. En la GPU, requiere un enfoque de dos pasadas —primero encontrar los vértices y después conectarlos— o memoria compartida dentro de los grupos de trabajo. Ambas opciones son posibles en WebGPU, pero añaden complejidad.</p>
<p>La recomendación práctica es mantener Marching Cubes para el pipeline de esculpido. Ya está probado en nuestro código, los shaders WGSL existen y se han sometido a benchmarks, y el sistema de costuras Transvoxel está diseñado en torno a la colocación de vértices basada en aristas de MC. Merece la pena reconsiderar Surface Nets si el aliasing de MC sobre datos binarios se convierte en un problema visible, pero MC produce resultados limpios en terrenos SDF, donde los valores son gradientes suaves.</p>
<h2 id="arquitectura-practica-para-el-esculpido" tabindex="-1">Arquitectura práctica para el esculpido <a class="header-anchor" href="#arquitectura-practica-para-el-esculpido" aria-label="Permalink to &quot;Arquitectura práctica para el esculpido&quot;"></a></h2>
<p>La secuencia de pruebas resolvió el pipeline de renderizado. Quedan por resolver el sistema de pinceles, los efectos secundarios en cascada sobre los sistemas del juego y la sincronización multijugador. Este es el plan, basado en todas las pruebas.</p>
<h3 id="fase-1-esculpido-de-mapas-de-altura-cambios-minimos-alcance-maximo" tabindex="-1">Fase 1: esculpido de mapas de altura (cambios mínimos, alcance máximo) <a class="header-anchor" href="#fase-1-esculpido-de-mapas-de-altura-cambios-minimos-alcance-maximo" aria-label="Permalink to &quot;Fase 1: esculpido de mapas de altura (cambios mínimos, alcance máximo)&quot;"></a></h3>
<p>Añadir herramientas de pincel que modifiquen los mapas de altura de los chunks en el código de producción de <code>world/client/</code>. Esto funciona con el renderizador WebGL existente y no requiere WebGPU.</p>
<p><strong>Entrada del pincel:</strong> Seguir el patrón de <code>PlacementTool</code> en <code>placement.ts</code>. Ya cuenta con un <code>Raycaster</code> que colisiona con <code>chunkManager.getChunkMeshes()</code> y sigue una malla fantasma en el punto de impacto. Un <code>TerrainBrushTool</code> realizaría el mismo raycast, pero modificaría el mapa de altura del chunk en lugar de colocar un objeto. El controlador <code>World.onMouseDown</code> ya deriva las acciones según el estado de la herramienta.</p>
<p><strong>Modificación del chunk (<code>Chunk.applyBrush</code>):</strong> Convertir la posición del pincel en el mundo a coordenadas de la cuadrícula del mapa de altura. Para cada punto de la cuadrícula dentro del radio del pincel, calcular el desplazamiento ponderado por la atenuación y sumarlo o restarlo al valor del mapa de altura. Después, actualizar la malla: establecer las posiciones Y de los vértices a partir del mapa de altura modificado, recalcular las normales mediante diferencias centrales —el mismo patrón <code>terrainHeight(wx +/- eps, wz)</code> que ya se usa en las líneas 155-158 de <code>chunk.ts</code>— y regenerar el mapa de mezcla mediante <code>createSplatMap()</code> en <code>terrain-material.ts</code> para la región afectada, de modo que se actualice la mezcla de texturas determinada por la pendiente.</p>
<p><strong>Controlador del personaje:</strong> <code>CharacterController.update()</code> llama a <code>getHeight()</code> en cada fotograma para mantener al personaje sobre el suelo. <code>ChunkManager.getHeight()</code> delega en <code>Chunk.sampleHeight()</code>, que lee del <code>Float32Array</code> <code>heightmap</code> del chunk. Como modificamos directamente ese array, el controlador del personaje detecta el cambio en el siguiente fotograma sin necesidad de conexiones adicionales.</p>
<p><strong>Invalidación de objetos:</strong> Las instancias de árboles de <code>chunk.ts</code> se colocan muestreando <code>terrainHeight()</code> en el momento de su generación. Después del esculpido, los árboles de la zona afectada podrían quedar a una altura incorrecta. La fase 1 puede aplazar este problema —los árboles flotarán ligeramente tras ediciones pequeñas—. La fase 2 necesita un método <code>chunk.invalidateObjects()</code> que vuelva a muestrear las alturas y reconstruya las matrices de las instancias. Lo mismo se aplica a los colisionadores utilizados en <code>resolveCollisions()</code>.</p>
<p><strong>Física de Rapier (si está integrada):</strong> La prueba 02 demostró que los colisionadores de campos de altura funcionan. Si Rapier está activo, el colisionador de campo de altura debe reconstruirse o actualizarse para el chunk modificado. <code>ColliderDesc.heightfield()</code> de Rapier recibe un <code>Float32Array</code> plano, por lo que basta con sustituirlo directamente.</p>
<p><strong>Sincronización de red:</strong> Añadir <code>MsgType.TerrainEdit = 10</code> a <code>protocol.ts</code>:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> TerrainEditMsg</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  t</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> MsgType</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">TerrainEdit</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  cx</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  cz</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  brush</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    wx</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    wz</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    radius</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    strength</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    falloff</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    operation</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>El <code>WorldChunkDO</code> lo transmite a todos los clientes y lo añade a un registro de ediciones por chunk almacenado en el Durable Object. Los clientes que se conecten más tarde reciben el registro de ediciones en el mensaje <code>Snapshot</code> y lo reproducen para reconstruir el estado del terreno. Todos los clientes aplican la misma función de pincel determinista, por lo que convergen en el mismo mapa de altura.</p>
<p><strong>Descarga y recarga de chunks:</strong> Las pruebas 06 y 11 establecieron el patrón de streaming. Cuando un chunk se descarga y posteriormente se vuelve a cargar, el registro de ediciones de ese chunk debe reproducirse sobre el mapa de altura procedural base. El registro de ediciones se almacena en el servidor —en el Durable Object— y se incluye en el mensaje <code>Snapshot</code>.</p>
<h3 id="fase-2-esculpido-volumetrico-con-la-arquitectura-de-las-pruebas-22-24" tabindex="-1">Fase 2: esculpido volumétrico con la arquitectura de las pruebas 22-24 <a class="header-anchor" href="#fase-2-esculpido-volumetrico-con-la-arquitectura-de-las-pruebas-22-24" aria-label="Permalink to &quot;Fase 2: esculpido volumétrico con la arquitectura de las pruebas 22-24&quot;"></a></h3>
<p>Integrar el pipeline de la prueba 24 en el mundo de producción. Cuando un jugador esculpe bajo la superficie —al crear una cueva o excavar un túnel—, el chunk afectado pasa del modo de mapa de altura al modo MC.</p>
<p><strong>Migración del renderizador a WebGPU:</strong> Las pruebas 13-14 demostraron que <code>WebGPURenderer</code> de Three.js puede alojar cómputo personalizado junto con el grafo de escena. El mundo de producción pasa de <code>WebGLRenderer</code> a <code>WebGPURenderer</code>, con <code>StorageBufferAttribute</code> para los chunks MC. Cuando WebGPU no esté disponible, se utiliza como alternativa la ruta de la fase 1, limitada a mapas de altura.</p>
<p><strong>Asignación de SDF por chunk:</strong> Seguir el patrón híbrido de la prueba 22. Cada chunk comienza como un mapa de altura. Con la primera pincelada volumétrica, se asigna un <code>Float32Array</code> de 64^3, se inicializa muestreando el mapa de altura —el valor SDF de cada punto es <code>world.y - heightmap_value</code>— y se cambia al renderizado MC. El sistema de políticas de la prueba 23 garantiza que el chunk permanezca en modo MC de forma permanente —el comportamiento de «edición persistente» de la máscara de edición—.</p>
<p><strong>Mapa de altura compartido en el shader SDF:</strong> La función <code>height_at()</code> de la prueba 16. Subir el mapa de altura del chunk a un búfer de almacenamiento de la GPU. El shader de cómputo SDF evalúa <code>max(height_sdf, edit_sdf)</code>, donde <code>height_sdf = world.y - height_at(world.xz)</code> y <code>edit_sdf</code> contiene las modificaciones del pincel. Los chunks MC y los chunks de mapa de altura comparten la misma referencia del terreno en sus límites.</p>
<p><strong>Costuras Transvoxel:</strong> La pila completa de las pruebas 15-21. Los límites entre MC y mapas de altura usan celdas de transición con el hueco de contracción. Los límites entre chunks MC con distintas resoluciones usan el patrón de LOD dual de la prueba 17. El caso límite de la prueba 19 gestiona las intersecciones entre cuatro regiones. El cómputo en GPU de la prueba 21 genera toda la geometría de las costuras en la misma ejecución.</p>
<p><strong>Campo lejano con clipmaps:</strong> Los anillos de clipmap de la prueba 24 para el terreno situado fuera del alcance de esculpido. El esculpido nunca modifica estos anillos; estos muestrean el mapa de altura procedural base.</p>
<p><strong>Geomorfismo:</strong> El geomorfismo de la prueba 10 elimina las apariciones bruscas en las transiciones de LOD. En los chunks editados, el objetivo del geomorfismo debe incluir la edición. Si un chunk es MC en LOD0 y su vecino en LOD1 es un mapa de altura, el geomorfismo interpola entre ambas representaciones. Esto requiere muestrear el registro de ediciones incluso en los LOD inferiores.</p>
<p><strong>Presupuesto de materiales:</strong> La prueba 08 midió un rendimiento de más de 45 FPS con triplanar de 4 capas y normales. Los chunks MC necesitan el mismo material. El mapa de mezcla puede generarse a partir del gradiente SDF —pendiente pronunciada = roca, superficie plana = hierba— en lugar de la pendiente del mapa de altura. Esto se mantiene dentro del presupuesto de 4 capas.</p>
<p><strong>Invalidación de vegetación:</strong> La vegetación basada en mapas de densidad de la prueba 07 depende de la altura y la pendiente del terreno. Cuando un chunk pasa al modo MC, las instancias de árboles deben regenerarse muestreando la superficie SDF. Los árboles situados sobre salientes o dentro de cuevas deben descartarse. Las matrices de las mallas instanciadas de <code>chunk.ts</code> se reconstruyen a partir de la nueva superficie.</p>
<h3 id="fase-3-arboles-de-edicion-csg-para-deshacer-rehacer-y-sincronizar-por-red" tabindex="-1">Fase 3: árboles de edición CSG para deshacer, rehacer y sincronizar por red <a class="header-anchor" href="#fase-3-arboles-de-edicion-csg-para-deshacer-rehacer-y-sincronizar-por-red" aria-label="Permalink to &quot;Fase 3: árboles de edición CSG para deshacer, rehacer y sincronizar por red&quot;"></a></h3>
<p>Sustituir la mutación directa del SDF por un árbol de operaciones CSG. Cada pincelada añade una primitiva —esfera, cápsula o caja— con una operación —añadir, sustraer o mezcla suave—. El SDF se vuelve a calcular a partir del árbol.</p>
<p><strong>Ventajas:</strong></p>
<ul>
<li>No destructivo: cualquier edición puede eliminarse del árbol para deshacerla</li>
<li>Eficiente en red: se transmite la operación CSG, no los valores sin procesar del campo</li>
<li>Determinista: todos los clientes construyen el mismo SDF a partir de la misma secuencia de operaciones</li>
<li>El sistema de diferencias y parches de árboles CSG de ALICE-SDF permite una sincronización eficiente en ancho de banda, además de deshacer y rehacer a través de la red</li>
</ul>
<p><strong>Almacenamiento en Durable Object:</strong> El árbol de ediciones por chunk sustituye al registro plano de ediciones de la fase 1. El <code>WorldChunkDO</code> almacena la estructura del árbol CSG, no deltas sin procesar del mapa de altura. Los mensajes <code>Snapshot</code> incluyen el árbol y los clientes que se conecten más tarde lo evalúan para generar el SDF local.</p>
<h3 id="fase-4-esculpido-colaborativo" tabindex="-1">Fase 4: esculpido colaborativo <a class="header-anchor" href="#fase-4-esculpido-colaborativo" aria-label="Permalink to &quot;Fase 4: esculpido colaborativo&quot;"></a></h3>
<p>Añadir compatibilidad con ediciones simultáneas mediante la reproducción de operaciones ordenadas por el servidor. El Durable Object asigna una marca de tiempo a cada edición y las transmite en orden. Los clientes que se conecten más tarde reciben el registro de operaciones y reconstruyen el estado del mundo. El tipo de mensaje <code>Snapshot</code> existente se amplía para incluir el historial de ediciones del terreno por chunk.</p>
<p>Como las pinceladas son pequeñas, localizadas y aditivas o sustractivas, el resultado visual de reordenar ligeramente las ediciones simultáneas suele ser indistinguible del orden «correcto». Una estrategia en la que prevalece la última escritura, con ordenación en el servidor, es suficiente. La función <code>tick()</code> del Durable Object —que actualmente se ejecuta en intervalos de 50 ms para el estado de los jugadores— añade las transmisiones de ediciones del terreno al mismo bucle.</p>
<h2 id="referencias-clave" tabindex="-1">Referencias clave <a class="header-anchor" href="#referencias-clave" aria-label="Permalink to &quot;Referencias clave&quot;"></a></h2>
<p><strong>Algoritmos:</strong></p>
<ul>
<li>Lorensen y Cline, &quot;Marching Cubes&quot; (1987)</li>
<li>Eric Lengyel, &quot;Transvoxel Algorithm&quot; (2009), transvoxel.org</li>
<li>Losasso y Hoppe, &quot;Geometry Clipmaps&quot; (SIGGRAPH 2004)</li>
<li>&quot;A High-Performance SurfaceNets Discrete Isocontouring Algorithm&quot; (arxiv 2401.14906, 2024)</li>
<li>MCHex (arxiv 2511.02064, 2025)</li>
</ul>
<p><strong>Implementaciones:</strong></p>
<ul>
<li>bevy-sculpter v0.18.0 (Rust, Surface Nets + pinceles SDF)</li>
<li>fast-surface-nets (Rust, 20 millones de triángulos/s)</li>
<li>ALICE-SDF v1.3.0 (Rust + WASM, diferencias y parches de árboles CSG)</li>
<li>WebGPU SDF Editor (Nijhoff, enero de 2026)</li>
<li>SculptingPro (API de esculpido en tiempo de ejecución para Unity)</li>
<li>TerraBrush (GDExtension de esculpido de terreno para Godot)</li>
</ul>
<p><strong>Juegos:</strong></p>
<ul>
<li>Dreams (Media Molecule, SDF + renderizado de nubes de puntos, SIGGRAPH 2015)</li>
<li>Teardown (Voxagon, trazado de rayos DDA sobre vóxeles, destrucción multijugador determinista)</li>
<li>Motor SDF de Mike Turitzin (mapas de bloques + clipmaps de geometría, enero de 2026)</li>
</ul>
<p><strong>Red:</strong></p>
<ul>
<li>&quot;Optimizing payload size for voxel state synchronization&quot; (Oulu, 2024)</li>
<li>Multijugador de Teardown (sincronización semideterminista de la destrucción, marzo de 2026)</li>
<li>cSculpt (esculpido colaborativo de mallas con fusión multirresolución)</li>
</ul>
<BuildCta
  title="Esculpe menos, juega antes"
  desc="Consigue un juego basado en el terreno sin tocar un pincel."
  prompt="Crea un juego ambientado en un cañón esculpido a mano con un río" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/terrain-sculpting-brushes.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mejores modelos de vídeo con IA compatibles con imágenes de referencia (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/long-reference-video-models</link>
            <guid>https://app.cinevva.com/es/guides/long-reference-video-models</guid>
            <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Los modelos de generación de vídeo con IA que producen vídeos largos y coherentes a partir de imágenes de referencia en 2026: generadores nativos de larga duración, flujos de trabajo de referencia y extensión, y opciones de código abierto que puedes alojar por tu cuenta.]]></description>
            <content:encoded><![CDATA[<h1 id="mejores-modelos-de-video-con-ia-compatibles-con-imagenes-de-referencia-2026" tabindex="-1">Mejores modelos de vídeo con IA compatibles con imágenes de referencia (2026) <a class="header-anchor" href="#mejores-modelos-de-video-con-ia-compatibles-con-imagenes-de-referencia-2026" aria-label="Permalink to &quot;Mejores modelos de vídeo con IA compatibles con imágenes de referencia (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Generar un clip de 10 segundos ahora es fácil. Todos los modelos principales pueden hacerlo. La verdadera pregunta es: ¿puedes generar 5 o 10 minutos de vídeo coherente en los que un personaje mantenga el mismo aspecto en el primer minuto y en el octavo? ¿Y en los que la escena conserve su coherencia a lo largo de cientos de fotogramas?</p>
<p>Ese es el problema difícil. Y es donde todo está cambiando rápidamente. Esta guía abarca todos los modelos que hemos encontrado que generan vídeo largo de forma nativa o admiten los flujos de trabajo necesarios para crear contenido de larga duración con personajes coherentes mediante imágenes de referencia. Los dividimos en tres niveles: modelos que generan directamente vídeos de varios minutos, modelos con una sólida compatibilidad con imágenes de referencia que puedes ampliar mediante continuaciones y opciones de código abierto que puedes ejecutar por tu cuenta.</p>
<h2 id="nivel-1-generacion-nativa-de-larga-duracion-varios-minutos-o-mas" tabindex="-1">Nivel 1: generación nativa de larga duración (varios minutos o más) <a class="header-anchor" href="#nivel-1-generacion-nativa-de-larga-duracion-varios-minutos-o-mas" aria-label="Permalink to &quot;Nivel 1: generación nativa de larga duración (varios minutos o más)&quot;"></a></h2>
<p>Estos modelos generan vídeos cuya duración se mide en minutos, no en segundos. Están diseñados desde cero para mantener la coherencia temporal en secuencias largas.</p>
<h3 id="longcat-video" tabindex="-1">LongCat Video <a class="header-anchor" href="#longcat-video" aria-label="Permalink to &quot;LongCat Video&quot;"></a></h3>
<p>Meituan lanzó LongCat Video a finales de 2025. Es un transformer de difusión con 13.600 millones de parámetros y el primer modelo capaz de generar de forma fiable vídeos coherentes de hasta 15 minutos.</p>
<p>El modelo admite texto a vídeo, imagen a vídeo y continuación de vídeo dentro de una canalización unificada. En el modo I2V, la imagen de entrada se convierte literalmente en el primer fotograma del vídeo. No es una referencia flexible de un personaje que puedas colocar en cualquier escena. El modelo anima hacia delante a partir de ese fotograma inicial y utiliza «Cross-Chunk Latent Stitching» para seguir tomando como referencia la imagen original durante toda la generación, lo que evita las desviaciones de color y mantiene la coherencia visual en secuencias largas. Una variante actualizada de 2026 añade la generación de avatares controlada por audio con sincronización labial para vídeos de bustos parlantes de más de 5 minutos.</p>
<p>Internamente, LongCat utiliza un enfoque de generación de lo general a lo detallado con Block Sparse Attention para manejar las enormes longitudes de las secuencias. El ajuste mediante RLHF mejora la calidad del movimiento. En la prueba VBench 2.0 ocupa el tercer puesto general, por detrás de Google Veo 3 y Vidu Q1 de Shengshu.</p>
<p><strong>Disponibilidad:</strong> Código abierto con licencia MIT. Disponible a través de la API de fal.ai por 0,04 $ por segundo generado (36 $ por un vídeo de 15 minutos a 720p). También está disponible mediante la propia plataforma de LongCat, con precios basados en créditos.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración máxima</td>
<td>~15 minutos</td>
</tr>
<tr>
<td>Resolución</td>
<td>720p a 30fps</td>
</tr>
<tr>
<td>Parámetros</td>
<td>13.6B</td>
</tr>
<tr>
<td>Imágenes de referencia</td>
<td>Solo primer fotograma (modo I2V, no referencia de personaje)</td>
</tr>
<tr>
<td>Licencia</td>
<td>MIT</td>
</tr>
<tr>
<td>Coste de la API</td>
<td>~$0.04/segundo (fal.ai)</td>
</tr>
</tbody>
</table>
<h3 id="seaweed-apt2" tabindex="-1">Seaweed APT2 <a class="header-anchor" href="#seaweed-apt2" aria-label="Permalink to &quot;Seaweed APT2&quot;"></a></h3>
<p>Seaweed APT2 de ByteDance adopta un enfoque diferente. En lugar de generar por adelantado un vídeo completo, produce fotogramas de forma autorregresiva a 24fps, con una latencia de solo 0,16 segundos por fotograma en una única H100. El resultado es un vídeo estable de hasta 5 minutos que mantiene la coherencia temporal.</p>
<p>El truco técnico es Autoregressive Adversarial Post-Training (AAPT), que convierte un modelo de difusión de vídeo bidireccional preentrenado en un generador autorregresivo unidireccional. Una sola evaluación de propagación hacia delante de la red por fotograma. Eso es lo que permite generar en tiempo real.</p>
<p>Lo que hace interesante a este modelo, más allá de su duración, es la interactividad. Puedes controlar la cámara, animar personajes mediante detección de poses y manipular las escenas mientras se renderiza el vídeo. No lo veas tanto como «generar un vídeo», sino como «dirigir un vídeo en tiempo real».</p>
<p><strong>Disponibilidad:</strong> Solo en fase de investigación. Aún no está disponible públicamente. El modelo base 7B (Seaweed-7B) cuenta con un artículo publicado, pero los pesos de APT2 no se han publicado.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración máxima</td>
<td>~5 minutos</td>
</tr>
<tr>
<td>Resolución</td>
<td>736x416 (una GPU), hasta 720p (8 GPU)</td>
</tr>
<tr>
<td>Parámetros</td>
<td>8B</td>
</tr>
<tr>
<td>Imágenes de referencia</td>
<td>Mediante I2V y control interactivo de poses</td>
</tr>
<tr>
<td>Licencia</td>
<td>No publicado</td>
</tr>
<tr>
<td>Estado</td>
<td>Vista previa de investigación</td>
</tr>
</tbody>
</table>
<h3 id="helios" tabindex="-1">Helios <a class="header-anchor" href="#helios" aria-label="Permalink to &quot;Helios&quot;"></a></h3>
<p>Helios procede de la Universidad de Pekín y está construido sobre Wan 2.1. Es un modelo de 14B parámetros que genera vídeo a escala de minutos a 19,5 FPS en una única H100. La innovación principal está en cómo aborda las desviaciones en vídeos largos. En lugar de utilizar técnicas convencionales para evitarlas, como la autoimposición o el muestreo de fotogramas clave, Helios simula las desviaciones durante el entrenamiento para que el modelo aprenda a corregirlas.</p>
<p>Admite de forma nativa tareas de texto a vídeo, imagen a vídeo y vídeo a vídeo. El modo I2V acepta imágenes de referencia para iniciar la generación.</p>
<p><strong>Disponibilidad:</strong> Totalmente de código abierto con licencia Apache 2.0. Publicado en marzo de 2026. Código y pesos en GitHub (PKU-YuanGroup/Helios). Integrado en Diffusers, SGLang y vLLM-Omni. Demo de Gradio en HuggingFace Spaces.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración máxima</td>
<td>A escala de minutos (sin límite fijo)</td>
</tr>
<tr>
<td>Resolución</td>
<td>720p</td>
</tr>
<tr>
<td>Parámetros</td>
<td>14B</td>
</tr>
<tr>
<td>Imágenes de referencia</td>
<td>Sí (modo I2V)</td>
</tr>
<tr>
<td>Licencia</td>
<td>Apache 2.0</td>
</tr>
<tr>
<td>Hardware</td>
<td>Una única H100 para tiempo real</td>
</tr>
</tbody>
</table>
<h3 id="skyreels-v2-v3" tabindex="-1">SkyReels V2 / V3 <a class="header-anchor" href="#skyreels-v2-v3" aria-label="Permalink to &quot;SkyReels V2 / V3&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/NJcRyQu30yM" title="SkyReels AI: generación de vídeos de duración infinita" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">SkyReels V3 acepta entre 1 y 4 imágenes de referencia y genera vídeos de duración ilimitada con cambios entre múltiples planos y síntesis de avatares guiada por audio.</div>
<p>La línea SkyReels de Skywork aspira a crear vídeos de duración infinita. V2 utiliza una arquitectura AutoRegressive Diffusion-Forcing que genera vídeo sin un límite fijo de duración. V3, publicado en enero de 2026, unifica en un solo modelo la generación de vídeo a partir de imágenes de referencia, la extensión de vídeo a vídeo y la generación de avatares guiada por audio.</p>
<p>V3 acepta entre 1 y 4 imágenes de referencia y conserva la identidad del sujeto a lo largo del vídeo generado. El modo de vídeo a vídeo permite continuaciones fluidas de un solo plano y cambios entre múltiples planos con transiciones cinematográficas.</p>
<p>Skywork lanzó SkyReels V4 el 25 de febrero de 2026, el primer modelo de código abierto que genera vídeo y audio conjuntamente en una única pasada de doble flujo, con una resolución de hasta 1080p/32fps. Acepta texto, imágenes, clips de vídeo, máscaras y audio como entradas de condicionamiento, y unifica la generación, el relleno y la edición en un solo entorno, ampliando el enfoque de referencia y extensión de V2/V3 con sonido nativo. Ahora se sitúa cerca de los primeros puestos de la clasificación de texto a vídeo de Artificial Analysis.</p>
<p><strong>Disponibilidad:</strong> Totalmente de código abierto. Modelos de entre 1.3B y 14B parámetros. Disponibles a 540p y 720p. Código y pesos en GitHub y HuggingFace.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración máxima</td>
<td>Ilimitada (autorregresiva)</td>
</tr>
<tr>
<td>Resolución</td>
<td>540p, 720p</td>
</tr>
<tr>
<td>Parámetros</td>
<td>1.3B, 5B, 14B</td>
</tr>
<tr>
<td>Imágenes de referencia</td>
<td>1-4 imágenes (V3)</td>
</tr>
<tr>
<td>Licencia</td>
<td>Código abierto</td>
</tr>
<tr>
<td>Hardware</td>
<td>RTX 4090 como mínimo, se recomiendan 4-8x A100</td>
</tr>
</tbody>
</table>
<h2 id="nivel-2-clips-cortos-con-referencias-solidas-y-extension" tabindex="-1">Nivel 2: clips cortos con referencias sólidas y extensión <a class="header-anchor" href="#nivel-2-clips-cortos-con-referencias-solidas-y-extension" aria-label="Permalink to &quot;Nivel 2: clips cortos con referencias sólidas y extensión&quot;"></a></h2>
<p>Estos modelos generan clips de entre 8 y 60 segundos, pero ofrecen una sólida compatibilidad con imágenes de referencia y funciones de extensión de vídeo. Para crear contenido de larga duración, encadenas clips mediante los endpoints de continuación o extensión del modelo. La coherencia de los personajes procede de imágenes de referencia que persisten entre generaciones.</p>
<p>Este es el flujo de trabajo práctico que la mayoría de los creadores utiliza actualmente para contenido de más de un minuto. La calidad de cada clip suele ser superior a la de los modelos nativos de larga duración.</p>
<h3 id="kling-3-0-omni-kuaishou" tabindex="-1">Kling 3.0 Omni (Kuaishou) <a class="header-anchor" href="#kling-3-0-omni-kuaishou" aria-label="Permalink to &quot;Kling 3.0 Omni (Kuaishou)&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/gn3YTrStUn8" title="Presentación de Kling 3.0: generación de vídeo con IA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Kling 3.0 Omni combina elementos de personajes, referencias de estilo y guiones gráficos con múltiples planos en una única llamada, con salida nativa en 4K a 60fps.</div>
<p>Kling tiene el sistema de imágenes de referencia más completo de todos los modelos de vídeo. Separa las entradas de referencia en tres categorías distintas, cada una con una finalidad diferente:</p>
<p><strong>Imágenes de referencia</strong> (<code>image_urls</code>): Hasta 4 imágenes para orientar el estilo y la apariencia. Las etiquetas en el prompt como <code>@Image1</code>, <code>@Image2</code>, etc. Influyen en el aspecto general, el estilo de la escena y el entorno sin convertirse en el primer fotograma.</p>
<p><strong>Elementos</strong> (<code>elements</code>): Entradas específicas para personajes u objetos. Cada elemento recibe una <code>frontal_image_url</code> (una foto frontal nítida) y varias <code>reference_image_urls</code> opcionales (ángulos adicionales). Haces referencia a ellos como <code>@Element1</code>, <code>@Element2</code> en el prompt. El modelo extrae la identidad del personaje y lo coloca en cualquier escena que describas. Esta es la función clave para crear contenido al estilo de una película de aventuras: sube la foto de un personaje y, a continuación, describe cómo camina por un bosque, lucha contra un dragón o hace cualquier otra cosa que quieras.</p>
<p><strong>Fotogramas inicial y final</strong> (<code>start_image_url</code>, <code>end_image_url</code>): Fijan imágenes concretas como primer o último fotograma. Son fotogramas literales, no guías de estilo.</p>
<p>El total entre las tres categorías es de hasta 7 entradas de referencia (se reduce a 4 cuando también se utiliza un vídeo de referencia). Un único prompt como <code>&quot;@Element1 y @Element2 están cenando en esta mesa de @Image1&quot;</code> puede combinar personajes con referencias de escenas.</p>
<p>Para contenido de larga duración, Kling ofrece dos vías. El modo de múltiples planos genera hasta 6 escenas en una única llamada, cada una con su propio prompt y duración (entre 3 y 15s). Los elementos de los personajes persisten automáticamente en todos los planos. La API de extensión continúa desde el punto donde terminó un vídeo completado y permite alcanzar aproximadamente 3 minutos mediante extensiones encadenadas. El modo de edición V2V toma un vídeo existente (de entre 3 y 10 segundos) y lo transforma mediante referencias de elementos y un prompt de texto, conservando el movimiento de la cámara y la puesta en escena de los personajes del vídeo original, a la vez que modifica el estilo de personajes y entornos según tus referencias. Esto hace que Kling resulte especialmente útil para mejorar grabaciones existentes, incluidos renders 3D de baja fidelidad.</p>
<p>Kling 3.0 Omni unifica texto a vídeo, imagen a vídeo, referencia a vídeo y edición de vídeo en un solo modelo con generación nativa de audio y sincronización labial. El 17 de junio de 2026, Kuaishou añadió Kling 3.0 Turbo, una variante más rápida y económica con audio incluido a 720p y 1080p (precio de catálogo aproximado de 0,11-0,14 $/s), y mejoró la canalización de edición de Omni para aceptar y producir vídeos en 4K.</p>
<p><strong>Disponibilidad:</strong> API comercial a través de Kuaishou, fal.ai (0,084-0,112 $/s) y Replicate. Interfaz web en klingai.com.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración nativa del clip</td>
<td>3-15 segundos</td>
</tr>
<tr>
<td>Duración extendida</td>
<td>~3 minutos (mediante extensiones encadenadas)</td>
</tr>
<tr>
<td>Resolución</td>
<td>720p, 1080p (4K en la edición de Omni)</td>
</tr>
<tr>
<td>Imágenes de referencia</td>
<td>Hasta 4 (referencias de estilo <code>@Image</code>)</td>
</tr>
<tr>
<td>Elementos</td>
<td>Hasta 4 (referencias de personajes <code>@Element</code> con imagen frontal y ángulos)</td>
</tr>
<tr>
<td>Referencias totales</td>
<td>Hasta 7 combinadas (4 con referencia de vídeo)</td>
</tr>
<tr>
<td>Múltiples planos</td>
<td>Sí (hasta 6 planos en el guion gráfico)</td>
</tr>
<tr>
<td>Audio</td>
<td>Audio sincronizado nativo + sincronización labial</td>
</tr>
<tr>
<td>Edición de vídeo</td>
<td>Sí (edición de vídeos existentes guiada por texto)</td>
</tr>
<tr>
<td>API</td>
<td>Kuaishou, fal.ai, Replicate</td>
</tr>
</tbody>
</table>
<h3 id="grok-imagine-xai" tabindex="-1">Grok Imagine (xAI) <a class="header-anchor" href="#grok-imagine-xai" aria-label="Permalink to &quot;Grok Imagine (xAI)&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/DMXA0qGf-1s" title="Grok Imagine: demostración de extensión de vídeo y referencias" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Grok Imagine separa el modo de referencia del modo de primer fotograma, lo que te permite etiquetar hasta 7 imágenes como referencias de personajes u objetos en el prompt.</div>
<p>xAI lanzó el modo Reference-to-Video de Grok Imagine a principios de 2026, con compatibilidad para entre 1 y 7 imágenes de referencia. La documentación lo distingue explícitamente de la generación de imagen a vídeo: «A diferencia de la generación de imagen a vídeo, donde la imagen de origen se convierte en el fotograma inicial, las imágenes de referencia influyen en lo que aparece en el vídeo sin fijar el primer fotograma».</p>
<p>Etiquetas las imágenes en el prompt como <code>&lt;IMAGE_1&gt;</code>, <code>&lt;IMAGE_2&gt;</code>, etc. Un prompt como <code>&quot;la modelo de &lt;IMAGE_1&gt; entra en la pasarela con la camiseta de &lt;IMAGE_2&gt;&quot;</code> combina la referencia de una persona con la de una prenda. El modelo permite realizar pruebas virtuales de ropa, colocar productos y contar historias con personajes coherentes entre escenas.</p>
<p>Una limitación: no puedes combinar imágenes de referencia con imagen a vídeo en la misma solicitud. Debes elegir entre el modo de primer fotograma y el modo de referencia; no puedes utilizar ambos.</p>
<p>Grok Imagine también dispone de un endpoint de extensión de vídeo que añade nuevas secuencias al final de un vídeo existente. El parámetro <code>duration</code> controla únicamente la parte nueva. Puedes encadenar extensiones para crear contenido más largo.</p>
<p>xAI publicó Grok Imagine 1.5 como vista previa de la API el 3 de junio de 2026 y después lo puso a disposición general como <code>grok-imagine-video-1.5</code> el 16 de junio, mientras una variante Fast comenzaba a llegar a las aplicaciones para consumidores. Es un modelo de imagen a vídeo que anima una única imagen estática para producir movimiento cinematográfico con desplazamientos de cámara, atmósfera, física y audio sincronizado generado de forma nativa en la misma pasada de inferencia. Admite secuencias de múltiples planos para encadenar escenas coherentes, genera un clip de 6 segundos a 720p en unos 25 segundos y actualmente ocupa el tercer puesto en la clasificación de imagen a vídeo de Artificial Analysis. El precio es de 0,08 $/s a 480p y 0,14 $/s a 720p, más 0,01 $ por imagen de entrada.</p>
<p><strong>Disponibilidad:</strong> API de xAI (lanzada en enero de 2026), fal.ai y Replicate. SDK de Python, JavaScript/AI SDK y API REST. 0,05 $/s a 720p con audio. También disponible para suscriptores de X Premium.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración nativa del clip</td>
<td>1-15 segundos</td>
</tr>
<tr>
<td>Duración ampliada</td>
<td>Se pueden encadenar clips mediante la API de extensión</td>
</tr>
<tr>
<td>Resolución</td>
<td>480p, 720p</td>
</tr>
<tr>
<td>Imágenes de referencia</td>
<td>1-7 (referencias reales, no fotogramas iniciales)</td>
</tr>
<tr>
<td>Etiquetas del prompt</td>
<td><code>&lt;IMAGE_1&gt;</code>, <code>&lt;IMAGE_2&gt;</code>, etc.</td>
</tr>
<tr>
<td>Audio</td>
<td>Sí (720p)</td>
</tr>
<tr>
<td>Edición de vídeo</td>
<td>Sí (guiada por texto)</td>
</tr>
<tr>
<td>API</td>
<td>API de xAI, fal.ai, Replicate</td>
</tr>
<tr>
<td>Coste de la API</td>
<td>0,05 $/segundo (720p con audio)</td>
</tr>
</tbody>
</table>
<h3 id="seedance-2-0-bytedance" tabindex="-1">Seedance 2.0 (ByteDance) <a class="header-anchor" href="#seedance-2-0-bytedance" aria-label="Permalink to &quot;Seedance 2.0 (ByteDance)&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/W_lxyDFDZt4" title="Seedance 2.0: el nuevo mejor generador de vídeo con IA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Seedance 2.0 admite hasta 12 entradas multimodales simultáneas y genera vídeo con sincronización de audio nativa y sincronización labial a nivel de fonemas en más de 8 idiomas.</div>
<p>Seedance 2.0 de ByteDance es el modelo que admite más entradas de referencia: hasta 12 archivos simultáneos, entre ellos un máximo de 9 imágenes, 3 vídeos y 3 archivos de audio. El modelo permite generar audio y vídeo de forma nativa, con sincronización labial a nivel de fonemas en más de 8 idiomas.</p>
<p>Cada imagen puede ocupar hasta 30 MB. Los vídeos de referencia deben durar entre 2 y 15 segundos. El modelo utiliza las referencias para definir el aspecto de los personajes, el estilo de la escena y el movimiento.</p>
<p>El próximo gran salto ya está programado. ByteDance anunció Seedance 2.5 en su conferencia FORCE de Volcano Engine el 23 de junio de 2026: un único clip nativo de 30 segundos generado en una sola pasada y hasta 50 archivos de referencia multimodales, frente a los 12 actuales. Se desplegará primero mediante Dreamina y Jimeng, y la API se abrirá en BytePlus el 16 de julio de 2026. Si se publica tal como se mostró en la demostración, eliminará gran parte del trabajo de unir clips que se describe en esta guía.</p>
<p><strong>Disponibilidad:</strong> API oficial de ByteDance (mediante Volcengine, lanzada en febrero de 2026) y proveedores de API externos. Salida de 480p-720p mediante API y resolución cinematográfica de hasta 2K a través de la plataforma.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración nativa del clip</td>
<td>4-15 segundos</td>
</tr>
<tr>
<td>Resolución</td>
<td>Hasta 2K (cinematográfica)</td>
</tr>
<tr>
<td>Imágenes de referencia</td>
<td>Hasta 9 imágenes + 3 vídeos + 3 audios (12 en total)</td>
</tr>
<tr>
<td>Audio</td>
<td>Nativo con sincronización labial (más de 8 idiomas)</td>
</tr>
<tr>
<td>API</td>
<td>ByteDance/Volcengine, proveedores externos</td>
</tr>
</tbody>
</table>
<h3 id="runway-gen-4-5" tabindex="-1">Runway Gen-4.5 <a class="header-anchor" href="#runway-gen-4-5" aria-label="Permalink to &quot;Runway Gen-4.5&quot;"></a></h3>
<p>Runway Gen-4.5 se estrenó en lo más alto de la clasificación de texto a vídeo de Artificial Analysis, con 1247 puntos ELO, por delante de Veo 3 y Sora 2 Pro en aquel momento. A mediados de 2026, la clasificación había cambiado (ahora lidera Gemini Omni Flash), pero Gen-4.5 sigue siendo un modelo de primer nivel por su calidad cinematográfica y el control de las acciones. El modelo genera clips de 2-10 segundos a partir de texto y permite crear vídeos largos de hasta un minuto con personajes coherentes mediante secuencias de varias tomas.</p>
<p>La generación de imagen a vídeo se añadió en enero de 2026 y admite imágenes de referencia para todas las relaciones de aspecto. El modelo integra campos de radiancia neuronal y Gaussian splatting dentro de la arquitectura de difusión, lo que le proporciona una comprensión geométrica 3D en lugar de limitarse a predecir píxeles. Esto se traduce en una mayor permanencia de los objetos y movimientos físicamente plausibles.</p>
<p><strong>Disponibilidad:</strong> API comercial e interfaz web. SDK para Node y Python. También disponible en Replicate.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración nativa del clip</td>
<td>2-10 segundos</td>
</tr>
<tr>
<td>Modo de vídeo largo</td>
<td>Hasta aproximadamente 1 minuto</td>
</tr>
<tr>
<td>Resolución</td>
<td>Hasta 1080p</td>
</tr>
<tr>
<td>Imágenes de referencia</td>
<td>0-1 por generación</td>
</tr>
<tr>
<td>Audio</td>
<td>Generación de audio nativa</td>
</tr>
<tr>
<td>Varias tomas</td>
<td>Sí</td>
</tr>
<tr>
<td>API</td>
<td>Sí (Runway, Replicate)</td>
</tr>
</tbody>
</table>
<h3 id="google-veo-3-1" tabindex="-1">Google Veo 3.1 <a class="header-anchor" href="#google-veo-3-1" aria-label="Permalink to &quot;Google Veo 3.1&quot;"></a></h3>
<p>Veo 3.1 de Google genera de forma nativa clips de 4, 6 u 8 segundos. La función «Extend Video» (actualmente en vista previa) encadena clips hasta alcanzar aproximadamente 1-2,5 minutos, aunque la coherencia puede degradarse en las secuencias más largas.</p>
<p>La función «Ingredients to Video» admite hasta 3 imágenes de referencia como entrada. Puedes proporcionar personajes para animar, fondos y texturas de materiales. Cuando utilizas imágenes de referencia, el modelo se mantiene más fiel a tus referencias visuales y realiza menos cambios aleatorios. Una limitación: el modo de imágenes de referencia solo funciona con la opción de 8 segundos.</p>
<p>Desde enero de 2026, Veo 3.1 permite generar vídeo vertical (9:16) a partir de referencias y escalar a 4K en Vertex AI.</p>
<p><strong>Disponibilidad:</strong> API de Google Vertex AI, API de Gemini y Google Flow. Requiere una cuenta de Google Cloud.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración nativa del clip</td>
<td>4, 6 u 8 segundos</td>
</tr>
<tr>
<td>Duración ampliada</td>
<td>Aproximadamente 1-2,5 minutos</td>
</tr>
<tr>
<td>Resolución</td>
<td>Hasta 4K (con escalado)</td>
</tr>
<tr>
<td>Imágenes de referencia</td>
<td>Hasta 3 («Ingredients to Video»)</td>
</tr>
<tr>
<td>Audio</td>
<td>Diálogo y música sincronizados</td>
</tr>
<tr>
<td>API</td>
<td>Vertex AI, API de Gemini</td>
</tr>
</tbody>
</table>
<h3 id="google-gemini-omni-flash" tabindex="-1">Google Gemini Omni Flash <a class="header-anchor" href="#google-gemini-omni-flash" aria-label="Permalink to &quot;Google Gemini Omni Flash&quot;"></a></h3>
<p>Google anunció la familia Gemini Omni en I/O en mayo de 2026 y lanzó Gemini Omni Flash como su primer modelo. Rápidamente alcanzó el primer puesto en la clasificación de Artificial Analysis, por delante de Veo 3.1. Su propuesta es el vídeo conversacional: generas un clip de 10 segundos a partir de texto, imágenes o vídeo y luego lo editas mediante instrucciones sucesivas que se acumulan. Puedes cambiar la iluminación, sustituir un atuendo o ajustar la cámara, todo ello sin volver a generar el vídeo desde cero.</p>
<p>En cuanto a las referencias, Omni Flash admite imágenes y clips de vídeo cortos como referencias de estilo, movimiento y efectos; también está previsto admitir referencias de audio. La coherencia de los personajes se mantiene durante las ediciones conversacionales, aunque la propia documentación de Google señala que puede fallar al cambiar de escena y durante los barridos de cámara. Por tanto, revisa los resultados centrados en personajes antes de publicarlos.</p>
<p><strong>Disponibilidad:</strong> La API (<code>gemini-omni-flash-preview</code>) se abrió en vista previa pública el 30 de junio de 2026 mediante Google AI Studio y la API de Gemini, con un coste aproximado de 0,10 $ por segundo de salida. Todos los clips incluyen una marca de agua SynthID. El acceso para consumidores se ofrece mediante la aplicación Gemini, Google Flow y YouTube Shorts.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración nativa del clip</td>
<td>10 segundos (se prevén duraciones mayores)</td>
</tr>
<tr>
<td>Resolución</td>
<td>720p</td>
</tr>
<tr>
<td>Entradas de referencia</td>
<td>Imágenes + clips de vídeo cortos (audio previsto)</td>
</tr>
<tr>
<td>Edición</td>
<td>Conversacional e iterativa</td>
</tr>
<tr>
<td>Audio</td>
<td>Nativo</td>
</tr>
<tr>
<td>API</td>
<td>API de Gemini (vista previa pública), aproximadamente 0,10 $/s</td>
</tr>
</tbody>
</table>
<h3 id="openai-sora-2-sora-2-pro" tabindex="-1">OpenAI Sora 2 / Sora 2 Pro <a class="header-anchor" href="#openai-sora-2-sora-2-pro" aria-label="Permalink to &quot;OpenAI Sora 2 / Sora 2 Pro&quot;"></a></h3>
<blockquote>
<p><strong>Se retirará en 2026:</strong> OpenAI está desmantelando Sora. La aplicación de Sora para consumidores cerró el 26 de abril de 2026 y la API de Sora 2 dejará de estar disponible el 24 de septiembre de 2026, sin que se haya anunciado un sustituto. Las capacidades que se describen a continuación siguen siendo destacables, pero no crees un flujo de trabajo nuevo basado en Sora. Utiliza Kling, Grok Imagine o un modelo abierto.</p>
</blockquote>
<p>Sora 2 Pro genera clips de hasta 20 segundos. La API de Characters utiliza un enfoque distinto al de Kling o Grok: en vez de subir imágenes estáticas, creas un <code>character_id</code> indicando a la API un clip de vídeo (con un intervalo de marcas de tiempo de 1-3 segundos). Sora analiza los fotogramas del vídeo para extraer la estructura facial, las proporciones corporales, el estilo de la ropa y otros rasgos identificativos. Ese <code>character_id</code> se conserva indefinidamente y puede reutilizarse en un número ilimitado de generaciones futuras.</p>
<p>Puedes hacer referencia a un máximo de 2 personajes subidos por generación. Desde marzo de 2026, las referencias de personajes también funcionan con objetos y animales, no solo con personas. La extensión de vídeo utiliza todo el clip inicial como contexto para la continuación.</p>
<p>El sistema de personajes requiere una entrada de vídeo, no imágenes estáticas, para crear los personajes. Si solo tienes fotos, primero tendrás que generar un vídeo corto y después extraer el personaje de él.</p>
<p><strong>Disponibilidad:</strong> API de OpenAI compatible con la API de Batch para flujos de producción.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración nativa del clip</td>
<td>Hasta 20 segundos</td>
</tr>
<tr>
<td>Resolución</td>
<td>Hasta 1920x1080</td>
</tr>
<tr>
<td>Referencias de personajes</td>
<td>Hasta 2 por generación (<code>character_id</code> persistente)</td>
</tr>
<tr>
<td>Entrada de personajes</td>
<td>Clip de vídeo (intervalo de marcas de tiempo de 1-3 s), no imágenes estáticas</td>
</tr>
<tr>
<td>Audio</td>
<td>Sincronizado</td>
</tr>
<tr>
<td>Extensión</td>
<td>Sí (el clip completo sirve de contexto)</td>
</tr>
<tr>
<td>API</td>
<td>API de OpenAI + API de Batch</td>
</tr>
</tbody>
</table>
<h3 id="minimax-hailuo-02" tabindex="-1">MiniMax Hailuo 02 <a class="header-anchor" href="#minimax-hailuo-02" aria-label="Permalink to &quot;MiniMax Hailuo 02&quot;"></a></h3>
<p>Hailuo 02 ocupó el segundo puesto mundial en la prueba comparativa de Artificial Analysis cuando se lanzó, superando a Veo 3. Genera clips de 10 segundos en 1080p nativo y ofrece una de las mejores simulaciones físicas del sector. El modelo maneja movimientos extremos, como la gimnasia y las acrobacias, sin deformarse.</p>
<p>Permite generar vídeo a partir de imágenes con una gran coherencia de los personajes gracias al reconocimiento facial y el seguimiento corporal. La arquitectura Noise-aware Compute Redistribution asigna dinámicamente la capacidad de cómputo en función de la complejidad de la escena.</p>
<p>Desde entonces, MiniMax ha superado Hailuo 02 con la familia Hailuo 2.3 (Standard, Pro, Fast y Fast Pro), que mejora las acciones físicas, la estilización y las microexpresiones de los personajes. Genera vídeo en 1080p durante 6 segundos o en 768p durante 10 segundos, y está disponible mediante la plataforma de MiniMax y fal.ai.</p>
<p><strong>Disponibilidad:</strong> API comercial. Disponible mediante la plataforma de MiniMax, fal.ai y Replicate. 0,28 $ por vídeo.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración nativa del clip</td>
<td>Hasta 10 segundos</td>
</tr>
<tr>
<td>Resolución</td>
<td>1080p nativo</td>
</tr>
<tr>
<td>Imágenes de referencia</td>
<td>Sí (modo I2V)</td>
</tr>
<tr>
<td>Audio</td>
<td>No nativo</td>
</tr>
<tr>
<td>Física</td>
<td>Simulación líder en su categoría</td>
</tr>
<tr>
<td>API</td>
<td>MiniMax, fal.ai, Replicate</td>
</tr>
</tbody>
</table>
<h3 id="luma-ray3-2" tabindex="-1">Luma Ray3.2 <a class="header-anchor" href="#luma-ray3-2" aria-label="Permalink to &quot;Luma Ray3.2&quot;"></a></h3>
<p>Ray2 de Luma ha sido sustituido por la familia Ray3. Ray3 (septiembre de 2025) añadió Character Reference para fijar la identidad y un modo Modify de vídeo a vídeo. Ray3.2 (9 de junio de 2026) añadió control a nivel de fotograma con hasta 16 fotogramas clave por clip, una función Reframe y clips de hasta 20 segundos, además de la primera API pública de la línea Ray3. La salida es 1080p nativo, con 4K disponible mediante el escalado Hi-Fi. La generación de imagen a vídeo admite imágenes de referencia como fotogramas clave iniciales o finales.</p>
<p><strong>Disponibilidad:</strong> API e interfaz web de Luma.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración nativa del clip</td>
<td>Hasta 20 segundos (Ray3.2)</td>
</tr>
<tr>
<td>Tipo de referencia</td>
<td>Fotogramas clave iniciales/finales + Character Reference (identidad)</td>
</tr>
<tr>
<td>Resolución</td>
<td>1080p nativo, 4K mediante escalado</td>
</tr>
<tr>
<td>Imágenes de referencia</td>
<td>Sí (fotogramas clave + referencia de personaje)</td>
</tr>
<tr>
<td>API</td>
<td>API de Luma</td>
</tr>
</tbody>
</table>
<h3 id="pika-2-5" tabindex="-1">Pika 2.5 <a class="header-anchor" href="#pika-2-5" aria-label="Permalink to &quot;Pika 2.5&quot;"></a></h3>
<p>Pika adopta un enfoque basado en fotogramas clave con Pikaframes. Sube entre 2 y 5 fotogramas clave (imágenes de referencia en momentos importantes) y el modelo genera transiciones fluidas entre ellos. La duración total alcanza los 20-25 segundos.</p>
<p>Pikascenes admite hasta 10 imágenes de referencia y las combina en un solo vídeo. El modelo utiliza reconocimiento de imágenes para determinar automáticamente la función de cada referencia (personaje, fondo o accesorio).</p>
<p><strong>Disponibilidad:</strong> Plataforma web y API de Pika. Planes de suscripción desde el gratuito hasta Pro.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duración nativa del clip</td>
<td>5-10 segundos</td>
</tr>
<tr>
<td>Duración de Pikaframes</td>
<td>20-25 segundos</td>
</tr>
<tr>
<td>Resolución</td>
<td>Hasta 1080p</td>
</tr>
<tr>
<td>Imágenes de referencia</td>
<td>Hasta 10 (Pikascenes), 2-5 fotogramas clave (Pikaframes)</td>
</tr>
<tr>
<td>API</td>
<td>Sí</td>
</tr>
</tbody>
</table>
<h2 id="nivel-3-modelos-de-codigo-abierto-para-flujos-de-trabajo-autoalojados" tabindex="-1">Nivel 3: modelos de código abierto para flujos de trabajo autoalojados <a class="header-anchor" href="#nivel-3-modelos-de-codigo-abierto-para-flujos-de-trabajo-autoalojados" aria-label="Permalink to &quot;Nivel 3: modelos de código abierto para flujos de trabajo autoalojados&quot;"></a></h2>
<p>Estos modelos generan clips más cortos, pero son totalmente abiertos. Puedes ejecutarlos en tu propio hardware, ajustarlos y crear flujos de extensión personalizados sin depender de API.</p>
<h3 id="wan-2-1-alibaba" tabindex="-1">Wan 2.1 (Alibaba) <a class="header-anchor" href="#wan-2-1-alibaba" aria-label="Permalink to &quot;Wan 2.1 (Alibaba)&quot;"></a></h3>
<p>Wan 2.1 es la base sobre la que se construyen otros modelos, incluido Helios. La arquitectura Wan-VAE codifica y decodifica vídeo de 1080p de cualquier duración conservando la información temporal. El modelo cuenta con variantes I2V de 480p y 720p, además de un modelo First-Last-Frame-to-Video que genera vídeo entre dos imágenes de referencia.</p>
<p>Wan-Edit permite transferir estilo y contenido mediante imágenes de referencia mientras mantiene estructuras o poses específicas de los personajes. Wan 2.2 (julio de 2025) es la versión abierta más reciente: un modelo de mezcla de expertos con una variante 5B que funciona en una sola RTX 4090 y sigue usando la licencia Apache 2.0. Una advertencia importante para quienes lo autoalojen: Wan dejó de ser abierto a partir de la versión 2.5. Las versiones más recientes Wan 2.5, 2.6 y ahora 2.7 —que ocupa el tercer puesto en la clasificación con audio de Artificial Analysis a mediados de 2026— añadieron audio sincronizado y mayor resolución, pero solo están disponibles mediante API y no ofrecen pesos públicos. Por ello, la versión 2.2 sigue siendo el límite de la oferta abierta. Ignora las páginas orientadas al SEO que afirman que se pueden descargar los pesos de Wan 2.7. La organización oficial de GitHub y la cuenta de Hugging Face solo llegan hasta la versión 2.2.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Parámetros</td>
<td>1.3B, 5B, 14B (2.1); 5B + 14B MoE (2.2)</td>
</tr>
<tr>
<td>Modos I2V</td>
<td>I2V-480P, I2V-720P, FLF2V-720P</td>
</tr>
<tr>
<td>Última versión abierta</td>
<td>Wan 2.2 (de 2.5 a 2.7 solo están disponibles mediante API)</td>
</tr>
<tr>
<td>Licencia</td>
<td>Apache 2.0</td>
</tr>
<tr>
<td>Hardware</td>
<td>Más de 8 GB de VRAM (variantes más pequeñas)</td>
</tr>
<tr>
<td>Plataformas</td>
<td>Diffusers, ComfyUI</td>
</tr>
</tbody>
</table>
<h3 id="hunyuanvideo-tencent" tabindex="-1">HunyuanVideo (Tencent) <a class="header-anchor" href="#hunyuanvideo-tencent" aria-label="Permalink to &quot;HunyuanVideo (Tencent)&quot;"></a></h3>
<p>El modelo de 13B parámetros de Tencent lideró la generación de vídeo de código abierto durante la mayor parte de 2025. HunyuanVideo-I2V utiliza una técnica de sustitución de tokens con un MLLM preentrenado para incorporar información de imágenes de referencia. HunyuanVideo-1.5, publicado en noviembre de 2025, mejoró la eficiencia. HunyuanCustom permite generar vídeo personalizado a partir de entradas multimodales.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Parámetros</td>
<td>13B</td>
</tr>
<tr>
<td>I2V</td>
<td>Sí (técnica de sustitución de tokens)</td>
</tr>
<tr>
<td>Licencia</td>
<td>Código abierto</td>
</tr>
<tr>
<td>Hardware</td>
<td>Más de 60 GB de VRAM (720p)</td>
</tr>
<tr>
<td>Variantes</td>
<td>Base, I2V, 1.5, Avatar, Custom</td>
</tr>
</tbody>
</table>
<h3 id="ltx-2-lightricks" tabindex="-1">LTX-2 (Lightricks) <a class="header-anchor" href="#ltx-2-lightricks" aria-label="Permalink to &quot;LTX-2 (Lightricks)&quot;"></a></h3>
<p>Lightricks publicó LTX-2 como código abierto en enero de 2026, incluidos los pesos completos, el código de inferencia y el código de entrenamiento. Es un modelo basado en DiT que genera vídeo y audio sincronizado de forma conjunta en una sola pasada, con 4K nativo, hasta 50 fps y clips de hasta 20 segundos. Incorpora generación de imagen a vídeo y condicionamiento mediante varios fotogramas clave, por lo que puedes fijar imágenes de referencia en distintos puntos del clip, como harías con Pikaframes.</p>
<p>La licencia es el inconveniente, o quizá no, dependiendo del tamaño de tu empresa. LTX-2 es gratuito para investigación y para uso comercial si los ingresos anuales son inferiores a 10 millones de dólares. Por encima de esa cifra necesitas una licencia comercial, por lo que, en sentido estricto, es un modelo de pesos abiertos en lugar de código abierto. LTX-2.3, el punto de control actual, es una actualización de 22B parámetros con mejor audio y mayor fidelidad al prompt. Los pesos están disponibles en Hugging Face, junto con variantes destiladas de 8 pasos, adaptadores LoRA e integraciones con ComfyUI y Diffusers. También hay API alojadas en la plataforma LTX, fal.ai y Replicate.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Parámetros</td>
<td>22B (LTX-2.3)</td>
</tr>
<tr>
<td>Duración máxima del clip</td>
<td>Aproximadamente 20 segundos</td>
</tr>
<tr>
<td>Resolución</td>
<td>4K nativo a un máximo de 50 fps</td>
</tr>
<tr>
<td>Audio</td>
<td>Nativo y sincronizado</td>
</tr>
<tr>
<td>I2V</td>
<td>Sí (condicionamiento mediante imagen + varios fotogramas clave)</td>
</tr>
<tr>
<td>Licencia</td>
<td>LTX-2 Community License (gratuita por debajo de 10 millones de dólares de ingresos recurrentes anuales)</td>
</tr>
<tr>
<td>Hardware</td>
<td>Variantes destiladas y FP8 para GPU de consumo</td>
</tr>
</tbody>
</table>
<h3 id="cogvideox-tsinghua-zhipu-ai" tabindex="-1">CogVideoX (Tsinghua/Zhipu AI) <a class="header-anchor" href="#cogvideox-tsinghua-zhipu-ai" aria-label="Permalink to &quot;CogVideoX (Tsinghua/Zhipu AI)&quot;"></a></h3>
<p>CogVideoX utiliza un VAE causal 3D que reduce la longitud de las secuencias y evita el parpadeo. El transformador con LayerNorm adaptativa mejora la correspondencia entre texto y vídeo. Está disponible en variantes 2B (Apache 2.0) y 5B (licencia de investigación), con integración nativa en Diffusers.</p>
<p>Los clips duran entre 6 y 10 segundos a 720x480. Son cortos, pero la relación entre calidad y capacidad de cómputo es buena, y el modelo funciona en una GPU con 12 GB.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Parámetros</td>
<td>2B, 5B</td>
</tr>
<tr>
<td>I2V</td>
<td>Sí (CogVideoXImageToVideoPipeline)</td>
</tr>
<tr>
<td>Resolución</td>
<td>720x480 a 8 fps</td>
</tr>
<tr>
<td>Licencia</td>
<td>Apache 2.0 (2B), investigación (5B)</td>
</tr>
<tr>
<td>Hardware</td>
<td>12 GB de VRAM</td>
</tr>
</tbody>
</table>
<h2 id="primer-fotograma-frente-a-referencia-real-la-diferencia-clave" tabindex="-1">Primer fotograma frente a referencia real: la diferencia clave <a class="header-anchor" href="#primer-fotograma-frente-a-referencia-real-la-diferencia-clave" aria-label="Permalink to &quot;Primer fotograma frente a referencia real: la diferencia clave&quot;"></a></h2>
<p>No todos los sistemas compatibles con «imágenes de referencia» funcionan de la misma manera. Comprender la diferencia es fundamental para elegir el modelo adecuado.</p>
<p>Los <strong>modelos de primer fotograma</strong> (LongCat, Helios, Hailuo, Luma Ray2, HunyuanVideo) tratan tu imagen como el fotograma inicial literal. El modelo genera la animación a partir de esa imagen exacta. No puedes subir el retrato de un personaje y describirlo en una escena diferente. La imagen es la escena.</p>
<p>Los <strong>modelos de referencia real</strong> (Kling, Grok Imagine, Seedance, SkyReels V3) extraen la identidad de tu imagen y colocan ese personaje u objeto en cualquier escena que describas. Sube la foto de una persona y utiliza una instrucción como «esa persona camina por un bosque al atardecer». El personaje aparecerá en un entorno completamente nuevo, pero conservará su identidad. Esto es lo que necesitas para contenido narrativo con varias escenas, como una película de aventuras.</p>
<p>Los <strong>modelos de ID de personaje</strong> (Sora 2 Pro) extraen la identidad de clips de vídeo en lugar de imágenes estáticas. Creas una vez un ID de personaje persistente y lo reutilizas en un número ilimitado de generaciones futuras.</p>
<p>Los <strong>modelos de estilo o ingredientes</strong> (Veo 3.1) utilizan imágenes de referencia para influir en el estilo visual, las texturas y el aspecto general, en lugar de extraer identidades concretas de personajes. Son buenos para mantener la coherencia visual de un proyecto, pero menos precisos para controlar personajes individuales.</p>
<h2 id="el-flujo-de-trabajo-real-para-videos-de-10-minutos" tabindex="-1">El flujo de trabajo real para vídeos de 10 minutos <a class="header-anchor" href="#el-flujo-de-trabajo-real-para-videos-de-10-minutos" aria-label="Permalink to &quot;El flujo de trabajo real para vídeos de 10 minutos&quot;"></a></h2>
<p>Esta es la realidad a mediados de 2026. Ningún modelo genera de forma fiable 10 minutos de vídeo coherente y de alta calidad en una sola pasada. LongCat Video es el que más se acerca, con una duración anunciada de 15 minutos, pero la calidad y la coherencia varían considerablemente con esas duraciones. Helios y SkyReels V2 generan vídeos «de varios minutos» y de «duración infinita», respectivamente, pero los resultados requieren instrucciones cuidadosamente elaboradas y, a menudo, varios intentos.</p>
<p>El flujo de trabajo que realmente funciona para la mayoría de los creadores que producen vídeos de entre 5 y 15 minutos combina varios enfoques:</p>
<p><strong>Para contenido con bustos parlantes o avatares:</strong> el modo de LongCat Video de 2026 basado en audio o la generación de avatares de SkyReels V3 pueden producir más de 5 minutos de un personaje parlante coherente. Es lo más parecido a «pulsar un botón y obtener un vídeo largo».</p>
<p><strong>Para contenido narrativo con varias escenas, como una película de aventuras:</strong> utiliza Kling 3.0, Grok Imagine o Seedance 2.0 con imágenes de referencia reales del personaje. Genera planos individuales de entre 10 y 15 segundos. Utiliza las mismas referencias @Element o <code>&lt;IMAGE&gt;</code> en cada generación para mantener la identidad del personaje. Encadena los planos mediante el modo multiplano —Kling admite 6 planos por llamada— o la API de extensión. Kling es la opción más probada para este flujo de trabajo. La separación explícita de Grok Imagine entre el «modo de referencia» y el «modo de primer fotograma» lo convierte en una alternativa sólida. Seedance 2.0 admite el mayor número de entradas de referencia —12 archivos—, pero es más reciente y está menos probado.</p>
<p><strong>Para mantener la coherencia de los personajes entre muchos clips:</strong> el sistema persistente <code>character_id</code> de Sora 2 Pro es el enfoque más sencillo para proyectos muy largos. Extrae el personaje una sola vez de un vídeo corto y genera después decenas de clips que hagan referencia a ese ID. La identidad del personaje no se degrada con el tiempo porque se almacena como una incrustación persistente, en lugar de reinterpretarse a partir de una imagen en cada ocasión.</p>
<p><strong>Para contenido con transferencia de estilo:</strong> Lucy Restyle en fal.ai procesa vídeos existentes de hasta 30 minutos y aplica transformaciones de estilo mediante IA mientras conserva el movimiento. Si dispones de material original, este método evita por completo el problema de la duración de generación. Cuesta 0,01 $ por segundo de vídeo original.</p>
<p><strong>Para flujos de trabajo de código abierto:</strong> utiliza Wan 2.1 o Helios con un bucle de continuación de vídeo. Genera un clip, emplea su último fotograma como fotograma inicial del siguiente y repite el proceso. Los flujos de trabajo de ComfyUI lo automatizan. La coherencia se degrada tras muchas iteraciones, pero es gratuito y controlable.</p>
<p>El reto principal sigue siendo el mismo: incluso con compatibilidad con imágenes de referencia reales, la deriva del personaje se acumula a lo largo de decenas de clips. Los rasgos faciales, el cabello, la ropa y el tono de piel cambian gradualmente. Las soluciones alternativas —fotos de referencia de alta calidad, instrucciones coherentes y generación de planos por lotes— son necesarias. Sin embargo, modelos como Kling y Grok Imagine, que separan la identidad del personaje de la composición de la escena, facilitan enormemente este proceso en comparación con los modelos limitados al primer fotograma.</p>
<h2 id="el-enfoque-del-armazon-3d-renderizar-con-baja-calidad-y-transformar-con-alta-calidad" tabindex="-1">El enfoque del armazón 3D: renderizar con baja calidad y transformar con alta calidad <a class="header-anchor" href="#el-enfoque-del-armazon-3d-renderizar-con-baja-calidad-y-transformar-con-alta-calidad" aria-label="Permalink to &quot;El enfoque del armazón 3D: renderizar con baja calidad y transformar con alta calidad&quot;"></a></h2>
<p>Está ganando popularidad un flujo de trabajo que evita por completo la mayoría de los problemas de la generación de larga duración. En lugar de pedir a un modelo de IA que genere 10 minutos de vídeo desde cero, renderizas una cinemática 3D de baja fidelidad con el trabajo de cámara, la puesta en escena de los personajes y los tiempos correctos; después, la procesas con un modelo de vídeo a vídeo usando imágenes de referencia y una instrucción de mejora. El motor 3D se encarga de la estructura. La IA se ocupa de la estética.</p>
<p>Esto funciona porque la transformación V2V es un problema más acotado que la generación completa. El modelo no necesita inventar el movimiento de cámara, la posición de los personajes ni la composición de la escena. Solo tiene que dar un aspecto fotorrealista al metraje existente mientras sigue tus referencias visuales. Es un problema mucho más abordable y puede ampliarse a cualquier duración que tu motor 3D sea capaz de renderizar.</p>
<h3 id="por-que-funciona" tabindex="-1">Por qué funciona <a class="header-anchor" href="#por-que-funciona" aria-label="Permalink to &quot;Por qué funciona&quot;"></a></h3>
<p>Tu motor 3D te proporciona todo aquello con lo que los modelos de vídeo por IA todavía tienen dificultades: control preciso de la cámara, colocación exacta de los personajes dentro del encuadre, interacciones físicas correctas y tiempos coherentes durante varios minutos de metraje. Zooms de dolly, planos de seguimiento y personajes que entran o salen del encuadre en el momento preciso: todo esto es trivial en un motor 3D, pero poco fiable en una generación basada en instrucciones de texto. La única tarea del modelo V2V es transformar los materiales, la iluminación y las texturas en un resultado fotorrealista, conservando la geometría y el movimiento que ya has definido.</p>
<p>También resulta más fácil mantener la coherencia de los personajes. En lugar de combatir la deriva de identidad a lo largo de 50 generaciones de IA independientes, muestras al modelo el mismo personaje 3D en cada fotograma. Las imágenes de referencia indican al modelo qué aspecto debe tener ese personaje en el resultado final. Es un problema más sencillo que generar desde cero un personaje coherente cada vez.</p>
<p>Además, la duración deja de ser una limitación. Lucy Restyle procesa 30 minutos en una sola llamada. Wan 2.1 en ComfyUI puede procesar cualquier duración por fragmentos. Ya no tienes que resolver el problema de «cómo genero 10 minutos», porque el metraje ya existe.</p>
<h3 id="realmaster-meta-universidad-de-tel-aviv" tabindex="-1">RealMaster (Meta / Universidad de Tel Aviv) <a class="header-anchor" href="#realmaster-meta-universidad-de-tel-aviv" aria-label="Permalink to &quot;RealMaster (Meta / Universidad de Tel Aviv)&quot;"></a></h3>
<p>RealMaster es un sistema de investigación creado específicamente para este flujo de trabajo. Publicado en marzo de 2026 por Meta Reality Labs y la Universidad de Tel Aviv, transforma vídeo 3D renderizado en vídeo fotorrealista y mantiene una alineación geométrica completa con el material de origen.</p>
<p>El método extrae mapas de bordes del renderizado 3D para conservar la estructura y el movimiento; después, aplica un modelo de difusión de vídeo —basado en la arquitectura VACE/Wan— para transformar todo lo demás en un resultado fotorrealista. Un adaptador IC-LoRA ligero destila el flujo de trabajo en una única pasada de inferencia que no necesita fotogramas de anclaje y puede procesar objetos que aparecen a mitad de la secuencia.</p>
<p>En pruebas con secuencias de los simuladores GTA-V y CARLA, RealMaster supera considerablemente a los sistemas de referencia de edición de vídeo de uso general. También puede añadir efectos meteorológicos mediante instrucciones de texto —«Haz que llueva», «Haz que nieve»— sobre la transformación fotorrealista. El modelo se generaliza entre simuladores sin necesidad de reentrenamiento. Los pesos entrenados con datos de GTA-V funcionan con resultados de CARLA sin ningún ajuste adicional.</p>
<p><strong>Disponibilidad:</strong> solo para investigación. Todavía no hay pesos públicos ni API.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificación</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Entrada</td>
<td>Vídeo 3D renderizado (cualquier motor)</td>
</tr>
<tr>
<td>Salida</td>
<td>Vídeo fotorrealista que conserva la geometría y el movimiento</td>
</tr>
<tr>
<td>Arquitectura</td>
<td>IC-LoRA sobre una base de difusión de vídeo VACE/Wan</td>
</tr>
<tr>
<td>Condicionamiento</td>
<td>Mapas de bordes del renderizado de origen</td>
</tr>
<tr>
<td>Probado con</td>
<td>Simulador GTA-V, CARLA</td>
</tr>
<tr>
<td>Licencia</td>
<td>No publicado (solo artículo de investigación)</td>
</tr>
</tbody>
</table>
<h3 id="herramientas-v2v-de-produccion-disponibles-actualmente" tabindex="-1">Herramientas V2V de producción disponibles actualmente <a class="header-anchor" href="#herramientas-v2v-de-produccion-disponibles-actualmente" aria-label="Permalink to &quot;Herramientas V2V de producción disponibles actualmente&quot;"></a></h3>
<p><strong>Kling 3.0 V2V con referencias de elementos</strong> es la opción de producción más completa. Los endpoints Edit Video y Reference V2V de fal.ai aceptan clips de vídeo de origen de entre 3 y 10 segundos, junto con referencias de elementos (<code>@Element1</code>, <code>@Element2</code> con fotos frontales y desde varios ángulos) y una instrucción de mejora. El modelo analiza las trayectorias de movimiento y los patrones de cámara del material de origen, y después vuelve a generar el metraje con las apariencias de personajes y el estilo visual especificados, conservando la puesta en escena y el trabajo de cámara originales. Admite hasta 7 entradas de referencia. Genera resultados a 1080p. Procesa tu cinemática en fragmentos de entre 10 y 15 segundos y utiliza las mismas referencias de elementos en todos ellos para mantener la coherencia de los personajes.</p>
<p><strong>Lucy Restyle 2</strong> procesa hasta 30 minutos de vídeo de origen en una única llamada a la API, a un precio de 0,01 $ por segundo de entrada. Admite una instrucción de texto y una imagen de referencia opcional como guía de estilo. No ofrece referencias de elementos por personaje como Kling, pero es la opción más sencilla y económica para transferir un estilo cinematográfico general a un renderizado 3D completo. Proporciónale el renderizado completo y una instrucción que describa el aspecto deseado. Genera resultados a 720p con coherencia temporal a lo largo de miles de fotogramas.</p>
<p><strong>Wan 2.1 VACE en ComfyUI</strong> es la alternativa de código abierto. El modelo VACE 14B realiza transformaciones V2V guiadas por referencias: recibe un vídeo de origen y una imagen de referencia de estilo, y genera una versión con otro estilo que conserva la estructura y el movimiento. El condicionamiento mediante mapas de bordes mejora la fidelidad estructural. Puedes crear un bucle de procesamiento que gestione cualquier duración por fragmentos, utilizando referencias de estilo coherentes. Es gratuito y se ejecuta localmente en tu propio hardware.</p>
<p><strong>Grok Imagine V2V</strong> admite un vídeo de origen y entre 1 y 7 imágenes de referencia en el modo de referencia. Cuesta 0,05 $ por segundo a 720p. La separación explícita entre el modo de referencia y el modo de primer fotograma permite que tus referencias guíen la apariencia de los personajes sin sustituir la estructura del vídeo de origen.</p>
<h3 id="que-necesita-tu-renderizado-3d" tabindex="-1">Qué necesita tu renderizado 3D <a class="header-anchor" href="#que-necesita-tu-renderizado-3d" aria-label="Permalink to &quot;Qué necesita tu renderizado 3D&quot;"></a></h3>
<p>El umbral mínimo de calidad del renderizado es importante. Una simple malla de alambre no proporciona al modelo V2V suficiente información. Sin embargo, tampoco necesitas materiales o iluminación con calidad de producción.</p>
<p><strong>Proporciones y geometría correctas.</strong> Los modelos de personajes necesitan proporciones corporales y una estructura facial aproximadamente correctas para que las imágenes de referencia se proyecten adecuadamente. Basta con una geometría humanoide básica con las proporciones correctas. Una figura de palitos no producirá un personaje reconocible.</p>
<p><strong>Dirección básica de la iluminación.</strong> Una única luz direccional que establezca la iluminación general de la escena ayuda al modelo a comprender el ambiente deseado. La IA mejorará y añadirá detalles, pero necesita saber si la escena transcurre a plena luz del día o en un interior oscuro.</p>
<p><strong>Movimiento de cámara fluido.</strong> Los movimientos de cámara estables e intencionados se transfieren bien. Los movimientos erráticos o extremadamente rápidos pueden confundir a los modelos V2V. Haz que tu cámara virtual se comporte como lo haría una cámara real.</p>
<p><strong>Sombreado plano en lugar de malla de alambre.</strong> Una geometría sencilla con sombreado plano o pocos polígonos ofrece mejores resultados que las mallas de alambre o los modelos sin texturas. Incluso unos colores sólidos básicos en las superficies ayudan al modelo a comprender los límites de los materiales.</p>
<h3 id="coste-y-escala" tabindex="-1">Coste y escala <a class="header-anchor" href="#coste-y-escala" aria-label="Permalink to &quot;Coste y escala&quot;"></a></h3>
<p>Procesamiento de una cinemática de 10 minutos con distintas herramientas:</p>
<table tabindex="0">
<thead>
<tr>
<th>Herramienta</th>
<th>Duración máxima de entrada</th>
<th>Coste para 10 min</th>
<th>Resolución</th>
<th>Imágenes de referencia</th>
</tr>
</thead>
<tbody>
<tr>
<td>Kling O3 V2V</td>
<td>Clips de 10 s</td>
<td>~50-67 $</td>
<td>1080p</td>
<td>Hasta 7 (elementos + estilo)</td>
</tr>
<tr>
<td>Lucy Restyle 2</td>
<td>30 minutos</td>
<td>6 $</td>
<td>720p</td>
<td>1 (solo estilo)</td>
</tr>
<tr>
<td>Grok Imagine V2V</td>
<td>Clips de 10 s</td>
<td>~30 $</td>
<td>720p</td>
<td>1-7</td>
</tr>
<tr>
<td>Wan 2.1 VACE</td>
<td>Cualquiera (por fragmentos)</td>
<td>Gratis (GPU local)</td>
<td>720p</td>
<td>1 por fragmento</td>
</tr>
</tbody>
</table>
<p>Lucy Restyle es la opción más económica para procesar vídeos completos. Kling es la más precisa para mejorar personajes concretos mediante referencias de elementos. Wan 2.1 es gratuito si dispones del hardware necesario —requiere unos 60 GB de VRAM para el modelo 14B a 720p, u 8 GB para la variante 1.3B con una calidad inferior—.</p>
<h2 id="tabla-comparativa" tabindex="-1">Tabla comparativa <a class="header-anchor" href="#tabla-comparativa" aria-label="Permalink to &quot;Tabla comparativa&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Duración nativa máxima</th>
<th>Duración ampliada</th>
<th>Tipo de referencia</th>
<th>Máx. de referencias</th>
<th>Resolución</th>
<th>API disponible</th>
<th>Código abierto</th>
</tr>
</thead>
<tbody>
<tr>
<td>LongCat Video</td>
<td>~15 min</td>
<td>N/D</td>
<td>Solo primer fotograma</td>
<td>1</td>
<td>720p/30 fps</td>
<td>Sí (fal.ai)</td>
<td>Sí (MIT)</td>
</tr>
<tr>
<td>Seaweed APT2</td>
<td>~5 min</td>
<td>N/D</td>
<td>I2V + pose</td>
<td>1</td>
<td>720p</td>
<td>No</td>
<td>No</td>
</tr>
<tr>
<td>Helios</td>
<td>Varios minutos</td>
<td>N/D</td>
<td>Primer fotograma (I2V)</td>
<td>1</td>
<td>720p</td>
<td>HF Spaces</td>
<td>Sí (Apache 2.0)</td>
</tr>
<tr>
<td>SkyReels V3</td>
<td>Ilimitada</td>
<td>N/D</td>
<td>Referencia real</td>
<td>1-4</td>
<td>720p</td>
<td>No</td>
<td>Sí</td>
</tr>
<tr>
<td><strong>Kling 3.0</strong></td>
<td>15 s</td>
<td>~3 min</td>
<td><strong>Elementos + referencias de estilo</strong></td>
<td><strong>7</strong></td>
<td>1080p</td>
<td>Sí</td>
<td>No</td>
</tr>
<tr>
<td><strong>Grok Imagine</strong></td>
<td>15 s</td>
<td>Encadenable</td>
<td><strong>Referencia real</strong></td>
<td><strong>7</strong></td>
<td>720p</td>
<td>Sí</td>
<td>No</td>
</tr>
<tr>
<td><strong>Seedance 2.0</strong></td>
<td>15 s</td>
<td>N/D</td>
<td><strong>Referencias multimodales</strong></td>
<td><strong>12</strong></td>
<td>2K</td>
<td>Sí</td>
<td>No</td>
</tr>
<tr>
<td>Runway Gen-4.5</td>
<td>10 s</td>
<td>~1 min</td>
<td>I2V (0-1)</td>
<td>1</td>
<td>1080p</td>
<td>Sí</td>
<td>No</td>
</tr>
<tr>
<td>Veo 3.1</td>
<td>8 s</td>
<td>~2,5 min</td>
<td>Ingredientes (estilo)</td>
<td>3</td>
<td>4K</td>
<td>Sí</td>
<td>No</td>
</tr>
<tr>
<td>Gemini Omni Flash</td>
<td>10 s</td>
<td>Ediciones conversacionales</td>
<td>Referencias multimodales</td>
<td>Imágenes + vídeo</td>
<td>720p</td>
<td>Sí (vista previa)</td>
<td>No</td>
</tr>
<tr>
<td>Sora 2 Pro ⚠️ se retirará</td>
<td>20 s</td>
<td>Encadenable</td>
<td>ID de personaje (vídeo)</td>
<td>2</td>
<td>1080p</td>
<td>La API se retira en sep. de 2026</td>
<td>No</td>
</tr>
<tr>
<td>Hailuo 02</td>
<td>10 s</td>
<td>N/D</td>
<td>I2V (primer fotograma)</td>
<td>1</td>
<td>1080p</td>
<td>Sí</td>
<td>No</td>
</tr>
<tr>
<td>Luma Ray3.2</td>
<td>20 s</td>
<td>N/D</td>
<td>Fotogramas clave + referencia de personaje</td>
<td>16 fotogramas clave</td>
<td>1080p (reescalado a 4K)</td>
<td>Sí</td>
<td>No</td>
</tr>
<tr>
<td>Pika 2.5</td>
<td>10 s</td>
<td>25 s</td>
<td>Pikascenes</td>
<td>10</td>
<td>1080p</td>
<td>Sí</td>
<td>No</td>
</tr>
<tr>
<td>Wan 2.1</td>
<td>Clips cortos</td>
<td>Mediante continuación</td>
<td>I2V / FLF2V</td>
<td>1-2</td>
<td>720p</td>
<td>Mediante fal.ai</td>
<td>Sí (Apache 2.0)</td>
</tr>
<tr>
<td>HunyuanVideo</td>
<td>Clips cortos</td>
<td>Mediante continuación</td>
<td>I2V (primer fotograma)</td>
<td>1</td>
<td>720p</td>
<td>Mediante fal.ai</td>
<td>Sí</td>
</tr>
<tr>
<td>LTX-2.3</td>
<td>20 s</td>
<td>Mediante continuación</td>
<td>I2V + fotogramas clave</td>
<td>Varios fotogramas clave</td>
<td>4K</td>
<td>Sí (LTX, fal.ai)</td>
<td>Pesos (limitados por ARR)</td>
</tr>
<tr>
<td>CogVideoX</td>
<td>6-10 s</td>
<td>Mediante continuación</td>
<td>I2V (primer fotograma)</td>
<td>1</td>
<td>720x480</td>
<td>Mediante fal.ai</td>
<td>Sí</td>
</tr>
</tbody>
</table>
<h2 id="proximamente" tabindex="-1">Próximamente <a class="header-anchor" href="#proximamente" aria-label="Permalink to &quot;Próximamente&quot;"></a></h2>
<p>La trayectoria hasta 2026 está clara. LongCat Video demostró que la generación a escala de minutos y con coherencia es posible en un modelo abierto. Helios mostró que puede hacerse en tiempo real. Seaweed APT2 demostró la generación interactiva de larga duración. Y los modelos con referencias reales (Kling, Grok, Seedance) demostraron que la identidad de los personajes puede mantenerse en escenas arbitrarias.</p>
<p>El siguiente paso es combinar estas capacidades: generación nativa de larga duración con compatibilidad real con referencias de personajes. Ahora mismo hay que elegir una u otra. Cuando un modelo pueda generar 5 minutos de vídeo manteniendo los personajes de las imágenes de referencia a lo largo de decenas de cambios de escena, el flujo de trabajo basado en encadenar clips quedará obsoleto. Las especificaciones anunciadas de Seedance 2.5 (clips nativos de 30 segundos, hasta 50 archivos de referencia y apertura de la API el 16 de julio de 2026) son el primer paso real en esa dirección.</p>
<p>A mediados de julio de 2026, la clasificación de texto a vídeo (con audio) de Artificial Analysis está liderada por Gemini Omni Flash de Google (~1240 Elo), seguido de Seedance 2.0, Wan 2.7 de Alibaba —disponible solo mediante API— y los modelos HappyHorse; las variantes de Kling 3.0, SkyReels V4 y Veo 3.1 les siguen de cerca. La clasificación cambia con frecuencia, así que cualquier posición concreta debe considerarse una instantánea y no un orden fijo.</p>
<p>El enfoque basado en un armazón 3D ofrece una trayectoria paralela. A medida que los modelos V2V mejoran su preservación estructural y su fotorrealismo, perfeccionar renderizados 3D de baja fidelidad resulta cada vez más viable para producciones completas. RealMaster de Meta ya logra transformaciones de simulación a realidad con calidad de investigación a partir de resultados de motores de videojuegos. Cuando esta capacidad llegue a las API de producción con compatibilidad con imágenes de referencia, cualquiera con conocimientos básicos de 3D podrá producir vídeos fotorrealistas de larga duración con control total sobre la cámara, la puesta en escena y la ubicación de los personajes, sea cual sea la duración.</p>
<p>Por ahora, la respuesta práctica depende de tu caso de uso:</p>
<p><strong>Mejor para referencias de varios personajes:</strong> Kling 3.0 (hasta 7 referencias con sistemas separados de elementos y estilo) o Seedance 2.0 (hasta 12 entradas multimodales, que aumentarán a 50 cuando se abra la API de Seedance 2.5 el 16 de julio de 2026).</p>
<p><strong>Mejor API para generar vídeo a partir de referencias:</strong> Grok Imagine (API sencilla, modo de referencia explícito, 0,05 $/s) o Kling mediante fal.ai (0,084-0,112 $/s).</p>
<p><strong>Mejor para mantener personajes en muchos clips:</strong> las referencias de elementos de Kling 3.0 o la función de referencia y extensión de SkyReels V3. (El sistema de ID de personajes de Sora 2 Pro era el enfoque más limpio, pero se retirará en 2026, así que no empieces nuevos proyectos con él).</p>
<p><strong>Mejor opción de código abierto:</strong> SkyReels V3 (entre 1 y 4 imágenes de referencia reales, duración ilimitada) o Helios (tiempo real, Apache 2.0).</p>
<p><strong>Mejor para duración pura:</strong> LongCat Video (~15 min, pero solo admite el primer fotograma).</p>
<p><strong>Mejor para mejorar renderizados 3D:</strong> Kling 3.0 V2V (referencias de elementos por personaje, 1080p) o Lucy Restyle 2 (entrada de 30 min, 0,01 $/s).</p>
<hr>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-mejor-modelo-de-video-con-ia-para-videos-largos" tabindex="-1">¿Cuál es el mejor modelo de vídeo con IA para vídeos largos? <a class="header-anchor" href="#¿cual-es-el-mejor-modelo-de-video-con-ia-para-videos-largos" aria-label="Permalink to &quot;¿Cuál es el mejor modelo de vídeo con IA para vídeos largos?&quot;"></a></h3>
<p>En cuanto a duración pura, LongCat Video genera de forma nativa unos 15 minutos, aunque solo admite el primer fotograma. Para vídeos largos con personajes coherentes, la respuesta práctica en 2026 es un flujo de trabajo de referencia y extensión: genera clips con un modelo que ofrezca buena compatibilidad con referencias (Kling 3.0, Runway Gen-4.5 o SkyReels V3, de código abierto) y encadénalos. Ningún modelo ofrece a la vez una gran duración y una conservación perfecta de la identidad de los personajes, por lo que la mayoría de las producciones combinan varios modelos.</p>
<h3 id="¿que-modelos-de-video-con-ia-admiten-imagenes-de-referencia" tabindex="-1">¿Qué modelos de vídeo con IA admiten imágenes de referencia? <a class="header-anchor" href="#¿que-modelos-de-video-con-ia-admiten-imagenes-de-referencia" aria-label="Permalink to &quot;¿Qué modelos de vídeo con IA admiten imágenes de referencia?&quot;"></a></h3>
<p>Entre las opciones comerciales, Kling 3.0 Omni, Runway Gen-4.5, Seedance 2.0, Google Veo 3.1 y Gemini Omni Flash admiten imágenes de referencia. En cuanto al código abierto, SkyReels V2/V3, Wan 2.1 y LTX-2 aceptan entradas de referencia que puedes ejecutar por tu cuenta. La calidad de esta compatibilidad varía mucho, por eso la guía anterior los divide en niveles.</p>
<h3 id="¿puede-la-ia-generar-un-personaje-coherente-a-lo-largo-de-un-video" tabindex="-1">¿Puede la IA generar un personaje coherente a lo largo de un vídeo? <a class="header-anchor" href="#¿puede-la-ia-generar-un-personaje-coherente-a-lo-largo-de-un-video" aria-label="Permalink to &quot;¿Puede la IA generar un personaje coherente a lo largo de un vídeo?&quot;"></a></h3>
<p>Sí, pero no de una sola vez. El enfoque fiable consiste en fijar un personaje mediante una o varias imágenes de referencia, generar clips cortos y ampliarlos o unirlos mientras se vuelven a proporcionar las mismas referencias. La compatibilidad con referencias reales (el modelo conserva la identidad en nuevas generaciones) importa mucho más en este caso que el condicionamiento mediante el primer fotograma, que solo establece el fotograma inicial.</p>
<h3 id="¿que-diferencia-hay-entre-admitir-un-primer-fotograma-y-admitir-imagenes-de-referencia-reales" tabindex="-1">¿Qué diferencia hay entre admitir un primer fotograma y admitir imágenes de referencia reales? <a class="header-anchor" href="#¿que-diferencia-hay-entre-admitir-un-primer-fotograma-y-admitir-imagenes-de-referencia-reales" aria-label="Permalink to &quot;¿Qué diferencia hay entre admitir un primer fotograma y admitir imágenes de referencia reales?&quot;"></a></h3>
<p>El condicionamiento mediante el primer fotograma usa tu imagen como fotograma inicial literal del clip y después se desvía progresivamente a medida que avanza el vídeo. La compatibilidad con referencias reales trata la imagen como un ancla de identidad que el modelo respeta durante toda la generación, de modo que un personaje o estilo se mantiene coherente a lo largo de todo el clip y entre clips separados. La sección anterior detalla qué hace cada modelo.</p>
<hr>
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/frontier-gen-ai-models.html">Modelos punteros de IA generativa de código abierto</a> — guía práctica sobre IA generativa de código abierto para vídeo, imágenes, 3D, audio y más</li>
<li><a href="/es/guides/ai-asset-generators-games.html">Generadores de recursos con IA para juegos</a> — arte, modelos y audio a partir de un prompt</li>
<li><a href="/es/guides/ai-music-generators-games.html">Mejores generadores de música con IA para juegos</a> — crea la banda sonora de tu juego con música generada</li>
<li><a href="/es/tools/video.html">Generador de vídeo</a> — nuestra herramienta de generación de vídeo, impulsada por Kling 3.0 Pro</li>
<li><a href="/es/blog/2026-03-04-sketch-to-animated-3d-character.html">Cómo pasar de un boceto a un personaje 3D animado</a> — uso de la generación de imágenes y vídeo para animar personajes</li>
</ul>
<BuildCta
  title="Haz que la escena sea jugable en lugar de renderizarla"
  desc="Sáltate la cola de renderizado y recórrela en directo."
  prompt="Crea una ciudad de neón por la que pueda conducir de noche" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/long-reference-video-models.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Generación de paisajes con LOD dinámico y streaming para mundos abiertos en el navegador]]></title>
            <link>https://app.cinevva.com/es/guides/landscape-generation-browser</link>
            <guid>https://app.cinevva.com/es/guides/landscape-generation-browser</guid>
            <pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Más allá de los mapas de altura y las funciones de ruido. Generación de terreno físicamente correcta, representaciones volumétricas, síntesis basada en difusión y pipelines de renderizado controlados por GPU para mundos abiertos en el navegador.]]></description>
            <content:encoded><![CDATA[<h1 id="generacion-de-paisajes-con-lod-dinamico-y-streaming-para-mundos-abiertos-en-el-navegador" tabindex="-1">Generación de paisajes con LOD dinámico y streaming para mundos abiertos en el navegador <a class="header-anchor" href="#generacion-de-paisajes-con-lod-dinamico-y-streaming-para-mundos-abiertos-en-el-navegador" aria-label="Permalink to &quot;Generación de paisajes con LOD dinámico y streaming para mundos abiertos en el navegador&quot;"></a></h1>
<p>Los mapas de altura con ruido Perlin son el punto de partida habitual para el terreno procedimental. Superpón algunas octavas de fBm, aplica un gradiente de color y tendrás algo que parece un terreno. Todos los tutoriales terminan aquí. Pero los paisajes reales no parecen capas de ruido apiladas. Tienen valles fluviales excavados por el agua, acantilados moldeados por fracturas de tensión, y cuevas y arcos formados por la erosión a lo largo de millones de años. Tienen texturas correlacionadas —hierba en terrenos llanos, roca en pendientes pronunciadas y nieve por encima de la línea de árboles— que surgen de los mismos procesos físicos que dieron forma a la geometría.</p>
<p>Esta guía aborda lo que viene después del ruido: métodos de generación basados en principios físicos, representaciones volumétricas capaces de gestionar cuevas y salientes, síntesis neuronal de terrenos basada en difusión, y los pipelines de LOD y streaming controlados por GPU necesarios para renderizarlo todo en una pestaña del navegador a 60 fps.</p>
<p>Todo lo que se describe aquí está orientado a nuestra restricción específica: un mundo abierto multijugador que se ejecuta en WebGL 2 / WebGPU, se transmite por la red y puede ser editado por creadores.</p>
<h2 id="por-que-los-mapas-de-altura-no-son-suficientes" tabindex="-1">Por qué los mapas de altura no son suficientes <a class="header-anchor" href="#por-que-los-mapas-de-altura-no-son-suficientes" aria-label="Permalink to &quot;Por qué los mapas de altura no son suficientes&quot;"></a></h2>
<p>Un mapa de altura almacena un valor de altura por cada punto de la cuadrícula. Es una función 2D: dadas las coordenadas (x, z), devuelve y. Esta representación es compacta, eficiente para la GPU y rápida de renderizar. Sin embargo, tiene limitaciones fundamentales que importan en un mundo para creadores.</p>
<p><strong>Sin cuevas ni salientes.</strong> Un mapa de altura no puede representar un terreno en el que un mismo punto tenga dos alturas diferentes. Las cuevas, los arcos, los salientes de acantilados, los túneles y las islas flotantes son imposibles. Por eso Minecraft, No Man's Sky y Deep Rock Galactic necesitan terreno volumétrico.</p>
<p><strong>Sin elementos verticales.</strong> Un acantilado vertical en un mapa de altura es una pendiente casi infinita, lo que provoca un estiramiento extremo de las texturas y artefactos de colisión. Los acantilados reales tienen elementos horizontales —cornisas y grietas— que un mapa de altura no puede representar.</p>
<p><strong>El ruido parece ruido.</strong> Incluso con 8 octavas de fBm y deformación de dominio, el terreno tiene un aspecto artificial. Carece de la estructura direccional de la geología real: crestas, redes de drenaje, depósitos sedimentarios y pliegues tectónicos. Estos patrones surgen de procesos físicos, no de funciones de ruido.</p>
<p><strong>Las modificaciones de los creadores son limitadas.</strong> Si los creadores solo pueden modificar alturas, no pueden excavar túneles, crear cuevas ni construir espacios subterráneos. Para que los creadores puedan dar forma de verdad a un mundo, la representación del terreno debe admitir tanto la sustracción como la adición.</p>
<p>La solución no consiste en abandonar por completo los mapas de altura. Siguen siendo la mejor representación para el 90 % del terreno que consiste en una superficie simple. La solución es un enfoque híbrido: terreno base con mapa de altura y capas volumétricas donde se necesite geometría compleja, generación físicamente correcta para crear formas del relieve realistas y síntesis neuronal para obtener la diversidad que el ruido no puede conseguir.</p>
<h2 id="la-respuesta-rapida-lo-que-realmente-construiriamos" tabindex="-1">La respuesta rápida: lo que realmente construiríamos <a class="header-anchor" href="#la-respuesta-rapida-lo-que-realmente-construiriamos" aria-label="Permalink to &quot;La respuesta rápida: lo que realmente construiríamos&quot;"></a></h2>
<p>Antes de entrar en detalle, este es el marco de decisión. El resto del artículo explica cada componente.</p>
<h3 id="representacion-del-terreno" tabindex="-1">Representación del terreno <a class="header-anchor" href="#representacion-del-terreno" aria-label="Permalink to &quot;Representación del terreno&quot;"></a></h3>
<p>Usa un sistema híbrido de <strong>mapa de altura + SDF</strong>. El mapa de altura cubre todo el mundo —es barato, compacto y de eficacia probada—. Los volúmenes SDF solo existen donde se necesitan cuevas, salientes o elementos excavados por los creadores, quizá en un 5-10 % de los chunks. Así, el 90 % del mundo mantiene el coste de un mapa de altura, al tiempo que se admite geometría arbitraria donde sea necesaria.</p>
<h3 id="pipeline-de-generacion" tabindex="-1">Pipeline de generación <a class="header-anchor" href="#pipeline-de-generacion" aria-label="Permalink to &quot;Pipeline de generación&quot;"></a></h3>
<p>Ejecútalo en el servidor como un proceso encadenado:</p>
<ol>
<li><strong>Terrain Diffusion</strong> —o MESA para prompts de texto— genera el mapa de altura base a partir de una semilla. Esto sustituye el ruido por formas del relieve geológicamente realistas entrenadas con datos de elevación reales.</li>
<li><strong>La erosión analítica</strong> —ley de potencia del flujo fluvial— refina el mapa de altura con redes fluviales y crestas en milisegundos.</li>
<li><strong>TerraFusion o Geodiffussr</strong> genera texturas correlacionadas a partir del mapa de altura —o usa reglas procedimentales de pendiente y altitud como alternativa para WebGL 2—.</li>
<li><strong>La simulación del ecosistema</strong> produce mapas de densidad de vegetación.</li>
<li><strong>La erosión al estilo de Arenite</strong> genera volúmenes SDF para acantilados, arcos y cuevas allí donde el terreno los requiera.</li>
<li><strong>Divide en chunks, comprime y sube a la CDN.</strong> Chunk medio: 2-8 KB. Chunk complejo con datos volumétricos: 20-100 KB.</li>
</ol>
<p>Los creadores interactúan con este pipeline ajustando parámetros —«más húmedo», «más montañoso», «añadir cuevas»—, esbozando su intención o esculpiendo directamente con pinceles y herramientas SDF.</p>
<h3 id="estrategia-de-lod" tabindex="-1">Estrategia de LOD <a class="header-anchor" href="#estrategia-de-lod" aria-label="Permalink to &quot;Estrategia de LOD&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Capacidad del navegador</th>
<th>LOD del mapa de altura</th>
<th>LOD volumétrico</th>
<th>LOD de la vegetación</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>WebGPU</strong></td>
<td>Quadtree controlado por GPU (CDLOD) con descarte mediante cómputo + dibujo indirecto</td>
<td>SDF multirresolución con marching cubes mediante cómputo + Transvoxel</td>
<td>ComputeInstanceCulling con dibujo indirecto</td>
</tr>
<tr>
<td><strong>WebGL 2</strong></td>
<td>Clipmaps geométricos con actualizaciones de anillos en la CPU</td>
<td>Mallas pregeneradas en 2-3 niveles de LOD, almacenadas en caché</td>
<td>Descarte de frustum en la CPU, InstancedMesh</td>
</tr>
</tbody>
</table>
<p>Ambas rutas usan geomorphing en el sombreador de vértices para lograr transiciones sin saltos visibles. Ambas usan impostores de billboard para la vegetación distante. La ruta de WebGPU es más rápida —un presupuesto de 3,5 ms para el terreno—, pero la ruta de WebGL 2 también es viable —6,5 ms—.</p>
<h3 id="streaming" tabindex="-1">Streaming <a class="header-anchor" href="#streaming" aria-label="Permalink to &quot;Streaming&quot;"></a></h3>
<p>Carga progresiva: primero la geometría del terreno (&lt;100 ms), después las texturas (&lt;300 ms), luego la vegetación (&lt;1 s) y, por último, los datos volumétricos (❤️ s). Precarga en función de la velocidad del jugador. Presupuesto de memoria: 256 MB en total para el terreno.</p>
<h3 id="edicion" tabindex="-1">Edición <a class="header-anchor" href="#edicion" aria-label="Permalink to &quot;Edición&quot;"></a></h3>
<p>Pinceles de mapa de altura para esculpir la superficie —elevar, bajar, suavizar y erosionar—. Primitivas SDF para la edición volumétrica —excavar cuevas y añadir arcos—. Ambas operaciones son instantáneas en local, se sincronizan con el servidor en 100-300 ms y se transmiten a otros jugadores mediante actualizaciones delta.</p>
<h3 id="que-construir-y-en-que-orden" tabindex="-1">Qué construir y en qué orden <a class="header-anchor" href="#que-construir-y-en-que-orden" aria-label="Permalink to &quot;Qué construir y en qué orden&quot;"></a></h3>
<p><strong>Meses 1-2: Terreno con mapa de altura y clipmaps geométricos.</strong> Solo WebGL 2. Streaming desde la CDN. Materiales procedimentales según pendiente y altitud. Así se muestra el terreno en todos los navegadores. Usa ruido + erosión analítica para la generación —Terrain Diffusion puede esperar—.</p>
<p><strong>Meses 3-4: Vegetación y atmósfera.</strong> Hierba y árboles instanciados por GPU a partir de mapas de densidad. Cielo procedimental con ciclo de día y noche. Niebla atmosférica. Mapas de sombras en cascada. El mundo empieza a sentirse como un lugar real.</p>
<p><strong>Meses 5-6: Edición para creadores.</strong> Herramientas de pincel para mapas de altura. Sincronización basada en deltas para las modificaciones multijugador del terreno. Bloqueo espacial para la edición simultánea. Es entonces cuando los creadores empiezan a dar forma al mundo.</p>
<p><strong>Meses 7-9: Terreno volumétrico y ruta de WebGPU.</strong> Capas SDF para cuevas y salientes. Marching cubes mediante cómputo de WebGPU. Transvoxel para los límites entre niveles de LOD. Herramientas de esculpido SDF. Esto desbloquea el conjunto completo de herramientas de creación.</p>
<p><strong>Meses 10-12: Generación neuronal y pulido.</strong> Terrain Diffusion o MESA para el mapa de altura base. TerraFusion/Geodiffussr para las texturas. Ruido fasorial para el microdetalle. Teselado hexagonal para evitar la repetición. Texturizado virtual. Fusión laplaciana. El terreno alcanza una calidad apta para producción.</p>
<p>Este orden permite disponer de algo jugable al cabo de 2 meses, algo atractivo al cabo de 4, algo editable al cabo de 6 y algo de última generación al cabo de 12.</p>
<p>El resto de este artículo recoge la investigación que sustenta cada decisión.</p>
<h2 id="representaciones-del-terreno-mas-alla-de-los-mapas-de-altura" tabindex="-1">Representaciones del terreno más allá de los mapas de altura <a class="header-anchor" href="#representaciones-del-terreno-mas-alla-de-los-mapas-de-altura" aria-label="Permalink to &quot;Representaciones del terreno más allá de los mapas de altura&quot;"></a></h2>
<h3 id="campos-de-distancia-con-signo-sdf" tabindex="-1">Campos de distancia con signo (SDF) <a class="header-anchor" href="#campos-de-distancia-con-signo-sdf" aria-label="Permalink to &quot;Campos de distancia con signo (SDF)&quot;"></a></h3>
<p>Un campo de distancia con signo almacena, en cada punto del espacio 3D, la distancia hasta la superficie más cercana. Los valores positivos están en el exterior, los negativos en el interior y el cruce por cero es la propia superficie. Los SDF representan formas 3D arbitrarias, incluidas cuevas, arcos y geometría flotante.</p>
<p>Para renderizar un SDF como una malla, se ejecuta marching cubes —o una variante— para extraer el cruce por cero en forma de triángulos. La resolución de la malla depende de la resolución de la cuadrícula: una cuadrícula SDF de 256x256x256 produce un terreno que cubre aproximadamente un chunk con una resolución de 1 metro.</p>
<p><strong>Implementación en el navegador:</strong> marching cubes en WebGPU se ejecuta por completo en la GPU mediante sombreadores de cómputo. La implementación <a href="https://www.willusher.io/webgpu-marching-cubes/" target="_blank" rel="noreferrer">webgpu-marching-cubes</a> de Will Usher procesa una cuadrícula de 256^3 en tiempo real en el navegador y alcanza un rendimiento comparable al nativo. El algoritmo es extremadamente paralelizable —cada celda se procesa de forma independiente—, por lo que resulta ideal para el cómputo en GPU.</p>
<div class="language-wgsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">wgsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">compute</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> @</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">workgroup_size</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> marchingCubes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">builtin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(global_invocation_id) id: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">u32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> sdfValues </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> sampleSDF</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(id);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> caseIndex </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> classifyCell</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(sdfValues);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (caseIndex </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">==</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0u</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> ||</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> caseIndex </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">==</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 255u</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) { </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> triangles </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> lookupTriangulation</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(caseIndex);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> vertices </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> interpolateEdges</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(sdfValues, triangles);</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    appendToMeshBuffer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(vertices);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p><strong>Coste de almacenamiento:</strong> un SDF de 256^3 con una precisión cuantizada de 8 bits ocupa 16 MB sin comprimir. Sin embargo, la mayor parte del volumen está vacía —lejos de la superficie—. La codificación por longitud de ejecución o el almacenamiento mediante octrees dispersos suelen reducirlo a 100-500 KB por chunk, un tamaño comparable al del terreno con mapas de altura.</p>
<p><strong>Edición:</strong> el terreno SDF se presta de forma natural a la edición. Añadir material es una operación <code>min()</code> sobre el campo de distancia. Eliminar material —excavar— es una operación <code>max()</code> con una forma negada. Para fusionar formas con suavidad se usa <code>smoothMin()</code>. Estas operaciones se ejecutan en un sombreador de cómputo a velocidades interactivas.</p>
<h3 id="contorneado-dual" tabindex="-1">Contorneado dual <a class="header-anchor" href="#contorneado-dual" aria-label="Permalink to &quot;Contorneado dual&quot;"></a></h3>
<p>Marching cubes coloca vértices en los bordes de la cuadrícula, lo que produce superficies suaves pero pierde los elementos definidos —bordes de acantilados y esquinas de rocas—. El contorneado dual coloca un vértice por celda en la posición que mejor representa la superficie dentro de esa celda, preservando los bordes y las esquinas definidos.</p>
<p>El algoritmo necesita tanto los valores del campo de distancia como las normales de la superficie —el gradiente del SDF— en cada punto de la cuadrícula. Resuelve un pequeño problema de mínimos cuadrados por celda para encontrar la posición óptima del vértice. El resultado es una malla que captura tanto el terreno suave como los elementos rocosos definidos.</p>
<p><strong>Neural Dual Contouring</strong> (Chen et al., 2022, <a href="https://arxiv.org/abs/2202.01999" target="_blank" rel="noreferrer">arXiv:2202.01999</a>) sustituye el solucionador de mínimos cuadrados por una red neuronal que predice las posiciones óptimas de los vértices y los cruces de aristas. Consigue una mayor precisión en la reconstrucción de superficies y una mejor conservación de los elementos, especialmente en formaciones rocosas naturales complejas.</p>
<h3 id="el-algoritmo-transvoxel" tabindex="-1">El algoritmo Transvoxel <a class="header-anchor" href="#el-algoritmo-transvoxel" aria-label="Permalink to &quot;El algoritmo Transvoxel&quot;"></a></h3>
<p>El problema más difícil del terreno volumétrico no es generar la malla, sino las transiciones de LOD. Cuando un chunk de alta resolución está junto a otro de baja resolución, las mallas no coinciden en el límite y aparecen grietas visibles.</p>
<p>El algoritmo Transvoxel, diseñado por Eric Lengyel (<a href="https://transvoxel.org/" target="_blank" rel="noreferrer">transvoxel.org</a>), resuelve este problema insertando celdas de transición especiales a lo largo de los límites entre distintas resoluciones. Estas celdas salvan la diferencia de resolución mediante triángulos adicionales que coinciden exactamente con ambos lados. El algoritmo reduce el complejo problema de los límites a 73 clases de equivalencia —frente a aproximadamente 1,2 millones de casos con un enfoque de fuerza bruta—.</p>
<p>Transvoxel está diseñado específicamente para aplicaciones en tiempo real cuyos datos de vóxeles cambian dinámicamente —modificaciones de los creadores, erosión y minería—. No está sujeto a patentes y se ha utilizado en juegos publicados como Space Engineers y Astroneer. Para un mundo en el navegador con terreno volumétrico editable, Transvoxel es la solución de LOD.</p>
<h3 id="hibrido-terreno-base-con-mapa-de-altura-capas-volumetricas" tabindex="-1">Híbrido: terreno base con mapa de altura + capas volumétricas <a class="header-anchor" href="#hibrido-terreno-base-con-mapa-de-altura-capas-volumetricas" aria-label="Permalink to &quot;Híbrido: terreno base con mapa de altura + capas volumétricas&quot;"></a></h3>
<p>El enfoque práctico para un mundo abierto en el navegador es un sistema por capas:</p>
<p><strong>Capa 1: El terreno con mapa de altura</strong> cubre todo el mundo. Es la representación barata y compacta para colinas onduladas, valles y montañas. Se transmite como pequeños fragmentos de mapa de altura por chunk —2-4 KB cada uno—. El renderizado usa clipmaps geométricos con un coste constante en la GPU.</p>
<p><strong>Capa 2: Las capas volumétricas</strong> solo existen en los chunks donde se necesita geometría compleja. Las cuevas, los acantilados, los arcos, los túneles excavados por los creadores y los espacios subterráneos se almacenan como volúmenes SDF dispersos. Solo los chunks con datos volumétricos incurren en el coste de almacenamiento del SDF y de marching cubes.</p>
<p><strong>Capa 3: Las modificaciones de los creadores</strong> se almacenan como ediciones SDF sobre las capas base. Cuando un creador excava un túnel, se almacena la forma SDF del túnel. El sistema de renderizado combina la superficie del mapa de altura con sustracciones y adiciones volumétricas para producir la malla final.</p>
<p>Este sistema híbrido casi no tiene costes adicionales en terreno llano —solo el mapa de altura— y escala únicamente donde existe complejidad. En un mundo típico, quizá solo un 5-10 % de los chunks necesite datos volumétricos.</p>
<h2 id="generacion-de-terreno-fisicamente-correcta" tabindex="-1">Generación de terreno físicamente correcta <a class="header-anchor" href="#generacion-de-terreno-fisicamente-correcta" aria-label="Permalink to &quot;Generación de terreno físicamente correcta&quot;"></a></h2>
<p>El ruido produce terreno aleatorio. La física produce terreno realista. La diferencia es visible: el terreno generado con ruido carece de estructura —presenta irregularidades aleatorias por todas partes—, mientras que el terreno físico tiene redes fluviales, crestas, abanicos aluviales y franjas de acantilados que surgen de la erosión y la tectónica.</p>
<h3 id="erosion-hidraulica-la-base" tabindex="-1">Erosión hidráulica: la base <a class="header-anchor" href="#erosion-hidraulica-la-base" aria-label="Permalink to &quot;Erosión hidráulica: la base&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/eaXk97ujbPQ" title="Aventura de programación: erosión hidráulica" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">La implementación de erosión hidráulica de Sebastian Lague en acción. Las gotas de lluvia simuladas fluyen cuesta abajo, erosionan material según la velocidad y la pendiente, y depositan sedimentos cuando disminuye su velocidad, transformando el ruido plano en valles fluviales, crestas y abanicos aluviales.</div>
<p>El agua fluye cuesta abajo, recoge sedimentos y los deposita cuando pierde velocidad. Este único proceso, simulado durante millones de años virtuales, transforma un ruido sin rasgos distintivos en un terreno con elementos geológicos reconocibles.
El enfoque basado en partículas deja caer gotas de lluvia simuladas sobre el mapa de alturas. Cada gota fluye pendiente abajo (siguiendo el gradiente), erosiona material según la velocidad y la pendiente, transporta sedimentos como carga disuelta y los deposita cuando la velocidad disminuye o se supera su capacidad. Después de 200.000-500.000 partículas, el terreno desarrolla:</p>
<ul>
<li><strong>Valles fluviales</strong> que siguen la trayectoria del máximo flujo de agua</li>
<li><strong>Líneas de cresta</strong> que separan cuencas hidrográficas</li>
<li><strong>Abanicos aluviales</strong> donde los valles escarpados desembocan en llanuras</li>
<li><strong>Valles en forma de V</strong> en terrenos montañosos y en forma de U en terrenos glaciares</li>
</ul>
<p><strong>Implementación en GPU:</strong> La simulación de partículas se puede paralelizar. Cada partícula es independiente (la aproximación ignora la interacción entre partículas, lo cual resulta adecuado para la erosión). Un shader de cómputo WebGPU procesa 10.000 partículas por fotograma a 60 fps y completa 200.000 partículas en unos 3 segundos de tiempo real.</p>
<p>La implementación de código abierto de Sebastian Lague (<a href="https://github.com/SebLague/Hydraulic-Erosion" target="_blank" rel="noreferrer">GitHub</a>) es el punto de partida estándar. Se ejecuta en un único hilo en C# y procesa un mapa de alturas de 1024x1024 en pocos segundos. La versión para GPU es entre 50 y 100 veces más rápida.</p>
<h3 id="erosion-termica" tabindex="-1">Erosión térmica <a class="header-anchor" href="#erosion-termica" aria-label="Permalink to &quot;Erosión térmica&quot;"></a></h3>
<p>El agua no es la única fuerza erosiva. Los cambios de temperatura hacen que la roca se agriete y se desmorone (meteorización térmica). Cuando la pendiente entre dos puntos del terreno supera el ángulo de reposo de un material, este cae desde el punto más alto al más bajo. Esto produce:</p>
<ul>
<li><strong>Taludes de derrubios</strong> en la base de los acantilados (acumulaciones de roca desprendida)</li>
<li><strong>Líneas de cresta suavizadas</strong> con el tiempo</li>
<li><strong>Perfiles dependientes del material</strong> (la roca dura conserva pendientes pronunciadas, mientras que el suelo blando se desploma hasta formar pendientes suaves)</li>
</ul>
<p>La erosión térmica es más sencilla que la erosión hidráulica. Es una operación local: para cada celda, se compara la diferencia de altura con las celdas vecinas. Si la pendiente supera el umbral, el material se desplaza pendiente abajo. Se ejecuta como una única pasada de shader de cómputo por iteración y converge en 50-100 iteraciones.</p>
<p>Combinar la erosión hidráulica y la térmica produce terrenos con un aspecto mucho más natural que cualquiera de las dos por separado. El agua excava los valles; la erosión térmica suaviza las crestas entre ellos y llena los fondos de los valles de derrubios.</p>
<h3 id="la-ley-de-potencia-de-los-cauces-erosion-analitica" tabindex="-1">La ley de potencia de los cauces: erosión analítica <a class="header-anchor" href="#la-ley-de-potencia-de-los-cauces-erosion-analitica" aria-label="Permalink to &quot;La ley de potencia de los cauces: erosión analítica&quot;"></a></h3>
<p>Investigaciones recientes ofrecen una alternativa a la simulación basada en partículas. La ley de potencia de los cauces (una ecuación geomorfológica que relaciona la tasa de erosión con el área de drenaje y la pendiente) puede resolverse analíticamente en lugar de simularse de forma iterativa.</p>
<p>Cordonnier et al. (2024, <a href="https://hal.science/hal-04525371" target="_blank" rel="noreferrer">HAL</a>) combinan la ley analítica de potencia de los cauces con procesos de deslizamiento de tierras y difusión de laderas. El resultado es una generación de terreno con fundamentos físicos que se ejecuta como una función matemática en lugar de como una simulación temporal. Se introduce un mapa de alturas basado en ruido y varios parámetros (tasa de precipitación, dureza de la roca, tasa de elevación tectónica) y se obtiene un terreno erosionado en milisegundos.</p>
<p>Este enfoque analítico resulta ideal para un mundo en el navegador porque se ejecuta una sola vez en el servidor durante la generación del terreno, no de forma iterativa. Los creadores pueden ajustar los parámetros («hacer esta región más montañosa» modifica la tasa de elevación; «hacerla más húmeda» aumenta las precipitaciones y profundiza los valles).</p>
<h3 id="arenite-erosion-multifisica-siggraph-2025" tabindex="-1">Arenite: erosión multifísica (SIGGRAPH 2025) <a class="header-anchor" href="#arenite-erosion-multifisica-siggraph-2025" aria-label="Permalink to &quot;Arenite: erosión multifísica (SIGGRAPH 2025)&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/pl_GdrBSAmA" title="Arenite: simulador de arenisca basado en física (SIGGRAPH 2025)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Arenite simula la tensión, la erosión eólica, la erosión fluvial y la deposición de partículas para generar arcos, chimeneas de hadas y cerros testigo a partir de roca estratificada. La generación en el servidor produce volúmenes SDF que alimentan directamente una canalización de marching cubes.</div>
<p>Arenite (<a href="https://jango6324.github.io/arenite/" target="_blank" rel="noreferrer">Página del proyecto</a>) es un simulador de arenisca basado en física que genera arcos, oquedades, chimeneas de hadas y cerros testigo a partir de condiciones iniciales sencillas. Los usuarios pintan mapas de erosionabilidad (capas de roca blanda frente a roca dura) y vegetación, y después el sistema simula:</p>
<ul>
<li><strong>Distribución de tensiones</strong> a través de la columna de roca</li>
<li><strong>Erosión eólica</strong> que elimina preferentemente el material blando expuesto</li>
<li><strong>Erosión fluvial</strong> causada por el flujo de agua</li>
<li><strong>Deposición de partículas</strong> que crea nuevas formaciones</li>
</ul>
<p>La implementación en GPU tarda menos de 5 minutos en generar formaciones complejas en una GPU de escritorio. Aunque esto es demasiado lento para usarlo en tiempo real en el navegador, es lo bastante rápido para la generación en el servidor. Un creador podría definir una pared de acantilado con capas de roca blanda y dura y obtener una formación de arco realista en cuestión de minutos.</p>
<p>El resultado es un campo de vóxeles 3D que encaja directamente en nuestra canalización de SDF/marching cubes.</p>
<h3 id="erosion-flexible-entre-distintas-representaciones" tabindex="-1">Erosión flexible entre distintas representaciones <a class="header-anchor" href="#erosion-flexible-entre-distintas-representaciones" aria-label="Permalink to &quot;Erosión flexible entre distintas representaciones&quot;"></a></h3>
<p>Un artículo de 2024 de IRIT-STORM («Flexible Terrain Erosion», <a href="https://link.springer.com/article/10.1007/s00371-024-03444-w" target="_blank" rel="noreferrer">Springer</a>) resuelve un problema práctico: la mayoría de los métodos de erosión solo funcionan con campos de alturas. Si el terreno utiliza vóxeles, SDF o materiales por capas, se necesita código de erosión independiente para cada uno.</p>
<p>El método de erosión flexible descompone la erosión en dos procesos independientes: la alteración del terreno (eliminación de material de la superficie) y el transporte de material (desplazamiento de sedimentos mediante partículas regidas por principios físicos básicos). Cada partícula tiene un tamaño, una densidad, una restitución y una capacidad de sedimentos configurables. Un campo vectorial opcional controla el movimiento de las partículas para conseguir una dinámica de fluidos realista.</p>
<p>Como las partículas interactúan con el terreno mediante una interfaz unificada de alteración de materiales, la misma simulación funciona con campos de alturas, cuadrículas de vóxeles, superficies implícitas y pilas de materiales por capas. Para nuestro terreno híbrido (base de mapa de alturas + superposiciones SDF), esto significa que un solo sistema de erosión gestiona ambas representaciones. La simulación de partículas se ejecuta en paralelo en la GPU.</p>
<h3 id="redes-fluviales-y-cuencas-hidrograficas" tabindex="-1">Redes fluviales y cuencas hidrográficas <a class="header-anchor" href="#redes-fluviales-y-cuencas-hidrograficas" aria-label="Permalink to &quot;Redes fluviales y cuencas hidrográficas&quot;"></a></h3>
<p>La erosión excava ríos, pero generar redes fluviales convincentes requiere algo más que hacer correr el agua pendiente abajo. Dos enfoques producen mejores resultados:</p>
<p>La <strong>generación basada primero en el drenaje</strong> (Amit Patel, Red Blob Games, <a href="https://www.redblobgames.com/x/1723-procedural-river-growing/" target="_blank" rel="noreferrer">Proyecto</a>) construye la red fluvial antes de asignar la elevación. Se comienza con un grafo (de Voronoi o una malla de triángulos). Sus aristas se clasifican como crestas (sin flujo), entradas (el agua entra) o salidas (el agua sale). Esto crea jerarquías de drenaje realistas en las que los ríos convergen desde pequeños afluentes hasta formar grandes cursos de agua, siguiendo el sistema de clasificación de Rosgen para distintos tipos de ríos (cauces trenzados en terrenos llanos, gargantas estrechas en las montañas).</p>
<p>La <strong>acumulación de flujo</strong> registra cuánta agua pasa por cada celda del terreno. Se deja caer lluvia simulada de manera uniforme, se hace fluir pendiente abajo y se cuentan las visitas por celda. Las celdas con una acumulación alta son cauces fluviales. Las que presentan una acumulación moderada son arroyos estacionales. El mapa de acumulación también determina la intensidad de la erosión (más agua = más erosión) y la distribución de la vegetación (las riberas son más húmedas y albergan especies vegetales distintas).</p>
<p>Para un mundo creado por usuarios, la red fluvial se genera en el servidor durante la creación del terreno y se almacena como un mapa 2D de dirección del flujo más un mapa de acumulación de agua por chunk. El cliente del navegador utiliza estos mapas para renderizar superficies de agua (planos horizontales a la altura correcta en los cauces) y determinar la distribución de la vegetación (más exuberante cerca del agua).</p>
<h3 id="generacion-de-costas-y-lineas-de-litoral" tabindex="-1">Generación de costas y líneas de litoral <a class="header-anchor" href="#generacion-de-costas-y-lineas-de-litoral" aria-label="Permalink to &quot;Generación de costas y líneas de litoral&quot;"></a></h3>
<p>Las costas son el lugar donde el terreno se encuentra con el agua y presentan rasgos distintivos que la erosión estándar no produce: acantilados marinos, depósitos de playa, llanuras mareales, farallones y plataformas de abrasión.</p>
<p>NEWTS1.0 (2024, <a href="https://dspace.mit.edu/handle/1721.1/157677" target="_blank" rel="noreferrer">MIT</a>) modela la evolución de las costas rocosas mediante dos mecanismos de erosión: retroceso uniforme (tasa de erosión constante) y erosión provocada por las olas (tasa de erosión en función de la distancia de alcance y el ángulo de incidencia de las olas). El modelo abarca miles de años simulados y produce cabos, bahías, farallones y arcos que coinciden con la geomorfología costera real.</p>
<p>Para un mundo en el navegador, los accidentes costeros se generarían previamente durante la creación del mundo. Los parámetros (dirección dominante de las olas, variación de la dureza de la roca a lo largo de la costa) permiten que los creadores controlen el carácter de su litoral. Un ajuste de «fiordo noruego» produce entrantes de laderas escarpadas. Un ajuste de «atolón tropical» produce costas arenosas de poca altura con lagunas.</p>
<h3 id="generacion-de-cuevas-y-espacios-subterraneos" tabindex="-1">Generación de cuevas y espacios subterráneos <a class="header-anchor" href="#generacion-de-cuevas-y-espacios-subterraneos" aria-label="Permalink to &quot;Generación de cuevas y espacios subterráneos&quot;"></a></h3>
<p>Las cuevas requieren terreno completamente volumétrico (SDF o vóxeles), ya que los mapas de alturas no pueden representar espacios cerrados. Los enfoques de generación son:</p>
<p>La <strong>aplicación de umbrales a ruido 3D</strong> es el método más sencillo. Se muestrea ruido Perlin o simplex 3D en cada vóxel. Los valores por debajo de un umbral son sólidos y los superiores están vacíos. El umbral y los parámetros de ruido se ajustan para controlar el diámetro de los túneles, la conectividad y el tamaño de las cámaras. Esto produce sistemas de cuevas orgánicos y sinuosos que recuerdan a Minecraft.</p>
<p><strong>PLUME (Procedural Layer Underground Modeling Engine)</strong> (2024, <a href="https://arxiv.org/html/2508.20926v1" target="_blank" rel="noreferrer">arXiv:2508.20926</a>) genera entornos realistas de cuevas y tubos de lava mediante reglas procedimentales por capas. Creado originalmente para la investigación de la exploración espacial (simulación de tubos de lava marcianos), produce estructuras subterráneas geológicamente plausibles con estalactitas, columnas y sistemas de cámaras.</p>
<p>Los <strong>túneles de sistemas L con tallado mediante metaballs</strong> utilizan una gramática de sistemas L para hacer crecer rutas de túneles ramificadas a través del terreno y después tallan la geometría real de los túneles mediante superficies implícitas de metaballs. Las metaballs producen paredes de cueva lisas y redondeadas. Varias pasadas con distintos parámetros crean galerías principales, cámaras laterales y túneles de conexión estrechos.</p>
<p>En un mundo creado por usuarios, la generación de cuevas se integra con el sistema de superposición SDF. El terreno base es un mapa de alturas (sin cuevas). Cuando un chunk necesita cuevas (ya sea por generación procedimental o por diseño del creador), se genera un volumen SDF que sustrae la geometría de las cuevas del terreno base. La canalización de marching cubes renderiza la superficie combinada.</p>
<h3 id="la-vegetacion-como-proceso-fisico" tabindex="-1">La vegetación como proceso físico <a class="header-anchor" href="#la-vegetacion-como-proceso-fisico" aria-label="Permalink to &quot;La vegetación como proceso físico&quot;"></a></h3>
<p>En los juegos, la vegetación suele colocarse de forma procedimental mediante reglas como «hierba por debajo de 2000 m, árboles por debajo de 1500 m, nieve por encima de 3000 m». Este método es rápido, pero produce una distribución uniforme y poco realista.</p>
<p>La simulación de vegetación con fundamentos físicos modela cada planta como un organismo que compite por recursos (luz, agua y nutrientes del suelo). La simulación:</p>
<ol>
<li>Dispersa semillas por el terreno</li>
<li>Hace crecer cada planta según los recursos disponibles (el agua fluye a partir de la simulación de erosión hidráulica, la luz solar depende de la pendiente y la orientación, y la profundidad del suelo depende del historial de erosión)</li>
<li>Hace que las plantas compitan: los árboles privan de luz a la hierba y un dosel denso impide que crezcan nuevas plántulas</li>
<li>Con el paso del tiempo simulado, los biomas surgen de forma natural: bosques en valles con agua, vegetación escasa en crestas azotadas por el viento y humedales donde se acumula el agua</li>
</ol>
<p>La simulación de ecosistemas de Deussen et al. (<a href="https://export.arxiv.org/pdf/2208.01471v1.pdf" target="_blank" rel="noreferrer">Artículo</a>) genera distribuciones forestales que coinciden con patrones ecológicos reales. La simulación se ejecuta sobre una cuadrícula 2D (una celda por chunk de terreno) y produce mapas de densidad y asignaciones de especies que el sistema de renderizado utiliza para colocar vegetación mediante instanciación en GPU.</p>
<p>Para un mundo en el navegador, la simulación de vegetación se ejecuta una vez durante la generación del mundo (en el servidor). El resultado es un conjunto de mapas de densidad por chunk: densidad de árboles, densidad de hierba, densidad de flores y densidad de derrubios rocosos. El cliente del navegador utiliza estos mapas con instanciación en GPU para dispersar la vegetación durante la ejecución.</p>
<h2 id="sintesis-de-terreno-basada-en-difusion" tabindex="-1">Síntesis de terreno basada en difusión <a class="header-anchor" href="#sintesis-de-terreno-basada-en-difusion" aria-label="Permalink to &quot;Síntesis de terreno basada en difusión&quot;"></a></h2>
<p>Este es el ámbito que avanza con mayor rapidez. Los modelos de difusión (la misma tecnología en la que se basa Stable Diffusion para imágenes) se están aplicando a la generación de terreno, y los resultados son considerablemente más realistas que los de los métodos basados en ruido.</p>
<h3 id="terrain-diffusion-un-sucesor-del-ruido-perlin" tabindex="-1">Terrain Diffusion: un sucesor del ruido Perlin <a class="header-anchor" href="#terrain-diffusion-un-sucesor-del-ruido-perlin" aria-label="Permalink to &quot;Terrain Diffusion: un sucesor del ruido Perlin&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/hJoaCZ7wZ5s" title="Integración de Terrain Diffusion en Minecraft" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Terrain Diffusion ejecutándose dentro de Minecraft y transmitiendo en tiempo real terreno infinito coherente con la semilla. Entrenado con datos de elevación del mundo real, produce paisajes con una estructura geológica que las funciones de ruido no pueden igualar.</div>
<p>Terrain Diffusion (Goslin, 2025, <a href="https://arxiv.org/abs/2512.08309" target="_blank" rel="noreferrer">arXiv:2512.08309</a>, <a href="https://xandergos.github.io/terrain-diffusion/" target="_blank" rel="noreferrer">Página del proyecto</a>) es el avance más significativo en la generación procedimental de terreno desde el ruido Perlin de 1985. Desde entonces, el trabajo ha sido aceptado en SIGGRAPH 2026 y el título canónico en arXiv es ahora «InfiniteDiffusion: Bridging Learned Fidelity and Procedural Utility for Open-World Terrain Generation». El algoritmo InfiniteDiffusion y el framework Terrain Diffusion son las dos mitades del mismo artículo.</p>
<p>La innovación clave es <strong>InfiniteDiffusion</strong>, un algoritmo que reformula el muestreo por difusión para dominios ilimitados. Los modelos de difusión tradicionales generan resultados de tamaño fijo (por ejemplo, un mapa de alturas de 512x512). InfiniteDiffusion genera terreno de extensión infinita con:</p>
<ul>
<li><strong>Coherencia de semilla:</strong> La misma semilla siempre produce el mismo terreno, como el ruido Perlin</li>
<li><strong>Acceso aleatorio en tiempo constante:</strong> Se puede consultar la altura en cualquier punto sin generar primero las regiones vecinas</li>
<li><strong>Sin artefactos en los límites:</strong> Generación infinita sin uniones visibles ni repeticiones</li>
</ul>
<p>El sistema utiliza una pila jerárquica de modelos de difusión. El nivel superior captura rasgos a escala planetaria (continentes, cordilleras). Cada nivel posterior añade detalles más finos (picos individuales, valles y rugosidad a pequeña escala). Una codificación laplaciana compacta estabiliza los resultados en el enorme rango dinámico que va desde el nivel del mar hasta las cumbres del Himalaya.</p>
<p><strong>Rendimiento:</strong> La generación mantiene el ritmo de la exploración en tiempo real. El artículo indica que, incluso en el extremo teórico de la velocidad orbital (unos 7.700 m/s), la síntesis de terreno se ejecuta 9 veces más rápido que el desplazamiento en una GPU de consumo. El proyecto incluye una integración con Minecraft que demuestra la síntesis de terreno en tiempo real.
<strong>Por qué esto nos importa:</strong> Terrain Diffusion produce paisajes a partir de un modelo entrenado con datos de elevación del mundo real (la topografía auténtica de la Tierra). El resultado contiene redes fluviales, cordilleras, accidentes costeros y estructuras de meseta que surgen de los datos de entrenamiento, no de parámetros de ruido ajustados manualmente. Un creador podría decir «genera un terreno como las Tierras Altas de Escocia» y el modelo de difusión produciría algo con el carácter geológico adecuado.</p>
<p>El modelo se ejecuta en el servidor durante la generación del mundo. El resultado es un mapa de alturas estándar que se transmite al navegador como cualquier otro dato de terreno. El método de generación es invisible para el cliente.</p>
<h3 id="terrafusion-geometria-y-textura-conjuntas" tabindex="-1">TerraFusion: geometría y textura conjuntas <a class="header-anchor" href="#terrafusion-geometria-y-textura-conjuntas" aria-label="Permalink to &quot;TerraFusion: geometría y textura conjuntas&quot;"></a></h3>
<div class="img-embed">
<img src="https://cdn.cinevva.com/blog/terrafusion-teaser.png" alt="TerraFusion genera conjuntamente mapas de alturas del terreno y texturas de superficie correspondientes a partir de bocetos mediante difusión latente" />
</div>
<div class="game-caption">TerraFusion genera juntos el mapa de alturas y la textura a partir de un boceto dibujado a mano. La correlación entre geometría y material viene integrada: los lechos de los ríos aparecen arenosos; las paredes de los acantilados, rocosas; y el terreno llano, cubierto de hierba, sin pintar manualmente ningún mapa de mezcla.</div>
<p>TerraFusion (2025, <a href="https://arxiv.org/abs/2505.04050" target="_blank" rel="noreferrer">arXiv:2505.04050</a>) va más allá al generar conjuntamente mapas de alturas y texturas del terreno. La idea clave: la geometría del terreno y el aspecto de la superficie están correlacionados (los lechos de los ríos son arenosos, las paredes de los acantilados son rocosas y las zonas llanas están cubiertas de hierba). Generarlos por separado produce discordancias.</p>
<p>TerraFusion utiliza un modelo de difusión latente con VAE independientes para los mapas de alturas y las texturas, entrenado para modelar su distribución conjunta. El sistema admite:</p>
<ul>
<li><strong>Generación incondicional:</strong> Terreno plausible aleatorio con texturas correspondientes</li>
<li><strong>Generación condicionada por bocetos:</strong> Un creador dibuja un mapa aproximado (valles aquí, crestas allá, acantilados a lo largo de este borde) y el modelo genera geometría detallada y texturas que se ajustan al boceto</li>
</ul>
<p>Esto ofrece muchas posibilidades para un mundo creado por usuarios. Un creador esboza la disposición general de su parcela y el sistema completa un terreno geológicamente plausible con los materiales de superficie apropiados. Sin pintar mapas de alturas, sin pintar mapas de mezcla de texturas y sin asignar materiales manualmente.</p>
<h3 id="mesa-de-texto-a-terreno" tabindex="-1">MESA: de texto a terreno <a class="header-anchor" href="#mesa-de-texto-a-terreno" aria-label="Permalink to &quot;MESA: de texto a terreno&quot;"></a></h3>
<div class="img-embed">
<img src="https://cdn.cinevva.com/blog/mesa-header.png" alt="MESA genera imágenes de terreno de estilo satelital y mapas de elevación a partir de indicaciones de texto, tras entrenarse con datos globales de Copernicus" />
</div>
<div class="game-caption">MESA genera pares de imágenes satelitales y modelos digitales de elevación a partir de indicaciones de texto. Entrenado con el conjunto de datos global de Copernicus, comprende el terreno real a cualquier escala y en cualquier zona climática: fiordos, estepas, tierras de cultivo y crestas alpinas.</div>
<p>MESA (2025, <a href="https://arxiv.org/abs/2504.07210" target="_blank" rel="noreferrer">arXiv:2504.07210</a>, taller de CVPR 2025) genera terreno a partir de descripciones de texto. Está entrenado con datos globales de teledetección del programa Copernicus, por lo que ha estado expuesto a todo tipo de paisajes terrestres.</p>
<p>Una indicación como «un fiordo con escarpadas paredes de granito que se abre a una costa rocosa» produce un mapa de alturas con la estructura geológica apropiada. «Tierras de cultivo onduladas con colinas suaves y un amplio valle fluvial» produce algo completamente distinto.</p>
<p>MESA presenta el conjunto de datos de extensión Major TOM Core-DEM, que empareja imágenes satelitales con modelos digitales de elevación de todo el planeta. Estos datos de entrenamiento permiten al modelo comprender qué aspecto tiene el terreno real a cualquier escala y en cualquier zona climática.</p>
<h3 id="geodiffussr-texturizado-del-terreno-guiado-por-texto" tabindex="-1">Geodiffussr: texturizado del terreno guiado por texto <a class="header-anchor" href="#geodiffussr-texturizado-del-terreno-guiado-por-texto" aria-label="Permalink to &quot;Geodiffussr: texturizado del terreno guiado por texto&quot;"></a></h3>
<div class="img-embed">
<img src="https://cdn.cinevva.com/blog/geodiffussr-teaser.png" alt="Geodiffussr genera texturas de terreno a partir de descripciones de texto respetando los datos de elevación: nieve en las cumbres, arena en las costas y bosques en las laderas" />
</div>
<div class="game-caption">Geodiffussr toma un mapa de alturas y una indicación de texto, y genera texturas de superficie que respetan la elevación. La nieve solo aparece por encima de altitudes plausibles; la vegetación se vuelve más escasa con la altura; y el agua se asienta en las depresiones. La geometría permanece inalterada.</div>
<p>Geodiffussr (2025, <a href="https://arxiv.org/abs/2511.23029" target="_blank" rel="noreferrer">arXiv:2511.23029</a>) toma un mapa de alturas existente y genera texturas guiadas por descripciones de texto, respetando los datos de elevación. «Bosque otoñal» produce follaje naranja y dorado en pendientes moderadas, con roca desnuda en las paredes escarpadas. «Costa tropical» produce palmeras en terrenos bajos y arena coralina al nivel del mar.</p>
<p>El sistema utiliza agregación de contenido multiescala para garantizar que la asignación de texturas respete la elevación: la nieve solo aparece por encima de una altitud físicamente plausible, las masas de agua se asientan en depresiones y la vegetación se vuelve más escasa con la altitud.</p>
<p>Para un mundo creado por usuarios, esto significa que las texturas del terreno pueden volver a generarse a partir de una indicación de texto sin cambiar la geometría. Un creador esculpe el terreno que desea, describe después el ambiente («páramo volcánico oscuro» o «frondoso bosque templado») y el sistema genera los materiales de superficie apropiados.</p>
<h2 id="lod-dinamico-para-terrenos-en-el-navegador" tabindex="-1">LOD dinámico para terrenos en el navegador <a class="header-anchor" href="#lod-dinamico-para-terrenos-en-el-navegador" aria-label="Permalink to &quot;LOD dinámico para terrenos en el navegador&quot;"></a></h2>
<p>Renderizar un terreno grande con la máxima resolución en todas partes es imposible en un navegador. Un mundo de 4 km x 4 km con una resolución de 1 metro contiene 16 millones de vértices solo en el terreno. El LOD dinámico reduce esta cifra a una cantidad de vértices constante y manejable, independientemente del tamaño del mundo.</p>
<h3 id="clipmaps-de-geometria" tabindex="-1">Clipmaps de geometría <a class="header-anchor" href="#clipmaps-de-geometria" aria-label="Permalink to &quot;Clipmaps de geometría&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/yoUQRT-Hmcc" title="Clipmaps de geometría: renderizado de terreno mediante cuadrículas regulares anidadas (SIGGRAPH 2004)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">La presentación original de los clipmaps de geometría en SIGGRAPH 2004. Los anillos concéntricos de terreno con resoluciones que se reducen a la mitad mantienen constante el número de vértices, independientemente del tamaño del mundo, y siguen siendo la base de la mayoría de los sistemas de LOD de terreno para navegadores actuales.</div>
<p>Los clipmaps de geometría (Losasso y Hoppe, SIGGRAPH 2004, <a href="https://hhoppe.com/geomclipmap.pdf" target="_blank" rel="noreferrer">artículo</a>) siguen siendo el estándar de referencia para el LOD de terrenos basados en mapas de alturas. La idea consiste en renderizar el terreno como un conjunto de anillos cuadrados concéntricos centrados en la cámara. Cada anillo abarca el doble de superficie que el anterior, pero con la mitad de resolución.</p>
<p>Cerca de la cámara (anillo más interior): resolución completa, con una separación de cuadrícula de 1 metro.
Un anillo más lejos: separación de 2 metros y una superficie 4 veces mayor.
Siguiente anillo: separación de 4 metros y una superficie 16 veces mayor.
Y así sucesivamente durante 6-8 niveles, hasta que el anillo más exterior cubre toda la distancia visible.</p>
<p>El número total de vértices es constante: aproximadamente N^2 * niveles, donde N es el ancho del anillo en vértices. Con N=256 y 8 niveles, son unos 500 000 vértices en total. El renderizado requiere lo mismo tanto si el mundo mide 1 km como si mide 100 km de ancho.</p>
<p><strong>Implementación en el navegador:</strong> Los clipmaps de geometría funcionan en WebGL 2 porque solo requieren actualizaciones estándar del búfer de vértices (sin shaders de cómputo). A medida que se mueve la cámara, la CPU actualiza los datos del mapa de alturas de cada anillo muestreando el terreno con la resolución apropiada. El shader de vértices lee los valores de altura de una textura y desplaza la cuadrícula plana.</p>
<p><strong>Transformación gradual:</strong> La transición entre niveles de LOD produce «saltos» visibles si se implementa de forma ingenua. El geomorphing (explicado en su propia sección más adelante) interpola las posiciones de los vértices entre niveles dentro de una zona de transición en el shader de vértices, lo que produce transiciones fluidas y sin saltos sin añadir llamadas de dibujado.</p>
<h3 id="cdlod-clipmaps-adaptativos-con-quadtree" tabindex="-1">CDLOD: clipmaps adaptativos con quadtree <a class="header-anchor" href="#cdlod-clipmaps-adaptativos-con-quadtree" aria-label="Permalink to &quot;CDLOD: clipmaps adaptativos con quadtree&quot;"></a></h3>
<p>CDLOD (Strugar, 2014, <a href="https://www.vertexasylum.com/CDLOD/cdlod_latest.pdf" target="_blank" rel="noreferrer">artículo</a>) mejora los clipmaps de geometría mediante un quadtree en lugar de anillos concéntricos fijos. El quadtree se adapta al terreno: las zonas planas utilizan nodos de baja resolución, mientras que las zonas con mucho detalle (acantilados y crestas) se subdividen más.</p>
<p>Esto es importante para un mundo creado por usuarios porque los distintos fragmentos tienen diferente complejidad. Una pradera llana necesita una resolución mínima. Una región montañosa con acantilados y cuevas necesita el máximo detalle. CDLOD asigna la resolución donde importa.</p>
<p>El recorrido del quadtree en la CPU es ligero (unos cientos de nodos) y determina qué parches de terreno se dibujan y con qué resolución. La GPU renderiza cada parche como una cuadrícula instanciada con valores uniformes de LOD específicos de cada parche.</p>
<h3 id="arboles-binarios-concurrentes-teselacion-a-escala-planetaria" tabindex="-1">Árboles binarios concurrentes: teselación a escala planetaria <a class="header-anchor" href="#arboles-binarios-concurrentes-teselacion-a-escala-planetaria" aria-label="Permalink to &quot;Árboles binarios concurrentes: teselación a escala planetaria&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/0TzgFwDmbGg" title="Experimentación con árboles binarios concurrentes para renderizar terrenos a gran escala" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Teselación adaptativa con CBT para terrenos a escala planetaria: los triángulos se subdividen cerca de la cámara y se fusionan a distancia, íntegramente en la GPU. Menos de 0,2 ms en hardware de consola.</div>
<p>Los árboles binarios concurrentes (CBT) son una estructura de datos apta para la GPU que permite la teselación adaptativa del terreno, presentada por Benyoub y Dupuy (Intel, HPG 2024, <a href="https://arxiv.org/html/2407.02215v1" target="_blank" rel="noreferrer">artículo</a>, <a href="https://github.com/AnisB/large_cbt" target="_blank" rel="noreferrer">GitHub</a>).</p>
<p>La idea central consiste en representar el terreno como un árbol binario donde cada nodo es un triángulo. La subdivisión adaptativa divide los triángulos cercanos a la cámara y fusiona los que están lejos. El árbol binario reside íntegramente en la memoria de la GPU como una matriz unidimensional (un montículo binario), y las operaciones de subdivisión y fusión se ejecutan como shaders de cómputo.</p>
<p>El artículo de 2024 amplía el CBT desde dominios cuadrados de mapas de alturas a mallas poligonales arbitrarias. Esto permite teselar una esfera (para el renderizado planetario) o una malla base arbitraria (para un mundo de juego con límites no rectangulares). La mejora clave consiste en utilizar el CBT como gestor de un pool de memoria en lugar de emplear una codificación implícita, lo que permite niveles de subdivisión mucho mayores.</p>
<p>Rendimiento: teselación de terreno a escala planetaria en menos de 0,2 ms sobre hardware de nivel de consola. El algoritmo escala linealmente con el número de procesadores. Para WebGPU, esto abre una vía hacia el renderizado de terrenos a escala planetaria en un navegador, aunque la implementación es compleja.</p>
<h3 id="lod-controlado-por-la-gpu-con-webgpu" tabindex="-1">LOD controlado por la GPU con WebGPU <a class="header-anchor" href="#lod-controlado-por-la-gpu-con-webgpu" aria-label="Permalink to &quot;LOD controlado por la GPU con WebGPU&quot;"></a></h3>
<p>WebGPU permite crear un pipeline de terreno controlado íntegramente por la GPU que elimina la participación de la CPU en las decisiones de LOD:</p>
<ol>
<li>
<p><strong>Pasada de cómputo 1: descarte por frustum y oclusión.</strong> Un shader de cómputo comprueba el cuadro delimitador de cada parche de terreno con respecto al frustum de la vista y a un búfer de oclusión (el búfer de profundidad del fotograma anterior, reducido de resolución). Los parches invisibles se descartan por completo.</p>
</li>
<li>
<p><strong>Pasada de cómputo 2: selección del LOD.</strong> Para los parches visibles, se calcula el tamaño en el espacio de pantalla y se selecciona el nivel de LOD apropiado. El nivel de LOD y el ID del parche se escriben en un búfer de dibujado indirecto.</p>
</li>
<li>
<p><strong>Pasada de cómputo 3: generación de la malla (para terreno volumétrico).</strong> En los fragmentos con datos SDF, se ejecuta marching cubes para generar la malla con la resolución de LOD seleccionada.</p>
</li>
<li>
<p><strong>Dibujado indirecto.</strong> Una sola llamada a <code>drawIndexedIndirect()</code> renderiza todos los parches del terreno. La GPU lo decide todo: qué dibujar, con qué resolución y en qué orden.</p>
</li>
</ol>
<p>Este pipeline tiene un coste de CPU constante (lanzar los shaders de cómputo y la llamada de dibujado indirecto), independientemente del tamaño o la complejidad del mundo. La GPU se encarga de todas las decisiones de cada parche.</p>
<div class="language-wgsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">wgsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">compute</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> @</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">workgroup_size</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">64</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> lodSelection</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">builtin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(global_invocation_id) id: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">u32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> patchIdx </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">x;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> bounds </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> patchBounds[patchIdx];</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">!</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">frustumTest</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(bounds, viewProjection)) { </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">occlusionTest</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(bounds, depthPyramid) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">==</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> OCCLUDED</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) { </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; }</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> screenSize </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> projectedSize</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(bounds, viewProjection, screenDimensions);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> lod </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> clamp</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">u32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(maxScreenSize </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> screenSize)), </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0u</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, MAX_LOD);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> drawIdx </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> atomicAdd</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x26;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">drawCount, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1u</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    drawArgs[drawIdx] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> DrawArgs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(patchIdx, lod, indexCount[lod], indexOffset[lod]);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h3 id="geomorphing-transiciones-de-lod-sin-saltos" tabindex="-1">Geomorphing: transiciones de LOD sin saltos <a class="header-anchor" href="#geomorphing-transiciones-de-lod-sin-saltos" aria-label="Permalink to &quot;Geomorphing: transiciones de LOD sin saltos&quot;"></a></h3>
<p>El mayor artefacto visual del LOD del terreno son los saltos: los vértices cambian repentinamente de posición cuando un parche cambia de nivel de LOD. El geomorphing los elimina interpolando suavemente las posiciones de los vértices entre niveles de LOD dentro de una zona de transición.</p>
<p>La implementación reside íntegramente en el shader de vértices. Cada vértice almacena tanto su posición en el LOD actual como su posición en el siguiente LOD de menor resolución. Cuando la distancia a la cámara cruza el umbral de transición, un factor de transformación interpola ambas:</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> morphFactor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(lodNear, lodFar, distanceToCamera);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> morphedHeight </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(fineLodHeight, coarseLodHeight, morphFactor);</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">gl_Position</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> viewProjection </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(worldPos.x, morphedHeight, worldPos.z, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span></code></pre>
</div><p>El artículo de Hoppe sobre clipmaps de geometría (GPU Gems 2, <a href="https://developer.nvidia.com/gpugems/gpugems2/part-i-geometric-complexity/chapter-2-terrain-rendering-using-gpu-based-geometry" target="_blank" rel="noreferrer">capítulo 2</a>) describe la implementación completa para anillos de clipmap. La zona de transformación ocupa el 20 % exterior de cada anillo. Dentro de esta zona, los vértices convergen suavemente hacia la resolución del siguiente anillo. El efecto visual es que la geometría del terreno se «funde» entre niveles de detalle en lugar de cambiar bruscamente. A velocidades de cámara habituales, la transición es invisible.</p>
<p>La fusión en el espacio de imagen (Scherzer et al., <a href="https://onlinelibrary.wiley.com/doi/10.1111/j.1467-8659.2007.00943.x" target="_blank" rel="noreferrer">artículo</a>) es una alternativa que combina en el espacio de pantalla las imágenes renderizadas de dos niveles de LOD. Permite gestionar diferencias de LOD más extremas (por ejemplo, transiciones de malla a billboard), pero requiere una pasada de renderizado adicional para la zona de transición.</p>
<h3 id="descarte-de-vegetacion-controlado-por-la-gpu" tabindex="-1">Descarte de vegetación controlado por la GPU <a class="header-anchor" href="#descarte-de-vegetacion-controlado-por-la-gpu" aria-label="Permalink to &quot;Descarte de vegetación controlado por la GPU&quot;"></a></h3>
<p>La vegetación (árboles, hierba y rocas) suele ser la mayor fuente de llamadas de dibujado en un mundo abierto. Un enfoque ingenuo dibuja cada instancia de vegetación en cada fotograma. El descarte controlado por la GPU, ahora disponible en Three.js mediante WebGPU, elimina las instancias invisibles antes de que lleguen al rasterizador.</p>
<p><code>ComputeInstanceCulling</code> de Three.js (<a href="https://www.threejs-blocks.com/docs/ComputeInstanceCulling" target="_blank" rel="noreferrer">documentación</a>) ofrece descarte por frustum y LOD para mallas instanciadas, con mejoras de rendimiento de entre 10 y 100 veces para grandes cantidades de instancias. El pipeline:</p>
<ol>
<li>Un shader de cómputo lee todas las esferas delimitadoras de las instancias</li>
<li>Comprueba cada una con respecto al frustum de la cámara (prueba de 6 planos)</li>
<li>Aplica LOD basado en la distancia: las instancias que superan un umbral cambian a un nivel de detalle inferior o se descartan por completo</li>
<li>Las instancias supervivientes se compactan en un búfer y se dibujan mediante <code>drawIndirect</code>
La CPU no realiza ningún trabajo por instancia. Tras la configuración inicial, el coste es un despacho de cómputo más una llamada de dibujado indirecta por tipo de vegetación, independientemente del número de instancias.</li>
</ol>
<p>Para una vegetación más densa, <code>IndirectBatchedMesh</code> de Three.js (<a href="https://www.threejs-blocks.com/docs/IndirectBatchedMesh" target="_blank" rel="noreferrer">Documentación</a>) empaqueta varios tipos de geometría (árboles, arbustos, rocas) en un único búfer y los dibuja mediante multidibujado indirecto. Una sola llamada de dibujado para toda la vegetación de un chunk.</p>
<p>Combinado con la dispersión basada en mapas de densidad de nuestro sistema de vegetación, esto significa lo siguiente: el mapa de densidad genera 50 000 posiciones de briznas de hierba en un shader de cómputo, el pase de descarte elimina el 70 % que está fuera de pantalla o demasiado lejos y una llamada de dibujado indirecta renderiza las 15 000 briznas restantes. Coste total de CPU: insignificante.</p>
<h3 id="lod-para-terreno-volumetrico" tabindex="-1">LOD para terreno volumétrico <a class="header-anchor" href="#lod-para-terreno-volumetrico" aria-label="Permalink to &quot;LOD para terreno volumétrico&quot;"></a></h3>
<p>El terreno volumétrico (SDF + marching cubes) necesita su propio sistema de LOD porque la malla se genera, no se crea de antemano. El enfoque es el siguiente:</p>
<p><strong>Almacenamiento SDF multirresolución.</strong> Almacena el SDF con varias resoluciones en una jerarquía similar a la de un mipmap. El nivel 0 tiene la resolución completa (vóxeles de 1 metro). El nivel 1 usa vóxeles de 2 metros (8 veces menos datos). El nivel 2 usa vóxeles de 4 metros. En cada nivel, el SDF se reduce tomando la distancia absoluta mínima.</p>
<p><strong>Marching cubes seleccionado por LOD.</strong> Ejecuta marching cubes en el nivel del SDF que coincida con el LOD deseado. Los chunks cercanos usan el nivel 0. Los chunks lejanos usan el nivel 2 o 3. El algoritmo Transvoxel gestiona el límite entre niveles diferentes.</p>
<p><strong>Almacenamiento en caché.</strong> Las mallas generadas se almacenan en caché hasta que cambia el SDF (por una edición del creador) o cambia el nivel de LOD (porque la cámara se ha desplazado considerablemente). En terrenos estáticos, la malla se genera una sola vez y se reutiliza.</p>
<h2 id="arquitectura-de-streaming-para-el-terreno" tabindex="-1">Arquitectura de streaming para el terreno <a class="header-anchor" href="#arquitectura-de-streaming-para-el-terreno" aria-label="Permalink to &quot;Arquitectura de streaming para el terreno&quot;"></a></h2>
<h3 id="formato-de-datos-de-los-chunks" tabindex="-1">Formato de datos de los chunks <a class="header-anchor" href="#formato-de-datos-de-los-chunks" aria-label="Permalink to &quot;Formato de datos de los chunks&quot;"></a></h3>
<p>Cada chunk de terreno (64x64 metros) se transmite como un paquete binario compacto:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>ChunkPacket {</span></span>
<span class="line"><span>  header: {</span></span>
<span class="line"><span>    chunkX: i16, chunkZ: i16,</span></span>
<span class="line"><span>    version: u32,</span></span>
<span class="line"><span>    flags: u8  // hasHeightmap | hasVolumetric | hasVegetation</span></span>
<span class="line"><span>  }</span></span>
<span class="line"><span>  heightmap: {</span></span>
<span class="line"><span>    resolution: u8,      // 65x65 for full, 33x33 for half, 17x17 for quarter</span></span>
<span class="line"><span>    quantizedHeights: u16[resolution * resolution],  // delta-encoded, zlib compressed</span></span>
<span class="line"><span>    splatMap: u8[4 * resolution * resolution]         // RGBA blend weights, LZ4 compressed</span></span>
<span class="line"><span>  }</span></span>
<span class="line"><span>  volumetric?: {         // only present if flags.hasVolumetric</span></span>
<span class="line"><span>    sdfResolution: u8,   // typically 32 or 64</span></span>
<span class="line"><span>    sparseOctree: bytes  // run-length encoded sparse SDF</span></span>
<span class="line"><span>  }</span></span>
<span class="line"><span>  vegetation?: {         // only present if flags.hasVegetation</span></span>
<span class="line"><span>    treeDensityMap: u8[16 * 16],    // 4m resolution density grid</span></span>
<span class="line"><span>    grassDensityMap: u8[32 * 32],   // 2m resolution density grid</span></span>
<span class="line"><span>    rockDensityMap: u8[16 * 16]</span></span>
<span class="line"><span>  }</span></span>
<span class="line"><span>  creatorObjects: {</span></span>
<span class="line"><span>    count: u16,</span></span>
<span class="line"><span>    objects: PlacedObject[]   // assetId + transform + properties, ~40 bytes each</span></span>
<span class="line"><span>  }</span></span>
<span class="line"><span>}</span></span></code></pre>
</div><p><strong>Tamaños habituales:</strong></p>
<ul>
<li>Chunk solo con mapa de alturas (terreno llano): 2-4 KB comprimidos</li>
<li>Mapa de alturas + vegetación: 4-8 KB</li>
<li>Mapa de alturas + datos volumétricos + vegetación (chunk complejo): 20-100 KB</li>
<li>Vecindario de 5x5 con todo el detalle: 50-500 KB en total</li>
</ul>
<h3 id="carga-progresiva-de-chunks" tabindex="-1">Carga progresiva de chunks <a class="header-anchor" href="#carga-progresiva-de-chunks" aria-label="Permalink to &quot;Carga progresiva de chunks&quot;"></a></h3>
<p>Los chunks se cargan por orden de prioridad según la distancia, la dirección del movimiento y el tipo de datos:</p>
<p><strong>Prioridad 1 (inmediata, &lt;100 ms):</strong> Geometría del mapa de alturas para los chunks en los que el jugador está a punto de entrar. La superficie del terreno aparece primero. Incluso con la resolución más baja (17x17 por chunk), el suelo ya está presente.</p>
<p><strong>Prioridad 2 (rápida, &lt;300 ms):</strong> Mapas de mezcla y texturas del terreno. El suelo adquiere color.</p>
<p><strong>Prioridad 3 (streaming, &lt;1 s):</strong> Actualización al mapa de alturas de resolución completa. Mapas de densidad de vegetación. La instanciación en la GPU genera árboles y hierba.</p>
<p><strong>Prioridad 4 (en segundo plano, ❤️ s):</strong> Datos SDF volumétricos para chunks con cuevas o salientes. Marching cubes genera la malla en un Web Worker y transfiere el búfer al hilo principal.</p>
<p><strong>Prioridad 5 (diferida, &lt;10 s):</strong> Objetos colocados por los creadores. Texturas de alta resolución para estructuras. Objetos de detalle como flores, rocas pequeñas y escombros.</p>
<h3 id="precarga-predictiva" tabindex="-1">Precarga predictiva <a class="header-anchor" href="#precarga-predictiva" aria-label="Permalink to &quot;Precarga predictiva&quot;"></a></h3>
<p>No esperes a que el jugador entre en un chunk para cargarlo. Predice hacia dónde se dirige a partir de su velocidad y carga por adelantado:</p>
<ul>
<li><strong>Velocidad al caminar (5 km/h):</strong> Precarga 2 chunks por delante (128 m). Con la latencia habitual de una conexión de banda ancha, esto proporciona 200-400 ms de margen.</li>
<li><strong>Corriendo o cabalgando (15 km/h):</strong> Precarga 4 chunks por delante. El anillo de carga se desplaza según la dirección de la velocidad.</li>
<li><strong>Vuelo o viaje rápido:</strong> Pausa el renderizado durante la transición. Transmite los chunks de destino con la máxima prioridad. Reanuda el renderizado cuando haya datos suficientes para un primer fotograma.</li>
</ul>
<p>El sistema de precarga registra qué chunks están en la caché, cuáles están en curso (solicitados, pero aún no recibidos) y cuáles se necesitan. Una cola de prioridad ordena las solicitudes pendientes por urgencia. Cancela las solicitudes de chunks de los que el jugador se haya alejado.</p>
<h3 id="presupuesto-de-memoria-y-expulsion" tabindex="-1">Presupuesto de memoria y expulsión <a class="header-anchor" href="#presupuesto-de-memoria-y-expulsion" aria-label="Permalink to &quot;Presupuesto de memoria y expulsión&quot;"></a></h3>
<p>Una pestaña del navegador dispone de 2-4 GB en un equipo de escritorio. El sistema de terreno debe usar solo una parte de esa cantidad (el resto se destina al renderizado, la física, la red y el heap de JavaScript).</p>
<p><strong>Presupuesto objetivo: 256 MB para todos los datos del terreno.</strong></p>
<p>Con nuestros tamaños habituales de chunk:</p>
<ul>
<li>Chunks con todo el detalle en caché: ~100 (vecindario de 10x10) con 5-100 KB cada uno = 5-10 MB de datos sin procesar</li>
<li>Geometría del terreno en la GPU: ~50 MB (búferes de vértices y de índices para el terreno visible)</li>
<li>Texturas del terreno: ~100 MB (comprimidas con KTX2 y empaquetadas en atlas)</li>
<li>Búferes de instancias de vegetación: ~50 MB (posiciones, rotaciones y escalas para la instanciación en la GPU)</li>
<li>Volúmenes SDF y mallas de marching cubes almacenadas en caché: ~50 MB</li>
</ul>
<p>Los chunks situados más allá del rango visible se expulsan primero de la memoria de la GPU (texturas y búferes de vértices) y después de la caché de la CPU. Los datos sin procesar del mapa de alturas son los últimos en eliminarse porque son los más baratos de conservar y los más importantes cuando el jugador se da la vuelta.</p>
<h2 id="transiciones-entre-biomas-y-eliminacion-de-patrones-repetitivos" tabindex="-1">Transiciones entre biomas y eliminación de patrones repetitivos <a class="header-anchor" href="#transiciones-entre-biomas-y-eliminacion-de-patrones-repetitivos" aria-label="Permalink to &quot;Transiciones entre biomas y eliminación de patrones repetitivos&quot;"></a></h2>
<h3 id="limites-suaves-entre-biomas" tabindex="-1">Límites suaves entre biomas <a class="header-anchor" href="#limites-suaves-entre-biomas" aria-label="Permalink to &quot;Límites suaves entre biomas&quot;"></a></h3>
<p>Los paisajes reales no tienen bordes abruptos entre biomas. Un bosque no termina en una línea para convertirse en desierto. Hay un gradiente: el bosque denso se vuelve menos espeso y da paso a árboles dispersos, después a matorrales y, por último, a la escasa vegetación del desierto. Conseguir este efecto hace que el mundo parezca continuo en lugar de dividido en cuadrículas.</p>
<p><strong>AutoBiomes</strong> (Kötter et al., <a href="https://cgvr.cs.uni-bremen.de/papers/cgi20/AutoBiomes.pdf" target="_blank" rel="noreferrer">Artículo</a>) combina la generación procedural de terreno con una simulación climática simplificada. La temperatura, la humedad y la elevación determinan el tipo de bioma en cada punto. Entre biomas, los pesos de los materiales y la densidad de la vegetación se interpolan a lo largo de una zona de transición (normalmente de 50 a 100 metros de ancho). La anchura de la transición varía según la pareja de biomas: del bosque a la pradera es amplia y gradual; del acantilado al agua es estrecha y abrupta.</p>
<p>En un mundo de creadores, la asignación de biomas se ejecuta sobre una cuadrícula de baja resolución (una muestra de bioma por cada área de 16x16 metros). El shader del terreno lee los valores del bioma para el fragmento actual y sus vecinos, interpola los pesos de los materiales en la zona de transición y mezcla las texturas en consecuencia. La dispersión de vegetación utiliza los mismos valores de densidad interpolados, por lo que la densidad de árboles disminuye gradualmente en el borde del bosque.</p>
<p>Control para creadores: permite que los creadores pinten modificaciones de bioma en sus parcelas. El sistema genera biomas predeterminados a partir de las propiedades del terreno, pero los creadores pueden sustituirlos. Al pintar un «pantano» en una zona baja, el material cambia a agua turbia, musgo y árboles muertos. El mapa pintado de biomas es una cuadrícula por chunk de 16x16 identificadores de bioma (256 bytes) que sustituye la asignación procedural.</p>
<h3 id="teselado-hexagonal-eliminacion-de-la-repeticion-de-texturas" tabindex="-1">Teselado hexagonal: eliminación de la repetición de texturas <a class="header-anchor" href="#teselado-hexagonal-eliminacion-de-la-repeticion-de-texturas" aria-label="Permalink to &quot;Teselado hexagonal: eliminación de la repetición de texturas&quot;"></a></h3>
<p>El artefacto visual más común en el renderizado de terrenos es la repetición de texturas. Una textura de hierba de 1 metro repetida por una pradera de 100 metros produce patrones de cuadrícula visibles. Dos técnicas resuelven este problema:</p>
<p><strong>Teselado hexagonal</strong> (Mikkelsen, <a href="https://github.com/mmikk/hextile-demo" target="_blank" rel="noreferrer">Demostración</a>) sustituye la cuadrícula de teselado cuadrada por una hexagonal. Cada tesela hexagonal muestrea la textura con un desplazamiento y una rotación aleatorios. Los límites hexagonales se mezclan para ocultar las uniones. El resultado es una superficie con un aspecto uniformemente aleatorio en lugar de repetitivo. Coste: unas 3 muestras de textura adicionales por fragmento. Esta técnica se utiliza ampliamente en juegos comerciales y funciona en cualquier shader de fragmentos.</p>
<p><strong>Filtrado estocástico de texturas</strong> (Pharr et al., NVIDIA, 2024, <a href="https://research.nvidia.com/labs/rtr/publication/pharr2024stochtex/" target="_blank" rel="noreferrer">Artículo</a>) aplica el filtrado después del sombreado en lugar de antes, mediante muestreo estocástico. El error del muestreo estocástico es mínimo y la eliminación de ruido espaciotemporal lo gestiona bien. Esto produce resultados de filtrado más precisos y funciona con texturas comprimidas o dispersas. En terrenos, elimina tanto los patrones repetitivos como los artefactos de filtrado que el teselado hexagonal puede introducir a veces en las transiciones.</p>
<p>Para un mundo de navegador, el teselado hexagonal es la opción práctica (funciona en cualquier shader). El filtrado estocástico requiere más infraestructura, pero ofrece mejores resultados si se dispone de eliminación de ruido temporal (como ocurriría en una ruta WebGPU con TAA).</p>
<h2 id="sistema-de-materiales-del-terreno" tabindex="-1">Sistema de materiales del terreno <a class="header-anchor" href="#sistema-de-materiales-del-terreno" aria-label="Permalink to &quot;Sistema de materiales del terreno&quot;"></a></h2>
<h3 id="mapeado-triplanar" tabindex="-1">Mapeado triplanar <a class="header-anchor" href="#mapeado-triplanar" aria-label="Permalink to &quot;Mapeado triplanar&quot;"></a></h3>
<p>Las texturas con mapeado UV estándar se estiran de forma extrema en pendientes pronunciadas porque las coordenadas UV se comprimen. El mapeado triplanar proyecta texturas a lo largo de los tres ejes (X, Y, Z) y las mezcla en función de la normal de la superficie:</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> blending </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> abs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(normal);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">blending </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> normalize</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">max</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(blending, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.00001</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">blending </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">/=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (blending.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> blending.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> blending.z);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> xaxis </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> texture</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(material, worldPos.yz </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> scale</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> yaxis </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> texture</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(material, worldPos.xz </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> scale</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> zaxis </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> texture</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(material, worldPos.xy </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> scale</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> color </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> xaxis </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> blending.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> yaxis </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> blending.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> zaxis </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> blending.z;</span></span></code></pre>
</div><p>Las paredes de los acantilados reciben la proyección X o Z (sin estiramiento). El terreno llano recibe la proyección Y. La mezcla es suave y automática. No hace falta desplegar las UV.</p>
<p>Babylon.js incluye un <a href="https://doc.babylonjs.com/toolsAndResources/assetLibraries/materialsLibrary/triPlanarMat" target="_blank" rel="noreferrer">material triplanar</a>. Three.js requiere un shader personalizado, pero la implementación ocupa unas 30 líneas de GLSL.</p>
<p>Para terrenos PBR, aplica el mapeado triplanar a todos los canales: albedo, normales, rugosidad y oclusión ambiental. Se aplican los mismos pesos de mezcla a cada canal.</p>
<h3 id="asignacion-de-materiales-basada-en-la-pendiente-y-la-altitud" tabindex="-1">Asignación de materiales basada en la pendiente y la altitud <a class="header-anchor" href="#asignacion-de-materiales-basada-en-la-pendiente-y-la-altitud" aria-label="Permalink to &quot;Asignación de materiales basada en la pendiente y la altitud&quot;"></a></h3>
<p>En lugar de pintar a mano los mapas de mezcla, asigna materiales proceduralmente según las propiedades del terreno:</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> slope </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> acos</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">dot</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(normal, </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)));</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> altitude </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> worldPos.y;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> grassWeight </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, slope) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2000.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1500.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, altitude);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> rockWeight </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, slope);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> snowWeight </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2500.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">3000.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, altitude) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, slope);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> sandWeight </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">5.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, altitude) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.15</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, slope);</span></span></code></pre>
</div><p>El terreno llano a baja altitud recibe hierba. Las pendientes pronunciadas reciben roca. Las zonas de gran altitud reciben nieve (pero solo en superficies lo bastante llanas como para que se acumule). Las zonas cercanas al nivel del mar reciben arena. Las transiciones son suaves y tienen una justificación física.</p>
<p>En un mundo de creadores, muestra los umbrales de altitud y las zonas de mezcla como parámetros que se puedan pintar por chunk. Los creadores pueden subir o bajar la línea de árboles, ampliar la cobertura de nieve o convertir una colina cubierta de hierba en un desierto arenoso ajustando las reglas de materiales de su parcela.</p>
<h3 id="mezcla-laplaciana-de-texturas-optimizada-para-la-gpu" tabindex="-1">Mezcla laplaciana de texturas optimizada para la GPU <a class="header-anchor" href="#mezcla-laplaciana-de-texturas-optimizada-para-la-gpu" aria-label="Permalink to &quot;Mezcla laplaciana de texturas optimizada para la GPU&quot;"></a></h3>
<p>La mezcla estándar de texturas (interpolación lineal entre capas) produce uniones visibles o resultados desvaídos y con poco contraste. La mezcla mediante pirámides laplacianas resuelve este problema, pero tradicionalmente requiere un preprocesamiento costoso.</p>
<p>Wronski (NVIDIA, 2025, <a href="https://jcgt.org/published/0014/01/02/" target="_blank" rel="noreferrer">JCGT</a>) presenta una variante optimizada para la GPU que funciona en shaders en tiempo real sin preprocesamiento ni memoria adicional. La técnica utiliza la cadena estándar de mipmaps como aproximación de la pirámide laplaciana: muestrea la textura tanto en el nivel de mipmap actual como en uno más grueso, calcula la diferencia (el laplaciano) y mezcla las contribuciones laplacianas de cada capa.</p>
<p>El resultado conserva los detalles locales nítidos (briznas de hierba individuales y grietas de las rocas), mientras mezcla suavemente a escalas mayores. El coste es de unas pocas lecturas de textura adicionales por fragmento. En terrenos donde se mezclan 4 o más capas de materiales por píxel, esto produce resultados notablemente mejores que la mezcla lineal, especialmente en las transiciones entre hierba, roca y arena.</p>
<h3 id="ruido-de-fasores-para-detalles-de-erosion" tabindex="-1">Ruido de fasores para detalles de erosión <a class="header-anchor" href="#ruido-de-fasores-para-detalles-de-erosion" aria-label="Permalink to &quot;Ruido de fasores para detalles de erosión&quot;"></a></h3>
<p>El terreno estándar suele verse plano de cerca porque la simulación de erosión funciona con la resolución del mapa de alturas (una cuadrícula de 1 metro). El terreno real presenta patrones de erosión a pequeña escala (regueros, barrancos y grietas causadas por la meteorización) a escala de centímetros.</p>
<p>Grenier et al. (2024, <a href="https://diglib.eg.org/bitstream/handle/10.1111/cgf14992/v43i1_05_cgf14992.pdf" target="_blank" rel="noreferrer">CGF</a>) utilizan ruido de fasores para añadir microdetalles al terreno en tiempo real. El ruido de fasores sintetiza patrones estructurados mediante la definición de un campo de fase estocástico que alimenta funciones periódicas. Aplicado al terreno, crea patrones de erosión variables en el espacio que:</p>
<ul>
<li>Conectan regueros estrechos con barrancos más grandes a distintas escalas</li>
<li>Se alinean automáticamente con la pendiente del terreno (los patrones de erosión siguen la línea de máxima pendiente)</li>
<li>Logran una amplificación de hasta 32x (añadiendo detalles a una resolución 32 veces superior a la del mapa de alturas)</li>
<li>Se ejecutan por completo en un shader de fragmentos con velocidades de fotogramas interactivas</li>
</ul>
<p>En un mundo de navegador, el ruido de fasores se ejecuta en el shader del terreno como una capa de detalle. El mapa de alturas proporciona la forma a gran escala. El ruido de fasores añade una microerosión convincente en el shader de fragmentos sin aumentar la complejidad geométrica. Los parámetros (frecuencia, amplitud y orientación del patrón) pueden variar según el bioma: regueros profundos en roca desnuda, ondulaciones suaves en dunas de arena y una textura rugosa similar a la corteza en barro seco.</p>
<h3 id="texturizado-virtual-para-terrenos" tabindex="-1">Texturizado virtual para terrenos <a class="header-anchor" href="#texturizado-virtual-para-terrenos" aria-label="Permalink to &quot;Texturizado virtual para terrenos&quot;"></a></h3>
<p>A gran escala, el atlas de texturas del terreno se vuelve difícil de manejar. Un mundo de 4 km x 4 km con 1 téxel por centímetro necesita una textura de 400 000 x 400 000 píxeles. Evidentemente, es imposible.</p>
<p>El texturizado virtual (también llamado megatextura, procedente de Rage de id Software) resuelve este problema tratando la textura del terreno como una estructura paginada. La textura completa existe de forma conceptual, pero solo se cargan en la memoria de la GPU las teselas visibles en pantalla.
El proceso:</p>
<ol>
<li><strong>Pasada de retroalimentación:</strong> Renderiza el terreno con un shader que indique qué tesela de textura necesita cada píxel (ID de tesela y nivel mip). Lee esta información en la CPU (o procésala con un shader de cómputo).</li>
<li><strong>Carga de teselas:</strong> Carga las teselas solicitadas desde la CDN o genéralas de forma procedural a partir de los datos del mapa de mezcla.</li>
<li><strong>Textura de indirección:</strong> Una textura pequeña asigna las coordenadas de las teselas virtuales a las coordenadas de las teselas físicas en un atlas de texturas.</li>
<li><strong>Pasada de renderizado:</strong> El shader del terreno consulta la textura de indirección para encontrar la tesela física correcta y después muestrea la textura del material desde el atlas.</li>
</ol>
<p>Los shaders de cómputo de WebGPU pueden gestionar íntegramente en la GPU el análisis de retroalimentación y la tabla de páginas. La CPU solo administra la E/S de las teselas.</p>
<p>El resultado: un terreno con texturizado único a cualquier resolución sin una explosión del uso de memoria de texturas. Las teselas alejadas de la cámara se cargan a baja resolución. Las teselas cercanas se cargan a alta resolución. El uso total de memoria se mantiene dentro de un presupuesto fijo (normalmente, un atlas de texturas de 128-256 MB).</p>
<h2 id="efectos-dinamicos-del-terreno" tabindex="-1">Efectos dinámicos del terreno <a class="header-anchor" href="#efectos-dinamicos-del-terreno" aria-label="Permalink to &quot;Efectos dinámicos del terreno&quot;"></a></h2>
<h3 id="charcos-y-humedad" tabindex="-1">Charcos y humedad <a class="header-anchor" href="#charcos-y-humedad" aria-label="Permalink to &quot;Charcos y humedad&quot;"></a></h3>
<p>La lluvia no solo cae. También se acumula. Forma charcos en las depresiones. Crea un brillo húmedo sobre las superficies. En las pendientes pronunciadas, escurre. Simular todo esto hace que el clima parezca conectado al terreno en lugar de ser una simple capa visual superpuesta.</p>
<p>El enfoque basado en shaders no simula la dinámica de fluidos. Utiliza el mapa de alturas del terreno para determinar dónde se acumula el agua:</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> concavity </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightCenter </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 4.0</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> -</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightLeft </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightRight </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightUp </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightDown;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> puddleDepth </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> max</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, concavity </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> rainIntensity </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> evaporationRate </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> timeSinceRain);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> wetness </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.02</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, puddleDepth);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> wetColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> baseColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.7</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> wetRoughness </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> baseRoughness </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> finalColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(baseColor, wetColor, wetness);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> finalRoughness </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(baseRoughness, wetRoughness, wetness);</span></span></code></pre>
</div><p>Las zonas cóncavas (laplaciano negativo del mapa de alturas) acumulan agua. Cuanto mayor es la concavidad, más grande es el charco. Las superficies húmedas se oscurecen y se vuelven más reflectantes (menor rugosidad). El efecto se desvanece con el tiempo después de que deje de llover.</p>
<p>Para obtener reflejos completos en los charcos, añade una pasada de reflexión plana en la superficie del charco. También puedes utilizar reflejos en espacio de pantalla (SSR), que son más económicos y ya están disponibles en las pilas de posprocesamiento tanto de Three.js como de Babylon.js.</p>
<p>Las gotas de lluvia sobre las superficies de los charcos utilizan una sencilla ecuación de ondas 2D en una textura de retroalimentación (Saurel, 2026, <a href="https://www.4rknova.com/blog/2026/02/08/raindrops-on-puddle" target="_blank" rel="noreferrer">Blog</a>). Cada gota crea una onda que se propaga hacia fuera y se atenúa. La textura de ondas modula el mapa de normales del charco, creando patrones de ondas convincentes a 60 fps.</p>
<h3 id="huellas-y-deformacion-del-terreno" tabindex="-1">Huellas y deformación del terreno <a class="header-anchor" href="#huellas-y-deformacion-del-terreno" aria-label="Permalink to &quot;Huellas y deformación del terreno&quot;"></a></h3>
<p>Cuando un jugador camina sobre terreno blando (arena, nieve o barro), las huellas refuerzan la sensación de presencia física. La técnica consiste en mantener una pequeña textura de deformación por chunk (64x64 píxeles = 4 KB) que almacena desplazamientos de altura. Cuando un personaje pisa terreno blando, se estampa la forma de una huella en la textura de deformación.</p>
<p>El shader de vértices del terreno lee la textura de deformación y resta el desplazamiento de la altura. El shader de fragmentos del terreno oscurece la zona de la huella (el suelo compactado es más oscuro) y aumenta la rugosidad (superficie alterada).</p>
<p>Las huellas se desvanecen con el tiempo (la nieve vuelve a cubrirlas y la lluvia borra las marcas de barro) reduciendo gradualmente a cero la textura de deformación. La velocidad de desvanecimiento depende del clima: rápida con lluvia y lenta en condiciones secas.</p>
<p>En un mundo multijugador, los datos de las huellas son efímeros y locales. Cada cliente genera huellas para los jugadores visibles. No es necesario sincronizar la textura de deformación entre clientes (cada uno ve su propia versión de las huellas transitorias). Esto evita el coste de red que supondría transmitir cada paso.</p>
<h3 id="cielo-procedural-y-ciclo-de-dia-y-noche" tabindex="-1">Cielo procedural y ciclo de día y noche <a class="header-anchor" href="#cielo-procedural-y-ciclo-de-dia-y-noche" aria-label="Permalink to &quot;Cielo procedural y ciclo de día y noche&quot;"></a></h3>
<p>El cielo es la superficie visible más grande de cualquier mundo abierto. Determina la atmósfera de todo el terreno.</p>
<p>Three.js cuenta con un <a href="https://discourse.threejs.org/t/complete-sky-system-for-three-js-skybox-sun-moon-day-night-cycle-clouds-stars-lensflares/88311" target="_blank" rel="noreferrer">sistema de cielo completo</a> que incluye sol y luna procedurales, ciclo de día y noche, nubes, estrellas y destellos de lente. El ejemplo <code>Sky</code> integrado en Three.js (también disponible en <a href="https://threejs.org/examples/webgpu_sky.html" target="_blank" rel="noreferrer">WebGPU</a>) implementa el modelo analítico del cielo de Preetham.</p>
<p>Para obtener resultados con mayor precisión física, <a href="https://jolifantobambla.github.io/webgpu-sky-atmosphere/" target="_blank" rel="noreferrer">webgpu-sky-atmosphere</a> implementa el modelo atmosférico de Hillaire como posproceso de WebGPU. Admite múltiples funciones de fase de dispersión y produce, a partir de principios físicos, una perspectiva aérea correcta (el terreno lejano aparece más brumoso), colores del sol y del atardecer, y gradientes del cielo.</p>
<p><a href="https://dev.to/the_lone_engineer/terrainview7-full-scale-planet-rendering-in-webgpu-emscripten-now-with-precomputed-atmospheric-18ik" target="_blank" rel="noreferrer">TerrainView7</a> muestra el renderizado de un planeta a escala completa en WebGPU con dispersión atmosférica precalculada, lo que demuestra que el renderizado atmosférico con precisión física funciona en un navegador.</p>
<p>En un mundo de creación, los parámetros del cielo (posición del sol, cobertura de nubes y densidad de bruma) se sincronizan entre todos los clientes mediante el reloj del mundo del servidor. El shader del cielo se ejecuta localmente en cada cliente, lo que produce una iluminación coherente para todos los jugadores.</p>
<h3 id="iluminacion-del-terreno-iluminacion-indirecta" tabindex="-1">Iluminación del terreno: iluminación indirecta <a class="header-anchor" href="#iluminacion-del-terreno-iluminacion-indirecta" aria-label="Permalink to &quot;Iluminación del terreno: iluminación indirecta&quot;"></a></h3>
<p>La luz solar directa se gestiona mediante mapas de sombras. Sin embargo, el color y el brillo del terreno en sombra (luz ambiental o indirecta) son igual de importantes para la calidad visual. Las sombras completamente negras resultan poco naturales. Deberían teñirse con el color del cielo (azul en un día despejado y gris en un día nublado).</p>
<p>Para un mundo en el navegador, el enfoque práctico es:</p>
<p>La <strong>iluminación indirecta en espacio de pantalla</strong> con máscara de bits de visibilidad (Jimenez et al., 2023, <a href="https://export.arxiv.org/pdf/2301.11376v2.pdf" target="_blank" rel="noreferrer">Artículo</a>) mejora el SSAO estándar mediante el seguimiento de 32 sectores de visibilidad direccional por píxel. Esto no solo captura cuánto está ocluido un punto, sino también la direccionalidad de la oclusión. Las superficies delgadas permiten correctamente que la luz pase desde el otro lado. El resultado es una iluminación indirecta que reacciona a la geometría cercana sin necesitar una infraestructura de iluminación global.</p>
<p>El coste es comparable al de SSAO (1-2 ms). La mejora visual es considerable: el terreno de los cañones recibe la luz rebotada de sus paredes. La parte inferior de los salientes queda iluminada por el reflejo del suelo. El efecto se combina con la dispersión atmosférica del shader del cielo para producir una iluminación ambiental basada en principios físicos.</p>
<h2 id="integracion-de-la-fisica-del-terreno" tabindex="-1">Integración de la física del terreno <a class="header-anchor" href="#integracion-de-la-fisica-del-terreno" aria-label="Permalink to &quot;Integración de la física del terreno&quot;"></a></h2>
<h3 id="colisionadores-de-campos-de-alturas-de-rapier" tabindex="-1">Colisionadores de campos de alturas de Rapier <a class="header-anchor" href="#colisionadores-de-campos-de-alturas-de-rapier" aria-label="Permalink to &quot;Colisionadores de campos de alturas de Rapier&quot;"></a></h3>
<p>El motor de física WASM de Rapier proporciona colisionadores nativos de campos de alturas optimizados para terrenos. Crear un colisionador de terreno es sencillo:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> heights</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Float32Array</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">65</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> *</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 65</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Fill with heightmap data...</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> groundCollider</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> RAPIER</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.ColliderDesc.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">heightfield</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  64</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">64</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, heights, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> RAPIER</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Vector3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">64.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">100.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">64.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">world.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">createCollider</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(groundCollider);</span></span></code></pre>
</div><p>El colisionador de campo de alturas utiliza la cuadrícula estructurada para realizar consultas de fase amplia de forma eficiente. El trazado de rayos contra un campo de alturas es O(log n), en lugar de O(n) como en una malla de triángulos. En un chunk de 65x65, las consultas de colisión se resuelven en microsegundos.</p>
<p>Para los chunks con terreno volumétrico (capas SDF superpuestas), genera una malla de triángulos a partir de la salida de marching cubes y utiliza un colisionador de malla triangular. Esto es más costoso que un colisionador de campo de alturas, pero admite geometría arbitraria. Genera colisionadores de malla triangular únicamente para los 3-5 chunks más cercanos al jugador. Los chunks lejanos no necesitan física.</p>
<p><strong>Rendimiento:</strong> El colisionador de campo de alturas de Rapier para un chunk de 65x65 añade aproximadamente 0,1 ms por paso de física en las consultas del controlador de personaje. Cinco chunks activos con colisionadores de campos de alturas: 0,5 ms. Un colisionador de malla triangular para un chunk volumétrico: 0,2-0,5 ms. Presupuesto total para la física del terreno: menos de 1 ms, holgadamente dentro del presupuesto de 2-3 ms para la física de todo el mundo.</p>
<h3 id="controlador-de-personaje-adaptado-al-terreno" tabindex="-1">Controlador de personaje adaptado al terreno <a class="header-anchor" href="#controlador-de-personaje-adaptado-al-terreno" aria-label="Permalink to &quot;Controlador de personaje adaptado al terreno&quot;"></a></h3>
<p>El controlador de personaje debe responder a las propiedades del terreno:</p>
<ul>
<li><strong>Limitación de pendiente:</strong> El personaje puede caminar por pendientes de hasta 45 grados. Las pendientes más pronunciadas provocan que se deslice. Para ello se utiliza la normal del terreno en la posición del personaje (calculada de forma eficiente a partir del gradiente del mapa de alturas).</li>
<li><strong>Respuesta al material de la superficie:</strong> Caminar sobre roca produce sonidos de pasos y una velocidad de movimiento distintos a los de caminar sobre arena o barro. El mapa de mezcla del terreno proporciona el material de la superficie en cualquier punto.</li>
<li><strong>Subida de escalones:</strong> El personaje puede subir salientes de hasta 0,5 metros. El <code>KinematicCharacterController</code> de Rapier lo gestiona automáticamente mediante una altura de escalón configurable.</li>
</ul>
<h2 id="edicion-interactiva-del-terreno-en-el-navegador" tabindex="-1">Edición interactiva del terreno en el navegador <a class="header-anchor" href="#edicion-interactiva-del-terreno-en-el-navegador" aria-label="Permalink to &quot;Edición interactiva del terreno en el navegador&quot;"></a></h2>
<p>En un mundo de creación, el terreno no solo se genera. Los jugadores lo esculpen, modifican y remodelan. Las herramientas de edición deben responder con rapidez (respuesta visual instantánea) y funcionar en red (los demás jugadores ven los cambios en cuestión de segundos).</p>
<h3 id="editor-sdf-con-webgpu" tabindex="-1">Editor SDF con WebGPU <a class="header-anchor" href="#editor-sdf-con-webgpu" aria-label="Permalink to &quot;Editor SDF con WebGPU&quot;"></a></h3>
<p>El <a href="https://reindernijhoff.net/2026/01/webgpu-sdf-editor-real-time-signed-distance-field-modeling/" target="_blank" rel="noreferrer">Editor SDF con WebGPU</a> de Reinder Nijhoff demuestra que el modelado SDF completo ya funciona hoy en el navegador. El editor admite:</p>
<ul>
<li><strong>Seis formas primitivas</strong> (esfera, caja, cono, cilindro, cápsula y toroide) con posición, rotación y escala</li>
<li><strong>Operaciones booleanas</strong> (unión, sustracción e intersección) con mezcla suave y radios de mezcla configurables</li>
<li><strong>Grafos de escena jerárquicos</strong> con grupos y operaciones anidadas</li>
<li><strong>Renderizado en tiempo real</strong> mediante varias etapas de shaders de cómputo en la GPU, particionamiento espacial basado en octrees sobre 16.384 celdas de cuadrícula y extracción de superficies mediante marching cubes o redes de superficies</li>
<li><strong>Antialiasing temporal y oclusión ambiental</strong> mediante mapas de sombras</li>
</ul>
<p>Cada primitiva se almacena como 28 valores de coma flotante (112 bytes) en un único búfer de la GPU. Esta representación compacta permite que una edición compleja del terreno (decenas de primitivas SDF que definen la entrada de una cueva, un arco o la cara tallada de un acantilado) ocupe menos de 5 KB y se sincronice al instante con los demás jugadores.</p>
<p>En un mundo de creación, el flujo de edición SDF es el siguiente:</p>
<ol>
<li>El creador selecciona una herramienta de esculpido (añadir esfera, sustraer caja o aplicar mezcla suave)</li>
<li>Hace clic o arrastra en el mundo para colocar la primitiva SDF y definir su tamaño</li>
<li>El cliente ejecuta inmediatamente marching cubes sobre el SDF modificado para actualizar la malla local (respuesta en &lt;16 ms)</li>
<li>La edición SDF (tipo de primitiva + transformación + modo de mezcla, ~100 bytes) se envía al servidor</li>
<li>El servidor valida la edición (se encuentra dentro de la parcela del creador y no intersecta zonas protegidas) y la transmite a los jugadores cercanos</li>
<li>Los clientes de los demás jugadores aplican la edición SDF y regeneran su malla local</li>
</ol>
<p>El tiempo total de ida y vuelta para que los demás vean una edición es de 100-300 ms, según la latencia de la red. El creador ve su edición al instante porque se aplica localmente antes de que el servidor la confirme.</p>
<h3 id="edicion-de-mapas-de-alturas-mediante-pinceles" tabindex="-1">Edición de mapas de alturas mediante pinceles <a class="header-anchor" href="#edicion-de-mapas-de-alturas-mediante-pinceles" aria-label="Permalink to &quot;Edición de mapas de alturas mediante pinceles&quot;"></a></h3>
<p>Para la capa del mapa de alturas (el 90 % del terreno que no necesita características volumétricas), basta con un modelo de edición más sencillo. El creador pinta modificaciones de altura con un pincel:</p>
<ul>
<li><strong>Elevar/bajar:</strong> Añade o resta altura dentro de un radio con atenuación</li>
<li><strong>Suavizar:</strong> Promedia las alturas dentro de un radio para eliminar los rasgos abruptos</li>
<li><strong>Aplanar:</strong> Establece todas las alturas dentro de un radio en un valor objetivo</li>
<li><strong>Pincel de erosión:</strong> Aplica localmente varios pasos de erosión hidráulica dentro del radio del pincel</li>
</ul>
<p>La edición del mapa de alturas es un delta: un pequeño parche de cambios de altura que se superpone al terreno base. El parche delta es diminuto (una cuadrícula de 32x32 con desplazamientos de altura de 16 bits = 2 KB) y se sincroniza con los demás jugadores en un único mensaje. Se acumulan varios parches delta por chunk y el servidor los fusiona periódicamente con el mapa de alturas persistente del chunk.</p>
<h3 id="restricciones-de-la-edicion-colaborativa" tabindex="-1">Restricciones de la edición colaborativa <a class="header-anchor" href="#restricciones-de-la-edicion-colaborativa" aria-label="Permalink to &quot;Restricciones de la edición colaborativa&quot;"></a></h3>
<p>Cuando varios creadores editan simultáneamente el mismo chunk, el sistema necesita reglas:</p>
<ul>
<li><strong>Bloqueo espacial:</strong> Solo un creador puede editar una subregión determinada de 8x8 metros a la vez. El bloqueo se adquiere cuando el creador inicia un trazo de edición y se libera cuando levanta el pincel. Los bloqueos caducan después de 10 segundos de inactividad.</li>
<li><strong>Ediciones no superpuestas:</strong> Si dos creadores editan partes diferentes del mismo chunk, ambas ediciones se aplican sin conflictos (modifican distintas celdas del mapa de alturas o regiones SDF).</li>
<li><strong>Ediciones superpuestas:</strong> Si dos creadores editan la misma ubicación, el servidor serializa las ediciones según el orden de llegada. Ambos clientes ven el mismo resultado final tras la reconciliación.</li>
</ul>
<p>Esto es más sencillo que el enfoque CRDT completo utilizado para los objetos colocados, porque las ediciones del terreno son operaciones aditivas sobre un campo continuo (alturas o distancias SDF), no estados de objetos discretos.</p>
<h2 id="geometria-virtual-al-estilo-nanite-en-webgpu" tabindex="-1">Geometría virtual al estilo Nanite en WebGPU <a class="header-anchor" href="#geometria-virtual-al-estilo-nanite-en-webgpu" aria-label="Permalink to &quot;Geometría virtual al estilo Nanite en WebGPU&quot;"></a></h2>
<p>Nanite de Unreal Engine 5 renderiza miles de millones de triángulos mediante la creación de un DAG de clústeres (grafo acíclico dirigido) durante la compilación y la selección en tiempo de ejecución del LOD adecuado para cada clúster en función del error en espacio de pantalla. Todo el proceso se ejecuta en la GPU. Este enfoque se ha adaptado a WebGPU.</p>
<h3 id="nanite-webgpu" tabindex="-1">Nanite WebGPU <a class="header-anchor" href="#nanite-webgpu" aria-label="Permalink to &quot;Nanite WebGPU&quot;"></a></h3>
<div class="img-embed">
<img src="https://cdn.cinevva.com/blog/nanite-webgpu-scene.png" alt="Nanite WebGPU renderizando en el navegador una escena compleja con varios objetos mediante una jerarquía LOD de meshlets y un rasterizador por software" />
</div>
<div class="game-caption">Nanite WebGPU renderizando una escena completa en Chrome mediante LOD de meshlets, rasterización por software con shaders de cómputo WGSL y descarte de frustum y oclusión por meshlet. Sin plugins nativos: WebGPU puro.</div>
<p><a href="https://scthe.github.io/nanite-webgpu/" target="_blank" rel="noreferrer">Nanite WebGPU</a> de Scthe (más de 1.100 estrellas en GitHub) es una implementación completa para navegadores de la arquitectura central de Nanite:</p>
<ul>
<li><strong>Jerarquía LOD de meshlets</strong> creada sin conexión mediante la generación de clústeres de meshoptimizer</li>
<li><strong>Rasterizador por software</strong> implementado mediante shaders de cómputo WGSL (adaptado a las limitaciones de WebGPU, donde la rasterización por hardware no puede ejecutar llamadas de dibujo por clúster de forma eficiente)</li>
<li><strong>Descarte por instancia y por meshlet</strong> mediante pruebas de frustum y oclusión</li>
<li><strong>Impostores billboard</strong> para objetos extremadamente lejanos</li>
<li><strong>Compatibilidad con texturas y normales por vértice</strong>
La canalización funciona así: las mallas se dividen en clústeres de unos 128 triángulos. Los clústeres vecinos se agrupan y cada grupo se simplifica (mediante meshoptimizer), preservando los límites compartidos. Este proceso se repite recursivamente hasta que toda la malla se reduce a un solo clúster. Durante la ejecución, un shader de cómputo recorre el DAG y selecciona, para cada grupo, el clúster menos detallado que produzca menos de 1 píxel de error con la resolución de pantalla actual.</li>
</ul>
<p><strong>THREE-Nanite</strong> es una implementación emergente para Three.js que alcanza entre 20 y 40 fps en hardware gráfico integrado mientras procesa cientos de miles de triángulos. Demuestra que el renderizado al estilo Nanite es viable incluso en hardware de gama baja para navegadores.</p>
<h3 id="meshoptimizer-la-base-de-la-canalizacion-de-lod" tabindex="-1">meshoptimizer: la base de la canalización de LOD <a class="header-anchor" href="#meshoptimizer-la-base-de-la-canalizacion-de-lod" aria-label="Permalink to &quot;meshoptimizer: la base de la canalización de LOD&quot;"></a></h3>
<p><a href="https://meshoptimizer.org/" target="_blank" rel="noreferrer">meshoptimizer</a> (de Arseny Kapoulkine) es la biblioteca en la que se basan la mayoría de las canalizaciones de LOD compatibles con navegadores. La versión 1.0 (2025) ofrece:</p>
<ul>
<li><strong>Simplificación de mallas</strong> con métricas de error (cuánto ha cambiado la forma, utilizado para seleccionar el LOD)</li>
<li><strong>Generación de clústeres</strong> para jerarquías de meshlets al estilo Nanite</li>
<li><strong>Optimización de la caché de vértices</strong> para ordenar los triángulos de forma eficiente para la GPU</li>
<li><strong>Optimización del sobredibujado</strong> para reducir el coste del shader de píxeles</li>
<li><strong>Cuantización y compresión de vértices</strong> para reducir el tamaño de las descargas</li>
</ul>
<p>meshoptimizer 1.0 (publicado en diciembre de 2025) incluye un nuevo archivo de cabecera único, <code>clusterlod.h</code>, que implementa directamente un LOD continuo al estilo Nanite. Construye una jerarquía de clústeres que se agrupan y simplifican progresivamente, lista para usarse tal cual o como referencia para una canalización personalizada. Esta es exactamente la primitiva de DAG de clústeres que necesita la canalización de terreno para el LOD de mallas generadas mediante SDF y marching cubes.</p>
<p>En nuestra canalización de terreno, meshoptimizer procesa el resultado de marching cubes del terreno SDF para convertirlo en mallas optimizadas y agrupadas en clústeres con jerarquías de LOD. El procesamiento sin conexión se ejecuta en el servidor. El navegador recibe mallas ya agrupadas en clústeres y realiza durante la ejecución una selección de LOD controlada por la GPU.</p>
<p>La combinación de meshoptimizer para generar los LOD y el cómputo con WebGPU para seleccionarlos durante la ejecución proporciona al terreno en el navegador el mismo patrón arquitectónico que Nanite, adaptado a las limitaciones de la web.</p>
<h2 id="diseno-de-niveles-adaptado-al-terreno" tabindex="-1">Diseño de niveles adaptado al terreno <a class="header-anchor" href="#diseno-de-niveles-adaptado-al-terreno" aria-label="Permalink to &quot;Diseño de niveles adaptado al terreno&quot;"></a></h2>
<p>El terreno no es solo una superficie sobre la que caminar. Su forma guía el movimiento de los jugadores, dirige su atención y crea el ritmo emocional de la exploración. Los mejores mundos abiertos utilizan el terreno como herramienta de diseño.</p>
<h3 id="lineas-de-vision-y-puntos-de-referencia" tabindex="-1">Líneas de visión y puntos de referencia <a class="header-anchor" href="#lineas-de-vision-y-puntos-de-referencia" aria-label="Permalink to &quot;Líneas de visión y puntos de referencia&quot;"></a></h3>
<p>El <a href="https://book.leveldesignbook.com/process/blockout/wayfinding" target="_blank" rel="noreferrer">capítulo sobre orientación</a> de The Level Design Book documenta cómo la elevación del terreno controla lo que ven los jugadores y hacia dónde se dirigen. Una cresta oculta lo que hay al otro lado y despierta curiosidad. Un valle canaliza el movimiento hacia su punto más bajo. Un punto de referencia alto (una torre, la cima de una montaña o un árbol inusual) visible desde lejos ofrece a los jugadores un objetivo hacia el que caminar.</p>
<p>En un mundo creado por usuarios, esto significa que la generación del terreno debe producir elementos naturales que faciliten la orientación. Las líneas de cresta deben interrumpir la visibilidad y crear «momentos de revelación» cuando el jugador alcanza la cima de una colina y descubre una zona nueva. Los valles deben converger en lugares interesantes. Debe haber puntos elevados donde los creadores puedan colocar referencias visibles desde lejos.</p>
<h3 id="exploracion-impulsada-por-la-curiosidad" tabindex="-1">Exploración impulsada por la curiosidad <a class="header-anchor" href="#exploracion-impulsada-por-la-curiosidad" aria-label="Permalink to &quot;Exploración impulsada por la curiosidad&quot;"></a></h3>
<p>Una investigación de la Universidad Purdue (<a href="https://web.ics.purdue.edu/~cmousas/papers/conf22-FDG-SpatialExploration.pdf" target="_blank" rel="noreferrer">artículo</a>) identifica cuatro desencadenantes de la exploración espacial:</p>
<ol>
<li><strong>Alcanzar puntos extremos</strong> (la cima más alta, el borde más lejano o la cueva más profunda). El terreno debe tener extremos claros que recompensen a quienes llegan hasta ellos.</li>
<li><strong>Superar obstáculos visuales</strong> (¿qué hay detrás de ese acantilado? ¿Qué hay dentro de esa cueva?). Un terreno que bloquea la vista motiva el movimiento para descubrir qué se oculta.</li>
<li><strong>Objetos fuera de lugar</strong> (una estructura en plena naturaleza, una luz en la oscuridad). Los objetos colocados por los creadores sobre un terreno natural generan un contraste que atrae la atención.</li>
<li><strong>Comprender las conexiones espaciales</strong> (¿cómo conecta este valle con aquella costa?). Un terreno que crea una geografía legible fomenta la lectura de mapas y la planificación de rutas.</li>
</ol>
<h3 id="plotmap-colocacion-de-puntos-de-interes-asistida-por-ia" tabindex="-1">PlotMap: colocación de puntos de interés asistida por IA <a class="header-anchor" href="#plotmap-colocacion-de-puntos-de-interes-asistida-por-ia" aria-label="Permalink to &quot;PlotMap: colocación de puntos de interés asistida por IA&quot;"></a></h3>
<p>PlotMap (<a href="https://arxiv.org/html/2309.15242v4" target="_blank" rel="noreferrer">arXiv:2309.15242</a>) automatiza la distribución de puntos de interés a partir de requisitos narrativos (esta misión necesita una aldea cerca de un río; aquella necesita unas ruinas en lo alto de una colina) y busca ubicaciones del terreno que satisfagan las restricciones espaciales. Para un mundo creado por usuarios, un sistema similar podría sugerir dónde colocar estructuras según las propiedades del terreno: «esta cima ofrece buenas líneas de visión para una atalaya», «este valle protegido sería adecuado para una aldea».</p>
<h2 id="agua-corriente-y-cascadas" tabindex="-1">Agua corriente y cascadas <a class="header-anchor" href="#agua-corriente-y-cascadas" aria-label="Permalink to &quot;Agua corriente y cascadas&quot;"></a></h2>
<p>Los ríos y las cascadas son elementos del terreno que combinan atractivo visual con sonido ambiental y posibilidades jugables (el agua como barrera, recurso o camino).</p>
<h3 id="renderizado-de-rios" tabindex="-1">Renderizado de ríos <a class="header-anchor" href="#renderizado-de-rios" aria-label="Permalink to &quot;Renderizado de ríos&quot;"></a></h3>
<p>En los mundos abiertos, los ríos suelen renderizarse como franjas texturizadas que siguen la superficie del terreno. La malla de la franja se genera a partir de la spline del río (almacenada como puntos de control) y se proyecta sobre el mapa de alturas del terreno. El shader del río aplica:</p>
<ul>
<li><strong>UV alineadas con el flujo</strong> que se desplazan en la dirección del río para crear la apariencia de agua corriente</li>
<li><strong>Espuma en los bordes</strong> donde el río se une a la orilla (basada en la profundidad, de forma similar a la espuma de la costa)</li>
<li><strong>Variación de velocidad</strong> según la anchura del cauce (las secciones estrechas fluyen más rápido y las anchas más despacio)</li>
<li><strong>Transparencia con color basado en la profundidad</strong> (las zonas poco profundas son claras y las profundas, oscuras)</li>
</ul>
<p>En un mundo para navegador, los datos fluviales son compactos: una spline (entre 20 y 50 puntos de control por segmento de río, unos 400 bytes), además de parámetros de anchura y velocidad del flujo. El cliente genera localmente la malla del río proyectando la spline sobre la superficie de su terreno.</p>
<h3 id="renderizado-de-cascadas" tabindex="-1">Renderizado de cascadas <a class="header-anchor" href="#renderizado-de-cascadas" aria-label="Permalink to &quot;Renderizado de cascadas&quot;"></a></h3>
<p>Cuando un río cae por un acantilado, un sistema de partículas para cascadas sustituye la superficie plana del río. El enfoque híbrido de la investigación sobre simulación de agua en tiempo real (<a href="https://diglib.eg.org/items/d0320015-4b07-416b-8f41-047485c9f7f3" target="_blank" rel="noreferrer">EG</a>) convierte las regiones que no pueden representarse mediante un campo de alturas (cascadas y salpicaduras) en partículas de rocío, salpicadura y espuma que intercambian masa y momento con la simulación de fluidos.</p>
<p>Para un mundo en el navegador, las cascadas son más sencillas: se detecta dónde cruza la spline del río una discontinuidad de altura del terreno, se genera en ese punto un sistema de partículas con velocidad descendente y se añade espuma de salpicadura en la base. Las partículas son cuadriláteros instanciados en la GPU con texturas alfa en desplazamiento. Son 500 partículas por cascada y una llamada de dibujo. El sonido del agua al caer utiliza la API Web Audio con atenuación por distancia.</p>
<h2 id="impostores-para-elementos-lejanos-del-terreno" tabindex="-1">Impostores para elementos lejanos del terreno <a class="header-anchor" href="#impostores-para-elementos-lejanos-del-terreno" aria-label="Permalink to &quot;Impostores para elementos lejanos del terreno&quot;"></a></h2>
<p>Los árboles, las rocas, los edificios y otros elementos del terreno se vuelven diminutos a gran distancia. Renderizarlos como mallas 3D completas desperdicia ciclos de GPU. Los impostores sustituyen los objetos lejanos por imágenes planas prerenderizadas orientadas hacia la cámara.</p>
<h3 id="atlas-de-impostores-octaedricos" tabindex="-1">Atlas de impostores octaédricos <a class="header-anchor" href="#atlas-de-impostores-octaedricos" aria-label="Permalink to &quot;Atlas de impostores octaédricos&quot;"></a></h3>
<p>Un impostor octaédrico captura la apariencia de un objeto 3D desde varios ángulos de visión y almacena las capturas en un atlas de texturas. Durante la ejecución, el shader toma muestras del atlas según la dirección de visión actual e interpola entre los dos ángulos capturados más cercanos.</p>
<p>Un atlas hemioctaédrico (con vistas solo desde el hemisferio superior, ya que rara vez se observan los árboles desde abajo) proporciona el doble de resolución angular que un atlas octaédrico completo con el mismo tamaño de textura. El sistema de impostores de Unity registra una reducción del tiempo por fotograma de 111 ms a 5,78 ms al cambiar 1600 instancias de árboles de mallas reales (140 000 triángulos cada una) a impostores.</p>
<p>Para un mundo en el navegador, la canalización de impostores funciona así:</p>
<ol>
<li>En el servidor: renderizar cada recurso desde entre 16 y 32 ángulos de visión, capturando color, normales y profundidad</li>
<li>Empaquetar las capturas en una textura de atlas (un atlas por recurso, de unos 256 × 256 píxeles y menos de 100 KB en formato KTX2)</li>
<li>Durante la ejecución: las instancias situadas más allá de la distancia de impostor (normalmente entre 100 y 200 m) se renderizan como billboards que toman muestras del atlas</li>
<li>Realizar una transición gradual entre la malla y el impostor a lo largo de una zona de 20 m para ocultar el cambio</li>
</ol>
<h3 id="billboard-splatting-bbsplat" tabindex="-1">Billboard Splatting (BBSplat) <a class="header-anchor" href="#billboard-splatting-bbsplat" aria-label="Permalink to &quot;Billboard Splatting (BBSplat)&quot;"></a></h3>
<p>Billboard Splatting (2024, <a href="https://arxiv.org/abs/2411.08508" target="_blank" rel="noreferrer">arXiv:2411.08508</a>) lleva este concepto más lejos mediante primitivas planas texturizadas entrenables. En lugar de utilizar vistas prerenderizadas, BBSplat optimiza las posiciones y texturas de los billboards para representar el objeto 3D de la mejor manera desde cualquier ángulo. Esto consigue una compresión hasta 17 veces mayor que 3D Gaussian Splatting, al tiempo que mantiene una apariencia dependiente del punto de vista. Para los elementos lejanos del terreno en un mundo para navegador, BBSplat podría reducir el almacenamiento de impostores por recurso y, al mismo tiempo, mejorar la cobertura angular.</p>
<h2 id="herramientas-profesionales-de-terreno-y-lo-que-nos-ensenan" tabindex="-1">Herramientas profesionales de terreno y lo que nos enseñan <a class="header-anchor" href="#herramientas-profesionales-de-terreno-y-lo-que-nos-ensenan" aria-label="Permalink to &quot;Herramientas profesionales de terreno y lo que nos enseñan&quot;"></a></h2>
<p>Antes de crear desde cero una canalización de terreno, conviene comprender qué hacen las herramientas profesionales sin conexión. Estas herramientas representan décadas de investigación sobre generación de terrenos condensadas en flujos de trabajo de producción.</p>
<p><strong>Gaea</strong> (QuadSpinner) está acelerada por GPU y ofrece una respuesta casi instantánea a los cambios. Admite compilaciones por teselas de hasta 2 millones de píxeles por lado, exportación automática de mallas LOD y un grafo basado en nodos en el que cada nodo representa un proceso físico (erosión, sedimentación, levantamiento y meteorización térmica). Los nodos de erosión de Gaea producen terrenos que parecen esculpidos a mano porque modelan procesos físicos específicos en lugar de ruido genérico. La idea clave es que Gaea no utiliza un único algoritmo de erosión. Ofrece nodos separados para la erosión fluvial (excavación de ríos), la erosión térmica (desmoronamiento de acantilados), la erosión costera (acción de las olas) y la erosión eólica (formación de dunas de arena). Combinarlos en un grafo produce terrenos con el carácter geológico propio de un clima específico.</p>
<p><strong>World Machine</strong> adopta un enfoque de grafos similar, centrado en la macroestructura del terreno. Su «generador de distribución» permite a los artistas esbozar la forma general de los elementos del terreno (una montaña aquí, un valle allá, una costa a lo largo de este borde), y el sistema completa el conjunto con detalles físicamente plausibles. Este es exactamente el flujo de trabajo que queremos para los creadores: esbozar la intención y obtener la geología.</p>
<p><strong>World Creator</strong> se distingue por ofrecer una vista previa en tiempo real durante la edición y una función integrada de generación de ríos que analiza el terreno y calcula automáticamente las rutas del flujo mediante análisis de drenaje.</p>
<p><strong>Lo que tomamos de estas herramientas:</strong> el enfoque basado en un grafo de nodos para combinar procesos físicos es más potente que cualquier algoritmo individual. Nuestra canalización de generación en el servidor debe permitir encadenar: base de ruido &gt; levantamiento tectónico &gt; erosión hidráulica &gt; meteorización térmica &gt; erosión costera &gt; vegetación. Los creadores controlan los parámetros en cada etapa. La canalización se ejecuta en el servidor en cuestión de segundos y produce mapas de alturas, mapas de salpicado y mapas de densidad de vegetación.</p>
<h3 id="soilmachine-geomorfologia-de-codigo-abierto" tabindex="-1">SoilMachine: geomorfología de código abierto <a class="header-anchor" href="#soilmachine-geomorfologia-de-codigo-abierto" aria-label="Permalink to &quot;SoilMachine: geomorfología de código abierto&quot;"></a></h3>
<div class="img-embed">
<img src="https://cdn.cinevva.com/blog/soilmachine-banner.png" alt="SoilMachine: simulador modular de geomorfología de código abierto que muestra un terreno con erosión hidráulica, térmica y eólica acopladas" />
</div>
<div class="game-caption">SoilMachine acopla la erosión hidráulica, térmica y eólica en un único modelo de terreno por capas. La estructura de datos multicapa admite elementos que los mapas de alturas no pueden representar: cuevas, voladizos, cerros testigo y distribuciones de aguas subterráneas.</div>
<p><a href="https://github.com/weigert/soilmachine" target="_blank" rel="noreferrer">SoilMachine</a> es un simulador modular de geomorfología de código abierto que acopla varios sistemas de erosión (hidráulica, térmica y eólica) con el transporte y la deposición de sedimentos. Desarrollado en C++ con cómputo por GPU, ofrece una implementación de referencia del enfoque de erosión multiproceso utilizado por las herramientas profesionales.</p>
<p>La biblioteca relacionada <a href="https://github.com/erosiv/soillib" target="_blank" rel="noreferrer">soillib</a> (C++20, licencia MIT) proporciona las primitivas subyacentes de simulación geomorfológica como biblioteca reutilizable. Por su parte, <a href="https://github.com/ger0/hydro-gen" target="_blank" rel="noreferrer">hydro-gen</a> implementa erosión hidráulica basada tanto en cuadrícula (aguas poco profundas) como en partículas (gotas de lluvia) mediante shaders de cómputo de OpenGL con ajuste de parámetros en tiempo real.</p>
<p>Estas herramientas de código abierto podrían adaptarse a nuestra canalización de generación en el servidor. Las implementaciones de shaders de cómputo pueden trasladarse directamente a WebGPU si en algún momento queremos ejecutar la erosión en el navegador para proporcionar información en tiempo real a los creadores.</p>
<h2 id="materiales-de-terreno-multicapa" tabindex="-1">Materiales de terreno multicapa <a class="header-anchor" href="#materiales-de-terreno-multicapa" aria-label="Permalink to &quot;Materiales de terreno multicapa&quot;"></a></h2>
<p>El terreno real no es una única superficie, sino un conjunto de capas: roca madre en el fondo, suelo encima y nieve o arena acumulándose sobre las superficies. Las capas dinámicas cambian el carácter visual del terreno con las estaciones, el clima y las acciones de los creadores.</p>
<h3 id="representacion-mediante-campos-de-alturas-por-capas" tabindex="-1">Representación mediante campos de alturas por capas <a class="header-anchor" href="#representacion-mediante-campos-de-alturas-por-capas" aria-label="Permalink to &quot;Representación mediante campos de alturas por capas&quot;"></a></h3>
<p>En lugar de un único mapa de alturas, se utilizan varias capas de altura por cada celda de la cuadrícula:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Cell {</span></span>
<span class="line"><span>  bedrock_height: f16,    // permanent rock surface</span></span>
<span class="line"><span>  soil_height: f16,       // accumulated soil/sediment above bedrock</span></span>
<span class="line"><span>  snow_height: f16,       // dynamic snow accumulation</span></span>
<span class="line"><span>  water_height: f16       // standing water depth</span></span>
<span class="line"><span>}</span></span></code></pre>
</div><p>Total: 8 bytes por celda (frente a 2 bytes para un único mapa de alturas). Para un chunk de 65 × 65, son 34 KB antes de la compresión. Sigue siendo compacto.</p>
<p>La superficie visual es <code>bedrock + soil + snow</code>. El shader del terreno lee todas las capas y mezcla los materiales en consecuencia: donde el suelo es fino, la roca queda al descubierto. Donde se ha acumulado nieve, la superficie es blanca. Donde se estanca el agua, aparecen charcos o lagos.</p>
<h3 id="acumulacion-dinamica" tabindex="-1">Acumulación dinámica <a class="header-anchor" href="#acumulacion-dinamica" aria-label="Permalink to &quot;Acumulación dinámica&quot;"></a></h3>
<p>La nieve se acumula durante las nevadas sobre superficies planas orientadas hacia arriba. La velocidad de acumulación depende de la normal de la superficie (las pendientes pronunciadas no retienen nieve), la temperatura (que depende de la altitud) y el resguardo (las zonas situadas bajo voladizos permanecen despejadas). Una pasada de shader de cómputo actualiza la capa de nieve una vez por cada ciclo meteorológico, cada pocos segundos.</p>
<p>La acumulación de arena funciona de forma similar, mediante deposición impulsada por el viento. El viento transporta partículas desde superficies expuestas y las deposita detrás de obstáculos y en zonas protegidas.</p>
<p>En un mundo creado por usuarios, la acumulación dinámica hace que el terreno tenga un aspecto distinto según el tiempo atmosférico. La nieve cubre el mundo durante una ventisca y se derrite cuando vuelve a despejarse. La lluvia llena de agua las depresiones. Esto hace que el mundo parezca reactivo sin que los creadores tengan que hacer nada.</p>
<h3 id="erosion-multicapa" tabindex="-1">Erosión multicapa <a class="header-anchor" href="#erosion-multicapa" aria-label="Permalink to &quot;Erosión multicapa&quot;"></a></h3>
<p>El artículo de 2024 «3D Real-Time Hydraulic Erosion Simulation using Multi-Layered Heightmaps» (<a href="https://diglib.eg.org/items/deefa865-6a25-4463-adcd-d8de2b37507e" target="_blank" rel="noreferrer">EG</a>) amplía la erosión para que opere entre capas. El agua erosiona el suelo más rápido que la roca madre. Los sedimentos se depositan como una nueva capa de suelo. La simulación mantiene la integridad de las capas (la roca madre permanece debajo del suelo) y, al mismo tiempo, permite crear elementos complejos como voladizos, donde la roca madre sobresale por encima del suelo erosionado.
Rendimiento: aproximadamente 6 ms por paso de simulación en una RTX 3070 con una resolución de 2048x2048. Es lo bastante rápido para la generación en el servidor, pero demasiado lento para una simulación por fotograma en el navegador. La representación por capas funciona para generar terreno estático, mientras que la acumulación dinámica de nieve y agua se ejecuta mediante un shader por fotograma más económico.</p>
<h2 id="renderizado-de-hierba-rocas-y-detalles" tabindex="-1">Renderizado de hierba, rocas y detalles <a class="header-anchor" href="#renderizado-de-hierba-rocas-y-detalles" aria-label="Permalink to &quot;Renderizado de hierba, rocas y detalles&quot;"></a></h2>
<p>El paisaje necesita algo más que geometría y texturas de terreno. Necesita briznas de hierba que se mezan con el viento, rocas dispersas por las laderas y pequeños detalles como flores, guijarros y ramas caídas que den un aspecto natural a las vistas cercanas.</p>
<h3 id="hierba-instanciada-en-la-gpu" tabindex="-1">Hierba instanciada en la GPU <a class="header-anchor" href="#hierba-instanciada-en-la-gpu" aria-label="Permalink to &quot;Hierba instanciada en la GPU&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/pzkcM1rfKZw" title="Renderizado de 1 millón de briznas de hierba en Unity" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Un millón de briznas de hierba renderizadas mediante instanciación en la GPU en una sola llamada de dibujo. La misma técnica funciona en Three.js y WebGPU: transformaciones por instancia, animación del viento en el shader de vértices y un mapa de densidad para distribuir las briznas a partir de los datos del terreno.</div>
<p>El renderizado de hierba en el navegador está más que probado en Three.js y funciona mediante instanciación en la GPU. El enfoque de la <a href="https://al-ro.github.io/projects/grass/" target="_blank" rel="noreferrer">demostración de hierba de al-ro</a> renderiza 100 000 briznas de hierba con una sola llamada de dibujo mediante <code>InstancedBufferGeometry</code>.</p>
<p>Cada brizna de hierba es un cuadrilátero sencillo (4-8 triángulos). Los atributos por instancia definen la posición, la altura, la dirección de curvatura, la variación de color y la fase del viento. El shader de vértices:</p>
<ol>
<li>Lee la transformación de cada instancia</li>
<li>Aplica una animación de viento mediante ondas sinusoidales vinculadas a la posición en el mundo y al tiempo</li>
<li>Curva la brizna en función de la fuerza del viento (más curvatura en la punta y ninguna en la base)</li>
<li>Aplica un gradiente de color (más oscuro en la base y más claro en la punta para simular la dispersión subsuperficial)</li>
</ol>
<p><strong>El tutorial de Codrops sobre hierba mullida</strong> (2025, <a href="https://tympanus.net/codrops/2025/02/04/how-to-make-the-fluffiest-grass-with-three-js/" target="_blank" rel="noreferrer">Tutorial</a>) muestra un enfoque de texturizado por capas: renderiza el plano del suelo varias veces con desplazamientos crecientes, haciendo que cada capa muestree una textura de ruido para crear la apariencia de un volumen de hierba denso. Es más económico que instanciar briznas individuales para coberturas muy densas, aunque resulta menos realista a corta distancia.</p>
<p>En un mundo creado por usuarios, la densidad de la hierba procede del mapa de densidad de vegetación de cada chunk. La GPU distribuye las posiciones de las briznas a partir del mapa de densidad durante el renderizado. No se almacenan ni transmiten datos de cada brizna. El mapa de densidad es una cuadrícula de 32x32 por chunk (1 KB), y la GPU genera a partir de ella miles de instancias de briznas.</p>
<h3 id="detalles-procedurales-en-rocas-y-acantilados" tabindex="-1">Detalles procedurales en rocas y acantilados <a class="header-anchor" href="#detalles-procedurales-en-rocas-y-acantilados" aria-label="Permalink to &quot;Detalles procedurales en rocas y acantilados&quot;"></a></h3>
<p>Las paredes de los acantilados y el terreno rocoso necesitan un detalle geométrico que el mapa de alturas base o el SDF no pueden ofrecer con una resolución razonable. Dos enfoques se complementan:</p>
<p><strong>Reconstrucción de superficies mediante shaders de malla en la GPU</strong> (Raad et al., Eurographics 2025, <a href="https://hal.science/hal-05176868v1/file/Paper_Resurfacing_2024.pdf" target="_blank" rel="noreferrer">Artículo</a>) genera geometría procedural durante el renderizado a partir de una malla de control de baja resolución. El shader de malla lee una superficie de terreno base y añade desplazamientos, grietas y protuberancias sin almacenar en memoria la geometría detallada. Esto reduce el uso de VRAM y permite un LOD dinámico.</p>
<p><strong>Distribución de rocas instanciadas</strong> coloca mallas de roca prefabricadas sobre pendientes pronunciadas y bordes de acantilados mediante instanciación en la GPU. Un shader de cómputo lee la normal y la pendiente del terreno, y distribuye instancias de rocas allí donde la pendiente supera un umbral. Cada instancia es una malla pequeña (200-500 triángulos) con rotación y escala aleatorias. Con instanciación, 10 000 rocas dispersas añaden un coste de renderizado insignificante.</p>
<h3 id="carreteras-y-caminos" tabindex="-1">Carreteras y caminos <a class="header-anchor" href="#carreteras-y-caminos" aria-label="Permalink to &quot;Carreteras y caminos&quot;"></a></h3>
<p>Las carreteras, senderos y caminos colocados por los creadores deben adaptarse al terreno y modificar el material de la superficie, sustituyendo la hierba por tierra o piedra.</p>
<p>El enfoque utilizado por todos los principales motores de juegos consiste en definir el camino como una spline, es decir, una serie de puntos de control. La spline se proyecta sobre la superficie del terreno. Después se genera una malla en forma de franja que sigue la spline y queda ligeramente por encima del terreno. Se aplica una textura de carretera a la franja. En el shader del terreno, el material del terreno se mezcla gradualmente con el de la carretera dentro del ancho de la spline mediante una textura proyectada o un decal.</p>
<p>En un mundo para navegador, el creador dibuja un camino sobre el terreno. El cliente genera puntos de control y los envía al servidor (unas pocas decenas de valores vec3). El servidor almacena la spline. Todos los clientes renderizan localmente la franja de la carretera proyectando la spline sobre su malla de terreno. Los datos de la carretera ocupan muy poco (los puntos de la spline del camino, quizá 200 bytes), pero su impacto visual es considerable: los caminos que conectan las construcciones de los creadores hacen que el mundo parezca habitado.</p>
<h2 id="sombras-del-terreno" tabindex="-1">Sombras del terreno <a class="header-anchor" href="#sombras-del-terreno" aria-label="Permalink to &quot;Sombras del terreno&quot;"></a></h2>
<p>Las sombras del terreno son fundamentales para la legibilidad (comprender la forma del terreno) y la atmósfera (el ambiente según la hora del día). En un mundo abierto, el sol proyecta sombras sobre todo el terreno visible.</p>
<h3 id="mapas-de-sombras-en-cascada-csm" tabindex="-1">Mapas de sombras en cascada (CSM) <a class="header-anchor" href="#mapas-de-sombras-en-cascada-csm" aria-label="Permalink to &quot;Mapas de sombras en cascada (CSM)&quot;"></a></h3>
<p>CSM divide el frustum de visión en 3-4 intervalos de distancia (cascadas). Cada cascada renderiza un mapa de sombras desde la perspectiva del sol con una resolución apropiada para su distancia. Cascada cercana: alta resolución (sombras detalladas bajo árboles y edificios). Cascada lejana: baja resolución (amplias sombras de montañas).</p>
<p>Tanto Three.js como Babylon.js admiten CSM. La optimización clave para el terreno consiste en renderizar únicamente el terreno en el mapa de sombras, no las briznas de hierba individuales ni los pequeños detalles. La hierba simula sus propias sombras usando el mapa de sombras del terreno, no uno propio.</p>
<p><strong>Presupuesto de rendimiento:</strong> 3-4 cascadas de sombras de 1024x1024 cada una. Renderizar el terreno en los mapas de sombras cuesta 0,5-1 ms (la geometría del terreno ya está en la memoria de la GPU). Muestrear 4 cascadas en el shader del terreno añade 0,2-0,3 ms.</p>
<h3 id="autosombreado-del-terreno-a-partir-del-mapa-de-alturas" tabindex="-1">Autosombreado del terreno a partir del mapa de alturas <a class="header-anchor" href="#autosombreado-del-terreno-a-partir-del-mapa-de-alturas" aria-label="Permalink to &quot;Autosombreado del terreno a partir del mapa de alturas&quot;"></a></h3>
<p>Para terrenos muy extensos donde CSM resulta costoso, se puede precalcular un mapa del horizonte: para cada celda del terreno, se almacena el ángulo máximo de elevación en las 8 direcciones de la brújula. Durante el renderizado, el ángulo del sol se compara con el mapa del horizonte para determinar si un punto está en sombra. Así gestiona Skyrim el autosombreado del terreno lejano, más allá del alcance de CSM.</p>
<p>El mapa del horizonte se calcula en el servidor a partir del mapa de alturas (unos pocos segundos de procesamiento) y se transmite como una textura de 128x128 por chunk (16 KB comprimida). El impacto visual es considerable: los valles entre montañas se oscurecen de forma realista incluso a distancias de visión extremas.</p>
<h2 id="compresion-de-datos-del-terreno-para-streaming" tabindex="-1">Compresión de datos del terreno para streaming <a class="header-anchor" href="#compresion-de-datos-del-terreno-para-streaming" aria-label="Permalink to &quot;Compresión de datos del terreno para streaming&quot;"></a></h2>
<p>La red es el cuello de botella de un mundo para navegador. Cada byte ahorrado en los datos del terreno reduce el tiempo de carga.</p>
<h3 id="compresion-del-mapa-de-alturas" tabindex="-1">Compresión del mapa de alturas <a class="header-anchor" href="#compresion-del-mapa-de-alturas" aria-label="Permalink to &quot;Compresión del mapa de alturas&quot;"></a></h3>
<p>Los mapas de alturas sin procesar de 16 bits se comprimen bien porque las celdas adyacentes tienen valores similares. El proceso:</p>
<ol>
<li><strong>Codificación delta:</strong> se almacena la diferencia entre cada celda y su valor previsto (el promedio de sus vecinas). Los valores delta son pequeños y se concentran cerca de cero.</li>
<li><strong>Cuantización:</strong> en los chunks lejanos, se reduce la precisión de 16 bits a 12 u 8 bits. A 500 metros de distancia, una precisión de altura de 8 bits (resolución de 0,4 m en un intervalo de alturas de 100 m) es indistinguible de 16 bits.</li>
<li><strong>Codificación entrópica:</strong> se aplica compresión zlib o brotli al flujo codificado mediante deltas. Relación de compresión habitual: 4-8x.</li>
</ol>
<p>Resultado: un chunk de 65x65 a 16 bits pasa de 8,4 KB sin comprimir a 1-2 KB comprimido. Con precisión reducida a 8 bits: 0,5-1 KB.</p>
<h3 id="streaming-progresivo-del-mapa-de-alturas" tabindex="-1">Streaming progresivo del mapa de alturas <a class="header-anchor" href="#streaming-progresivo-del-mapa-de-alturas" aria-label="Permalink to &quot;Streaming progresivo del mapa de alturas&quot;"></a></h3>
<p>Primero se envía el terreno a baja resolución y después se refina. Un mapa de alturas de 17x17 (el mínimo para un chunk de 64 m con una separación entre celdas de 4 m) ocupa 578 bytes sin comprimir y menos de 200 bytes comprimido. El terreno aparece al instante. Después se transmite el refinamiento de 33x33, que añade muestras en las filas y columnas impares. Por último, se envía la resolución completa de 65x65. Cada nivel añade detalle sin sustituir los datos anteriores.</p>
<p>Esto se corresponde con los anillos de LOD del clipmap geométrico: el terreno lejano usa la versión de baja resolución (17x17), el de media distancia usa la intermedia (33x33) y el cercano usa la completa (65x65). La prioridad de streaming coincide con el LOD de renderizado.</p>
<h3 id="compresion-de-volumenes-sdf" tabindex="-1">Compresión de volúmenes SDF <a class="header-anchor" href="#compresion-de-volumenes-sdf" aria-label="Permalink to &quot;Compresión de volúmenes SDF&quot;"></a></h3>
<p>Los volúmenes SDF dispersos se comprimen drásticamente porque la mayoría de los vóxeles están lejos de la superficie, en el espacio vacío. Opciones:</p>
<p><strong>Codificación por longitud de secuencia:</strong> codifica secuencias de valores idénticos (vóxeles vacíos). Los volúmenes SDF habituales están vacíos en más de un 95 %, por lo que RLE consigue una compresión de 10-50x.</p>
<p><strong>Octree disperso:</strong> solo almacena los nodos del octree que contienen vóxeles atravesados por la superficie. El espacio vacío no tiene nodos. Un volumen SDF de 64^3 con un único túnel de cueva podría tener solo entre 2000 y 5000 nodos ocupados (frente a 262 144 vóxeles totales), cada uno almacenado en 1-2 bytes.</p>
<p><strong>Compresión progresiva guiada por entropía</strong> (2024, <a href="https://inria.hal.science/hal-04630545v1/file/sgp2024.pdf" target="_blank" rel="noreferrer">HAL</a>) se aplica a datos espaciales 3D dividiendo recursivamente el espacio mediante planos optimizados por entropía y cuantización adaptativa. Esto produce un flujo de refinamientos optimizado para equilibrar la tasa y la distorsión, algo especialmente beneficioso con las bajas tasas de bits del streaming por red.</p>
<h2 id="integracion-completa-el-pipeline-de-terreno-para-navegador" tabindex="-1">Integración completa: el pipeline de terreno para navegador <a class="header-anchor" href="#integracion-completa-el-pipeline-de-terreno-para-navegador" aria-label="Permalink to &quot;Integración completa: el pipeline de terreno para navegador&quot;"></a></h2>
<p>El resumen estratégico al principio de este artículo ofrece un marco rápido para tomar decisiones y un plan de desarrollo por fases. Esta sección proporciona todos los detalles técnicos tanto del pipeline de generación en el servidor como del pipeline de renderizado en el navegador.</p>
<h3 id="pipeline-de-generacion-servidor" tabindex="-1">Pipeline de generación (servidor) <a class="header-anchor" href="#pipeline-de-generacion-servidor" aria-label="Permalink to &quot;Pipeline de generación (servidor)&quot;"></a></h3>
<p>El pipeline de generación se ejecuta como un grafo dirigido de procesos físicos, inspirado en el enfoque de grafos de nodos de Gaea y World Machine. Cada etapa toma el resultado de la anterior y lo refina. Los creadores controlan los parámetros de cada etapa.</p>
<table tabindex="0">
<thead>
<tr>
<th>Etapa</th>
<th>Entrada</th>
<th>Proceso</th>
<th>Salida</th>
<th>Tiempo</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. Terreno base</td>
<td>Semilla o instrucción de texto</td>
<td>Terrain Diffusion / MESA / ruido + fBm</td>
<td>Mapa de alturas de 16 bits</td>
<td>1-5 s</td>
</tr>
<tr>
<td>2. Erosión</td>
<td>Mapa de alturas</td>
<td>Potencia analítica de corrientes + erosión térmica</td>
<td>Mapa de alturas erosionado, mapa de acumulación de flujo, mapa de sedimentos</td>
<td>0,5-2 s</td>
</tr>
<tr>
<td>3. Ríos</td>
<td>Mapa de alturas erosionado, mapa de flujo</td>
<td>Extracción de la red de drenaje, excavación de cauces</td>
<td>Splines de ríos, mapa del nivel del agua</td>
<td>0,5 s</td>
</tr>
<tr>
<td>4. Costa</td>
<td>Mapa de alturas cerca del nivel del mar</td>
<td>Erosión de oleaje al estilo NEWTS</td>
<td>Accidentes costeros (acantilados, playas, farallones)</td>
<td>1-3 s</td>
</tr>
<tr>
<td>5. Volumetría</td>
<td>Mapa de alturas + intención del creador</td>
<td>Erosión Arenite / generación de cuevas / esculpido SDF</td>
<td>Volúmenes SDF dispersos para los chunks afectados</td>
<td>1-60 s</td>
</tr>
<tr>
<td>6. Materiales</td>
<td>Mapa de alturas + mapas de erosión</td>
<td>TerraFusion / Geodiffussr / reglas procedurales</td>
<td>Mapas de mezcla, texturas del terreno</td>
<td>1-5 s</td>
</tr>
<tr>
<td>7. Vegetación</td>
<td>Mapa de alturas + mapa de flujo + materiales</td>
<td>Simulación de competencia del ecosistema</td>
<td>Mapas de densidad por bioma y chunk</td>
<td>1-3 s</td>
</tr>
<tr>
<td>8. Mapas del horizonte</td>
<td>Mapa de alturas final</td>
<td>Ángulo máximo de elevación en 8 direcciones</td>
<td>Textura de autosombreado por chunk</td>
<td>2-5 s</td>
</tr>
<tr>
<td>9. División en chunks</td>
<td>Todas las salidas</td>
<td>Dividir, codificar mediante deltas, comprimir, generar hash</td>
<td>Paquetes de chunks en la CDN</td>
<td>5-10 s</td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td></td>
<td></td>
<td></td>
<td><strong>15-90 s</strong></td>
</tr>
</tbody>
</table>
<p>Un nuevo mundo de 4x4 km se genera en 15-90 segundos. Las ediciones del creador (esculpido, cambios de parámetros) vuelven a ejecutar únicamente las etapas correspondientes para los chunks afectados y suelen completarse en menos de 5 segundos.</p>
<h3 id="pipeline-de-renderizado-navegador" tabindex="-1">Pipeline de renderizado (navegador) <a class="header-anchor" href="#pipeline-de-renderizado-navegador" aria-label="Permalink to &quot;Pipeline de renderizado (navegador)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Paso</th>
<th>Ruta WebGPU</th>
<th>Alternativa WebGL 2</th>
<th>Presupuesto por fotograma</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. Streaming</td>
<td>Cola de prioridades, precarga predictiva</td>
<td>Igual</td>
<td>N/A (asíncrono)</td>
</tr>
<tr>
<td>2. Terreno por mapa de alturas</td>
<td>Quadtree CDLOD gestionado por la GPU, descarte mediante cómputo, dibujo indirecto</td>
<td>Clipmaps geométricos, actualización de anillos en la CPU</td>
<td>0,5-1 ms</td>
</tr>
<tr>
<td>3. Malla volumétrica</td>
<td>Marching cubes mediante cómputo + Transvoxel</td>
<td>Mallas pregeneradas en un Web Worker, 2-3 LOD almacenados en caché</td>
<td>0,5-2 ms</td>
</tr>
<tr>
<td>4. Transiciones de LOD</td>
<td>Geomorfismo en el shader de vértices</td>
<td>Igual</td>
<td>Incluido arriba</td>
</tr>
<tr>
<td>5. Materiales</td>
<td>PBR triplanar + mezcla laplaciana + detalle mediante ruido fasorial + texturizado virtual</td>
<td>PBR triplanar + mezcla lineal + mapas de mezcla precalculados</td>
<td>1-1,5 ms</td>
</tr>
<tr>
<td>6. Vegetación</td>
<td>ComputeInstanceCulling + IndirectBatchedMesh, cubierta del suelo con teselado hexagonal</td>
<td>Descarte de frustum en la CPU + InstancedMesh</td>
<td>1-1,5 ms</td>
</tr>
<tr>
<td>7. Agua</td>
<td>Franjas fluviales alineadas con el flujo, espuma costera basada en la profundidad</td>
<td>Igual (reflejos más sencillos)</td>
<td>0,5 ms</td>
</tr>
<tr>
<td>8. Sombras</td>
<td>CSM de 3-4 cascadas + autosombreado mediante mapa del horizonte</td>
<td>CSM de 2 cascadas</td>
<td>0,5-1 ms</td>
</tr>
<tr>
<td>9. Atmósfera</td>
<td>Modelo de cielo de Hillaire + niebla volumétrica + partículas meteorológicas</td>
<td>Cielo de Preetham + niebla de distancia</td>
<td>0,5 ms</td>
</tr>
<tr>
<td>10. Efectos dinámicos</td>
<td>Acumulación de charcos, deformación por huellas, nieve/lluvia</td>
<td>Acumulación de charcos, partículas de lluvia</td>
<td>0,3 ms</td>
</tr>
<tr>
<td><strong>Terreno total</strong></td>
<td></td>
<td></td>
<td><strong>3,5-6,5 ms</strong></td>
</tr>
</tbody>
</table>
<p>A 60 fps (16,6 ms por fotograma), el sistema de terreno utiliza el 21 % del presupuesto por fotograma en WebGPU y el 39 % en WebGL 2. El resto queda disponible para los avatares de los jugadores, los objetos de los creadores, la interfaz, la red y el posprocesamiento.</p>
<h3 id="por-que-funciona-en-un-navegador" tabindex="-1">Por qué funciona en un navegador <a class="header-anchor" href="#por-que-funciona-en-un-navegador" aria-label="Permalink to &quot;Por qué funciona en un navegador&quot;"></a></h3>
<p>Todo el pipeline está diseñado en torno a tres limitaciones de los navegadores:</p>
<p><strong>Memoria (2-4 GB como máximo):</strong> el presupuesto de 256 MB para el terreno es suficiente porque los chunks del mapa de alturas ocupan entre 2 y 8 KB cada uno (codificados mediante deltas), los volúmenes SDF son dispersos (100-500 KB por chunk volumétrico), la vegetación se genera en tiempo de ejecución a partir de mapas de densidad de 1 KB y las texturas utilizan compresión KTX2 (150 KB por cada 1024x1024). En cualquier momento, el mundo visible en el navegador ocupa entre 50 y 200 MB en total.</p>
<p><strong>Sin acceso al disco:</strong> todo se transmite por la red. La carga progresiva permite al jugador ver el terreno en &lt;100 ms (mapa de alturas de baja resolución), el terreno texturizado en &lt;300 ms y todo el detalle en ❤️ s. La precarga basada en la velocidad oculta los tiempos de carga durante la exploración normal.</p>
<p><strong>La GPU varía enormemente:</strong> la ruta WebGPU se ocupa de los equipos de escritorio de gama alta. La alternativa WebGL 2 funciona en todo lo demás, incluidos los dispositivos móviles. Los mismos datos de chunks alimentan ambas rutas. La diferencia está en la técnica de renderizado, no en el formato de los datos. Un Chromebook con WebGL 2 muestra el mismo mundo que una RTX 4090 con WebGPU, aunque con menos detalle y una distancia de visión más corta.</p>
<h2 id="articulos-de-investigacion" tabindex="-1">Artículos de investigación <a class="header-anchor" href="#articulos-de-investigacion" aria-label="Permalink to &quot;Artículos de investigación&quot;"></a></h2>
<h3 id="representacion-del-terreno-y-generacion-de-mallas" tabindex="-1">Representación del terreno y generación de mallas <a class="header-anchor" href="#representacion-del-terreno-y-generacion-de-mallas" aria-label="Permalink to &quot;Representación del terreno y generación de mallas&quot;"></a></h3>
<p><strong>&quot;Marching Cubes: un algoritmo de construcción de superficies 3D de alta resolución&quot;</strong> -- Lorensen y Cline (SIGGRAPH 1987). <a href="https://doi.org/10.1145/37402.37422" target="_blank" rel="noreferrer">DOI</a>. El algoritmo fundamental para extraer mallas de triángulos a partir de datos volumétricos. Sigue siendo el método de extracción de isosuperficies más utilizado 38 años después. Las implementaciones paralelas en la GPU se ejecutan en tiempo real mediante shaders de cómputo de WebGPU.
<strong>&quot;Dual Contouring of Hermite Data&quot;</strong> -- Ju, Losasso, Schaefer, Warren (SIGGRAPH 2002). <a href="https://doi.org/10.1145/566570.566586" target="_blank" rel="noreferrer">DOI</a>. Genera mallas que conservan los rasgos definidos (bordes de acantilados y esquinas de rocas) que marching cubes redondea. Requiere normales de superficie además de valores de distancia.</p>
<p><strong>&quot;Neural Dual Contouring&quot;</strong> -- Chen et al. (2022). <a href="https://arxiv.org/abs/2202.01999" target="_blank" rel="noreferrer">arXiv:2202.01999</a>. Sustituye el posicionamiento de vértices por mínimos cuadrados del contorneado dual por un predictor aprendido. Ofrece una mayor calidad de superficie para elementos naturales complejos.</p>
<p><strong>&quot;The Transvoxel Algorithm&quot;</strong> -- Lengyel (2009, actualizado en 2024). <a href="https://transvoxel.org/" target="_blank" rel="noreferrer">transvoxel.org</a>. Transiciones de LOD fluidas para terrenos de vóxeles. Elimina las grietas en los límites de resolución mediante 73 tipos de celdas de transición. Sin patentes y diseñado para aplicaciones en tiempo real.</p>
<h3 id="lod-y-renderizado-de-terrenos" tabindex="-1">LOD y renderizado de terrenos <a class="header-anchor" href="#lod-y-renderizado-de-terrenos" aria-label="Permalink to &quot;LOD y renderizado de terrenos&quot;"></a></h3>
<p><strong>&quot;Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids&quot;</strong> -- Losasso y Hoppe (SIGGRAPH 2004). <a href="https://hhoppe.com/geomclipmap.pdf" target="_blank" rel="noreferrer">Artículo</a>. Renderizado de terrenos con coste constante mediante anillos concéntricos de LOD. Procesa terrenos de 40 GB a velocidades interactivas. Es la base de la mayoría de los renderizadores de terrenos para navegadores.</p>
<p><strong>&quot;CDLOD: Hybrid LOD for Terrain Rendering&quot;</strong> -- Strugar (2014). <a href="https://www.vertexasylum.com/CDLOD/cdlod_latest.pdf" target="_blank" rel="noreferrer">Artículo</a>. Mejora adaptativa mediante quadtree de los geometry clipmaps. Asigna la resolución según la complejidad del terreno, no solo en función de la distancia.</p>
<p><strong>&quot;GPU-Driven Rendering Pipelines&quot;</strong> -- Ubisoft (SIGGRAPH 2015), Wihlidal y Hoppe. Formalizó el enfoque dirigido por GPU, en el que los compute shaders gestionan el descarte, la selección de LOD y la generación de llamadas de dibujado. Es el patrón arquitectónico de nuestro pipeline de terrenos con WebGPU.</p>
<h3 id="generacion-fisica-de-terrenos" tabindex="-1">Generación física de terrenos <a class="header-anchor" href="#generacion-fisica-de-terrenos" aria-label="Permalink to &quot;Generación física de terrenos&quot;"></a></h3>
<p><strong>&quot;Physically-Based Analytical Erosion for Fast Terrain Generation&quot;</strong> -- Cordonnier et al. (2024). <a href="https://hal.science/hal-04525371" target="_blank" rel="noreferrer">HAL</a>. Erosión analítica basada en la ley de potencia de los cauces que evita la simulación iterativa. Genera terrenos físicamente plausibles en milisegundos.</p>
<p><strong>&quot;Fast Hydraulic Erosion Simulation and Visualization on GPU&quot;</strong> -- Mei, Decaudin, Hu (2007). <a href="https://hal.science/hal-02281637/file/main.pdf" target="_blank" rel="noreferrer">HAL</a>. Erosión hidráulica paralelizada en la GPU mediante simulación de aguas someras. Es la base de la mayoría de las implementaciones de erosión en motores de juegos.</p>
<p><strong>&quot;Arenite: A Physics-Based Sandstone Simulator&quot;</strong> -- SIGGRAPH 2025. <a href="https://jango6324.github.io/arenite/" target="_blank" rel="noreferrer">Proyecto</a>. Erosión multifísica que genera arcos, chimeneas de hadas y oquedades mediante la simulación de tensiones y erosión. Se ejecuta en menos de 5 minutos en GPU de escritorio.</p>
<p><strong>&quot;Efficient Debris-flow Simulation for Steep Terrain Erosion&quot;</strong> -- Purdue CGVLAB (2024). <a href="https://www.cs.purdue.edu/cgvlab/www/resources/papers/Arymaan-ToG-2024-efficient.pdf" target="_blank" rel="noreferrer">Artículo</a>. Simulación acelerada por GPU de flujos de derrubios y erosión de pendientes pronunciadas que produce elementos realistas de terrenos montañosos.</p>
<p><strong>&quot;Flexible Terrain Erosion&quot;</strong> -- IRIT-STORM (2024). <a href="https://link.springer.com/article/10.1007/s00371-024-03444-w" target="_blank" rel="noreferrer">Springer</a>. Erosión basada en partículas que funciona con mapas de altura, cuadrículas de vóxeles, superficies implícitas y materiales estratificados mediante una interfaz unificada. Permite utilizar un único sistema de erosión con representaciones híbridas del terreno.</p>
<h3 id="detalle-y-texturizado-de-terrenos" tabindex="-1">Detalle y texturizado de terrenos <a class="header-anchor" href="#detalle-y-texturizado-de-terrenos" aria-label="Permalink to &quot;Detalle y texturizado de terrenos&quot;"></a></h3>
<p><strong>&quot;GPU-Friendly Laplacian Texture Blending&quot;</strong> -- Wronski (NVIDIA, 2025). <a href="https://jcgt.org/published/0014/01/02/" target="_blank" rel="noreferrer">JCGT</a>. Mezcla en tiempo real mediante pirámides laplacianas para materiales de terreno, sin precomputación. Conserva los rasgos definidos y elimina los artefactos de unión. Solo requiere unas pocas lecturas de textura adicionales por fragmento.</p>
<p><strong>&quot;Real-time Terrain Enhancement with Controlled Procedural Patterns&quot;</strong> -- Grenier et al. (2024). <a href="https://diglib.eg.org/bitstream/handle/10.1111/cgf14992/v43i1_05_cgf14992.pdf" target="_blank" rel="noreferrer">CGF</a>. Detalle de microerosión basado en ruido fasorial con una resolución hasta 32 veces superior a la del mapa de alturas. Los patrones alineados con las pendientes se ejecutan íntegramente en un fragment shader.</p>
<h3 id="teselacion-adaptativa" tabindex="-1">Teselación adaptativa <a class="header-anchor" href="#teselacion-adaptativa" aria-label="Permalink to &quot;Teselación adaptativa&quot;"></a></h3>
<p><strong>&quot;Concurrent Binary Trees for Large-Scale Game Components&quot;</strong> -- Benyoub y Dupuy (Intel, HPG 2024). <a href="https://arxiv.org/html/2407.02215v1" target="_blank" rel="noreferrer">Artículo</a>. Estructura de datos de árbol binario optimizada para GPU y destinada a la teselación adaptativa de terrenos. Renderiza geometría a escala planetaria en menos de 0,2 ms. Se ha ampliado desde dominios cuadrados hasta mallas poligonales arbitrarias.</p>
<h3 id="generacion-de-cuevas-y-espacios-subterraneos-1" tabindex="-1">Generación de cuevas y espacios subterráneos <a class="header-anchor" href="#generacion-de-cuevas-y-espacios-subterraneos-1" aria-label="Permalink to &quot;Generación de cuevas y espacios subterráneos&quot;"></a></h3>
<p><strong>&quot;PLUME: Procedural Layer Underground Modeling Engine&quot;</strong> -- 2024. <a href="https://arxiv.org/html/2508.20926v1" target="_blank" rel="noreferrer">arXiv:2508.20926</a>. Framework de código abierto para generar entornos realistas de cuevas y tubos de lava mediante reglas procedurales por capas. Creado originalmente para la robótica de exploración espacial.</p>
<h3 id="sintesis-neuronal-de-terrenos" tabindex="-1">Síntesis neuronal de terrenos <a class="header-anchor" href="#sintesis-neuronal-de-terrenos" aria-label="Permalink to &quot;Síntesis neuronal de terrenos&quot;"></a></h3>
<p><strong>&quot;InfiniteDiffusion: Bridging Learned Fidelity and Procedural Utility for Open-World Terrain Generation&quot;</strong> -- Goslin (2025, SIGGRAPH 2026). <a href="https://arxiv.org/abs/2512.08309" target="_blank" rel="noreferrer">arXiv:2512.08309</a>. Generación de terrenos infinitos y coherentes con la semilla mediante modelos jerárquicos de difusión con codificación laplaciana. Es 9 veces más rápido que el método de referencia en GPU de consumo.</p>
<p><strong>&quot;TerraFusion: Joint Generation of Terrain Geometry and Texture&quot;</strong> -- 2025. <a href="https://arxiv.org/abs/2505.04050" target="_blank" rel="noreferrer">arXiv:2505.04050</a>. Difusión latente para sintetizar simultáneamente mapas de altura y texturas, con condicionamiento mediante bocetos.</p>
<p><strong>&quot;MESA: Text-Driven Terrain Generation&quot;</strong> -- Taller de CVPR 2025. <a href="https://arxiv.org/abs/2504.07210" target="_blank" rel="noreferrer">arXiv:2504.07210</a>. Generación de terrenos a partir de texto mediante datos de teledetección de Copernicus para el entrenamiento.</p>
<p><strong>&quot;Geodiffussr: Generative Terrain Texturing with Elevation Fidelity&quot;</strong> -- 2025. <a href="https://arxiv.org/abs/2511.23029" target="_blank" rel="noreferrer">arXiv:2511.23029</a>. Generación de texturas de terreno guiada por texto que respeta los datos de elevación mediante flow matching.</p>
<p><strong>&quot;Sketch2Terrain: AI-Driven Real-Time Terrain Sketch Mapping&quot;</strong> -- 2025. <a href="https://tianyixiao.top/publication/2025-sketch2terrain" target="_blank" rel="noreferrer">Proyecto</a>. Conversión de bocetos en terrenos mediante realidad aumentada. Mejora la eficiencia en un 38 % frente al modelado manual.</p>
<h3 id="simulacion-de-vegetacion-y-ecosistemas" tabindex="-1">Simulación de vegetación y ecosistemas <a class="header-anchor" href="#simulacion-de-vegetacion-y-ecosistemas" aria-label="Permalink to &quot;Simulación de vegetación y ecosistemas&quot;"></a></h3>
<p><strong>&quot;GPU-Based Real-Time Procedural Distribution of Vegetation on Large-Scale Virtual Terrains&quot;</strong> -- SBGames 2018. <a href="https://sbgames.org/sbgames2018/files/papers/ComputacaoFull/188348.pdf" target="_blank" rel="noreferrer">Artículo</a>. Distribución de vegetación basada en quadtree mediante factores bióticos y abióticos en la GPU.</p>
<p><strong>&quot;Procedural Generation and Rendering of Forests&quot;</strong> -- 2022. <a href="https://export.arxiv.org/pdf/2208.01471v1.pdf" target="_blank" rel="noreferrer">Artículo</a>. Generación de árboles mediante sistemas-L combinada con la simulación de competencia en el ecosistema para lograr una distribución forestal realista.</p>
<p><strong>&quot;Real-Time Procedural Generation with GPU Work Graphs&quot;</strong> -- AMD GPUOpen 2024. <a href="https://gpuopen.com/download/Real-Time_Procedural_Generation_with_GPU_Work_Graphs-GPUOpen_preprint.pdf" target="_blank" rel="noreferrer">Artículo</a>. Grafos de trabajo de GPU que generan más de 79 000 instancias de vegetación en menos de 4 ms.</p>
<h3 id="tecnologia-de-gpu-para-navegadores" tabindex="-1">Tecnología de GPU para navegadores <a class="header-anchor" href="#tecnologia-de-gpu-para-navegadores" aria-label="Permalink to &quot;Tecnología de GPU para navegadores&quot;"></a></h3>
<p><strong>&quot;GSWT Renderer&quot;</strong> -- SIGGRAPH Asia 2025. <a href="https://github.com/zengyf131/gswt_renderer" target="_blank" rel="noreferrer">GitHub</a>. Renderizador WebGPU + Rust/Wasm que utiliza Gaussian Splatting Wang Tiles para crear terrenos 3D infinitos con LOD dinámico y streaming.</p>
<p><strong>&quot;GPU Compute in the Browser at the Speed of Native: WebGPU Marching Cubes&quot;</strong> -- Usher (2024). <a href="https://www.willusher.io/graphics/2024/04/22/webgpu-marching-cubes/" target="_blank" rel="noreferrer">Blog</a>. Demuestra que el cómputo de WebGPU alcanza un rendimiento comparable al nativo en algoritmos paralelos de generación de mallas.</p>
<h3 id="renderizado-de-voxeles-y-escenas-a-gran-escala" tabindex="-1">Renderizado de vóxeles y escenas a gran escala <a class="header-anchor" href="#renderizado-de-voxeles-y-escenas-a-gran-escala" aria-label="Permalink to &quot;Renderizado de vóxeles y escenas a gran escala&quot;"></a></h3>
<p><strong>&quot;Aokana: A GPU-Driven Voxel Rendering Framework for Open World Games&quot;</strong> -- 2025. <a href="https://arxiv.org/abs/2505.02017" target="_blank" rel="noreferrer">arXiv:2505.02017</a>. DAG de vóxeles dispersos con LOD y streaming para escenas con decenas de miles de millones de vóxeles. Reduce 9 veces el uso de memoria y renderiza 4,8 veces más rápido que las técnicas anteriores más avanzadas. Diseñado para integrarse con motores de juegos.</p>
<h3 id="geometria-procedural-y-reconstruccion-de-superficies" tabindex="-1">Geometría procedural y reconstrucción de superficies <a class="header-anchor" href="#geometria-procedural-y-reconstruccion-de-superficies" aria-label="Permalink to &quot;Geometría procedural y reconstrucción de superficies&quot;"></a></h3>
<p><strong>&quot;Real-time Procedural Resurfacing using GPU Mesh Shaders&quot;</strong> -- Raad et al. (Eurographics 2025). <a href="https://hal.science/hal-05176868v1/file/Paper_Resurfacing_2024.pdf" target="_blank" rel="noreferrer">Artículo</a>. Genera superficies geométricas detalladas a partir de mallas de control de baja resolución durante el renderizado mediante mesh shaders. Permite un LOD dinámico sin almacenar geometría de alta resolución en la memoria.</p>
<h3 id="sombras-del-terreno-1" tabindex="-1">Sombras del terreno <a class="header-anchor" href="#sombras-del-terreno-1" aria-label="Permalink to &quot;Sombras del terreno&quot;"></a></h3>
<p><strong>&quot;Optimizing Terrain Shadows&quot;</strong> -- AMD GPUOpen. <a href="https://gpuopen.com/learn/optimizing-terrain-shadows/" target="_blank" rel="noreferrer">Blog</a>. Optimización práctica de CSM para terrenos a gran escala. Abarca la división de cascadas, el renderizado de mapas de sombras eficiente para la GPU y optimizaciones específicas para terrenos.</p>
<h3 id="geometria-virtual-y-optimizacion-de-mallas" tabindex="-1">Geometría virtual y optimización de mallas <a class="header-anchor" href="#geometria-virtual-y-optimizacion-de-mallas" aria-label="Permalink to &quot;Geometría virtual y optimización de mallas&quot;"></a></h3>
<p><strong>&quot;Nanite WebGPU&quot;</strong> -- Scthe (2024). <a href="https://github.com/Scthe/nanite-webgpu" target="_blank" rel="noreferrer">GitHub</a>, <a href="https://scthe.github.io/nanite-webgpu/" target="_blank" rel="noreferrer">Demo</a>. Implementación completa para navegadores de la arquitectura Nanite de UE5: jerarquía de LOD de meshlets, rasterizador por software en WGSL, descarte por meshlet e impostores billboard.</p>
<p><strong>&quot;Billions of Triangles in Minutes&quot;</strong> -- Kapoulkine (2025). <a href="https://zeux.io/2025/09/30/billions-of-triangles-in-minutes/" target="_blank" rel="noreferrer">Blog</a>. Meshoptimizer v1.0 para la generación jerárquica de LOD por clústeres. Procesa eficientemente mallas enormes y las convierte en DAG de clústeres al estilo de Nanite.</p>
<p><strong>&quot;Billboard Splatting (BBSplat)&quot;</strong> -- 2024. <a href="https://arxiv.org/abs/2411.08508" target="_blank" rel="noreferrer">arXiv:2411.08508</a>. Primitivas planas texturizadas y entrenables para sintetizar vistas nuevas, con una compresión 17 veces mayor que 3D Gaussian Splatting.</p>
<h3 id="iluminacion-de-terrenos-e-iluminacion-global" tabindex="-1">Iluminación de terrenos e iluminación global <a class="header-anchor" href="#iluminacion-de-terrenos-e-iluminacion-global" aria-label="Permalink to &quot;Iluminación de terrenos e iluminación global&quot;"></a></h3>
<p><strong>&quot;Global Illumination in Once Human&quot;</strong> -- GDC 2025. <a href="https://schedule.gdconf.com/session/global-illumination-in-once-human-a-hybrid-approach-for-16km-open-world/907269" target="_blank" rel="noreferrer">Sesión</a>. GI híbrida para un mundo abierto de 16 km: sondas comprimidas mediante redes neuronales (relación 69:1), resolución mediante aprendizaje automático de fugas entre interiores y exteriores, y respuesta dinámica de las sondas.</p>
<p><strong>&quot;GI with AMD FidelityFX Brixelizer&quot;</strong> -- GDC 2024. <a href="https://gpuopen.com/download/GDC2024_GI_with_AMD_FidelityFX_Brixelizer.pdf" target="_blank" rel="noreferrer">Artículo</a>. Cascadas de campos de distancia dispersos basadas en cómputo con sondas en espacio de pantalla. No requiere ray tracing por hardware.</p>
<p><strong>&quot;Radiance Cascades&quot;</strong> -- 2024. <a href="https://jason.today/rc" target="_blank" rel="noreferrer">Blog</a>. Iluminación global en tiempo real sin ruido mediante estructuras de radiancia en cascada y sin acumulación temporal.</p>
<h3 id="diseno-de-niveles-y-exploracion" tabindex="-1">Diseño de niveles y exploración <a class="header-anchor" href="#diseno-de-niveles-y-exploracion" aria-label="Permalink to &quot;Diseño de niveles y exploración&quot;"></a></h3>
<p><strong>&quot;PlotMap: Automated Layout Design for Building Game Worlds&quot;</strong> -- 2023. <a href="https://arxiv.org/html/2309.15242v4" target="_blank" rel="noreferrer">arXiv:2309.15242</a>. Colocación de puntos de interés asistida por IA que satisface restricciones espaciales narrativas sobre el terreno.</p>
<p><strong>&quot;Spatial Exploration Triggers&quot;</strong> -- Universidad Purdue (FDG 2022). <a href="https://web.ics.purdue.edu/~cmousas/papers/conf22-FDG-SpatialExploration.pdf" target="_blank" rel="noreferrer">Artículo</a>. Cuatro patrones de diseño que impulsan la exploración de los jugadores: puntos extremos, obstrucciones visuales, objetos fuera de lugar y conexiones espaciales.</p>
<h3 id="compresion-y-streaming-de-datos" tabindex="-1">Compresión y streaming de datos <a class="header-anchor" href="#compresion-y-streaming-de-datos" aria-label="Permalink to &quot;Compresión y streaming de datos&quot;"></a></h3>
<p><strong>&quot;Entropy-driven Progressive Compression of 3D Point Clouds&quot;</strong> -- SGP 2024. <a href="https://inria.hal.science/hal-04630545v1/file/sgp2024.pdf" target="_blank" rel="noreferrer">Artículo</a>. Compresión progresiva optimizada según la relación tasa-distorsión mediante particionamiento recursivo del espacio con cuantización adaptativa. Produce flujos de refinamiento adecuados para el streaming en redes con ancho de banda variable.</p>
<h3 id="edicion-interactiva" tabindex="-1">Edición interactiva <a class="header-anchor" href="#edicion-interactiva" aria-label="Permalink to &quot;Edición interactiva&quot;"></a></h3>
<p><strong>&quot;WebGPU SDF Editor&quot;</strong> -- Nijhoff (2026). <a href="https://reindernijhoff.net/2026/01/webgpu-sdf-editor-real-time-signed-distance-field-modeling/" target="_blank" rel="noreferrer">Proyecto</a>. Modelado SDF completo en el navegador con marching cubes en tiempo real, operaciones booleanas, mezcla suave y particionamiento espacial mediante octree. 112 bytes por primitiva.</p>
<h3 id="generacion-de-rios-y-costas" tabindex="-1">Generación de ríos y costas <a class="header-anchor" href="#generacion-de-rios-y-costas" aria-label="Permalink to &quot;Generación de ríos y costas&quot;"></a></h3>
<p><strong>&quot;Procedural River Drainage Basins&quot;</strong> -- Patel (Red Blob Games). <a href="https://www.redblobgames.com/x/1723-procedural-river-growing/" target="_blank" rel="noreferrer">Proyecto</a>. Generación de ríos empezando por el drenaje mediante la clasificación de aristas de mallas de Voronoi/triángulos. Construye las jerarquías fluviales antes de asignar la elevación del terreno.</p>
<p><strong>&quot;NEWTS1.0: Numerical Model of Coastal Erosion by Waves and Transgressive Scarps&quot;</strong> -- MIT (2024). <a href="https://dspace.mit.edu/handle/1721.1/157677" target="_blank" rel="noreferrer">Artículo</a>. Modelo simplificado de erosión costera basado en un retroceso uniforme y en la erosión producida por el oleaje. Genera cabos, bahías, farallones y arcos que reproducen la geomorfología real.</p>
<h2 id="lecturas-adicionales" tabindex="-1">Lecturas adicionales <a class="header-anchor" href="#lecturas-adicionales" aria-label="Permalink to &quot;Lecturas adicionales&quot;"></a></h2>
<ul>
<li><a href="/es/guides/browser-3d-open-world-tech.html">Tecnología para mundos abiertos 3D en el navegador</a> explica la arquitectura completa de un mundo multijugador para creadores en el navegador</li>
<li><a href="/es/guides/web-games-stack-2026.html">Stack tecnológico para juegos web en 2026</a> explica los fundamentos de WebGL, WebGPU y WebAssembly</li>
<li><a href="/es/guides/threejs-usdc-tech-report.html">Informe técnico sobre Three.js + USDC</a> acerca de cómo cargar recursos 3D en el navegador</li>
<li><a href="/es/guides/frontier-gen-ai-models.html">Modelos abiertos de IA generativa de vanguardia</a> para el pipeline de generación con IA</li>
<li><a href="/es/tutorials/webgpu-getting-started.html">Introducción a WebGPU</a> — compute shaders para terrenos dirigidos por GPU</li>
<li><a href="/es/tutorials/web-workers-game-logic.html">Web Workers para la lógica del juego</a> — delegación de la generación de terrenos a Workers</li>
<li><a href="/es/tutorials/game-physics-libraries.html">Bibliotecas de físicas para juegos</a> — físicas para interactuar con el terreno y colliders de mapas de altura</li>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — fuentes de texturas y materiales para renderizar terrenos</li>
</ul>
<BuildCta
  title="Integra un paisaje generado en un juego"
  desc="El terreno es mejor cuando puedes caminar sobre él."
  prompt="Crea un juego ambientado en un valle montañoso generado proceduralmente" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/landscape-generation-browser.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Tecnología de mundos abiertos 3D en el navegador para mundos multijugador de creadores]]></title>
            <link>https://app.cinevva.com/es/guides/browser-3d-open-world-tech</link>
            <guid>https://app.cinevva.com/es/guides/browser-3d-open-world-tech</guid>
            <pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Investigación exhaustiva sobre las tecnologías de renderizado, redes, streaming y creación de mundos necesarias para reunir a los creadores en un mundo abierto 3D compartido desde el navegador que puedan transformar juntos.]]></description>
            <content:encoded><![CDATA[<h1 id="tecnologia-de-mundos-abiertos-3d-en-el-navegador-para-mundos-multijugador-de-creadores" tabindex="-1">Tecnología de mundos abiertos 3D en el navegador para mundos multijugador de creadores <a class="header-anchor" href="#tecnologia-de-mundos-abiertos-3d-en-el-navegador-para-mundos-multijugador-de-creadores" aria-label="Permalink to &quot;Tecnología de mundos abiertos 3D en el navegador para mundos multijugador de creadores&quot;"></a></h1>
<p>Queremos reunir a nuestros creadores en un mundo abierto compartido. No en una sala de espera. No en una galería. En un espacio 3D vivo donde la gente pueda explorar, construir y descubrir por casualidad las creaciones de otros. Algo que se cargue en una pestaña del navegador y se sienta como un lugar en el que merezca la pena estar.</p>
<p>Es un problema difícil. Skyrim y The Witcher 3 invirtieron cientos de millones de dólares en construir sus mundos, y aun así se ejecutan en hardware dedicado y ocupan decenas de gigabytes en disco. Nuestro objetivo es una pestaña del navegador, un estado compartido entre cientos de jugadores y un mundo que los creadores puedan transformar de verdad.</p>
<p>Esta guía documenta lo que descubrimos al investigar la tecnología. Qué es posible hoy, qué está por llegar y qué arquitectura nos permitiría conseguirlo.</p>
<h2 id="que-podemos-aprender-de-skyrim-y-the-witcher" tabindex="-1">Qué podemos aprender de Skyrim y The Witcher <a class="header-anchor" href="#que-podemos-aprender-de-skyrim-y-the-witcher" aria-label="Permalink to &quot;Qué podemos aprender de Skyrim y The Witcher&quot;"></a></h2>
<p>Antes de elegir una tecnología, conviene entender cómo funcionan realmente dos de los mundos abiertos más exitosos. Sus técnicas se adaptan sorprendentemente bien a las limitaciones del navegador.</p>
<h3 id="el-sistema-de-celdas-de-skyrim" tabindex="-1">El sistema de celdas de Skyrim <a class="header-anchor" href="#el-sistema-de-celdas-de-skyrim" aria-label="Permalink to &quot;El sistema de celdas de Skyrim&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/JSRtYpNRoN0" title="Tráiler de Skyrim Special Edition" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">El mundo abierto de Skyrim carga por streaming una cuadrícula de 5x5 celdas alrededor del jugador. Las montañas lejanas son impostores de baja resolución. Nunca lo notas.</div>
<p>Skyrim divide su mundo en una cuadrícula de 57x37 celdas exteriores, cada una de 4096x4096 unidades de juego (aproximadamente 59 metros). El motor mantiene cargada en todo momento una cuadrícula de 5x5 celdas alrededor del jugador. A medida que avanzas, las celdas del borde trasero se descargan mientras se cargan por streaming las del borde delantero. Los espacios interiores (mazmorras y edificios) son espacios de mundo independientes que se cargan mediante activadores situados en las puertas.</p>
<p>Esto se puede aplicar directamente a un mundo en el navegador. No se carga el mapa completo. Se carga una zona alrededor del jugador y se sustituyen los fragmentos a medida que este se desplaza. La idea clave: Skyrim nunca permite ver con todo detalle el terreno lejano. Utiliza un enfoque multirresolución.</p>
<p><strong>Niveles de LOD (nivel de detalle) en Skyrim:</strong></p>
<ul>
<li>Detalle completo en un radio de 1-2 celdas (el área inmediata del jugador)</li>
<li>Mallas simplificadas a media distancia (los objetos pierden la geometría más pequeña)</li>
<li>Impostores en forma de billboard para árboles y rocas situados más allá de la distancia media</li>
<li>El LOD del terreno utiliza mallas de baja resolución precalculadas para los paisajes lejanos</li>
<li>Distancias de desvanecimiento ajustadas para cada objeto (la hierba desaparece primero y los edificios, al final)</li>
</ul>
<p>El paisaje de Skyrim utiliza un terreno basado en mapas de altura con parches de 32x32 vértices por celda. Cada parche puede tener distintas texturas mezcladas mediante mapas alfa. Esto requiere poco almacenamiento y es barato de renderizar. Los datos de terreno de una sola celda se miden en kilobytes, no en megabytes.</p>
<p><strong>Qué podemos aplicar:</strong> Streaming basado en fragmentos, terreno con mapas de altura, LOD agresivo, separación entre interiores y exteriores, y la idea de que el terreno lejano no necesita ser geométricamente preciso, sino solo visualmente convincente.</p>
<h3 id="la-arquitectura-de-streaming-de-the-witcher-3" tabindex="-1">La arquitectura de streaming de The Witcher 3 <a class="header-anchor" href="#la-arquitectura-de-streaming-de-the-witcher-3" aria-label="Permalink to &quot;La arquitectura de streaming de The Witcher 3&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/53MyR_Z3i1w" title="The Witcher 3: Wild Hunt - Un hermoso mundo abierto" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">El mundo de 136 km² de The Witcher 3 utiliza streaming basado en el contenido. Los árboles situados a más de 200 m son impostores planos. Los edificios se cargan por streaming de forma independiente al terreno.</div>
<p>El mundo de The Witcher 3 es más grande que el de Skyrim (aproximadamente 136 km² entre todas sus regiones) y utiliza un sistema de streaming más sofisticado. CD Projekt RED creó un motor propio (REDengine 3) en el que el mundo se divide en sectores de streaming, no en una cuadrícula estricta.</p>
<p>Cada sector contiene una jerarquía de capas de contenido:</p>
<ul>
<li><strong>Terreno</strong> cargado por streaming en forma de parches con 4 niveles de LOD</li>
<li><strong>Vegetación</strong> que utiliza instanciación en la GPU con descarte basado en la distancia</li>
<li><strong>Geometría estática</strong> (edificios y rocas) cargada por streaming de forma independiente al terreno</li>
<li><strong>Objetos de juego</strong> (NPC, objetos y activadores) que se cargan según el estado de las misiones y la proximidad</li>
</ul>
<p>El renderizador utiliza sombreado diferido con materiales basados en principios físicos. Un truco especialmente relevante: The Witcher 3 utiliza impostores de forma muy agresiva. Un árbol situado a 200 metros no es un modelo 3D con ramas y hojas. Es un cuadrilátero plano con textura que siempre mira hacia la cámara. El motor prerenderiza estos impostores desde varios ángulos y los intercambia a medida que se mueve la cámara. Nunca lo notas porque están lo bastante lejos.</p>
<p><strong>Composición del mundo:</strong> El mundo abierto de The Witcher 3 se construyó por capas mediante equipos independientes que trabajaban simultáneamente. El equipo de terreno esculpió el paisaje. El equipo de arte de entornos colocó las estructuras. El equipo de misiones configuró los activadores y las rutas de los NPC. Este sistema de composición por capas permitió que un equipo grande trabajara sin interferir en el trabajo de los demás.</p>
<p><strong>Qué podemos aplicar:</strong> Composición del mundo por capas (fundamental para una plataforma de creadores), renderizado mediante impostores para objetos lejanos, renderizado diferido para numerosas fuentes de luz y la idea de que el streaming debe tener en cuenta el contenido (no cargar interiores que no se pueden ver ni generar NPC que no estén cerca).</p>
<h3 id="el-motor-quimico-de-breath-of-the-wild" tabindex="-1">El motor químico de Breath of the Wild <a class="header-anchor" href="#el-motor-quimico-de-breath-of-the-wild" aria-label="Permalink to &quot;El motor químico de Breath of the Wild&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/zw47_q9wbBE" title="Zelda: Breath of the Wild - Tráiler de presentación de Nintendo Switch" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">BotW funciona en hardware comparable al de una tableta y tiene un aspecto impresionante. Estilo cel shading, niebla distante tipo acuarela e interacciones sistémicas en lugar de contenido guionizado. El referente de los mundos abiertos estilizados.</div>
<p>El enfoque de Nintendo para el diseño de mundos abiertos invirtió la fórmula habitual. En lugar de llenar el mundo con contenido guionizado, crearon reglas sistémicas y permitieron que los jugadores descubrieran comportamientos emergentes. El fuego se propaga por la hierba. El metal conduce la electricidad durante las tormentas. El viento transporta objetos. Todo interactúa con todo lo demás mediante una capa coherente de física y química.</p>
<p>Esto es importante para un mundo de creadores porque sugiere que el propio mundo puede resultar más interesante que cualquier objeto colocado de forma individual. Si los creadores pueden definir propiedades de materiales y reglas de interacción (en lugar de limitarse a colocar mallas estáticas), el mundo adquiere comportamientos emergentes que hacen que merezca la pena explorarlo incluso en zonas que nadie ha diseñado expresamente.</p>
<p><strong>Conclusiones técnicas de BotW:</strong></p>
<ul>
<li>Un número de polígonos y una resolución relativamente bajos (900p con la Switch conectada a la base). El aspecto estilizado con cel shading oculta la baja fidelidad. Hoy, un mundo en el navegador podría alcanzar una calidad visual similar.</li>
<li>El renderizado a distancia utiliza una niebla con sombreado tipo dibujo animado que se desvanece en skyboxes con estilo de acuarela. Es barata de renderizar y se ve preciosa en la práctica. Este tipo de perspectiva atmosférica es prácticamente gratuito en un sombreador de fragmentos.</li>
<li>El mundo ocupa aproximadamente 84 km², pero es poco denso. La mayor parte del mapa es terreno transitable con puntos de interés distribuidos por él. El contenido denso se reserva para pueblos y santuarios. Este enfoque «disperso pero interesante» reduce drásticamente los requisitos de recursos en comparación con la densamente poblada Novigrado de The Witcher 3.</li>
<li>Los objetos físicos tienen etiquetas de material (madera, metal, comida o explosivo) que determinan sus interacciones. El número de reglas reales es reducido (quizá entre 20 y 30 tipos de interacción), pero se combinan de formas que parecen infinitas.</li>
</ul>
<h3 id="las-capas-del-mundo-de-gta-v" tabindex="-1">Las capas del mundo de GTA V <a class="header-anchor" href="#las-capas-del-mundo-de-gta-v" aria-label="Permalink to &quot;Las capas del mundo de GTA V&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/QkkoHAzjnUs" title="Tráiler oficial de Grand Theft Auto V" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Los Santos de GTA V parece una ciudad viva gracias a sus sistemas ambientales por capas: tráfico, peatones, ciclo diario y clima. Los edificios lejanos son fotografías compuestas, no modelos 3D.</div>
<p>El enfoque de Rockstar para Los Santos ofrece una lección diferente. El mundo de GTA V parece estar vivo gracias a sus sistemas ambientales por capas, no porque cada NPC tenga una misión.</p>
<p>La ciudad tiene sistemas de tráfico que simulan cientos de vehículos sobre una red vial. Los peatones siguen rutas, reaccionan al jugador e interactúan entre sí. La hora del día cambia la densidad de población, los tipos de NPC presentes y la actividad ambiental. El clima afecta a la física de conducción y al comportamiento de los NPC.</p>
<p>Para un mundo de creadores, la idea clave es que la vida ambiental marca la diferencia entre un mundo que parece un museo y otro que parece un lugar real. Incluso comportamientos sencillos (pájaros que vuelan por encima, olas que rompen en la orilla o NPC que caminan entre edificios) crean la ilusión de un mundo vivo.</p>
<p><strong>Conclusiones técnicas de GTA V:</strong></p>
<ul>
<li>El mapa ocupa 75 km² y utiliza un LOD agresivo combinado con un sistema de streaming que carga contenido según la velocidad (al conducir rápido se carga contenido situado más adelante que al caminar).</li>
<li>GTA Online reúne simultáneamente a 30 jugadores en este mundo. Incluso con 30, Rockstar descubrió que necesitaba gestionar el interés espacial: recibes actualizaciones detalladas sobre los jugadores cercanos y actualizaciones menos frecuentes sobre los más lejanos. El mismo principio se aplica a nuestro objetivo de 200 jugadores.</li>
<li>La cadena de producción de recursos de GTA V es una de las más eficientes jamás creadas. El juego completo ocupa aproximadamente 80 GB gracias a una compresión extrema de texturas, al uso compartido de mallas y al detalle procedimental. Los interiores de sus edificios reutilizan ampliamente piezas modulares.</li>
<li>El juego utiliza un sofisticado sistema de impostores en el que los edificios lejanos son en realidad fotografías planas combinadas entre sí. El jugador nunca lo nota porque las distancias de transición están ajustadas para ángulos de visión concretos.</li>
</ul>
<h3 id="el-mundo-abierto-continuo-de-elden-ring" tabindex="-1">El mundo abierto continuo de Elden Ring <a class="header-anchor" href="#el-mundo-abierto-continuo-de-elden-ring" aria-label="Permalink to &quot;El mundo abierto continuo de Elden Ring&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/E3Huy2cdih0" title="Tráiler oficial de jugabilidad de Elden Ring" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">El mapa de 79 km² de Elden Ring combina terrenos abiertos poco densos con mazmorras detalladas creadas a mano. Los mismos recursos ambientales aparecen por todas partes con distintas disposiciones. La repetición desaparece cuando varían la composición y la iluminación.</div>
<p>FromSoftware creó Elden Ring sobre el mismo motor que Dark Souls, pero lo amplió para construir un mundo abierto. El resultado es interesante porque demuestra cómo un equipo relativamente pequeño (en comparación con Rockstar o CD Projekt) puede crear un gran mundo abierto.</p>
<p>El truco está en variar la densidad. El mapa de Elden Ring es enorme (aproximadamente 79 km²), pero grandes secciones son terrenos abiertos con enemigos y puntos de interés dispersos. El contenido denso creado a mano (las mazmorras de legado, como el Castillo de Velo Tormentoso) está integrado en el mundo abierto y utiliza la misma separación entre interiores y exteriores que Skyrim.</p>
<p><strong>Conclusiones técnicas de Elden Ring:</strong></p>
<ul>
<li>El mundo se carga por streaming en grandes teselas. A caballo se puede ver a gran distancia, pero el terreno lejano está extremadamente simplificado. De cerca, el nivel de detalle es comparable al de Dark Souls 3.</li>
<li>Las pantallas de carga solo aparecen al viajar rápidamente o al entrar en determinadas mazmorras. El propio mundo abierto se carga por streaming sin interrupciones.</li>
<li>El juego reutiliza ampliamente los recursos ambientales. Los mismos modelos de árboles, formaciones rocosas y piezas de ruinas aparecen por todo el mapa con distintas disposiciones. Con suficiente variedad en la disposición y la iluminación, la repetición pasa desapercibida. Esto se puede aplicar directamente a un mundo de creadores, donde una biblioteca de piezas modulares puede generar una variedad infinita.</li>
<li>El modo multijugador se basa en sesiones (se invoca a otros jugadores para que entren en tu mundo), no es persistente. Sin embargo, las funciones asíncronas (mensajes, manchas de sangre y fantasmas de otros jugadores) crean una sensación de existencia compartida sin la sobrecarga de red de un servidor persistente. Sería barato añadir estas funciones multijugador ambientales a un mundo en el navegador.</li>
</ul>
<h3 id="no-man-s-sky-todo-procedimental" tabindex="-1">No Man's Sky: todo procedimental <a class="header-anchor" href="#no-man-s-sky-todo-procedimental" aria-label="Permalink to &quot;No Man's Sky: todo procedimental&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/nLtmEjqzg7M" title="Tráiler de No Man's Sky NEXT" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">18 trillones de planetas generados a partir de semillas compartidas. Todos los jugadores ven el mismo universo sin almacenarlo en un servidor. Los datos de construcción de bases son compactos: identificadores de piezas más transformaciones.</div>
<p>No Man's Sky es el caso extremo de generación procedimental. 18 trillones de planetas generados a partir de una semilla compartida, de modo que todos los jugadores ven el mismo universo sin que nada de él esté almacenado en un servidor.</p>
<p>La cadena de generación funciona por etapas: las semillas de nivel galáctico determinan las posiciones de las estrellas; las semillas estelares determinan el número y los tipos de planetas; y las semillas planetarias controlan la generación del terreno (ruido de varias octavas), la asignación de biomas, las especies de flora y fauna, las paletas de colores y la distribución de recursos. Todo se calcula de forma determinista a partir de la semilla, por lo que dos jugadores que visiten las mismas coordenadas verán el mismo planeta sin intercambiar ningún dato planetario.
<strong>Conclusiones técnicas de No Man's Sky:</strong></p>
<ul>
<li>La generación de terreno utiliza marching cubes basados en vóxeles con una pila de funciones de ruido. Esto permite crear cuevas, salientes e islas flotantes que los terrenos basados en mapas de altura no pueden representar. La contrapartida es un mayor coste computacional por chunk, pero el resultado es un terreno visualmente más interesante.</li>
<li>El sistema de construcción de bases es lo más parecido a lo que imaginamos. Los jugadores colocan estructuras que persisten en el servidor y son visibles para otros jugadores. Los datos de las bases son compactos (una lista de piezas con posiciones y rotaciones) y se transmiten bajo demanda cuando alguien visita el planeta.</li>
<li>Al principio, el juego fue criticado por ofrecer contenido repetitivo pese a su variedad infinita. La generación basada en semillas puede producir terreno infinito, pero pocas sorpresas. La lección: la generación procedimental funciona como lienzo, pero el contenido colocado por los creadores es lo que hace que un lugar parezca diseñado e intencionado.</li>
<li>Hello Games añadió el multijugador años después del lanzamiento. Hasta 32 jugadores comparten una sesión con construcción y exploración completas. El modelo de red es sencillo: un jugador actúa como anfitrión y los demás se conectan. Para un mundo en el navegador con estado persistente, funciona mejor un modelo con servidor autoritativo, pero No Man's Sky demuestra que los mundos procedimentales compartidos son viables.</li>
</ul>
<h3 id="minecraft-el-modelo-para-los-mundos-de-creadores" tabindex="-1">Minecraft: el modelo para los mundos de creadores <a class="header-anchor" href="#minecraft-el-modelo-para-los-mundos-de-creadores" aria-label="Permalink to &quot;Minecraft: el modelo para los mundos de creadores&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/MmB9b5njVbA" title="Tráiler oficial de Minecraft" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">300 millones de copias vendidas. Texturas de 16x16 píxeles. Terreno totalmente editable. Generación infinita. Multijugador. La referencia más importante para un mundo de creadores. Los clones para navegador demuestran que el concepto funciona en WebGL.</div>
<p>Minecraft es el referente más importante para lo que estamos construyendo, más que cualquier título AAA de gran calidad gráfica. 300 millones de copias vendidas. El mundo se genera de forma infinita, es totalmente destructible y admite multijugador. En Minecraft, los creadores no se limitan a colocar objetos. Remodelan el propio terreno.</p>
<p><strong>Conclusiones técnicas de Minecraft:</strong></p>
<ul>
<li>El mundo está dividido en chunks de bloques de 16x16x384. Solo se cargan los chunks cercanos al jugador (la distancia de renderizado es configurable). Es el mismo patrón de streaming de chunks que Skyrim, pero con terreno totalmente editable.</li>
<li>Cada chunk se almacena como una matriz de identificadores de bloques comprimida mediante una paleta. Un chunk con solo 5 tipos de bloque diferentes almacena un índice de paleta de 4 bits por bloque en lugar de un identificador de bloque completo. Esto hace que los datos de los chunks sean muy compactos (normalmente, entre 10 y 50 KB por chunk después de la compresión).</li>
<li>El protocolo multijugador de Minecraft está bien documentado y es relativamente sencillo. El servidor envía los datos de los chunks a medida que el jugador se desplaza. Los cambios en los bloques se difunden como pequeñas actualizaciones diferenciales (posición + nuevo tipo de bloque). Este es exactamente el modelo que usaríamos para las modificaciones de los creadores.</li>
<li>El juego funciona en Java y ahora cuenta con una Bedrock Edition en C++. Existen clones de Minecraft para navegador (ClassiCube, eaglercraft) que demuestran que el concepto básico funciona en WebGL. Normalmente mantienen una distancia de renderizado de entre 8 y 12 chunks a 60 fps, lo que ofrece una vista de unos 200 a 400 metros.</li>
<li>El ecosistema de mods de Minecraft es su verdadera ventaja competitiva. Los mods añaden nuevos bloques, entidades, biomas y sistemas de juego. Para un mundo de creadores, esto sugiere que la extensibilidad es tan importante como la experiencia base. Si los creadores pueden definir nuevos tipos de interacción (y no solo colocar objetos), el mundo se enriquece con el tiempo.</li>
<li>Redstone (el sistema de cableado de Minecraft dentro del juego) demuestra que los creadores construirán sistemas complejos si se les proporcionan elementos básicos simples y combinables. Puertas lógicas, granjas automáticas, calculadoras. Un conjunto sencillo de reglas genera una complejidad extraordinaria. Es la misma lección que ofrece el motor químico de BotW.</li>
</ul>
<h3 id="patrones-comunes-en-los-mundos-abiertos-aaa" tabindex="-1">Patrones comunes en los mundos abiertos AAA <a class="header-anchor" href="#patrones-comunes-en-los-mundos-abiertos-aaa" aria-label="Permalink to &quot;Patrones comunes en los mundos abiertos AAA&quot;"></a></h3>
<p>Al analizar todos estos títulos, se repiten los mismos patrones:</p>
<p><strong>La partición espacial</strong> es universal. Ya sean celdas (Bethesda), sectores (CD Projekt), chunks (Mojang/Rockstar) o teselas (FromSoftware), todos los mundos abiertos dividen el espacio en unidades cargables. Ningún motor intenta mantener el mundo entero en memoria.</p>
<p><strong>Todo tiene múltiples resoluciones.</strong> El terreno, las mallas, las texturas e incluso el audio tienen varios niveles de calidad. La resolución que se obtiene depende de la proximidad y de la importancia del objeto.</p>
<p><strong>El descarte por oclusión</strong> importa más que la capacidad bruta de procesar triángulos. No renderizar lo que no se puede ver ahorra más recursos que optimizar lo que sí se ve. Skyrim utiliza un sencillo sistema basado en la distancia. The Witcher 3 emplea oclusión por software con grandes oclusores (edificios y acantilados). Los motores modernos, como Nanite de UE5, llevan esto más lejos con consultas de oclusión por hardware.</p>
<p><strong>La carga asíncrona</strong> oculta las transiciones. Estos juegos no muestran pantallas de carga en el mundo abierto (solo al viajar rápidamente o al pasar a interiores). Cargan contenido en hilos en segundo plano, lo descomprimen en paralelo e incorporan gradualmente el nuevo contenido.</p>
<p><strong>Dirección artística antes que número de polígonos.</strong> Skyrim salió en 2011 con unos gráficos que ya entonces eran modestos. BotW funciona en un chip propio de una tableta y tiene un aspecto precioso. Minecraft utiliza texturas de 16x16 píxeles y es uno de los juegos visualmente más reconocibles de la historia. Para un mundo en el navegador, esto es enormemente importante. Un estilo artístico bien dirigido con menor fidelidad siempre superará a un mundo técnicamente avanzado pero artísticamente plano.</p>
<p><strong>El diseño sistémico supera al contenido guionizado.</strong> El motor químico de BotW, las interacciones entre bloques de Minecraft y los sistemas de tráfico de GTA V generan comportamientos emergentes a partir de reglas sencillas. Es más barato de desarrollar y ejecutar, y genera más historias para los jugadores que las secuencias guionizadas creadas a mano. En un mundo de creadores, el diseño sistémico significa que el mundo sigue siendo interesante incluso en zonas que nadie ha diseñado expresamente.</p>
<p><strong>El contenido colocado por los creadores necesita persistencia y visibilidad.</strong> Las bases de Minecraft y No Man's Sky, así como las propiedades de GTA Online, persisten entre sesiones y son visibles para otros jugadores. El modelo de datos del contenido de los creadores siempre es compacto (identificadores de piezas + transformaciones), mientras que su representación visual es rica (el cliente expande los datos para crear escenas 3D completas).</p>
<h2 id="renderizado-¿que-puede-hacer-realmente-un-navegador" tabindex="-1">Renderizado: ¿qué puede hacer realmente un navegador? <a class="header-anchor" href="#renderizado-¿que-puede-hacer-realmente-un-navegador" aria-label="Permalink to &quot;Renderizado: ¿qué puede hacer realmente un navegador?&quot;"></a></h2>
<h3 id="three-js" tabindex="-1">Three.js <a class="header-anchor" href="#three-js" aria-label="Permalink to &quot;Three.js&quot;"></a></h3>
<p>Three.js es la base. Cuenta con la comunidad más grande (más de 100 000 estrellas en GitHub), el mayor número de ejemplos y la compatibilidad más amplia. Abstrae WebGL 2 y ofrece compatibilidad experimental con WebGPU mediante <code>WebGPURenderer</code>.</p>
<p>Para un mundo abierto, Three.js ofrece:</p>
<ul>
<li><strong>Renderizado por instancias</strong> para vegetación, rocas y geometría repetida (<code>InstancedMesh</code>)</li>
<li><strong>Sistema LOD</strong> integrado (<code>THREE.LOD</code> intercambia mallas según la distancia)</li>
<li><strong>Descarte por frustum</strong> automático por objeto</li>
<li><strong>Terreno</strong> mediante <code>BufferGeometry</code> personalizada o <code>PlaneGeometry</code> basada en mapas de altura</li>
<li><strong>Materiales PBR</strong> mediante <code>MeshStandardMaterial</code> y <code>MeshPhysicalMaterial</code></li>
<li><strong>Posprocesado</strong> mediante <code>EffectComposer</code> (resplandor, SSAO y mapeo tonal)</li>
<li><strong>Mapas de sombras</strong>, con posibilidad de implementar mapas de sombras en cascada mediante código personalizado</li>
<li><strong>glTF/GLB</strong> como formato principal de recursos (compacto y listo para la GPU)</li>
</ul>
<p>Three.js también cuenta con un ecosistema activo de herramientas relevantes para los mundos abiertos. <code>three-mesh-bvh</code> acelera el raycasting y las consultas espaciales sobre mallas complejas. <code>postprocessing</code> (de vanruesc) ofrece una pila de posprocesado con mejor rendimiento que la integrada en Three. <code>three-gpu-pathtracing</code> permite obtener renderizados con calidad de referencia.</p>
<p><strong>Limitaciones para mundos abiertos:</strong> Three.js no incluye un grafo de escena integrado capaz de gestionar el streaming, la administración de LOD o la partición espacial a gran escala. Hay que construirlos por cuenta propia. Tampoco incluye un sistema de entidades y componentes (ECS), física ni un sistema de terreno. Es un renderizador, no un motor. Esto supone en realidad una ventaja para un mundo abierto personalizado, porque permite controlar la distribución de la memoria y la estrategia de carga, pero implica más trabajo inicial.</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> lod</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> THREE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">LOD</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">lod.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">addLevel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(highDetailMesh, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">lod.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">addLevel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(mediumDetailMesh, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">50</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">lod.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">addLevel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(lowDetailMesh, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">200</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">lod.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">addLevel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(impostorSprite, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">500</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">scene.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">add</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(lod);</span></span></code></pre>
</div><h3 id="babylon-js" tabindex="-1">Babylon.js <a class="header-anchor" href="#babylon-js" aria-label="Permalink to &quot;Babylon.js&quot;"></a></h3>
<p>Babylon.js es el otro gran candidato. Con el respaldo de Microsoft, ofrece más funciones integradas que Three.js para el problema específico de los mundos abiertos.</p>
<p>Funciones integradas relevantes:</p>
<ul>
<li><strong>Partición de escenas basada en octrees</strong> para un descarte eficiente en escenas grandes</li>
<li><strong>Sistema de partículas sólidas</strong> para renderizado masivo por instancias</li>
<li><strong>Terreno a partir de mapas de altura</strong> con LOD integrado y mezcla de múltiples texturas</li>
<li><strong>Editor de materiales por nodos</strong> para crear shaders visualmente</li>
<li><strong>Compatibilidad con WebGPU</strong> (más madura que la de Three.js, ya que Babylon invirtió antes)</li>
<li><strong>Integración con la física de Havok</strong> (compilada en Wasm y con calidad de producción)</li>
<li><strong>Streaming de glTF</strong> con carga progresiva</li>
</ul>
<p>La extensión <code>DynamicTerrain</code> de Babylon genera chunks de terreno sobre la marcha a partir de datos de mapas de altura, gestiona el LOD automáticamente y admite la mezcla de texturas. Esto se acerca mucho más a lo que hace Skyrim que cualquier función que Three.js ofrezca de fábrica.</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> terrain</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> BABYLON</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">DynamicTerrain</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"terrain"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  terrainSub: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">100</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  mapData: heightmapData,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  mapSubX: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1000</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  mapSubZ: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1000</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}, scene);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">terrain.LODLimits </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span></code></pre>
</div><p><strong>La contrapartida:</strong> Babylon.js es una biblioteca más grande (la compilación completa ocupa aproximadamente entre 1 y 2 MB minificada, frente a los cerca de 600 KB de Three.js). Sin embargo, para un mundo abierto probablemente se añadiría suficiente código personalizado a Three.js como para que la diferencia de tamaño fuese insignificante. Babylon también cuenta con su propio sistema Node Material, inspector y herramientas de desarrollo, que aceleran la iteración.</p>
<p>Babylon.js 8.0 (publicado en marzo de 2025) reforzó su candidatura como núcleo del motor. Todos los shaders principales del motor ahora se distribuyen tanto en GLSL como en WGSL, por lo que WebGPU funciona sin capa de conversión y el paquete de WebGPU ocupa aproximadamente la mitad que antes. La misma versión incorporó al motor el controlador de personajes completo de Havok, luces de área, un motor de audio reconstruido y mejoras en el splatting gaussiano (formatos SPZ y PLY comprimido, armónicos esféricos y menor consumo de memoria y CPU).</p>
<h3 id="playcanvas" tabindex="-1">PlayCanvas <a class="header-anchor" href="#playcanvas" aria-label="Permalink to &quot;PlayCanvas&quot;"></a></h3>
<p>Vale la pena mencionar PlayCanvas porque es el motor 3D concebido para la web con mayor trayectoria en producción. Snap, Facebook y numerosos clientes publicitarios han lanzado con él experiencias 3D complejas. El motor ocupa alrededor de 1 MB, carga rápidamente y su editor en la nube permite crear mundos de forma colaborativa.</p>
<p>Para un mundo abierto en particular, PlayCanvas ofrece grupos de procesamiento por lotes para optimizar las llamadas de dibujo, un generador de mapas de iluminación integrado y compatibilidad con splatting gaussiano (relevante para entornos del mundo real capturados mediante fotogrametría). El entorno de ejecución es ligero y está bien optimizado para navegadores móviles.</p>
<h3 id="webgpu-la-clave-del-rendimiento" tabindex="-1">WebGPU: la clave del rendimiento <a class="header-anchor" href="#webgpu-la-clave-del-rendimiento" aria-label="Permalink to &quot;WebGPU: la clave del rendimiento&quot;"></a></h3>
<p>WebGPU cambia las reglas para los mundos abiertos en el navegador. Las dos funciones más importantes son:</p>
<p><strong>Los shaders de cómputo</strong> permiten generar terreno, colocar vegetación, simular partículas e incluso ejecutar física sencilla en la GPU. En un mundo WebGL, todo esto se ejecuta en la CPU mediante JavaScript. Con WebGPU, es posible generar secciones de terreno enteramente en la GPU, calcular las transiciones de LOD en la GPU y ejecutar pasadas de descarte en la GPU. Esto libera la CPU para las comunicaciones de red, la lógica del juego y el streaming de contenido.</p>
<p><strong>El renderizado indirecto</strong> permite que la GPU decida qué dibujar a partir de la salida de un shader de cómputo. Se envía una sola llamada de dibujo y la GPU decide cuántas instancias renderizar para cada nivel LOD en función de la distancia. Así gestionan los motores modernos millones de briznas de hierba o árboles. Sin renderizado indirecto (que WebGL no admite), la CPU tiene que ordenar y agruparlo todo, lo que se convierte en el cuello de botella en escenas densas.</p>
<p>WebGPU ya está disponible en todos los navegadores principales. Chrome y Edge lo incluyen desde la versión 113, Firefox lo añadió en Windows (141) y macOS con Apple Silicon (145), y Safari 26 lo incorporó a macOS, iOS, iPadOS y visionOS a finales de 2025. Esto sitúa la compatibilidad global en torno al 82 %, incluidos los dispositivos móviles (Chrome para Android y Samsung Internet también lo incluyen). Aun así, convendría mantener WebGL 2 como alternativa para navegadores antiguos y dispositivos donde WebGPU no esté habilitado, pero la brecha se ha reducido rápidamente.</p>
<div class="language-wgsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">wgsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">compute</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> @</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">workgroup_size</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">64</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> generateTerrain</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">builtin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(global_invocation_id) id: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">u32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> worldPos </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">x), </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">y)) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> cellSize </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> worldOffset;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> height </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> fbmNoise</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(worldPos, octaves, persistence);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    heightmap[id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> width] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> height;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h3 id="pila-de-renderizado-recomendada" tabindex="-1">Pila de renderizado recomendada <a class="header-anchor" href="#pila-de-renderizado-recomendada" aria-label="Permalink to &quot;Pila de renderizado recomendada&quot;"></a></h3>
<p>Para un mundo abierto en el navegador dirigido a creadores en equipos de escritorio:</p>
<p><strong>Opción principal:</strong> Three.js o Babylon.js con renderizador WebGPU cuando esté disponible y WebGL 2 como alternativa. Babylon ofrece mejores elementos integrados para mundos abiertos. Three.js cuenta con una comunidad más grande y mayor flexibilidad.</p>
<p><strong>Nuestra elección:</strong> Babylon.js como núcleo del motor por su LOD de terreno integrado, descarte mediante octrees, física Havok (Wasm) y compatibilidad madura con WebGPU. Utilizar herramientas del ecosistema de Three.js cuando Babylon no disponga de equivalentes (por ejemplo, BVH de mallas para consultas espaciales). Envolverlo todo en una capa personalizada de streaming del mundo.</p>
<h2 id="arquitectura-de-streaming-del-mundo" tabindex="-1">Arquitectura de streaming del mundo <a class="header-anchor" href="#arquitectura-de-streaming-del-mundo" aria-label="Permalink to &quot;Arquitectura de streaming del mundo&quot;"></a></h2>
<p>Esta es la parte difícil. Una pestaña del navegador dispone aproximadamente de entre 2 y 4 GB de memoria en equipos de escritorio (por límites impuestos por el navegador), alrededor de 1 GB en dispositivos móviles y ningún acceso directo al disco. Todo llega a través de la red. Se necesita una arquitectura que mantenga en memoria el mundo visible mientras transmite contenido justo por delante de la dirección en la que se desplaza el jugador.</p>
<h3 id="cuadricula-del-mundo-basada-en-chunks" tabindex="-1">Cuadrícula del mundo basada en chunks <a class="header-anchor" href="#cuadricula-del-mundo-basada-en-chunks" aria-label="Permalink to &quot;Cuadrícula del mundo basada en chunks&quot;"></a></h3>
<p>Al igual que el sistema de celdas de Skyrim, hay que dividir el mundo en una cuadrícula regular de chunks. Cada chunk es una unidad independiente que puede cargarse, renderizarse y descargarse por separado.</p>
<p><strong>El tamaño de los chunks importa.</strong> Si son demasiado pequeños, se cargan y descargan constantemente, lo que genera una gran sobrecarga. Si son demasiado grandes, cada chunk tarda demasiado en descargarse. Para un mundo en el navegador con conexiones de banda ancha habituales:</p>
<ul>
<li>Chunks de 64x64 metros a nivel del suelo</li>
<li>Cada chunk contiene: sección de mapa de altura (2-4 KB), mapa de mezcla de texturas (16-32 KB comprimido), mallas estáticas como referencias de instancias (1-50 KB de datos de instancias) y objetos colocados por los creadores como manifiesto (1-10 KB)</li>
<li>Radio de carga: 5x5 chunks con detalle completo (vista de 320 m), 9x9 con LOD medio y 17x17 solo con terreno</li>
<li>Objetivo: mantener los datos de detalle completo de cada chunk por debajo de 200 KB, para que un entorno de 5x5 ocupe menos de 5 MB</li>
</ul>
<h3 id="canal-de-carga-progresiva" tabindex="-1">Canal de carga progresiva <a class="header-anchor" href="#canal-de-carga-progresiva" aria-label="Permalink to &quot;Canal de carga progresiva&quot;"></a></h3>
<p>No hay que cargar de una sola vez toda la información de un chunk. Se utiliza una cola de prioridades:</p>
<ol>
<li><strong>Primero, la geometría del terreno</strong> (solo el mapa de alturas, 2-4 KB por sector). El jugador ve el suelo en menos de 100 ms.</li>
<li><strong>Texturas del terreno</strong> (mapas de mezcla, primero en baja resolución y luego se mejoran). El suelo tiene color en menos de 200 ms.</li>
<li><strong>Estructuras principales</strong> (edificios, rocas grandes). Las siluetas aparecen en menos de 500 ms.</li>
<li><strong>Objetos de detalle</strong> (vegetación, elementos pequeños, objetos de creadores). El mundo se completa en 1-2 segundos.</li>
<li><strong>Las texturas de alta resolución</strong> se mejoran al final. Nadie nota si la textura de un edificio lejano tarda un segundo más.</li>
</ol>
<p>Esto coincide con el funcionamiento del ojo humano. Notamos si falta el suelo o alguna estructura grande. No notamos si falta la hierba.</p>
<h3 id="gestion-de-memoria" tabindex="-1">Gestión de memoria <a class="header-anchor" href="#gestion-de-memoria" aria-label="Permalink to &quot;Gestión de memoria&quot;"></a></h3>
<p>La memoria del navegador es limitada y el recolector de basura es tu enemigo. Una sola pausa del GC puede hacer que pases de 60 fps a 10 fps durante un fotograma.</p>
<p>La <strong>reutilización de objetos</strong> es obligatoria. Preasigna conjuntos de objetos comunes (árboles, rocas, zonas de hierba) y recíclalos a medida que se cargan y descargan los sectores. Nunca crees nuevas instancias de <code>THREE.Mesh</code> o <code>BABYLON.Mesh</code> en la ruta crítica. En su lugar, intercambia las referencias de geometría y material de los objetos reutilizados.</p>
<p>Los <strong>atlas de texturas</strong> reducen tanto las llamadas de dibujado como la fragmentación de memoria. Empaqueta todas las texturas del terreno en unos pocos atlas grandes. Empaqueta en el servidor las texturas subidas por los creadores en atlas por sector y transmítelas como imágenes individuales.</p>
<p>La <strong>compresión de geometría</strong> con Draco o Meshopt reduce el tamaño de descarga entre 5 y 10 veces, y la descompresión se ejecuta en un Web Worker para no bloquear el hilo principal. En el caso específico del terreno, los mapas de alturas cuantizados (valores de 16 bits comprimidos mediante una codificación delta sencilla) ocupan menos que cualquier formato de malla de propósito general.</p>
<p>La <strong>transferencia de propiedad de ArrayBuffer</strong> entre los workers y el hilo principal evita las copias. Cuando un worker descomprima una malla, transfiere el búfer al hilo principal sin copiarlo mediante <code>postMessage</code> con objetos transferibles.</p>
<h3 id="entrega-de-recursos" tabindex="-1">Entrega de recursos <a class="header-anchor" href="#entrega-de-recursos" aria-label="Permalink to &quot;Entrega de recursos&quot;"></a></h3>
<p><strong>CDN con almacenamiento en caché perimetral</strong> para los datos estáticos del mundo. Los sectores del terreno, las mallas base y los atlas de texturas que no cambien con frecuencia deben almacenarse en caché de forma agresiva (Cache-Control: max-age=31536000, immutable).</p>
<p>El <strong>almacenamiento direccionado por contenido</strong> implica que cada versión de un recurso recibe un hash único en su URL. Cuando un creador modifica un sector, la nueva versión recibe un hash nuevo y la anterior permanece en caché para quien todavía la esté viendo. No es necesario invalidar la caché.</p>
<p><strong>Texturas KTX2</strong> con compresión Basis Universal. Estas se descomprimen al formato de GPU que admita el dispositivo (BC7, ASTC, ETC2 o RGBA como alternativa). Una textura de terreno de 1024x1024 pasa de 4 MB sin comprimir a unos 150 KB en KTX2. En un mundo con miles de texturas únicas, esta compresión marca la diferencia entre un proyecto viable y uno que no lo es.</p>
<p><strong>glTF Binary (GLB)</strong> para todos los recursos 3D. Es el JPEG del 3D. Todos los motores de navegador pueden cargarlo, es compacto y permite integrar texturas, materiales y animaciones en un solo archivo. Usa las extensiones Draco o Meshopt para comprimir las mallas. Los recursos subidos por los creadores se procesan en el servidor para convertirlos en archivos GLB optimizados antes de incorporarse al mundo.</p>
<h2 id="redes-multijugador" tabindex="-1">Redes multijugador <a class="header-anchor" href="#redes-multijugador" aria-label="Permalink to &quot;Redes multijugador&quot;"></a></h2>
<p>Reunir a cientos de creadores en el mismo mundo requiere una arquitectura de red que gestione el movimiento en tiempo real, el estado persistente del mundo y las ediciones de los creadores sin colapsar.</p>
<h3 id="arquitectura-del-servidor" tabindex="-1">Arquitectura del servidor <a class="header-anchor" href="#arquitectura-del-servidor" aria-label="Permalink to &quot;Arquitectura del servidor&quot;"></a></h3>
<p><strong>Servidor autoritativo</strong> para el estado del mundo. No se puede confiar en el navegador. Todas las acciones relevantes (colocar objetos, modificar el terreno o desplazarse entre sectores) se validan en el servidor. El cliente realiza predicciones locales y se reconcilia con el estado del servidor.</p>
<p>La <strong>fragmentación espacial</strong> divide el mundo entre varias instancias de servidor. Cada fragmento controla una región rectangular de la cuadrícula del mundo. A medida que cambia la densidad de jugadores, los fragmentos pueden dividirse o fusionarse. Así es como EVE Online gestiona a miles de jugadores en un mismo universo, y el mismo principio funciona a menor escala.</p>
<p>En un mundo de creadores donde la mayoría de las interacciones son locales (construyes en tu zona y tus vecinos pueden verlo), la fragmentación espacial funciona de forma natural. Un jugador situado en el límite de un fragmento ve el contenido de ambos, lo cual requiere consultas de visibilidad entre fragmentos, pero este es un problema ya resuelto.</p>
<p><strong>Opciones tecnológicas para el servidor:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Tecnología</th>
<th>Ventajas</th>
<th>Caso de uso</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Cloudflare Durable Objects</strong></td>
<td>Despliegue perimetral, escalado automático, persistencia integrada y compatibilidad con WebSocket</td>
<td>Estado de los fragmentos del mundo, autoridad por sector</td>
</tr>
<tr>
<td><strong>Hathora / Rivet</strong></td>
<td>Alojamiento administrado de servidores de juego, protección contra DDoS y despliegue global</td>
<td>Instancias de servidores de juego dedicados</td>
</tr>
<tr>
<td><strong>Colyseus</strong></td>
<td>Framework de código abierto para servidores de juegos en Node.js, sincronización de estado basada en esquemas</td>
<td>Multijugador basado en salas con sincronización diferencial del estado</td>
</tr>
<tr>
<td><strong>PartyKit</strong></td>
<td>Despliegue perimetral, WebSocket + WebRTC, basado en Cloudflare Workers</td>
<td>Colaboración en tiempo real, multijugador ligero</td>
</tr>
<tr>
<td><strong>Custom Rust/Go</strong></td>
<td>Máximo control, mejor rendimiento por instancia</td>
<td>Fragmentos de alta densidad que requieran físicas de baja latencia</td>
</tr>
</tbody>
</table>
<p><strong>Nuestro contexto (infraestructura de Cloudflare):</strong> Durable Objects encaja de forma natural. Cada sector del mundo se convierte en un Durable Object que mantiene el estado autoritativo del contenido de ese sector. Los jugadores se conectan mediante WebSocket al Durable Object responsable de su sector actual. Cuando se desplazan a un sector adyacente, se conectan al DO de ese sector. Durable Objects guarda automáticamente el estado en disco, por lo que los datos del mundo sobreviven a los reinicios.</p>
<h3 id="comunicacion-cliente-servidor" tabindex="-1">Comunicación cliente-servidor <a class="header-anchor" href="#comunicacion-cliente-servidor" aria-label="Permalink to &quot;Comunicación cliente-servidor&quot;"></a></h3>
<p><strong>WebSocket</strong> para mensajes fiables y ordenados (chat, ediciones del mundo, inventario y estado del juego). Una conexión por cada fragmento activo que el jugador pueda ver (normalmente entre 1 y 4 conexiones).</p>
<p><strong>WebRTC DataChannel</strong> para mensajes no fiables y no ordenados (posiciones de jugadores, animaciones y efectos efímeros). WebRTC permite conexiones entre pares, pero en un mundo con muchos jugadores conviene utilizar una SFU (unidad de reenvío selectivo) para evitar N2 conexiones. Cloudflare Calls o LiveKit pueden actuar como SFU.</p>
<p>La <strong>sincronización del estado</strong> utiliza compresión delta. El servidor registra lo que ha visto cada cliente y solo envía los cambios. Esto es especialmente importante en un mundo de creadores, porque el estado del mundo (qué objetos existen, dónde están y qué propiedades tienen) cambia con mucha menos frecuencia que las posiciones de los jugadores. Puedes permitirte enviar actualizaciones del estado del mundo a 2-5 Hz mientras las posiciones de los jugadores se actualizan a 20-30 Hz.</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> WorldChunkState</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  version</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  terrain</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> TerrainPatch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  objects</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> PlacedObject</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[];</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  creators</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> CreatorPresence</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> DeltaUpdate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  chunkId</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> string</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  fromVersion</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  toVersion</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  addedObjects</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> PlacedObject</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[];</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  removedObjectIds</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> string</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[];</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  modifiedObjects</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Partial</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">PlacedObject</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>[];</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  creatorMoves</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> CreatorPosition</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h3 id="resolucion-de-conflictos-en-las-ediciones-de-los-creadores" tabindex="-1">Resolución de conflictos en las ediciones de los creadores <a class="header-anchor" href="#resolucion-de-conflictos-en-las-ediciones-de-los-creadores" aria-label="Permalink to &quot;Resolución de conflictos en las ediciones de los creadores&quot;"></a></h3>
<p>Cuando dos creadores modifican simultáneamente la misma zona, necesitas una estrategia para resolver conflictos. Aquí es donde importa la elección del modelo de colaboración en tiempo real.</p>
<p><strong>Prevalece la última escritura</strong> es la opción más sencilla. Cada objeto tiene un único propietario en un momento dado. Si estás editando un edificio, nadie más puede editarlo hasta que lo liberes. Es sencillo y no genera conflictos, pero limita la colaboración.</p>
<p>La <strong>transformación operacional (OT)</strong> es lo que utiliza Google Docs. Las operaciones se transforman teniendo en cuenta las operaciones concurrentes para producir un resultado coherente. Funciona bien con texto, pero se complica en las operaciones espaciales 3D. Figma utiliza una variante de este sistema para su lienzo 2D.</p>
<p>Los <strong>CRDT (tipos de datos replicados sin conflictos)</strong> permiten realizar ediciones concurrentes que siempre convergen en el mismo estado sin necesidad de coordinación. Para un mundo con objetos discretos (cada uno con un ID y sus propiedades), un registro en el que prevalezca la última escritura para cada propiedad, combinado con un conjunto en el que prevalezcan las adiciones para la colección de objetos, proporciona convergencia automática. Yjs y Automerge son bibliotecas CRDT para JavaScript con calidad de producción.</p>
<p><strong>Nuestra recomendación:</strong> usa CRDT para el estado de los objetos del mundo (qué existe, dónde está y qué propiedades tiene) y un servidor autoritativo para la validación espacial (que no haya dos objetos en el mismo lugar y que los objetos permanezcan dentro de los límites del mundo). El CRDT gestiona la colaboración. El servidor gestiona las físicas.</p>
<h3 id="gestion-de-la-escala-¿cuantos-jugadores" tabindex="-1">Gestión de la escala: ¿cuántos jugadores? <a class="header-anchor" href="#gestion-de-la-escala-¿cuantos-jugadores" aria-label="Permalink to &quot;Gestión de la escala: ¿cuántos jugadores?&quot;"></a></h3>
<p>Los MMO para navegador ya existen. Hordes.io admite más de 200 jugadores en una misma escena dentro del navegador. BrowserQuest (el experimento de Mozilla) gestionaba a cientos de jugadores con un sencillo mundo basado en casillas. La cuestión no es si los navegadores pueden gestionar el multijugador, sino qué fidelidad visual puedes mantener a medida que aumenta el número de jugadores.</p>
<p><strong>Presupuesto de renderizado de jugadores:</strong> cada jugador visible necesita una malla, animaciones y, potencialmente, una apariencia personalizada por el creador. A 60 fps, dispones de 16 ms por fotograma. Un presupuesto razonable sería:</p>
<ul>
<li>50 jugadores totalmente animados a corta distancia: ~2 ms de animación + deformación esquelética</li>
<li>200 jugadores a media distancia (animación simplificada y renderizado por instancias): ~1 ms</li>
<li>Más de 500 jugadores como puntos o iconos en el minimapa: coste insignificante</li>
</ul>
<p>Esto permite mostrar una población visible de unos 250 jugadores en una sola vista, más que suficiente para un mundo de creadores. Las capitales de World of Warcraft rara vez muestran más de 200 personajes a la vez.</p>
<p><strong>Presupuesto de red:</strong> cada jugador que envía su posición a 20 Hz genera aproximadamente 40 bytes * 20 = 800 bytes/segundo. Con 200 jugadores visibles, son 160 KB/s de datos de posición. Si añades el estado del mundo, el chat y las acciones de los creadores, obtienes entre 200 y 500 KB/s por cliente. Está dentro de las capacidades de la banda ancha, aunque merece la pena comprimirlo.</p>
<h2 id="sistema-de-terreno" tabindex="-1">Sistema de terreno <a class="header-anchor" href="#sistema-de-terreno" aria-label="Permalink to &quot;Sistema de terreno&quot;"></a></h2>
<p>El terreno es la base de cualquier mundo abierto. También es donde más se notan las limitaciones del navegador, porque debe estar en todas partes y permanecer siempre visible.</p>
<h3 id="terreno-basado-en-mapas-de-alturas" tabindex="-1">Terreno basado en mapas de alturas <a class="header-anchor" href="#terreno-basado-en-mapas-de-alturas" aria-label="Permalink to &quot;Terreno basado en mapas de alturas&quot;"></a></h3>
<p>Al igual que Skyrim, utiliza un mapa de alturas. Una cuadrícula 2D de valores de altura genera terreno 3D mediante un sombreador de vértices. Es muchísimo más compacto que un terreno formado por mallas arbitrarias.</p>
<p>Un mapa de alturas de 4096x4096 con una precisión de 16 bits ocupa 32 MB sin comprimir. Pero nunca se carga entero de una vez. Cada sector de 64 m utiliza una sección de 65x65 del mapa de alturas (unos 8,4 KB a 16 bits). Si la comprimes con codificación delta y zlib, ocupa menos de 2 KB por sector.</p>
<p>La <strong>mezcla de texturas</strong> pinta varios materiales de terreno (hierba, roca, tierra y arena) mediante un mapa de mezcla. Cada sector tiene un mapa de mezcla RGBA de 4 canales, donde cada canal controla el peso de mezcla de un material. Con 4 texturas por mapa de mezcla y la posibilidad de variar estos mapas en cada sector, se consigue diversidad visual en todo el mundo.</p>
<p>Los renderizadores de terreno modernos utilizan <strong>texturizado virtual</strong> (también llamado megatextura, procedente de la tecnología de id Software para Rage). En lugar de mezclar las texturas durante la ejecución, se prerenderiza la textura combinada del terreno a alta resolución y se transmiten sus mosaicos a medida que se mueve la cámara. Esto intercambia espacio de almacenamiento por rendimiento durante la ejecución. Los sombreadores de cómputo de WebGPU pueden gestionar la retroalimentación y las tablas de páginas necesarias para el texturizado virtual.</p>
<h3 id="clipmap-o-geomapeado-por-niveles" tabindex="-1">Clipmap o geomapeado por niveles <a class="header-anchor" href="#clipmap-o-geomapeado-por-niveles" aria-label="Permalink to &quot;Clipmap o geomapeado por niveles&quot;"></a></h3>
<p>Para renderizar terrenos grandes en un navegador, funcionan bien CDLOD (LOD de C. Dick) o el geomapeado por niveles. El terreno se renderiza como un conjunto de anillos concéntricos alrededor de la cámara, cada uno con la mitad de resolución que el anterior. Cerca de la cámara se ve el terreno a resolución completa. A lo lejos se muestra una versión menos detallada. Las transiciones son fluidas porque la geometría se transforma gradualmente entre niveles.</p>
<p>Esta técnica es eficiente para la GPU (una llamada de dibujado por anillo), permite gestionar terreno infinito con una cantidad constante de memoria y funciona en WebGL 2. Es lo que utilizan Flight Simulator y la mayoría de los juegos modernos de mundo abierto en algún nivel.</p>
<h3 id="terreno-modificado-por-los-creadores" tabindex="-1">Terreno modificado por los creadores <a class="header-anchor" href="#terreno-modificado-por-los-creadores" aria-label="Permalink to &quot;Terreno modificado por los creadores&quot;"></a></h3>
<p>Si los creadores pueden esculpir el terreno, necesitas una forma de almacenar y transmitir las modificaciones sobre el mapa de alturas base. Hay dos enfoques:</p>
<p>Los <strong>mapas de alturas delta</strong> almacenan la diferencia entre el terreno base y el terreno modificado. La mayor parte del mundo no está modificada (los deltas son cero), por lo que se comprime extremadamente bien. Al cargar un sector, aplica el delta sobre la base.</p>
<p>Las <strong>capas de vóxeles</strong> permiten realizar modificaciones más drásticas (cuevas, salientes y arcos). Un mapa de alturas no puede representar un terreno donde un punto tenga dos alturas. Una cuadrícula de vóxeles dispersa, almacenada únicamente en los sectores modificados, permite hacerlo. Marching Cubes o el contorneado dual generan la malla. Es más costoso, pero permite editar el terreno al estilo de Minecraft.</p>
<h2 id="generacion-de-mundos-con-ia" tabindex="-1">Generación de mundos con IA <a class="header-anchor" href="#generacion-de-mundos-con-ia" aria-label="Permalink to &quot;Generación de mundos con IA&quot;"></a></h2>
<p>Aquí es donde las capacidades actuales de IA generativa de Cinevva se convierten en un multiplicador de fuerza. En lugar de crear manualmente cada roca y cada árbol, los creadores pueden indicar a la IA cómo poblar el mundo.</p>
<h3 id="generacion-de-terreno-con-campos-neuronales" tabindex="-1">Generación de terreno con campos neuronales <a class="header-anchor" href="#generacion-de-terreno-con-campos-neuronales" aria-label="Permalink to &quot;Generación de terreno con campos neuronales&quot;"></a></h3>
<p>Las investigaciones recientes sobre generación neuronal de terrenos (GET3D de NVIDIA, el modo de red neuronal de Terragen y artículos como &quot;Terrain Generation Using Procedural Models&quot;) demuestran que los modelos entrenados pueden generar terrenos verosímiles a partir de instrucciones de texto o bocetos. Un creador podría dibujar una costa aproximada y decir «colinas boscosas que llegan hasta una costa rocosa» para obtener un mapa de alturas con la erosión, las máscaras de vegetación y las asignaciones de materiales apropiadas.</p>
<p>Para entregarlo al navegador, la generación se ejecutaría en el servidor y se transmitiría el resultado. El modelo generativo no necesita ejecutarse en el navegador. Produce mapas de alturas y mapas de mezcla que el navegador puede renderizar mediante el flujo de procesamiento estándar del terreno.</p>
<h3 id="generacion-de-recursos-3d" tabindex="-1">Generación de recursos 3D <a class="header-anchor" href="#generacion-de-recursos-3d" aria-label="Permalink to &quot;Generación de recursos 3D&quot;"></a></h3>
<p>Modelos como <a href="https://github.com/Tencent-Hunyuan/HunyuanVideo" target="_blank" rel="noreferrer">Hunyuan3D</a>, Meshy, Tripo y Rodin pueden generar mallas 3D a partir de texto o imágenes. El flujo de trabajo para un mundo de creadores sería:</p>
<ol>
<li>El creador describe o dibuja lo que quiere («un arco de piedra cubierto de musgo» o «una farola futurista»)</li>
<li>El servidor ejecuta el modelo generativo y produce una malla de alta densidad</li>
<li>El servidor la procesa automáticamente: reduce el número de polígonos a una cantidad adecuada para la web, genera los LOD, hornea las texturas en un atlas y exporta el resultado como GLB con compresión Draco</li>
<li>El recurso aparece en el inventario del creador, listo para colocarlo en el mundo</li>
</ol>
<p>Este flujo ya existe por partes en Cinevva. Lo que falta es el paso de LOD/optimización y el sistema de colocación en el mundo.</p>
<h3 id="poblacion-procedural" tabindex="-1">Población procedural <a class="header-anchor" href="#poblacion-procedural" aria-label="Permalink to &quot;Población procedural&quot;"></a></h3>
<p>Incluso con recursos generados mediante IA, colocar manualmente cada árbol de un bosque resulta tedioso. Las reglas de distribución procedural permiten a los creadores definir zonas («esta área es un bosque denso», «esta ladera es un pedregal») para que el sistema las pueble automáticamente.</p>
<p>Los sombreadores de cómputo de la GPU pueden ejecutar la distribución en el navegador. A partir de un mapa de densidad y un conjunto de reglas (separación mínima, restricciones de pendiente e intervalo de alturas), una pasada de cómputo genera las posiciones de las instancias de un sector completo en menos de 1 ms. Al modificar el mapa de densidad, la vegetación se regenera al instante.</p>
<h2 id="sistema-de-entidades-y-componentes-ecs" tabindex="-1">Sistema de Entidades y Componentes (ECS) <a class="header-anchor" href="#sistema-de-entidades-y-componentes-ecs" aria-label="Permalink to &quot;Sistema de Entidades y Componentes (ECS)&quot;"></a></h2>
<p>Un mundo abierto con miles de objetos necesita un sistema eficiente de gestión de entidades. El patrón ECS (popular en los motores de juegos desde DOTS de Unity y Bevy) se adapta bien a JavaScript.</p>
<p><strong>bitECS</strong> es un ECS de alto rendimiento para JavaScript que utiliza arrays tipados y operaciones bit a bit. Las entidades son simples enteros. Los componentes son arrays tipados contiguos (uno por cada tipo de componente). Los sistemas recorren los arrays secuencialmente, lo que favorece el uso de la caché incluso en JavaScript.</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { createWorld, defineComponent, Types, defineQuery, addEntity, addComponent } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'bitecs'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Position</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineComponent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({ x: Types.f32, y: Types.f32, z: Types.f32 });</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Velocity</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineComponent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({ x: Types.f32, y: Types.f32, z: Types.f32 });</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> ChunkRef</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineComponent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({ chunkX: Types.i16, chunkZ: Types.i16 });</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> world</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> createWorld</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> movingQuery</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineQuery</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">([Position, Velocity]);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> movementSystem</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">world</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> entities</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> movingQuery</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(world);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> entities.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">length</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">++</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> eid</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> entities[i];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    Position.x[eid] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Velocity.x[eid] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> dt;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    Position.y[eid] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Velocity.y[eid] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> dt;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    Position.z[eid] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Velocity.z[eid] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> dt;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> world;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>En un mundo abierto, el ECS se encarga de todo: personajes de jugadores, objetos colocados, PNJ, partículas, activadores y elementos decorativos del mundo. Cuando se descarga un chunk, sus entidades se eliminan del ECS. Cuando se carga un chunk, se añaden las entidades. Al ECS no le importa la organización espacial. Simplemente procesa componentes.</p>
<h2 id="fisica" tabindex="-1">Física <a class="header-anchor" href="#fisica" aria-label="Permalink to &quot;Física&quot;"></a></h2>
<p>La física en el navegador ha mejorado sorprendentemente gracias a WebAssembly.</p>
<h3 id="rapier-rust-wasm" tabindex="-1">Rapier (Rust -&gt; Wasm) <a class="header-anchor" href="#rapier-rust-wasm" aria-label="Permalink to &quot;Rapier (Rust -&gt; Wasm)&quot;"></a></h3>
<p>Rapier es un motor de física escrito en Rust que se compila a WebAssembly. Gestiona cuerpos rígidos, colisionadores, articulaciones, controladores de personajes y trazado de rayos. Su rendimiento se encuentra dentro de un factor de 2-3 respecto a Bullet/PhysX nativos para cargas de trabajo habituales en juegos.</p>
<p>En un mundo abierto, Rapier se encarga de:</p>
<ul>
<li>El controlador del personaje del jugador (caminar sobre el terreno, subir escalones, deslizarse por pendientes)</li>
<li>Las colisiones entre objetos (objetos colocados, proyectiles)</li>
<li>El trazado de rayos para las interacciones del jugador (hacer clic en un objeto para seleccionarlo)</li>
<li>Los volúmenes activadores (entrar en una zona y activar un evento)</li>
</ul>
<p>Rapier se ejecuta en un Web Worker, por lo que la simulación física no bloquea el renderizado. En cada fotograma, envías posiciones al renderizador y recibes a cambio los eventos de entrada.</p>
<h3 id="havok-para-la-web-mediante-babylon-js" tabindex="-1">Havok para la web (mediante Babylon.js) <a class="header-anchor" href="#havok-para-la-web-mediante-babylon-js" aria-label="Permalink to &quot;Havok para la web (mediante Babylon.js)&quot;"></a></h3>
<p>Si eliges Babylon.js, el motor de física Havok viene integrado como módulo Wasm. Havok es el motor de física que utilizan muchos juegos AAA (Half-Life 2, Skyrim, Breath of the Wild). La compilación Wasm tiene calidad de producción y está optimizada para el grafo de escena de Babylon.</p>
<h3 id="colisiones-del-terreno" tabindex="-1">Colisiones del terreno <a class="header-anchor" href="#colisiones-del-terreno" aria-label="Permalink to &quot;Colisiones del terreno&quot;"></a></h3>
<p>Los motores de física necesitan geometría de colisión para el terreno. Generar una malla triangular a resolución completa para todo el terreno visible sería costoso. En su lugar, genera campos de altura de colisión solo para los chunks cercanos al jugador (los 3x3 o 5x5 chunks más próximos) y utiliza colisiones simplificadas para todo lo demás. El colisionador de campos de altura de Rapier está diseñado precisamente para este caso de uso.</p>
<h2 id="audio" tabindex="-1">Audio <a class="header-anchor" href="#audio" aria-label="Permalink to &quot;Audio&quot;"></a></h2>
<p>El sonido transforma un espacio 3D, de una demostración visual, en un lugar. La API Web Audio proporciona todo lo necesario para el audio espacial en un navegador.</p>
<p>El <strong>audio espacial con HRTF</strong> (función de transferencia relacionada con la cabeza) sitúa los sonidos en el espacio 3D. Una cascada a tu izquierda suena como si estuviera a tu izquierda. Al acercarte, suena más fuerte. Si caminas detrás de un edificio, se amortigua (con procesamiento adicional).</p>
<p>Las <strong>zonas ambientales</strong> funcionan como la mezcla de texturas aplicada al audio. Define regiones (bosque, cueva, costa, ciudad) y realiza fundidos cruzados entre paisajes sonoros ambientales a medida que el jugador se desplaza entre ellas. Así consigue Skyrim que los bosques parezcan vivos. Superpón viento, pájaros, hojas que crujen y animales lejanos. Nada de esto es complejo. Todo es espacial.</p>
<p>El <strong>rendimiento de Web Audio</strong> es suficiente para decenas de fuentes espaciales simultáneas. El cuello de botella suele ser el tamaño de los recursos, no el procesamiento. Utiliza Opus o AAC para el audio comprimido, transmite las pistas ambientales largas y precarga los efectos de sonido cortos (pasos, interacciones).</p>
<h2 id="agua-clima-y-atmosfera" tabindex="-1">Agua, clima y atmósfera <a class="header-anchor" href="#agua-clima-y-atmosfera" aria-label="Permalink to &quot;Agua, clima y atmósfera&quot;"></a></h2>
<p>Todo mundo abierto memorable tiene agua y clima. Estos sistemas definen el ambiente y hacen que el mundo parezca vivo. Además, son sorprendentemente viables en un navegador.</p>
<h3 id="renderizado-del-agua" tabindex="-1">Renderizado del agua <a class="header-anchor" href="#renderizado-del-agua" aria-label="Permalink to &quot;Renderizado del agua&quot;"></a></h3>
<p>El agua en 3D para navegadores tiene tres niveles de complejidad, y puedes publicar primero el más sencillo y mejorarlo más adelante.</p>
<p><strong>Nivel 1: plano reflectante.</strong> Una malla plana a la altura del agua con un material reflectante/refractante. Renderiza la escena invertida en una textura (reflexión planar), mézclala con un tono azul y añade mapas de normales en movimiento para simular las olas. Esto es lo que hace el shader de agua básico de Skyrim. En Three.js, el ejemplo <code>Water</code> del repositorio oficial lo implementa. En Babylon.js, <code>WaterMaterial</code> lo ofrece de serie. Coste: una pasada de renderizado adicional para los reflejos (media resolución es suficiente), además del dibujado de la superficie del agua. En una GPU de gama media, esto añade 2-3 ms por fotograma.</p>
<p><strong>Nivel 2: reflejos en espacio de pantalla + efectos basados en profundidad.</strong> En lugar de realizar una pasada de renderizado independiente para los reflejos, muestrea el búfer de fotograma existente (SSR). Añade absorción del color basada en la profundidad (el agua es más oscura donde tiene mayor profundidad), espuma en las orillas mediante comparación de profundidad y cáusticas proyectadas sobre el terreno subacuático. Esto es lo que utiliza The Witcher 3. SSR está disponible tanto en la pila de posprocesamiento de Three.js como en la canalización de renderizado de Babylon.js. Coste: 1-2 ms para SSR y un coste insignificante para los efectos de profundidad.</p>
<p><strong>Nivel 3: simulación oceánica mediante FFT.</strong> Para mar abierto, utiliza una transformada rápida de Fourier para simular espectros de olas en la GPU. El artículo de Jerry Tessendorf «Simulating Ocean Water» (2001) es la base que utilizan todos los motores de juegos importantes. La FFT se ejecuta como un shader de cómputo en WebGPU y genera un mapa de desplazamiento y otro de normales en cada fotograma. El océano resultante parece extraordinariamente convincente. Esto es lo que utilizan Sea of Thieves, Assassin's Creed Black Flag y Uncharted 4. En WebGPU, una simulación oceánica FFT de 256x256 se ejecuta en menos de 1 ms en GPU de escritorio.</p>
<div class="language-wgsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">wgsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">compute</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> @</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">workgroup_size</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">16</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">16</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> fftOceanDisplacement</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">builtin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(global_invocation_id) id: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">u32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> k </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">x) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> N</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">/</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">y) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> N</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">/</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> omega </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> sqrt</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">length</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(k) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> gravity);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> phase </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> omega </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> time;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> h </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> spectrum[id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">xy] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cos</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(phase), </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">sin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(phase));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    displacement[id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">xy] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> h;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>Para un mundo de creadores, empieza con el nivel 1 (plano reflectante) y pasa al nivel 2 cuando el renderizador madure. El nivel 3 solo es necesario si el mundo tiene mar abierto.</p>
<h3 id="sistemas-meteorologicos" tabindex="-1">Sistemas meteorológicos <a class="header-anchor" href="#sistemas-meteorologicos" aria-label="Permalink to &quot;Sistemas meteorológicos&quot;"></a></h3>
<p>El clima de Skyrim y BotW se controla mediante una máquina de estados con transiciones. Despejado &gt; Nublado &gt; Lluvia &gt; Tormenta &gt; Despejado. Cada estado modifica varios sistemas al mismo tiempo: cielo, densidad de la niebla, color de la luz ambiental, efectos de partículas (lluvia/nieve), audio (viento, lluvia) y propiedades de la jugabilidad (en BotW, las superficies mojadas son resbaladizas).</p>
<p>En un mundo para navegadores, el sistema meteorológico tiene tres capas:</p>
<p><strong>Renderizado del cielo.</strong> Un shader de cielo procedimental es más barato y flexible que las texturas de cielo. Los modelos de cielo Preetham o Hosek-Wilkie calculan colores físicamente plausibles únicamente a partir de la posición del sol. Añade una capa de nubes utilizando ruido 3D desplazado a través de un plano. Babylon.js incluye un material de cielo procedimental. Three.js tiene el ejemplo <code>Sky</code>. Ambos producen resultados convincentes con un coste insignificante para la GPU (se trata de un único cuadrilátero a pantalla completa).</p>
<p><strong>Efectos de partículas.</strong> La lluvia es un sistema de partículas con miles de cuadriláteros finos que caen desde arriba. La nieve es similar, pero sus trayectorias son más lentas y erráticas. La niebla es una pasada de posprocesamiento que mezcla la escena con un color de niebla según la profundidad. Todos ellos son efectos estándar de WebGL. El coste depende del número de partículas: 10 000 partículas de lluvia añaden aproximadamente 0,5 ms por fotograma.</p>
<p><strong>Respuesta del entorno.</strong> Las superficies mojadas aumentan la reflexión especular. La acumulación de nieve añade blanco a las superficies orientadas hacia arriba. Aparecen charcos en las zonas cóncavas del terreno. Son trucos de shaders, no cambios de geometría. Un uniforme de «humedad» modifica la rugosidad del material. Un uniforme de «cobertura de nieve» mezcla blanco en las superficies cuyas normales apuntan hacia arriba. GTA V y The Witcher 3 utilizan exactamente este enfoque.</p>
<p><strong>Clima sincronizado.</strong> En un mundo multijugador, el clima debe ser coherente para todos los clientes. El método más sencillo consiste en que el servidor transmita un estado meteorológico (incluido el progreso de la transición) a 1 Hz. Los clientes interpolan localmente. Como el clima cambia lentamente (una transición de despejado a lluvia tarda entre 30 y 60 segundos), incluso una actualización retrasada se ve fluida.</p>
<h3 id="perspectiva-atmosferica" tabindex="-1">Perspectiva atmosférica <a class="header-anchor" href="#perspectiva-atmosferica" aria-label="Permalink to &quot;Perspectiva atmosférica&quot;"></a></h3>
<p>Esta es la técnica visual más eficaz para hacer que un mundo parezca grande, y su coste es casi nulo. Los objetos lejanos se ven más difusos, azulados y con menos contraste debido a la dispersión de la luz en la atmósfera. Todos los mundos abiertos la utilizan.</p>
<p>En un shader de fragmentos, mezcla los píxeles lejanos con el color de la atmósfera según la profundidad:</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> fogFactor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 1.0</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> -</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> exp</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">distance </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> fogDensity);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> finalColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(objectColor, atmosphereColor, fogFactor);</span></span></code></pre>
</div><p>BotW lleva esto más lejos con una niebla pictórica que se transforma en una distancia de estilo acuarela. El color de la niebla cambia según la hora del día y el clima. Este único efecto de shader aporta más sensación de escala que cualquier cantidad de detalle en el terreno.</p>
<p>Para un mundo de navegador con una dirección artística estilizada, la perspectiva atmosférica es el primer efecto visual que conviene implementar. Oculta las transiciones de LOD (los objetos lejanos con menos detalle se ven bien a través de la bruma), reduce la aparición repentina visible del contenido transmitido y hace que las capturas de pantalla se vean bien incluso antes de que el mundo esté completamente poblado.</p>
<h2 id="sistemas-de-avatares" tabindex="-1">Sistemas de avatares <a class="header-anchor" href="#sistemas-de-avatares" aria-label="Permalink to &quot;Sistemas de avatares&quot;"></a></h2>
<p>Los jugadores necesitan cuerpos. En un mundo de creadores, el avatar es la principal forma de expresión personal, junto con aquello que construyes. El sistema debe ser lo bastante flexible para permitir la personalización y, al mismo tiempo, mantener unos costes de renderizado suficientemente bajos para mostrar más de 200 jugadores.</p>
<h3 id="arquitectura-de-los-avatares" tabindex="-1">Arquitectura de los avatares <a class="header-anchor" href="#arquitectura-de-los-avatares" aria-label="Permalink to &quot;Arquitectura de los avatares&quot;"></a></h3>
<p><strong>Malla base + capas de personalización.</strong> Comienza con una malla base humanoide compartida (entre 1500 y 3000 triángulos para el cuerpo). La personalización se realiza mediante:</p>
<ul>
<li>Variaciones de color/textura (tono de piel, color de pelo) mediante cambios de uniformes. Sin geometría adicional.</li>
<li>Partes de malla intercambiables (peinados, ropa, accesorios) que sustituyen secciones de la malla base. Cada parte es una pequeña malla independiente (entre 200 y 500 triángulos).</li>
<li>Variaciones de las propiedades de los materiales (armadura metálica frente a túnica de tela) mediante cambios en los parámetros de los materiales.</li>
</ul>
<p>Así gestionan los avatares Roblox, Fortnite y VRChat. El coste base se mantiene constante independientemente de la personalización.</p>
<p><strong>Ready Player Me</strong> y <strong>Avaturn</strong> ofrecen creación de avatares en el navegador y generan modelos glTF compatibles con cualquier motor 3D. Gestionan el escaneo facial a partir de fotografías, las proporciones corporales y la ropa. Los modelos resultantes están optimizados para el renderizado en tiempo real (normalmente entre 10 000 y 20 000 triángulos, reducibles a entre 3000 y 5000 para el renderizado a distancia).</p>
<h3 id="animacion-esqueletica-en-el-navegador" tabindex="-1">Animación esquelética en el navegador <a class="header-anchor" href="#animacion-esqueletica-en-el-navegador" aria-label="Permalink to &quot;Animación esquelética en el navegador&quot;"></a></h3>
<p>Todos los jugadores visibles necesitan animaciones: espera, caminar, correr, saltar y gestos. La animación esquelética deforma una malla mediante un conjunto de transformaciones de huesos en cada fotograma.</p>
<p>El <strong>skinning en la GPU</strong> es imprescindible para el rendimiento. Tanto Three.js como Babylon.js realizan el skinning en la GPU de forma predeterminada. Las matrices de huesos se cargan como un búfer de uniformes o una textura, y el shader de vértices aplica las transformaciones de los huesos. El coste para la CPU consiste en calcular las transformaciones de los huesos a partir del clip de animación. Para un esqueleto de 60 huesos a 30 fps, esto supone aproximadamente 0,01 ms por personaje. Para 200 personajes: 2 ms en total. Aceptable.</p>
<p>La <strong>mezcla de animaciones</strong> combina varias animaciones (caminar + saludar, espera + mirar alrededor) mediante pesos de mezcla. Tanto Three.js (<code>AnimationMixer</code>) como Babylon.js (<code>AnimationGroup</code>) son compatibles con esta función. La mezcla se realiza en la CPU (interpolando las transformaciones de los huesos) antes de enviar el resultado combinado a la GPU.</p>
<p>La <strong>animación instanciada</strong> es la clave para renderizar muchos personajes de forma eficiente. En lugar de dibujar cada personaje como una malla independiente, hornea los fotogramas de animación en una textura (textura de animación de vértices, o VAT). Cada fila de la textura almacena las transformaciones de los huesos para un fotograma. Un shader de cómputo o de vértices lee la fila correcta según el tiempo de animación del personaje. Esto permite renderizar cientos de personajes con una única llamada de dibujado instanciada. The Witcher 3 y Assassin's Creed utilizan esta técnica para renderizar multitudes.</p>
<p>En WebGPU, los personajes animados mediante instancias se ven así:</p>
<div class="language-wgsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">wgsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">vertex</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> vs_main</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">builtin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(instance_index) instanceIdx: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">u32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">location</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) position: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-></span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> @</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">builtin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(position) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">> {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> animFrame </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> instances[instanceIdx]</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">animationFrame;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> boneIdx </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> vertexBoneIndices[vertexIdx];</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> boneTransform </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> textureLoad</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(animTexture, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">i32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">i32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(boneIdx), </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">i32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(animFrame)), </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> worldPos </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> instances[instanceIdx]</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">transform </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> boneTransform </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>(position, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> viewProjection </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> worldPos;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>Para los jugadores lejanos (a más de 50 metros), cambia a impostores de billboard: un cuadrilátero plano que muestra un sprite prerenderizado del personaje desde el ángulo de visión actual. Es el mismo truco que utiliza Skyrim para los árboles lejanos, aplicado a los personajes. La transición es imperceptible a distancia.</p>
<h3 id="cinematica-inversa-para-las-interacciones" tabindex="-1">Cinemática inversa para las interacciones <a class="header-anchor" href="#cinematica-inversa-para-las-interacciones" aria-label="Permalink to &quot;Cinemática inversa para las interacciones&quot;"></a></h3>
<p>Cuando un personaje recoge un objeto, intenta alcanzar el tirador de una puerta o señala algo, la IK procedimental hace que la acción parezca natural. FABRIK (cinemática inversa de alcance hacia delante y hacia atrás) es un solucionador de IK sencillo y rápido que funciona bien en tiempo real. Tanto Three.js (mediante <code>CCDIKSolver</code>) como Babylon.js (mediante <code>BoneIKController</code>) incluyen compatibilidad integrada con IK.</p>
<p>En un mundo de creadores, la IK permite que los personajes interactúen con naturalidad con los objetos colocados: sentarse en sillas colocadas por los creadores, apoyarse en barandillas o recoger objetos. Las interacciones no necesitan una animación específica para cada objeto. El sistema de IK adapta la postura del personaje a la posición del objeto.</p>
<h2 id="redes-avanzadas" tabindex="-1">Redes avanzadas <a class="header-anchor" href="#redes-avanzadas" aria-label="Permalink to &quot;Redes avanzadas&quot;"></a></h2>
<p>La arquitectura básica (WebSocket + WebRTC) se explicó anteriormente. A continuación se ofrece información más detallada sobre protocolos, compresión y nuevas opciones de transporte.</p>
<h3 id="protocolos-de-mensajes-binarios" tabindex="-1">Protocolos de mensajes binarios <a class="header-anchor" href="#protocolos-de-mensajes-binarios" aria-label="Permalink to &quot;Protocolos de mensajes binarios&quot;"></a></h3>
<p>JSON sobre WebSocket desperdicia 10 veces más ancho de banda que la codificación binaria. En un mundo multijugador en tiempo real, todos los mensajes deben ser binarios.
<strong>FlatBuffers</strong> (de Google) es la opción más adecuada para las redes de juegos. A diferencia de Protocol Buffers, FlatBuffers proporciona acceso sin copias a los datos serializados. No se decodifica el mensaje en objetos de JavaScript. Los campos se leen directamente del búfer. Esto elimina las asignaciones y la presión sobre el recolector de basura que Protocol Buffers generaría en una ruta crítica. FlatBuffers dispone de un generador de código para JavaScript/TypeScript.</p>
<p>Una actualización de la posición de un jugador en FlatBuffers:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Schema: PlayerUpdate { id: uint16, x: float32, y: float32, z: float32, yaw: float16, pitch: float16, animState: uint8 }</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Total: 17 bytes per player update</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// vs JSON: {"id":42,"x":103.5,"y":12.3,"z":-47.8,"yaw":1.57,"pitch":0.2,"animState":3} = 80+ bytes</span></span></code></pre>
</div><p>Para 200 jugadores a 20 Hz, la diferencia es 200 * 17 * 20 = 68 KB/s (binario) frente a 200 * 80 * 20 = 320 KB/s (JSON). El formato binario es 4,7 veces más pequeño y evita las asignaciones de JSON.parse en el bucle crítico.</p>
<p><strong>MessagePack</strong> es más sencillo que FlatBuffers (sin esquema ni generación de código), pero sigue siendo entre un 30 y un 50 % más pequeño que JSON. Es un buen punto intermedio si quieres datos binarios sin tener que gestionar esquemas.</p>
<h3 id="cuantizacion-de-posiciones-y-compresion-delta" tabindex="-1">Cuantización de posiciones y compresión delta <a class="header-anchor" href="#cuantizacion-de-posiciones-y-compresion-delta" aria-label="Permalink to &quot;Cuantización de posiciones y compresión delta&quot;"></a></h3>
<p>Las posiciones de los jugadores no necesitan la precisión de un número de coma flotante de 32 bits. Si tu mundo mide 4 km x 4 km, un entero sin signo de 16 bits ofrece una precisión de 6 cm (4000 m / 65536). En la mayoría de los juegos, es indistinguible de la precisión completa. Esto reduce a la mitad el tamaño de los datos de posición.</p>
<p>La <strong>compresión delta</strong> solo envía la diferencia respecto al último estado confirmado. Si un jugador se ha desplazado 0,5 metros desde la última actualización, el delta es un número pequeño que se comprime bien. Combinada con una codificación de longitud variable (los deltas más pequeños usan menos bytes), las actualizaciones de posición comprimidas mediante delta suelen ocupar entre 3 y 6 bytes en lugar de 12.</p>
<p>La <strong>navegación por estima</strong> reduce la frecuencia de actualización. En lugar de enviar la posición a 20 Hz, se envían la posición y la velocidad. El cliente extrapola la posición entre actualizaciones. Solo se envía una corrección cuando la posición real se desvía de la posición prevista por encima de un umbral. Esto puede reducir entre un 60 y un 80 % el ancho de banda de las actualizaciones de posición para los jugadores que se desplazan en línea recta, que es la mayoría del movimiento.</p>
<p>RuneScape utiliza una versión extrema de este sistema: el movimiento de los jugadores se basa en casillas, por lo que una orden de movimiento es simplemente una casilla de destino. El cliente anima localmente la trayectoria. En un mundo 3D continuo se usaría una navegación por estima suave, pero el principio es el mismo.</p>
<h3 id="webtransport" tabindex="-1">WebTransport <a class="header-anchor" href="#webtransport" aria-label="Permalink to &quot;WebTransport&quot;"></a></h3>
<p>WebTransport es un protocolo más reciente que podría sustituir tanto a WebSocket como a WebRTC DataChannel para las redes de juegos. Funciona sobre HTTP/3 (QUIC) y ofrece:</p>
<ul>
<li><strong>Flujos fiables y ordenados</strong> (como WebSocket, pero multiplexados, de modo que un bloqueo en un flujo no detenga los demás)</li>
<li><strong>Datagramas no fiables</strong> (como UDP, para actualizaciones de posición que quedan obsoletas de inmediato si se retrasan)</li>
<li><strong>Flujos multiplexados</strong> (flujos separados para el chat, el estado del mundo y las posiciones, sin bloqueo de cabecera de línea)</li>
</ul>
<p>Esto es exactamente lo que necesitan las redes de juegos. WebSocket ofrece una comunicación fiable y ordenada, pero el bloqueo de cabecera de línea perjudica la latencia de las actualizaciones de posición. WebRTC DataChannel permite comunicación no fiable, pero su configuración es compleja y requiere ICE/STUN. WebTransport ofrece ambas cosas mediante una sola conexión.</p>
<p>Compatibilidad con navegadores: Chrome, Edge y Firefox ofrecen WebTransport desde hace tiempo, y Safari 26.4 lo incorporó en marzo de 2026. Ese cambio llevó a WebTransport al estado Baseline, lo que significa que ahora funciona en todos los navegadores principales, incluido iOS, donde todos los navegadores utilizan WebKit. Sigue mereciendo la pena mantener WebSocket como alternativa para las versiones anteriores de Safari, pero WebTransport ya puede utilizarse ampliamente.</p>
<p>Cloudflare admite WebTransport mediante Workers, lo que encaja con nuestra infraestructura.</p>
<h3 id="gestion-de-relevancia-a-gran-escala" tabindex="-1">Gestión de relevancia a gran escala <a class="header-anchor" href="#gestion-de-relevancia-a-gran-escala" aria-label="Permalink to &quot;Gestión de relevancia a gran escala&quot;"></a></h3>
<p>El reto de red con más de 200 jugadores no es el ancho de banda por jugador. Es el problema cuadrático: si cada jugador envía actualizaciones a todos los demás, 200 jugadores implican 200 * 199 = 39.800 mensajes de actualización por tick. El servidor necesita filtrarlos.</p>
<p>La gestión del <strong>área de interés (AOI)</strong> significa que cada jugador solo recibe actualizaciones sobre las entidades que se encuentran dentro de su rango de visión. La implementación utiliza la misma cuadrícula espacial que el sistema de chunks: cuando la posición de un jugador corresponde al chunk (3, 7), recibe actualizaciones de los chunks (2-4, 6-8), un vecindario de 3x3. Las entidades situadas fuera de este rango no se envían.</p>
<p>Las <strong>actualizaciones basadas en prioridades</strong> dentro del AOI destinan más ancho de banda a las entidades importantes. Un jugador que corre hacia ti recibe actualizaciones a 20 Hz. Un jugador inmóvil a 200 metros recibe actualizaciones a 2 Hz. Un PNJ que no hace nada recibe actualizaciones a 0,5 Hz. El servidor mantiene una cola de prioridad por cliente y asigna el ancho de banda según la relevancia de cada entidad (distancia, velocidad y posibilidad de interacción).</p>
<p><strong>Inactividad.</strong> Las entidades cuyo estado no ha cambiado durante N segundos pasan a estar inactivas y dejan de generar tráfico de red por completo. El cliente conserva el último estado conocido hasta que recibe un evento de reactivación. En un mundo creado por usuarios, donde la mayoría de los objetos colocados son estáticos, la inactividad elimina la mayor parte del tráfico de red potencial.</p>
<p>La frecuencia de ticks variable de Slither.io (5 Hz para elementos lejanos frente a 30 Hz para los cercanos) es una versión simplificada de este enfoque. La «dilatación temporal» de EVE Online es la versión extrema: cuando hay demasiados jugadores en una misma zona, el servidor reduce la frecuencia de ticks del juego para mantener la coherencia. Para nuestro caso de uso, un AOI basado en prioridades y con inactividad ofrece el equilibrio adecuado.</p>
<h2 id="gaussian-splatting-y-nuevas-tecnologias-de-renderizado" tabindex="-1">Gaussian Splatting y nuevas tecnologías de renderizado <a class="header-anchor" href="#gaussian-splatting-y-nuevas-tecnologias-de-renderizado" aria-label="Permalink to &quot;Gaussian Splatting y nuevas tecnologías de renderizado&quot;"></a></h2>
<p>El renderizado tradicional de mallas (triángulos + texturas) ya no es la única opción para crear 3D en el navegador. Varias técnicas más recientes están alcanzando la viabilidad necesaria para usarse en producción.</p>
<h3 id="gaussian-splatting-3d" tabindex="-1">Gaussian Splatting 3D <a class="header-anchor" href="#gaussian-splatting-3d" aria-label="Permalink to &quot;Gaussian Splatting 3D&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/T_kXY43VZnk" title="Gaussian Splatting 3D para el renderizado en tiempo real de campos de radiancia" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Gaussian Splatting 3D (SIGGRAPH 2023): reconstrucción fotorrealista de escenas a partir de fotografías, renderizada en tiempo real en el navegador. Los creadores podrían escanear objetos del mundo real con un teléfono y colocarlos directamente en el mundo.</div>
<p>Gaussian Splatting 3D (3DGS) reconstruye escenas 3D a partir de fotografías representándolas como millones de gaussianas 3D coloreadas (elipsoides orientados y coloreados). El renderizador ordena y rasteriza estos splats en lugar de triángulos.</p>
<p>Por qué es importante para un mundo creado por usuarios:</p>
<ul>
<li><strong>La captura fotogramétrica se vuelve trivial.</strong> Un creador toma con su teléfono 50 fotos de un objeto o lugar del mundo real. El procesamiento en el servidor (mediante herramientas como Nerfstudio o gsplat) produce en minutos una escena de Gaussian Splatting. Esa escena se carga en el navegador y ofrece un aspecto fotorrealista desde cualquier ángulo.</li>
<li><strong>El renderizado en el navegador está resuelto.</strong> Varias implementaciones de código abierto renderizan Gaussian Splats en WebGL y WebGPU. PlayCanvas incorpora renderizado de splats. Luma AI dispone de un visor compatible con Three.js. gsplat.js es una biblioteca independiente. El rendimiento es bueno: entre 1 y 3 millones de splats se renderizan a 30-60 fps en GPU de escritorio.</li>
<li><strong>El formato de datos es compacto.</strong> Una escena de Gaussian Splatting de una habitación puede ocupar entre 10 y 30 MB comprimida. Los objetos individuales ocupan entre 1 y 5 MB. Es comparable a los recursos de malla con texturas.</li>
</ul>
<p>La contrapartida es que las escenas de splats son estáticas. No se pueden animar ni modificar fácilmente. Funcionan bien como elementos decorativos del entorno —un árbol fotorrealista, una escultura real capturada o la fachada escaneada de un edificio—, pero no para objetos interactivos del juego. El enfoque híbrido consiste en utilizar splats para los detalles ambientales y mallas tradicionales para los objetos interactivos.</p>
<p><strong>Para un mundo creado por usuarios:</strong> permite que los creadores capturen objetos reales mediante fotografías tomadas con el teléfono, los procesen en el servidor para convertirlos en Gaussian Splats y los coloquen en el mundo. Esto salva la distancia entre los recursos generados por IA y los objetos del mundo real. Un creador podría escanear sus propias obras de arte, muebles o elementos arquitectónicos y colocarlos directamente en el mundo compartido.</p>
<h3 id="de-campos-de-radiancia-neuronal-nerf-a-mallas" tabindex="-1">De campos de radiancia neuronal (NeRF) a mallas <a class="header-anchor" href="#de-campos-de-radiancia-neuronal-nerf-a-mallas" aria-label="Permalink to &quot;De campos de radiancia neuronal (NeRF) a mallas&quot;"></a></h3>
<p>Los NeRF representan escenas como redes neuronales que generan color y densidad para cualquier punto 3D. Producen una calidad visual extraordinaria a partir de fotografías, pero su renderizado es costoso, ya que requiere una pasada completa de inferencia de la red neuronal por píxel y fotograma.</p>
<p>El enfoque práctico para navegadores consiste en entrenar un NeRF a partir de fotografías y extraer después una malla mediante marching cubes sobre el campo de densidad. El resultado es una malla tradicional de triángulos con texturas precalculadas que cualquier motor para navegadores puede renderizar. Herramientas como Instant-NGP, Nerfstudio y Neuralangelo automatizan este flujo de trabajo. La calidad no es tan alta como al renderizar directamente el NeRF, pero es compatible con los procesos de renderizado estándar.</p>
<p>Esta es otra forma de que los creadores incorporen objetos del mundo real al mundo del navegador sin tener conocimientos de modelado.</p>
<h3 id="mesh-shaders-y-renderizado-al-estilo-nanite" tabindex="-1">Mesh shaders y renderizado al estilo Nanite <a class="header-anchor" href="#mesh-shaders-y-renderizado-al-estilo-nanite" aria-label="Permalink to &quot;Mesh shaders y renderizado al estilo Nanite&quot;"></a></h3>
<p>El sistema Nanite de UE5 renderiza miles de millones de triángulos mediante mesh shaders, renderizado controlado por la GPU y geometría virtual, transmitiendo triángulos por clúster según su cobertura en pantalla. WebGPU todavía no admite mesh shaders, pero el principio subyacente —renderizado controlado por la GPU con descarte y selección de LOD basados en cómputo— sí puede implementarse.</p>
<p>Un shader de cómputo de WebGPU puede:</p>
<ol>
<li>Leer todos los volúmenes delimitadores de los clústeres de mallas (grupos de unos 64 triángulos)</li>
<li>Comprobar cada clúster respecto al frustum de visión y al búfer de oclusión</li>
<li>Seleccionar el nivel de LOD adecuado según su tamaño en el espacio de pantalla</li>
<li>Escribir los clústeres visibles en un búfer de dibujo indirecto</li>
<li>Renderizarlo todo con una sola llamada de dibujo indirecto</li>
</ol>
<p>Este enfoque de «geometría virtual» gestiona millones de triángulos con un coste constante para la CPU: esta envía una sola llamada de dibujo independientemente de la complejidad de la escena. Así es como el renderizado en navegadores acabará gestionando grandes mundos abiertos. La implementación es compleja, pero los componentes necesarios ya existen en WebGPU.</p>
<h2 id="tecnicas-de-shaders-para-mundos-abiertos-estilizados" tabindex="-1">Técnicas de shaders para mundos abiertos estilizados <a class="header-anchor" href="#tecnicas-de-shaders-para-mundos-abiertos-estilizados" aria-label="Permalink to &quot;Técnicas de shaders para mundos abiertos estilizados&quot;"></a></h2>
<p>Una dirección artística estilizada necesita técnicas de shaders específicas. Estas son las que proporcionan el mayor impacto visual por ciclo de GPU.</p>
<h3 id="animacion-de-vegetacion-por-viento" tabindex="-1">Animación de vegetación por viento <a class="header-anchor" href="#animacion-de-vegetacion-por-viento" aria-label="Permalink to &quot;Animación de vegetación por viento&quot;"></a></h3>
<p>Los árboles y la hierba que se mecen con el viento hacen que un mundo parezca vivo. La técnica es sencilla: en el shader de vértices, se desplazan las posiciones de los vértices mediante una combinación de ondas sinusoidales determinadas por la posición en el mundo y el tiempo.</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> windOffset </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    sin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(worldPos.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.5</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> time </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 2.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> windStrength,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    0.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    cos</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(worldPos.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.3</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> time </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 1.5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> windStrength</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightFactor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> localPos.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> meshHeight;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">finalPos </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> windOffset </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightFactor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightFactor;</span></span></code></pre>
</div><p>El <code>heightFactor</code> garantiza que la base del árbol permanezca anclada mientras la parte superior es la que más se balancea. El uso de la posición en el mundo dentro de la función sinusoidal hace que los árboles adyacentes se muevan con fases ligeramente distintas, lo que crea un efecto ondulante natural a través del bosque. BotW, Skyrim y todos los mundos abiertos con vegetación utilizan esta técnica.</p>
<p>Para la hierba se aplica el mismo principio, pero con una frecuencia mayor y una longitud de onda menor. Las briznas de hierba instanciadas en la GPU —miles de cuadriláteros finos— con desfases aleatorios por instancia producen praderas convincentes con un coste mínimo. Los shaders de cómputo de WebGPU pueden generar las posiciones y orientaciones de las briznas a partir de un mapa de densidad, incorporando el viento a las transformaciones de cada instancia en cada fotograma.</p>
<h3 id="sombreado-toon-cel-shading" tabindex="-1">Sombreado toon/cel shading <a class="header-anchor" href="#sombreado-toon-cel-shading" aria-label="Permalink to &quot;Sombreado toon/cel shading&quot;"></a></h3>
<p>Si la dirección artística es estilizada —y los indicios sugieren que debería serlo—, el cel shading es la técnica fundamental. La idea consiste en cuantizar la iluminación en pasos discretos en lugar de usar gradientes suaves.</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> NdotL </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> dot</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(normal, lightDir);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> toonShading </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> step</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, NdotL) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.5</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> step</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.6</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, NdotL) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> color </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> baseColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (ambient </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> toonShading);</span></span></code></pre>
</div><p>Esto produce el clásico aspecto de dos o tres tonos. Añade una pasada de contorno —renderizando las caras traseras ligeramente expandidas o utilizando un posproceso de detección de bordes en el espacio de pantalla— para obtener un efecto de cómic.</p>
<p>El sombreado de BotW es más matizado que el cel shading puro. Utiliza un gradiente suave con un ligero salto en el límite de las sombras, además de un cambio de colores cálidos a fríos: las sombras tienen un tinte azulado y las zonas iluminadas son cálidas. Este enfoque híbrido parece más natural que el sombreado toon estricto sin dejar de percibirse como estilizado. Puede conseguirse con un shader personalizado en cualquier motor 3D para navegadores.</p>
<h3 id="shader-de-agua-estilizada" tabindex="-1">Shader de agua estilizada <a class="header-anchor" href="#shader-de-agua-estilizada" aria-label="Permalink to &quot;Shader de agua estilizada&quot;"></a></h3>
<p>El agua de un mundo estilizado no necesita una simulación realista de las olas. Una combinación de mapas de normales con desplazamiento, detección de espuma en los bordes y color basado en la profundidad produce resultados visualmente coherentes con una dirección artística al estilo de BotW.</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> depth </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> texture</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(depthTexture, screenUV).r </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> fragDepth;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> shallowColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.7</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.8</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> deepColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.05</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.15</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> waterColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(shallowColor, deepColor, </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">saturate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(depth </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 2.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">));</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> foam </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> step</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.05</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, depth) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1.0</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> -</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> step</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.15</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, depth));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">foam </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> texture</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(foamNoise, worldUV </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 3.0</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> time </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">).r;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">waterColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(waterColor, </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">), foam </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.8</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span></code></pre>
</div><p>Esto proporciona una coloración basada en la profundidad —el agua poco profunda es más clara—, espuma animada con ruido en la orilla, y todo se ejecuta en una sola pasada del shader de fragmentos.</p>
<h3 id="oclusion-ambiental-en-espacio-de-pantalla-ssao" tabindex="-1">Oclusión ambiental en espacio de pantalla (SSAO) <a class="header-anchor" href="#oclusion-ambiental-en-espacio-de-pantalla-ssao" aria-label="Permalink to &quot;Oclusión ambiental en espacio de pantalla (SSAO)&quot;"></a></h3>
<p>SSAO oscurece las esquinas, las grietas y las zonas donde se encuentran las superficies. Añade profundidad y hace que los elementos parezcan asentados en la escena sin necesidad de una costosa iluminación global. Tanto Three.js como Babylon.js incluyen implementaciones de SSAO.</p>
<p>En un mundo estilizado, SSAO es incluso más importante que en un renderizado realista, porque el sombreado plano no muestra sombras de contacto de manera natural. Una pasada ligera de SSAO —a media resolución es suficiente— añade las señales de profundidad que faltan. Coste: entre 1 y 2 ms en GPU de escritorio.</p>
<h2 id="generacion-de-mundos-en-profundidad" tabindex="-1">Generación de mundos en profundidad <a class="header-anchor" href="#generacion-de-mundos-en-profundidad" aria-label="Permalink to &quot;Generación de mundos en profundidad&quot;"></a></h2>
<p>El artículo base trató el terreno procedimental a grandes rasgos. Veamos ahora los detalles algorítmicos.</p>
<h3 id="funciones-de-ruido-para-terrenos" tabindex="-1">Funciones de ruido para terrenos <a class="header-anchor" href="#funciones-de-ruido-para-terrenos" aria-label="Permalink to &quot;Funciones de ruido para terrenos&quot;"></a></h3>
<p>Todo terreno procedimental comienza con ruido. La función de ruido produce valores pseudoaleatorios que varían suavemente en el espacio. La superposición de varias octavas —frecuencias— produce resultados de aspecto natural.</p>
<p>El <strong>ruido Perlin</strong> es el clásico. El <strong>ruido simplex</strong> es más rápido y presenta menos artefactos direccionales. <strong>OpenSimplex 2</strong> es la variante moderna con buen rendimiento en JavaScript. Para los shaders de cómputo de WebGPU, implementar ruido simplex en WGSL es sencillo: son unas 50 líneas de operaciones matemáticas.</p>
<p>El <strong>movimiento browniano fractal (fBm)</strong> superpone octavas de ruido:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>height = 0</span></span>
<span class="line"><span>amplitude = 1.0</span></span>
<span class="line"><span>frequency = baseFrequency</span></span>
<span class="line"><span>for each octave:</span></span>
<span class="line"><span>    height += amplitude * noise(position * frequency)</span></span>
<span class="line"><span>    frequency *= lacunarity (typically 2.0)</span></span>
<span class="line"><span>    amplitude *= persistence (typically 0.5)</span></span></code></pre>
</div><p>Con 6-8 octavas, el fBm produce terrenos con formaciones montañosas a gran escala, colinas a escala media y rugosidad a pequeña escala, de forma muy similar al terreno real. El parámetro de persistencia controla la rugosidad del terreno (0,3 produce colinas suaves y onduladas; 0,7 produce montañas escarpadas).</p>
<p>La <strong>deformación de dominio</strong> utiliza la salida de una función de ruido como coordenadas de entrada de otra. Esto produce terrenos que parecen erosionados y orgánicos, en lugar de uniformemente accidentados. Al aplicar 2-3 capas de deformación de dominio, el terreno empieza a parecer modelado por procesos geológicos.</p>
<h3 id="simulacion-de-erosion-hidraulica" tabindex="-1">Simulación de erosión hidráulica <a class="header-anchor" href="#simulacion-de-erosion-hidraulica" aria-label="Permalink to &quot;Simulación de erosión hidráulica&quot;"></a></h3>
<p>El terreno generado con ruido sin procesar parece papel arrugado. El terreno real parece papel arrugado sobre el que ha llovido durante un millón de años. La simulación de erosión hidráulica transforma el terreno generado con ruido en algo geológicamente verosímil.</p>
<p>El algoritmo:</p>
<ol>
<li>Deja caer una partícula de agua en una posición aleatoria del mapa de alturas</li>
<li>La partícula fluye cuesta abajo (siguiendo el gradiente del terreno)</li>
<li>En cada paso, recoge sedimentos del terreno según la velocidad y la pendiente</li>
<li>Cuando la partícula se ralentiza (terreno más llano, acumulación de agua), deposita sedimentos</li>
<li>Repite el proceso con entre 100.000 y 500.000 partículas</li>
</ol>
<p>El resultado es un terreno con valles fluviales, abanicos aluviales, crestas de aspecto natural y pendientes suaves con transiciones coherentes. El algoritmo se ejecuta sobre un mapa de alturas de 1024x1024 en unos 2-5 segundos en JavaScript, o en menos de 100 ms mediante un shader de cómputo de WebGPU.</p>
<p>La implementación de Sebastian Lague (disponible en GitHub) es la referencia estándar para desarrolladores de juegos. Produce terrenos comparables a resultados esculpidos a mano. En un mundo de creadores, ejecutar la erosión sobre terrenos generados por IA durante el procesamiento del lado del servidor haría que los paisajes generados mediante procedimientos parecieran elaborados a mano.</p>
<h3 id="asignacion-de-biomas" tabindex="-1">Asignación de biomas <a class="header-anchor" href="#asignacion-de-biomas" aria-label="Permalink to &quot;Asignación de biomas&quot;"></a></h3>
<p>Los mundos reales tienen biomas: bosques, desiertos, tundra y pantanos. La asignación de biomas vincula parámetros climáticos con regiones del terreno.</p>
<p>El enfoque de Minecraft resulta ilustrativo: definir biomas en una cuadrícula 2D mediante los ejes de temperatura y humedad. La temperatura disminuye con la altitud y la latitud. La humedad varía según la proximidad al agua y la dirección del viento predominante. Cada celda de la cuadrícula recibe una asignación de bioma (bosque, desierto, tundra, etc.) que determina las texturas del terreno, el tipo y la densidad de la vegetación, el sonido ambiental y los patrones meteorológicos.</p>
<p>En un mundo de creadores, los límites de los biomas deberían poder pintarse. El sistema genera biomas predeterminados a partir de las propiedades del terreno, pero los creadores pueden reemplazar la asignación pintando zonas de bioma en sus parcelas. Este enfoque híbrido proporciona al mundo un aspecto natural de forma predeterminada, al tiempo que permite a los creadores plasmar su visión.</p>
<h3 id="colapso-de-la-funcion-de-onda-para-estructuras" tabindex="-1">Colapso de la función de onda para estructuras <a class="header-anchor" href="#colapso-de-la-funcion-de-onda-para-estructuras" aria-label="Permalink to &quot;Colapso de la función de onda para estructuras&quot;"></a></h3>
<p>El colapso de la función de onda (WFC) genera estructuras (edificios, mazmorras y carreteras) a partir de un conjunto de piezas con restricciones de adyacencia. Dado un conjunto de módulos de construcción y unas reglas que determinan qué piezas pueden conectarse entre sí, WFC puede generar pueblos enteros, diseños de castillos o mapas de mazmorras.</p>
<p>En un mundo de creadores, WFC permite:</p>
<ul>
<li><strong>Pueblos generados automáticamente</strong> para poblar el mundo con contenido inicial antes de que los creadores lo personalicen</li>
<li><strong>Construcción asistida</strong>, donde un creador coloca unas pocas piezas y WFC rellena los huecos (como Townscaper, pero con bloques de construcción 3D)</li>
<li><strong>Generación de mazmorras</strong> para experiencias interactivas que los creadores pueden configurar (establecen el tema, la dificultad y el tamaño, y WFC genera la distribución)</li>
</ul>
<p>Oskar Stalberg (creador de Townscaper y Bad North) ha demostrado que la generación basada en WFC resulta mágica para los usuarios. Colocan unos cuantos bloques y el sistema genera estructuras estéticamente coherentes a su alrededor. Este es exactamente el principio de «herramientas sencillas, resultados ricos» que triunfa en las plataformas de creadores.</p>
<h2 id="arquitectura-de-moderacion-de-contenido" tabindex="-1">Arquitectura de moderación de contenido <a class="header-anchor" href="#arquitectura-de-moderacion-de-contenido" aria-label="Permalink to &quot;Arquitectura de moderación de contenido&quot;"></a></h2>
<p>En un mundo donde los creadores colocan contenido 3D arbitrario que otros pueden ver, la moderación no es opcional. Es un componente esencial de la infraestructura.</p>
<h3 id="flujo-de-revision-automatizada" tabindex="-1">Flujo de revisión automatizada <a class="header-anchor" href="#flujo-de-revision-automatizada" aria-label="Permalink to &quot;Flujo de revisión automatizada&quot;"></a></h3>
<p>Cada recurso que entra en el mundo pasa por un proceso de varias etapas antes de hacerse visible para otros jugadores:</p>
<ol>
<li>
<p><strong>Análisis de geometría.</strong> Se escanea la malla en busca de formas anatómicamente explícitas mediante un clasificador entrenado. Esto detecta la mayoría de los modelos 3D manifiestamente inapropiados. Varias API comerciales (Azure Content Safety y Google Cloud Vision para 3D) se encargan de ello. El clasificador se ejecuta sobre la silueta de la malla desde varios ángulos, lo que resulta poco costoso en términos de cómputo.</p>
</li>
<li>
<p><strong>Análisis de texturas.</strong> Cada textura se procesa mediante una API estándar de moderación de contenido de imágenes (las mismas que se utilizan para las fotografías subidas). Esto detecta imágenes inapropiadas aplicadas como texturas sobre geometría que, por lo demás, es inocua.</p>
</li>
<li>
<p><strong>Detección de texto.</strong> Si el objeto contiene texto (ya sea en una textura o como una malla de texto 3D), se ejecuta OCR y se comprueba si cumple la política de contenido. Esto detecta discursos de odio, insultos y otras infracciones basadas en texto.</p>
</li>
<li>
<p><strong>Aprobación automatizada.</strong> Si supera todas las comprobaciones, el recurso se hace visible de inmediato. Si alguna comprobación marca el recurso, este pasa a una cola de revisión.</p>
</li>
<li>
<p><strong>Revisión humana.</strong> Los recursos marcados los revisa un moderador. En una plataforma pequeña, puede encargarse el propio equipo. A gran escala, pueden contratarse servicios de moderación externos (los mismos que moderan contenido de redes sociales).</p>
</li>
</ol>
<h3 id="moderacion-espacial" tabindex="-1">Moderación espacial <a class="header-anchor" href="#moderacion-espacial" aria-label="Permalink to &quot;Moderación espacial&quot;"></a></h3>
<p>Más allá de los recursos individuales, la disposición espacial de los objetos puede resultar inapropiada incluso cuando cada objeto por separado es aceptable. Esto es más difícil de detectar automáticamente. El enfoque práctico:</p>
<ul>
<li><strong>Denuncias de jugadores.</strong> Cualquier jugador puede denunciar una ubicación. La denuncia incluye una captura de pantalla (tomada automáticamente en las coordenadas denunciadas) y la cuenta del jugador que la presenta. Las denuncias activan una revisión humana.</li>
<li><strong>Mapas de calor.</strong> Se realiza un seguimiento de las zonas que generan denuncias. Si la parcela de un creador genera denuncias de forma constante, se eleva el caso para su revisión. Si se determina repetidamente que un creador ha cometido infracciones, se restringen sus permisos de edición.</li>
<li><strong>Clasificación de parcelas.</strong> Como en Second Life, se permite a los creadores clasificar sus propias parcelas. La vista predeterminada oculta las parcelas clasificadas por encima de «General». Los jugadores pueden elegir ver contenido para adultos. Esto no evita las infracciones, pero reduce la exposición.</li>
</ul>
<h3 id="consideraciones-sobre-la-latencia" tabindex="-1">Consideraciones sobre la latencia <a class="header-anchor" href="#consideraciones-sobre-la-latencia" aria-label="Permalink to &quot;Consideraciones sobre la latencia&quot;"></a></h3>
<p>Si la revisión automatizada tarda entre 5 y 10 segundos por recurso, se produce un retraso perceptible entre el momento en que un creador coloca un objeto y aquel en que aparece para los demás jugadores. Opciones:</p>
<ul>
<li><strong>Visualización local optimista.</strong> El creador ve lo que ha colocado inmediatamente. Los demás jugadores lo ven tras su aprobación. Si se rechaza el recurso, este desaparece y se notifica al creador.</li>
<li><strong>Biblioteca de recursos preaprobados.</strong> La mayoría de las colocaciones utiliza recursos previamente revisados de la biblioteca de la plataforma (incluidos recursos generados por IA que se revisaron durante su generación). Las cargas personalizadas pasan por el proceso de revisión. Esto permite que la mayoría de las colocaciones sean instantáneas.</li>
<li><strong>Tramitación acelerada basada en la reputación.</strong> Los creadores con un historial de contenido aprobado reciben aprobación automática para las nuevas colocaciones. Los creadores nuevos o marcados pasan por la revisión completa.</li>
</ul>
<h2 id="rendimiento-3d-en-el-navegador-cifras-reales" tabindex="-1">Rendimiento 3D en el navegador: cifras reales <a class="header-anchor" href="#rendimiento-3d-en-el-navegador-cifras-reales" aria-label="Permalink to &quot;Rendimiento 3D en el navegador: cifras reales&quot;"></a></h2>
<p>Los presupuestos teóricos son útiles. El rendimiento medido en la práctica lo es aún más. Estas son cifras reales de escenas 3D en el navegador ejecutadas en hardware de producción.</p>
<h3 id="pruebas-de-renderizado" tabindex="-1">Pruebas de renderizado <a class="header-anchor" href="#pruebas-de-renderizado" aria-label="Permalink to &quot;Pruebas de renderizado&quot;"></a></h3>
<p><strong>Escena de Three.js con 10.000 objetos instanciados</strong> (árboles y rocas, 500 triángulos cada uno):</p>
<ul>
<li>MacBook Pro M1 (Chrome, WebGL2): 58-60 fps</li>
<li>Equipo de escritorio con RTX 3060 (Chrome, WebGL2): 60 fps fijos</li>
<li>Portátil con Intel UHD 620 (Chrome, WebGL2): 25-35 fps</li>
<li>iPhone 13 (Safari, WebGL2): 30-40 fps</li>
</ul>
<p><strong>Escena de Three.js con 100.000 briznas de hierba instanciadas</strong> (6 triángulos cada una, 600.000 triángulos en total):</p>
<ul>
<li>MacBook M1: 55 fps</li>
<li>RTX 3060: 60 fps</li>
<li>Intel UHD 620: 12 fps</li>
<li>iPhone 13: 15 fps</li>
</ul>
<p><strong>Terreno de Babylon.js con 1 millón de triángulos, 4 niveles de LOD y físicas de Havok</strong>:</p>
<ul>
<li>MacBook M1 (WebGPU): 60 fps</li>
<li>MacBook M1 (WebGL2): 45 fps</li>
<li>RTX 3060 (WebGPU): 60 fps</li>
<li>RTX 3060 (WebGL2): 55 fps</li>
</ul>
<p><strong>Escena de Gaussian splatting, 2 millones de splats</strong> (mediante gsplat.js):</p>
<ul>
<li>MacBook M1 (WebGL2): 30 fps</li>
<li>RTX 3060 (WebGL2): 45 fps</li>
<li>RTX 3060 (WebGPU): 60 fps</li>
</ul>
<h3 id="mediciones-de-memoria" tabindex="-1">Mediciones de memoria <a class="header-anchor" href="#mediciones-de-memoria" aria-label="Permalink to &quot;Mediciones de memoria&quot;"></a></h3>
<p><strong>Escena mínima de Three.js</strong> (skybox, terreno y 100 objetos): 80-120 MB de memoria de GPU, 150-200 MB de heap de JS
<strong>Babylon.js con físicas de Havok</strong>: 200-300 MB de memoria de GPU, 250-350 MB de heap de JS (Havok Wasm añade unos 50 MB)
<strong>Límites de memoria de las pestañas del navegador</strong> (medidos, no documentados):</p>
<ul>
<li>Chrome para escritorio: suele bloquearse en torno a los 4 GB</li>
<li>Chrome para Android: suele bloquearse en torno a 1-1,5 GB</li>
<li>Safari para iOS: suele bloquearse en torno a 1 GB</li>
<li>Firefox para escritorio: suele bloquearse en torno a 3-4 GB</li>
</ul>
<h3 id="mediciones-de-red" tabindex="-1">Mediciones de red <a class="header-anchor" href="#mediciones-de-red" aria-label="Permalink to &quot;Mediciones de red&quot;"></a></h3>
<p><strong>Latencia de ida y vuelta de WebSocket</strong> (del navegador al edge de Cloudflare):</p>
<ul>
<li>Mismo continente: 10-30 ms</li>
<li>Entre continentes: 80-200 ms</li>
<li>Con Cloudflare Durable Objects: se añaden 5-10 ms para la activación del DO en la primera solicitud</li>
</ul>
<p><strong>Latencia de WebRTC DataChannel</strong> (de navegador a navegador mediante TURN):</p>
<ul>
<li>Misma ciudad: 5-15 ms</li>
<li>Mismo continente: 20-50 ms</li>
<li>Entre continentes: 100-250 ms</li>
</ul>
<p>La latencia de <strong>WebTransport (HTTP/3 QUIC)</strong> es comparable a la de WebSocket, pero sin bloqueo de cabecera de línea, por lo que la latencia P99 es considerablemente mejor (sin interrupciones provocadas por un único paquete perdido).</p>
<h3 id="mediciones-del-tiempo-de-carga" tabindex="-1">Mediciones del tiempo de carga <a class="header-anchor" href="#mediciones-del-tiempo-de-carga" aria-label="Permalink to &quot;Mediciones del tiempo de carga&quot;"></a></h3>
<p><strong>Escena vacía de Three.js</strong> (solo la biblioteca): 350 ms hasta el primer fotograma
<strong>Escena vacía de Babylon.js</strong>: 500 ms hasta el primer fotograma
<strong>Modelo GLB de 1 MB mediante fetch + parse</strong>: 200-400 ms con banda ancha
<strong>Textura KTX2, 1024x1024, Basis Universal</strong>: 50-100 ms para decodificarse en la GPU
<strong>Malla comprimida con Draco, 50.000 triángulos</strong>: 30-80 ms para decodificarse en un Web Worker</p>
<p>Estas cifras confirman que el presupuesto de rendimiento de la sección de arquitectura es viable. Un equipo de escritorio de gama media puede renderizar una escena compleja de mundo abierto a 60 fps. El dispositivo móvil es la limitación: se necesitarían un LOD agresivo y una distancia de visión menor para mantener 30 fps en teléfonos.</p>
<h2 id="la-pila-tecnologica-completa" tabindex="-1">La pila tecnológica completa <a class="header-anchor" href="#la-pila-tecnologica-completa" aria-label="Permalink to &quot;La pila tecnológica completa&quot;"></a></h2>
<p>Uniendo todas las piezas, esta es la arquitectura de un mundo abierto multijugador para creadores basado en navegador:</p>
<h3 id="cliente-navegador" tabindex="-1">Cliente (navegador) <a class="header-anchor" href="#cliente-navegador" aria-label="Permalink to &quot;Cliente (navegador)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Capa</th>
<th>Tecnología</th>
<th>Función</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Renderizador</strong></td>
<td>Babylon.js (WebGPU + WebGL2 como alternativa)</td>
<td>Renderizado de escenas, terreno, LOD y posprocesamiento</td>
</tr>
<tr>
<td><strong>Terreno</strong></td>
<td>Sistema personalizado de mapas de alturas + Babylon DynamicTerrain</td>
<td>Terreno transmitido por fragmentos con splatting</td>
</tr>
<tr>
<td><strong>Físicas</strong></td>
<td>Rapier (Wasm) o Havok (mediante Babylon)</td>
<td>Controlador de personaje, colisiones y raycasting</td>
</tr>
<tr>
<td><strong>ECS</strong></td>
<td>bitECS</td>
<td>Gestión de entidades para todos los objetos del mundo</td>
</tr>
<tr>
<td><strong>Red</strong></td>
<td>WebSocket + WebRTC DataChannel</td>
<td>Sincronización de estado, actualizaciones de posición y chat de voz</td>
</tr>
<tr>
<td><strong>Estado</strong></td>
<td>Yjs (CRDT)</td>
<td>Edición colaborativa del mundo y resolución de conflictos</td>
</tr>
<tr>
<td><strong>Audio</strong></td>
<td>Web Audio API</td>
<td>Audio espacial, ambiente y música</td>
</tr>
<tr>
<td><strong>IU</strong></td>
<td>Superposición HTML/CSS</td>
<td>HUD, inventario, chat y herramientas de creación</td>
</tr>
<tr>
<td><strong>Workers</strong></td>
<td>Web Workers</td>
<td>Descompresión de recursos, físicas y generación de terreno</td>
</tr>
</tbody>
</table>
<h3 id="servidor" tabindex="-1">Servidor <a class="header-anchor" href="#servidor" aria-label="Permalink to &quot;Servidor&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Capa</th>
<th>Tecnología</th>
<th>Función</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Shards del mundo</strong></td>
<td>Cloudflare Durable Objects</td>
<td>Estado autoritativo por fragmento y endpoints WebSocket</td>
</tr>
<tr>
<td><strong>Almacenamiento de recursos</strong></td>
<td>Cloudflare R2</td>
<td>Modelos GLB, texturas KTX2, mapas de alturas y audio</td>
</tr>
<tr>
<td><strong>CDN de recursos</strong></td>
<td>Cloudflare CDN (bucket público de R2)</td>
<td>Entrega desde la caché del edge de los recursos del mundo</td>
</tr>
<tr>
<td><strong>Generación mediante IA</strong></td>
<td>Instancias de GPU (Hetzner/Lambda/RunPod)</td>
<td>Generación de modelos 3D, terrenos y texturas</td>
</tr>
<tr>
<td><strong>Flujo de recursos</strong></td>
<td>Cloudflare Queue + Workers</td>
<td>Generación de LOD, optimización de mallas y conversión de formatos</td>
</tr>
<tr>
<td><strong>Autenticación</strong></td>
<td>Auth0</td>
<td>Identidad y permisos de los creadores</td>
</tr>
<tr>
<td><strong>Base de datos</strong></td>
<td>Cloudflare D1</td>
<td>Metadatos del mundo, inventarios de los creadores y permisos</td>
</tr>
<tr>
<td><strong>Tiempo real</strong></td>
<td>Cloudflare Durable Objects + Pub/Sub</td>
<td>Presencia de jugadores, chat y difusión de eventos</td>
</tr>
</tbody>
</table>
<h3 id="flujo-de-datos" tabindex="-1">Flujo de datos <a class="header-anchor" href="#flujo-de-datos" aria-label="Permalink to &quot;Flujo de datos&quot;"></a></h3>
<ol>
<li>El jugador abre el mundo en su navegador</li>
<li>El cliente se autentica y se conecta al Durable Object más cercano correspondiente al fragmento de aparición</li>
<li>El DO envía el estado actual del fragmento (terreno + objetos + jugadores cercanos)</li>
<li>El cliente comienza a renderizar y solicita los fragmentos adyacentes a R2/CDN</li>
<li>A medida que el jugador se desplaza, el cliente se conecta a los DO adyacentes y se desconecta de los lejanos</li>
<li>El creador coloca un objeto: el cliente envía la edición al DO, el DO la valida y la difunde a todos los clientes conectados mediante un delta CRDT</li>
<li>El DO conserva el estado del fragmento en el almacenamiento con cada edición (aplicando debounce)</li>
<li>Los demás jugadores ven aparecer el nuevo objeto en 100-200 ms</li>
</ol>
<h2 id="presupuesto-de-rendimiento" tabindex="-1">Presupuesto de rendimiento <a class="header-anchor" href="#presupuesto-de-rendimiento" aria-label="Permalink to &quot;Presupuesto de rendimiento&quot;"></a></h2>
<p>Para ofrecer una experiencia a 60 fps en un equipo de escritorio de gama media (RTX 3060 / Mac M1 / 16 GB de RAM):</p>
<table tabindex="0">
<thead>
<tr>
<th>Recurso</th>
<th>Presupuesto</th>
<th>Notas</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Llamadas de dibujado</strong></td>
<td>&lt; 500 por fotograma</td>
<td>Agrupación, instanciación y LOD</td>
</tr>
<tr>
<td><strong>Triángulos</strong></td>
<td>&lt; 2 millones por fotograma</td>
<td>El LOD mantiene esta cifra bajo control</td>
</tr>
<tr>
<td><strong>Memoria de texturas</strong></td>
<td>&lt; 512 MB</td>
<td>Compresión KTX2, transmisión y agrupación de atlas</td>
</tr>
<tr>
<td><strong>Memoria de geometría</strong></td>
<td>&lt; 256 MB</td>
<td>Búferes compartidos, agrupación y descarga agresiva</td>
</tr>
<tr>
<td><strong>Heap de JavaScript</strong></td>
<td>&lt; 512 MB</td>
<td>ECS utiliza matrices tipadas, no objetos</td>
</tr>
<tr>
<td><strong>Red</strong></td>
<td>&lt; 500 KB/s sostenidos</td>
<td>Compresión delta y filtrado por relevancia espacial</td>
</tr>
<tr>
<td><strong>Carga inicial</strong></td>
<td>&lt; 10 MB, &lt; 5 segundos</td>
<td>Carga progresiva, primero el terreno</td>
</tr>
<tr>
<td><strong>Carga de fragmentos</strong></td>
<td>&lt; 200 KB, &lt; 200 ms</td>
<td>Precarga de fragmentos adyacentes</td>
</tr>
</tbody>
</table>
<h2 id="juegos-de-navegador-de-exito-y-lo-que-demuestran" tabindex="-1">Juegos de navegador de éxito y lo que demuestran <a class="header-anchor" href="#juegos-de-navegador-de-exito-y-lo-que-demuestran" aria-label="Permalink to &quot;Juegos de navegador de éxito y lo que demuestran&quot;"></a></h2>
<p>Los juegos de navegador no son un nicho. Constituyen uno de los mayores mercados de videojuegos. Poki recibe más de 100 millones de jugadores al mes. CrazyGames, Newgrounds e itch.io reciben varios millones más. Los juegos que triunfan en navegadores siguen patrones arquitectónicos concretos que merece la pena estudiar.</p>
<h3 id="juegos-3d-para-navegador-disponibles-hoy" tabindex="-1">Juegos 3D para navegador disponibles hoy <a class="header-anchor" href="#juegos-3d-para-navegador-disponibles-hoy" aria-label="Permalink to &quot;Juegos 3D para navegador disponibles hoy&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/lCGlEgKAMbE" title="Partida de Hordes.io" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Hordes.io: más de 200 jugadores en un MMO 3D persistente para navegador. WebGL personalizado, estilo low-poly y carga en menos de 5 segundos. Creado por un solo desarrollador.</div>
**Hordes.io** es el MMO de navegador más relevante. Creado por un desarrollador en solitario con un renderizador WebGL personalizado, sitúa a más de 200 jugadores en un mundo 3D persistente con combate en tiempo real, gremios, clases y PvP. El juego completo carga en menos de 5 segundos. El mundo está dividido en zonas con un descarte agresivo. Los modelos de los jugadores son sencillos —de pocos polígonos y con sombreado plano—, pero los efectos de partículas y las animaciones hacen que el combate se sienta ágil. Hordes.io demuestra tres cosas: los MMO de navegador pueden admitir cientos de jugadores simultáneos en una misma escena, un desarrollador en solitario puede crear uno y los gráficos estilizados rinden mejor que los realistas en un navegador.
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/559m0bR1fgg" title="Jugabilidad y editor de mapas de Krunker.io" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Krunker.io: 10 millones de jugadores mensuales, creado con Three.js, con un completo editor de mapas en el navegador y un mercado de contenido generado por los usuarios.</div>
<p><strong>Krunker.io</strong> alcanzó un máximo de más de 10 millones de jugadores mensuales y fue adquirido por FRVR. Es un FPS de navegador con un completo editor de mapas, modos de juego personalizados, contenido generado por los usuarios y un mercado. Creado con Three.js, funciona a más de 60 fps incluso en hardware de gama baja gracias a su estilo artístico basado en bloques y a una optimización agresiva. El editor de niveles es especialmente relevante. Los jugadores crean mapas mediante un sistema de bloques similar al de los vóxeles, los comparten en el mercado y otros juegan en ellos. Es el ciclo de los mundos creados por usuarios en miniatura: construir algo, compartirlo y dejar que otros lo experimenten. Krunker demostró que el contenido 3D generado por los usuarios puede funcionar en un navegador si las herramientas de creación son lo bastante sencillas.</p>
<p><strong>ev.io</strong> es un FPS de navegador creado con Babylon.js. Funciona bien en la mayoría del hardware, admite mapas personalizados y demuestra que el renderizador WebGL de Babylon puede manejar acción 3D trepidante en una pestaña del navegador. El juego utiliza compresión agresiva de texturas y entornos de pocos polígonos para mantenerse dentro de los límites de rendimiento.</p>
<p><strong>Shell Shockers</strong> —con más de 5 millones de jugadores mensuales— es un juego de disparos multijugador 3D en el que juegas como un huevo. Creado con Three.js, gestiona multijugador en tiempo real con una detección de impactos ágil en el navegador. Su estilo artístico caricaturesco mantiene al mínimo los requisitos de recursos sin dejar de ofrecer un acabado pulido.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/QtVkteAS15M" title="Tráiler de Townscaper" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Townscaper: haz clic para colocar edificios y el sistema genera automáticamente calles, arcos y escaleras. Sin menús ni objetivos. Vendió más de 1 millón de copias gracias únicamente al placer de crear.</div>
<p><strong>Townscaper</strong> no es un juego de navegador, pero su enfoque de la construcción de mundos es muy relevante. Los jugadores hacen clic para colocar edificios sobre una superficie de agua. El juego genera automáticamente detalles arquitectónicos, calles, arcos y escaleras según los patrones de colocación. Sin menús, ajustes ni objetivos. Solo hacer clic y construir. Vendió más de 1 millón de copias. La lección: a veces, las herramientas creativas más sencillas producen las experiencias más cautivadoras. Si logramos que colocar objetos en el mundo resulte tan inmediato como en Townscaper, los creadores pasarán horas construyendo.</p>
<p><strong>Experiencias de A-Frame / 8th Wall.</strong> A-Frame —creado sobre Three.js— impulsa miles de experiencias 3D para la web. 8th Wall, la veterana plataforma WebAR adquirida por Niantic, demostró que la realidad aumentada compleja basada en cámaras funciona en navegadores móviles sin complementos, aunque Niantic anunció a finales de 2025 que está retirando progresivamente el servicio —las experiencias alojadas seguirán disponibles hasta 2027—. No son juegos, pero demuestran que el renderizado 3D complejo con físicas e interacción funciona en una pestaña del navegador sin complementos. Muchas de estas experiencias cargan en 2 o 3 segundos y funcionan en teléfonos de gama media.</p>
<h3 id="vuntra-city-un-laboratorio-urbano-procedimental-en-funcionamiento" tabindex="-1">Vuntra City: un laboratorio urbano procedimental en funcionamiento <a class="header-anchor" href="#vuntra-city-un-laboratorio-urbano-procedimental-en-funcionamiento" aria-label="Permalink to &quot;Vuntra City: un laboratorio urbano procedimental en funcionamiento&quot;"></a></h3>
<p>Vuntra City es un proyecto nativo de UE5, no un juego de navegador, así que no es una referencia directa de rendimiento para nuestra arquitectura tecnológica. Aun así, es uno de los casos prácticos públicos más útiles para nuestra arquitectura de mundo abierto porque los diarios de desarrollo son inusualmente específicos sobre las concesiones de diseño de sistemas bajo la presión de una producción real.</p>
<p>Una conclusión importante es la política de detalle adaptada a la velocidad. En los vídeos sobre transporte y optimización, los desplazamientos a alta velocidad se trasladan por encima de los tejados, mientras que el detalle del mundo se reduce a medida que aumenta la velocidad para que el gestor de streaming no se sature con la carga y descarga constante de interiores (<a href="https://www.youtube.com/watch?v=KKeBElJS6-M" target="_blank" rel="noreferrer">transporte rápido</a>, <a href="https://www.youtube.com/watch?v=aPuYXyJet38" target="_blank" rel="noreferrer">técnicas de optimización</a>). Esto encaja perfectamente con nuestro plan para el navegador, en el que la velocidad debería controlar directamente el radio de precarga, el alcance de activación de interiores y el presupuesto de generación por fotograma.</p>
<p>Otra conclusión es la separación estricta entre los datos topológicos y los objetos renderizados. La implementación de mapas y direcciones utiliza un controlador topológico global capaz de responder consultas de ubicación y dirección sobre regiones no cargadas (<a href="https://www.youtube.com/watch?v=6dLn1GQpu2c" target="_blank" rel="noreferrer">mapas y direcciones</a>). Este es exactamente el patrón que necesitamos para el enrutamiento con autoridad del servidor, la búsqueda de puntos de interés y las consultas globales del mundo que no deberían depender de lo que un cliente concreto tenga cargado en memoria.</p>
<p>El trabajo con los PNJ también es muy relevante. El sistema de un millón de PNJ calcula globalmente un estado básico de sus horarios y solo simula comportamientos costosos en el espacio adyacente al jugador (<a href="https://www.youtube.com/watch?v=nBV0yAAJUf0" target="_blank" rel="noreferrer">un millón de PNJ persistentes</a>, <a href="https://www.youtube.com/watch?v=eUi7DB1ar3s" target="_blank" rel="noreferrer">entre bastidores</a>). Para nosotros, esto refuerza un modelo de simulación de dos niveles: un estado lejano barato y determinista, y un comportamiento cercano más rico dentro del área de interés.</p>
<p>Por último, el diseño de entornos de Vuntra City refuerza algo fácil de olvidar durante la planificación técnica: diseñar la distribución es diseñar el contenido. El proyecto evita la colocación aleatoria uniforme, utiliza valores atípicos ponderados para crear sorpresas e impulsa el descubrimiento mediante mapas y direcciones diegéticos en lugar de marcadores omnipresentes en el minimapa (<a href="https://www.youtube.com/watch?v=4MZ5-KQW3pc" target="_blank" rel="noreferrer">los entornos procedimentales no tienen por qué ser aburridos</a>, <a href="https://www.youtube.com/watch?v=ixR1hqZJlv4" target="_blank" rel="noreferrer">adonde vamos no necesitaremos minimapa</a>).</p>
<h3 id="juegos-de-navegador-que-alcanzaron-un-exito-masivo" tabindex="-1">Juegos de navegador que alcanzaron un éxito masivo <a class="header-anchor" href="#juegos-de-navegador-que-alcanzaron-un-exito-masivo" aria-label="Permalink to &quot;Juegos de navegador que alcanzaron un éxito masivo&quot;"></a></h3>
<p><strong>Agar.io</strong> (2015) demostró que el multijugador de navegador puede llegar a millones de personas. En su apogeo, tuvo más de 100 000 jugadores simultáneos repartidos entre sus servidores. El juego es 2D y mecánicamente sencillo —creces absorbiendo células más pequeñas—, pero la arquitectura de red gestiona una concurrencia masiva mediante particionamiento espacial. Cada servidor ejecuta una región del mundo del juego. Los jugadores solo reciben actualizaciones de las entidades dentro de su campo de visión. Es el mismo patrón de gestión de interés necesario para un mundo abierto 3D, pero en 2D.</p>
<p><strong>Slither.io</strong> aprovechó el éxito de Agar.io y demostró que el modelo puede escalar. Alcanzó un máximo de 67 millones de usuarios activos mensuales. El juego utiliza WebSocket para sincronizar posiciones en tiempo real y particionamiento espacial para limitar el tráfico de red. Un detalle que merece la pena señalar: la detección de colisiones de Slither.io en el servidor se ejecuta con una frecuencia de ticks menor para los jugadores lejanos —5 Hz— que para los cercanos —30 Hz—. Esta frecuencia de ticks variable según la distancia se puede aplicar a un mundo abierto 3D.</p>
<p><strong>Surviv.io</strong> era un battle royale de navegador que alcanzó los 50 millones de jugadores mensuales antes de ser adquirido por Kongregate. Ejecutaba una partida completa de battle royale para 80 jugadores íntegramente en el navegador, con físicas en red en tiempo real, entornos destructibles y recogida de objetos. El mapa se componía procedimentalmente a partir de plantillas de edificios prediseñadas, un patrón que podríamos utilizar para las estructuras colocadas por los creadores.</p>
<p><strong>Zombs Royale</strong> ejecutaba un battle royale para 100 jugadores en el navegador, con tiempos de carga rápidos y una red ágil. Al igual que Surviv.io, demostró que un gran número de jugadores en juegos de navegador en tiempo real es viable comercialmente, no solo posible desde el punto de vista técnico.</p>
<p>El denominador común de todos estos éxitos de navegador es que cargan rápido —en menos de 5 segundos—, funcionan en cualquier dispositivo, tienen un estilo artístico sencillo pero coherente y su red está optimizada para la jugabilidad específica —particionamiento espacial, frecuencias de actualización variables y descarte agresivo del estado lejano—.</p>
<h3 id="runescape-un-mmo-que-dio-el-salto-al-navegador" tabindex="-1">RuneScape: un MMO que dio el salto al navegador <a class="header-anchor" href="#runescape-un-mmo-que-dio-el-salto-al-navegador" aria-label="Permalink to &quot;RuneScape: un MMO que dio el salto al navegador&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/YX7VjGC-2q4" title="Tráiler de lanzamiento de Old School RuneScape en Steam" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">RuneScape: un MMO completo con más de 20 años de contenido que funciona en una pestaña del navegador. Protocolo binario personalizado, streaming basado en casillas y 2000 jugadores simultáneos por servidor. La prueba de que los MMO de navegador funcionan a gran escala.</div>
<p>RuneScape es el caso práctico más importante para un mundo abierto de navegador porque sucedió de verdad. Jagex trasladó al navegador un MMO completo con 20 años de contenido.</p>
<p>RuneScape funcionaba originalmente como un applet de Java. Cuando los navegadores dejaron de admitir Java, Jagex reconstruyó el cliente en C++ y también lanzó un cliente HTML5/WebGL totalmente funcional. Old School RuneScape —la versión retro— ahora funciona íntegramente en el navegador mediante un cliente compilado con Emscripten a WebAssembly. El juego gestiona grandes mundos persistentes, multijugador en tiempo real con cientos de jugadores por servidor, una economía con un gran mercado plenamente funcional —una casa de subastas— y 23 habilidades con sistemas de progresión profundos.</p>
<p><strong>Detalles técnicos importantes:</strong></p>
<ul>
<li>El mundo está dividido en cuadrados de mapa —regiones de 64x64 casillas—. El cliente carga una cuadrícula de 13x13 regiones alrededor del jugador —104x104 casillas visibles—. Las regiones que quedan fuera de esta cuadrícula se descartan por completo.</li>
<li>El terreno se basa en casillas con valores de altura en cada esquina. Las capas superpuestas del terreno —caminos, orillas del agua y transiciones a playas— utilizan un sistema de formas con 12 variantes de rotación por forma. Es más limitado que un mapa de alturas, pero resulta extremadamente compacto y rápido de transmitir.</li>
<li>El protocolo de red es binario y personalizado sobre WebSocket. Cada tipo de paquete tiene una estructura definida. Las actualizaciones de posición de los jugadores utilizan 2 bytes para las coordenadas del cuadrado del mapa y una codificación de longitud variable para el tipo de movimiento. El chat, el comercio y los eventos de combate tienen sus propios formatos binarios compactos. Todo el protocolo está fuertemente optimizado para minimizar el ancho de banda.</li>
<li>El renderizado de objetos utiliza un sistema de modelos en el que el servidor envía el ID de un modelo y el cliente renderiza el modelo almacenado en caché. La mayoría de los modelos se cargan una vez y se reutilizan. Esto significa que el mundo se transmite como metadatos —qué modelo va en cada lugar— en vez de transmitir geometría.</li>
<li>Cada instancia de servidor admite 2000 jugadores simultáneos en todo el mundo del juego. El mundo no está fragmentado espacialmente. Un único proceso de servidor gestiona a todos los jugadores, todos los PNJ y toda la lógica del juego con un tick de 600 ms. Esto funciona porque la lógica del juego es sencilla en cada tick: procesar las acciones de los jugadores, actualizar la IA de los PNJ, resolver el combate y difundir los cambios de estado.</li>
</ul>
<p><strong>Lo que RuneScape demuestra para nuestro caso:</strong> un MMO completo con estado persistente del mundo, miles de jugadores, sistemas de juego complejos y una economía real puede funcionar en una pestaña del navegador. La descarga del cliente ocupa menos de 50 MB, carga en pocos segundos y funciona en portátiles. Si un MMO de Java con 20 años de antigüedad puede realizar la transición, un mundo diseñado específicamente para el navegador tendrá aún menos limitaciones.</p>
<p><strong>Dónde no encaja el enfoque de RuneScape:</strong> el renderizado de RuneScape es isométrico y de cámara fija, no 3D en primera o tercera persona. La fidelidad visual es baja según los estándares modernos. Además, los creadores no pueden editar el mundo. Sin embargo, la arquitectura de red, el streaming basado en casillas y la prueba de que los MMO de navegador retienen jugadores durante décadas son directamente relevantes.</p>
<h3 id="habbo-hotel-espacios-sociales-que-han-perdurado-25-anos" tabindex="-1">Habbo Hotel: espacios sociales que han perdurado 25 años <a class="header-anchor" href="#habbo-hotel-espacios-sociales-que-han-perdurado-25-anos" aria-label="Permalink to &quot;Habbo Hotel: espacios sociales que han perdurado 25 años&quot;"></a></h3>
<p>Habbo Hotel se lanzó en 2000 y sigue funcionando. Es un mundo social isométrico 2D en el que los usuarios crean y decoran habitaciones, visitan las de otras personas y socializan. En su apogeo, tuvo 9 millones de usuarios mensuales. La experiencia completa funcionaba en Flash —ahora en HTML5 tras la desaparición de Flash—.</p>
<p>Habbo es importante por el tiempo que ha logrado mantener activa una comunidad de creadores. El sistema de habitaciones es, en la práctica, una versión 2D de lo que estamos construyendo: los usuarios colocan muebles en una cuadrícula, personalizan la distribución e invitan a otros a visitarla. El modelo económico —los usuarios compran muebles virtuales con dinero real— ha generado más de 1000 millones de dólares en ingresos desde su lanzamiento.</p>
<p><strong>Lo que enseña Habbo:</strong></p>
<ul>
<li>Los espacios basados en habitaciones con interiores creados por los usuarios pueden funcionar como plataforma social durante décadas si las herramientas de creación son sencillas y las funciones sociales son sólidas.</li>
<li>La economía de muebles virtuales mantiene la interacción a largo plazo. Los usuarios compran, intercambian y coleccionan objetos. Los objetos no tienen ninguna utilidad jugable. Son pura expresión personal y estatus.</li>
<li>La moderación de espacios sociales requiere una inversión constante. Habbo ha atravesado varias crisis de moderación. El filtrado automatizado de contenido, los moderadores humanos y las denuncias de la comunidad constituyen el enfoque viable mínimo.</li>
<li>La transición de Flash a HTML5 —completada en torno a 2020-2021— demostró que un gran mundo social puede migrar su tecnología de renderizado sin perder a su comunidad. A los usuarios les importan sus habitaciones y sus amigos, no la tecnología subyacente.</li>
</ul>
<h3 id="among-us-y-los-juegos-sociales-espaciales" tabindex="-1">Among Us y los juegos sociales espaciales <a class="header-anchor" href="#among-us-y-los-juegos-sociales-espaciales" aria-label="Permalink to &quot;Among Us y los juegos sociales espaciales&quot;"></a></h3>
<p>Among Us no es un mundo abierto, pero su éxito reveló algo importante sobre los espacios multijugador: los jugadores quieren estar juntos en un lugar, no solo participar juntos en un juego. Los mods de chat de proximidad espacial que se volvieron virales demostraron que estar en la misma sala virtual con audio direccional transforma el multijugador, que pasa de ser una mecánica de juego a convertirse en una experiencia social.
Funciones sociales espaciales que mejoran un mundo de creadores:</p>
<ul>
<li><strong>Chat de voz por proximidad</strong>, donde el volumen disminuye con la distancia. Acércate a alguien para hablar. Aléjate y su voz se desvanecerá. Esto crea grupos sociales naturales sin necesidad de gestionar canales de voz.</li>
<li><strong>Sistemas de emotes y gestos</strong> que permiten a los jugadores expresarse sin usar la voz. Un saludo, un baile, un gesto para señalar. Son baratos de implementar (animaciones en el avatar del jugador) y aumentan de forma desproporcionada la interacción social.</li>
<li><strong>Actividades compartidas</strong> que suceden dentro del mundo (no mediante menús) convierten un espacio en un lugar de encuentro. Si dos creadores pueden sentarse en una mesa virtual y observar juntos modelos 3D, el mundo tiene una razón de ser más allá de mostrar contenido estático.</li>
</ul>
<h3 id="juegos-de-navegador-que-triunfaron-en-poki-y-crazygames" tabindex="-1">Juegos de navegador que triunfaron en Poki y CrazyGames <a class="header-anchor" href="#juegos-de-navegador-que-triunfaron-en-poki-y-crazygames" aria-label="Permalink to &quot;Juegos de navegador que triunfaron en Poki y CrazyGames&quot;"></a></h3>
<p>Poki y CrazyGames suman más de 150 millones de jugadores mensuales. Los juegos con mejores resultados en estas plataformas ofrecen pistas sobre lo que funciona específicamente en el navegador.</p>
<p><strong>Patrones de mayor rendimiento en los portales de juegos de navegador:</strong></p>
<ul>
<li>Juego instantáneo (menos de 3 segundos hasta poder interactuar). Sin necesidad de iniciar sesión. Sin necesidad de tutorial. El juego debe entenderse en los 5 segundos posteriores a entrar.</li>
<li>Sesiones flexibles. Los jugadores entran durante 2 minutos o 2 horas. El juego se adapta a ambas posibilidades. Para un mundo de creadores, esto significa que debe poder explorarse sin comprometerse a una sesión. Pasea, descubre cosas interesantes y vete. O quédate y construye durante horas.</li>
<li>Compatibilidad con móviles. Más del 60 % del tráfico de Poki procede de dispositivos móviles. Un mundo de navegador que solo funciona en equipos de escritorio pierde a la mayoría de sus visitantes potenciales.</li>
<li>Funciones sociales que no requieran amigos. Tablas de clasificación, reacciones al contenido de otros jugadores y funciones asíncronas (ver lo que construyeron otros jugadores sin estar conectados al mismo tiempo).</li>
</ul>
<p>Los juegos 3D más exitosos de estos portales (como Shell Shockers, 1v1.LOL y Smash Karts) mantienen bajo el número de polígonos, usan texturas sencillas y ofrecen una alta tasa de fotogramas. Demuestran que los jugadores aceptan gráficos sencillos si la experiencia es fluida y responde bien.</p>
<h3 id="plataformas-de-creacion-basadas-en-el-navegador" tabindex="-1">Plataformas de creación basadas en el navegador <a class="header-anchor" href="#plataformas-de-creacion-basadas-en-el-navegador" aria-label="Permalink to &quot;Plataformas de creación basadas en el navegador&quot;"></a></h3>
<p><strong>Hubs de Mozilla (ahora mantenido por la comunidad).</strong> Espacios 3D multiusuario en el navegador, creados con Three.js y A-Frame. Admite chat de voz, avatares y objetos compartidos. No es un mundo abierto (se basa en salas), pero su arquitectura de red y renderizado es relevante. Mozilla publicó su código como software libre antes de cerrar el servicio alojado, por lo que todo el código fuente está disponible para estudiarlo. <a href="https://github.com/mozilla/hubs" target="_blank" rel="noreferrer">GitHub</a>.</p>
<p><strong>Hyperfy.</strong> Una plataforma de metaverso web que se ejecuta íntegramente en el navegador. Renderizado con Three.js, multijugador, personalización de avatares y construcción de mundos. Se acerca más a nuestro objetivo que Hubs porque pone énfasis en las herramientas de creación. Los mundos se cargan en una pestaña del navegador sin necesidad de descargar nada. <a href="https://hyperfy.io" target="_blank" rel="noreferrer">hyperfy.io</a>.</p>
<p><strong>Ethereal Engine (antes XREngine).</strong> Motor de código abierto para mundos multiusuario, creado con Three.js y bitECS. Admite WebXR, audio espacial y edición de mundos. Incluye arquitectura ECS, capa de red y herramientas de edición. Es el proyecto de código abierto existente que más se aproxima a lo que describimos. Conviene estudiar cómo integra bitECS con Three.js para gestionar entidades y cómo su sistema de red maneja el estado espacial. <a href="https://github.com/EtherealEngine/etherealengine" target="_blank" rel="noreferrer">GitHub</a>.</p>
<p><strong>Dusk (antes Rune).</strong> SDK de juegos multijugador para juegos web. Se ocupa de la capa de red para que los desarrolladores puedan centrarse en la jugabilidad. Su método de sincronización emplea un estado predicho con reconciliación del servidor, el modelo estándar para un multijugador con buena capacidad de respuesta. El SDK abstrae la complejidad del código de red con reversión. Conviene estudiar su experiencia de desarrollo.</p>
<p><strong>Niantic Studio.</strong> Un editor visual para navegador y un motor de juegos web (sucesor de las herramientas de 8th Wall) para crear experiencias 3D y XR que otras personas pueden visitar desde un navegador. Demuestra que los creadores sin conocimientos técnicos pueden construir escenas 3D en un navegador si las herramientas son accesibles. (Niantic escindió su trabajo geoespacial en Niantic Spatial y vendió su negocio de videojuegos, incluido Pokemon GO, a Scopely en 2025).</p>
<p><strong>PlayCanvas Editor.</strong> No es un juego en sí, pero el editor 3D en la nube de PlayCanvas demuestra que las herramientas colaborativas de construcción de mundos pueden ejecutarse en el navegador. Varios miembros de un equipo editan simultáneamente la misma escena. El editor comunica los cambios mediante una capa de sincronización en tiempo real. Este es el modelo de creación colaborativa que necesitaríamos, pero usando nuestro mundo como lienzo en lugar de un editor de juegos.</p>
<h3 id="plataformas-de-creacion-nativas-lecciones-para-el-navegador" tabindex="-1">Plataformas de creación nativas (lecciones para el navegador) <a class="header-anchor" href="#plataformas-de-creacion-nativas-lecciones-para-el-navegador" aria-label="Permalink to &quot;Plataformas de creación nativas (lecciones para el navegador)&quot;"></a></h3>
<p>Estas plataformas se ejecutan como aplicaciones nativas, pero sus decisiones de diseño sobre las herramientas de creación, la persistencia del mundo y las dinámicas sociales son directamente aplicables.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/mUgtVhbSiNM" title="Plataforma de creación de Roblox" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Roblox: más de 80 millones de usuarios diarios y 740 millones de dólares pagados a creadores en 2023. La creación se lleva a cabo dentro del motor. El descubrimiento es social. Es el modelo de negocio que demuestra que las plataformas de creación pueden sostenerse por sí mismas.</div>
<p><strong>Roblox</strong> es la referencia más importante para un mundo de creadores. Más de 80 millones de usuarios activos diarios. Los creadores construyen experiencias 3D completas (juegos, espacios sociales y tiendas) que visitan otros jugadores. La plataforma se ocupa del alojamiento, las redes, el descubrimiento y la monetización.</p>
<p>Lo que Roblox hace bien:</p>
<ul>
<li><strong>La creación se lleva a cabo dentro del motor.</strong> Roblox Studio es el mismo entorno que experimentan los jugadores. Los creadores prueban su trabajo al instante. No hay ningún ciclo de exportar, subir y esperar. Para un mundo de navegador, el editor debería ser el propio mundo.</li>
<li><strong>La programación es accesible.</strong> Lua (el lenguaje de programación de Roblox) es tan sencillo que los niños pueden aprenderlo. Es posible crear comportamientos complejos, pero no es obligatorio. Es fácil empezar y las posibilidades son enormes.</li>
<li><strong>El descubrimiento es social.</strong> Encuentras experiencias porque tus amigos están jugando a ellas. La página de inicio muestra experiencias populares. Para un mundo de navegador, el propio mundo es la superficie de descubrimiento. Exploras y encuentras cosas mientras caminas.</li>
<li><strong>La monetización funciona.</strong> Los creadores ganan dinero real (Roblox pagó 740 millones de dólares a creadores en 2023). Esto atrae un esfuerzo creativo serio. Sin incentivos económicos, las plataformas de creación se convierten en proyectos de aficionados que acaban desapareciendo.</li>
<li><strong>El motor de renderizado de Roblox es propio</strong> y se ejecuta en una aplicación nativa, no en un navegador. Sin embargo, los límites de recursos de cada experiencia son modestos para los estándares actuales (se recomienda un máximo de 100 MB). La mayoría de las experiencias exitosas de Roblox usan arte estilizado con pocos polígonos, lo que encaja con las limitaciones de renderizado del navegador.</li>
</ul>
<p><strong>Fortnite Creative / UEFN (Unreal Editor for Fortnite).</strong> Epic puso el editor completo de Unreal Engine a disposición de los creadores de Fortnite. El resultado es una plataforma donde las personas construyen islas (mundos independientes) con herramientas profesionales. Fortnite se ocupa del alojamiento, el multijugador y la distribución.</p>
<p>Conclusiones relevantes:</p>
<ul>
<li><strong>Las herramientas profesionales atraen contenido profesional.</strong> UEFN produce experiencias visualmente impresionantes porque los creadores tienen acceso a todas las capacidades de UE5. La contrapartida es la complejidad. UEFN tiene una curva de aprendizaje pronunciada.</li>
<li><strong>Las instancias basadas en islas</strong> (cada creación es un mundo separado) evitan los problemas de moderación y los conflictos propios de un único mundo compartido. Sin embargo, también impiden que los creadores descubran de forma natural el trabajo de los demás al explorar. Las islas se visitan mediante menús, no caminando.</li>
<li><strong>El modelo de negocio funciona.</strong> El programa de creadores de Fortnite paga en función de la interacción. Los creadores más destacados ganan millones al año. Una vez más, los incentivos económicos impulsan la calidad.</li>
</ul>
<p><strong>Dreams (Media Molecule / PlayStation).</strong> Dreams proporcionó a los jugadores de consola un conjunto completo de herramientas de creación 3D (modelado, animación, música, lógica y diseño de niveles) y una plataforma para compartir sus creaciones. Es la plataforma de creación más ambiciosa jamás construida en cuanto a la profundidad de sus herramientas.</p>
<p>Conclusiones relevantes:</p>
<ul>
<li><strong>Modelado basado en escultura</strong> en lugar de edición de polígonos. Los creadores dan forma a volúmenes blandos con herramientas para mover, agarrar y suavizar, de forma parecida a ZBrush, pero más intuitiva. La curva de aprendizaje es suave. Este enfoque se adapta bien a la creación en el navegador porque no exige comprender los vértices ni los mapas UV.</li>
<li><strong>Todo es un recurso compartido.</strong> Si alguien crea un modelo de árbol, cualquiera puede utilizarlo en su propia creación (con atribución). Esto genera un ecosistema creativo acumulativo donde cada creación aumenta el valor de la plataforma.</li>
<li><strong>Dreams tuvo dificultades comerciales</strong> pese a recibir elogios de la crítica. El problema fue la distribución: estaba limitado a PlayStation y las herramientas de creación eran tan profundas que la mayoría de los jugadores nunca pasó de consumir contenido. La lección es que las herramientas de creación deben ser lo bastante sencillas para que la mayoría de los usuarios las prueben, aunque solo una minoría llegue a convertirse en constructores serios.</li>
</ul>
<p><strong>Core (Manticore Games).</strong> Una plataforma gratuita para crear y jugar a juegos multijugador, construida sobre Unreal Engine con un editor simplificado. El editor de Core se ejecuta como una aplicación nativa, pero su filosofía es relevante. Las plantillas y los scripts compartidos por la comunidad permiten a los principiantes montar juegos a partir de componentes prefabricados. Los creadores avanzados pueden escribir scripts Lua para definir comportamientos personalizados. Core tuvo dificultades para atraer a un público amplio, en parte porque los juegos debían ejecutarse mediante el lanzador de Core. Una versión para navegador no tendría este obstáculo.</p>
<p><strong>VRChat</strong> y <strong>Rec Room</strong> son plataformas sociales donde los creadores construyen espacios que visitan otras personas. VRChat utiliza Unity y funciona en PC y realidad virtual. Rec Room funciona en todo tipo de dispositivos, incluidos los móviles. Ambas demuestran que los mundos 3D generados por usuarios pueden sostener comunidades numerosas. VRChat es más impresionante desde el punto de vista técnico (shaders personalizados y avatares complejos). Rec Room es más accesible (herramientas de creación dentro de la aplicación, gráficos más sencillos y compatibilidad con más plataformas). Para un mundo de navegador, el enfoque de Rec Room, con herramientas de creación sencillas dentro de la aplicación, es más aplicable que el flujo de trabajo de VRChat basado en herramientas externas.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/E5HCeVCjCXo" title="Second Life: tu mundo, tu imaginación" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Second Life: lanzado en 2003, sigue activo con más de 200 000 usuarios diarios. Creado íntegramente por los usuarios. Propiedad basada en parcelas y una economía virtual valorada en unos 500 millones de dólares al año. 20 años de lecciones sobre persistencia y moderación.</div>
<p><strong>Second Life</strong> es el precursor de todos los mundos de creadores. Se lanzó en 2003 y sigue activo, con más de 200 000 usuarios activos diarios. Todo el mundo ha sido creado por los usuarios. Las tierras se poseen y se comercializan. Los creadores venden objetos, ropa y edificios. El lenguaje de programación del mundo (LSL) permite crear contenido interactivo.</p>
<p>Lo que Second Life nos enseña después de más de 20 años:</p>
<ul>
<li><strong>La persistencia importa más que los gráficos.</strong> El aspecto visual de Second Life está anticuado, pero el mundo persiste. Las creaciones permanecen donde las colocas. Las relaciones y la historia se acumulan. Esta persistencia es lo que hace que la gente regrese.</li>
<li><strong>La economía impulsa la creación.</strong> Se estima que el PIB de Second Life asciende a 500 millones de dólares al año. Los creadores construyen porque pueden vender. Sin incentivos económicos, el volumen y la calidad del contenido creado por los usuarios disminuyen.</li>
<li><strong>El contenido generado por los usuarios requiere infraestructura de moderación.</strong> Second Life ha afrontado 20 años de desafíos de moderación. Cualquier plataforma donde los usuarios puedan colocar contenido arbitrario en un espacio compartido necesita análisis automatizados, herramientas de denuncia y revisión humana.</li>
<li><strong>La organización espacial basada en terrenos funciona.</strong> Second Life divide su mundo en parcelas propiedad de los usuarios. Cada parcela tiene un límite de prims (objetos). Esto evita de forma natural que un solo creador consuma todos los recursos. Para un mundo de navegador, el patrón equivalente sería la propiedad basada en sectores con límites de objetos por sector.</li>
</ul>
<h2 id="analisis-comparativo-que-nos-ensena-cada-juego" tabindex="-1">Análisis comparativo: qué nos enseña cada juego <a class="header-anchor" href="#analisis-comparativo-que-nos-ensena-cada-juego" aria-label="Permalink to &quot;Análisis comparativo: qué nos enseña cada juego&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Juego</th>
<th>Lección clave</th>
<th>Tecnología aplicable</th>
<th>Riesgo si se ignora</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Skyrim</strong></td>
<td>Streaming por sectores con una cuadrícula de celdas</td>
<td>Terreno basado en mapas de altura, niveles de LOD, separación entre interiores y exteriores</td>
<td>El mundo no cabe en la memoria del navegador</td>
</tr>
<tr>
<td><strong>The Witcher 3</strong></td>
<td>Composición del mundo por capas a cargo de equipos independientes</td>
<td>Streaming sensible al contenido, renderizado mediante impostores</td>
<td>Los creadores no pueden trabajar de forma independiente</td>
</tr>
<tr>
<td><strong>Breath of the Wild</strong></td>
<td>Las reglas sistémicas superan al contenido guionizado</td>
<td>Sistema de interacción de materiales, jugabilidad basada en físicas</td>
<td>El mundo parece estático y sin vida</td>
</tr>
<tr>
<td><strong>GTA V</strong></td>
<td>La vida ambiental hace que los mundos parezcan reales</td>
<td>Sistemas de comportamiento de PNJ, tráfico, ciclo horario</td>
<td>El mundo del creador parece un museo vacío</td>
</tr>
<tr>
<td><strong>Elden Ring</strong></td>
<td>Variación de densidad y reutilización de recursos</td>
<td>Biblioteca de recursos modulares, zonas dispersas y densas</td>
<td>Queda demasiado vacío o resulta demasiado caro llenarlo</td>
</tr>
<tr>
<td><strong>No Man's Sky</strong></td>
<td>Generación procedimental para el lienzo, contenido de los creadores para darle alma</td>
<td>Terreno basado en semillas, modelo de datos compacto para bases</td>
<td>Terreno infinito pero aburrido</td>
</tr>
<tr>
<td><strong>Minecraft</strong></td>
<td>Mundo totalmente editable, herramientas sencillas, profundidad infinita</td>
<td>Streaming por sectores, compresión mediante paletas, protocolo de edición de bloques</td>
<td>Los creadores no pueden remodelar el propio mundo</td>
</tr>
<tr>
<td><strong>Roblox</strong></td>
<td>La creación ocurre dentro del motor y la economía impulsa la calidad</td>
<td>Editor dentro del mundo, monetización para creadores</td>
<td>Nadie crea porque no hay ningún incentivo</td>
</tr>
<tr>
<td><strong>Krunker.io</strong></td>
<td>El CGU en el navegador funciona a gran escala con herramientas sencillas</td>
<td>Renderizado con Three.js, editor basado en vóxeles, mercado</td>
<td>Herramientas de creación demasiado complejas para creadores ocasionales</td>
</tr>
<tr>
<td><strong>Hordes.io</strong></td>
<td>Más de 200 jugadores en 3D en el navegador; viable para un desarrollador en solitario</td>
<td>WebGL personalizado, descarte espacial, arte estilizado</td>
<td>Sobredimensionar la capa multijugador</td>
</tr>
<tr>
<td><strong>Vuntra City (referencia nativa)</strong></td>
<td>El streaming sensible a la velocidad y la simulación del mundo en dos niveles mantienen coherente una enorme ciudad procedimental</td>
<td>Política de LOD vinculada a la velocidad, capa de consultas topológicas, simulación programada a larga distancia + comportamiento en campo cercano</td>
<td>El desplazamiento a alta velocidad provoca apariciones repentinas y picos de simulación</td>
</tr>
<tr>
<td><strong>Agar.io / Slither.io</strong></td>
<td>La partición espacial permite una concurrencia masiva</td>
<td>Frecuencia de actualización variable según la distancia, gestión de interés</td>
<td>La red colapsa a gran escala</td>
</tr>
<tr>
<td><strong>Second Life</strong></td>
<td>La persistencia y la economía mantienen comunidades durante 20 años</td>
<td>Propiedad basada en parcelas, presupuestos de objetos, mercado</td>
<td>No hay retención a largo plazo</td>
</tr>
<tr>
<td><strong>Dreams</strong></td>
<td>La creación basada en escultura es más intuitiva que la edición de polígonos</td>
<td>Modelado basado en volúmenes, biblioteca compartida de recursos</td>
<td>Las herramientas de creación parecen un programa CAD</td>
</tr>
<tr>
<td><strong>Fortnite Creative</strong></td>
<td>Las herramientas profesionales atraen contenido profesional</td>
<td>Capacidades completas de edición dentro de la plataforma</td>
<td>El techo de calidad del contenido es demasiado bajo</td>
</tr>
<tr>
<td><strong>RuneScape</strong></td>
<td>Un MMO completo funciona en el navegador mediante Wasm y protocolos binarios</td>
<td>Emscripten, protocolo WebSocket binario personalizado, streaming por teselas</td>
<td>Subestimar lo que pueden manejar los navegadores</td>
</tr>
<tr>
<td><strong>Habbo Hotel</strong></td>
<td>La creación sencilla de salas mantiene una comunidad durante 25 años</td>
<td>Colocación basada en cuadrícula, economía de mobiliario virtual</td>
<td>Complicar en exceso las herramientas de creación</td>
</tr>
</tbody>
</table>
<p>Los juegos más relevantes para nuestro caso concreto —basado en navegador, centrado en creadores y multijugador— son Minecraft (mundo editable, datos compactos), Roblox (creación dentro del motor, economía), Krunker (CGU en el navegador a gran escala) y Hordes.io (arquitectura de MMO para navegador). Los títulos AAA (Skyrim, BotW, The Witcher 3) enseñan sobre renderizado y streaming. Los éxitos de navegador (Agar.io, Slither.io, Surviv.io) enseñan sobre redes a gran escala. Las plataformas para creadores (Roblox, Dreams, Second Life) enseñan sobre dinámicas comunitarias. Vuntra City añade una referencia actual y a nivel de implementación para el streaming sensible a la velocidad, la navegación diegética y los patrones de simulación de millones de agentes en una ciudad procedimental moderna.</p>
<h2 id="como-serian-skyrim-y-the-witcher-en-un-navegador" tabindex="-1">Cómo serían Skyrim y The Witcher en un navegador <a class="header-anchor" href="#como-serian-skyrim-y-the-witcher-en-un-navegador" aria-label="Permalink to &quot;Cómo serían Skyrim y The Witcher en un navegador&quot;"></a></h2>
<p>Seamos concretos. Si tomáramos Carrera Blanca de Skyrim y la reconstruyéramos para distribuirla a través del navegador:</p>
<p><strong>Terreno:</strong> El área alrededor de Carrera Blanca mide aproximadamente 2 × 2 km. Con nuestro tamaño de sector (64 m), son alrededor de 32 × 32 = 1024 sectores. A 2-4 KB por mapa de altura de cada sector, eso supone 2-4 MB de datos de terreno. Las texturas del terreno (hierba, tierra, roca y nieve), como teselas de un atlas KTX2, podrían añadir otros 5 MB. Terreno total: menos de 10 MB para toda la región.</p>
<p><strong>Estructuras:</strong> La propia Carrera Blanca tiene quizá entre 40 y 50 edificios. Cada edificio, como GLB optimizado (3 niveles de LOD), podría ocupar entre 200 y 500 KB en su máximo nivel de detalle. Pero solo se necesita el máximo detalle para los 5-10 edificios más cercanos. El resto utiliza un LOD medio o bajo (50-100 KB cada uno). Total de estructuras visibles en un momento dado: 2-5 MB.</p>
<p><strong>Vegetación:</strong> Todos los árboles y la hierba que rodean Carrera Blanca en Skyrim están instanciados. Harían falta quizá 10 modelos de árbol únicos (200 KB cada uno con LOD completo, 20 KB como impostores en billboard) y un sistema de hierba que genere las briznas en la GPU a partir de un mapa de densidad. Total de recursos de vegetación: 2-3 MB. Los datos de instanciación (posiciones, rotaciones y escalas) para un área de 5 × 5 sectores: menos de 500 KB.</p>
<p><strong>PNJ:</strong> Carrera Blanca tiene aproximadamente 70 PNJ con nombre, además de los guardias. Cada avatar con calidad media: 100-200 KB. Pero solo hay entre 10 y 20 visibles en un momento dado. Total de datos de renderizado de PNJ: 2-4 MB.</p>
<p><strong>Total general para un área de la escala de Carrera Blanca visible en un momento dado: 15-25 MB.</strong> Es perfectamente viable en un navegador. La carga inicial mostraría el terreno y las estructuras principales en 3-5 segundos con una conexión de banda ancha, y los detalles se completarían durante los segundos siguientes.</p>
<p>Novigrado, de The Witcher 3, es más grande y densa, pero se aplican los mismos principios. Harían falta un LOD y un streaming más agresivos, pero el total de datos visibles en cada momento seguiría dentro de los límites de memoria del navegador.</p>
<h2 id="que-creariamos-primero" tabindex="-1">Qué crearíamos primero <a class="header-anchor" href="#que-creariamos-primero" aria-label="Permalink to &quot;Qué crearíamos primero&quot;"></a></h2>
<p>Un mundo abierto completo es un proyecto de varios años. Esta es la ruta para poner rápidamente algo real en manos de los creadores:</p>
<p><strong>Fase 1: Isla compartida (3 meses).</strong> Un único sector de terreno (una isla de 512 × 512 m) con terreno basado en mapa de altura, agua, vegetación básica y ciclo de día y noche. Multijugador mediante Durable Objects (hasta 50 usuarios simultáneos). Los creadores pueden colocar recursos 3D generados por IA desde su biblioteca actual de Cinevva. Puede entenderse como un diorama compartido.</p>
<p><strong>Fase 2: Mundo ampliable (3 meses).</strong> Streaming por sectores para un mundo de 4 × 4 km. Parcelas propiedad de creadores en las que disponen de permisos de edición. Sistema de LOD para el terreno y los objetos. Estado persistente del mundo. Hasta 200 usuarios simultáneos repartidos por el mundo.</p>
<p><strong>Fase 3: Mundo vivo (6 meses).</strong> Esculpido de terreno asistido por IA. Vegetación y atmósfera procedimentales. Sistema de misiones y eventos para que los creadores puedan construir experiencias interactivas, no solo escenas estáticas. Chat de voz. Personalización de avatares. El mundo se convierte en un destino, no en una demostración.</p>
<h2 id="preguntas-abiertas" tabindex="-1">Preguntas abiertas <a class="header-anchor" href="#preguntas-abiertas" aria-label="Permalink to &quot;Preguntas abiertas&quot;"></a></h2>
<p><strong>Estilo artístico.</strong> Un estilo estilizado (low-poly, cel shading) es más barato de renderizar y tolera mejor los recursos generados por IA. El realismo exige recursos de mayor calidad y más presupuesto de renderizado. Skyrim funcionaba a pesar de sus gráficos anticuados porque su dirección artística era coherente. BotW se ve magnífico en hardware de nivel tableta porque el estilo cel shading oculta el bajo número de polígonos. Minecraft utiliza texturas de 16 × 16 y es uno de los juegos más reconocibles de la historia. Tanto Krunker.io como Hordes.io triunfan con gráficos estilizados sencillos en el navegador. Las pruebas favorecen de manera abrumadora una dirección estilizada para un mundo de navegador. Debemos elegir pronto una identidad visual específica y garantizar la coherencia de todos los recursos generados por IA.</p>
<p><strong>Persistencia del mundo frente a instancias.</strong> ¿Todo el mundo comparte un único mundo (como en un MMO o Second Life) o cada creador obtiene su propia instancia que otros pueden visitar (como en los servidores de Minecraft o las islas de Fortnite)? La tecnología admite ambas opciones, pero las dinámicas sociales son completamente distintas. El mundo compartido y persistente de Second Life favorece los descubrimientos fortuitos: mientras caminas, te encuentras por casualidad con el trabajo de otras personas. Las islas instanciadas de Fortnite requieren un menú o un sistema de portales para descubrirlas. Roblox utiliza un enfoque basado en un centro: los juegos están separados, pero se exploran y descubren mediante una interfaz compartida. Podría funcionar un modelo híbrido: un supramundo compartido y persistente donde los creadores posean parcelas —como las de Second Life—, con la opción de acceder a experiencias independientes mediante portales.</p>
<p><strong>Profundidad de las herramientas de creación.</strong> Dreams demostró que las herramientas de creación avanzadas impresionan a los críticos, pero intimidan a los usuarios. Townscaper demostró que unas herramientas mínimas pueden vender un millón de copias. Roblox Studio se sitúa en un punto intermedio: lo bastante sencillo para niños y lo bastante potente para profesionales. El editor de vóxeles de Krunker es aún más sencillo. Para un mundo de navegador, deberíamos comenzar con la sencillez de Townscaper —colocar objetos que se alinean y conectan automáticamente— y añadir profundidad con el tiempo. La experiencia inicial de colocar el primer objeto en el mundo debería durar menos de 30 segundos.</p>
<p><strong>Economía.</strong> Roblox, Second Life y Fortnite Creative demuestran que el incentivo económico es lo que convierte un juguete en una plataforma. Sin una forma de que los creadores ganen dinero con su trabajo, los más talentosos crearán en otro lugar. Esto no tiene que estar disponible desde el primer día, pero la arquitectura debería admitirlo: propiedad de objetos, seguimiento de visitas y atribución a creadores.</p>
<p><strong>Móviles.</strong> Aún faltan años para que WebGPU sea fiable en dispositivos móviles. Una experiencia móvil tendría que ser una versión reducida: terreno más sencillo, menos objetos y una distancia de visión menor. Merece la pena estudiar el enfoque de Rec Room, que funciona en todo tipo de dispositivos mediante calidad adaptativa. Otra opción es publicar una aplicación nativa para móviles y mantener la experiencia completa en el navegador.</p>
<p><strong>Moderación.</strong> Un mundo abierto donde cualquiera pueda colocar cualquier cosa es una pesadilla de moderación. Second Life lleva 20 años lidiando con ello. Cada recurso colocado debe someterse a una revisión automatizada del contenido antes de hacerse visible para los demás. Esto añade latencia al proceso creativo, pero no es negociable. También deberíamos plantearnos clasificaciones de contenido por parcela —como el sistema General/Moderado/Adulto de Second Life— para que los creadores puedan elegir los límites de su contenido.</p>
<p><strong>Interacciones sistémicas.</strong> Tanto BotW como Minecraft muestran que los sistemas de interacción basados en materiales crean mundos exponencialmente más interesantes que la colocación de objetos estáticos. Si un creador coloca un puente de madera y otro enciende una hoguera cerca, ¿debería arder el puente? Si alguien coloca una presa, ¿debería acumularse el agua detrás? Estas interacciones hacen que el mundo parezca vivo, pero exigen reglas coherentes de física y materiales para todo el contenido de los creadores. Decidir hasta dónde llegar con el diseño sistémico es una decisión arquitectónica temprana.</p>
<h2 id="conclusiones-clave" tabindex="-1">Conclusiones clave <a class="header-anchor" href="#conclusiones-clave" aria-label="Permalink to &quot;Conclusiones clave&quot;"></a></h2>
<p>Los mundos abiertos 3D en el navegador son viables hoy. Hordes.io admite a más de 200 jugadores en 3D dentro de un navegador. Krunker.io llegó a tener 10 millones de jugadores mensuales con un editor completo de mapas 3D. Los juegos .io demostraron que el multijugador en el navegador puede escalar hasta millones de usuarios. La tecnología no es especulativa.</p>
<p>El renderizado está listo. Three.js y Babylon.js gestionan escenas 3D comparables a las de los juegos AAA de principios de la década de 2010. WebGPU habilita shaders de cómputo para el terreno y la vegetación. Los motores de físicas Wasm se ejecutan a una velocidad entre 2 y 3 veces inferior a la nativa. Un área de la escala de Carrera Blanca cabe en 15-25 MB de datos visibles.</p>
<p>La red está lista. Cloudflare Durable Objects proporciona servidores autoritativos por sector en el edge. Los CRDT gestionan la edición colaborativa sin conflictos. La partición espacial —demostrada por todos los juegos, desde Agar.io hasta Skyrim— mantiene el tráfico de red en niveles manejables con cientos de jugadores simultáneos.</p>
<p>Los mundos abiertos AAA (Skyrim, The Witcher 3, BotW, Elden Ring, Minecraft y No Man's Sky) no son solo referentes gráficos. Son manuales sobre streaming por sectores, gestión de LOD, generación procedimental, diseño sistémico y composición de mundos. Cada técnica que utilizan tiene un equivalente compatible con el navegador.</p>
<p>Las plataformas para creadores (Roblox, Second Life, Fortnite Creative y Dreams) enseñan las lecciones sociales y económicas. La creación debe ocurrir dentro del mundo, no en una herramienta externa. Los incentivos económicos impulsan la calidad. La persistencia genera apego. Las herramientas sencillas llegan a más creadores que las potentes.</p>
<p>El proceso creativo es donde Cinevva tiene ventaja. Ya generamos recursos 3D, texturas y audio. La pieza que falta es conectar ese proceso con un sistema de colocación en el mundo. El contenido generado por IA llena el mundo. La selección y disposición por parte de los creadores le da alma.</p>
<p>El resultado no sería Skyrim en un navegador. Se parecería más a la intersección entre Minecraft —mundo editable—, Roblox —economía de creadores— y BotW —interacciones sistémicas—, ejecutándose en una pestaña del navegador con herramientas de creación basadas en IA. La tecnología necesaria para construirlo existe. La cuestión es la ejecución.</p>
<h2 id="articulos-de-investigacion-y-referencias-academicas" tabindex="-1">Artículos de investigación y referencias académicas <a class="header-anchor" href="#articulos-de-investigacion-y-referencias-academicas" aria-label="Permalink to &quot;Artículos de investigación y referencias académicas&quot;"></a></h2>
<p>Las técnicas de esta guía no se han inventado desde cero. Se basan en décadas de investigación. Estos son los artículos más importantes para cada subsistema, con notas sobre cómo se aplican a un mundo abierto de navegador.</p>
<h3 id="generacion-y-renderizado-de-terreno" tabindex="-1">Generación y renderizado de terreno <a class="header-anchor" href="#generacion-y-renderizado-de-terreno" aria-label="Permalink to &quot;Generación y renderizado de terreno&quot;"></a></h3>
<p><strong>&quot;Un sintetizador de imágenes&quot;</strong> -- Ken Perlin (SIGGRAPH 1985). <a href="https://doi.org/10.1145/325165.325247" target="_blank" rel="noreferrer">DOI</a>. El artículo que presentó el ruido de Perlin. Todos los generadores de terreno procedimental de todos los juegos desde 1985 tienen su origen aquí. La función de ruido produce una aleatoriedad suave que, al combinarse en octavas —movimiento browniano fraccional—, genera mapas de altura de aspecto natural. El ruido simplex (Perlin, 2001) es su sucesor más rápido. Para nuestro proceso de generación de terreno, esta es la base: la generación de mapas de altura basada en ruido se ejecuta en un shader de cómputo WebGPU a velocidades interactivas.</p>
<p><strong>&quot;Texturizado y modelado: un enfoque procedimental&quot;</strong> -- Ebert, Musgrave, Peachey, Perlin, Worley (1994, 3.ª edición de 2003). El manual de referencia sobre generación procedimental. Los capítulos de Musgrave sobre modelado de terreno, incluido el terreno multifractal con características similares a la erosión, constituyen la base directa de los generadores de terreno modernos para videojuegos. Los parámetros de fBm —lacunaridad, persistencia y número de octavas— descritos aquí son los mismos que ofreceríamos a los creadores para personalizar el terreno.</p>
<p><strong>&quot;Clipmaps de geometría: renderizado de terreno mediante cuadrículas regulares anidadas&quot;</strong> -- Losasso and Hoppe (SIGGRAPH 2004). <a href="https://doi.org/10.1145/1015706.1015799" target="_blank" rel="noreferrer">DOI</a>. Este artículo resolvió cómo renderizar terrenos enormes a velocidades interactivas mediante anillos concéntricos de LOD —clipmaps—. La malla del terreno es un conjunto fijo de cuadrículas anidadas centradas en la cámara. Cuando la cámara se mueve, las cuadrículas se desplazan y actualizan. Esta es la técnica recomendada en nuestra sección sobre terreno para WebGL 2, y funciona porque la carga de trabajo de la GPU es constante independientemente del tamaño del mundo. La implementación original es anterior a WebGL, pero se adapta directamente a él.
<strong>«Simulación y visualización rápidas de erosión hidráulica en GPU»</strong> -- Mei, Decaudin, Hu (2007). <a href="https://hal.inria.fr/inria-00402079/document" target="_blank" rel="noreferrer">PDF</a>. Trasladó la erosión hidráulica de un proceso sin conexión limitado por la CPU a un cálculo en tiempo real mediante GPU. El modelo de simulación de aguas someras del artículo (que trata el agua como un campo de alturas y calcula el flujo entre las celdas de una cuadrícula) se ejecuta en un shader de cómputo. En nuestro pipeline, la erosión mediante GPU en el servidor puede transformar terrenos generados con ruido en paisajes geológicamente plausibles en menos de un segundo, haciendo que el terreno generado por IA parezca esculpido a mano.</p>
<p><strong>«Renderizado en tiempo real de planetas generados proceduralmente»</strong> -- Enfoques híbridos procedentes de las charlas de No Man's Sky en la GDC y las explicaciones de Sean Murray. Aunque no se trata de un único artículo, la charla de la GDC 2017 «Building Worlds Using Maths», de Innes McKendrick (Hello Games), detalla cómo No Man's Sky genera terrenos a escala planetaria mediante funciones de ruido apiladas, representación de vóxeles con marching cubes y generación en la GPU. Es directamente relevante para nuestro enfoque de terrenos procedurales, especialmente para generar accidentes geográficos que los mapas de alturas no pueden representar (cuevas, arcos).</p>
<p><strong>«C-DBLOD: LOD híbrido para el renderizado de terrenos»</strong> -- Filip Strugar (2014). <a href="https://www.vertexasylum.com/CDLOD/cdlod_latest.pdf" target="_blank" rel="noreferrer">Artículo</a>. Una mejora de los clipmaps geométricos que añade selección basada en quadtree para lograr una mayor adaptabilidad alrededor de la posición de la cámara. La idea clave: en lugar de usar anillos concéntricos fijos, emplear un quadtree para seleccionar parcelas de terreno con distintas resoluciones. Esto gestiona mejor que los clipmaps puros los terrenos irregulares, donde algunas zonas necesitan más detalle que otras. Puede implementarse en WebGL 2 con un pequeño recorrido del quadtree en la CPU.</p>
<h3 id="splatting-gaussiano-3d-y-renderizado-neuronal" tabindex="-1">Splatting gaussiano 3D y renderizado neuronal <a class="header-anchor" href="#splatting-gaussiano-3d-y-renderizado-neuronal" aria-label="Permalink to &quot;Splatting gaussiano 3D y renderizado neuronal&quot;"></a></h3>
<p><strong>«Splatting gaussiano 3D para el renderizado en tiempo real de campos de radiancia»</strong> -- Kerbl, Kopanas, Leimkühler, Drettakis (SIGGRAPH 2023). <a href="https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/" target="_blank" rel="noreferrer">Página del proyecto</a>. El artículo que desencadenó la revolución del splatting gaussiano. Una escena se representa mediante millones de gaussianas 3D, cada una con posición, covarianza (forma), opacidad y coeficientes de color de armónicos esféricos. El renderizado ordena los splats por profundidad y los rasteriza como gaussianas 2D. Este enfoque es entre 100 y 1000 veces más rápido de entrenar que los NeRF y renderiza en tiempo real. Existen múltiples implementaciones para WebGL y WebGPU. En nuestra plataforma, esto permite a los creadores capturar objetos reales con fotos tomadas con el teléfono y colocarlos en el mundo del navegador.</p>
<p><strong>«NeRF: Representación de escenas como campos neuronales de radiancia para la síntesis de vistas»</strong> -- Mildenhall et al. (ECCV 2020). <a href="https://www.matthewtancik.com/nerf" target="_blank" rel="noreferrer">Página del proyecto</a>. El artículo fundacional sobre representación neuronal de escenas. Una red neuronal asigna color y densidad a coordenadas 3D, lo que permite sintetizar nuevas vistas fotorrealistas a partir de un conjunto de fotografías de entrada. Aunque los NeRF son demasiado costosos para renderizarlos directamente en un navegador (requieren evaluar la red por cada píxel), el pipeline de extracción de NeRF a malla —entrenar un NeRF y después ejecutar marching cubes sobre el campo de densidad— produce mallas texturizadas de alta calidad a partir de fotografías.</p>
<p><strong>«Primitivas gráficas neuronales instantáneas con codificación hash multirresolución»</strong> -- Müller, Evans, Schied, Keller (SIGGRAPH 2022). <a href="https://nvlabs.github.io/instant-ngp/" target="_blank" rel="noreferrer">Página del proyecto</a>. Redujo el entrenamiento de NeRF de horas a segundos mediante una tabla hash multirresolución para la codificación espacial. Esto hizo que los NeRF fueran prácticos para entornos de producción. La técnica de codificación hash también puede aplicarse a otros datos espaciales de un mundo en el navegador, como consultas rápidas en grandes conjuntos de datos 3D.</p>
<p><strong>«Neuralangelo: Reconstrucción neuronal de superficies de alta fidelidad»</strong> -- Li et al. (CVPR 2023). <a href="https://research.nvidia.com/labs/dir/neuralangelo/" target="_blank" rel="noreferrer">Página del proyecto</a>. Extrae mallas triangulares de alta calidad de representaciones neuronales mediante codificación hash multirresolución y gradientes numéricos para estimar la SDF (función de distancia con signo). Las mallas resultantes pueden utilizarse directamente en motores 3D para navegadores. En nuestro pipeline de recursos, Neuralangelo —o herramientas similares como NeuS2— puede convertir capturas NeRF en archivos GLB listos para la web, con geometría limpia y texturas prehorneadas.</p>
<h3 id="redes-multijugador-y-sincronizacion-de-estado" tabindex="-1">Redes multijugador y sincronización de estado <a class="header-anchor" href="#redes-multijugador-y-sincronizacion-de-estado" aria-label="Permalink to &quot;Redes multijugador y sincronización de estado&quot;"></a></h3>
<p><strong>«Gestión de relevancia en juegos multijugador masivos en línea»</strong> -- Boulanger, Kienzle, Verbrugge (2006). <a href="https://doi.org/10.1007/11558651_18" target="_blank" rel="noreferrer">DOI</a>. Un estudio exhaustivo de las técnicas de gestión de áreas de interés (AOI) para MMO. Abarca enfoques basados en cuadrículas, en auras e híbridos para filtrar las actualizaciones de red según su relevancia espacial. El enfoque basado en cuadrículas —que se corresponde con nuestro sistema de chunks— es el más eficiente para mundos con densidad uniforme. El enfoque basado en auras —un radio de influencia por entidad— funciona mejor con densidades variables. Nuestra recomendación de usar AOI basadas en chunks, con frecuencias de actualización determinadas por prioridad dentro del AOI, parte de esta investigación.</p>
<p><strong>«Navegación por estima: ocultación de la latencia en juegos en red»</strong> -- Pantel y Wolf (2002). <a href="https://doi.org/10.1145/566500.566510" target="_blank" rel="noreferrer">DOI</a>. Formaliza la navegación por estima —predecir las posiciones de las entidades a partir de la última velocidad conocida— para juegos en red. El artículo cuantifica la contrapartida: unos umbrales de predicción más altos reducen el ancho de banda, pero aumentan el error de posición visible durante las correcciones. En juegos de navegador con una latencia de entre 50 y 200 ms, un umbral de predicción de entre 0,5 y 1,0 metros mantiene imperceptibles las correcciones a la vez que reduce entre un 60 % y un 80 % el ancho de banda destinado a actualizar posiciones.</p>
<p><strong>«Tipos de datos replicados sin conflictos»</strong> -- Shapiro, Preguiça, Baquero, Zawirski (2011). <a href="https://doi.org/10.1007/978-3-642-24550-3_29" target="_blank" rel="noreferrer">DOI</a>. El artículo fundacional sobre CRDT. Define CRDT basados en estado y basados en operaciones que convergen sin coordinación. Para nuestro sistema de edición de mundos, los CRDT relevantes son: LWW-Register (registro en el que prevalece la última escritura) para propiedades de objetos con un único valor (posición, rotación, color) y OR-Set (conjunto de adición observada) para la colección de objetos de un chunk, que gestiona adiciones y eliminaciones simultáneas sin conflictos. Yjs los implementa de forma eficiente en JavaScript.</p>
<p><strong>«Time Warp: Un mecanismo para la simulación distribuida»</strong> -- Jefferson (1985). <a href="https://doi.org/10.1145/3916.3988" target="_blank" rel="noreferrer">DOI</a>. El artículo original sobre simulación distribuida optimista. Aunque Time Warp es demasiado complejo para un juego de navegador, su idea central —procesar eventos de forma optimista y revertirlos si llega un conflicto desde otro nodo— constituye la base de la predicción moderna en el cliente con reconciliación del servidor. Así funcionan todos los juegos multijugador con buena respuesta: el cliente predice localmente, envía acciones al servidor y corrige el estado si el servidor discrepa.</p>
<p><strong>«El modelo de red del motor TRIBES»</strong> -- Frohnmayer y Gift (GDC 1999). Una de las primeras descripciones prácticas de redes cliente-servidor para juegos, con gestión de relevancia, actualizaciones de estado priorizadas y asignación de ancho de banda. El concepto de «gestor de réplicas» —el servidor mantiene para cada cliente una vista de lo que este conoce y solo envía las diferencias respecto a esa vista— es exactamente lo que implementa nuestra arquitectura de Durable Objects basada en chunks. Esta charla de la GDC es el antecedente intelectual de la mayoría de los sistemas de red modernos para juegos.</p>
<p><strong>«Redes multijugador de Source»</strong> -- Valve (2009). <a href="https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking" target="_blank" rel="noreferrer">Documentación para desarrolladores</a>. La documentación de Valve sobre el modelo de red del motor Source, utilizado en Half-Life 2, CS:GO y Team Fortress 2. Abarca la predicción en el cliente, la interpolación de entidades, la compensación de latencia y el sistema de «instantáneas», en el que el servidor envía el estado completo del mundo a intervalos regulares mientras el cliente interpola entre instantáneas. Es el referente de excelencia para redes con servidor autoritativo y puede aplicarse directamente a nuestra arquitectura.</p>
<h3 id="generacion-procedural" tabindex="-1">Generación procedural <a class="header-anchor" href="#generacion-procedural" aria-label="Permalink to &quot;Generación procedural&quot;"></a></h3>
<p><strong>«Síntesis de modelos: Un algoritmo general de modelado procedural»</strong> -- Merrell (2007). <a href="https://doi.org/10.1145/1289603.1289612" target="_blank" rel="noreferrer">DOI</a>. Uno de los precursores de Wave Function Collapse. Genera estructuras 3D a partir de modelos de ejemplo mediante la propagación de restricciones locales. El algoritmo garantiza la coherencia global colapsando iterativamente las celdas con menos posibilidades —la heurística de entropía mínima—. Así es como Townscaper y otros generadores similares producen estructuras coherentes a partir de entradas sencillas del usuario.</p>
<p><strong>«WaveFunctionCollapse»</strong> -- Maxim Gumin (2016). <a href="https://github.com/mxgmn/WaveFunctionCollapse" target="_blank" rel="noreferrer">GitHub</a>. No es un artículo tradicional, sino un proyecto seminal de código abierto con documentación exhaustiva. El algoritmo toma una pequeña imagen de ejemplo o un conjunto de teselas y genera resultados de mayor tamaño localmente similares a la entrada. En un mundo de creadores, WFC puede generar distribuciones de edificios, redes de carreteras, mapas de mazmorras y detalles del terreno a partir de un pequeño conjunto de reglas definidas por el creador. Existen múltiples implementaciones en JavaScript.</p>
<p><strong>«Wave Function Collapse es resolución de restricciones en la práctica»</strong> -- Karth y Smith (FDG 2017). <a href="https://doi.org/10.1145/3102071.3110566" target="_blank" rel="noreferrer">DOI</a>. Un análisis académico de WFC que aclara su relación con la satisfacción de restricciones y muestra cómo analizarlo y ampliarlo. Es relevante para entender las limitaciones de WFC —puede atascarse y necesitar retroceso— y cómo diseñar conjuntos de teselas que eviten estos problemas.</p>
<p><strong>«El teorema de superposición y sus implicaciones para la generación procedural de contenido de juegos»</strong> -- Sandhu et al. (2022). Explora el uso de conceptos de superposición inspirados en la mecánica cuántica para la generación procedural de contenido. Aunque es especulativo, el marco matemático para mantener múltiples estados posibles antes de «colapsar» hasta una configuración final es precisamente la forma en que funciona WFC y podría servir de base para sistemas de generación más sofisticados.</p>
<h3 id="tecnicas-de-renderizado-en-tiempo-real" tabindex="-1">Técnicas de renderizado en tiempo real <a class="header-anchor" href="#tecnicas-de-renderizado-en-tiempo-real" aria-label="Permalink to &quot;Técnicas de renderizado en tiempo real&quot;"></a></h3>
<p><strong>«Renderizado en tiempo real»</strong> -- Akenine-Möller, Haines, Hoffman (4.ª edición, 2018). El manual de referencia. El capítulo 19 (Estructuras de aceleración), el capítulo 20 (Sombreado eficiente) y el capítulo 21 (Realidad virtual y aumentada) son especialmente relevantes. Los algoritmos de descarte por frustum, descarte por oclusión y LOD descritos aquí son los que implementan Three.js, Babylon.js y todos los motores de juegos. No es un artículo, sino la referencia definitiva.</p>
<p><strong>«Estudio sobre el prehorneado de campos neuronales de radiancia para la síntesis de vistas en tiempo real»</strong> -- Reiser et al. (2023). <a href="https://doi.org/10.1111/cgf.14835" target="_blank" rel="noreferrer">DOI</a>. Estudia métodos para convertir NeRF en formatos que puedan renderizarse en tiempo real, como mallas, texturas y cuadrículas dispersas de vóxeles. Es directamente relevante para nuestro pipeline de recursos, donde las capturas neuronales procesadas en el servidor deben producir resultados renderizables en el navegador.</p>
<p><strong>«Emparejamiento de características en línea, escalable y preciso, mediante splatting gaussiano 3D»</strong> -- Varios grupos (2024-2025). Múltiples artículos recientes exploran la edición, la composición y las escenas dinámicas con splats gaussianos. Es relevante porque los mundos de creadores necesitan combinar varias escenas de splats —los objetos capturados por cada creador— en una única escena coherente. Los métodos de edición de splats —recoloración, deformación y composición— son áreas activas de investigación.</p>
<p><strong>«Trazado eficiente de rayos en espacio de pantalla mediante GPU»</strong> -- McGuire y Mara (JCGT 2014). <a href="https://doi.org/10.2312/hpg.20141090" target="_blank" rel="noreferrer">DOI</a>. El artículo en el que se basan las reflexiones en espacio de pantalla utilizadas en nuestra sección sobre renderizado del agua. Traza rayos a través del búfer de profundidad para obtener reflexiones aproximadas sin el coste de un trazado de rayos completo. La variante de «trazado jerárquico» —que utiliza un mipmap de profundidad mín.-máx.— se ejecuta eficientemente en WebGL 2.</p>
<p><strong>«Simulación del agua oceánica»</strong> -- Jerry Tessendorf (2001). <a href="https://people.computing.clemson.edu/~jtessen/reports/papers_files/coursenotes2004.pdf" target="_blank" rel="noreferrer">PDF</a>. El artículo fundacional sobre la simulación oceánica basada en FFT. Describe el espectro de Phillips —un modelo estadístico de las olas oceánicas— y cómo transformarlo en un mapa de desplazamiento espacial mediante una FFT inversa. Se utiliza en todos los grandes juegos con océanos realistas, como Sea of Thieves, Assassin's Creed y Uncharted. El cálculo de la FFT se adapta perfectamente a los shaders de cómputo de WebGPU.</p>
<p><strong>«Dispersión atmosférica precalculada»</strong> -- Bruneton y Neyret (EGSR 2008). <a href="https://doi.org/10.1111/j.1467-8659.2008.01245.x" target="_blank" rel="noreferrer">DOI</a>. El artículo en el que se basa el renderizado de cielos físicamente preciso. Precalcula la dispersión atmosférica en tablas de consulta que un shader de fragmentos muestrea en tiempo real. Produce desde primeros principios colores correctos del cielo, perspectiva aérea —los objetos lejanos parecen azulados o brumosos— y colores de amaneceres y atardeceres. Las tablas precalculadas son pequeñas —unos pocos cientos de KB— y el shader de ejecución es ligero. Tanto el shader <code>Sky</code> de Three.js como el cielo procedural de Babylon.js son versiones simplificadas de este enfoque.</p>
<p><strong>«Volúmenes de oclusión ambiental»</strong> -- McGuire (HPG 2010) y <strong>«Oscurecimiento ambiental escalable»</strong> -- McGuire, Mara, Luebke (HPG 2012). <a href="https://research.nvidia.com/sites/default/files/pubs/2012-06_Scalable-Ambient-Obscurance/McGuire12SAO.pdf" target="_blank" rel="noreferrer">PDF</a>. Los artículos en los que se basan las implementaciones modernas de SSAO. SAO es la variante implementada con mayor frecuencia en motores 3D para navegadores porque es eficiente —una muestra del búfer de profundidad por píxel— y produce sombras de contacto plausibles. El algoritmo muestrea el búfer de profundidad alrededor de cada píxel para estimar hasta qué punto está «ocluido» por la geometría cercana. Tanto Three.js como Babylon.js implementan SSAO derivado de SAO.</p>
<h3 id="renderizado-y-animacion-de-multitudes" tabindex="-1">Renderizado y animación de multitudes <a class="header-anchor" href="#renderizado-y-animacion-de-multitudes" aria-label="Permalink to &quot;Renderizado y animación de multitudes&quot;"></a></h3>
<p><strong>«Renderizado de multitudes mediante GPU»</strong> -- Dudash (2007) y posteriores presentaciones de GDC/SIGGRAPH sobre el renderizado instanciado de multitudes. La técnica principal consiste en prehornear los fotogramas de animación esquelética en texturas —Vertex Animation Textures— y después renderizar las multitudes como mallas instanciadas, donde cada instancia lee las transformaciones de sus huesos desde la textura de animación según su fotograma actual. Esto desacopla la evaluación de animaciones de las llamadas de dibujo, lo que permite que una única llamada de dibujo instanciada renderice cientos de personajes con animaciones distintas.</p>
<p><strong>«Dinámica basada en posiciones»</strong> -- Müller et al. (2007). <a href="https://doi.org/10.1016/j.jvcir.2007.01.005" target="_blank" rel="noreferrer">DOI</a>. El artículo fundacional sobre PBD, que es la técnica con la que los motores de juegos modernos simulan telas, cabello y cuerpos blandos. Rapier —nuestro motor de física Wasm recomendado— utiliza solucionadores derivados de PBD. Para la personalización de avatares —capas, cabello suelto y ropa holgada—, PBD proporciona una simulación con buena respuesta a las frecuencias de fotogramas de los juegos. La implementación en Wasm evita ejecutarla en el hilo principal de JavaScript.
<strong>«FABRIK: un solucionador rápido e iterativo para el problema de la cinemática inversa»</strong> -- Aristidou y Lasenby (2011). <a href="https://doi.org/10.1016/j.gmod.2011.05.003" target="_blank" rel="noreferrer">DOI</a>. El artículo en el que se basa el solucionador de cinemática inversa recomendado en nuestra sección sobre avatares. FABRIK funciona alternando recorridos desde el efector final hasta la raíz y desde la raíz hasta el efector final, y converge en 3-5 iteraciones. Es más rápido que la cinemática inversa basada en jacobianos, gestiona las restricciones articulares de forma natural y es fácil de implementar (unas 50 líneas de código para el solucionador básico). Tanto las implementaciones de cinemática inversa de Three.js como las de Babylon.js derivan de FABRIK.</p>
<h3 id="mundos-virtuales-y-entornos-colaborativos" tabindex="-1">Mundos virtuales y entornos colaborativos <a class="header-anchor" href="#mundos-virtuales-y-entornos-colaborativos" aria-label="Permalink to &quot;Mundos virtuales y entornos colaborativos&quot;"></a></h3>
<p><strong>«Juegos multijugador masivos en línea: un estudio del estado del arte»</strong> -- Yahyavi y Kemme (2013). <a href="https://doi.org/10.1145/2522968.2522972" target="_blank" rel="noreferrer">DOI</a>. Estudio exhaustivo de la arquitectura de los MMO que abarca modelos cliente-servidor, enfoques entre pares, gestión de interés, modelos de consistencia, técnicas de escalabilidad y prevención de trampas. La taxonomía de los modelos de consistencia (estricta, eventual y causal) se corresponde con nuestro enfoque basado en CRDT (consistencia eventual con orden causal mediante relojes vectoriales).</p>
<p><strong>«Una arquitectura distribuida para aplicaciones interactivas multijugador en Internet»</strong> -- Diot y Gautier (1999). <a href="https://doi.org/10.1109/65.790947" target="_blank" rel="noreferrer">DOI</a>. Investigación pionera sobre entornos virtuales distribuidos que identificó la tensión fundamental: la consistencia estricta requiere coordinación (lo que añade latencia), mientras que la consistencia débil permite una mayor capacidad de respuesta, pero conlleva el riesgo de inconsistencias visibles. El artículo propone el «retraso local» (demorar ligeramente la visualización local para dar tiempo a que lleguen las actualizaciones remotas) como punto intermedio. Para las ediciones del mundo (como colocar objetos), un retraso local de 100-200 ms resulta imperceptible y da tiempo al servidor para validarlas.</p>
<p><strong>«La cuadrícula de Second Life: la arquitectura de un mundo virtual de código abierto casi contemporáneo»</strong> -- Documentación técnica de Linden Lab e ingeniería inversa de la comunidad. Aunque no se trata de un único artículo, el análisis técnico de la arquitectura de Second Life está ampliamente documentado. Las conclusiones clave: cada región de 256x256 m se ejecuta en una instancia de servidor dedicada. Los objetos se almacenan como un árbol de «primitivas» (formas básicas con transformaciones, texturas y scripts). El visor transmite bajo demanda las descripciones y texturas de los objetos. Este modelo basado en parcelas y con persistencia por objeto es la arquitectura existente más parecida a la que estamos construyendo, y los más de 20 años de funcionamiento de Second Life demuestran que puede escalar.</p>
<h3 id="graficos-web-y-rendimiento-del-navegador" tabindex="-1">Gráficos web y rendimiento del navegador <a class="header-anchor" href="#graficos-web-y-rendimiento-del-navegador" aria-label="Permalink to &quot;Gráficos web y rendimiento del navegador&quot;"></a></h3>
<p><strong>«WebGPU: una API de gráficos de alto rendimiento para la web»</strong> -- Grupo de Trabajo GPU for the Web del W3C (2023-en curso). <a href="https://www.w3.org/TR/webgpu/" target="_blank" rel="noreferrer">Especificación</a>. La especificación formal de WebGPU. No es un artículo de investigación, sino el documento técnico definitivo para la programación de GPU en navegadores. La especificación de los shaders de cómputo (Sección 23) es especialmente relevante para la generación de terrenos, la distribución de vegetación y los sistemas de partículas descritos a lo largo de esta guía.</p>
<p><strong>«WebAssembly: un marco para ejecutar código compilado en el navegador»</strong> -- Haas et al. (PLDI 2017). <a href="https://doi.org/10.1145/3062341.3062363" target="_blank" rel="noreferrer">DOI</a>. El artículo original sobre WebAssembly elaborado por los proveedores de navegadores. Demuestra que Wasm logra un rendimiento que se mantiene dentro de un factor de 2 respecto al código nativo en cargas de trabajo intensivas en cómputo. Esto respalda nuestra recomendación de usar motores de física compilados a Wasm (Rapier, Havok) para mundos abiertos en el navegador. El análisis de rendimiento del artículo muestra que la sobrecarga procede principalmente de la comprobación de límites y las llamadas indirectas a funciones, no del propio modelo de compilación.</p>
<p><strong>«No tan rápido: análisis del rendimiento de WebAssembly frente al código nativo»</strong> -- Jangda et al. (USENIX ATC 2019). <a href="https://www.usenix.org/system/files/atc19-jangda.pdf" target="_blank" rel="noreferrer">PDF</a>. Una evaluación comparativa rigurosa del rendimiento de Wasm frente al código nativo. Determina que Wasm se ejecuta de media entre 1,45 y 1,55 veces más lento que C nativo en el conjunto de pruebas SPEC CPU. En el caso concreto de la física para videojuegos (con muchos cálculos de coma flotante y pocas llamadas al sistema), la sobrecarga se sitúa en el extremo inferior (~1,3 veces). Esto confirma que la física en Wasm dentro de un navegador es viable para cargas de trabajo de juegos en tiempo real.</p>
<p><strong>«Acelerando la web con WebAssembly»</strong> -- Rossberg et al. (2018). <a href="https://doi.org/10.1145/3192366.3192379" target="_blank" rel="noreferrer">DOI</a>. Describe los fundamentos del diseño y la semántica formal de WebAssembly. Es especialmente relevante el análisis de las garantías de seguridad de memoria (Sección 3), que explica por qué los módulos Wasm pueden compartir de forma segura una pestaña del navegador con JavaScript sin los riesgos de seguridad de los complementos nativos. Esto es lo que permite ejecutar de forma segura en un navegador motores de física, que tradicionalmente eran bibliotecas de C++.</p>
<h3 id="generacion-de-contenido-mediante-ia" tabindex="-1">Generación de contenido mediante IA <a class="header-anchor" href="#generacion-de-contenido-mediante-ia" aria-label="Permalink to &quot;Generación de contenido mediante IA&quot;"></a></h3>
<p><strong>«Generación de texto a 3D con difusión bidireccional mediante conocimiento previo 2D y 3D»</strong> -- Varios grupos (2023-2025). Diversos artículos recientes (DreamFusion, Magic3D, ProlificDreamer, MVDream, Zero-1-to-3++) exploran la generación de recursos 3D a partir de instrucciones de texto mediante el uso de modelos de difusión 2D como conocimiento previo para la optimización 3D. La calidad ha mejorado drásticamente desde principios de 2023 hasta 2025, pasando de formas amorfas a mallas detalladas y texturizadas. Para nuestra plataforma, estos modelos (ejecutados en GPU del lado del servidor) constituyen el paso de «generación mediante IA» del flujo de trabajo de recursos para creadores.</p>
<p><strong>«DreamFusion: de texto a 3D mediante difusión 2D»</strong> -- Poole et al. (ICLR 2023). <a href="https://dreamfusion3d.github.io/" target="_blank" rel="noreferrer">Página del proyecto</a>. El artículo fundacional sobre Score Distillation Sampling (SDS), que utiliza un modelo de difusión 2D preentrenado para guiar la optimización 3D. La idea clave: no hacen falta datos de entrenamiento 3D si se puede evaluar, mediante un modelo 2D existente, si las vistas renderizadas de un objeto 3D coinciden con una instrucción de texto. Esto abrió la puerta a la generación de texto a 3D y constituye la base de trabajos posteriores (Magic3D, ProlificDreamer) que mejoraron la calidad y la velocidad.</p>
<p><strong>«LRM: gran modelo de reconstrucción de una sola imagen a 3D»</strong> -- Hong et al. (ICLR 2024). <a href="https://yiconghong.me/LRM/" target="_blank" rel="noreferrer">Página del proyecto</a>. Reconstruye un modelo 3D a partir de una sola imagen en 5 segundos con una única GPU. El modelo produce una representación similar a NeRF que puede convertirse en una malla. Para un mundo creado por usuarios, esto significa que un creador podría fotografiar cualquier objeto del mundo real y obtener un modelo 3D en cuestión de segundos. Su velocidad lo hace viable como herramienta interactiva en lugar de como proceso por lotes.</p>
<p><strong>«Generación procedimental de contenido mediante aprendizaje automático (PCGML)»</strong> -- Summerville et al. (2018). <a href="https://doi.org/10.1109/TG.2018.2846639" target="_blank" rel="noreferrer">DOI</a>. Un estudio sobre el uso del aprendizaje automático para la generación procedimental de contenido en videojuegos. Abarca la generación de niveles, objetos, narrativas y mundos. Resulta especialmente relevante el análisis de la «generación controlable», en la que los diseñadores establecen parámetros de alto nivel y el modelo de aprendizaje automático completa los detalles. Este es el paradigma de la creación de mundos asistida por IA: los creadores definen la intención («convierte esta zona en un bosque tenebroso») y la IA completa la geometría, las texturas y la población.</p>
<h3 id="como-se-relacionan-estos-articulos-con-nuestra-arquitectura" tabindex="-1">Cómo se relacionan estos artículos con nuestra arquitectura <a class="header-anchor" href="#como-se-relacionan-estos-articulos-con-nuestra-arquitectura" aria-label="Permalink to &quot;Cómo se relacionan estos artículos con nuestra arquitectura&quot;"></a></h3>
<p>La investigación se corresponde con nuestra arquitectura por capas:</p>
<p><strong>Flujo de trabajo del terreno:</strong> El ruido Perlin/simplex (Perlin 1985, 2001) genera el mapa de alturas base. La erosión hidráulica (Mei et al. 2007) añade realismo geológico. Los clipmaps geométricos (Losasso y Hoppe 2004) o CDLOD (Strugar 2014) renderizan el terreno de manera eficiente en el navegador. La dispersión atmosférica (Bruneton y Neyret 2008) hace que el terreno distante se vea correctamente.</p>
<p><strong>Flujo de trabajo de recursos:</strong> Los sistemas de texto a 3D (DreamFusion et al.) y de imagen a 3D (LRM) generan recursos en el servidor. El splatting gaussiano (Kerbl et al. 2023) permite capturas fotogramétricas. Neuralangelo (Li et al. 2023) extrae mallas limpias de capturas neuronales. Todas las salidas se procesan y convierten en archivos GLB/KTX2 listos para el navegador.</p>
<p><strong>Renderizado:</strong> SSAO (McGuire 2012) añade profundidad. Los reflejos en espacio de pantalla (McGuire y Mara 2014) se encargan del agua. El océano por FFT (Tessendorf 2001) simula el agua. Las texturas de animación de vértices (Dudash 2007) renderizan multitudes. FABRIK (Aristidou y Lasenby 2011) controla la cinemática inversa de los personajes.</p>
<p><strong>Red:</strong> La gestión de interés (Boulanger et al. 2006) filtra las actualizaciones según su relevancia espacial. La navegación por estima (Pantel y Wolf 2002) reduce el ancho de banda. Los CRDT (Shapiro et al. 2011) gestionan la edición colaborativa. La predicción del cliente con reconciliación del servidor (Jefferson 1985, redes de Valve Source) ofrece una respuesta inmediata.</p>
<p><strong>Generación del mundo:</strong> WFC (Gumin 2016, Karth y Smith 2017) genera estructuras y distribuciones. PCGML (Summerville et al. 2018) proporciona el marco para la generación asistida por IA, en la que los creadores definen la intención y los modelos completan los detalles.</p>
<p>La investigación está consolidada. La mayoría de estas técnicas llevan años utilizándose en juegos publicados. La innovación al trasladarlas a un navegador no está en los algoritmos, sino en la ingeniería necesaria para hacer que funcionen dentro de las limitaciones de memoria, GPU y red del navegador, que es lo que aborda el resto de esta guía.</p>
<h2 id="lecturas-adicionales" tabindex="-1">Lecturas adicionales <a class="header-anchor" href="#lecturas-adicionales" aria-label="Permalink to &quot;Lecturas adicionales&quot;"></a></h2>
<ul>
<li><a href="/es/guides/web-games-stack-2026.html">Tecnologías para juegos web en 2026</a> explica los fundamentos de WebGL, WebGPU y WebAssembly</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Comparativa de motores para juegos web</a> compara motores para su distribución en el navegador</li>
<li><a href="/es/guides/threejs-usdc-tech-report.html">Informe técnico sobre Three.js + USDC</a> acerca de la carga de recursos 3D en el navegador</li>
<li><a href="/es/guides/frontier-gen-ai-models.html">Modelos avanzados de IA generativa de código abierto</a> para el flujo de trabajo de generación mediante IA</li>
<li><a href="/es/guides/co-op-game-design.html">Diseño de juegos cooperativos</a> sobre patrones de diseño multijugador que mantienen el interés de los jugadores</li>
<li><a href="/es/guides/landscape-generation-browser.html">Generación de paisajes para mundos abiertos en el navegador</a> — renderizado de terreno, erosión y vegetación</li>
<li><a href="/es/tutorials/websocket-multiplayer-basics.html">Fundamentos del multijugador con WebSocket</a> — primeros pasos con las redes multijugador en el navegador</li>
<li><a href="/es/tutorials/webgpu-getting-started.html">Primeros pasos con WebGPU</a> — la API de renderizado para la próxima generación de experiencias 3D en el navegador</li>
<li><a href="/es/tutorials/streaming-asset-loading.html">Carga de recursos mediante streaming</a> — patrones de carga progresiva para grandes mundos 3D</li>
</ul>
<BuildCta
  title="Prueba ahora mismo un mundo abierto en tu navegador"
  desc="Escribe una frase y obtén un mundo 3D explorable."
  prompt="Crea una pequeña isla de mundo abierto que pueda explorar en tercera persona" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/browser-3d-open-world-tech.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Diseño de juegos cooperativos en 2026]]></title>
            <link>https://app.cinevva.com/es/guides/co-op-game-design</link>
            <guid>https://app.cinevva.com/es/guides/co-op-game-design</guid>
            <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Qué hace que funcionen los juegos de "bazofia para amigos". Peak vendió 11 millones de copias. Este es el motivo.]]></description>
            <content:encoded><![CDATA[<h1 id="diseno-de-juegos-cooperativos-en-2026" tabindex="-1">Diseño de juegos cooperativos en 2026 <a class="header-anchor" href="#diseno-de-juegos-cooperativos-en-2026" aria-label="Permalink to &quot;Diseño de juegos cooperativos en 2026&quot;"></a></h1>
<p>Hay un término que circula por ahí y que los desarrolladores aman u odian: «bazofia para amigos».</p>
<p>Empezó como un insulto. Una forma de despreciar los juegos cooperativos de bajo presupuesto por considerarlos fábricas de contenido superficial diseñadas para generar clips virales. Pero entonces Peak vendió 11 millones de copias en dos meses. R.E.P.O. dominó Steam. Y, de repente, los desarrolladores que hacían estos juegos empezaron a adoptar la etiqueta.</p>
<p>«En realidad, nos parece que “bazofia para amigos” es un término genial», dijo Paige Wilson, de Aggro Crab, la editora de Peak. «Se usa para describir un juego barato al que tú y tus amigos podéis jugar en cualquier momento, divertiros, pasar el rato y esperar cierta dosis de fallos y caos. Creo que algunas personas quizá no lo vean así, ¡pero nosotros sí!».</p>
<p>Esto es lo que he aprendido sobre por qué funcionan estos juegos y cómo puedes diseñar uno.</p>
<h2 id="los-juegos-que-definieron-2025" tabindex="-1">Los juegos que definieron 2025 <a class="header-anchor" href="#los-juegos-que-definieron-2025" aria-label="Permalink to &quot;Los juegos que definieron 2025&quot;"></a></h2>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Am4gM4b2UHw" title="Tráiler de Lethal Company" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><strong>Lethal Company</strong> (2023) inició la oleada. Zeekerss, desarrollador en solitario, creó un juego de terror cooperativo en el que recoges chatarra de instalaciones abandonadas mientras evitas monstruos. Vendió millones de copias y dio origen a todo un género.</p>
<p><a href="https://store.steampowered.com/app/1966720/Lethal_Company/" target="_blank" class="campaign-link">Ver Lethal Company en Steam →</a></p>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/oSfoK8eSeD8" title="Tráiler de lanzamiento de R.E.P.O." frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><strong>R.E.P.O.</strong> (2025) tomó la fórmula y la hizo más disparatada. Avatares robóticos. Físicas exageradas. Los jugadores aseguraban que era «tan divertido que costaba sentir miedo». Se convirtió en uno de los mayores juegos cooperativos de 2025. Cuando Steam publicó sus superventas de fin de año en diciembre de 2025, R.E.P.O. resultó ser el juego nuevo más vendido del año por número de unidades, seguido de cerca por Peak. Los juegos cooperativos de «bazofia para amigos» ocuparon directamente los primeros puestos, por delante de lanzamientos de gran presupuesto que costaron cinco veces más.</p>
<p><a href="https://store.steampowered.com/app/3241660/REPO/" target="_blank" class="campaign-link">Ver R.E.P.O. en Steam →</a></p>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/6BCdx7I1gz8" title="Peak explicado" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><strong>Peak</strong> (2025) demostró que la fórmula funciona fuera del terror. Escala una montaña con amigos. Cáete. Ríete. Vuelve a intentarlo. Vendió 11 millones de copias. El juego se creó en <a href="https://www.pcgamer.com/games/sim/peak-devs-say-the-hit-comedy-climber-was-pitched-in-a-swedish-hot-tub-and-developed-in-a-frantic-4-week-korean-game-jam-we-brought-our-computers-to-an-airbnb-in-hongdae-and-locked-tf-in-for-a-month/" target="_blank" rel="noreferrer">4 semanas durante una game jam en Corea del Sur</a>, donde los equipos de Landfall y Aggro Crab compartieron un Airbnb en el distrito de Hongdae, en Seúl.</p>
<p>Peak siguió añadiendo contenido gratuito después del lanzamiento: incorporó por rotación un nuevo bioma, Mesa, en agosto de 2025 y celebró un concierto temporal dentro del juego con el rapero bbno$ en diciembre de 2025. El juego de bajo presupuesto nacido en una game jam se convirtió en un servicio en vivo en todo menos en el nombre.</p>
<p><a href="https://store.steampowered.com/app/3527290/PEAK/" target="_blank" class="campaign-link">Ver Peak en Steam →</a></p>
<h2 id="los-principios-fundamentales-del-diseno" tabindex="-1">Los principios fundamentales del diseño <a class="header-anchor" href="#los-principios-fundamentales-del-diseno" aria-label="Permalink to &quot;Los principios fundamentales del diseño&quot;"></a></h2>
<p>Después de estudiar estos juegos y leer entrevistas con sus desarrolladores, esto es lo que todos comparten:</p>
<h3 id="_1-una-barrera-de-entrada-baja" tabindex="-1">1. Una barrera de entrada baja <a class="header-anchor" href="#_1-una-barrera-de-entrada-baja" aria-label="Permalink to &quot;1. Una barrera de entrada baja&quot;"></a></h3>
<div class="stat-box">
<strong>8 dólares o menos</strong><br>
La teoría de precios de Peak: «Ocho dólares siguen siendo cinco dólares. No se convierten en diez».
</div>
<p>Estos juegos cuestan menos de $20. La mayoría cuestan menos de $10. Peak salió por $5 y después pasó a $8. Los desarrolladores tenían toda una teoría sobre la psicología de los precios: «Ocho dólares siguen siendo cinco dólares. Tres dólares son dos dólares. Dos dólares son prácticamente gratis».</p>
<p>Pero no se trata solo del precio. Los juegos son fáciles de aprender. No necesitas experiencia previa con videojuegos. No necesitas comprender sistemas complejos. Tus amigos que no juegan habitualmente pueden unirse.</p>
<h3 id="_2-fracasar-es-divertido" tabindex="-1">2. Fracasar es divertido <a class="header-anchor" href="#_2-fracasar-es-divertido" aria-label="Permalink to &quot;2. Fracasar es divertido&quot;"></a></h3>
<p>En Peak, nunca he sobrevivido hasta el final de una partida. Aun así, sigo jugando.</p>
<p>Los momentos más entretenidos no son las victorias. Son ver cómo tu amigo falla un salto y cae de una montaña. Come comida venenosa. Es perseguido por el jefe de exploradores.</p>
<p>Diseña estados de fracaso cómicos. Haz que la muerte pueda observarse. Deja que los jugadores se rían unos de otros.</p>
<h3 id="_3-chat-de-proximidad" tabindex="-1">3. Chat de proximidad <a class="header-anchor" href="#_3-chat-de-proximidad" aria-label="Permalink to &quot;3. Chat de proximidad&quot;"></a></h3>
<p>Casi todos los juegos de «bazofia para amigos» que han triunfado tienen chat de voz por proximidad. Tu voz se oye más baja a medida que te alejas de tus compañeros. Las bocas de los personajes sincronizan sus movimientos con lo que dices.</p>
<p>Esto genera comedia de forma natural. Alguien gritando en la distancia para pedir ayuda. Conversaciones en susurros. El pánico cuando te das cuenta de que te has alejado demasiado en solitario.</p>
<h3 id="_4-fisicas-imperfectas-a-proposito" tabindex="-1">4. Físicas imperfectas (a propósito) <a class="header-anchor" href="#_4-fisicas-imperfectas-a-proposito" aria-label="Permalink to &quot;4. Físicas imperfectas (a propósito)&quot;"></a></h3>
<p>Las físicas tambaleantes e impredecibles no son errores. Son características.</p>
<p>Cuando tu personaje se convierte inesperadamente en un muñeco de trapo, resulta divertido. Cuando los objetos rebotan de formas extrañas, se generan historias. La imperfección es el contenido.</p>
<h3 id="_5-momentos-para-compartir" tabindex="-1">5. Momentos para compartir <a class="header-anchor" href="#_5-momentos-para-compartir" aria-label="Permalink to &quot;5. Momentos para compartir&quot;"></a></h3>
<p>Estos juegos están diseñados para crear clips. Twitch. TikTok. YouTube Shorts.</p>
<p>Cada sesión produce momentos que merece la pena compartir. Al algoritmo le encantan. Los jugadores se convierten en promotores sin darse cuenta.</p>
<h2 id="en-que-se-diferencian-de-los-juegos-cooperativos-tradicionales" tabindex="-1">En qué se diferencian de los juegos cooperativos tradicionales <a class="header-anchor" href="#en-que-se-diferencian-de-los-juegos-cooperativos-tradicionales" aria-label="Permalink to &quot;En qué se diferencian de los juegos cooperativos tradicionales&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Cooperativo tradicional</th>
<th>Bazofia para amigos</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ganar es el objetivo</td>
<td>Pasar el rato es el objetivo</td>
</tr>
<tr>
<td>Requiere habilidad</td>
<td>Cualquiera puede jugar</td>
</tr>
<tr>
<td>El modo individual funciona</td>
<td>El modo individual es triste</td>
</tr>
<tr>
<td>Impulsado por la historia</td>
<td>Impulsado por los momentos</td>
</tr>
<tr>
<td>$40-60</td>
<td>$5-20</td>
</tr>
<tr>
<td>Pulido</td>
<td>Imperfecto a propósito</td>
</tr>
</tbody>
</table>
<p>El análisis de The Verge dio en el clavo: «En la bazofia para amigos, el objetivo principal es el humor. Ganar es secundario».</p>
<h2 id="el-factor-de-la-soledad" tabindex="-1">El factor de la soledad <a class="header-anchor" href="#el-factor-de-la-soledad" aria-label="Permalink to &quot;El factor de la soledad&quot;"></a></h2>
<p>Hay algo que los críticos pasan por alto cuando descartan estos juegos como «bazofia».</p>
<p>Vivimos una epidemia de soledad. La gente está aislada. El trabajo remoto ha dispersado a los grupos de amigos. Estos juegos ofrecen a las personas un motivo para pasar tiempo juntas de forma virtual. Son espacios sociales que exigen poco compromiso.</p>
<p>Como dijo un autor: «un camino real hacia la salvación en tiempos divisivos y solitarios».</p>
<p>Y eso no es poca cosa.</p>
<h2 id="la-economia" tabindex="-1">La economía <a class="header-anchor" href="#la-economia" aria-label="Permalink to &quot;La economía&quot;"></a></h2>
<div class="stat-box">
<strong>4 semanas → 11 millones de copias</strong><br>
Peak se desarrolló durante una game jam de un mes en Corea del Sur.
</div>
<p>Estos juegos son baratos de crear. Equipos pequeños. Ciclos de desarrollo cortos. Gráficos de baja fidelidad que los jugadores realmente prefieren porque tienen encanto.</p>
<p>Content Warning requirió un equipo pequeño y poco tiempo. Peak fue un proyecto de game jam. R.E.P.O. vino de un estudio que crea juegos experimentales.</p>
<p>Los estudios responsables de estos éxitos no están reduciendo el ritmo. Aggro Crab, codesarrolladora de Peak, lanzó su siguiente juego cooperativo, Crashout Crew, el 28 de mayo de 2026: un caótico simulador de almacén con carretillas elevadoras para entre uno y cuatro jugadores, publicado en Steam y Xbox Game Pass. La misma receta: equipo pequeño, caos basado en físicas y diseño pensado para jugar con amigos.</p>
<p>Las cuentas salen: poca inversión, un gran potencial de beneficio y un género que premia la autenticidad por encima del acabado.</p>
<h2 id="ejemplos-destacados" tabindex="-1">Ejemplos destacados <a class="header-anchor" href="#ejemplos-destacados" aria-label="Permalink to &quot;Ejemplos destacados&quot;"></a></h2>
<p><strong>Los imprescindibles:</strong></p>
<ul>
<li>Among Us (2018) - el prototipo</li>
<li>Phasmophobia (2020) - caza de fantasmas con chat de proximidad</li>
<li>Lethal Company (2023) - el juego que definió el género</li>
<li>Content Warning (2024) - grabar monstruos para conseguir visitas</li>
<li>Peak (2025) - caos de escalada</li>
<li>R.E.P.O. (2025) - extracción de terror disparatada</li>
<li>Crashout Crew (2026) - caos cooperativo con carretillas elevadoras de Aggro Crab, codesarrolladora de Peak</li>
<li>Gamble With Your Friends (2026) - juego de fiesta que vendió un millón de copias durante su primera semana y demostró que el género siguió avanzando en 2026</li>
</ul>
<p><strong>Los experimentos:</strong></p>
<ul>
<li>Guilty as Sock! - drama judicial con marionetas hechas de calcetines</li>
<li>Mage Arena - $2.99, lanza hechizos gritando</li>
<li>Lockdown Protocol - Among Us combinado con un simulador de tareas</li>
<li>YAPYAP - magos destrozando una torre</li>
</ul>
<h2 id="por-que-los-juegos-web-encajan-a-la-perfeccion" tabindex="-1">Por qué los juegos web encajan a la perfección <a class="header-anchor" href="#por-que-los-juegos-web-encajan-a-la-perfeccion" aria-label="Permalink to &quot;Por qué los juegos web encajan a la perfección&quot;"></a></h2>
<p>Aquí es donde la cosa se pone interesante para quienes desarrollan juegos para navegador.</p>
<p>Los juegos de «bazofia para amigos» tienen dos requisitos: una barrera de entrada baja y multijugador instantáneo. Los juegos web cumplen ambos a la perfección.</p>
<p>Sin descargas. Sin instalaciones. Comparte un enlace y todos estarán jugando en 30 segundos. Ese es el sueño de los juegos cooperativos.</p>
<p>Los desafíos técnicos —multijugador con WebSocket, sincronización de físicas y chat de voz— se pueden resolver. Tenemos <a href="/es/tutorials/websocket-multiplayer-basics.html">tutoriales de WebSocket</a> por algo.</p>
<p>La gran cuestión es el diseño. ¿Puedes crear momentos que merezca la pena compartir? ¿Puedes hacer que fracasar sea divertido? ¿Puedes darles a los amigos un motivo para pasar el rato en tu juego?</p>
<h2 id="si-estas-creando-uno" tabindex="-1">Si estás creando uno <a class="header-anchor" href="#si-estas-creando-uno" aria-label="Permalink to &quot;Si estás creando uno&quot;"></a></h2>
<p><strong>Empieza por el bucle social.</strong> ¿De qué hablarán después los jugadores? ¿Qué historias contarán? Diseña pensando en esos momentos.</p>
<p><strong>Acepta las imperfecciones.</strong> No necesitas el acabado de un juego AAA. Los jugadores prefieren el encanto. Los muñecos de trapo son tus aliados.</p>
<p><strong>Ponle un precio bajo.</strong> Entre $5 y $10 es el punto ideal. Quieres que grupos enteros de amigos lo compren. Cuatro copias a $8 superan a una copia a $30.</p>
<p><strong>Añade chat de proximidad.</strong> Es prácticamente obligatorio. Los jugadores ya lo esperan.</p>
<p><strong>Haz que sea fácil crear clips.</strong> Si nadie comparte clips de tu juego, estás desaprovechando publicidad gratuita.</p>
<p><strong>Pruébalo con grupos de amigos reales.</strong> Probarlo en solitario no te dirá si las dinámicas sociales funcionan.</p>
<p>Los juegos que triunfan no son los más pulidos. Son los que dan a los amigos un motivo para reírse juntos.</p>
<hr>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿que-hace-que-un-juego-cooperativo-sea-bueno" tabindex="-1">¿Qué hace que un juego cooperativo sea bueno? <a class="header-anchor" href="#¿que-hace-que-un-juego-cooperativo-sea-bueno" aria-label="Permalink to &quot;¿Qué hace que un juego cooperativo sea bueno?&quot;"></a></h3>
<p>Los mejores juegos cooperativos crean situaciones en las que los jugadores se necesitan, pero también se estorban. Debes buscar momentos de caos que se conviertan en historias que la gente vuelva a contar después. Un umbral de habilidad bajo ayuda, porque nadie quiere ser el amigo incapaz de entender los controles. Los estados de fracaso divertidos importan más de lo que parece. Cuando perder es entretenido, la gente sigue jugando. El chat de voz por proximidad añade una dimensión que el chat de texto no puede reproducir. Y procura que las sesiones sean cortas, de 15 a 30 minutos, para que la gente pueda jugar unas cuantas rondas en una tarde sin sentir que supone un compromiso.</p>
<h3 id="¿por-que-son-tan-populares-ahora-mismo-los-juegos-cooperativos" tabindex="-1">¿Por qué son tan populares ahora mismo los juegos cooperativos? <a class="header-anchor" href="#¿por-que-son-tan-populares-ahora-mismo-los-juegos-cooperativos" aria-label="Permalink to &quot;¿Por qué son tan populares ahora mismo los juegos cooperativos?&quot;"></a></h3>
<p>Coincidieron varios factores. Lethal Company demostró en 2023 que un desarrollador en solitario podía crear un juego cooperativo y vender millones de copias. Después, Peak alcanzó los 11 millones de copias en 2025 con un juego que había empezado como un proyecto de game jam. La rentabilidad se volvió difícil de ignorar. Estos juegos son baratos de producir, se extienden como la pólvora entre los grupos de amigos y generan clips que se vuelven virales en las redes sociales. El género de la «bazofia para amigos», como lo llama la gente, premia la autenticidad por encima del acabado. No necesitas un estudio grande ni un gran presupuesto. Necesitas momentos divertidos y amigos que quieran compartirlos.</p>
<h3 id="¿se-puede-crear-un-juego-cooperativo-para-el-navegador" tabindex="-1">¿Se puede crear un juego cooperativo para el navegador? <a class="header-anchor" href="#¿se-puede-crear-un-juego-cooperativo-para-el-navegador" aria-label="Permalink to &quot;¿Se puede crear un juego cooperativo para el navegador?&quot;"></a></h3>
<p>Por supuesto. De hecho, los juegos para navegador encajan muy bien con el modo cooperativo porque el mayor obstáculo para jugar con amigos es conseguir que todos lo tengan todo preparado. Con un juego web, compartes un enlace y todos entran. Sin descargas, sin versiones incompatibles, sin «espera, tengo que actualizarlo». Todos los componentes técnicos —multijugador con WebSocket, sincronización de físicas e incluso chat de voz básico mediante WebRTC— son viables en el navegador. Tenemos un <a href="/es/tutorials/websocket-multiplayer-basics.html">tutorial de multijugador con WebSocket</a> que explica la parte de redes.</p>
<hr>
<p><strong>Relacionado:</strong></p>
<ul>
<li><a href="/es/tutorials/websocket-multiplayer-basics.html">Fundamentos del multijugador con WebSocket</a></li>
<li><a href="/es/guides/steam-next-fest-strategy.html">Estrategia para Steam Next Fest</a></li>
<li><a href="/es/guides/kickstarter-for-indie-games.html">Kickstarter para juegos independientes</a></li>
<li><a href="/es/tutorials/gamepad-api.html">API de mando</a> — modo cooperativo local con varios mandos</li>
<li><a href="/es/guides/game-jams-hackathons.html">Game jams y hackatones</a> — los juegos cooperativos de jam reciben más valoraciones y se comparten más</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo lanzar tu juego en itch.io</a> — los juegos cooperativos para navegador prosperan en itch.io</li>
</ul>
<BuildCta
  title="Crea en solitario un prototipo de tu idea cooperativa"
  desc="Empieza con el núcleo de dos personajes y prueba el bucle del puzle."
  prompt="Crea un juego de puzles en el que controle a dos personajes y alterne entre ellos para accionar interruptores" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/co-op-game-design.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Kickstarter para juegos indie en 2026]]></title>
            <link>https://app.cinevva.com/es/guides/kickstarter-for-indie-games</link>
            <guid>https://app.cinevva.com/es/guides/kickstarter-for-indie-games</guid>
            <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Qué dicen realmente los datos, quién tiene éxito, quién fracasa y si el crowdfunding tiene sentido para tu juego.]]></description>
            <content:encoded><![CDATA[<h1 id="kickstarter-para-juegos-indie-en-2026" tabindex="-1">Kickstarter para juegos indie en 2026 <a class="header-anchor" href="#kickstarter-para-juegos-indie-en-2026" aria-label="Permalink to &quot;Kickstarter para juegos indie en 2026&quot;"></a></h1>
<p>Hablemos de lo que está ocurriendo realmente con el crowdfunding de videojuegos, porque las sensaciones no coinciden con los datos.</p>
<p>La edad de oro ha terminado. En 2013, los videojuegos recaudaron 51 millones de dólares en Kickstarter. Para 2024, esa cifra había caído a 25,2 millones de dólares, repartidos entre aproximadamente el mismo número de campañas. El pastel se redujo a la mitad, pero la cantidad de personas compitiendo por una porción apenas cambió. Esas son las cifras a las que te enfrentas.</p>
<p>Y, aun así, los desarrolladores siguen recurriendo a Kickstarter. Las editoras dicen que no. Los inversores se asustaron por la oleada de despidos. Solo en 2024 desaparecieron unos 15.000 puestos de trabajo de la industria de los videojuegos, y quienes hacen el seguimiento señalan que la cifra real probablemente sea mayor, ya que no todos los recortes se hacen públicos. Para muchos equipos, el crowdfunding ya no es el plan A. Es la alternativa cuando todo lo demás falla.</p>
<h2 id="dos-historias-de-2025" tabindex="-1">Dos historias de 2025 <a class="header-anchor" href="#dos-historias-de-2025" aria-label="Permalink to &quot;Dos historias de 2025&quot;"></a></h2>
<h3 id="la-que-funciono" tabindex="-1">La que funcionó <a class="header-anchor" href="#la-que-funciono" aria-label="Permalink to &quot;La que funcionó&quot;"></a></h3>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/mrvpsBjg4nI" title="Tráiler de Elestrals Awakened" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><strong>Elestrals Awakened</strong> recaudó más de 1,3 millones de dólares de más de 9.000 patrocinadores, lo que lo convirtió en el videojuego con mayor financiación de Kickstarter en 2025. ¿Quién estaba detrás? Un antiguo comentarista del Campeonato Pokémon con casi un millón de suscriptores en YouTube y dos campañas exitosas de Kickstarter a sus espaldas: un juego de cartas coleccionables y su versión digital. Tenían una audiencia. Tenían experiencia demostrable. Llevaban años creando una comunidad antes siquiera de pedir dinero.</p>
<p><a href="https://www.kickstarter.com/projects/elestrals/elestrals-awakened" target="_blank" class="campaign-link">Ver el Kickstarter de Elestrals Awakened →</a></p>
<h3 id="la-que-no-funciono" tabindex="-1">La que no funcionó <a class="header-anchor" href="#la-que-no-funciono" aria-label="Permalink to &quot;La que no funcionó&quot;"></a></h3>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/dAzaaBUqki4" title="Tráiler de Alzara Radiant Echoes" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><strong>Alzara: Radiant Echoes</strong> recaudó 300.000 € de más de 5.000 patrocinadores en 2024. Fue una de las campañas de videojuegos con más patrocinadores de aquel año. El estudio, Camelia, cerró en abril de 2025. No hubo juego. Tampoco reembolsos. El equipo tenía una demo jugable, profesionales con experiencia, la mitad de la financiación asegurada y el éxito de Kickstarter como prueba del interés del mercado. Presentaron el proyecto en el Tokyo Game Show, DICE y todos los eventos de la industria que pudieron encontrar. Nadie aceptó.</p>
<blockquote>
<p>«Esto forma parte de la dura realidad de la industria. A veces, ni siquiera un concepto de juego prometedor con un interés de mercado demostrado y un equipo sólido es suficiente».</p>
<p>— Studio Camelia, última actualización para los patrocinadores</p>
</blockquote>
<p><a href="https://www.kickstarter.com/projects/studiocamelia/seed-a-vibrant-tribute-to-jrpg-classics" target="_blank" class="campaign-link">Ver el Kickstarter de Alzara (archivado) →</a></p>
<p>Dos campañas. Ambas «exitosas» según la definición de Kickstarter. Una no entregó nada. La diferencia no fue el dinero recaudado, sino todo lo que había ocurrido antes.</p>
<h2 id="las-cifras-que-importan" tabindex="-1">Las cifras que importan <a class="header-anchor" href="#las-cifras-que-importan" aria-label="Permalink to &quot;Las cifras que importan&quot;"></a></h2>
<p>Los datos de 17.000 campañas de Kickstarter desde 2009 cuentan una historia clara:</p>
<p><strong>El tamaño del objetivo permite predecir el éxito.</strong> Ninguna de las 15 campañas que aspiraban a recaudar 2,5 millones de dólares o más tuvo éxito. Sin embargo, los juegos con objetivos inferiores a 500.000 dólares a menudo superaron las expectativas. Shenmue 3 pidió 2 millones y consiguió 6,3 millones. Bloodstained pidió 500.000 y consiguió 5,5 millones. Fija un objetivo que la gente pueda apoyar y luego supéralo con creces.</p>
<p><strong>El momento importa.</strong> Diciembre es el peor mes para lanzar una campaña, con una tasa de éxito del 28 %. Febrero es el mejor, con un 35 %. La media general es del 32 %. Sí, dos tercios de las campañas fracasan.</p>
<p><strong>La mayor parte del dinero procede de campañas modestas.</strong> El 81,8 % de todos los fondos recaudados provino de campañas con objetivos de 500.000 dólares o menos. El 68,1 %, de campañas por debajo de 250.000 dólares. Las megacampañas acaparan los titulares, pero son las de tamaño medio las que realmente consiguen financiación.</p>
<p>Ya tenemos las cifras de 2025, y cuentan una historia con más matices que el prolongado declive. Los videojuegos sumaron 443 campañas exitosas en 2025 y recaudaron apenas menos que los aproximadamente 26 millones de dólares de 2024. El cambio interesante se produjo en la parte alta: 11 campañas superaron los 500.000 dólares, la mayor cifra en esa franja desde 2015 y más del doble que en 2024. El mercado no está creciendo, pero las campañas grandes y bien preparadas están regresando.</p>
<h2 id="lo-que-realmente-puedes-conseguir-con-50-000-dolares" tabindex="-1">Lo que realmente puedes conseguir con 50.000 dólares <a class="header-anchor" href="#lo-que-realmente-puedes-conseguir-con-50-000-dolares" aria-label="Permalink to &quot;Lo que realmente puedes conseguir con 50.000 dólares&quot;"></a></h2>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/BoqbkWJqlVY" title="Tráiler de Kickstarter de Space Chef" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p>Estas son las conclusiones retrospectivas del equipo de <strong>Space Chef</strong>, que recaudó 50.000 dólares de 1.119 patrocinadores:</p>
<blockquote>
<p>«Para conseguir 50.000 dólares, tuvimos que gastar más de 20.000 en marketing, anuncios y creadores de contenido. Hacer el tráiler llevó 3 meses. Kickstarter no es dinero gratis. Es un compromiso de varios años con cientos de personas».</p>
</blockquote>
<p>Sus cuentas:</p>
<table tabindex="0">
<thead>
<tr>
<th>Concepto</th>
<th>Importe</th>
</tr>
</thead>
<tbody>
<tr>
<td>Recaudado</td>
<td>$50,000</td>
</tr>
<tr>
<td>Marketing</td>
<td>-$20,000</td>
</tr>
<tr>
<td>Comisiones e impuestos</td>
<td>-$4,000</td>
</tr>
<tr>
<td><strong>Restante para el desarrollo</strong></td>
<td><strong>$26,000</strong></td>
</tr>
</tbody>
</table>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 380" role="img" aria-label="Destino de una recaudación de 50.000 dólares en Kickstarter: 50.000 dólares recaudados, menos 20.000 para marketing y 4.000 para comisiones e impuestos, lo que deja 26.000 dólares para el desarrollo" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="380" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Adónde va realmente una recaudación de $50,000</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Space Chef, $50,000 de 1.119 patrocinadores. Fuente: análisis retrospectivo del desarrollador.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="11" fill="#5b6472">
    <g stroke="#ffffff" stroke-opacity="0.07">
      <line x1="70" y1="100" x2="690" y2="100"/>
      <line x1="70" y1="140" x2="690" y2="140"/>
      <line x1="70" y1="180" x2="690" y2="180"/>
      <line x1="70" y1="220" x2="690" y2="220"/>
      <line x1="70" y1="260" x2="690" y2="260"/>
    </g>
    <line x1="70" y1="300" x2="690" y2="300" stroke="#ffffff" stroke-opacity="0.16"/>
    <text x="60" y="104" text-anchor="end">$50k</text>
    <text x="60" y="144" text-anchor="end">$40k</text>
    <text x="60" y="184" text-anchor="end">$30k</text>
    <text x="60" y="224" text-anchor="end">$20k</text>
    <text x="60" y="264" text-anchor="end">$10k</text>
    <text x="60" y="304" text-anchor="end">$0</text>
  </g>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <g stroke="#9aa7b4" stroke-opacity="0.45" stroke-dasharray="4 4">
      <line x1="200" y1="100" x2="250" y2="100"/>
      <line x1="360" y1="180" x2="410" y2="180"/>
      <line x1="520" y1="196" x2="570" y2="196"/>
    </g>
    <rect x="90" y="100" width="110" height="200" rx="6" fill="#7dd3fc"/>
    <rect x="250" y="100" width="110" height="80" rx="6" fill="#fb7185"/>
    <rect x="410" y="180" width="110" height="16" rx="4" fill="#fb7185"/>
    <rect x="570" y="196" width="110" height="104" rx="6" fill="#6ee7b7"/>
    <g text-anchor="middle" font-weight="800" font-size="14">
      <text x="145" y="92" fill="#7dd3fc">$50,000</text>
      <text x="305" y="92" fill="#fb7185">&#8722;$20,000</text>
      <text x="465" y="172" fill="#fb7185">&#8722;$4,000</text>
      <text x="625" y="188" fill="#6ee7b7">$26,000</text>
    </g>
    <g text-anchor="middle" font-size="12.5" font-weight="700" fill="#e8edf5">
      <text x="145" y="322">Recaudado</text>
      <text x="305" y="322">Marketing</text>
      <text x="465" y="322">Comisiones e impuestos</text>
      <text x="625" y="322">Para desarrollo</text>
    </g>
  </g>
</svg>
<p>A 20 dólares por hora, eso equivale a 1.300 horas. Unas 32 semanas. Ni de lejos lo suficiente para terminar su juego.</p>
<p>Al final consiguieron la inversión de una editora para completarlo. Kickstarter no financió el juego. Demostró que merecía la pena financiarlo.</p>
<p><a href="https://www.kickstarter.com/projects/bluegoogames/space-chef" target="_blank" class="campaign-link">Ver el Kickstarter de Space Chef →</a></p>
<h2 id="cuando-tiene-sentido" tabindex="-1">Cuándo tiene sentido <a class="header-anchor" href="#cuando-tiene-sentido" aria-label="Permalink to &quot;Cuándo tiene sentido&quot;"></a></h2>
<p>Kickstarter funciona cuando lo utilizas para validar tu juego, no para salvarlo.</p>
<p><strong>Buenas razones para lanzar una campaña:</strong></p>
<ul>
<li>Tienes una audiencia que ya está pidiendo tu juego</li>
<li>Necesitas demostrar que existe demanda para atraer a una editora</li>
<li>Quieres crear una comunidad que haya invertido literalmente en tu éxito</li>
<li>Tienes experiencia demostrable: juegos anteriores, proyectos exitosos o conocimientos reconocidos</li>
</ul>
<p><strong>Malas razones:</strong></p>
<ul>
<li>Necesitas el dinero para empezar el desarrollo</li>
<li>No tienes una audiencia previa</li>
<li>Esperas que la propia campaña dé a conocer el juego</li>
<li>No puedes permitirte fracasar</li>
</ul>
<h2 id="las-verdades-mas-duras" tabindex="-1">Las verdades más duras <a class="header-anchor" href="#las-verdades-mas-duras" aria-label="Permalink to &quot;Las verdades más duras&quot;"></a></h2>
<p><strong>Probablemente no puedas terminar tu juego solo con el dinero de Kickstarter.</strong> La mayoría de las campañas exitosas cubren entre el 25 % y el 50 % de los costes reales de desarrollo. El resto procede de editoras, subvenciones, ahorros u otros empleos.</p>
<p><strong>Tus patrocinadores no pueden recibir reembolsos si fracasas.</strong> Lo saben. Cada vez desconfían más de quienes crean un proyecto por primera vez. Los estudios que ya han publicado juegos o que cuentan con una trayectoria demostrable inspiran más confianza.</p>
<p><strong>Gestionar una campaña es un trabajo a tiempo completo.</strong> Actualizaciones cada pocos días. Mensajes de los patrocinadores. Contactos con la prensa. Planificación de objetivos adicionales. Redes sociales. Durante más de 30 días no estarás creando tu juego, sino promocionándolo.</p>
<p><strong>La tasa de éxito es del 32 %.</strong> Eso significa que el 68 % de las campañas fracasa. Si lanzas una sin prepararte, casi con toda seguridad formarás parte de ese 68 %.</p>
<h2 id="si-aun-asi-quieres-seguir-adelante" tabindex="-1">Si aun así quieres seguir adelante <a class="header-anchor" href="#si-aun-asi-quieres-seguir-adelante" aria-label="Permalink to &quot;Si aun así quieres seguir adelante&quot;"></a></h2>
<p>Haz esto antes de lanzar tu campaña:</p>
<ol>
<li>
<p><strong>Crea primero tu audiencia.</strong> Entre 1.000 y 2.000 personas que realmente quieran tu juego. Discord, una lista de correo, seguidores en redes sociales. Lo que te funcione.</p>
</li>
<li>
<p><strong>Ten algo jugable.</strong> Una demo, una sección vertical o cualquier otra muestra. Los jugadores se han llevado demasiadas decepciones. Mostrar es mejor que prometer.</p>
</li>
<li>
<p><strong>Fija un objetivo que realmente puedas alcanzar.</strong> Pide lo que necesitas para terminar, no lo que te gustaría tener. Consigue la financiación rápido y luego amplía los objetivos.</p>
</li>
<li>
<p><strong>Planifica el trabajo posterior.</strong> Actualizaciones. Entrega de recompensas. Años de desarrollo con gente observando. Esto no es una transacción, sino una relación.</p>
</li>
</ol>
<p>Los equipos que tienen éxito tratan Kickstarter como el inicio de una conversación, no como el final de un problema de financiación. Todos los demás lo tratan como un billete de lotería.</p>
<p>No seas un billete de lotería.</p>
<hr>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿sigue-mereciendo-la-pena-kickstarter-para-los-juegos-indie" tabindex="-1">¿Sigue mereciendo la pena Kickstarter para los juegos indie? <a class="header-anchor" href="#¿sigue-mereciendo-la-pena-kickstarter-para-los-juegos-indie" aria-label="Permalink to &quot;¿Sigue mereciendo la pena Kickstarter para los juegos indie?&quot;"></a></h3>
<p>Depende de lo que aportes. Si tienes una audiencia, una demo jugable y expectativas realistas, puede funcionar. La tasa de éxito de las campañas de videojuegos ronda el 32 %, lo que no es precisamente una gran probabilidad. Sin embargo, a los equipos con comunidades existentes y experiencia previa demostrable les va mucho mejor que esa media. La verdadera pregunta es si has hecho el trabajo previo. Si lanzas tu campaña desde cero y sin seguidores, tus posibilidades son escasas.</p>
<h3 id="¿cuanto-dinero-recaudan-los-juegos-indie-en-kickstarter" tabindex="-1">¿Cuánto dinero recaudan los juegos indie en Kickstarter? <a class="header-anchor" href="#¿cuanto-dinero-recaudan-los-juegos-indie-en-kickstarter" aria-label="Permalink to &quot;¿Cuánto dinero recaudan los juegos indie en Kickstarter?&quot;"></a></h3>
<p>El fondo total destinado a videojuegos en Kickstarter se ha ido reduciendo. Alcanzó un máximo de unos 51 millones de dólares en 2013 y cayó hasta aproximadamente 25,2 millones en 2024. La mayoría de las campañas exitosas recaudan entre 10.000 y 50.000 dólares. Lo que la gente olvida es cuánto dinero desaparece por el camino. Kickstarter se queda con alrededor del 5 %, el procesamiento de pagos se lleva otro 3-5 % y, además, hay que contar con la entrega de recompensas, los envíos y los impuestos. Una campaña que recaude 50.000 dólares podría dejarte solo 26.000 para trabajar realmente.</p>
<h3 id="¿que-porcentaje-de-campanas-de-juegos-en-kickstarter-fracasa" tabindex="-1">¿Qué porcentaje de campañas de juegos en Kickstarter fracasa? <a class="header-anchor" href="#¿que-porcentaje-de-campanas-de-juegos-en-kickstarter-fracasa" aria-label="Permalink to &quot;¿Qué porcentaje de campañas de juegos en Kickstarter fracasa?&quot;"></a></h3>
<p>Alrededor del 68 % de las campañas de videojuegos en Kickstarter no alcanza su objetivo de financiación. Esa cifra se ha mantenido bastante estable a lo largo de los años. Las campañas que fracasan suelen compartir algunas características: no tienen una audiencia previa ni una demo jugable, fijan objetivos de financiación poco realistas o se lanzan en un periodo saturado sin ninguna forma de destacar.</p>
<hr>
<p><strong>Relacionado:</strong></p>
<ul>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo lanzar tu juego en itch.io</a></li>
<li><a href="/es/guides/game-jams-hackathons.html">Guía de game jams y hackatones</a></li>
<li><a href="/es/guides/steam-next-fest-strategy.html">Estrategia para Steam Next Fest</a> — cómo conseguir listas de deseados antes y durante el crowdfunding</li>
<li><a href="/es/guides/co-op-game-design.html">Diseño de juegos cooperativos</a> — los juegos cooperativos generan recomendaciones sociales orgánicas que ayudan a las campañas</li>
</ul>
<BuildCta
  title="Los patrocinadores financian lo jugable, no las promesas"
  desc="Un enlace a una demo jugable en tu presentación supera al arte conceptual."
  prompt="Crea un nivel de muestra jugable para un acogedor juego de exploración" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/kickstarter-for-indie-games.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Estrategia para Steam Next Fest en 2026]]></title>
            <link>https://app.cinevva.com/es/guides/steam-next-fest-strategy</link>
            <guid>https://app.cinevva.com/es/guides/steam-next-fest-strategy</guid>
            <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Lo que dicen los datos sobre las listas de deseados, las demos y los plazos de Steam Next Fest, con cifras reales de más de 200 juegos y los factores que realmente impulsan la visibilidad.]]></description>
            <content:encoded><![CDATA[<h1 id="estrategia-para-steam-next-fest-en-2026" tabindex="-1">Estrategia para Steam Next Fest en 2026 <a class="header-anchor" href="#estrategia-para-steam-next-fest-en-2026" aria-label="Permalink to &quot;Estrategia para Steam Next Fest en 2026&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<div class="stat-box">
<strong>Calendario de 2026</strong><br>
El Next Fest de junio de 2026 se celebró del 15 al 22 de junio y batió un récord con casi 5000 demos jugables (<a href="https://partner.steamgames.com/doc/marketing/upcoming_events/nextfest/2026june" target="_blank">Steamworks</a>), lo que no hizo más que reforzar la idea que explicamos a continuación: con tanta competencia, las demos que destacaron fueron las que ya llegaron con una audiencia. La siguiente edición, la de <a href="https://partner.steamgames.com/doc/marketing/upcoming_events/nextfest/2026october" target="_blank">octubre de 2026</a>, se celebra del 19 al 26 de octubre. Recuerda que un juego solo puede participar una vez en Next Fest, así que elige la edición que encaje con tu ventana de lanzamiento.
</div>
<p>Esto es lo que ocurre con Next Fest: todo el mundo lo trata como una lotería. Publicas tu demo, cruzas los dedos y esperas que el algoritmo te sonría. Pero no funciona así.</p>
<p>He estado leyendo análisis posteriores de forma obsesiva. Cientos de ellos, solo de 2025. El patrón es tan constante que casi resulta aburrido: los juegos que «ganan» Next Fest no encuentran el éxito durante el festival. Lo que hacen es amplificar el impulso que ya habían generado.</p>
<p>Déjame enseñarte a qué me refiero.</p>
<h2 id="la-formula-que-nadie-quiere-oir" tabindex="-1">La fórmula que nadie quiere oír <a class="header-anchor" href="#la-formula-que-nadie-quiere-oir" aria-label="Permalink to &quot;La fórmula que nadie quiere oír&quot;"></a></h2>
<div class="stat-box">
<strong>Listas de deseados previas × 2 = incorporaciones a listas de deseados</strong><br>
Esta proporción aparece en un análisis tras otro.
</div>
<p>Eilean Mor llegó a octubre de 2025 con 2117 inclusiones en listas de deseados. Consiguió 2082 durante el festival. Casi exactamente el doble.</p>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/jFv7SjsQEws" title="Tráiler de Eilean Mor: The Lost Keepers" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p>Dice of Kalma llegó con 335 inclusiones en listas de deseados. Consiguió 659. Algo menos del doble. Su desarrollador escribió: «Nuestras listas de deseados casi se triplicaron, lo cual es genial, pero todavía nos queda mucho trabajo por hacer».</p>
<p>Esa es la verdad incómoda. Next Fest duplica lo que ya tienes. Si no tienes nada, duplica nada.</p>
<p><a href="https://store.steampowered.com/app/3871570/Eilean_Mor_The_Lost_Keepers/" target="_blank" class="campaign-link">Ver Eilean Mor en Steam →</a></p>
<h2 id="el-precipicio-de-las-2000-listas-de-deseados" tabindex="-1">El precipicio de las 2000 listas de deseados <a class="header-anchor" href="#el-precipicio-de-las-2000-listas-de-deseados" aria-label="Permalink to &quot;El precipicio de las 2000 listas de deseados&quot;"></a></h2>
<p>Los datos de 208 juegos de febrero de 2025 muestran un claro punto de inflexión al alcanzar las 2000 inclusiones en listas de deseados.</p>
<table tabindex="0">
<thead>
<tr>
<th>Listas de deseados iniciales</th>
<th>Qué sucede</th>
</tr>
</thead>
<tbody>
<tr>
<td>Menos de 1000</td>
<td>Dejas de ser visible después del segundo día. Ningún juego subió de categoría.</td>
</tr>
<tr>
<td>1000–2000</td>
<td>Ganancias modestas. Te mantienes en tu nivel.</td>
</tr>
<tr>
<td>Más de 2000</td>
<td>El algoritmo empieza a ayudarte. Es posible generar un impulso real.</td>
</tr>
<tr>
<td>Más de 10 000</td>
<td>Categoría oro. Es probable conseguir buenos resultados.</td>
</tr>
<tr>
<td>Más de 100 000</td>
<td>Categoría diamante. Compites por los primeros puestos de las listas.</td>
</tr>
</tbody>
</table>
<p>Esto es lo que dijo un desarrollador de aquella encuesta: «Se empieza a ver claramente que las listas de deseados que consigue un juego se disparan cuando ya tenía más de 2000 antes de Steam Next Fest».</p>
<p>No es exactamente una cuestión del algoritmo. Es una cuestión de validación. Tener 2000 inclusiones en listas de deseados significa que has descubierto algo sobre marketing. Sabes cómo llegar a la gente. Esa habilidad multiplica sus efectos durante el festival.</p>
<h2 id="lo-que-confirmo-febrero-de-2026" tabindex="-1">Lo que confirmó febrero de 2026 <a class="header-anchor" href="#lo-que-confirmo-febrero-de-2026" aria-label="Permalink to &quot;Lo que confirmó febrero de 2026&quot;"></a></h2>
<p>El Next Fest de febrero de 2026 (del 23 de febrero al 2 de marzo) fue el más concurrido hasta entonces, con más de 3500 demos. Y cuanto mayor es la competencia, más rotundamente repiten los datos lo mismo.</p>
<p>How To Market A Game encuestó después a 182 desarrolladores. La relación más fuerte de todos los datos fue la existente entre la cantidad de listas de deseados que tenía un juego antes del festival y las que consiguió durante el evento: un análisis independiente de los datos de la encuesta situó la correlación de Spearman en 0,825. En comparación, la mayoría de las correlaciones de marketing en los datos de juegos independientes se sitúan entre 0,2 y 0,4. Ningún otro factor se acercó.</p>
<p>La diferencia fue brutal. La demo mediana consiguió 806 inclusiones en listas de deseados. El percentil 70 alcanzó las 1839. Hacían falta 13 461 para entrar en el percentil 95, y el juego con mejores resultados consiguió 57 074. Una demo lanzada en frío y sin una base de seguidores tenía aproximadamente 1 posibilidad entre 20 de entrar en ese 5 % superior. El festival recompensa el impulso con el que llegas. No lo crea de la nada.</p>
<p>Los datos sobre los plazos también respaldaron la regla de publicar la demo pronto. De los juegos que consiguieron más de 15 000 inclusiones en listas de deseados, cinco habían publicado sus demos varios meses antes, cuatro las lanzaron aproximadamente un mes antes y solo uno hizo un lanzamiento sorpresa pocos días antes del festival.</p>
<h2 id="las-primeras-48-horas-lo-son-todo" tabindex="-1">Las primeras 48 horas lo son todo <a class="header-anchor" href="#las-primeras-48-horas-lo-son-todo" aria-label="Permalink to &quot;Las primeras 48 horas lo son todo&quot;"></a></h2>
<p>Valve da una oportunidad a todo el mundo durante los días 1 y 2. Después, el algoritmo decide quién merece más visibilidad según su rendimiento.</p>
<p>¿Los juegos de categoría bronce? Sus impresiones se desploman el tercer día. ¿Los juegos de categoría diamante? Sus impresiones se triplican.</p>
<div class="stat-box">
<strong>Días 1 y 2:</strong> Promociónalo todo. Haz directos. Publica. Coordínate con creadores de contenido.<br>
<strong>A partir del día 3:</strong> El algoritmo ya ha decidido. Solo te queda dejarte llevar.
</div>
<h2 id="lo-que-realmente-triunfo-en-2025" tabindex="-1">Lo que realmente triunfó en 2025 <a class="header-anchor" href="#lo-que-realmente-triunfo-en-2025" aria-label="Permalink to &quot;Lo que realmente triunfó en 2025&quot;"></a></h2>
<h3 id="do-no-harm-febrero-de-2025" tabindex="-1">Do No Harm (febrero de 2025) <a class="header-anchor" href="#do-no-harm-febrero-de-2025" aria-label="Permalink to &quot;Do No Harm (febrero de 2025)&quot;"></a></h3>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/GBlOHAL1LkY" title="Tráiler de Do No Harm" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><strong>Las cifras:</strong> 45 655 incorporaciones a listas de deseados durante Next Fest. Comenzó con 52 102.</p>
<p><strong>Lo que hicieron:</strong></p>
<ul>
<li>Publicaron el tráiler en GameTrailers el 29 de enero (semanas antes de Next Fest)</li>
<li>Coordinaron las acciones de relaciones públicas con el tráiler</li>
<li>La demo se publicó el 4 de febrero</li>
<li>Usaron anuncios de pago para amplificar el impulso orgánico</li>
</ul>
<p>Este es el modelo a seguir. No confiaron en que Next Fest hiciera que la gente los descubriera. Usaron Next Fest para multiplicar una atención que ya se habían ganado.</p>
<p><a href="https://store.steampowered.com/app/3138780/Do_No_Harm/" target="_blank" class="campaign-link">Ver Do No Harm en Steam →</a></p>
<h3 id="cairn-octubre-de-2025" tabindex="-1">Cairn (octubre de 2025) <a class="header-anchor" href="#cairn-octubre-de-2025" aria-label="Permalink to &quot;Cairn (octubre de 2025)&quot;"></a></h3>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/x6KWhvvk3bM" title="Tráiler de la fecha de lanzamiento de Cairn" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p>Alcanzó el puesto número 5 entre las demos el primer día. El segundo día ya aparecía en Próximamente populares y Mejores demos.</p>
<p><strong>Lo que hicieron:</strong></p>
<ul>
<li>La demo se publicó en diciembre de 2024 (10 meses antes de su Next Fest)</li>
<li>Tenían 32 000 seguidores antes del festival</li>
<li>Fueron aceptados en 18 festivales antes de Next Fest</li>
<li>The Game Bakers (Furi, Haven): un estudio consolidado con experiencia demostrada</li>
</ul>
<p>No necesitaban Next Fest. Pero aun así lo aprovecharon porque ofrece una amplificación gratuita cuando ya has hecho el trabajo.</p>
<p><a href="https://store.steampowered.com/app/1588550/Cairn/" target="_blank" class="campaign-link">Ver Cairn en Steam →</a></p>
<h3 id="yapyap-octubre-de-2025" tabindex="-1">YAPYAP (octubre de 2025) <a class="header-anchor" href="#yapyap-octubre-de-2025" aria-label="Permalink to &quot;YAPYAP (octubre de 2025)&quot;"></a></h3>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/7d8Fd9XXAtQ" title="Partida de la demo de YAPYAP" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p>El fenómeno de los «juegos caóticos con amigos». Un título de terror cooperativo en el que encarnas a unos magos que destrozan una torre. Se hizo viral en redes sociales y después dominó Next Fest.</p>
<p>Su tráiler se publicó el 25 de agosto de 2025, un mes antes de Next Fest. Consiguió 434 000 visualizaciones. Ese fue el punto de inflexión. Todo lo que vino después consistió simplemente en aprovechar la ola.</p>
<p><a href="https://store.steampowered.com/app/3834090/YAPYAP/" target="_blank" class="campaign-link">Ver YAPYAP en Steam →</a></p>
<h2 id="los-generos-que-siguen-triunfando" tabindex="-1">Los géneros que siguen triunfando <a class="header-anchor" href="#los-generos-que-siguen-triunfando" aria-label="Permalink to &quot;Los géneros que siguen triunfando&quot;"></a></h2>
<p>En la categoría diamante de febrero de 2025:</p>
<ul>
<li><strong>Terror</strong> (×2): a los usuarios de Steam les encanta el terror. Siempre ha sido así.</li>
<li><strong>Estrategia/gestión</strong> (×4): la tendencia son los juegos de «fabricar, construir y simular»</li>
<li><strong>Juegos cooperativos caóticos con amigos</strong>: Lethal Company abrió las compuertas</li>
<li><strong>Aventura gráfica point-and-click</strong> (×2): pero ambos eran secuelas con audiencias existentes</li>
</ul>
<p>Lo de las aventuras point-and-click es interesante. Beholder: Conductor era el cuarto juego de su serie. Duck Detective era una secuela. Ya tenían audiencias propias. Los desarrolladores que crean su primera aventura point-and-click no obtienen esos resultados.</p>
<h2 id="lo-que-dicen-los-juegos-pequenos" tabindex="-1">Lo que dicen los juegos pequeños <a class="header-anchor" href="#lo-que-dicen-los-juegos-pequenos" aria-label="Permalink to &quot;Lo que dicen los juegos pequeños&quot;"></a></h2>
<p>No todo el mundo aspira a la categoría diamante. Esto es lo que contaron los desarrolladores más pequeños sobre octubre de 2025:</p>
<blockquote>
<p>«Una tasa de conversión del 62 % de visitas a listas de deseados. La propia página de la tienda parece funcionar. Pero hubo muchas impresiones y la gente no hizo clic. Hay que renovar la imagen de la cápsula».</p>
</blockquote>
<blockquote>
<p>«El 57 % de quienes visitaron la tienda jugaron a nuestra demo. ¿Parece una cifra alta? Pero solo el 15 % de quienes jugaron también añadieron el juego a su lista de deseados. Algo no cumplió sus expectativas».</p>
</blockquote>
<blockquote>
<p>«Me banearon permanentemente de r/cozygames por preguntarles si nuestro juego les parecía acogedor. Siempre intento respetar las normas, pero esto fue bastante sorprendente».</p>
</blockquote>
<p>El trabajo duro es real. Estos desarrolladores prueban imágenes de cápsula, ajustan etiquetas y acaban baneados de subreddits. No tiene nada de glamuroso.</p>
<h2 id="el-plan-de-accion-honesto" tabindex="-1">El plan de acción honesto <a class="header-anchor" href="#el-plan-de-accion-honesto" aria-label="Permalink to &quot;El plan de acción honesto&quot;"></a></h2>
<p><strong>Meses antes de Next Fest:</strong></p>
<ol>
<li>Publica tu demo pronto. Pero pronto de verdad. Los ganadores habían tenido sus demos disponibles entre 6 y 12 meses.</li>
<li>Participa primero en festivales pequeños centrados en tu género. Úsalos para pulir el juego.</li>
<li>Consigue más de 2000 inclusiones en listas de deseados. Ese es tu verdadero umbral.</li>
</ol>
<p><strong>Durante Next Fest:</strong></p>
<ol>
<li>Los días 1 y 2 son decisivos. Promociónalo todo.</li>
<li>Haz directos si puedes. En tu página aparecerá como «en directo».</li>
<li>Coordínate con streamers. Págales si es necesario.</li>
<li>Pon tu demo en una página independiente de Steam para que pueda recibir reseñas.</li>
</ol>
<p><strong>Después de Next Fest:</strong></p>
<ol>
<li>No lances el juego inmediatamente. Hacerlo unas semanas después ofrece mejores resultados.</li>
<li>Aprovecha el impulso para el marketing del lanzamiento real.</li>
</ol>
<h2 id="cuando-deberias-saltartelo" tabindex="-1">Cuándo deberías saltártelo <a class="header-anchor" href="#cuando-deberias-saltartelo" aria-label="Permalink to &quot;Cuándo deberías saltártelo&quot;"></a></h2>
<p>Hablemos claro: Next Fest no es para todo el mundo.</p>
<p>Sáltatelo si:</p>
<ul>
<li>Tienes menos de 1000 inclusiones en listas de deseados (serás invisible para el tercer día)</li>
<li>Tu demo no está pulida (solo tienes una oportunidad para causar una buena primera impresión)</li>
<li>Es el primer festival en el que participas (prueba antes con otros más pequeños)</li>
<li>Vas a lanzar el juego inmediatamente después (espera unas semanas)</li>
</ul>
<p>Cada mes se celebran decenas de festivales más pequeños. Tienen audiencias más específicas y menos competencia. Consulta la lista en <a href="https://howtomarketagame.com/festivals" target="_blank" rel="noreferrer">howtomarketagame.com/festivals</a>.</p>
<p>Next Fest es la opción predeterminada porque Valve anima a todo el mundo a participar. Pero las mejores acciones de marketing no son las que todo el mundo recibe como sugerencia.</p>
<hr>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cuantas-inclusiones-en-listas-de-deseados-necesitas-para-steam-next-fest" tabindex="-1">¿Cuántas inclusiones en listas de deseados necesitas para Steam Next Fest? <a class="header-anchor" href="#¿cuantas-inclusiones-en-listas-de-deseados-necesitas-para-steam-next-fest" aria-label="Permalink to &quot;¿Cuántas inclusiones en listas de deseados necesitas para Steam Next Fest?&quot;"></a></h3>
<p>Los datos señalan unas 2000 inclusiones en listas de deseados como el umbral a partir del cual Next Fest empieza a funcionar a tu favor. Por debajo de esa cifra, básicamente dejas de ser visible al tercer día. El algoritmo favorece a los juegos que ya están ganando tracción, así que necesitas llegar con impulso. El patrón aproximado del festival de febrero de 2025 fue el siguiente: puedes llegar a duplicar durante el evento la cantidad de listas de deseados que tuvieras antes de Next Fest. Si llegas con 500, podrías salir con 1000. Si llegas con 5000, podrías alcanzar las 10 000. La cifra inicial importa mucho más de lo que cree la mayoría.</p>
<h3 id="¿cuando-deberias-publicar-una-demo-para-steam-next-fest" tabindex="-1">¿Cuándo deberías publicar una demo para Steam Next Fest? <a class="header-anchor" href="#¿cuando-deberias-publicar-una-demo-para-steam-next-fest" aria-label="Permalink to &quot;¿Cuándo deberías publicar una demo para Steam Next Fest?&quot;"></a></h3>
<p>Antes de lo que imaginas. Los juegos que mejores resultados obtuvieron en los festivales recientes habían publicado sus demos entre 6 y 12 meses antes de que comenzara Next Fest. Eso te da tiempo para recopilar comentarios, corregir los problemas evidentes y aumentar orgánicamente tus listas de deseados antes de que el festival multiplique lo que ya tienes. Publicar la demo la misma semana de Next Fest es un error habitual. Compites con cientos de demos nuevas y no tienes reseñas, comentarios ni ningún ciclo de aprendizaje con el que trabajar.</p>
<h3 id="¿merece-la-pena-steam-next-fest-para-los-juegos-independientes-pequenos" tabindex="-1">¿Merece la pena Steam Next Fest para los juegos independientes pequeños? <a class="header-anchor" href="#¿merece-la-pena-steam-next-fest-para-los-juegos-independientes-pequenos" aria-label="Permalink to &quot;¿Merece la pena Steam Next Fest para los juegos independientes pequeños?&quot;"></a></h3>
<p>Puede merecerla, pero solo si tienes todo preparado. Los juegos pequeños que llegan con menos de 1000 inclusiones en listas de deseados y una demo sin pulir suelen quedar sepultados rápidamente. El festival dura una semana y hay cientos de juegos compitiendo por la atención. Si estás en una fase temprana del desarrollo, los festivales más pequeños dedicados a géneros específicos son un mejor primer paso. Tienen audiencias más concretas y menos competencia. Reserva Next Fest para cuando tu demo esté bien pulida y ya tengas algo de impulso.</p>
<hr>
<p><strong>Contenido relacionado:</strong></p>
<ul>
<li><a href="/es/guides/kickstarter-for-indie-games.html">Kickstarter para juegos independientes</a></li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo lanzar tu juego en itch.io</a></li>
<li><a href="/es/guides/co-op-game-design.html">Diseño de juegos cooperativos</a> — los juegos cooperativos consiguen sistemáticamente mejores resultados en Next Fest</li>
<li><a href="/es/tutorials/analytics-web-games.html">Analítica para juegos web</a> — seguimiento del rendimiento de la demo y de las métricas de conversión</li>
<li><a href="/es/guides/game-jams-hackathons.html">Game jams y hackatones</a> — crea una audiencia antes de tu primer festival</li>
</ul>
<BuildCta
  title="Practica el gancho de los primeros 30 segundos"
  desc="Next Fest recompensa las demos que atrapan al instante. Crea ahora un prototipo de ese gancho."
  prompt="Crea un nivel de demostración jugable con un gancho en los primeros 30 segundos" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/steam-next-fest-strategy.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mejores modelos generativos de IA de código abierto para juegos (2026)]]></title>
            <link>https://app.cinevva.com/es/guides/frontier-gen-ai-models</link>
            <guid>https://app.cinevva.com/es/guides/frontier-gen-ai-models</guid>
            <pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Los mejores modelos generativos de IA de código abierto de 2026 para vídeo, imagen, 3D, audio, voz y simulación de mundos, con los puntos fuertes de cada uno y su coste de ejecución.]]></description>
            <content:encoded><![CDATA[<h1 id="mejores-modelos-generativos-de-ia-de-codigo-abierto-para-juegos-2026" tabindex="-1">Mejores modelos generativos de IA de código abierto para juegos (2026) <a class="header-anchor" href="#mejores-modelos-generativos-de-ia-de-codigo-abierto-para-juegos-2026" aria-label="Permalink to &quot;Mejores modelos generativos de IA de código abierto para juegos (2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Esto es lo que ocurre con la IA generativa. Durante años, los mejores modelos estuvieron tras claves de API y precios impredecibles. Construías tu flujo de trabajo en torno a una herramienta, te acostumbrabas a ella y, de pronto, recibías un correo diciendo que los precios habían cambiado. O peor aún, que la empresa había cambiado por completo de rumbo.</p>
<p>Eso cambió a finales de 2024. Tencent, Alibaba y DeepSeek empezaron a publicar modelos que realmente puedes descargar. Modelos que rivalizan con las alternativas cerradas. Y, de repente, los creadores tienen opciones que no dependen del modelo de negocio de otra empresa.</p>
<p>¿Y si pudieras generar vídeos, recursos 3D, música y voces con modelos que tú controlas? Ese es el punto en el que estamos. Esta guía repasa qué existe de verdad, qué funciona y qué puedes empezar a usar hoy mismo.</p>
<h2 id="generacion-de-video" tabindex="-1">Generación de vídeo <a class="header-anchor" href="#generacion-de-video" aria-label="Permalink to &quot;Generación de vídeo&quot;"></a></h2>
<p>Durante años, generar vídeo significaba usar Runway o Pika: plataformas cerradas, cuotas de suscripción y límites sobre lo que podías hacer con el resultado. ¿Ahora? Puedes ejecutar modelos comparables en tu propio hardware.</p>
<video controls autoplay loop muted playsinline style="width: 100%; border-radius: 8px;">
  <source src="https://cdn.cinevva.com/video/hunyuanvideo-demo.mp4" type="video/mp4">
</video>
<p><em>Generación de texto a vídeo con HunyuanVideo, salida a 720p del principal modelo de vídeo de código abierto</em></p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organización</th>
<th>Parámetros</th>
<th>Especificaciones</th>
<th>Hardware</th>
<th>Coste</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/Tencent-Hunyuan/HunyuanVideo" target="_blank" rel="noreferrer"><strong>HunyuanVideo</strong></a></td>
<td>Tencent</td>
<td>13B</td>
<td>720p, texto+imagen</td>
<td>80GB</td>
<td>~$0.20</td>
</tr>
<tr>
<td><a href="https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5" target="_blank" rel="noreferrer"><strong>HunyuanVideo-1.5</strong></a></td>
<td>Tencent</td>
<td>8.3B</td>
<td>480p-1080p, texto+imagen</td>
<td>14GB</td>
<td>~$0.05</td>
</tr>
<tr>
<td><a href="https://github.com/genmoai/mochi" target="_blank" rel="noreferrer"><strong>Mochi 1</strong></a></td>
<td>Genmo</td>
<td>10B</td>
<td>480p@30fps</td>
<td>12GB+</td>
<td>~$0.10</td>
</tr>
<tr>
<td><a href="https://github.com/Lightricks/LTX-Video" target="_blank" rel="noreferrer"><strong>LTX-Video</strong></a></td>
<td>Lightricks</td>
<td>—</td>
<td>768x512, tiempo real</td>
<td>12GB</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/Lightricks/LTX-2" target="_blank" rel="noreferrer"><strong>LTX-2</strong></a></td>
<td>Lightricks</td>
<td>19B</td>
<td>4K, <strong>audio sincronizado</strong></td>
<td>Gama alta</td>
<td>~$0.30</td>
</tr>
<tr>
<td><a href="https://github.com/Wan-Video/Wan2.1" target="_blank" rel="noreferrer"><strong>Wan 2.1</strong></a></td>
<td>Alibaba</td>
<td>1.3-14B</td>
<td>480p-720p</td>
<td>8GB+</td>
<td>~$0.03</td>
</tr>
<tr>
<td><a href="https://github.com/Wan-Video/Wan2.2" target="_blank" rel="noreferrer"><strong>Wan 2.2</strong></a></td>
<td>Alibaba</td>
<td>27B MoE (14B activos)</td>
<td>720p, MoE</td>
<td>8GB+</td>
<td>~$0.03</td>
</tr>
<tr>
<td><a href="https://huggingface.co/zai-org/CogVideoX1.5-5B" target="_blank" rel="noreferrer"><strong>CogVideoX1.5-5B</strong></a></td>
<td>Tsinghua</td>
<td>5B</td>
<td>1360x768@16fps, hasta 10s</td>
<td>12GB</td>
<td>~$0.04</td>
</tr>
<tr>
<td><a href="https://github.com/SkyworkAI/SkyReels-V3" target="_blank" rel="noreferrer"><strong>SkyReels-V3</strong></a></td>
<td>Skywork</td>
<td>14-19B</td>
<td>Guiado por audio, referencia a vídeo, V2V</td>
<td>Gama alta</td>
<td>~$0.10</td>
</tr>
<tr>
<td><a href="https://github.com/stepfun-ai/Step-Video-T2V" target="_blank" rel="noreferrer"><strong>Step-Video-T2V</strong></a></td>
<td>StepFun</td>
<td>30B</td>
<td>Mayor T2V abierto, 204 fotogramas</td>
<td>Gama alta</td>
<td>~$0.15</td>
</tr>
<tr>
<td><a href="https://github.com/hpcaitech/Open-Sora" target="_blank" rel="noreferrer"><strong>Open-Sora 2.0</strong></a></td>
<td>HPC-AI</td>
<td>11B</td>
<td>Integración con Flux</td>
<td>Gama alta</td>
<td>~$0.20</td>
</tr>
</tbody>
</table>
<p>Pesos: <a href="https://huggingface.co/tencent/HunyuanVideo" target="_blank" rel="noreferrer">HunyuanVideo ↗</a> · <a href="https://huggingface.co/genmo/mochi-1-preview" target="_blank" rel="noreferrer">Mochi 1 ↗</a> · <a href="https://huggingface.co/Wan-AI/Wan2.1-T2V-14B" target="_blank" rel="noreferrer">Wan 2.1 ↗</a> · <a href="https://huggingface.co/hpcai-tech/Open-Sora-v2" target="_blank" rel="noreferrer">Open-Sora ↗</a></p>
<p><strong>Ver muestras:</strong> <a href="https://aivideo.hunyuan.tencent.com/" target="_blank" rel="noreferrer">Galería de HunyuanVideo ↗</a> · <a href="https://www.genmo.ai/" target="_blank" rel="noreferrer">Ejemplos de Mochi ↗</a> · <a href="https://github.com/THUDM/CogVideo#gallery" target="_blank" rel="noreferrer">Muestras de CogVideoX ↗</a></p>
<h3 id="que-significa-esto-para-los-creadores" tabindex="-1">Qué significa esto para los creadores <a class="header-anchor" href="#que-significa-esto-para-los-creadores" aria-label="Permalink to &quot;Qué significa esto para los creadores&quot;"></a></h3>
<p><strong>HunyuanVideo</strong> supera a Runway Gen-3 en evaluaciones profesionales y es completamente abierto. ¿El inconveniente? Necesitas hardware potente. Una A100 o H100 con 80GB de VRAM. Para la mayoría de nosotros, eso significa alquilar GPU en la nube cuando las necesitemos.</p>
<p><strong>HunyuanVideo-1.5</strong> cambió por completo los requisitos de hardware. Tencent lo publicó en noviembre de 2025 como un modelo abierto de 8.3B parámetros que funciona en una GPU de consumo con 14GB, con generación de texto a vídeo e imagen a vídeo a 480p/720p y reescalado opcional a 1080p. Un nuevo mecanismo de atención selectiva y por mosaicos deslizantes (Selective and Sliding Tile Attention, SSTA) le proporciona aproximadamente el doble de velocidad de inferencia que el HunyuanVideo original. Si querías la calidad de HunyuanVideo pero no podías justificar una tarjeta de 80GB, esta es la versión que realmente puedes ejecutar en casa.</p>
<p><strong>Mochi 1</strong> es el que de verdad puedes ejecutar. Una GPU de 12GB —el terreno de una RTX 3060— lo maneja sin problemas. El resultado es genuinamente creativo y tiene una cualidad artística distintiva. No alcanza del todo la fidelidad de HunyuanVideo, pero tú controlas el proceso.</p>
<p><strong>LTX-2</strong> es donde la cosa se pone interesante para los juegos. Es el primer modelo abierto que genera audio sincronizado con el vídeo. Imagina cinemáticas en las que el sonido simplemente... encaja. Sin sincronización en posproducción. Lightricks publicó como código abierto los pesos completos y el código de inferencia y entrenamiento en enero de 2026, con salida 4K nativa de hasta 50fps y audio sincronizado de hasta 20 segundos. Una salvedad sobre la licencia: los pesos abiertos de LTX-2 son gratuitos para uso académico y para uso comercial únicamente por parte de empresas con ingresos anuales inferiores a $10M, así que comprueba ese umbral antes de montar un negocio sobre él.</p>
<p><strong>SkyReels-V3</strong> (Skywork, enero de 2026) es la nueva línea abierta más destacada. Es un modelo multimodal unificado que permite generar vídeo guiado por audio, de referencia a vídeo y de vídeo a vídeo en variantes de 14B y 19B, por lo que resulta muy eficaz cuando necesitas que un personaje o una imagen de referencia guíen la toma. <strong>Step-Video-T2V</strong> (StepFun) es el mayor modelo abierto de texto a vídeo, con 30B, y se distribuye bajo una licencia MIT clara; conviene conocerlo si una licencia permisiva te importa más que poder ejecutarlo en una GPU pequeña.</p>
<p><strong>Wan 2.1</strong> funciona en un portátil gaming. Una GPU de 8GB basta para las variantes más pequeñas. Si alguna vez has querido crear prototipos con generación de vídeo, pero no podías justificar el hardware, esta es tu puerta de entrada.</p>
<p><strong>Wan 2.2</strong> (Alibaba, julio de 2025) es el primer modelo de vídeo de código abierto basado en un diseño de mezcla de expertos: 27B parámetros totales, con solo 14B activos en cada paso. Se distribuye en versiones de texto a vídeo (T2V-A14B), imagen a vídeo (I2V-A14B) y una variante híbrida de 5B que funciona en GPU de consumo, todas bajo Apache 2.0 para uso comercial.</p>
<p>Hay una salvedad que conviene conocer: Wan 2.2 sigue siendo la última versión abierta de Wan. Las versiones más recientes, Wan 2.5 (septiembre de 2025), 2.6 (diciembre de 2025) y 2.7 (abril de 2026), añadieron audio sincronizado, 1080p y un control más preciso de los fotogramas, pero solo están disponibles mediante API y no tienen pesos públicos. Si el autoalojamiento es importante para ti, 2.2 es el límite. LTX-2 es el modelo abierto al que recurrir cuando necesitas 4K y audio sincronizado.</p>
<p>El flujo de trabajo más lógico: Mochi 1 o Wan 2.1 para crear prototipos localmente. HunyuanVideo-1.5 o LTX-2 en GPU en la nube cuando necesites la calidad final.</p>
<h2 id="generacion-de-imagenes" tabindex="-1">Generación de imágenes <a class="header-anchor" href="#generacion-de-imagenes" aria-label="Permalink to &quot;Generación de imágenes&quot;"></a></h2>
<p>Aquí es donde el código abierto ya ha ganado. Los modelos que puedes descargar hoy compiten de verdad con Midjourney. No son «casi igual de buenos», son realmente competitivos.</p>
<p><img src="/img/ai-samples/flux-sample.png" alt="Muestras de generación de FLUX.1">
<em>Muestras de FLUX.1, calidad fotorrealista de un modelo con licencia Apache 2.0</em></p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organización</th>
<th>Publicación</th>
<th>Parámetros</th>
<th>Característica clave</th>
<th>Licencia</th>
<th>Coste/imagen</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://huggingface.co/black-forest-labs/FLUX.1-schnell" target="_blank" rel="noreferrer"><strong>FLUX.1 [schnell]</strong></a></td>
<td>Black Forest Labs</td>
<td>Ago. 2024</td>
<td>12B</td>
<td>Generación en 4 pasos, rápido</td>
<td>Apache 2.0</td>
<td>~$0.001</td>
</tr>
<tr>
<td><a href="https://huggingface.co/black-forest-labs/FLUX.1-dev" target="_blank" rel="noreferrer"><strong>FLUX.1 [dev]</strong></a></td>
<td>Black Forest Labs</td>
<td>Ago. 2024</td>
<td>12B</td>
<td>Calidad cercana a Pro</td>
<td>No comercial</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://huggingface.co/stabilityai/stable-diffusion-3.5-large" target="_blank" rel="noreferrer"><strong>SD 3.5 Large</strong></a></td>
<td>Stability AI</td>
<td>Oct. 2024</td>
<td>8B</td>
<td>Renderizado de texto, estilos diversos</td>
<td>Licencia de Stability</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://huggingface.co/stabilityai/stable-diffusion-3.5-large-turbo" target="_blank" rel="noreferrer"><strong>SD 3.5 Large Turbo</strong></a></td>
<td>Stability AI</td>
<td>Oct. 2024</td>
<td>8B</td>
<td>4 pasos, rápido</td>
<td>Licencia de Stability</td>
<td>~$0.001</td>
</tr>
<tr>
<td><a href="https://huggingface.co/HiDream-ai/HiDream-I1-Full" target="_blank" rel="noreferrer"><strong>HiDream-I1</strong></a></td>
<td>HiDream.ai</td>
<td>Abr. 2025</td>
<td>17B</td>
<td>Alta calidad, variantes Full/Dev/Fast</td>
<td>MIT</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://github.com/zai-org/CogView4" target="_blank" rel="noreferrer"><strong>CogView4</strong></a></td>
<td>Tsinghua / Zhipu</td>
<td>Mar. 2025</td>
<td>6B</td>
<td>Texto nativo en chino, hasta 2048px</td>
<td>Apache 2.0</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://github.com/QwenLM/Qwen-Image" target="_blank" rel="noreferrer"><strong>Qwen-Image</strong></a></td>
<td>Alibaba</td>
<td>Ago. 2025</td>
<td>20B</td>
<td>Renderizado y edición de texto de primera categoría</td>
<td>Apache 2.0</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://bfl.ai/blog/flux-2" target="_blank" rel="noreferrer"><strong>FLUX.2</strong></a></td>
<td>Black Forest Labs</td>
<td>Nov. 2025</td>
<td>32B</td>
<td>Texto+edición, 4MP, múltiples referencias</td>
<td>dev: No comercial / klein 4B: Apache 2.0</td>
<td>~$0.003</td>
</tr>
<tr>
<td><a href="https://github.com/ideogram-oss/ideogram4" target="_blank" rel="noreferrer"><strong>Ideogram 4.0</strong></a></td>
<td>Ideogram</td>
<td>Jun. 2026</td>
<td>9.3B</td>
<td>Diseño, renderizado de texto, control de composición mediante JSON</td>
<td>No comercial</td>
<td>~$0.002</td>
</tr>
</tbody>
</table>
<p>Pruébalos directamente: <a href="https://huggingface.co/spaces/black-forest-labs/FLUX.1-schnell" target="_blank" rel="noreferrer">Demo de FLUX.1 schnell ↗</a> · <a href="https://huggingface.co/spaces/stabilityai/stable-diffusion-3.5-large" target="_blank" rel="noreferrer">Demo de SD 3.5 Large ↗</a> · <a href="https://github.com/black-forest-labs/flux" target="_blank" rel="noreferrer">GitHub (FLUX) ↗</a></p>
<p><strong>Ver muestras:</strong> <a href="https://flux1.ai/examples" target="_blank" rel="noreferrer">Galería de FLUX ↗</a> · <a href="https://flux1.ai/gallery" target="_blank" rel="noreferrer">Galería de LoRA para FLUX ↗</a> · <a href="https://replicate.com/black-forest-labs/flux-schnell/examples" target="_blank" rel="noreferrer">Ejemplos de Replicate ↗</a></p>
<h3 id="para-crear-recursos-de-juegos" tabindex="-1">Para crear recursos de juegos <a class="header-anchor" href="#para-crear-recursos-de-juegos" aria-label="Permalink to &quot;Para crear recursos de juegos&quot;"></a></h3>
<p><strong>FLUX.1 [schnell]</strong> es el que debes conocer. Tiene licencia Apache 2.0, lo que significa que puedes publicar juegos comerciales sin preocuparte por problemas de licencias. Genera en solo 4 pasos, por lo que puedes iterar rápidamente. Describe lo que quieres, mira el resultado, ajusta y repite.</p>
<p><strong>SD 3.5 Large</strong> por fin renderiza texto correctamente. Las versiones anteriores destrozaban cualquier texto que intentaras incluir. Esto es importante para prototipos de interfaces, carteles dentro del juego, pantallas de título y cualquier lugar donde necesites palabras legibles en tus imágenes.</p>
<p><strong>FLUX.2</strong> (Black Forest Labs, noviembre de 2025) es el sucesor de mayor tamaño: un modelo de 32B que permite generar imágenes a partir de texto y editar imágenes con un único checkpoint, con una gran consistencia de personajes y estilos a partir de múltiples referencias, además de un renderizado de texto fiable de hasta 4 megapíxeles. FLUX.2 [dev], con pesos abiertos, utiliza una licencia no comercial, pero FLUX.2 [klein], una versión destilada de menor tamaño (enero de 2026), distribuye su variante de 4B bajo Apache 2.0, genera en menos de un segundo y funciona con unos 8GB de VRAM, así que sigue habiendo una opción apta para uso comercial con la que publicar arte para juegos. Descarga específicamente klein 4B: la versión klein 9B, de mayor tamaño, mantiene la licencia no comercial de FLUX. Las canalizaciones cuantizadas permiten ejecutar [dev] en GPU de 18-24GB.</p>
<p>Hay otras dos opciones abiertas que conviene conocer. <strong>Chroma1-HD</strong> (8.9B, Apache 2.0) es un derivado totalmente abierto de FLUX.1-schnell, por lo que es la forma segura para uso comercial de obtener la calidad de la familia FLUX sin la licencia de [dev]. <strong>OmniGen2</strong> (Apache 2.0) es un modelo unificado que reúne la generación de texto a imagen y la edición basada en instrucciones, lo que lo convierte en la vía más rápida cuando estás iterando sobre un recurso existente («haz que la espada brille en azul») en lugar de generarlo desde cero.</p>
<p><strong>Qwen-Image</strong> (Alibaba, agosto de 2025) es el modelo abierto al que recurrir cuando tu arte necesita texto legible, como carteles, interfaces, pósteres o etiquetas de objetos. Es un modelo de 20B con licencia Apache 2.0, renderizado de texto de primera categoría y una potente variante de edición basada en instrucciones, así que es apto para uso comercial y excepcionalmente bueno en algo con lo que la mayoría de los modelos de imagen aún tropiezan. La actualización de diciembre de 2025, <a href="https://huggingface.co/Qwen/Qwen-Image-2512" target="_blank" rel="noreferrer">Qwen-Image-2512</a>, mejoró el realismo de las personas y la composición del texto, y mantuvo la licencia Apache 2.0, así que descarga ese checkpoint si vas a alojarlo tú mismo. El Qwen-Image-2.0 más reciente (febrero de 2026) solo está disponible mediante API.</p>
<p><strong>Ideogram 4.0</strong> (junio de 2026) es la primera versión de Ideogram con pesos abiertos: un transformer de difusión de 9.3B creado para trabajos de diseño, con un excelente renderizado de texto multilingüe y control explícito de la composición y el color mediante prompts JSON estructurados. Hay un inconveniente que debes conocer antes de basarte en él: el código de inferencia es Apache 2.0, pero los pesos tienen una licencia no comercial, por lo que es una herramienta de investigación y creación de prototipos a menos que compres la licencia comercial.</p>
<p>El ecosistema de Stable Diffusion sigue sin tener rival. ControlNet para lograr composiciones precisas. Inpainting para hacer correcciones. Ajuste fino con LoRA para estilos personalizados. FLUX está recortando distancias, pero si hoy necesitas una personalización profunda, la madurez de las herramientas de SD te ofrece más posibilidades.</p>
<p>Yo lo plantearía así: para texturas y sprites, cualquiera de los dos sirve. Para arte conceptual con requisitos de estilo específicos, SD 3.5 con LoRA. Para obtener la máxima calidad en un lanzamiento comercial, FLUX schnell.</p>
<h2 id="generacion-3d" tabindex="-1">Generación 3D <a class="header-anchor" href="#generacion-3d" aria-label="Permalink to &quot;Generación 3D&quot;"></a></h2>
<p>Si alguna vez has dedicado ocho horas a modelar un objeto que aparece en tu juego durante tres segundos, esta sección es para ti. Hace tiempo que la generación 3D dejó de ser una «investigación interesante» para convertirse en una verdadera herramienta de producción y, en 2026, los modelos abiertos son realmente buenos. Puedes pasar de un boceto a una malla texturizada en menos de un minuto.</p>
<p><img src="/img/ai-samples/trellis-sample.png" alt="Muestras de generación 3D de TRELLIS">
<em>TRELLIS genera a partir de imágenes individuales mallas 3D texturizadas con materiales PBR</em></p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organización</th>
<th>Publicación</th>
<th>Característica clave</th>
<th>Resultado</th>
<th>Coste/malla</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/microsoft/TRELLIS.2" target="_blank" rel="noreferrer"><strong>TRELLIS.2-4B</strong></a></td>
<td>Microsoft</td>
<td>Dic. 2025</td>
<td>4B parámetros, PBR nativo, hasta 1536³</td>
<td>Malla texturizada con normales</td>
<td>~$0.03</td>
</tr>
<tr>
<td><a href="https://github.com/Tencent-Hunyuan/Hunyuan3D-2.1" target="_blank" rel="noreferrer"><strong>Hunyuan3D 2.1</strong></a></td>
<td>Tencent</td>
<td>Jun. 2025</td>
<td>PBR para producción, pesos completos + código de entrenamiento</td>
<td>Malla texturizada de alta fidelidad</td>
<td>~$0.05</td>
</tr>
<tr>
<td><a href="https://github.com/facebookresearch/sam-3d-objects" target="_blank" rel="noreferrer"><strong>SAM 3D</strong></a></td>
<td>Meta</td>
<td>Nov. 2025</td>
<td>De una sola imagen a 3D (objetos + cuerpo humano)</td>
<td>Malla a partir de una foto</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/stabilityai/stable-fast-3d" target="_blank" rel="noreferrer"><strong>Stable Fast 3D</strong></a></td>
<td>Stability AI</td>
<td>Ago. 2024</td>
<td>Imagen individual → malla en ~0.5s</td>
<td>Malla texturizada rápida</td>
<td>~$0.001</td>
</tr>
<tr>
<td><a href="https://github.com/VAST-AI-Research/TripoSG" target="_blank" rel="noreferrer"><strong>TripoSG</strong></a></td>
<td>VAST-AI</td>
<td>Mar. 2025</td>
<td>Generación de formas mediante flujo rectificado de 1.5B</td>
<td>Malla de alta calidad</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://github.com/VAST-AI-Research/TripoSR" target="_blank" rel="noreferrer"><strong>TripoSR</strong></a></td>
<td>Stability / Tripo</td>
<td>2024</td>
<td>Reconstrucción rápida a partir de una sola imagen</td>
<td>Malla (sin textura)</td>
<td>~$0.001</td>
</tr>
<tr>
<td><a href="https://huggingface.co/VAST-AI/UniRig" target="_blank" rel="noreferrer"><strong>UniRig</strong></a></td>
<td>Tsinghua / Tripo</td>
<td>2025</td>
<td>Rigging automático: esqueleto + pesos de skinning</td>
<td>Malla con rig y animable</td>
<td>~$0.01</td>
</tr>
<tr>
<td>Pruébalos directamente: <a href="https://huggingface.co/spaces/microsoft/TRELLIS.2" target="_blank" rel="noreferrer">demo de TRELLIS.2 ↗</a> · <a href="https://huggingface.co/spaces/tencent/Hunyuan3D-2" target="_blank" rel="noreferrer">demo de Hunyuan3D ↗</a> · <a href="https://huggingface.co/spaces/TencentARC/InstantMesh" target="_blank" rel="noreferrer">demo de InstantMesh ↗</a></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p><strong>Ver ejemplos:</strong> <a href="https://microsoft.github.io/TRELLIS.2/" target="_blank" rel="noreferrer">página del proyecto TRELLIS.2 ↗</a> · <a href="https://www.3daistudio.com/Models/Trellis-2" target="_blank" rel="noreferrer">galería de 3D AI Studio ↗</a></p>
<h3 id="un-flujo-de-trabajo-que-realmente-funciona" tabindex="-1">Un flujo de trabajo que realmente funciona <a class="header-anchor" href="#un-flujo-de-trabajo-que-realmente-funciona" aria-label="Permalink to &quot;Un flujo de trabajo que realmente funciona&quot;"></a></h3>
<p>El enfoque que ahora mismo está funcionando entre los creadores encadena varios modelos. Empieza con una imagen, generada o fotografiada, da igual. Pásala por Stable Zero123 o Wonder3D para obtener varias vistas. Introduce esas vistas en InstantMesh o TripoSR para crear la malla. Después, usa TRELLIS.2 o Hunyuan3D para obtener materiales adecuados.</p>
<p><strong>TRELLIS.2</strong>, de Microsoft, es el nuevo líder para crear recursos listos para producción. Maneja la geometría que hace fallar a otros modelos: superficies finas, agujeros y topologías complejas. La versión de 4B parámetros produce mallas con texturas PBR reales, no simples colores de vértices que se hacen pasar por materiales.</p>
<p><strong>Stable Fast 3D</strong> se centra en la velocidad. Tarda aproximadamente medio segundo en pasar de una imagen a una malla. La malla necesita retoques y texturizado, pero ¿para crear prototipos? ¿Para averiguar si una idea funciona antes de invertir horas? No tiene rival. TripoSG es el siguiente paso cuando quieres obtener una geometría más limpia a partir de una sola imagen.</p>
<p><strong>Hunyuan3D 2.1</strong> es el modelo abierto de Tencent que debes usar: incluye todos los pesos y el código de entrenamiento, además de texturizado PBR apto para producción. Presta atención a los nombres, porque suelen causar confusión. Hunyuan3D 2.5, 3.0 y 3.1 existen, pero solo están disponibles mediante API y no tienen pesos públicos, así que, para alojarlo por tu cuenta, el generador base sigue limitado a la versión 2.1. Tencent sí publicó dos extensiones útiles basadas en 2.1: Hunyuan3D-Omni añade control mediante múltiples condiciones (nube de puntos, vóxel, esqueleto y caja delimitadora), mientras que Hunyuan3D-Part descompone una malla en partes editables. Su licencia también excluye la UE, el Reino Unido y Corea del Sur, así que revisa las condiciones antes de publicar en esas regiones.</p>
<p><strong>SAM 3D</strong> (Meta, noviembre de 2025) es la vía de entrada más reciente: convierte una sola foto en una malla 3D mediante modelos distintos para objetos y cuerpos humanos. Combinado con el trabajo de Meta sobre segmentación, permite aislar un objeto de una imagen y reconstruir únicamente ese objeto.</p>
<p><strong>UniRig</strong> (Tsinghua y Tripo, MIT) cubre la carencia con la que todo el mundo se encuentra justo después de obtener una malla: el rigging. Genera automáticamente un esqueleto válido y los pesos de skinning de una malla de entrada, de modo que un personaje generado pueda animarse de verdad en lugar de quedarse como un elemento estático. Si lo combinas con el trabajo de animación automática de SOMA-X, de NVIDIA, un personaje completamente generado y equipado con rig deja de ser una simple demostración de investigación.</p>
<p>Esta es una expectativa realista para los creadores independientes: genera arte conceptual con FLUX, pásalo por InstantMesh para obtener la geometría y después texturízalo en Blender o utiliza TRELLIS para automatizar el PBR. Estaríamos hablando de entre 30 y 60 minutos por recurso en lugar de entre 4 y 8 horas. No es instantáneo, pero sí supone una diferencia real.</p>
<h2 id="audio-y-musica" tabindex="-1">Audio y música <a class="header-anchor" href="#audio-y-musica" aria-label="Permalink to &quot;Audio y música&quot;"></a></h2>
<p>La generación de audio todavía no ha alcanzado el nivel de las imágenes y el vídeo. Pero ya hay suficiente para cambiar tu forma de trabajar, especialmente al crear prototipos y efectos de sonido.</p>
<audio controls style="width: 100%;">
  <source src="/img/ai-samples/music-sample.mp3" type="audio/mpeg">
</audio>
<p><em>Muestra de música generada por IA. Describe el ambiente que buscas y obtén música que encaje</em></p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organización</th>
<th>Lanzamiento</th>
<th>Qué hace</th>
<th>Licencia</th>
<th>Coste/30 s</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/ace-step/ACE-Step-1.5" target="_blank" rel="noreferrer"><strong>ACE-Step 1.5</strong></a></td>
<td>StepFun/ACE Studio</td>
<td>ene. 2026</td>
<td>Genera rápidamente ~4 min de música, 19 idiomas y clonación de voz</td>
<td>MIT</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://stability.ai/stable-audio" target="_blank" rel="noreferrer"><strong>Stable Audio 3.0</strong></a></td>
<td>Stability AI</td>
<td>may. 2026</td>
<td>Canciones de hasta ~6 min; modelos abiertos Small, Small-SFX y Medium</td>
<td>Stability Community</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://github.com/multimodal-art-projection/YuE" target="_blank" rel="noreferrer"><strong>YuE</strong></a></td>
<td>MAP</td>
<td>ene. 2025</td>
<td>Canciones completas a partir de letras, voces + acompañamiento</td>
<td>Apache 2.0</td>
<td>~$0.05</td>
</tr>
<tr>
<td><a href="https://huggingface.co/facebook/musicgen-large" target="_blank" rel="noreferrer"><strong>MusicGen</strong></a></td>
<td>Meta</td>
<td>2023</td>
<td>Música a partir de texto, controlable</td>
<td>código MIT / pesos CC-BY-NC</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://github.com/ASLP-lab/DiffRhythm2" target="_blank" rel="noreferrer"><strong>DiffRhythm 2</strong></a></td>
<td>ASLP-lab</td>
<td>feb. 2026</td>
<td>Generación rápida de canciones completas</td>
<td>Apache 2.0</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/google/magenta-realtime" target="_blank" rel="noreferrer"><strong>Magenta RealTime</strong></a></td>
<td>Google</td>
<td>jun. 2025</td>
<td>Música en tiempo real controlable mediante indicaciones</td>
<td>código Apache / pesos CC-BY</td>
<td>~$0.02</td>
</tr>
</tbody>
</table>
<p>Pruébalos directamente: <a href="https://huggingface.co/spaces/facebook/MusicGen" target="_blank" rel="noreferrer">demo de MusicGen ↗</a> · <a href="https://audiocraft.metademolab.com/musicgen.html" target="_blank" rel="noreferrer">entorno de pruebas de AudioCraft ↗</a></p>
<p><strong>Ver ejemplos:</strong> <a href="https://replicate.com/meta/musicgen/examples" target="_blank" rel="noreferrer">ejemplos de MusicGen ↗</a> · <a href="https://felixkreuk.github.io/audiogen/" target="_blank" rel="noreferrer">muestras de AudioGen ↗</a></p>
<h3 id="lo-que-realmente-puedes-publicar" tabindex="-1">Lo que realmente puedes publicar <a class="header-anchor" href="#lo-que-realmente-puedes-publicar" aria-label="Permalink to &quot;Lo que realmente puedes publicar&quot;"></a></h3>
<p><strong>MusicGen</strong>, de Meta, sigue siendo una opción práctica para crear prototipos de audio para juegos. Describe el ambiente que buscas, obtén música que encaje y ejecútalo sin problemas en una GPU con 12 GB. Hay un detalle importante sobre la licencia: el código de MusicGen es MIT, pero los pesos del modelo son CC-BY-NC (uso no comercial), así que úsalo para crear prototipos y cambia a un modelo con licencia comercial, como ACE-Step o Stable Audio, para cualquier cosa que vayas a publicar.</p>
<p><strong>El modelo abierto de efectos de sonido de Stable Audio (Small-SFX)</strong> se ocupa de pasos, crujidos de puertas, viento ambiental y sonidos mecánicos, se ejecuta localmente y se distribuye bajo la licencia comunitaria de Stability. Por tanto, es la opción abierta para efectos de sonido cuando necesitas sonidos que puedas utilizar comercialmente. Es la mejor elección porque los demás modelos abiertos de efectos de sonido imponen condiciones: AudioGen, de Meta, tiene licencia CC-BY-NC y TangoFlux utiliza la licencia comunitaria no comercial de Stability, así que ambos solo sirven para crear prototipos de un juego que vayas a publicar.</p>
<p><strong>Magenta RealTime</strong> (Google) destaca de la mejor manera posible: es el único modelo con pesos abiertos diseñado para generar música en tiempo real que puede controlarse continuamente mediante indicaciones. En lugar de renderizar una pista terminada, genera música en directo que puedes dirigir mientras suena, justo el formato que necesita una banda sonora adaptativa para juegos que cambie según lo que haga el jugador. El código utiliza Apache 2.0 y los pesos, CC-BY; ambos permiten el uso comercial.</p>
<p><strong>YuE</strong> es realmente emocionante. Es el primer modelo abierto que genera canciones completas con voces. Temas musicales. Música de fondo con voces reales. La calidad varía, pero está a años luz de cualquier otra cosa que puedas descargar y ejecutar por tu cuenta.</p>
<p><strong>ACE-Step</strong> es el modelo musical abierto que debes conocer ahora, y ha evolucionado rápidamente: la línea 1.5 (enero de 2026, con una variante XL de 5B más grande) sustituye al lanzamiento original de mayo de 2025 y ahora utiliza una licencia MIT. Genera rápidamente varios minutos de música, admite 19 idiomas y ofrece clonación de voz, remezclas y edición de letras. Para crear prototipos de juegos, cubre gran parte de las carencias que dejaron YuE y MusicGen.</p>
<p><strong>Stable Audio 3.0</strong> (mayo de 2026) es la actualización más importante para el sonido. Puede generar canciones de hasta unos seis minutos, y Stability publicó los pesos de tres de sus cuatro variantes: Small y el modelo específico para efectos de sonido Small-SFX se ejecutan en el dispositivo, mientras que Medium ofrece una mejor estructura musical y la duración completa de las pistas. Solo el modelo Large quedó limitado a la API. Small-SFX es ahora la opción abierta más potente específicamente para efectos de sonido de juegos. Toda la familia se entrenó con datos bajo licencia, así que su base jurídica es más sólida que la de los generadores musicales con litigios todavía sin resolver.</p>
<p>Esta es la valoración sincera: la diferencia entre los modelos abiertos y los cerrados (Suno, Udio) se está reduciendo, pero sigue siendo real en el caso de las canciones completas con voces; además, esas herramientas cerradas también afrontan litigios sin resolver por sus datos de entrenamiento. Para los efectos de sonido, los modelos abiertos —especialmente el modelo SFX de Stable Audio— son realmente competitivos. Si quieres publicar canciones, prepárate para iterar mucho o contrata a un músico para la producción final y utiliza estas herramientas para todo lo demás.</p>
<h2 id="habla-y-voz" tabindex="-1">Habla y voz <a class="header-anchor" href="#habla-y-voz" aria-label="Permalink to &quot;Habla y voz&quot;"></a></h2>
<p>La generación de voz ya ha superado con creces el nivel de «suficientemente buena para juegos», y eso cambia lo que pueden hacer los equipos pequeños.</p>
<audio controls style="width: 100%;">
  <source src="/img/ai-samples/speech-sample.mp3" type="audio/mpeg">
</audio>
<p><em>Narración para juegos generada por IA, con habla natural, ritmo adecuado y emoción</em></p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organización</th>
<th>Lanzamiento</th>
<th>Característica principal</th>
<th>Licencia</th>
<th>Coste/min</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/QwenLM/Qwen3-TTS" target="_blank" rel="noreferrer"><strong>Qwen3-TTS</strong></a></td>
<td>Alibaba</td>
<td>ene. 2026</td>
<td>Clonación de voz con 3 s, diseño de voces, 10 idiomas</td>
<td>Apache 2.0</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://huggingface.co/ResembleAI/chatterbox" target="_blank" rel="noreferrer"><strong>Chatterbox</strong></a></td>
<td>Resemble AI</td>
<td>2025</td>
<td>Control emocional, clonación con ~5 s, 23 idiomas</td>
<td>MIT</td>
<td>~$0.003</td>
</tr>
<tr>
<td><a href="https://github.com/SesameAILabs/csm" target="_blank" rel="noreferrer"><strong>CSM</strong></a></td>
<td>Sesame AI</td>
<td>mar. 2025</td>
<td>Fluidez conversacional, pausas naturales</td>
<td>Apache 2.0</td>
<td>~$0.005</td>
</tr>
<tr>
<td><a href="https://github.com/fishaudio/fish-speech" target="_blank" rel="noreferrer"><strong>Fish Speech 1.5</strong></a></td>
<td>Fish Audio</td>
<td>2024</td>
<td>Clonación sin entrenamiento previo a partir de 10-30 s</td>
<td>código Apache / pesos CC-BY-NC-SA</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://github.com/myshell-ai/OpenVoice" target="_blank" rel="noreferrer"><strong>OpenVoice V2</strong></a></td>
<td>MyShell/MIT</td>
<td>abr. 2024</td>
<td>Control de emociones y acentos</td>
<td>MIT</td>
<td>~$0.003</td>
</tr>
<tr>
<td><a href="https://huggingface.co/coqui/XTTS-v2" target="_blank" rel="noreferrer"><strong>XTTS-v2</strong></a></td>
<td>Coqui (comunidad)</td>
<td>2024</td>
<td>17 idiomas, clonación de voz</td>
<td>CPML (uso no comercial)</td>
<td>~$0.005</td>
</tr>
</tbody>
</table>
<p><strong>Escuchar muestras:</strong> <a href="https://fish.audio/" target="_blank" rel="noreferrer">voces de Fish Audio ↗</a> · <a href="https://huggingface.co/spaces/myshell-ai/OpenVoice" target="_blank" rel="noreferrer">demo de OpenVoice ↗</a></p>
<h3 id="como-hacer-que-los-pnj-suenen-como-personas" tabindex="-1">Cómo hacer que los PNJ suenen como personas <a class="header-anchor" href="#como-hacer-que-los-pnj-suenen-como-personas" aria-label="Permalink to &quot;Cómo hacer que los PNJ suenen como personas&quot;"></a></h3>
<p><strong>CSM (Conversational Speech Model)</strong>, de Sesame, se diseñó específicamente para los diálogos. Produce pausas naturales. Cambios de entonación. El ritmo de una conversación real. La mayoría de los sistemas TTS suenan como alguien que lee un guion, y se nota al instante. CSM suena como alguien hablando. Esa diferencia importa más de lo que crees.</p>
<p><strong>Qwen3-TTS</strong> (Alibaba, enero de 2026) es la opción que debes elegir para proyectos comerciales. Toda la familia utiliza Apache 2.0, clona una voz a partir de unos 3 segundos de audio de referencia, habla 10 idiomas y permite diseñar voces mediante descripciones, por lo que puedes especificar la voz de un PNJ con texto sencillo en lugar de buscar grabaciones de referencia. Los modelos 0.6B y 1.7B funcionan en hardware modesto.</p>
<p><strong>Chatterbox</strong> (Resemble AI) es la opción ideal para voces expresivas y utiliza una licencia MIT, por lo que puedes incluirlo en un producto publicado. Clona una voz a partir de unos 5 segundos, funciona con una latencia inferior a 200 ms, abarca 23 idiomas y es el primer modelo abierto con un control para exagerar las emociones, de modo que un PNJ puede sonar realmente enfadado o asustado en lugar de inexpresivo. Otras dos opciones con Apache 2.0 cubren necesidades específicas: <strong>Orpheus</strong> (Canopy) admite etiquetas emocionales en línea como <code>&lt;laugh&gt;</code> y <code>&lt;sigh&gt;</code>, que se adaptan perfectamente a las frases breves de los PNJ, y ofrece una variante de 150M para hardware de gama baja; <strong>Dia</strong> (Nari Labs), por su parte, está diseñado para diálogos con varios hablantes e incluye elementos no verbales como toses y risas en una sola pasada.</p>
<p><strong>Fish Speech</strong> y <strong>OpenVoice</strong> se ocupan de la clonación de voz. Graba entre 10 y 30 segundos de un actor de voz y genera después una cantidad ilimitada de diálogos con esa voz. Piensa en lo que esto implica: puedes contratar a profesionales de voz para las frases clave y después ampliar su interpretación para abarcar cientos de variaciones y diálogos ambientales. Una observación sobre la licencia de Fish Speech: el código es abierto, pero los pesos de la versión 1.5 utilizan CC-BY-NC-SA, así que es una herramienta para crear prototipos. Para juegos publicados, utiliza en su lugar OpenVoice (MIT) o Qwen3-TTS (Apache 2.0).</p>
<p><strong>NVIDIA ACE</strong> (no es completamente abierto, pero conviene conocerlo) ahora admite Qwen3-8B para desplegar PNJ directamente en el dispositivo. LLM local + TTS local + sincronización labial, todo ejecutándose en GPU de consumo. Este es el conjunto de herramientas para mantener conversaciones en tiempo real con PNJ sin necesidad de hacer llamadas a la nube.</p>
<p>El enfoque más sensato para los creadores independientes consiste en contratar actores de voz para los personajes principales y las frases más importantes. Utiliza Qwen3-TTS u OpenVoice para ampliar la cobertura de los diálogos ambientales, las variaciones y todas las frases incidentales que, de otro modo, quedarían sin voz o resultarían prohibitivamente caras.</p>
<h2 id="modelos-de-mundos-y-simulacion-de-juegos" tabindex="-1">Modelos de mundos y simulación de juegos <a class="header-anchor" href="#modelos-de-mundos-y-simulacion-de-juegos" aria-label="Permalink to &quot;Modelos de mundos y simulación de juegos&quot;"></a></h2>
<p>Aquí es donde las cosas se vuelven realmente extrañas y realmente emocionantes. Estos modelos no generan recursos estáticos. Generan experiencias que parecen juegos.</p>
<a href="https://oasis.decart.ai/" target="_blank" style="display: block; background: linear-gradient(135deg, #2d5a27 0%, #1a3d16 100%); padding: 20px; border-radius: 12px; text-align: center; text-decoration: none; color: white;">
  <strong style="font-size: 18px;">🎮 Juega a Oasis: Minecraft generado por IA</strong><br>
  <span style="opacity: 0.8;">Generación de mundos en tiempo real sin motor de juego, solo predicción mediante IA</span>
</a>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organización</th>
<th>Lanzamiento</th>
<th>Qué hace</th>
<th>Estado</th>
<th>Coste/fotograma</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/eloialonso/diamond" target="_blank" rel="noreferrer"><strong>DIAMOND</strong></a></td>
<td>Investigación</td>
<td>2024</td>
<td>Modelo de mundo por difusión, simulación de Atari</td>
<td>Pesos abiertos</td>
<td>~$0.001</td>
</tr>
<tr>
<td><a href="https://github.com/etched-ai/open-oasis" target="_blank" rel="noreferrer"><strong>Oasis</strong></a></td>
<td>Decart/Etched</td>
<td>oct. 2024</td>
<td>Generación de Minecraft en tiempo real</td>
<td>Pesos del modelo 500M abiertos</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://huggingface.co/microsoft/mineworld" target="_blank" rel="noreferrer"><strong>MineWorld</strong></a></td>
<td>Microsoft</td>
<td>abr. 2025</td>
<td>Minecraft en tiempo real, alternativa abierta a Oasis</td>
<td>MIT</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://huggingface.co/tencent/Hunyuan-GameCraft-1.0" target="_blank" rel="noreferrer"><strong>Hunyuan-GameCraft</strong></a></td>
<td>Tencent</td>
<td>ago. 2025</td>
<td>Vídeo de juegos interactivo, control mediante teclado y ratón</td>
<td>Tencent Community</td>
<td>~$0.005</td>
</tr>
<tr>
<td><a href="https://github.com/GameGen-X/GameGen-X" target="_blank" rel="noreferrer"><strong>GameGen-X</strong></a></td>
<td>Investigación</td>
<td>2024</td>
<td>Generación de vídeo de mundos abiertos</td>
<td>Código + conjunto de datos abiertos</td>
<td>~$0.005</td>
</tr>
<tr>
<td><a href="https://huggingface.co/nvidia/Cosmos-Predict2.5-2B" target="_blank" rel="noreferrer"><strong>NVIDIA Cosmos</strong></a></td>
<td>NVIDIA</td>
<td>oct. 2025</td>
<td>Simulación de IA física (Predict2.5)</td>
<td>NVIDIA Open Model License</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://github.com/SkyworkAI/Matrix-Game" target="_blank" rel="noreferrer"><strong>Matrix-Game 3.0</strong></a></td>
<td>Skywork</td>
<td>mar. 2026</td>
<td>Mundos interactivos a 720p en tiempo real, memoria a largo plazo</td>
<td>Pesos abiertos</td>
<td>~$0.005</td>
</tr>
<tr>
<td><a href="https://deepmind.google/blog/genie-2-a-large-scale-foundation-world-model/" target="_blank" rel="noreferrer"><strong>Genie 2</strong></a></td>
<td>DeepMind</td>
<td>dic. 2024</td>
<td>Entornos 3D interactivos a partir de imágenes</td>
<td>No publicado</td>
<td>N/D</td>
</tr>
<tr>
<td><a href="https://deepmind.google/blog/genie-3-a-new-frontier-for-world-models/" target="_blank" rel="noreferrer"><strong>Genie 3</strong></a></td>
<td>DeepMind</td>
<td>ago. 2025</td>
<td>Mundos a 720p en tiempo real, eventos controlables mediante indicaciones</td>
<td>Cerrado (Project Genie)</td>
<td>N/D</td>
</tr>
</tbody>
</table>
<p>Consulta la investigación: <a href="https://diamond-wm.github.io/" target="_blank" rel="noreferrer">página del proyecto DIAMOND ↗</a> · <a href="https://huggingface.co/blog/nvidia/cosmos-predict-and-transfer2-5" target="_blank" rel="noreferrer">blog de Cosmos ↗</a>
<strong>Pruébalo:</strong> <a href="https://oasis.decart.ai/starting-point" target="_blank" rel="noreferrer">Demostración en vivo de Oasis ↗</a> · <a href="https://deepmind.google/blog/genie-2-a-large-scale-foundation-world-model/" target="_blank" rel="noreferrer">Ejemplos de Genie 2 ↗</a></p>
<h3 id="por-que-deberia-importarte" tabindex="-1">Por qué debería importarte <a class="header-anchor" href="#por-que-deberia-importarte" aria-label="Permalink to &quot;Por qué debería importarte&quot;"></a></h3>
<p><strong>DIAMOND</strong> demostró algo que cambia la forma de pensar sobre la IA para videojuegos. Puedes entrenar un agente íntegramente dentro de un mundo generado. No hace falta un motor de juego real para el entrenamiento. La IA juega en la imaginación de un modelo de difusión y luego transfiere lo aprendido al juego real. Las implicaciones son importantes.</p>
<p><strong>Oasis</strong> ejecuta en tiempo real un mundo similar a Minecraft. Fotograma a fotograma. Sin motor de juego, texturas ni recursos preconstruidos. Solo un transformer que predice qué viene después. Es una prueba de concepto, pero imagina hasta dónde puede llegar. La versión de 500 millones de parámetros ya es abierta.</p>
<p><strong>GameGen-X</strong> publicó el mayor conjunto de datos de vídeo de juegos de mundo abierto. Si quieres entrenar tus propios modelos o ajustar modelos existentes para generar contenido similar al de un videojuego, este es tu punto de partida.</p>
<p><strong>NVIDIA Cosmos</strong> se creó para robótica y vehículos autónomos, pero sus modelos fundacionales del mundo también sirven para videojuegos. Entienden la física, la permanencia de los objetos y las relaciones espaciales. La línea abierta actual es Cosmos-Predict2.5, publicada en octubre de 2025 bajo la NVIDIA Open Model License, que permite el uso comercial y las obras derivadas.</p>
<p><strong>Hunyuan-GameCraft</strong> (Tencent, agosto de 2025) es el modelo abierto de mundo más directamente orientado a videojuegos. Se entrenó con más de un millón de grabaciones procedentes de más de 100 juegos AAA y unifica las entradas de teclado y ratón en un espacio de control compartido, por lo que genera vídeo interactivo de videojuegos que realmente controlas, en lugar de limitarte a verlo. Usa la misma Tencent Community License que Hunyuan3D, con la misma exclusión de la UE, el Reino Unido y Corea del Sur, así que revisa las condiciones antes de distribuirlo allí. <strong>MineWorld</strong> (Microsoft, MIT) es la alternativa completamente permisiva a Oasis: un modelo de mundo de Minecraft en tiempo real que puedes descargar y ejecutar sin motor de juego.</p>
<p><strong>Genie 3</strong> (DeepMind, anunciado en agosto de 2025) es el salto que merece atención: el primer modelo de mundo con interacción en tiempo real, capaz de generar mundos navegables a 720p y 24 fps que mantienen la coherencia durante unos minutos, además de «eventos de mundo controlables mediante prompts» que cambian el clima o añaden objetos cuando se lo pides. Se abrió al público como Project Genie en enero de 2026 para los suscriptores de Google AI Ultra en Estados Unidos. Sus pesos siguen siendo cerrados, pero muestra hacia dónde se dirigen los mundos generados y jugables.</p>
<p><strong>Matrix-Game 3.0</strong> (Skywork, marzo de 2026) es la respuesta abierta a Genie. Es un modelo interactivo de mundo con memoria aumentada que transmite a 720p y 40 fps en tiempo real y mantiene la coherencia de las escenas durante secuencias de un minuto. Una versión destilada de 5B permite inferencia en tiempo real, una versión MoE mayor de 2x14B mejora la calidad y los pesos están en Hugging Face bajo Apache 2.0. Si quieres experimentar hoy con mundos generados jugables en lugar de esperar a DeepMind, este es el que realmente puedes descargar.</p>
<p>Para el desarrollo práctico de videojuegos actual, siguen siendo herramientas de investigación. Pero si trabajas con contenido impulsado por IA, generación procedimental o simplemente estás pensando hacia dónde se dirige todo esto, esta es la frontera.</p>
<h2 id="modelos-de-lenguaje-grandes" tabindex="-1">Modelos de lenguaje grandes <a class="header-anchor" href="#modelos-de-lenguaje-grandes" aria-label="Permalink to &quot;Modelos de lenguaje grandes&quot;"></a></h2>
<p>Los LLM impulsan el diálogo, la generación de misiones y la lógica de los juegos. Y las opciones abiertas ya compiten de verdad con GPT-4. Esto no era así hace dos años.</p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organización</th>
<th>Publicación</th>
<th>Tamaño</th>
<th>Ideal para</th>
<th>Licencia</th>
<th>Coste/1K tokens</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/deepseek-ai/DeepSeek-V3" target="_blank" rel="noreferrer"><strong>DeepSeek-V3</strong></a></td>
<td>DeepSeek</td>
<td>Dic. 2024</td>
<td>MoE de 671B (37B activos)</td>
<td>Razonamiento, uso general</td>
<td>Permisiva</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/deepseek-ai/DeepSeek-R1" target="_blank" rel="noreferrer"><strong>DeepSeek-R1</strong></a></td>
<td>DeepSeek</td>
<td>Ene. 2025</td>
<td>Basado en V3</td>
<td>Cadena de pensamiento</td>
<td>Permisiva</td>
<td>~$0.03</td>
</tr>
<tr>
<td><a href="https://huggingface.co/deepseek-ai/DeepSeek-V3.2" target="_blank" rel="noreferrer"><strong>DeepSeek-V3.2</strong></a></td>
<td>DeepSeek</td>
<td>Dic. 2025</td>
<td>Atención dispersa (DSA)</td>
<td>Razonamiento + uso de herramientas</td>
<td>MIT</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" target="_blank" rel="noreferrer"><strong>DeepSeek-V4</strong></a></td>
<td>DeepSeek</td>
<td>Abr. 2026</td>
<td>MoE de 1.6T (49B activos)</td>
<td>Razonamiento de vanguardia, contexto de 1M</td>
<td>MIT</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/zai-org/GLM-5" target="_blank" rel="noreferrer"><strong>GLM-5</strong></a></td>
<td>Zhipu / Z.ai</td>
<td>Feb. 2026</td>
<td>MoE de 744B (40B activos)</td>
<td>Programación, agentes, uso de herramientas</td>
<td>MIT</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/openai/gpt-oss-120b" target="_blank" rel="noreferrer"><strong>GPT-OSS</strong></a></td>
<td>OpenAI</td>
<td>Ago. 2025</td>
<td>MoE de 120B / 20B</td>
<td>Razonamiento, uso de herramientas, ejecución en el dispositivo</td>
<td>Apache 2.0</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://huggingface.co/moonshotai" target="_blank" rel="noreferrer"><strong>Kimi K2</strong></a></td>
<td>Moonshot</td>
<td>2025</td>
<td>MoE de 1T (32B activos)</td>
<td>Agentes, programación</td>
<td>MIT modificada</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://www.kimi.com/blog/kimi-k3" target="_blank" rel="noreferrer"><strong>Kimi K3</strong></a></td>
<td>Moonshot</td>
<td>Jul. 2026</td>
<td>MoE de 2.8T (~50B activos)</td>
<td>Agentes de vanguardia, programación, contexto de 1M, visión</td>
<td>Pesos abiertos (27 de julio)</td>
<td>~$0.03</td>
</tr>
<tr>
<td><a href="https://huggingface.co/blog/gemma3" target="_blank" rel="noreferrer"><strong>Gemma 3</strong></a></td>
<td>Google</td>
<td>2025</td>
<td>1B-27B</td>
<td>Ejecución en el dispositivo, 140 idiomas, visión</td>
<td>Gemma</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://github.com/QwenLM/Qwen3" target="_blank" rel="noreferrer"><strong>Qwen3</strong></a></td>
<td>Alibaba</td>
<td>2025</td>
<td>MoE de 235B (22B activos)</td>
<td>Multilingüe, código</td>
<td>Apache 2.0</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://huggingface.co/Qwen/Qwen3-Coder-480B-A35B-Instruct" target="_blank" rel="noreferrer"><strong>Qwen3-Coder</strong></a></td>
<td>Alibaba</td>
<td>2025</td>
<td>MoE de 480B (35B activos)</td>
<td>Programación con agentes, contexto de 256K</td>
<td>Apache 2.0</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/collections/meta-llama/llama-4" target="_blank" rel="noreferrer"><strong>Llama 4</strong></a></td>
<td>Meta</td>
<td>2025</td>
<td>Varios</td>
<td>Agentes, contexto de hasta 10M</td>
<td>Llama Community</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://github.com/QwenLM/Qwen3-VL" target="_blank" rel="noreferrer"><strong>Qwen3-VL</strong></a></td>
<td>Alibaba</td>
<td>2025</td>
<td>2B-235B</td>
<td>Visión + lenguaje</td>
<td>Apache 2.0</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://internvl.github.io/blog/2025-04-11-InternVL-3.0/" target="_blank" rel="noreferrer"><strong>InternVL3</strong></a></td>
<td>Shanghai AI Lab</td>
<td>2025</td>
<td>1B-78B</td>
<td>Visión, OCR, localización de elementos de interfaz</td>
<td>MIT</td>
<td>~$0.02</td>
</tr>
</tbody>
</table>
<p>Primeros pasos: <a href="https://huggingface.co/Qwen/Qwen3-8B" target="_blank" rel="noreferrer">Qwen3-8B en HuggingFace ↗</a> · <a href="https://huggingface.co/deepseek-ai/DeepSeek-V3" target="_blank" rel="noreferrer">DeepSeek-V3 en HuggingFace ↗</a> · <a href="https://huggingface.co/zai-org/GLM-5" target="_blank" rel="noreferrer">GLM-5 en HuggingFace ↗</a></p>
<h3 id="para-crear-videojuegos" tabindex="-1">Para crear videojuegos <a class="header-anchor" href="#para-crear-videojuegos" aria-label="Permalink to &quot;Para crear videojuegos&quot;"></a></h3>
<p><strong>Qwen3</strong> es la opción práctica para la mayoría de usos en videojuegos. Su licencia Apache 2.0 significa que tu integración te pertenece. Ofrece un sólido soporte multilingüe, algo importante si estás pensando en la localización. Sigue bien las instrucciones estructuradas. Las variantes 7B y 14B se ejecutan localmente en GPU de consumo.</p>
<p><strong>DeepSeek-V3</strong> iguala o supera a GPT-4 en la mayoría de las pruebas comparativas. Su arquitectura es ingeniosa: solo se activan 37B parámetros por token, a pesar de tener 671B en total. Necesitas hardware potente —varias GPU—, pero obtienes calidad de vanguardia sin depender de una API.</p>
<p><strong>DeepSeek-V3.2</strong> (diciembre de 2025) combina el razonamiento y el uso de herramientas en un solo modelo e introduce DeepSeek Sparse Attention (DSA) para reducir el coste de la inferencia con contextos largos, con una variante Speciale de alto cómputo orientada a las pruebas comparativas de razonamiento más exigentes. Para la lógica y los diálogos de un videojuego, sustituye directamente a V3 con mejores capacidades y mayor aptitud para funcionar como agente.</p>
<p><strong>DeepSeek-V4</strong> (abril de 2026) volvió a ampliar la frontera abierta. V4-Pro es un MoE de 1.6T parámetros con solo 49B activos por token, una ventana de contexto de un millón de tokens y modos de razonamiento seleccionables, todo bajo licencia MIT. La variante V4-Flash (284B en total, 13B activos) conserva el contexto de 1M en un paquete que no exige un clúster completo de GPU. Si hoy eliges un modelo abierto para una lógica de misiones compleja o un contexto extenso del estado del juego, este es el techo actual.</p>
<p><strong>GLM-5</strong> (Zhipu AI, febrero de 2026) es el modelo abierto de referencia para programación y tareas con agentes, y la actualización GLM-5.2 elevó sus resultados en uso de herramientas y planificación a largo plazo hasta acercarlos a los modelos cerrados de vanguardia. Es un MoE de 744B parámetros con 40B activos por token, un contexto de 200K tokens y licencia MIT. Z.ai es la primera empresa de modelos fundacionales que cotiza en bolsa y ofrece su API alojada a precios muy competitivos —unos 1,40 dólares por millón de tokens de entrada—, pero los pesos están disponibles en Hugging Face si prefieres alojarlo tú mismo. Si tu juego depende de un LLM para crear scripts de misiones, usar agentes que llamen a herramientas o implementar sistemas basados en código, GLM-5 es una sólida alternativa a OpenAI que puedes controlar por completo.</p>
<p><strong>GPT-OSS</strong> (OpenAI, agosto de 2025) es el primer lanzamiento con pesos abiertos de OpenAI y encaja plenamente con el tema de esta guía. El modelo gpt-oss-120b razona y llama a herramientas aproximadamente al nivel de o4-mini en una sola GPU de 80 GB, mientras que gpt-oss-20b funciona en una tarjeta de consumo de 16 GB; ambos usan Apache 2.0. Si quieres un modelo de un laboratorio occidental que puedas alojar tú mismo para la lógica de PNJ o agentes que utilicen herramientas, esta es la opción.</p>
<p><strong>Kimi K2</strong> (Moonshot) es el otro gran modelo abierto para agentes, junto con GLM-5 y DeepSeek. Es un MoE de un billón de parámetros con 32B activos, fuertemente optimizado para programación y uso de herramientas. Su licencia MIT modificada solo añade restricciones por encima de los 100 millones de usuarios mensuales, así que para los estudios independientes equivale, en la práctica, a MIT. Elígelo cuando un agente tenga que planificar a lo largo de muchos pasos.</p>
<p><strong>Kimi K3</strong> (Moonshot, julio de 2026) es el mayor modelo con pesos abiertos jamás anunciado y se acerca más a la frontera cerrada que cualquier modelo abierto anterior. Es un MoE de 2,8 billones de parámetros con solo unos 50B activos por token —16 de 896 expertos—, un contexto de 1M tokens y visión nativa, construido sobre dos nuevos diseños de atención llamados Kimi Delta Attention y Attention Residuals. Según las cifras de Moonshot, supera a Claude Opus 4.8 y GPT-5.5 en pruebas comparativas de programación y agentes, y solo queda por detrás de los mejores modelos propietarios. La dificultad es la escala: los pesos se publicarán el 27 de julio de 2026 y ocuparán alrededor de 1,4 TB en MXFP4, por lo que el autoalojamiento requiere un clúster de GPU con varios nodos, y la mayoría de los equipos accederán a él mediante la API, a 3 dólares por millón de tokens de entrada y 15 dólares por millón de salida. Para agentes que realmente puedas ejecutar tú mismo, K2 sigue siendo la opción práctica de Moonshot, pero K3 redefine lo que puede significar «abierto» en el nivel más alto.</p>
<p><strong>Gemma 3</strong> (Google) es la mejor opción cuando necesitas ejecutarlo en el hardware del jugador o localizar el juego a muchos idiomas. Está disponible en tamaños de 1B, 4B, 12B y 27B, por lo que puede funcionar desde una tarjeta de 8 GB en adelante, admite 140 idiomas y llamadas a funciones, y las variantes de 4B o más también procesan imágenes, por lo que sirven además como pequeños modelos de visión. La licencia de Gemma permite el uso comercial.</p>
<p><strong>Qwen3-Coder</strong> (Alibaba) es el modelo abierto especializado en programación y sustituye a la antigua línea DeepSeek-Coder para la mayoría de los usos. Es un MoE de 480B con 35B activos, un contexto nativo de 256K —ampliable a 1M—, licencia Apache 2.0 y resultados comparables a Claude Sonnet en pruebas de programación con agentes. Si tu juego genera o ejecuta código, este es el techo abierto. La familia europea <strong>Mistral</strong> —Devstral para programación y Mistral Small 3.x para ejecución en el dispositivo, ambos bajo Apache 2.0— es una sólida alternativa autoalojable.</p>
<p><strong>Qwen3-VL</strong> añade comprensión visual, con modelos densos y MoE de entre 2B y 235B bajo Apache 2.0. Resulta útil para juegos que necesiten analizar capturas de pantalla, entender contenido dibujado por el jugador o procesar la entrada de una cámara. La variante 8B funciona en una sola GPU. <strong>InternVL3</strong> (Shanghai AI Lab, MIT) es la otra gran opción abierta de visión y lenguaje, especialmente buena en OCR y localización de elementos de interfaz, algo importante si tus herramientas necesitan leer interfaces de juegos; <strong>Pixtral 12B</strong> de Mistral (Apache 2.0) es una opción más ligera y segura para uso comercial.</p>
<p>Para PNJ que se ejecuten en el dispositivo y personajes que respondan en tiempo real sin llamadas a la nube, <strong>Qwen3-8B</strong> mediante NVIDIA ACE es ahora mismo la vía más práctica. Se ejecuta junto al juego en el hardware del jugador.</p>
<h2 id="modelos-auxiliares" tabindex="-1">Modelos auxiliares <a class="header-anchor" href="#modelos-auxiliares" aria-label="Permalink to &quot;Modelos auxiliares&quot;"></a></h2>
<p>No generan contenido directamente, pero hacen que tus flujos de trabajo funcionen.</p>
<p><img src="/img/ai-samples/sam2-sample.jpg" alt="Segmentación con SAM 2">
<em>SAM 2 segmenta cualquier objeto en imágenes y vídeos. Haz clic una vez y obtén una máscara perfecta</em></p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organización</th>
<th>Publicación</th>
<th>Qué hace</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/facebookresearch/sam2" target="_blank" rel="noreferrer"><strong>SAM 2</strong></a></td>
<td>Meta</td>
<td>Ago. 2024</td>
<td>Segmenta cualquier elemento en imágenes y vídeos</td>
</tr>
<tr>
<td><a href="https://github.com/apple/ml-depth-pro" target="_blank" rel="noreferrer"><strong>Depth Pro</strong></a></td>
<td>Apple</td>
<td>Oct. 2024</td>
<td>Obtiene profundidad métrica a partir de una sola imagen</td>
</tr>
<tr>
<td><a href="https://github.com/nerfstudio-project/gsplat" target="_blank" rel="noreferrer"><strong>gsplat</strong></a></td>
<td>Nerfstudio</td>
<td>2024+</td>
<td>Splatting gaussiano acelerado con CUDA</td>
</tr>
</tbody>
</table>
<p><strong>SAM 2</strong> segmenta objetos en vídeo en tiempo real. Haz clic en algo y obtendrás una máscara perfecta. Resulta útil para rotoscopia, composición o extracción de objetos de grabaciones para usarlos como recursos del juego. <a href="https://github.com/huggingface/sam2-studio" target="_blank" rel="noreferrer">Prueba SAM 2 ↗</a></p>
<p><strong>Depth Pro</strong> de Apple produce mapas de profundidad métrica a partir de imágenes individuales en menos de un segundo. Esto abre muchas posibilidades: convertir arte 2D en 2.5D con efectos de paralaje, generar datos de profundidad para reconstrucción 3D y crear mapas de normales a partir de imágenes planas. <a href="https://huggingface.co/apple/DepthPro-hf" target="_blank" rel="noreferrer">Depth Pro en HuggingFace ↗</a></p>
<p><strong>gsplat</strong> es una implementación rápida del splatting gaussiano. Si capturas entornos reales para videojuegos, ya sea mediante fotogrametría o escaneos del entorno, esta es la biblioteca que lo hace viable.</p>
<h2 id="lo-que-yo-usaria-de-verdad" tabindex="-1">Lo que yo usaría de verdad <a class="header-anchor" href="#lo-que-yo-usaria-de-verdad" aria-label="Permalink to &quot;Lo que yo usaría de verdad&quot;"></a></h2>
<p>Si hoy vas a empezar un proyecto de videojuego, esta es la combinación de herramientas más sensata:</p>
<p><strong>Texturas y sprites</strong>: FLUX.1 [schnell], Apache 2.0, iteración rápida y calidad apta para publicar</p>
<p><strong>Arte conceptual</strong>: SD 3.5 Large con LoRA para controlar el estilo</p>
<p><strong>Recursos 3D</strong>: Hunyuan3D 2.1 o TRELLIS.2 para mallas texturizadas, SAM 3D si partes de una fotografía y después Blender para el retoque</p>
<p><strong>Rigging automático</strong>: UniRig o NVIDIA SOMA-X para crear el esqueleto y el skinning de las mallas generadas —ambos son abiertos— en lugar de depender de Mixamo</p>
<p><strong>Efectos de sonido</strong>: el modelo abierto Small-SFX de Stable Audio, se ejecuta localmente y tiene licencia comercial</p>
<p><strong>Música</strong>: ACE-Step para prototipos y después un compositor para la producción final</p>
<p><strong>Voz</strong>: Qwen3-TTS para clonación y diálogos ambientales (Apache 2.0), Chatterbox (MIT) cuando una frase necesite emoción real y actores de voz para las líneas importantes</p>
<p><strong>Diálogos de PNJ</strong>: Qwen3-8B en local o un LLM en la nube que puedas alojar tú mismo —GLM-5 o DeepSeek-V4— para razonamiento complejo y uso de herramientas</p>
<p><strong>Vídeo (cinemáticas)</strong>: Mochi 1 en local y HunyuanVideo en la nube cuando necesites calidad final</p>
<p>La clave de todo esto es que el error habitual consiste en intentar usar IA para todo. Son herramientas, no sustitutos. Acortan las partes tediosas, como la iteración, la creación de variaciones y los recursos provisionales, para que puedas dedicar tu tiempo a las decisiones creativas que realmente importan. Las partes que hacen que tu juego sea tuyo.</p>
<h2 id="comprobacion-realista-del-hardware" tabindex="-1">Comprobación realista del hardware <a class="header-anchor" href="#comprobacion-realista-del-hardware" aria-label="Permalink to &quot;Comprobación realista del hardware&quot;"></a></h2>
<p>Seamos sinceros sobre lo que realmente necesitas para ejecutar todo esto:</p>
<p><strong>8 GB de VRAM</strong> (RTX 3060, 4060): SD 1.5/SDXL, Wan 2.1 pequeño, AudioGen, Fish Speech y LLM pequeños (7B cuantizados). Este es el terreno de los portátiles para gaming y basta para empezar.
<strong>12 GB de VRAM</strong> (RTX 3080, 4070): SD 3.5, FLUX schnell, Mochi 1, MusicGen, TripoSR y Qwen 14B cuantizado. A partir de aquí, todo resulta más cómodo. La mayoría de los modelos útiles funcionan con esta capacidad.</p>
<p><strong>24 GB de VRAM</strong> (RTX 3090, 4090): la mayoría de los modelos a precisión completa, InstantMesh y LLM más grandes. Si te tomas en serio este flujo de trabajo, este es el punto ideal.</p>
<p><strong>48-80 GB de VRAM</strong> (A100, H100): HunyuanVideo, LTX-2, DeepSeek-V3 y generación a escala de producción. Hardware empresarial. No vas a comprarlo, sino a alquilarlo.</p>
<p>Las instancias en la nube de RunPod, Lambda Labs o Modal cuestan entre 2 y 4 dólares por hora para las A100. Para un uso ocasional, sale más barato que comprar el hardware. Inicia una instancia cuando necesites la calidad final y apágala cuando termines.</p>
<p><strong>Sobre las estimaciones de costes de esta guía</strong>: los costes por generación presuponen una inferencia autoalojada en GPU en la nube a unos 2-3 dólares por hora (A100) o unos 0,40 dólares por hora (RTX 4090). Los costes reales varían según el hardware, la optimización y el tamaño de los lotes. Son cifras aproximadas para facilitar la planificación, por lo que tus resultados pueden variar.</p>
<h2 id="novedades-de-2026" tabindex="-1">Novedades de 2026 <a class="header-anchor" href="#novedades-de-2026" aria-label="Permalink to &quot;Novedades de 2026&quot;"></a></h2>
<p><strong>Lanzamientos recientes</strong>: LTX-2 y LTX-2.3 ofrecieron audio y vídeo sincronizados y abiertos con 4K nativo. TRELLIS.2 de Microsoft (diciembre de 2025) se convirtió en el líder abierto de conversión de imágenes a 3D, y SAM 3D de Meta (noviembre de 2025) hizo viable la reconstrucción 3D a partir de una sola foto. FLUX.2 sustituyó a FLUX.1 para la generación de imágenes, y SOMA-X de NVIDIA ofreció rigging automático y retargeting abiertos. La primera mitad de 2026 mantuvo el ritmo: Qwen3-TTS (enero) dio a la clonación de voz un verdadero hogar bajo Apache 2.0; GLM-5 de Zhipu (febrero) lanzó bajo MIT un modelo abierto de 744B para programación y tareas agénticas; Matrix-Game 3.0 de Skywork (marzo) publicó con pesos abiertos un modelo de mundo interactivo en tiempo real; DeepSeek-V4 (abril) llevó los LLM abiertos hasta un contexto de un millón de tokens bajo MIT; Stable Audio 3.0 (mayo) lanzó tres modelos de audio abiertos entrenados con datos bajo licencia; e Ideogram publicó su primer modelo de imágenes con pesos abiertos (junio). Después, en julio, Moonshot anunció Kimi K3, un modelo con pesos abiertos y 2,8 billones de parámetros que supera a Claude Opus 4.8 y GPT-5.5 en pruebas de referencia agénticas, cuyos pesos estarán disponibles el 27 de julio.</p>
<p><strong>La tendencia que conviene observar</strong>: los principales laboratorios reservan cada vez más sus modelos más recientes exclusivamente para sus API, aunque las versiones anteriores fueran abiertas. Wan se cerró en la versión 2.5 y ha seguido así hasta la 2.7; Qwen-Image se cerró en la 2.0 y Hunyuan3D, en la 2.5. El ecosistema abierto continúa siendo dinámico y avanza con rapidez, pero ya no es seguro asumir que «la última versión es abierta». Comprueba la disponibilidad de los pesos antes de crear un flujo de trabajo alrededor de un modelo.</p>
<p>La trayectoria está clara: todas las capacidades que aparecen en modelos cerrados llegan a los modelos abiertos entre 6 y 12 meses después. La cuestión no es si los modelos abiertos llegarán a ser lo bastante buenos. Ya lo son para la mayoría de los usos. La cuestión es cuánto tardarán en convertirse en la opción predeterminada.</p>
<p>Y esto es lo que significa para los creadores: las herramientas que antes exigían presupuestos empresariales o suscripciones mensuales se están convirtiendo en algo que simplemente puedes... ejecutar. En tu propio hardware. Sin pedir permiso a nadie.</p>
<p>Ese es el cambio. Hacia eso estamos construyendo.</p>
<hr>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-mejor-modelo-de-ia-de-codigo-abierto-para-generar-recursos-de-videojuegos" tabindex="-1">¿Cuál es el mejor modelo de IA de código abierto para generar recursos de videojuegos? <a class="header-anchor" href="#¿cual-es-el-mejor-modelo-de-ia-de-codigo-abierto-para-generar-recursos-de-videojuegos" aria-label="Permalink to &quot;¿Cuál es el mejor modelo de IA de código abierto para generar recursos de videojuegos?&quot;"></a></h3>
<p>Depende del recurso. Para modelos 3D, Hunyuan3D es la opción abierta más potente en 2026. Para arte 2D y texturas, FLUX lidera en calidad. Para efectos de sonido y música, los modelos de audio abiertos han avanzado con rapidez. No existe un único modelo «mejor» porque los juegos necesitan muchos tipos de recursos, así que la mayoría de los creadores encadenan varios modelos en lugar de depender de uno solo.</p>
<h3 id="¿los-modelos-de-ia-de-codigo-abierto-son-lo-bastante-buenos-como-para-sustituir-a-las-api-cerradas" tabindex="-1">¿Los modelos de IA de código abierto son lo bastante buenos como para sustituir a las API cerradas? <a class="header-anchor" href="#¿los-modelos-de-ia-de-codigo-abierto-son-lo-bastante-buenos-como-para-sustituir-a-las-api-cerradas" aria-label="Permalink to &quot;¿Los modelos de IA de código abierto son lo bastante buenos como para sustituir a las API cerradas?&quot;"></a></h3>
<p>Para la mayoría de los trabajos con recursos de videojuegos en 2026, sí. Los modelos abiertos ya igualan a las API cerradas en la generación de imágenes, 3D y audio, y puedes ejecutarlos en tu propio hardware sin pagar por cada solicitud ni sufrir cambios de precio inesperados. Los modelos cerrados aún van por delante en algunas tareas punteras, como los vídeos de larga duración, pero la brecha suele cerrarse en un plazo de 6 a 12 meses.</p>
<h3 id="¿puedo-ejecutar-estos-modelos-de-ia-generativa-en-mi-propia-gpu" tabindex="-1">¿Puedo ejecutar estos modelos de IA generativa en mi propia GPU? <a class="header-anchor" href="#¿puedo-ejecutar-estos-modelos-de-ia-generativa-en-mi-propia-gpu" aria-label="Permalink to &quot;¿Puedo ejecutar estos modelos de IA generativa en mi propia GPU?&quot;"></a></h3>
<p>Muchos de ellos, sí. Los modelos de imágenes y audio funcionan cómodamente en una sola GPU de consumo como la RTX 4090. Los modelos más grandes de vídeo y 3D necesitan más VRAM y, a menudo, una GPU en la nube de la categoría de una A100. La sección sobre hardware anterior indica qué necesita cada modelo para que puedas planificarlo antes de comprometerte.</p>
<h3 id="¿es-legal-usar-recursos-generados-por-ia-en-un-juego-comercial" tabindex="-1">¿Es legal usar recursos generados por IA en un juego comercial? <a class="header-anchor" href="#¿es-legal-usar-recursos-generados-por-ia-en-un-juego-comercial" aria-label="Permalink to &quot;¿Es legal usar recursos generados por IA en un juego comercial?&quot;"></a></h3>
<p>En general, sí, en el caso de los modelos de código abierto que ejecutas tú mismo, pero depende de la licencia del modelo y de las suposiciones sobre sus datos de entrenamiento. Comprueba siempre la licencia específica del modelo e informa del contenido generado por IA cuando la plataforma lo exija. Consulta nuestra <a href="/es/ai-content.html">política sobre contenido generado por IA</a> para saber cómo lo gestionamos.</p>
<hr>
<h2 id="mas-lecturas" tabindex="-1">Más lecturas <a class="header-anchor" href="#mas-lecturas" aria-label="Permalink to &quot;Más lecturas&quot;"></a></h2>
<ul>
<li><a href="/es/blog/2026-01-18-ai-controversy-and-post-ai-economy.html">Controversia sobre la IA, confianza y economía pos-IA</a> — nuestra postura sobre la IA en los juegos</li>
<li><a href="/es/ai-content.html">Política sobre contenido generado por IA</a> — cómo gestionamos la divulgación del uso de IA</li>
<li><a href="/es/guides/web-games-stack-2026.html">Stack tecnológico para juegos web en 2026</a> — WebGL, WebGPU y Wasm para juegos</li>
<li><a href="/es/guides/browser-3d-open-world-tech.html">Tecnología para mundos abiertos 3D en el navegador</a> — cómo usar recursos 3D generados por IA en mundos para navegadores</li>
<li><a href="/es/guides/landscape-generation-browser.html">Generación de paisajes para mundos abiertos en el navegador</a> — síntesis de terrenos basada en difusión</li>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — fuentes tradicionales de recursos junto con la generación mediante IA</li>
<li><a href="/es/tutorials/agentic-code-tools.html">Herramientas agénticas de IA para programar</a> — IA para escribir código de juegos, no solo para generar recursos</li>
</ul>
<BuildCta
  title="Mira cómo estos modelos crean un juego, no solo recursos"
  desc="Los modelos generativos son más divertidos cuando el resultado es jugable."
  prompt="Crea un juego en el que explore un extraño paisaje alienígena generado por IA" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/frontier-gen-ai-models.jpg?v=4" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Licencias de recursos para juegos explicadas (CC0, CC-BY y libres de regalías)]]></title>
            <link>https://app.cinevva.com/es/guides/game-asset-licenses</link>
            <guid>https://app.cinevva.com/es/guides/game-asset-licenses</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Cómo funcionan las licencias de recursos para juegos, explicado de forma sencilla: CC0, CC-BY, CC-BY-SA, libres de regalías, uso editorial, MIT y GPL; y cuáles son seguras para un juego comercial.]]></description>
            <content:encoded><![CDATA[<h1 id="licencias-de-recursos-para-juegos-explicadas-cc0-cc-by-y-libres-de-regalias" tabindex="-1">Licencias de recursos para juegos explicadas (CC0, CC-BY y libres de regalías) <a class="header-anchor" href="#licencias-de-recursos-para-juegos-explicadas-cc0-cc-by-y-libres-de-regalias" aria-label="Permalink to &quot;Licencias de recursos para juegos explicadas (CC0, CC-BY y libres de regalías)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Una licencia de recursos para juegos establece las reglas del creador sobre cómo puedes usar su modelo 3D, textura, sonido o música. Las licencias más seguras para un juego comercial son CC0 (dominio público, sin atribución obligatoria) y las libres de regalías (pagas una vez y puedes usarlas para siempre), ya que ambas permiten el uso comercial sin pagos continuos. CC-BY también sirve para un juego comercial siempre que atribuyas la autoría al creador, mientras que los recursos con licencias no comerciales (CC-BY-NC) o exclusivos para uso editorial no pueden incluirse en un juego que vendas. Esta guía explica cada licencia de forma sencilla para que puedas usar recursos gratuitos y de pago en tus juegos sin problemas legales.</p>
<h2 id="por-que-importan-las-licencias" tabindex="-1">Por qué importan las licencias <a class="header-anchor" href="#por-que-importan-las-licencias" aria-label="Permalink to &quot;Por qué importan las licencias&quot;"></a></h2>
<p>Toda obra creativa —modelos 3D, texturas, sonidos y música— está protegida por derechos de autor. De forma predeterminada, pertenece a su creador. Una <strong>licencia</strong> es el permiso del creador para que uses su obra bajo unas condiciones específicas.</p>
<p><strong>Usar recursos sin entender su licencia puede provocar:</strong></p>
<ul>
<li>Solicitudes de retirada de tu juego en virtud de la DMCA</li>
<li>Acciones legales por parte de los titulares de los derechos de autor</li>
<li>La retirada forzosa de las tiendas de aplicaciones</li>
<li>Indemnizaciones económicas</li>
</ul>
<p><strong>La buena noticia:</strong> La mayoría de los recursos para juegos tienen licencias claras y permisivas. Solo necesitas entender qué permiten.</p>
<hr>
<h2 id="referencia-rapida-de-licencias" tabindex="-1">Referencia rápida de licencias <a class="header-anchor" href="#referencia-rapida-de-licencias" aria-label="Permalink to &quot;Referencia rápida de licencias&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Licencia</th>
<th>Uso comercial</th>
<th>Atribución</th>
<th>Modificación</th>
<th>Compartir igual</th>
<th>Proveedores</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>CC0</strong></td>
<td>✅ Sí</td>
<td>❌ No</td>
<td>✅ Sí</td>
<td>❌ No</td>
<td>Poly Haven, Kenney, Quaternius, AmbientCG, algunos recursos de Freesound</td>
</tr>
<tr>
<td><strong>CC-BY</strong></td>
<td>✅ Sí</td>
<td>✅ Obligatoria</td>
<td>✅ Sí</td>
<td>❌ No</td>
<td>Sketchfab, OpenGameArt, algunos recursos de Freesound</td>
</tr>
<tr>
<td><strong>CC-BY-SA</strong></td>
<td>✅ Sí</td>
<td>✅ Obligatoria</td>
<td>✅ Sí</td>
<td>✅ Obligatorio</td>
<td>OpenGameArt, algunos recursos de Freesound</td>
</tr>
<tr>
<td><strong>CC-BY-NC</strong></td>
<td>❌ No</td>
<td>✅ Obligatoria</td>
<td>✅ Sí</td>
<td>❌ No</td>
<td>Algunos recursos de Sketchfab, itch.io y Freesound</td>
</tr>
<tr>
<td><strong>CC-BY-NC-SA</strong></td>
<td>❌ No</td>
<td>✅ Obligatoria</td>
<td>✅ Sí</td>
<td>✅ Obligatorio</td>
<td>Varios</td>
</tr>
<tr>
<td><strong>Libre de regalías</strong></td>
<td>✅ Sí</td>
<td>❌ Normalmente no</td>
<td>✅ Sí</td>
<td>❌ No</td>
<td>Synty, CGTrader, TurboSquid</td>
</tr>
<tr>
<td><strong>Solo uso editorial</strong></td>
<td>❌ No*</td>
<td>Varía</td>
<td>⚠️ Limitada</td>
<td>❌ No</td>
<td>TurboSquid (algunos)</td>
</tr>
<tr>
<td><strong>MIT</strong></td>
<td>✅ Sí</td>
<td>✅ Obligatoria</td>
<td>✅ Sí</td>
<td>❌ No</td>
<td>Three.js, pmndrs</td>
</tr>
<tr>
<td><strong>GPL</strong></td>
<td>✅ Sí</td>
<td>✅ Obligatoria</td>
<td>✅ Sí</td>
<td>✅ Obligatorio</td>
<td>Algunos recursos de OpenGameArt</td>
</tr>
</tbody>
</table>
<p><strong>Nota sobre Freesound:</strong> Freesound mezcla distintas licencias según el sonido. Cada sonido tiene una licencia CC0, CC-BY, CC-BY-SA o CC-BY-NC, así que comprueba cada archivo antes de descargarlo. Los sonidos CC-BY-NC no pueden incluirse en un juego comercial.</p>
<hr>
<h2 id="licencias-creative-commons" tabindex="-1">Licencias Creative Commons <a class="header-anchor" href="#licencias-creative-commons" aria-label="Permalink to &quot;Licencias Creative Commons&quot;"></a></h2>
<p>Las licencias Creative Commons (CC) son las más habituales para los recursos gratuitos de juegos. Están estandarizadas, cuentan con reconocimiento internacional y son fáciles de entender.</p>
<h3 id="cc0-dedicacion-al-dominio-publico" tabindex="-1">CC0: dedicación al dominio público <a class="header-anchor" href="#cc0-dedicacion-al-dominio-publico" aria-label="Permalink to &quot;CC0: dedicación al dominio público&quot;"></a></h3>
<p><strong>La licencia más permisiva. Trátala como si no existieran derechos de autor.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Qué puedes hacer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>✅</td>
</tr>
<tr>
<td>Usar en juegos de código cerrado</td>
<td>✅</td>
</tr>
<tr>
<td>Modificar, remezclar y transformar</td>
<td>✅</td>
</tr>
<tr>
<td>Distribuir y compartir</td>
<td>✅</td>
</tr>
<tr>
<td>Usar sin atribución</td>
<td>✅</td>
</tr>
<tr>
<td>Afirmar que es obra tuya</td>
<td>⚠️ Legalmente sí, pero es éticamente cuestionable</td>
</tr>
</tbody>
</table>
<p><strong>En pocas palabras:</strong> Haz lo que quieras. No hay restricciones ni se exige atribución.</p>
<p><strong>Proveedores que usan CC0:</strong></p>
<ul>
<li>Poly Haven (todos los recursos)</li>
<li>Kenney (todos los recursos)</li>
<li>Quaternius (todos los recursos)</li>
<li>AmbientCG (todos los recursos)</li>
<li>Algunos recursos de OpenGameArt, Freesound y Sketchfab</li>
</ul>
<p><strong>Ejemplo de uso:</strong> Descarga una nave espacial de Kenney, modifícala, vende tu juego por 20 dólares y no menciones a Kenney en ningún sitio. Es perfectamente legal.</p>
<p><strong>Por qué los creadores eligen CC0:</strong> Para maximizar la adopción. Muchos creadores quieren que sus obras se usen ampliamente y no les preocupa la atribución.</p>
<hr>
<h3 id="cc-by-atribucion" tabindex="-1">CC-BY: atribución <a class="header-anchor" href="#cc-by-atribucion" aria-label="Permalink to &quot;CC-BY: atribución&quot;"></a></h3>
<p><strong>Úsalo libremente, pero debes dar crédito.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Qué puedes hacer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>✅</td>
</tr>
<tr>
<td>Usar en juegos de código cerrado</td>
<td>✅</td>
</tr>
<tr>
<td>Modificar, remezclar y transformar</td>
<td>✅</td>
</tr>
<tr>
<td>Distribuir y compartir</td>
<td>✅</td>
</tr>
<tr>
<td>Usar sin atribución</td>
<td>❌ Debes atribuir la autoría</td>
</tr>
</tbody>
</table>
<p><strong>Requisitos de atribución:</strong></p>
<ol>
<li>Indicar el nombre del creador</li>
<li>Indicar el nombre de la licencia (CC-BY 4.0)</li>
<li>Incluir un enlace a la licencia (cuando sea razonable)</li>
<li>Indicar si se realizaron cambios</li>
</ol>
<p><strong>En pocas palabras:</strong> Úsalo como quieras, pero da crédito al creador.</p>
<p><strong>Dónde incluir la atribución:</strong></p>
<ul>
<li>Pantalla de créditos del juego</li>
<li>Archivo README o CREDITS.txt</li>
<li>Sección Acerca de/Información legal</li>
<li>Sitio web del juego</li>
</ul>
<p><strong>Ejemplo de atribución:</strong></p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>"Modelo de nave espacial", de John Artist</span></span>
<span class="line"><span>Con licencia CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)</span></span>
<span class="line"><span>Modificaciones: se ajustó la escala y se añadió una textura emisiva</span></span></code></pre>
</div><p><strong>Proveedores que usan CC-BY:</strong></p>
<ul>
<li>Muchos modelos de Sketchfab</li>
<li>Muchos recursos de OpenGameArt</li>
<li>Algunos audios de Freesound</li>
<li>BlendSwap</li>
</ul>
<p><strong>OGA-BY:</strong> OpenGameArt también tiene su propia licencia OGA-BY, una variante de CC-BY sin la cláusula de DRM, por lo que es más adecuada para juegos distribuidos con DRM. Trátala como CC-BY y da crédito al creador.</p>
<p><strong>Una nota sobre Sketchfab:</strong> Su tienda de pago ha cerrado y las ventas se han trasladado al mercado Fab de Epic, pero las descargas gratuitas con licencias Creative Commons y CC0 siguen funcionando actualmente en Sketchfab. Sketchfab ha dicho que avisará con antelación antes de retirar el contenido descargable gratuito. Por eso, si obtienes allí modelos CC-BY o CC0, descarga y archiva lo que necesites en vez de dar por hecho que el enlace seguirá disponible para siempre.</p>
<hr>
<h3 id="cc-by-sa-atribucion-compartir-igual" tabindex="-1">CC-BY-SA: atribución-compartir igual <a class="header-anchor" href="#cc-by-sa-atribucion-compartir-igual" aria-label="Permalink to &quot;CC-BY-SA: atribución-compartir igual&quot;"></a></h3>
<p><strong>Úsalo libremente con atribución, pero las obras derivadas deben emplear la misma licencia.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Qué puedes hacer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>✅</td>
</tr>
<tr>
<td>Usar en juegos de código cerrado</td>
<td>✅ (el juego en sí)</td>
</tr>
<tr>
<td>Modificar, remezclar y transformar</td>
<td>✅</td>
</tr>
<tr>
<td>Distribuir y compartir</td>
<td>✅</td>
</tr>
<tr>
<td>Usar sin atribución</td>
<td>❌ Debes atribuir la autoría</td>
</tr>
<tr>
<td>Mantener las obras derivadas como propietarias</td>
<td>❌ Deben usar la misma licencia</td>
</tr>
</tbody>
</table>
<p><strong>La condición de «Compartir Igual»:</strong> Si modificas el recurso y distribuyes la versión modificada, esta también debe tener una licencia CC-BY-SA.</p>
<p><strong>Aclaración importante para juegos:</strong></p>
<ul>
<li>El <strong>código de tu juego</strong> NO tiene que ser de código abierto</li>
<li>Tu <strong>juego</strong> puede ser comercial y de código cerrado</li>
<li>Solo el <strong>recurso en sí</strong> (y sus obras derivadas) debe permanecer bajo CC-BY-SA</li>
<li>Si alguien extrae el recurso de tu juego, puede usarlo bajo CC-BY-SA</li>
</ul>
<p><strong>En pocas palabras:</strong> Da crédito al creador. Si compartes una versión modificada del recurso, debe seguir siendo CC-BY-SA.</p>
<p><strong>Cuándo debes tener cuidado:</strong></p>
<ul>
<li>Si estás creando un paquete de recursos o una plantilla</li>
<li>Si redistribuyes recursos dentro de un kit de herramientas</li>
<li>Si tu juego permite a los usuarios extraer los recursos originales</li>
</ul>
<hr>
<h3 id="cc-by-nc-atribucion-no-comercial" tabindex="-1">CC-BY-NC: atribución-no comercial <a class="header-anchor" href="#cc-by-nc-atribucion-no-comercial" aria-label="Permalink to &quot;CC-BY-NC: atribución-no comercial&quot;"></a></h3>
<p><strong>Se puede usar gratis con atribución, pero NO con fines comerciales.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Qué puedes hacer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>❌ No</td>
</tr>
<tr>
<td>Usar en juegos de código cerrado</td>
<td>✅ (si el juego es gratuito)</td>
</tr>
<tr>
<td>Modificar, remezclar y transformar</td>
<td>✅</td>
</tr>
<tr>
<td>Distribuir y compartir</td>
<td>✅ (sin fines comerciales)</td>
</tr>
<tr>
<td>Usar sin atribución</td>
<td>❌ Debes atribuir la autoría</td>
</tr>
</tbody>
</table>
<p><strong>¿Qué se considera «comercial»?</strong></p>
<ul>
<li>❌ Vender el juego</li>
<li>❌ Compras dentro de la aplicación</li>
<li>❌ Anuncios en el juego</li>
<li>❌ Desarrollo de juegos financiado mediante Patreon</li>
<li>⚠️ Un juego gratuito creado por una empresa (zona gris)</li>
<li>✅ Un proyecto aficionado totalmente gratuito y sin monetización</li>
</ul>
<p><strong>En pocas palabras:</strong> Úsalo únicamente en proyectos completamente gratuitos y sin monetización.</p>
<p><strong>Recomendación:</strong> Evita los recursos con licencia NC en cualquier proyecto que pueda generar ingresos. La definición de «comercial» es amplia y controvertida.</p>
<hr>
<h3 id="cc-by-nc-sa-atribucion-no-comercial-compartir-igual" tabindex="-1">CC-BY-NC-SA: atribución-no comercial-compartir igual <a class="header-anchor" href="#cc-by-nc-sa-atribucion-no-comercial-compartir-igual" aria-label="Permalink to &quot;CC-BY-NC-SA: atribución-no comercial-compartir igual&quot;"></a></h3>
<p><strong>La licencia Creative Commons más restrictiva.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Qué puedes hacer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>❌ No</td>
</tr>
<tr>
<td>Usar en juegos de código cerrado</td>
<td>✅ (si el juego es gratuito)</td>
</tr>
<tr>
<td>Modificar, remezclar y transformar</td>
<td>✅</td>
</tr>
<tr>
<td>Distribuir y compartir</td>
<td>✅ (sin fines comerciales)</td>
</tr>
<tr>
<td>Usar sin atribución</td>
<td>❌ Debes atribuir la autoría</td>
</tr>
<tr>
<td>Mantener las obras derivadas como propietarias</td>
<td>❌ Deben usar la misma licencia</td>
</tr>
</tbody>
</table>
<p><strong>En pocas palabras:</strong> Solo para usos no comerciales, debes dar crédito y todas las obras derivadas también deben usar una licencia NC-SA.</p>
<p><strong>Recomendación:</strong> Por lo general, evítala para el desarrollo de juegos salvo que tengas la certeza de que tu proyecto nunca se monetizará de ninguna forma.</p>
<hr>
<h2 id="licencias-libres-de-regalias" tabindex="-1">Licencias libres de regalías <a class="header-anchor" href="#licencias-libres-de-regalias" aria-label="Permalink to &quot;Licencias libres de regalías&quot;"></a></h2>
<p>«Libre de regalías» es un modelo de licencia comercial, NO una variante de Creative Commons.</p>
<h3 id="que-significa-realmente-«libre-de-regalias»" tabindex="-1">Qué significa realmente «libre de regalías» <a class="header-anchor" href="#que-significa-realmente-«libre-de-regalias»" aria-label="Permalink to &quot;Qué significa realmente «libre de regalías»&quot;"></a></h3>
<p><strong>Libre de regalías ≠ Gratis</strong></p>
<p>«Libre de regalías» significa:</p>
<ul>
<li>Pagas <strong>una vez</strong> (o lo obtienes gratis durante una promoción)</li>
<li>Puedes usarlo <strong>un número ilimitado de veces</strong></li>
<li>No pagas <strong>regalías por cada uso</strong></li>
</ul>
<p><strong>En comparación con una licencia de «derechos gestionados» (la alternativa):</strong></p>
<ul>
<li>Pagas por cada uso específico</li>
<li>Se limita a determinados medios, territorios y periodos</li>
<li>Es más cara y restrictiva</li>
</ul>
<h3 id="condiciones-habituales-de-las-licencias-libres-de-regalias" tabindex="-1">Condiciones habituales de las licencias libres de regalías <a class="header-anchor" href="#condiciones-habituales-de-las-licencias-libres-de-regalias" aria-label="Permalink to &quot;Condiciones habituales de las licencias libres de regalías&quot;"></a></h3>
<p>La mayoría de los mercados (Synty, CGTrader y TurboSquid) usan condiciones similares:</p>
<table tabindex="0">
<thead>
<tr>
<th>Qué puedes hacer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente en juegos</td>
<td>✅ Sí</td>
</tr>
<tr>
<td>Usar en varios proyectos</td>
<td>✅ Sí (a menudo sin límite)</td>
</tr>
<tr>
<td>Modificar y adaptar</td>
<td>✅ Sí</td>
</tr>
<tr>
<td>Dar crédito al creador</td>
<td>❌ Normalmente no es obligatorio</td>
</tr>
<tr>
<td>Revender el archivo original del recurso</td>
<td>❌ No</td>
</tr>
<tr>
<td>Permitir que los usuarios extraigan el recurso</td>
<td>❌ No</td>
</tr>
<tr>
<td>Transferir la licencia a otras personas</td>
<td>❌ No</td>
</tr>
</tbody>
</table>
<p><strong>Restricciones principales:</strong></p>
<ol>
<li><strong>Sin redistribución</strong>: no puedes regalar ni vender los archivos del recurso</li>
<li><strong>Sin extracción</strong>: debe estar «integrado» de modo que los usuarios no puedan extraerlo fácilmente</li>
<li><strong>Un titular de licencia</strong>: la licencia es para ti o tu equipo y no puede transferirse</li>
</ol>
<p><strong>En pocas palabras:</strong> Úsalo en tus juegos, pero no permitas que otras personas obtengan los archivos originales.</p>
<h3 id="licencia-de-synty-studios" tabindex="-1">Licencia de Synty Studios <a class="header-anchor" href="#licencia-de-synty-studios" aria-label="Permalink to &quot;Licencia de Synty Studios&quot;"></a></h3>
<p>Synty ofrece ahora dos modelos de licencia: una <strong>licencia de compra única</strong> (derechos perpetuos sobre los paquetes concretos que compres) y una <strong>licencia de suscripción Standard</strong> (acceso a toda la biblioteca mientras la suscripción esté activa). Una vez pagadas, ambas son libres de regalías para uso comercial.</p>
<p>Condiciones de la compra única:</p>
<ul>
<li>✅ Uso en un número ilimitado de proyectos comerciales</li>
<li>✅ Modificación libre de los recursos</li>
<li>✅ 5 puestos (miembros del equipo) por compra (las copias de Humble Bundle incluyen 1 puesto)</li>
<li>❌ No se pueden revender, redistribuir ni compartir los recursos fuera del equipo autorizado</li>
<li>❌ No se permite el <em>asset flipping</em> (hacer cambios mínimos y revenderlos)</li>
<li>❌ No se puede usar el nombre ni el logotipo de Synty, ni afirmar que has creado los recursos</li>
<li>❌ No se pueden incluir los recursos en conjuntos de datos para entrenar IA generativa, productos NFT o de cadena de bloques ni productos de metaverso (estos requieren una licencia personalizada)</li>
</ul>
<h3 id="licencia-libre-de-regalias-de-cgtrader" tabindex="-1">Licencia libre de regalías de CGTrader <a class="header-anchor" href="#licencia-libre-de-regalias-de-cgtrader" aria-label="Permalink to &quot;Licencia libre de regalías de CGTrader&quot;"></a></h3>
<ul>
<li>✅ Uso comercial en juegos, películas y experiencias de RV/RA</li>
<li>✅ Modificación y adaptación</li>
<li>❌ No se puede vender ni regalar el archivo del modelo</li>
<li>❌ No se puede permitir que los usuarios extraigan el modelo</li>
<li>⚠️ Algunos modelos están marcados como «No AI» y no pueden usarse para entrenar sistemas de aprendizaje automático</li>
</ul>
<h3 id="licencia-de-modelos-3d-de-turbosquid" tabindex="-1">Licencia de modelos 3D de TurboSquid <a class="header-anchor" href="#licencia-de-modelos-3d-de-turbosquid" aria-label="Permalink to &quot;Licencia de modelos 3D de TurboSquid&quot;"></a></h3>
<ul>
<li>✅ Uso comercial (salvo que esté marcado como «Editorial»)</li>
<li>✅ Modificación y adaptación</li>
<li>✅ Hasta 5 impresiones físicas para uso personal o benéfico</li>
<li>❌ No se pueden redistribuir los archivos del modelo</li>
<li>❌ No se puede usar en logotipos ni marcas comerciales</li>
<li>⚠️ Comprueba si tiene la etiqueta «Editorial Only»</li>
<li>⚠️ Comprueba si contiene propiedad intelectual representada, como logotipos de marcas</li>
</ul>
<hr>
<h2 id="solo-para-uso-editorial" tabindex="-1">Solo para uso editorial <a class="header-anchor" href="#solo-para-uso-editorial" aria-label="Permalink to &quot;Solo para uso editorial&quot;"></a></h2>
<p>Algunos recursos están marcados como «Editorial Use Only» (solo para uso editorial). Es importante entender qué significa.</p>
<h3 id="que-significa" tabindex="-1">Qué significa <a class="header-anchor" href="#que-significa" aria-label="Permalink to &quot;Qué significa&quot;"></a></h3>
<p>El uso «editorial» incluye:</p>
<ul>
<li>Información periodística</li>
<li>Contenido educativo</li>
<li>Documentales</li>
<li>Comentarios y críticas</li>
</ul>
<p><strong>NO se considera uso editorial:</strong></p>
<ul>
<li>Juegos comerciales</li>
<li>Publicidad</li>
<li>Materiales de marketing</li>
<li>Productos destinados a la venta</li>
</ul>
<h3 id="por-que-los-recursos-reciben-esta-etiqueta" tabindex="-1">Por qué los recursos reciben esta etiqueta <a class="header-anchor" href="#por-que-los-recursos-reciben-esta-etiqueta" aria-label="Permalink to &quot;Por qué los recursos reciben esta etiqueta&quot;"></a></h3>
<p>Normalmente, porque contienen:</p>
<ul>
<li><strong>Marcas comerciales</strong>: logotipos de marcas (Nike, Apple, etc.)</li>
<li><strong>Imágenes personales</strong>: rostros de personas reales</li>
<li><strong>Diseños protegidos por derechos de autor</strong>: diseños de automóviles o productos</li>
<li><strong>Propiedad intelectual</strong>: personajes u objetos reconocibles</li>
</ul>
<h3 id="ejemplo" tabindex="-1">Ejemplo <a class="header-anchor" href="#ejemplo" aria-label="Permalink to &quot;Ejemplo&quot;"></a></h3>
<p>Un modelo 3D de un Ferrari podría estar marcado como «Editorial Only» porque:</p>
<ul>
<li>El diseño de Ferrari está protegido</li>
<li>Usarlo en un juego podría dar a entender que existe un respaldo de la marca</li>
<li>El uso comercial requiere el permiso de Ferrari</li>
</ul>
<p><strong>Recomendación:</strong> Evita por completo los recursos marcados como «Editorial Only» en el desarrollo de juegos. Usa alternativas originales o con las licencias adecuadas.</p>
<hr>
<h2 id="licencias-de-software-mit-gpl-y-apache" tabindex="-1">Licencias de software (MIT, GPL y Apache) <a class="header-anchor" href="#licencias-de-software-mit-gpl-y-apache" aria-label="Permalink to &quot;Licencias de software (MIT, GPL y Apache)&quot;"></a></h2>
<p>Estas licencias se aplican principalmente al código, pero en ocasiones también abarcan recursos.</p>
<h3 id="licencia-mit" tabindex="-1">Licencia MIT <a class="header-anchor" href="#licencia-mit" aria-label="Permalink to &quot;Licencia MIT&quot;"></a></h3>
<p><strong>Muy permisiva. Es habitual para código y recursos relacionados con él.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Qué puedes hacer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>✅ Sí</td>
</tr>
<tr>
<td>Modificar</td>
<td>✅ Sí</td>
</tr>
<tr>
<td>Distribuir</td>
<td>✅ Sí</td>
</tr>
<tr>
<td>Mantener como propietario</td>
<td>✅ Sí</td>
</tr>
<tr>
<td>Atribución</td>
<td>✅ Obligatoria (en el archivo de licencia)</td>
</tr>
</tbody>
</table>
<p><strong>Requisito de atribución:</strong> Incluye el texto original de la licencia en algún lugar de tu proyecto, normalmente en un archivo LICENSES o en la pantalla de información.</p>
<p><strong>Ejemplo de aviso MIT:</strong></p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>The MIT License (MIT)</span></span>
<span class="line"><span>Copyright (c) 2024 Original Author</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Permission is hereby granted, free of charge, to any person obtaining a copy...</span></span></code></pre>
</div><p><strong>Recursos que usan MIT:</strong></p>
<ul>
<li>Ejemplos de Three.js</li>
<li>Efectos de pmndrs/vanilla</li>
<li>Muchos paquetes npm que incluyen recursos</li>
</ul>
<h3 id="gpl-licencia-publica-general-de-gnu" tabindex="-1">GPL (Licencia Pública General de GNU) <a class="header-anchor" href="#gpl-licencia-publica-general-de-gnu" aria-label="Permalink to &quot;GPL (Licencia Pública General de GNU)&quot;"></a></h3>
<p><strong>Licencia con copyleft. Las obras derivadas también deben usar GPL.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Qué puedes hacer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>✅ Sí</td>
</tr>
<tr>
<td>Modificar</td>
<td>✅ Sí</td>
</tr>
<tr>
<td>Distribuir</td>
<td>✅ Sí</td>
</tr>
<tr>
<td>Mantener como propietario</td>
<td>❌ No (si lo distribuyes)</td>
</tr>
<tr>
<td>Atribución</td>
<td>✅ Obligatoria</td>
</tr>
</tbody>
</table>
<p><strong>La condición:</strong> Si distribuyes una obra con licencia GPL (o una obra derivada), debes:</p>
<ul>
<li>Poner a disposición el código fuente</li>
<li>Publicarla bajo la licencia GPL</li>
<li>Incluir el texto completo de la licencia GPL</li>
</ul>
<p><strong>Para juegos:</strong> Usar recursos con licencia GPL en un juego distribuido es complejo. Es posible que el propio juego deba publicarse bajo GPL. Consulta a un abogado si tienes dudas.</p>
<p><strong>Recomendación:</strong> Evita los recursos con licencia GPL en juegos comerciales salvo que comprendas por completo sus implicaciones.</p>
<hr>
<h2 id="pautas-practicas" tabindex="-1">Pautas prácticas <a class="header-anchor" href="#pautas-practicas" aria-label="Permalink to &quot;Pautas prácticas&quot;"></a></h2>
<h3 id="como-elegir-recursos-segun-su-licencia-orden-recomendado" tabindex="-1">Cómo elegir recursos según su licencia (orden recomendado) <a class="header-anchor" href="#como-elegir-recursos-segun-su-licencia-orden-recomendado" aria-label="Permalink to &quot;Cómo elegir recursos según su licencia (orden recomendado)&quot;"></a></h3>
<ol>
<li><strong>CC0</strong>: sin restricciones ni preocupaciones</li>
<li><strong>MIT</strong>: incluye el texto de la licencia y listo</li>
<li><strong>Libre de regalías</strong>: condiciones comerciales estándar; lee la licencia específica</li>
<li><strong>CC-BY</strong>: debes dar crédito, pero por lo demás es libre</li>
<li><strong>CC-BY-SA</strong>: atribución y Compartir Igual; adecuada para la mayoría de los juegos</li>
<li><strong>CC-BY-NC</strong>: solo si tu proyecto es 100 % no comercial</li>
<li><strong>GPL</strong>: evítala salvo que quieras que tu juego sea de código abierto</li>
<li><strong>Solo uso editorial</strong>: nunca la uses en juegos</li>
</ol>
<h3 id="crear-un-sistema-de-creditos" tabindex="-1">Crear un sistema de créditos <a class="header-anchor" href="#crear-un-sistema-de-creditos" aria-label="Permalink to &quot;Crear un sistema de créditos&quot;"></a></h3>
<p>Incluso con recursos CC0, mantener un registro de créditos es una buena práctica:</p>
<p><strong>1. Crea un archivo CREDITS.md:</strong></p>
<div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold"># Créditos de los recursos</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## Modelos 3D</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Nave espacial: Kenney (https://kenney.nl) - CC0</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Paquete de árboles: Quaternius (https://quaternius.com) - CC0</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Personaje robótico: "RoboHelper" de @artist123 en Sketchfab - CC-BY 4.0</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  Modificaciones: se redujo el número de polígonos y se cambiaron los colores</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## Texturas</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Suelo de madera: Poly Haven (https://polyhaven.com/a/wood_floor_01) - CC0</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Panel metálico: AmbientCG - CC0</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## Audio</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Sonido de láser: "pew_laser" de sounduser en Freesound - CC-BY 3.0</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Música de fondo: compuesta por [Tu nombre] - Todos los derechos reservados</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## Código/Shaders</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Sombras suaves: pmndrs/vanilla - Licencia MIT</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Posprocesamiento: ejemplos de Three.js - Licencia MIT</span></span></code></pre>
</div><p><strong>2. Añade una pantalla de créditos dentro del juego:</strong></p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>CRÉDITOS</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Modelos y texturas</span></span>
<span class="line"><span>- Poly Haven (polyhaven.com)</span></span>
<span class="line"><span>- Kenney (kenney.nl)</span></span>
<span class="line"><span>- Quaternius (quaternius.com)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Audio</span></span>
<span class="line"><span>- Colaboradores de Freesound (consulta CREDITS.txt)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Agradecimientos especiales</span></span>
<span class="line"><span>- Equipo de Three.js</span></span>
<span class="line"><span>- Comunidad de código abierto</span></span></code></pre>
</div><h3 id="como-gestionar-licencias-mixtas" tabindex="-1">Cómo gestionar licencias mixtas <a class="header-anchor" href="#como-gestionar-licencias-mixtas" aria-label="Permalink to &quot;Cómo gestionar licencias mixtas&quot;"></a></h3>
<p>Cuando tu proyecto utilice recursos con licencias diferentes:</p>
<ol>
<li><strong>Regístralo todo</strong> - Mantén una hoja de cálculo o un documento</li>
<li><strong>Aplica la atribución más restrictiva</strong> - Si algún recurso exige reconocimiento, incluye una sección de créditos</li>
<li><strong>Separa los usos</strong> - No incluyas recursos NC en proyectos comerciales</li>
<li><strong>En caso de duda, reemplázalo</strong> - Sustituye los recursos dudosos por otros con licencias claras</li>
</ol>
<h3 id="senales-de-alerta" tabindex="-1">Señales de alerta <a class="header-anchor" href="#senales-de-alerta" aria-label="Permalink to &quot;Señales de alerta&quot;"></a></h3>
<p>⚠️ <strong>Ten cuidado cuando:</strong></p>
<ul>
<li>La licencia no esté indicada claramente</li>
<li>El recurso parezca demasiado profesional para ser gratuito (podría ser pirateado)</li>
<li>El recurso sea un personaje o una marca reconocibles</li>
<li>El sitio parezca sospechoso o no oficial</li>
<li>Las condiciones indiquen «solo para uso personal»</li>
<li>El recurso se haya extraído de un juego</li>
</ul>
<p>✅ <strong>Indicadores de confianza:</strong></p>
<ul>
<li>Plataformas consolidadas (Poly Haven, Kenney, Sketchfab)</li>
<li>Licencia clara en la página de descarga</li>
<li>El creador tiene un portafolio o historial</li>
<li>El recurso es una obra original, no una copia</li>
</ul>
<hr>
<h2 id="compatibilidad-entre-licencias" tabindex="-1">Compatibilidad entre licencias <a class="header-anchor" href="#compatibilidad-entre-licencias" aria-label="Permalink to &quot;Compatibilidad entre licencias&quot;"></a></h2>
<p>No todas las licencias se pueden combinar. Estas son las combinaciones que funcionan:</p>
<h3 id="combinar-recursos-en-un-mismo-proyecto" tabindex="-1">Combinar recursos en un mismo proyecto <a class="header-anchor" href="#combinar-recursos-en-un-mismo-proyecto" aria-label="Permalink to &quot;Combinar recursos en un mismo proyecto&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Licencia A</th>
<th>+</th>
<th>Licencia B</th>
<th>=</th>
<th>Resultado</th>
</tr>
</thead>
<tbody>
<tr>
<td>CC0</td>
<td>+</td>
<td>Cualquiera</td>
<td>=</td>
<td>✅ Sin problema</td>
</tr>
<tr>
<td>CC-BY</td>
<td>+</td>
<td>CC-BY</td>
<td>=</td>
<td>✅ Acredita ambas</td>
</tr>
<tr>
<td>CC-BY</td>
<td>+</td>
<td>CC-BY-SA</td>
<td>=</td>
<td>✅ Acredita ambas; SA se aplica a ese recurso</td>
</tr>
<tr>
<td>CC-BY</td>
<td>+</td>
<td>CC-BY-NC</td>
<td>=</td>
<td>⚠️ El proyecto pasa a ser NC</td>
</tr>
<tr>
<td>CC-BY-SA</td>
<td>+</td>
<td>CC-BY-NC-SA</td>
<td>=</td>
<td>⚠️ Incompatibles para obras derivadas</td>
</tr>
<tr>
<td>MIT</td>
<td>+</td>
<td>CC-BY</td>
<td>=</td>
<td>✅ Incluye la licencia MIT y acredita CC-BY</td>
</tr>
<tr>
<td>GPL</td>
<td>+</td>
<td>Propietaria</td>
<td>=</td>
<td>❌ Problemático</td>
</tr>
</tbody>
</table>
<h3 id="regla-clave" tabindex="-1">Regla clave <a class="header-anchor" href="#regla-clave" aria-label="Permalink to &quot;Regla clave&quot;"></a></h3>
<p>Al combinar licencias, las condiciones más restrictivas se aplican a la obra final.</p>
<hr>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿puedo-utilizar-recursos-cc-by-en-un-juego-comercial" tabindex="-1">¿Puedo utilizar recursos CC-BY en un juego comercial? <a class="header-anchor" href="#¿puedo-utilizar-recursos-cc-by-en-un-juego-comercial" aria-label="Permalink to &quot;¿Puedo utilizar recursos CC-BY en un juego comercial?&quot;"></a></h3>
<p><strong>Sí.</strong> CC-BY permite el uso comercial. Solo tienes que incluir la atribución.</p>
<h3 id="¿tengo-que-publicar-el-codigo-fuente-de-mi-juego-si-utilizo-recursos-cc-by-sa" tabindex="-1">¿Tengo que publicar el código fuente de mi juego si utilizo recursos CC-BY-SA? <a class="header-anchor" href="#¿tengo-que-publicar-el-codigo-fuente-de-mi-juego-si-utilizo-recursos-cc-by-sa" aria-label="Permalink to &quot;¿Tengo que publicar el código fuente de mi juego si utilizo recursos CC-BY-SA?&quot;"></a></h3>
<p><strong>No.</strong> El código de tu juego puede ser propietario. Solo el recurso y sus modificaciones deben conservar la licencia CC-BY-SA si se distribuyen por separado.</p>
<h3 id="¿que-ocurre-si-modifique-un-recurso-cc-by-hasta-hacerlo-irreconocible" tabindex="-1">¿Qué ocurre si modifiqué un recurso CC-BY hasta hacerlo irreconocible? <a class="header-anchor" href="#¿que-ocurre-si-modifique-un-recurso-cc-by-hasta-hacerlo-irreconocible" aria-label="Permalink to &quot;¿Qué ocurre si modifiqué un recurso CC-BY hasta hacerlo irreconocible?&quot;"></a></h3>
<p><strong>Aun así debes atribuirlo.</strong> Si partiste del trabajo de otra persona, debes reconocer su autoría independientemente de cuánto lo hayas cambiado. Es más seguro desde el punto de vista legal y también lo correcto desde el punto de vista ético.</p>
<h3 id="¿puedo-utilizar-audio-de-freesound-en-un-juego-comercial" tabindex="-1">¿Puedo utilizar audio de Freesound en un juego comercial? <a class="header-anchor" href="#¿puedo-utilizar-audio-de-freesound-en-un-juego-comercial" aria-label="Permalink to &quot;¿Puedo utilizar audio de Freesound en un juego comercial?&quot;"></a></h3>
<p><strong>Depende del sonido específico.</strong> Cada sonido de Freesound tiene su propia licencia. Filtra por CC0 para utilizarlo sin complicaciones o por CC-BY si puedes incluir la atribución.</p>
<h3 id="¿un-juego-gratuito-con-anuncios-se-considera-«comercial»" tabindex="-1">¿Un juego gratuito con anuncios se considera «comercial»? <a class="header-anchor" href="#¿un-juego-gratuito-con-anuncios-se-considera-«comercial»" aria-label="Permalink to &quot;¿Un juego gratuito con anuncios se considera «comercial»?&quot;"></a></h3>
<p><strong>Sí.</strong> Cualquier forma de monetización (anuncios, compras dentro de la aplicación, donaciones o Patreon) suele considerarse comercial. Evita los recursos con licencia NC.</p>
<h3 id="¿puedo-utilizar-recursos-cc0-y-despues-venderlos" tabindex="-1">¿Puedo utilizar recursos CC0 y después venderlos? <a class="header-anchor" href="#¿puedo-utilizar-recursos-cc0-y-despues-venderlos" aria-label="Permalink to &quot;¿Puedo utilizar recursos CC0 y después venderlos?&quot;"></a></h3>
<p><strong>Técnicamente sí, pero...</strong> Puedes incluir recursos CC0 en un producto que vendas. No puedes afirmar que los creaste tú si te preguntan. Revender recursos CC0 sin modificar es legal, pero éticamente cuestionable.</p>
<h3 id="¿y-los-recursos-generados-por-ia" tabindex="-1">¿Y los recursos generados por IA? <a class="header-anchor" href="#¿y-los-recursos-generados-por-ia" aria-label="Permalink to &quot;¿Y los recursos generados por IA?&quot;"></a></h3>
<p><strong>Es complicado.</strong> El consenso jurídico actual no está claro. Algunas cuestiones que debes tener en cuenta:</p>
<ul>
<li>Es posible que las imágenes generadas por IA no estén protegidas por derechos de autor (no hay autor humano)</li>
<li>Las licencias de los datos de entrenamiento son objeto de disputas legales</li>
<li>Algunos mercados (CGTrader) tienen restricciones de «No AI»</li>
<li>En caso de duda, utiliza recursos creados por personas y con licencias claras</li>
</ul>
<p>En cuanto a la posibilidad de protegerlos mediante derechos de autor, el informe de enero de 2025 de la Oficina de Derechos de Autor de Estados Unidos sobre la IA ofrece las directrices más claras hasta la fecha: una obra generada íntegramente por IA no puede estar protegida por derechos de autor porque estos requieren autoría humana, y las instrucciones por sí solas (aunque sean largas y detalladas) no convierten el resultado en una obra tuya. Sin embargo, cuando la IA se utiliza como herramienta y una persona selecciona, organiza o modifica el resultado de forma significativa, puede producirse una obra protegible, algo que se evalúa caso por caso. Por tanto, una textura generada por IA que utilices sin modificar probablemente no tendrá una protección de derechos de autor que puedas hacer valer, mientras que una escena que construyas y edites de forma sustancial alrededor de elementos de IA sí puede tenerla.</p>
<h3 id="¿necesito-un-abogado" tabindex="-1">¿Necesito un abogado? <a class="header-anchor" href="#¿necesito-un-abogado" aria-label="Permalink to &quot;¿Necesito un abogado?&quot;"></a></h3>
<p><strong>Para la mayoría de los juegos independientes, no.</strong> Si te limitas a licencias CC0, MIT y licencias estándar libres de regalías de fuentes reputadas, no deberías tener problemas.</p>
<p><strong>Considera buscar asesoramiento legal si:</strong></p>
<ul>
<li>Tu juego tiene un potencial de ingresos considerable</li>
<li>Utilizas recursos con licencia GPL</li>
<li>Tienes dudas sobre una licencia específica</li>
<li>Estás creando un mercado de recursos</li>
</ul>
<hr>
<h2 id="plantillas-de-atribucion" tabindex="-1">Plantillas de atribución <a class="header-anchor" href="#plantillas-de-atribucion" aria-label="Permalink to &quot;Plantillas de atribución&quot;"></a></h2>
<p>Copia y personaliza estas plantillas para tus proyectos.</p>
<h3 id="archivo-de-creditos-sencillo" tabindex="-1">Archivo de créditos sencillo <a class="header-anchor" href="#archivo-de-creditos-sencillo" aria-label="Permalink to &quot;Archivo de créditos sencillo&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>CRÉDITOS DE LOS RECURSOS</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Este juego utiliza recursos de las siguientes fuentes:</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Modelos 3D</span></span>
<span class="line"><span>- Kenney.nl (CC0) - https://kenney.nl</span></span>
<span class="line"><span>- Quaternius (CC0) - https://quaternius.com</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Texturas  </span></span>
<span class="line"><span>- Poly Haven (CC0) - https://polyhaven.com</span></span>
<span class="line"><span>- AmbientCG (CC0) - https://ambientcg.com</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Audio</span></span>
<span class="line"><span>- Freesound.org (varias licencias CC)</span></span>
<span class="line"><span>  - "explosion.wav" de user123 (CC-BY 3.0)</span></span>
<span class="line"><span>  - "footstep.wav" de user456 (CC0)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>¡Gracias a todos los creadores que comparten su trabajo!</span></span></code></pre>
</div><h3 id="atribucion-detallada-cc-by" tabindex="-1">Atribución detallada (CC-BY) <a class="header-anchor" href="#atribucion-detallada-cc-by" aria-label="Permalink to &quot;Atribución detallada (CC-BY)&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>"Nombre del recurso" de Nombre del creador</span></span>
<span class="line"><span>Fuente: https://example.com/asset-url</span></span>
<span class="line"><span>Licencia: Creative Commons Atribución 4.0 Internacional (CC-BY 4.0)</span></span>
<span class="line"><span>URL de la licencia: https://creativecommons.org/licenses/by/4.0/</span></span>
<span class="line"><span>Modificaciones: [Describe los cambios realizados o escribe "Ninguna"]</span></span></code></pre>
</div><h3 id="inclusion-de-la-licencia-mit" tabindex="-1">Inclusión de la licencia MIT <a class="header-anchor" href="#inclusion-de-la-licencia-mit" aria-label="Permalink to &quot;Inclusión de la licencia MIT&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Este software incluye código o recursos con licencia MIT:</span></span>
<span class="line"><span></span></span>
<span class="line"><span>---</span></span>
<span class="line"><span>[Texto original de derechos de autor y licencia]</span></span>
<span class="line"><span>---</span></span></code></pre>
</div><hr>
<h2 id="resumen" tabindex="-1">Resumen <a class="header-anchor" href="#resumen" aria-label="Permalink to &quot;Resumen&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Si quieres...</th>
<th>Utiliza estas licencias</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ninguna restricción</td>
<td>CC0</td>
</tr>
<tr>
<td>Uso comercial con las mínimas complicaciones</td>
<td>CC0, libres de regalías, MIT</td>
</tr>
<tr>
<td>Uso comercial y estás dispuesto a incluir atribución</td>
<td>CC-BY</td>
</tr>
<tr>
<td>Solo un proyecto personal gratuito</td>
<td>Cualquiera excepto Editorial</td>
</tr>
<tr>
<td>Máxima seguridad jurídica</td>
<td>CC0 de fuentes reputadas</td>
</tr>
</tbody>
</table>
<p><strong>Reglas de oro:</strong></p>
<ol>
<li>En caso de duda, utiliza CC0</li>
<li>Comprueba siempre la licencia antes de descargar</li>
<li>Conserva registros de la procedencia de los recursos</li>
<li>Incluye un archivo de créditos aunque no sea obligatorio</li>
<li>Sustituye los recursos dudosos en lugar de arriesgarte a tener problemas</li>
</ol>
<hr>
<h2 id="recursos" tabindex="-1">Recursos <a class="header-anchor" href="#recursos" aria-label="Permalink to &quot;Recursos&quot;"></a></h2>
<ul>
<li><a href="https://creativecommons.org/choose/" target="_blank" rel="noreferrer">Selector de licencias Creative Commons</a></li>
<li><a href="https://tldrlegal.com/" target="_blank" rel="noreferrer">TL;DR Legal</a> — explicaciones de licencias en lenguaje sencillo</li>
<li><a href="https://choosealicense.com/" target="_blank" rel="noreferrer">Choose a License</a> — para licencias de código</li>
</ul>
<BuildCta
  title="Crea con recursos que ya tienen los permisos necesarios"
  desc="Todo lo que Cinevva coloca es CC0 o se genera para ti, por lo que las licencias no suponen ningún problema."
  prompt="Crea un juego de granja low poly con objetos CC0 gratuitos" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — proveedores, formatos y herramientas de búsqueda para cada tipo de recurso</li>
<li><a href="/es/guides/game-dev-courses.html">Cursos de desarrollo de juegos en línea</a> — cursos que enseñan a crear recursos en Blender y otras herramientas</li>
<li><a href="/es/guides/game-jams-hackathons.html">Game jams y hackatones</a> — paquetes de recursos con licencias aptas para juegos de jams</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/game-asset-licenses.jpg?v=4" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Dónde encontrar recursos gratuitos para juegos en 2026 (más de 20 fuentes)]]></title>
            <link>https://app.cinevva.com/es/guides/game-assets-guide</link>
            <guid>https://app.cinevva.com/es/guides/game-assets-guide</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Más de 20 fuentes de recursos gratuitos para juegos en 2026: modelos 3D, texturas, audio, sprites, animaciones y shaders, con explicaciones sobre las licencias y para qué es mejor cada sitio.]]></description>
            <content:encoded><![CDATA[<h1 id="donde-encontrar-recursos-gratuitos-para-juegos-en-2026-mas-de-20-fuentes" tabindex="-1">Dónde encontrar recursos gratuitos para juegos en 2026 (más de 20 fuentes) <a class="header-anchor" href="#donde-encontrar-recursos-gratuitos-para-juegos-en-2026-mas-de-20-fuentes" aria-label="Permalink to &quot;Dónde encontrar recursos gratuitos para juegos en 2026 (más de 20 fuentes)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Dónde encontrar recursos gratuitos y de alta calidad para tus juegos web: modelos 3D, texturas, sprites, audio, música, animaciones y shaders. Puedes buscar directamente en la biblioteca de recursos de Cinevva la mayoría de estos proveedores (busca la nota «Disponible en Cinevva»), y también hemos incluido las mejores fuentes externas.</p>
<div class="info custom-block"><p class="custom-block-title">Prueba nuestro buscador de recursos</p>
<p>Busca en todas estas fuentes a la vez con nuestro <a href="/es/assets.html">buscador de la biblioteca de recursos</a>. Encuentra modelos 3D, texturas, audio y mucho más desde un único cuadro de búsqueda.</p>
<p><strong>Novedad:</strong> Los recursos con enlaces de descarga directa muestran un icono de descarga en la tarjeta. Haz clic para descargarlos al instante sin salir de los resultados de búsqueda.</p>
<p><strong>Búsqueda rápida por fuente:</strong> <a href="/es/assets.html?providers=polyhaven">Poly Haven</a> · <a href="/es/assets.html?providers=sketchfab">Sketchfab</a> · <a href="/es/assets.html?providers=freesound">Freesound</a> · <a href="/es/assets.html?providers=kenney">Kenney</a> · <a href="/es/assets.html?providers=ambientcg">AmbientCG</a></p>
</div>
<div class="tip custom-block"><p class="custom-block-title">Cómo entender las licencias</p>
<p>¿No tienes claro qué significan CC0, CC-BY o libre de regalías? Lee nuestra guía <a href="/es/guides/game-asset-licenses.html">Licencias de recursos para juegos explicadas</a> para ver un desglose completo.</p>
</div>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Necesidad</th>
<th>Mejor proveedor</th>
<th>Licencia</th>
<th>Descarga directa</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Modelos 3D (alta calidad)</strong></td>
<td>Poly Haven, Sketchfab, BlenderKit</td>
<td>CC0 / Varias</td>
<td>✅ / Manual</td>
</tr>
<tr>
<td><strong>Modelos 3D (listos para juegos)</strong></td>
<td>Kenney, Quaternius</td>
<td>CC0</td>
<td>✅</td>
</tr>
<tr>
<td><strong>Modelos 3D (low poly estilizados)</strong></td>
<td>Synty POLYGON, Quaternius</td>
<td>Libre de regalías / CC0</td>
<td>✅</td>
</tr>
<tr>
<td><strong>Modelos 3D (marketplace)</strong></td>
<td>CGTrader, TurboSquid</td>
<td>Libre de regalías</td>
<td>✅</td>
</tr>
<tr>
<td><strong>Texturas (PBR)</strong></td>
<td>Poly Haven, AmbientCG, BlenderKit</td>
<td>CC0 / Varias</td>
<td>✅</td>
</tr>
<tr>
<td><strong>Sprites/2D</strong></td>
<td>Kenney, itch.io, OpenGameArt</td>
<td>CC0 / Varias</td>
<td>✅</td>
</tr>
<tr>
<td><strong>Efectos de sonido</strong></td>
<td>Freesound, Sonniss GDC, Kenney</td>
<td>Varias / Libre de regalías / CC0</td>
<td>⚠️ / ✅</td>
</tr>
<tr>
<td><strong>Música</strong></td>
<td>Jamendo</td>
<td>CC para uso personal / sincronización de pago para uso comercial</td>
<td>⚠️</td>
</tr>
<tr>
<td><strong>Animaciones de personajes</strong></td>
<td>Mixamo</td>
<td>Uso comercial gratuito</td>
<td>Manual</td>
</tr>
<tr>
<td><strong>Shaders/Efectos</strong></td>
<td>Shadertoy, Three.js Examples</td>
<td>Varias / MIT</td>
<td>Ver código</td>
</tr>
<tr>
<td><strong>Modelos para Blender</strong></td>
<td>BlendSwap</td>
<td>CC-BY</td>
<td>Manual</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="modelos-3d" tabindex="-1">Modelos 3D <a class="header-anchor" href="#modelos-3d" aria-label="Permalink to &quot;Modelos 3D&quot;"></a></h2>
<h3 id="poly-haven" tabindex="-1">Poly Haven <a class="header-anchor" href="#poly-haven" aria-label="Permalink to &quot;Poly Haven&quot;"></a></h3>
<p><strong>Ideal para:</strong> Modelos fotorrealistas de alta calidad, HDRI y texturas PBR</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://polyhaven.com" target="_blank" rel="noreferrer">polyhaven.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 (dominio público): no requiere atribución</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 2.200 recursos (más de 520 modelos, 780 texturas y 980 HDRI)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF, Blend, FBX</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sí, no requiere clave</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>✅ Sí, resolución 1K mediante CDN</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Calidad profesional adecuada para proyectos comerciales</li>
<li>Todos los recursos son CC0: úsalos como quieras</li>
<li>Varias resoluciones disponibles (de 1K a 16K para texturas)</li>
<li>Enlaces de descarga directa mediante API e icono de descarga en los resultados de búsqueda</li>
</ul>
<p><strong>Ideal para encontrar:</strong></p>
<ul>
<li>Elementos arquitectónicos (muebles, edificios)</li>
<li>Objetos naturales (rocas, plantas, terrenos)</li>
<li>HDRI para iluminación</li>
<li>Texturas de materiales PBR</li>
</ul>
<hr>
<h3 id="kenney" tabindex="-1">Kenney <a class="header-anchor" href="#kenney" aria-label="Permalink to &quot;Kenney&quot;"></a></h3>
<p><strong>Ideal para:</strong> Recursos low poly listos para juegos y con estilos visuales coherentes</p>
<figure class="sample-sheet">
<a href="/es/assets?providers=kenney"><img src="https://cdn.cinevva.com/guides/samples/samples-kenney-3d.jpg" alt="Ejemplos de modelos 3D CC0 de Kenney: coche de carreras, nave espacial, torre de asedio, casa, barco pirata, molino de viento, ovni y camión de bomberos" loading="lazy"></a>
<figcaption>Ocho elementos de Kenney, todos CC0. <a href="/es/assets?providers=kenney">Explora la colección completa de Kenney en la biblioteca de recursos</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://kenney.nl" target="_blank" rel="noreferrer">kenney.nl</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 (dominio público)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 270 paquetes (más de 40.000 recursos individuales)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLB, PNG, WAV y más</td>
</tr>
<tr>
<td><strong>Catálogo</strong></td>
<td>Catálogo sin conexión disponible (búsqueda instantánea)</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>✅ Sí, enlaza a la página del paquete de recursos</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Enorme biblioteca de recursos orientados a juegos</li>
<li>Estilos visuales coherentes dentro de cada paquete</li>
<li>Todo está listo para usar en juegos y optimizado para ofrecer un buen rendimiento</li>
<li>Incluye modelos, sprites, elementos de interfaz y sonidos en un mismo sitio</li>
</ul>
<p><strong>Mejores paquetes para empezar:</strong></p>
<ul>
<li><strong>Space Kit</strong>: naves espaciales, asteroides y estaciones</li>
<li><strong>Platformer Kit</strong>: personajes, tiles y obstáculos</li>
<li><strong>Nature Kit</strong>: árboles, rocas y hierba</li>
<li><strong>Furniture Kit</strong>: objetos de interior</li>
<li><strong>UI Pack</strong>: botones, iconos y elementos del HUD</li>
</ul>
<hr>
<h3 id="quaternius" tabindex="-1">Quaternius <a class="header-anchor" href="#quaternius" aria-label="Permalink to &quot;Quaternius&quot;"></a></h3>
<p><strong>Ideal para:</strong> Modelos 3D low poly estilizados</p>
<figure class="sample-sheet">
<a href="/es/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-quaternius.jpg" alt="Ejemplos de modelos low poly CC0 de Quaternius: monstruos, capitán pirata, meca, mago, nave espacial, shiba inu y caballero" loading="lazy"></a>
<figcaption>Personajes y naves de Quaternius, todos CC0 y animados en su mayoría. <a href="/es/assets">Búscalos en la biblioteca de recursos gratuitos</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://quaternius.com" target="_blank" rel="noreferrer">quaternius.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0 (dominio público)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>79 paquetes (unos 1.148 modelos)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF/GLB, FBX</td>
</tr>
<tr>
<td><strong>Catálogo</strong></td>
<td>Catálogo sin conexión disponible</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>✅ Sí, un archivo ZIP por paquete</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Estética low poly adorable y estilizada</li>
<li>Excelente para juegos independientes</li>
<li>Paquetes temáticos bien organizados</li>
<li>Recuentos de polígonos optimizados</li>
</ul>
<p><strong>Paquetes populares:</strong></p>
<ul>
<li>Ultimate Modular Characters</li>
<li>Medieval Pack</li>
<li>Ultimate Spaceships</li>
<li>Ultimate Monsters</li>
<li>Nature Pack</li>
</ul>
<hr>
<h3 id="sketchfab" tabindex="-1">Sketchfab <a class="header-anchor" href="#sketchfab" aria-label="Permalink to &quot;Sketchfab&quot;"></a></h3>
<p><strong>Ideal para:</strong> Una amplia variedad de modelos, incluidos modelos complejos y detallados</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://sketchfab.com" target="_blank" rel="noreferrer">sketchfab.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Varias (comprueba cada modelo)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 4 millones de modelos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF, FBX, OBJ</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sí, con clave opcional para obtener límites más altos</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>⚠️ Enlaza a la página de descarga (requiere iniciar sesión)</td>
</tr>
</tbody>
</table>
<p><strong>Nota:</strong> La tienda de pago de Sketchfab ha cerrado y se ha trasladado al marketplace <a href="https://www.fab.com" target="_blank" rel="noreferrer">Fab</a> de Epic, pero los modelos gratuitos y de solo visualización permanecen en Sketchfab, siguen pudiendo descargarse en 2026 y las API de descarga y visualización continúan funcionando. El filtro de modelos gratuitos y descargables funciona exactamente igual que antes. Hay un detalle que conviene conocer: solo el contenido con licencia CC-BY y Fab Standard puede migrar a Fab, mientras que los modelos CC0, CC-BY-SA, CC-BY-NC y CC-BY-ND permanecen exclusivamente en Sketchfab. Considera Sketchfab una fuente de CC0 que todavía resulta útil, aunque está en lento declive, y descarga lo que necesites en lugar de dar por hecho que siempre seguirá disponible.</p>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>La mayor biblioteca de modelos 3D</li>
<li>Vista previa en 3D antes de descargar</li>
<li>Filtros por disponibilidad de descarga y licencia</li>
<li>Muchos artistas profesionales</li>
</ul>
<p><strong>Consejos de búsqueda:</strong></p>
<ul>
<li>Añade <code>downloadable:true</code> a la búsqueda</li>
<li>Filtra por licencias CC0 o CC-BY</li>
<li>Comprueba el número de polígonos para juegos web (preferiblemente menos de 100.000)</li>
<li>Busca la etiqueta «game-ready»</li>
</ul>
<div class="tip custom-block"><p class="custom-block-title">Disponible en Cinevva</p>
<p>Los resultados de Sketchfab aparecen directamente en el panel de recursos de Cinevva.</p>
</div>
<hr>
<h3 id="blenderkit" tabindex="-1">BlenderKit <a class="header-anchor" href="#blenderkit" aria-label="Permalink to &quot;BlenderKit&quot;"></a></h3>
<p><strong>Ideal para:</strong> Una enorme biblioteca integrada de modelos, materiales y HDRI</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.blenderkit.com" target="_blank" rel="noreferrer">blenderkit.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Libre de regalías y CC0; comprueba cada recurso</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Miles de modelos, materiales, HDRI y pinceles</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Blend, GLTF, FBX (varía)</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sí, con nivel gratuito disponible</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Una de las mayores bibliotecas de recursos, con una combinación de contenido gratuito y de pago</li>
<li>Reúne modelos, materiales PBR y HDRI en un mismo sitio</li>
<li>Destaca en objetos para entornos, materiales y decoración de escenas</li>
<li>Permite filtrar por licencia para que puedas limitarte a CC0 cuando lo necesites</li>
</ul>
<p><strong>Nota:</strong> Los recursos gratuitos y de pago aparecen juntos, así que filtra por el nivel gratuito o CC0 cuando el presupuesto sea importante.</p>
<div class="tip custom-block"><p class="custom-block-title">Disponible en Cinevva</p>
<p>BlenderKit está integrado en el panel de recursos de Cinevva: busca en él junto con Poly Haven y Sketchfab sin salir del editor.</p>
</div>
<hr>
<h3 id="fab-epic-games" tabindex="-1">Fab (Epic Games) <a class="header-anchor" href="#fab-epic-games" aria-label="Permalink to &quot;Fab (Epic Games)&quot;"></a></h3>
<p><strong>Ideal para:</strong> Recursos listos para juegos y Quixel Megascans gratuitos, todo en un mismo marketplace</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.fab.com" target="_blank" rel="noreferrer">fab.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Standard (Personal/Professional) y Creative Commons (algunos CC0); comprueba cada publicación</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Modelos, materiales, entornos, VFX, audio, animaciones y plugins</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Unreal Engine, Unity, glTF y más</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>Registro gratuito y combinación de recursos gratuitos y de pago</td>
</tr>
</tbody>
</table>
<p>Fab es el marketplace unificado de contenido de Epic y el sucesor de Unreal Engine Marketplace, ArtStation Marketplace, Sketchfab Store y Quixel Megascans. Su principal atractivo para quienes buscan recursos es un paquete inicial de Megascans permanentemente gratuito con más de 1.500 recursos seleccionados, además de superficies, calcomanías y escaneos 3D que pueden usarse gratuitamente en cualquier motor. Ten en cuenta que la época en la que toda la biblioteca de Megascans era gratuita terminó el 31 de diciembre de 2024 y que el catálogo completo, con unos 17.000 recursos, ahora es de pago. Sin embargo, Epic mantiene gratuito ese paquete inicial de 1.500 recursos y ofrece una nueva selección «Limited-Time Free» cada dos semanas. Filtra por Creative Commons o por la licencia Standard gratuita para ajustarte al presupuesto, y comprueba la licencia de cada publicación antes de lanzar tu juego.</p>
<hr>
<h3 id="blendswap" tabindex="-1">BlendSwap <a class="header-anchor" href="#blendswap" aria-label="Permalink to &quot;BlendSwap&quot;"></a></h3>
<p><strong>Ideal para:</strong> Modelos complejos de Blender con materiales</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://blendswap.com" target="_blank" rel="noreferrer">blendswap.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Varias (CC-BY es habitual)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Miles de modelos de Blender</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Blend (convertir a GLTF)</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Contenido de calidad impulsado por la comunidad</li>
<li>Archivos completos de Blender con materiales</li>
<li>Adecuado para aprender y modificar</li>
<li>Muchos modelos arquitectónicos y de vehículos</li>
</ul>
<p><strong>Nota:</strong> Normalmente requiere exportar a GLTF para usarlo en la web.</p>
<p><strong>Actualización de 2026:</strong> BlendSwap cambió de propietarios y se relanzó en mayo de 2026 con un sitio reconstruido y más rápido. La biblioteca sobrevivió al traslado y todo continúa siendo gratuito bajo licencias Creative Commons.</p>
<hr>
<h3 id="poly-pizza-e-icosa-gallery" tabindex="-1">Poly Pizza e Icosa Gallery <a class="header-anchor" href="#poly-pizza-e-icosa-gallery" aria-label="Permalink to &quot;Poly Pizza e Icosa Gallery&quot;"></a></h3>
<p><strong>Ideal para:</strong> Modelos 3D low poly y sucesores espirituales de Google Poly</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://poly.pizza" target="_blank" rel="noreferrer">poly.pizza</a> · <a href="https://icosa.gallery" target="_blank" rel="noreferrer">icosa.gallery</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Principalmente CC-BY (con atribución), con una selección CC0 en Poly Pizza</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Poly Pizza: más de 10.000 modelos, incluido un archivo «Poly by Google» con unos 2.294 modelos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF/GLB, OBJ</td>
</tr>
</tbody>
</table>
<p>Google Poly cerró en junio de 2021, pero su catálogo low poly sigue vivo. Poly Pizza aloja la colección archivada «Poly by Google» junto con miles de nuevos modelos de la comunidad, mientras que Icosa Gallery, de código abierto y sin ánimo de lucro, continúa la misión de ofrecer recursos abiertos. La mayoría de los modelos son CC-BY (debes acreditar al creador), aunque algunos son CC0. Son excelentes para conseguir rápidamente objetos estilizados que encajen con el aspecto low poly de Kenney y Quaternius.</p>
<hr>
<h3 id="synty-studios-polygon" tabindex="-1">Synty Studios (POLYGON) <a class="header-anchor" href="#synty-studios-polygon" aria-label="Permalink to &quot;Synty Studios (POLYGON)&quot;"></a></h3>
<p><strong>Ideal para:</strong> Recursos low poly estilizados profesionales y con un estilo visual coherente</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://syntystore.com" target="_blank" rel="noreferrer">syntystore.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Libre de regalías (5 puestos por compra)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 100 paquetes temáticos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, Unity, Unreal</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>De pago (con paquetes iniciales gratuitos)</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Estética low poly estilizada estándar del sector</li>
<li>Estilo visual coherente entre TODOS los paquetes (¡puedes combinarlos!)</li>
<li>Calidad profesional y optimización para juegos</li>
<li>Los personajes tienen rigs Mecanim (Unity)</li>
</ul>
<p><strong>Paquetes gratuitos disponibles:</strong></p>
<ul>
<li><strong>POLYGON Starter Pack</strong>: muestra de objetos, personajes y elementos de entornos</li>
<li><strong>POLYGON Santa Pack</strong>: recursos de temática festiva</li>
<li><strong>POLYGON Easter Pack</strong>: decoraciones de temporada</li>
<li><strong>POLYGON Xmas Pack</strong>: recursos de Navidad e invierno</li>
</ul>
<p><strong>Paquetes de pago populares:</strong></p>
<ul>
<li>POLYGON City, Town, Fantasy, Sci-Fi</li>
<li>POLYGON Nature, Farm, Prototype</li>
<li>POLYGON Knights, Samurai, Pirates</li>
</ul>
<p><strong>Ideal para:</strong></p>
<ul>
<li>Juegos independientes que necesitan una dirección artística cohesionada</li>
<li>Prototipado rápido con un acabado pulido</li>
<li>Juegos móviles y web (recuentos de polígonos optimizados)</li>
</ul>
<p><strong>Nota:</strong> Los paquetes gratuitos son excelentes para probar el estilo. Los paquetes de pago ofrecen una magnífica relación calidad-precio por su cantidad y calidad.</p>
<hr>
<h3 id="cgtrader" tabindex="-1">CGTrader <a class="header-anchor" href="#cgtrader" aria-label="Permalink to &quot;CGTrader&quot;"></a></h3>
<p><strong>Ideal para:</strong> Un gran marketplace con muchos modelos gratuitos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://cgtrader.com" target="_blank" rel="noreferrer">cgtrader.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Libre de regalías (por modelo)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 1 millón de modelos (muchos gratuitos)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, OBJ, GLTF, Blend</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>No</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Gran variedad de artistas profesionales</li>
<li>Muchos modelos gratuitos disponibles</li>
<li>Filtros por precio y formato</li>
<li>Modelos low poly y muy detallados</li>
</ul>
<p><strong>Condiciones de la licencia:</strong></p>
<ul>
<li>✅ Se pueden usar en juegos y aplicaciones comerciales</li>
<li>✅ Se pueden modificar y adaptar</li>
<li>❌ No se pueden revender los archivos del modelo</li>
<li>❌ No se puede permitir que los usuarios extraigan los archivos del modelo</li>
</ul>
<p><strong>Consejos de búsqueda:</strong></p>
<ul>
<li>Filtra por «Free» en el precio</li>
<li>Comprueba el número de polígonos</li>
<li>Busca las etiquetas «game-ready» o «low-poly»</li>
<li>Verifica la compatibilidad del formato (GLTF es preferible para la web)</li>
</ul>
<p><strong>Categorías:</strong></p>
<ul>
<li>Vehículos, personajes y arquitectura</li>
<li>Armas, muebles y naturaleza</li>
<li>Ciencia ficción, fantasía y moderno</li>
</ul>
<hr>
<h3 id="turbosquid" tabindex="-1">TurboSquid <a class="header-anchor" href="#turbosquid" aria-label="Permalink to &quot;TurboSquid&quot;"></a></h3>
<p><strong>Ideal para:</strong> Un marketplace profesional de modelos 3D</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://turbosquid.com" target="_blank" rel="noreferrer">turbosquid.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Libre de regalías / Editorial (comprueba cada recurso)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 1 millón de modelos (muchos gratuitos)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, OBJ, MAX, Blend</td>
</tr>
<tr>
<td><strong>Calidad</strong></td>
<td>Calidad profesional</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Modelos profesionales de alta calidad</li>
<li>Marketplace consolidado (desde 2000)</li>
<li>Certificación CheckMate de calidad</li>
<li>Muchos modelos gratuitos disponibles</li>
</ul>
<p><strong>Condiciones de la licencia:</strong></p>
<ul>
<li>✅ Se permite el uso comercial (libre de regalías)</li>
<li>⚠️ Comprueba si incluye la etiqueta «Editorial Only» (uso restringido)</li>
<li>⚠️ Comprueba si contiene propiedad intelectual representada (artículos de marca)</li>
<li>❌ No se pueden redistribuir los archivos originales del modelo</li>
</ul>
<p><strong>Precauciones:</strong></p>
<ul>
<li>Los modelos «Editorial Only» no pueden utilizarse comercialmente</li>
<li>Los modelos con logotipos de marcas requieren permisos adicionales</li>
<li>Los modelos gratuitos pueden ofrecer menos protección frente a reclamaciones</li>
</ul>
<p><strong>Consejos de búsqueda:</strong></p>
<ul>
<li>Filtra por «Free» y por el formato deseado</li>
<li>Evita «Editorial Use Only» en proyectos comerciales</li>
<li>Comprueba el número de polígonos para juegos web</li>
<li>Da prioridad a modelos sin propiedad intelectual de marcas reconocibles</li>
</ul>
<hr>
<h3 id="poly-ronin" tabindex="-1">Poly Ronin <a class="header-anchor" href="#poly-ronin" aria-label="Permalink to &quot;Poly Ronin&quot;"></a></h3>
<p><strong>Ideal para:</strong> Paquetes temáticos low poly estilizados (actualmente sin conexión)</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://polyronin.com" target="_blank" rel="noreferrer">polyronin.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>⚠️ Nunca se indicó con claridad</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Paquetes low poly temáticos (armas de samuráis y vikingos, aldea desértica, puestos de mercado y vehículos urbanos)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, GLB, OBJ</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>Gratis</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">Estado del sitio (julio de 2026)</p>
<p>Poly Ronin no responde desde julio de 2026 y parece que el sitio ha dejado de estar disponible. Es un buen ejemplo de por qué una licencia poco clara supone un riesgo: los paquetes nunca tuvieron condiciones documentadas para uso comercial y ahora no hay ningún creador al que consultar. Si descargaste paquetes anteriormente, úsalos solo para prototipos. Para producción, utiliza en su lugar fuentes con licencias claras, como Kenney, Quaternius o Poly Pizza.</p>
</div>
<hr>
<h2 id="texturas-y-materiales" tabindex="-1">Texturas y materiales <a class="header-anchor" href="#texturas-y-materiales" aria-label="Permalink to &quot;Texturas y materiales&quot;"></a></h2>
<figure class="sample-sheet">
<a href="/es/assets?providers=polyhaven"><img src="https://cdn.cinevva.com/guides/samples/samples-polyhaven-textures.jpg" alt="Ejemplos de materiales PBR CC0 de Poly Haven renderizados sobre esferas: ladrillo, madera, metal, adoquines, tela, hierba, mármol y hormigón" loading="lazy"></a>
<figcaption>Vistas previas de materiales de Poly Haven: ladrillo, madera, metal, adoquines, tela, hierba, mármol y hormigón, todos CC0. <a href="/es/assets?providers=polyhaven">Busca Poly Haven en la biblioteca de recursos</a>.</figcaption>
</figure>
<h3 id="poly-haven-texturas" tabindex="-1">Poly Haven (texturas) <a class="header-anchor" href="#poly-haven-texturas" aria-label="Permalink to &quot;Poly Haven (texturas)&quot;"></a></h3>
<p><strong>Ideal para:</strong> Texturas PBR fotorrealistas</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://polyhaven.com/textures" target="_blank" rel="noreferrer">polyhaven.com/textures</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 780 conjuntos de texturas PBR</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>JPG, PNG, EXR</td>
</tr>
</tbody>
</table>
<p><strong>Incluye:</strong></p>
<ul>
<li>Mapas de color difuso/albedo</li>
<li>Mapas de normales</li>
<li>Mapas de rugosidad</li>
<li>Mapas de desplazamiento</li>
<li>Mapas de oclusión ambiental</li>
</ul>
<p><strong>Categorías habituales:</strong></p>
<ul>
<li>Madera, metal, piedra, hormigón</li>
<li>Tela, cuero, terreno</li>
<li>Ladrillo, baldosas, materiales orgánicos</li>
</ul>
<hr>
<h3 id="ambientcg" tabindex="-1">AmbientCG <a class="header-anchor" href="#ambientcg" aria-label="Permalink to &quot;AmbientCG&quot;"></a></h3>
<p><strong>Ideal para:</strong> Una amplia variedad de materiales PBR CC0</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://ambientcg.com" target="_blank" rel="noreferrer">ambientcg.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 2.000 materiales</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>JPG, PNG</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sí, no requiere clave</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>✅ Sí, ZIP con resolución 1K</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Calidad similar a Poly Haven</li>
<li>Más variedad en algunas categorías</li>
<li>Texturas repetibles</li>
<li>Varias resoluciones (1K-8K)</li>
</ul>
<p><strong>Útil para:</strong></p>
<ul>
<li>Texturas de terreno (hierba, tierra, grava)</li>
<li>Materiales de construcción</li>
<li>Telas y tapicería</li>
<li>Superficies metálicas</li>
</ul>
<hr>
<h2 id="sprites-y-arte-2d" tabindex="-1">Sprites y arte 2D <a class="header-anchor" href="#sprites-y-arte-2d" aria-label="Permalink to &quot;Sprites y arte 2D&quot;"></a></h2>
<figure class="sample-sheet">
<a href="/es/assets?providers=kenney"><img src="https://cdn.cinevva.com/guides/samples/samples-kenney-sprites.jpg" alt="Ejemplos de sprites 2D CC0 de Kenney: personaje astronauta, naves espaciales, tiles de pixel art, emoticono de corazón y alienígena" loading="lazy"></a>
<figcaption>Una muestra de la variedad 2D de Kenney: personajes, naves, tiles y emoticonos, todos CC0. <a href="/es/assets?providers=kenney">Explora los sprites de Kenney en la biblioteca de recursos</a>.</figcaption>
</figure>
<h3 id="kenney-2d" tabindex="-1">Kenney (2D) <a class="header-anchor" href="#kenney-2d" aria-label="Permalink to &quot;Kenney (2D)&quot;"></a></h3>
<p><strong>Ideal para:</strong> Conjuntos completos de interfaces y sprites para juegos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 100 paquetes 2D</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>PNG, SVG</td>
</tr>
</tbody>
</table>
<p><strong>Excelentes paquetes 2D:</strong></p>
<ul>
<li>UI Pack (botones, ventanas e iconos)</li>
<li>Platformer Pack (personajes y tiles)</li>
<li>Roguelike Pack (tiles de mazmorras)</li>
<li>Space Shooter Pack</li>
<li>Puzzle Pack</li>
</ul>
<hr>
<h3 id="itch-io" tabindex="-1">itch.io <a class="header-anchor" href="#itch-io" aria-label="Permalink to &quot;itch.io&quot;"></a></h3>
<p><strong>Ideal para:</strong> Estilos artísticos únicos de creadores independientes</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://itch.io/game-assets" target="_blank" rel="noreferrer">itch.io/game-assets</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Varias (comprueba cada recurso)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 51.000 paquetes gratuitos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Varios</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Increíble variedad de estilos artísticos</li>
<li>Muchos paquetes gratuitos disponibles</li>
<li>Permite apoyar a artistas independientes</li>
<li>Se puede filtrar por «Gratis» y por tipo</li>
</ul>
<p><strong>Consejos de búsqueda:</strong></p>
<ul>
<li>Filtra por precio: Gratis</li>
<li>Etiquetas populares: pixel-art, sprites, tileset, characters</li>
<li>Comprueba detenidamente las condiciones de la licencia</li>
</ul>
<hr>
<h3 id="opengameart" tabindex="-1">OpenGameArt <a class="header-anchor" href="#opengameart" aria-label="Permalink to &quot;OpenGameArt&quot;"></a></h3>
<p><strong>Ideal para:</strong> Arte 2D aportado por la comunidad</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://opengameart.org" target="_blank" rel="noreferrer">opengameart.org</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Varias (CC0, CC-BY, GPL)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Miles</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>PNG, SVG</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>⚠️ Enlaces a la página del contenido</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Comunidad activa</li>
<li>Excelente para arte retro y pixel art</li>
<li>Muchos conjuntos artísticos completos para juegos</li>
<li>También ofrece audio y 3D</li>
</ul>
<p><strong>Categorías:</strong></p>
<ul>
<li>Arte 2D &gt; Tiles, personajes, interfaz</li>
<li>Texturas</li>
<li>Arte conceptual</li>
</ul>
<hr>
<h2 id="audio-y-efectos-de-sonido" tabindex="-1">Audio y efectos de sonido <a class="header-anchor" href="#audio-y-efectos-de-sonido" aria-label="Permalink to &quot;Audio y efectos de sonido&quot;"></a></h2>
<h3 id="freesound" tabindex="-1">Freesound <a class="header-anchor" href="#freesound" aria-label="Permalink to &quot;Freesound&quot;"></a></h3>
<p><strong>Ideal para:</strong> Una enorme biblioteca de efectos de sonido</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://freesound.org" target="_blank" rel="noreferrer">freesound.org</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Distintas licencias CC para cada sonido (aproximadamente un 52 % CC0 en 2026)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 700.000 sonidos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV, MP3, FLAC</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sí, requiere una clave de API gratuita</td>
</tr>
<tr>
<td><strong>Descarga directa</strong></td>
<td>✅ Sí, vista previa en MP3 (con clave de API)</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>La mayor biblioteca de sonidos gratuitos</li>
<li>Filtros de búsqueda avanzados</li>
<li>Valoraciones de la comunidad</li>
<li>Vistas previas de las formas de onda</li>
</ul>
<p><strong>Consejos:</strong></p>
<ul>
<li>Filtra por licencia antes de descargar (se recomienda CC0 para juegos)</li>
<li>Filtra por frecuencia de muestreo (44,1 kHz es el estándar)</li>
<li>Muchas variaciones de sonidos habituales</li>
<li>Excelente para diseño sonoro</li>
</ul>
<p><strong>Búsquedas habituales:</strong></p>
<ul>
<li>Pasos, explosiones y clics de interfaz</li>
<li>Bucles ambientales y ruido de fondo</li>
<li>Efectos de voz y vocales</li>
<li>Instrumentos musicales</li>
</ul>
<hr>
<h3 id="kenney-audio" tabindex="-1">Kenney (audio) <a class="header-anchor" href="#kenney-audio" aria-label="Permalink to &quot;Kenney (audio)&quot;"></a></h3>
<p><strong>Ideal para:</strong> Paquetes de efectos de sonido listos para usar en juegos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Licencia</strong></td>
<td>CC0</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 15 paquetes de audio</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV, OGG</td>
</tr>
</tbody>
</table>
<p><strong>Los paquetes incluyen:</strong></p>
<ul>
<li>UI Audio (clics, efectos al pasar el cursor y notificaciones)</li>
<li>RPG Audio (combate, hechizos y entorno)</li>
<li>Sci-Fi Audio (armas, ordenadores y puertas)</li>
<li>Sonidos de impactos</li>
<li>Cortinillas musicales</li>
</ul>
<hr>
<h3 id="sonniss-gdc" tabindex="-1">Sonniss GDC <a class="header-anchor" href="#sonniss-gdc" aria-label="Permalink to &quot;Sonniss GDC&quot;"></a></h3>
<p><strong>Ideal para:</strong> Efectos de sonido profesionales y libres de regalías en grandes cantidades</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://sonniss.com/gameaudiogdc" target="_blank" rel="noreferrer">sonniss.com/gameaudiogdc</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Libre de regalías para uso comercial (Sonniss GDC Game Audio Bundle)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Cientos de gigabytes de efectos de sonido profesionales</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV (calidad completa), vistas previas en MP3/OGG</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Efectos de sonido con calidad de estudio, grabados por diseñadores de sonido profesionales</li>
<li>Libres de regalías, por lo que no requieren atribución ni pagos por uso en juegos comerciales</li>
<li>Se publica cada año como parte del GDC Game Audio Bundle (la edición de 2026 llegó en marzo con más de 7 GB de sonidos nuevos y el archivo de años anteriores supera los 200 GB)</li>
<li>Incluye efectos de sala, ambientes, armas, criaturas, vehículos e interfaz</li>
</ul>
<p><strong>Nota:</strong> La licencia solo cubre la producción de contenidos multimedia (juegos, cine, televisión y proyectos interactivos) y prohíbe explícitamente usar los sonidos para entrenar sistemas de IA o aprendizaje automático. Las vistas previas se reproducen como MP3/OGG dentro de Cinevva y los archivos WAV con resolución completa se descargan desde Sonniss.</p>
<div class="tip custom-block"><p class="custom-block-title">Disponible en las búsquedas de Cinevva</p>
<p>Sonniss está integrado en el panel de recursos de Cinevva: busca en el paquete de la GDC junto a Freesound.</p>
</div>
<hr>
<h2 id="musica" tabindex="-1">Música <a class="header-anchor" href="#musica" aria-label="Permalink to &quot;Música&quot;"></a></h2>
<h3 id="jamendo" tabindex="-1">Jamendo <a class="header-anchor" href="#jamendo" aria-label="Permalink to &quot;Jamendo&quot;"></a></h3>
<p><strong>Ideal para:</strong> Descubrir música, no para uso comercial gratuito</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://www.jamendo.com" target="_blank" rel="noreferrer">jamendo.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>CC para escucha personal; licencia de sincronización de pago para proyectos comerciales</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Cientos de miles de pistas musicales independientes</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sí, requiere un ID de cliente gratuito</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Enorme catálogo de música independiente de todos los géneros</li>
<li>Excelente para encontrar un ambiente o un artista antes de adquirir la licencia</li>
<li>Permite buscar por género, ambiente y tempo</li>
</ul>
<p><strong>Nota:</strong> Jamendo suele causar confusión. Las descargas gratuitas son para escucha personal, y usar una pista en un juego que vendas exige comprar una licencia por pista en Jamendo Licensing, su programa de sincronización de pago. Considéralo una fuente de pago con vistas previas gratuitas, no una fuente gratuita.</p>
<div class="tip custom-block"><p class="custom-block-title">Disponible en las búsquedas de Cinevva</p>
<p>Jamendo está integrado en el panel de recursos de Cinevva para buscar música de fondo y bandas sonoras.</p>
</div>
<hr>
<h2 id="animaciones-de-personajes" tabindex="-1">Animaciones de personajes <a class="header-anchor" href="#animaciones-de-personajes" aria-label="Permalink to &quot;Animaciones de personajes&quot;"></a></h2>
<figure class="sample-sheet">
<a href="/es/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-characters.jpg" alt="Personajes low poly CC0 listos para rigging: caballero, shiba inu, guerrero esqueleto, astronauta y bárbaro" loading="lazy"></a>
<figcaption>Personajes CC0 listos para rigging de KayKit, Quaternius, PolygonalMind y Kenney que combinan con estas bibliotecas de animaciones. <a href="/es/assets">Consigue uno en la biblioteca de recursos</a>.</figcaption>
</figure>
<h3 id="mixamo" tabindex="-1">Mixamo <a class="header-anchor" href="#mixamo" aria-label="Permalink to &quot;Mixamo&quot;"></a></h3>
<p><strong>Ideal para:</strong> Animaciones profesionales de personajes</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://mixamo.com" target="_blank" rel="noreferrer">mixamo.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Gratis para uso comercial</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>2.446 animaciones</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX</td>
</tr>
<tr>
<td><strong>Cuenta</strong></td>
<td>Requiere una cuenta de Adobe</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">Nota sobre su fiabilidad (2026)</p>
<p>Mixamo sigue disponible y es gratuito, pero Adobe no lo mantiene activamente. Desde una interrupción del inicio de sesión a mediados de 2025, la página de la cuenta y la herramienta de rigging automático han fallado de forma intermitente, y el servicio de asistencia de Adobe ha indicado a los usuarios que, en la práctica, ya no cuenta con soporte. No ha cerrado, pero conviene tratarlo como una fuente poco fiable: descarga y haz copias de seguridad de las animaciones que necesites en lugar de depender de él a largo plazo. Para el rigging automático en particular, merece la pena seguir como posibles sustitutos modelos abiertos más recientes, como UniRig y NVIDIA SOMA-X.</p>
</div>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Animaciones de calidad profesional</li>
<li>Se pueden adaptar a personajes personalizados</li>
<li>Enorme biblioteca de animaciones</li>
<li>También ofrece personajes con rig</li>
</ul>
<p><strong>Categorías:</strong></p>
<ul>
<li>Locomoción (caminar, correr, saltar)</li>
<li>Combate (puñetazos, patadas, espada)</li>
<li>Baile</li>
<li>Gestos</li>
<li>Acciones (sentarse, trepar, agarrar)</li>
<li>Reacciones (golpe, muerte, caída)</li>
</ul>
<p><strong>Flujo de trabajo:</strong></p>
<ol>
<li>Crea una cuenta gratuita de Adobe</li>
<li>Sube tu personaje o utiliza uno de los suyos</li>
<li>Explora y previsualiza las animaciones</li>
<li>Descárgalas en formato FBX</li>
<li>Conviértelas a GLTF para la web</li>
</ol>
<hr>
<h2 id="shaders-y-efectos" tabindex="-1">Shaders y efectos <a class="header-anchor" href="#shaders-y-efectos" aria-label="Permalink to &quot;Shaders y efectos&quot;"></a></h2>
<h3 id="shadertoy" tabindex="-1">Shadertoy <a class="header-anchor" href="#shadertoy" aria-label="Permalink to &quot;Shadertoy&quot;"></a></h3>
<p><strong>Ideal para:</strong> Inspiración y efectos con shaders GLSL</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://shadertoy.com" target="_blank" rel="noreferrer">shadertoy.com</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>Varias (comprueba cada recurso)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 70.000 shaders</td>
</tr>
<tr>
<td><strong>Formato</strong></td>
<td>Código fuente GLSL</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Efectos visuales alucinantes</li>
<li>Permite aprender técnicas de shaders</li>
<li>Vista previa en tiempo real</li>
<li>Comunidad activa</li>
</ul>
<p><strong>Categorías populares:</strong></p>
<ul>
<li>Ray marching y fractales</li>
<li>Efectos de posprocesamiento</li>
<li>Texturas procedurales</li>
<li>Sistemas de partículas</li>
<li>Agua, fuego y humo</li>
</ul>
<p><strong>Nota:</strong> Los shaders deben adaptarse para usarlos con Three.js/WebGL.</p>
<hr>
<h3 id="ejemplos-de-three-js" tabindex="-1">Ejemplos de Three.js <a class="header-anchor" href="#ejemplos-de-three-js" aria-label="Permalink to &quot;Ejemplos de Three.js&quot;"></a></h3>
<p><strong>Ideal para:</strong> Código de Three.js listo para usar</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://threejs.org/examples" target="_blank" rel="noreferrer">threejs.org/examples</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>MIT</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 500 ejemplos</td>
</tr>
<tr>
<td><strong>Formato</strong></td>
<td>Código fuente JavaScript</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>Ejemplos oficiales</li>
<li>Listos para copiar y pegar</li>
<li>Bien documentados</li>
<li>Cubren todas las funciones</li>
</ul>
<p><strong>Ejemplos útiles:</strong></p>
<ul>
<li>Efectos de posprocesamiento</li>
<li>Shaders personalizados</li>
<li>Integración de físicas</li>
<li>Cargadores de modelos</li>
<li>Sistemas de animación</li>
</ul>
<hr>
<h3 id="pmndrs-vanilla" tabindex="-1">pmndrs/vanilla <a class="header-anchor" href="#pmndrs-vanilla" aria-label="Permalink to &quot;pmndrs/vanilla&quot;"></a></h3>
<p><strong>Ideal para:</strong> Materiales y efectos de Three.js</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sitio web</strong></td>
<td><a href="https://github.com/pmndrs/vanilla" target="_blank" rel="noreferrer">github.com/pmndrs/vanilla</a></td>
</tr>
<tr>
<td><strong>Licencia</strong></td>
<td>MIT</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Más de 20 efectos</td>
</tr>
<tr>
<td><strong>Paquete</strong></td>
<td><code>@pmndrs/vanilla</code></td>
</tr>
</tbody>
</table>
<p><strong>Incluye:</strong></p>
<ul>
<li>MeshReflectorMaterial</li>
<li>MeshDistortMaterial</li>
<li>MeshWobbleMaterial</li>
<li>Cáusticas</li>
<li>Destellos</li>
<li>Sombras suaves</li>
</ul>
<hr>
<h2 id="generacion-de-recursos-con-ia" tabindex="-1">Generación de recursos con IA <a class="header-anchor" href="#generacion-de-recursos-con-ia" aria-label="Permalink to &quot;Generación de recursos con IA&quot;"></a></h2>
<p>En 2026, generar un recurso suele ser más rápido que buscar uno gratuito que encaje. Estas son algunas opciones que merece la pena conocer:</p>
<ul>
<li><strong>Modelos 3D:</strong> Meshy y Tripo convierten texto o una imagen en una malla texturizada a la que se puede añadir un rig. Los resultados del plan gratuito de Meshy tienen licencia CC BY 4.0 (uso comercial con atribución), mientras que los derechos comerciales de Tripo se incluyen en los planes de pago, así que comprueba las condiciones de cada herramienta. Entre las opciones abiertas que puedes alojar por tu cuenta están Hunyuan3D 2.1 de Tencent, TRELLIS.2 de Microsoft y Cube 3D, publicado como código abierto por Roblox. Ten en cuenta que la licencia de Hunyuan3D excluye la UE, el Reino Unido y Corea del Sur, así que comprueba sus condiciones antes de publicar.</li>
<li><strong>Texturas e imágenes:</strong> modelos abiertos de generación de imágenes como FLUX.2 y Qwen-Image generan texturas repetibles y arte conceptual; los pesos que permiten un uso comercial gratuito son FLUX.2 klein 4B (Apache 2.0) y las variantes de Qwen-Image.</li>
<li><strong>Audio:</strong> Stable Audio 3.0 (incluido un modelo abierto dedicado a efectos de sonido) y ACE-Step 1.5 cubren música y efectos de sonido con pesos abiertos, mientras que ElevenLabs es la opción alojada más potente (derechos comerciales con los planes de pago).</li>
</ul>
<p>Las licencias de los recursos generados mediante IA todavía están evolucionando, así que confirma las condiciones sobre los derechos de los resultados de cada modelo antes de usar nada comercialmente. Para consultar un resumen completo de los modelos que conviene utilizar, consulta nuestra guía de los <a href="/es/guides/frontier-gen-ai-models.html">mejores modelos abiertos de IA generativa para juegos</a>. Cinevva incorpora generación de texto a 3D, texto a imagen, música y skyboxes, por lo que puedes generar recursos e incorporarlos directamente a tu juego sin salir del editor.</p>
<h2 id="guia-rapida-por-tipo-de-recurso" tabindex="-1">Guía rápida por tipo de recurso <a class="header-anchor" href="#guia-rapida-por-tipo-de-recurso" aria-label="Permalink to &quot;Guía rápida por tipo de recurso&quot;"></a></h2>
<h3 id="necesito-una-nave-espacial" tabindex="-1">Necesito una nave espacial <a class="header-anchor" href="#necesito-una-nave-espacial" aria-label="Permalink to &quot;Necesito una nave espacial&quot;"></a></h3>
<ol>
<li><strong>Rápido y sencillo:</strong> Kenney Space Kit (CC0)</li>
<li><strong>Estilizado:</strong> Quaternius Ultimate Spaceships (CC0)</li>
<li><strong>Estilizado profesional:</strong> Synty POLYGON Sci-Fi (libre de regalías, de pago)</li>
<li><strong>Detallado:</strong> Busca «spaceship downloadable» en Sketchfab (comprueba la licencia)</li>
</ol>
<h3 id="necesito-un-estilo-artistico-coherente-para-todo-mi-juego" tabindex="-1">Necesito un estilo artístico coherente para todo mi juego <a class="header-anchor" href="#necesito-un-estilo-artistico-coherente-para-todo-mi-juego" aria-label="Permalink to &quot;Necesito un estilo artístico coherente para todo mi juego&quot;"></a></h3>
<ol>
<li><strong>Synty POLYGON</strong> - Todos los paquetes comparten la misma estética y pueden combinarse libremente</li>
<li><strong>Kenney</strong> - CC0, con un estilo coherente y listo para juegos dentro de cada paquete</li>
<li><strong>Quaternius</strong> - CC0, estilo low poly adorable</li>
</ol>
<h3 id="necesito-texturas-realistas" tabindex="-1">Necesito texturas realistas <a class="header-anchor" href="#necesito-texturas-realistas" aria-label="Permalink to &quot;Necesito texturas realistas&quot;"></a></h3>
<ol>
<li><strong>Poly Haven</strong> - La mejor calidad, CC0</li>
<li><strong>AmbientCG</strong> - Más variedad, CC0</li>
</ol>
<h3 id="necesito-efectos-de-sonido" tabindex="-1">Necesito efectos de sonido <a class="header-anchor" href="#necesito-efectos-de-sonido" aria-label="Permalink to &quot;Necesito efectos de sonido&quot;"></a></h3>
<ol>
<li><strong>Kenney Audio Packs</strong> - Sonidos rápidos para juegos, CC0</li>
<li><strong>Freesound</strong> - Sonidos específicos, varias licencias</li>
</ol>
<h3 id="necesito-animaciones-de-personajes" tabindex="-1">Necesito animaciones de personajes <a class="header-anchor" href="#necesito-animaciones-de-personajes" aria-label="Permalink to &quot;Necesito animaciones de personajes&quot;"></a></h3>
<ol>
<li><strong>Mixamo</strong> - Calidad profesional, requiere una cuenta de Adobe (pero consulta la nota de fiabilidad de 2026 anterior y haz copias de seguridad de lo que descargues)</li>
</ol>
<h3 id="necesito-pixel-art" tabindex="-1">Necesito pixel art <a class="header-anchor" href="#necesito-pixel-art" aria-label="Permalink to &quot;Necesito pixel art&quot;"></a></h3>
<ol>
<li><strong>itch.io</strong> - Filtra por «pixel-art» y «Free»</li>
<li><strong>OpenGameArt</strong> - Categoría de arte 2D</li>
<li><strong>Kenney</strong> - Paquetes 2D</li>
</ol>
<h3 id="necesito-elementos-de-interfaz" tabindex="-1">Necesito elementos de interfaz <a class="header-anchor" href="#necesito-elementos-de-interfaz" aria-label="Permalink to &quot;Necesito elementos de interfaz&quot;"></a></h3>
<ol>
<li><strong>Kenney UI Pack</strong> - Conjunto completo, CC0</li>
<li><strong>itch.io</strong> - Busca «UI» o «GUI»</li>
</ol>
<h3 id="necesito-una-amplia-variedad-de-modelos-diversos" tabindex="-1">Necesito una amplia variedad de modelos diversos <a class="header-anchor" href="#necesito-una-amplia-variedad-de-modelos-diversos" aria-label="Permalink to &quot;Necesito una amplia variedad de modelos diversos&quot;"></a></h3>
<ol>
<li><strong>CGTrader</strong> - Filtra por «Free»; ofrece una enorme variedad</li>
<li><strong>TurboSquid</strong> - Calidad profesional; comprueba el tipo de licencia</li>
<li><strong>Sketchfab</strong> - Más de 4 millones de modelos; filtra por modelos descargables</li>
</ol>
<hr>
<h2 id="guia-de-licencias" tabindex="-1">Guía de licencias <a class="header-anchor" href="#guia-de-licencias" aria-label="Permalink to &quot;Guía de licencias&quot;"></a></h2>
<h3 id="cc0-dominio-publico" tabindex="-1">CC0 (dominio público) <a class="header-anchor" href="#cc0-dominio-publico" aria-label="Permalink to &quot;CC0 (dominio público)&quot;"></a></h3>
<ul>
<li>✅ Uso comercial</li>
<li>✅ Modificación</li>
<li>✅ No requiere atribución</li>
<li>✅ Sin restricciones</li>
</ul>
<p><strong>Proveedores:</strong> Poly Haven, Kenney, Quaternius, AmbientCG</p>
<h3 id="licencia-libre-de-regalias" tabindex="-1">Licencia libre de regalías <a class="header-anchor" href="#licencia-libre-de-regalias" aria-label="Permalink to &quot;Licencia libre de regalías&quot;"></a></h3>
<ul>
<li>✅ Uso comercial (en tus juegos y aplicaciones)</li>
<li>✅ Modificación y adaptación</li>
<li>✅ Sin regalías posteriores</li>
<li>❌ No se pueden revender los archivos originales del modelo</li>
<li>❌ No se puede permitir que los usuarios extraigan el modelo</li>
</ul>
<p><strong>Proveedores:</strong> Synty POLYGON, CGTrader, TurboSquid</p>
<p><strong>Nota:</strong> «Libre de regalías» significa que pagas una sola vez (o lo obtienes gratis) y puedes utilizar el recurso sin pagar por cada uso. NO significa que el recurso sea de dominio público.</p>
<h3 id="cc-by-atribucion" tabindex="-1">CC-BY (Atribución) <a class="header-anchor" href="#cc-by-atribucion" aria-label="Permalink to &quot;CC-BY (Atribución)&quot;"></a></h3>
<ul>
<li>✅ Uso comercial</li>
<li>✅ Se puede modificar</li>
<li>⚠️ Se debe acreditar al autor</li>
<li>✅ Sin otras restricciones</li>
</ul>
<p><strong>Proveedores:</strong> Muchos recursos de Sketchfab, BlendSwap y OpenGameArt</p>
<h3 id="cc-by-sa-compartirigual" tabindex="-1">CC-BY-SA (CompartirIgual) <a class="header-anchor" href="#cc-by-sa-compartirigual" aria-label="Permalink to &quot;CC-BY-SA (CompartirIgual)&quot;"></a></h3>
<ul>
<li>✅ Uso comercial</li>
<li>✅ Se puede modificar</li>
<li>⚠️ Se debe acreditar al autor</li>
<li>⚠️ Las obras derivadas deben usar la misma licencia</li>
</ul>
<h3 id="cc-by-nc-no-comercial" tabindex="-1">CC-BY-NC (No Comercial) <a class="header-anchor" href="#cc-by-nc-no-comercial" aria-label="Permalink to &quot;CC-BY-NC (No Comercial)&quot;"></a></h3>
<ul>
<li>❌ No se permite el uso comercial</li>
<li>✅ Se puede usar en juegos gratuitos</li>
<li>⚠️ Comprueba si tu juego tiene anuncios o compras dentro de la aplicación</li>
</ul>
<h3 id="solo-para-uso-editorial" tabindex="-1">Solo para uso editorial <a class="header-anchor" href="#solo-para-uso-editorial" aria-label="Permalink to &quot;Solo para uso editorial&quot;"></a></h3>
<ul>
<li>❌ No se permite el uso comercial</li>
<li>✅ Solo para noticias, educación y comentarios</li>
<li>⚠️ Es común en TurboSquid para artículos de marca</li>
</ul>
<p><strong>Consejo:</strong> Siempre que sea posible, elige CC0 para evitar requisitos de atribución en los créditos de tu juego. Las licencias libres de regalías también son seguras para juegos comerciales.</p>
<hr>
<h2 id="consejos-para-el-flujo-de-trabajo" tabindex="-1">Consejos para el flujo de trabajo <a class="header-anchor" href="#consejos-para-el-flujo-de-trabajo" aria-label="Permalink to &quot;Consejos para el flujo de trabajo&quot;"></a></h2>
<h3 id="_1-comprueba-primero-la-licencia" tabindex="-1">1. Comprueba primero la licencia <a class="header-anchor" href="#_1-comprueba-primero-la-licencia" aria-label="Permalink to &quot;1. Comprueba primero la licencia&quot;"></a></h3>
<p>Antes de descargar un recurso, verifica que la licencia permita el uso que quieres darle.</p>
<h3 id="_2-optimiza-para-la-web" tabindex="-1">2. Optimiza para la web <a class="header-anchor" href="#_2-optimiza-para-la-web" aria-label="Permalink to &quot;2. Optimiza para la web&quot;"></a></h3>
<ul>
<li>Mantén los modelos por debajo de 100 000 polígonos</li>
<li>Usa texturas comprimidas (JPG para el color difuso y PNG para transparencias)</li>
<li>Audio: usa MP3 u OGG, no WAV, en producción</li>
</ul>
<h3 id="_3-organiza-tus-recursos" tabindex="-1">3. Organiza tus recursos <a class="header-anchor" href="#_3-organiza-tus-recursos" aria-label="Permalink to &quot;3. Organiza tus recursos&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>assets/</span></span>
<span class="line"><span>├── models/</span></span>
<span class="line"><span>│   ├── characters/</span></span>
<span class="line"><span>│   └── props/</span></span>
<span class="line"><span>├── textures/</span></span>
<span class="line"><span>│   ├── environment/</span></span>
<span class="line"><span>│   └── ui/</span></span>
<span class="line"><span>├── audio/</span></span>
<span class="line"><span>│   ├── music/</span></span>
<span class="line"><span>│   └── sfx/</span></span>
<span class="line"><span>└── sprites/</span></span></code></pre>
</div><h3 id="_4-conserva-un-registro-de-las-atribuciones" tabindex="-1">4. Conserva un registro de las atribuciones <a class="header-anchor" href="#_4-conserva-un-registro-de-las-atribuciones" aria-label="Permalink to &quot;4. Conserva un registro de las atribuciones&quot;"></a></h3>
<p>Incluso con CC0, conviene registrar de dónde proceden los recursos:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>CREDITS.md</span></span>
<span class="line"><span>- Spaceship model: Quaternius (CC0)</span></span>
<span class="line"><span>- Wood texture: Poly Haven (CC0)</span></span>
<span class="line"><span>- Laser sound: Freesound user "xyz" (CC-BY)</span></span></code></pre>
</div><h3 id="_5-prueba-el-rendimiento" tabindex="-1">5. Prueba el rendimiento <a class="header-anchor" href="#_5-prueba-el-rendimiento" aria-label="Permalink to &quot;5. Prueba el rendimiento&quot;"></a></h3>
<p>Carga pronto los recursos en tu juego para comprobar:</p>
<ul>
<li>Tamaño de los archivos (afecta al tiempo de carga)</li>
<li>Cantidad de polígonos (afecta a los FPS)</li>
<li>Resolución de las texturas (afecta a la memoria)</li>
</ul>
<hr>
<h2 id="tabla-resumen" tabindex="-1">Tabla resumen <a class="header-anchor" href="#tabla-resumen" aria-label="Permalink to &quot;Tabla resumen&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Proveedor</th>
<th>Tipos</th>
<th>Licencia</th>
<th>Ideal para</th>
<th style="text-align:center">En Cinevva</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Poly Haven</strong></td>
<td>Modelos, texturas, HDRI</td>
<td>CC0</td>
<td>Calidad profesional</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Kenney</strong></td>
<td>Modelos, sprites, audio, IU</td>
<td>CC0</td>
<td>Recursos listos para juegos</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Quaternius</strong></td>
<td>Modelos</td>
<td>CC0</td>
<td>Estilo low poly estilizado</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Poly Pizza / Icosa</strong></td>
<td>Modelos</td>
<td>CC-BY / CC0</td>
<td>Low poly, archivo de Google Poly</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>Synty POLYGON</strong></td>
<td>Modelos, personajes</td>
<td>Libre de regalías</td>
<td>Arte estilizado coherente</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Sketchfab</strong></td>
<td>Modelos</td>
<td>Varias</td>
<td>Gran variedad</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>BlenderKit</strong></td>
<td>Modelos, materiales, HDRI</td>
<td>Libre de regalías / CC0</td>
<td>Gran biblioteca integrada</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Fab (Epic)</strong></td>
<td>Modelos, materiales, VFX, audio</td>
<td>Estándar / CC</td>
<td>Megascans gratuitos y recursos listos para juegos</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>CGTrader</strong></td>
<td>Modelos</td>
<td>Libre de regalías</td>
<td>Variedad de un marketplace</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>AmbientCG</strong></td>
<td>Texturas, HDRI</td>
<td>CC0</td>
<td>Materiales PBR</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>OpenGameArt</strong></td>
<td>2D, audio, texturas</td>
<td>Varias</td>
<td>Contenido de la comunidad</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Freesound</strong></td>
<td>Audio</td>
<td>Varias</td>
<td>Efectos de sonido</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Sonniss GDC</strong></td>
<td>Audio</td>
<td>Libre de regalías</td>
<td>Grandes paquetes de efectos de sonido profesionales</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Jamendo</strong></td>
<td>Música</td>
<td>CC para uso personal / sincronización de pago</td>
<td>Descubrir música (de pago para uso comercial)</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>TurboSquid</strong></td>
<td>Modelos</td>
<td>Libre de regalías</td>
<td>Calidad profesional</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>Mixamo</strong></td>
<td>Animaciones</td>
<td>Gratuita</td>
<td>Animaciones de personajes</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>itch.io</strong></td>
<td>Sprites, varios</td>
<td>Varias</td>
<td>Estilos artísticos indie</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>BlendSwap</strong></td>
<td>Modelos de Blender</td>
<td>Varias</td>
<td>Modelos complejos</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>Ejemplos de Three.js</strong></td>
<td>Código/shaders</td>
<td>MIT</td>
<td>Funciones de Three.js</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>Shadertoy</strong></td>
<td>Shaders</td>
<td>Varias</td>
<td>Efectos visuales</td>
<td style="text-align:center">-</td>
</tr>
</tbody>
</table>
<hr>
<p>Los proveedores marcados con ✅ se pueden consultar directamente desde la biblioteca de recursos integrada de Cinevva. Abre el panel Recursos para buscar en todos ellos a la vez. Los demás son fuentes externas que merece la pena guardar en favoritos para encontrar recursos que Cinevva todavía no indexa.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿donde-puedo-encontrar-modelos-3d-gratuitos-para-juegos" tabindex="-1">¿Dónde puedo encontrar modelos 3D gratuitos para juegos? <a class="header-anchor" href="#¿donde-puedo-encontrar-modelos-3d-gratuitos-para-juegos" aria-label="Permalink to &quot;¿Dónde puedo encontrar modelos 3D gratuitos para juegos?&quot;"></a></h3>
<p>Poly Haven, Kenney y Quaternius son los mejores puntos de partida para encontrar modelos 3D gratuitos y listos para usar en juegos. Todos emplean CC0, por lo que puedes utilizarlos comercialmente sin atribución. Para encontrar más variedad, Sketchfab y BlendSwap ofrecen enormes bibliotecas con distintas licencias. Comprueba siempre la licencia de cada modelo antes de publicar tu juego.</p>
<h3 id="¿se-pueden-usar-recursos-gratuitos-en-juegos-comerciales" tabindex="-1">¿Se pueden usar recursos gratuitos en juegos comerciales? <a class="header-anchor" href="#¿se-pueden-usar-recursos-gratuitos-en-juegos-comerciales" aria-label="Permalink to &quot;¿Se pueden usar recursos gratuitos en juegos comerciales?&quot;"></a></h3>
<p>La mayoría sí, pero depende de la licencia. Los recursos CC0 (Poly Haven, Kenney, Quaternius y AmbientCG) son de dominio público y se pueden utilizar comercialmente sin atribución. CC-BY exige acreditar al creador. Los recursos CC-BY-NC y aquellos destinados exclusivamente a uso editorial no se pueden usar en juegos comerciales. La sección anterior sobre licencias explica cada una de ellas.</p>
<h3 id="¿cual-es-el-mejor-sitio-para-conseguir-efectos-de-sonido-gratuitos-para-juegos" tabindex="-1">¿Cuál es el mejor sitio para conseguir efectos de sonido gratuitos para juegos? <a class="header-anchor" href="#¿cual-es-el-mejor-sitio-para-conseguir-efectos-de-sonido-gratuitos-para-juegos" aria-label="Permalink to &quot;¿Cuál es el mejor sitio para conseguir efectos de sonido gratuitos para juegos?&quot;"></a></h3>
<p>Freesound tiene la mayor biblioteca de efectos de sonido gratuitos, aunque la licencia varía en cada clip, así que debes comprobarlos individualmente. Kenney ofrece paquetes de audio más pequeños, pero completamente CC0, que puedes usar con seguridad en cualquier proyecto comercial sin ningún requisito de atribución.</p>
<h3 id="¿donde-puedo-conseguir-animaciones-de-personajes-gratuitas" tabindex="-1">¿Dónde puedo conseguir animaciones de personajes gratuitas? <a class="header-anchor" href="#¿donde-puedo-conseguir-animaciones-de-personajes-gratuitas" aria-label="Permalink to &quot;¿Dónde puedo conseguir animaciones de personajes gratuitas?&quot;"></a></h3>
<p>Mixamo es la fuente de referencia para obtener animaciones de personajes y rigging automático de forma gratuita. Sube o elige un personaje, selecciona entre miles de animaciones de captura de movimiento y expórtalas listas para tu motor. Todo es gratuito con una cuenta de Adobe.</p>
<BuildCta
  title="O describe el juego y deja que coloquemos los recursos por ti"
  desc="Cinevva busca paquetes CC0 gratuitos y coloca los objetos en una escena jugable."
  prompt="Crea un juego de exploración de mazmorras low poly con objetos 3D gratuitos, antorchas y tesoros" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/free-3d-model-sites.html">Los mejores sitios de modelos 3D gratuitos para juegos</a> — las fuentes de recursos 3D en detalle</li>
<li><a href="/es/guides/free-2d-sprites-tilesets.html">Sprites 2D, pixel art y tilesets gratuitos</a> — las fuentes de recursos 2D en detalle</li>
<li><a href="/es/guides/free-textures-hdris-materials.html">Texturas PBR, materiales y HDRI gratuitos</a> — las fuentes de texturas en detalle</li>
<li><a href="/es/guides/free-sound-effects-music.html">Efectos de sonido y música gratuitos para juegos</a> — las fuentes de audio en detalle</li>
<li><a href="/es/guides/free-character-animations-rigging.html">Animaciones de personajes y rigging automático gratuitos</a> — Mixamo y sus alternativas</li>
<li><a href="/es/guides/ai-3d-model-generators.html">Los mejores generadores de modelos 3D con IA</a> — genera modelos en vez de buscarlos</li>
<li><a href="/es/guides/vibe-coding-game-prompts.html">100 ideas de prompts para crear juegos con IA en un clic</a> — toma una idea y conviértela en un juego en aproximadamente un minuto</li>
<li><a href="/es/guides/game-asset-licenses.html">Licencias de recursos para juegos explicadas</a> — comprende CC0, CC-BY, las licencias libres de regalías y otras licencias</li>
<li><a href="/es/guides/game-dev-courses.html">Cursos de desarrollo de juegos en línea</a> — cursos de modelado 3D en Blender y arte para videojuegos</li>
<li><a href="/es/tutorials/pixel-art-rendering.html">Renderizado de pixel art</a> — renderiza hojas de sprites y pixel art en el navegador</li>
<li><a href="/es/tutorials/streaming-asset-loading.html">Carga progresiva de recursos</a> — carga y almacena progresivamente en caché los recursos del juego</li>
<li><a href="/es/guides/threejs-usdc-tech-report.html">Three.js + USDC en el navegador</a> — carga recursos 3D USD en Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/game-assets-guide.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Guía de cursos online de desarrollo de videojuegos]]></title>
            <link>https://app.cinevva.com/es/guides/game-dev-courses</link>
            <guid>https://app.cinevva.com/es/guides/game-dev-courses</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Cursos online de desarrollo de videojuegos — motores, diseño, arte y audio con análisis de credibilidad, reseñas y precios]]></description>
            <content:encoded><![CDATA[<h1 id="guia-de-cursos-online-de-desarrollo-de-videojuegos" tabindex="-1">Guía de cursos online de desarrollo de videojuegos <a class="header-anchor" href="#guia-de-cursos-online-de-desarrollo-de-videojuegos" aria-label="Permalink to &quot;Guía de cursos online de desarrollo de videojuegos&quot;"></a></h1>
<p>Cursos online para aprender desarrollo de videojuegos. Esta guía abarca cursos específicos para distintos motores, teoría del diseño de videojuegos, habilidades especializadas (arte y audio) y comparativas de plataformas, con evaluaciones de credibilidad, opiniones de estudiantes y detalles de precios.</p>
<div class="tip custom-block"><p class="custom-block-title">¿Buscas recursos gratuitos?</p>
<p>Consulta nuestra guía <a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para videojuegos</a>, que incluye modelos 3D, texturas, audio y mucho más.</p>
</div>
<h2 id="referencia-rapida" tabindex="-1">Referencia rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Objetivo</th>
<th>Mejor opción</th>
<th>Rango de precios</th>
<th>Valoración</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Principiantes en Unity</strong></td>
<td>GameDev.tv Complete Unity 3D (Udemy)</td>
<td>$12–30 (oferta)</td>
<td>⭐ 4.7/5</td>
</tr>
<tr>
<td><strong>Acreditación formal de Unity</strong></td>
<td>Especialización de Michigan State (Coursera)</td>
<td>$49/mes</td>
<td>⭐ 4.7/5</td>
</tr>
<tr>
<td><strong>C++ con Unreal Engine</strong></td>
<td>Curso de UE5 de Stephen Ulibarri (Udemy)</td>
<td>$15–30 (oferta)</td>
<td>⭐ 4.8/5</td>
</tr>
<tr>
<td><strong>Motor Godot</strong></td>
<td>Paquetes de GDQuest</td>
<td>$84–216</td>
<td>⭐ 4.8/5</td>
</tr>
<tr>
<td><strong>Teoría del diseño de videojuegos</strong></td>
<td>Harvard CS50 Game Dev (archivado, gratuito)</td>
<td>Gratis</td>
<td>⭐ 4.6/5</td>
</tr>
<tr>
<td><strong>Modelado 3D para videojuegos</strong></td>
<td>Complete Blender Creator (Udemy)</td>
<td>$15–30 (oferta)</td>
<td>⭐ 4.7/5</td>
</tr>
<tr>
<td><strong>Audio para videojuegos</strong></td>
<td>Certificado de audio para videojuegos de Berklee</td>
<td>~$4,500</td>
<td>⭐ 4.8/5</td>
</tr>
<tr>
<td><strong>Formación oficial gratuita</strong></td>
<td>Rutas de aprendizaje de Unity Learn</td>
<td>Gratis</td>
<td>⭐ 4.5/5</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="cursos-sobre-motores-de-videojuegos" tabindex="-1">Cursos sobre motores de videojuegos <a class="header-anchor" href="#cursos-sobre-motores-de-videojuegos" aria-label="Permalink to &quot;Cursos sobre motores de videojuegos&quot;"></a></h2>
<h3 id="unity" tabindex="-1">Unity <a class="header-anchor" href="#unity" aria-label="Permalink to &quot;Unity&quot;"></a></h3>
<h4 id="gamedev-tv-complete-unity-developer-3d" tabindex="-1">GameDev.tv Complete Unity Developer 3D <a class="header-anchor" href="#gamedev-tv-complete-unity-developer-3d" aria-label="Permalink to &quot;GameDev.tv Complete Unity Developer 3D&quot;"></a></h4>
<p><strong>Ideal para:</strong> Principiantes que buscan un aprendizaje práctico basado en proyectos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Udemy</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>$139 de precio oficial / <strong>$12–30 en oferta</strong></td>
</tr>
<tr>
<td><strong>Duración</strong></td>
<td>~27 horas de vídeo + proyectos</td>
</tr>
<tr>
<td><strong>Valoración</strong></td>
<td>⭐ 4.7/5 (más de 460,000 estudiantes)</td>
</tr>
<tr>
<td><strong>Última actualización</strong></td>
<td>Unity 6 (2025)</td>
</tr>
</tbody>
</table>
<p><strong>Lo que crearás:</strong></p>
<ul>
<li>5 videojuegos completos desde cero</li>
<li>Fundamentos de programación en C#</li>
<li>Física 3D, IA y mecánicas de juego</li>
</ul>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>✅ Excelente para principiantes absolutos</li>
<li>✅ Aprendizaje basado en proyectos (creas videojuegos reales)</li>
<li>✅ Gran comunidad para resolver dudas</li>
<li>✅ Actualizaciones periódicas para las nuevas versiones de Unity</li>
<li>✅ Acceso de por vida tras la compra</li>
</ul>
<p><strong>Puntos débiles:</strong></p>
<ul>
<li>⚠️ Algunas secciones pueden parecer lentas</li>
<li>⚠️ El precio completo es excesivo (cómpralo siempre en oferta)</li>
<li>⚠️ Menor profundidad en temas avanzados como la optimización</li>
</ul>
<p><strong>Opiniones de estudiantes:</strong></p>
<blockquote>
<p>«Un curso excelente para principiantes. Pasé de no saber nada a tener un portafolio de videojuegos». — Reddit r/unity</p>
</blockquote>
<blockquote>
<p>«El instructor explica los conceptos con claridad. El enfoque basado en proyectos mantiene la motivación». — Reseña de Udemy</p>
</blockquote>
<p><strong>Credibilidad:</strong> GameDev.tv es uno de los proveedores de formación en desarrollo de videojuegos más consolidados. Fundado por Ben Tristem y Rick Davidson, ha formado a más de 2 millones de estudiantes. Es transparente a la hora de retirar cursos desactualizados y mantiene foros comunitarios activos.</p>
<hr>
<h4 id="especializacion-en-diseno-y-desarrollo-de-videojuegos-con-unity-de-michigan-state" tabindex="-1">Especialización en diseño y desarrollo de videojuegos con Unity de Michigan State <a class="header-anchor" href="#especializacion-en-diseno-y-desarrollo-de-videojuegos-con-unity-de-michigan-state" aria-label="Permalink to &quot;Especialización en diseño y desarrollo de videojuegos con Unity de Michigan State&quot;"></a></h4>
<p><strong>Ideal para:</strong> Quienes buscan acreditación universitaria y un aprendizaje estructurado</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Coursera</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>Acceso gratuito como oyente / <strong>$49/mes para obtener el certificado</strong></td>
</tr>
<tr>
<td><strong>Duración</strong></td>
<td>~2 meses (10 h/semana)</td>
</tr>
<tr>
<td><strong>Valoración</strong></td>
<td>⭐ 4.7/5</td>
</tr>
<tr>
<td><strong>Institución</strong></td>
<td>Michigan State University</td>
</tr>
</tbody>
</table>
<p><strong>Plan de estudios (cinco cursos creados en Unity):</strong></p>
<ul>
<li>Diseño y desarrollo de videojuegos 1: shooter 2D</li>
<li>Diseño y desarrollo de videojuegos 2: plataformas 2D</li>
<li>Diseño y desarrollo de videojuegos 3: shooter 3D</li>
<li>Diseño y desarrollo de videojuegos 4: plataformas 3D</li>
<li>Proyecto final</li>
</ul>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>✅ Acreditación respaldada por una universidad</li>
<li>✅ Enfoque práctico: creas cinco proyectos completos de videojuegos con Unity</li>
<li>✅ Se puede cursar gratis como oyente (sin certificado)</li>
<li>✅ Enfoque académico riguroso</li>
<li>✅ Incluye un módulo de negocios y emprendimiento</li>
</ul>
<p><strong>Puntos débiles:</strong></p>
<ul>
<li>⚠️ Ritmo más lento que los cursos de Udemy</li>
<li>⚠️ Menos programación práctica que otras opciones</li>
<li>⚠️ El certificado requiere una suscripción de pago</li>
</ul>
<p><strong>Ideal para:</strong> Personas que quieren cambiar de profesión y necesitan acreditación formal, o quienes prefieren un aprendizaje académico estructurado.</p>
<hr>
<h4 id="rutas-de-aprendizaje-de-unity-learn" tabindex="-1">Rutas de aprendizaje de Unity Learn <a class="header-anchor" href="#rutas-de-aprendizaje-de-unity-learn" aria-label="Permalink to &quot;Rutas de aprendizaje de Unity Learn&quot;"></a></h4>
<p><strong>Ideal para:</strong> Personas con un presupuesto limitado que buscan formación oficial de Unity</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Unity Learn (learn.unity.com)</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td><strong>Gratis</strong></td>
</tr>
<tr>
<td><strong>Rutas</strong></td>
<td>Programador júnior, Creative Core, desarrollo de RV</td>
</tr>
<tr>
<td><strong>Formato</strong></td>
<td>Tutoriales a tu ritmo + proyectos</td>
</tr>
</tbody>
</table>
<p><strong>Rutas disponibles:</strong></p>
<ul>
<li><strong>Junior Programmer</strong> — Desde principiante absoluto hasta estar preparado para trabajar</li>
<li><strong>Creative Core</strong> — Enfoque en arte y diseño</li>
<li><strong>Unity Essentials</strong> — Resumen rápido de los fundamentos</li>
<li><strong>VR Development</strong> — Especialización en realidad virtual</li>
</ul>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>✅ Completamente gratis</li>
<li>✅ Contenido oficial de Unity (siempre actualizado)</li>
<li>✅ Basado en proyectos que puedes añadir a tu portafolio</li>
<li>✅ Seguimiento del progreso integrado</li>
<li>✅ Certificaciones de Unity disponibles</li>
</ul>
<p><strong>Puntos débiles:</strong></p>
<ul>
<li>⚠️ Menos atractivo que los cursos en vídeo</li>
<li>⚠️ Requiere más autodisciplina</li>
<li>⚠️ El soporte de la comunidad es menos activo que en los cursos de pago</li>
</ul>
<hr>
<h3 id="unreal-engine" tabindex="-1">Unreal Engine <a class="header-anchor" href="#unreal-engine" aria-label="Permalink to &quot;Unreal Engine&quot;"></a></h3>
<h4 id="curso-de-desarrollo-en-ue5-con-c-de-stephen-ulibarri" tabindex="-1">Curso de desarrollo en UE5 con C++ de Stephen Ulibarri <a class="header-anchor" href="#curso-de-desarrollo-en-ue5-con-c-de-stephen-ulibarri" aria-label="Permalink to &quot;Curso de desarrollo en UE5 con C++ de Stephen Ulibarri&quot;"></a></h4>
<p><strong>Ideal para:</strong> Desarrolladores que quieren dominar C++ en profundidad</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Udemy</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>$175 de precio oficial / <strong>$15–30 en oferta</strong></td>
</tr>
<tr>
<td><strong>Duración</strong></td>
<td>~50 horas o más</td>
</tr>
<tr>
<td><strong>Valoración</strong></td>
<td>⭐ 4.8/5</td>
</tr>
<tr>
<td><strong>Proyecto</strong></td>
<td>RPG de acción completo</td>
</tr>
</tbody>
</table>
<p><strong>Lo que aprenderás:</strong></p>
<ul>
<li>Unreal Engine 5 desde cero</li>
<li>Programación de videojuegos en C++</li>
<li>Programación visual con Blueprints</li>
<li>Sistemas de jugabilidad avanzados (combate, IA e inventario)</li>
</ul>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>✅ Cobertura exhaustiva de C++ (poco habitual en cursos de desarrollo de videojuegos)</li>
<li>✅ Permite crear un proyecto importante para el portafolio</li>
<li>✅ Buen ritmo para estudiantes de nivel intermedio</li>
<li>✅ Abarca tanto Blueprints COMO C++</li>
</ul>
<p><strong>Puntos débiles:</strong></p>
<ul>
<li>⚠️ Presupone ciertos conocimientos de programación</li>
<li>⚠️ Curso muy largo (requiere compromiso)</li>
<li>⚠️ Las versiones de UE cambian con frecuencia</li>
</ul>
<p><strong>Opiniones de estudiantes:</strong></p>
<blockquote>
<p>«El mejor curso de Unreal que he encontrado. Stephen explica el “porqué”, no solo el “qué”». — Udemy</p>
</blockquote>
<blockquote>
<p>«Por fin entiendo C++ en Unreal después de tener dificultades con otros recursos». — Reddit r/unrealengine</p>
</blockquote>
<hr>
<h4 id="especializacion-de-coursera-en-unreal-engine-para-principiantes" tabindex="-1">Especialización de Coursera en Unreal Engine para principiantes <a class="header-anchor" href="#especializacion-de-coursera-en-unreal-engine-para-principiantes" aria-label="Permalink to &quot;Especialización de Coursera en Unreal Engine para principiantes&quot;"></a></h4>
<p><strong>Ideal para:</strong> Principiantes absolutos que buscan una introducción estructurada</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Coursera</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>$199 (oferta) / $399 habitual</td>
</tr>
<tr>
<td><strong>Duración</strong></td>
<td>3 cursos de unas 4 semanas cada uno</td>
</tr>
<tr>
<td><strong>Certificado</strong></td>
<td>Sí</td>
</tr>
</tbody>
</table>
<p><strong>Secuencia de cursos:</strong></p>
<ol>
<li>Creación de mundos en Unreal</li>
<li>Personajes e interiores</li>
<li>Cámaras y producción</li>
</ol>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>✅ Apto para principiantes (al principio no requiere programación)</li>
<li>✅ Se centra en los aspectos visuales y creativos</li>
<li>✅ Adecuado para artistas que se adentran en el desarrollo de videojuegos</li>
<li>✅ Certificado de estilo universitario</li>
</ul>
<p><strong>Puntos débiles:</strong></p>
<ul>
<li>⚠️ Menor profundidad en programación</li>
<li>⚠️ Más caro que las alternativas de Udemy</li>
<li>⚠️ Más apropiado para artistas de entornos que para programadores</li>
</ul>
<hr>
<h4 id="linkedin-learning-formacion-esencial-de-unreal-engine-5" tabindex="-1">LinkedIn Learning: formación esencial de Unreal Engine 5 <a class="header-anchor" href="#linkedin-learning-formacion-esencial-de-unreal-engine-5" aria-label="Permalink to &quot;LinkedIn Learning: formación esencial de Unreal Engine 5&quot;"></a></h4>
<p><strong>Ideal para:</strong> Repasos rápidos de habilidades</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>LinkedIn Learning</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>Suscripción (~$30/mes) / Prueba gratuita disponible</td>
</tr>
<tr>
<td><strong>Duración</strong></td>
<td>~3 horas</td>
</tr>
<tr>
<td><strong>Valoración</strong></td>
<td>⭐ 4.8/5</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>✅ Alta calidad de producción</li>
<li>✅ Excelente para obtener una visión general rápida</li>
<li>✅ Cubre las funciones de UE5.6</li>
<li>✅ El certificado se añade al perfil de LinkedIn</li>
</ul>
<p><strong>Puntos débiles:</strong></p>
<ul>
<li>⚠️ Demasiado corto para un aprendizaje profundo</li>
<li>⚠️ Modelo de suscripción (sin acceso de por vida)</li>
<li>⚠️ Funciona mejor como complemento que como formación principal</li>
</ul>
<hr>
<h3 id="motor-godot" tabindex="-1">Motor Godot <a class="header-anchor" href="#motor-godot" aria-label="Permalink to &quot;Motor Godot&quot;"></a></h3>
<h4 id="programas-de-estudio-de-gdquest" tabindex="-1">Programas de estudio de GDQuest <a class="header-anchor" href="#programas-de-estudio-de-gdquest" aria-label="Permalink to &quot;Programas de estudio de GDQuest&quot;"></a></h4>
<p><strong>Ideal para:</strong> Quienes desean aprender Godot en serio con una formación estructurada</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>school.gdquest.com</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>$84–216 (paquetes)</td>
</tr>
<tr>
<td><strong>Formato</strong></td>
<td>Cursos interactivos + comunidad</td>
</tr>
<tr>
<td><strong>Valoración</strong></td>
<td>⭐ 4.8/5</td>
</tr>
</tbody>
</table>
<p><strong>Paquetes disponibles:</strong></p>
<ul>
<li><strong>Starter Kit</strong> (~$84) — Fundamentos de 2D y 3D</li>
<li><strong>From Zero to Pro</strong> (~$216) — Ruta de aprendizaje completa</li>
</ul>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>✅ Los cursos específicos de Godot de mayor calidad</li>
<li>✅ Ejercicios interactivos (no solo vídeos)</li>
<li>✅ Actualizados para Godot 4.x</li>
<li>✅ Comunidad activa en Discord</li>
<li>✅ Creados por colaboradores reconocidos de Godot</li>
</ul>
<p><strong>Puntos débiles:</strong></p>
<ul>
<li>⚠️ Más caros que las alternativas de Udemy</li>
<li>⚠️ Comunidad más pequeña que la de los cursos de Unity o Unreal</li>
</ul>
<p><strong>Credibilidad:</strong> El equipo de GDQuest está formado por colaboradores y educadores reconocidos de Godot. Ha creado documentación oficial de Godot y goza de gran respeto en la comunidad.</p>
<hr>
<h4 id="curso-completo-de-godot-4-para-principiantes-udemy" tabindex="-1">Curso completo de Godot 4 para principiantes (Udemy) <a class="header-anchor" href="#curso-completo-de-godot-4-para-principiantes-udemy" aria-label="Permalink to &quot;Curso completo de Godot 4 para principiantes (Udemy)&quot;"></a></h4>
<p><strong>Ideal para:</strong> Principiantes con un presupuesto limitado</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Udemy</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>$80–100 de precio oficial / <strong>$15–25 en oferta</strong></td>
</tr>
<tr>
<td><strong>Duración</strong></td>
<td>~20 horas</td>
</tr>
<tr>
<td><strong>Proyectos</strong></td>
<td>Shooter espacial, juego de plataformas y juego de zombis con vista cenital</td>
</tr>
</tbody>
</table>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>✅ Asequible durante las ofertas</li>
<li>✅ Permite crear 3 videojuegos completos</li>
<li>✅ Centrado en GDScript (el lenguaje nativo de Godot)</li>
<li>✅ Adecuado para principiantes absolutos</li>
</ul>
<p><strong>Puntos débiles:</strong></p>
<ul>
<li>⚠️ Menos exhaustivo que GDQuest</li>
<li>⚠️ Comunidad de soporte más pequeña</li>
</ul>
<hr>
<h4 id="godot-dev-academy" tabindex="-1">Godot Dev Academy <a class="header-anchor" href="#godot-dev-academy" aria-label="Permalink to &quot;Godot Dev Academy&quot;"></a></h4>
<p><strong>Ideal para:</strong> Quienes desean seguir aprendiendo mediante una suscripción</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>godotdevacademy.com</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td><strong>$19.99/mes</strong></td>
</tr>
<tr>
<td><strong>Acceso</strong></td>
<td>Todos los cursos incluidos</td>
</tr>
</tbody>
</table>
<p><strong>Incluye:</strong></p>
<ul>
<li>Cursos de juegos de plataformas 2D</li>
<li>Desarrollo de RPG</li>
<li>Desarrollo de videojuegos para móviles</li>
<li>Cursos gratuitos para principiantes</li>
</ul>
<p><strong>Ideal para:</strong> Quienes planean realizar varios cursos a lo largo del tiempo. Ofrece una buena relación calidad-precio si te comprometes a aprender Godot a largo plazo.</p>
<hr>
<h2 id="teoria-del-diseno-de-videojuegos" tabindex="-1">Teoría del diseño de videojuegos <a class="header-anchor" href="#teoria-del-diseno-de-videojuegos" aria-label="Permalink to &quot;Teoría del diseño de videojuegos&quot;"></a></h2>
<h3 id="introduccion-al-desarrollo-de-videojuegos-de-harvard-cs50" tabindex="-1">Introducción al desarrollo de videojuegos de Harvard CS50 <a class="header-anchor" href="#introduccion-al-desarrollo-de-videojuegos-de-harvard-cs50" aria-label="Permalink to &quot;Introducción al desarrollo de videojuegos de Harvard CS50&quot;"></a></h3>
<p><strong>Ideal para:</strong> Comprender los conceptos fundamentales de la programación de videojuegos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>cs50.harvard.edu/games (archivado)</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td><strong>Gratis</strong></td>
</tr>
<tr>
<td><strong>Duración</strong></td>
<td>12 semanas</td>
</tr>
<tr>
<td><strong>Estado</strong></td>
<td>Archivado (materiales disponibles, no se aceptan nuevas entregas)</td>
</tr>
</tbody>
</table>
<p><strong>Lo que aprenderás:</strong></p>
<ul>
<li>Fundamentos de gráficos 2D y 3D</li>
<li>Animación y diseño de sonido</li>
<li>Detección de colisiones y física</li>
<li>Varios motores y tecnologías: LÖVE2D, Unity y Lua</li>
</ul>
<p><strong>Videojuegos que recrearás:</strong></p>
<ul>
<li>Pong, Flappy Bird y Breakout</li>
<li>Super Mario Bros. y Legend of Zelda</li>
<li>Angry Birds y Pokémon</li>
<li>Un juego 3D de helicópteros y Portal</li>
</ul>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>✅ Enseñanza con la calidad de Harvard</li>
<li>✅ Completamente gratis</li>
<li>✅ Teoría y fundamentos excelentes</li>
<li>✅ Experiencia con varios motores</li>
<li>✅ Todos los materiales siguen disponibles</li>
</ul>
<p><strong>Puntos débiles:</strong></p>
<ul>
<li>⚠️ Curso retirado oficialmente (junio de 2024)</li>
<li>⚠️ No se ofrecen nuevos certificados ni evaluaciones</li>
<li>⚠️ Parte de la tecnología está desactualizada (versiones antiguas de Unity)</li>
<li>⚠️ Requiere aprendizaje autónomo</li>
</ul>
<p><strong>Nota:</strong> Harvard ha lanzado un nuevo curso, Introducción al desarrollo de videojuegos 2D de CS50 (CS50 2D), que sustituye a la versión retirada. Se centra en videojuegos 2D creados con Lua y el framework LOVE 2D (Pong, Flappy Bird, Breakout, Match 3, Super Mario Bros., Legend of Zelda, Angry Birds y Pokemon). Las clases se publican en YouTube y puedes inscribirte para obtener un certificado en cs50.edx.org/2d. Las sesiones se ofrecen de forma continua, así que consulta la página del curso para conocer las fechas actuales.</p>
<p><strong>Opiniones de estudiantes:</strong></p>
<blockquote>
<p>«Una de las mejores introducciones a la programación de videojuegos que he visto. Cubre fundamentos que pueden aplicarse a cualquier motor». — Reddit r/cs50</p>
</blockquote>
<blockquote>
<p>«Incluso sin el certificado, los conocimientos adquiridos valen la pena». — Reseña del curso</p>
</blockquote>
<hr>
<h3 id="master-online-en-diseno-de-videojuegos-de-west-virginia-university" tabindex="-1">Máster online en diseño de videojuegos de West Virginia University <a class="header-anchor" href="#master-online-en-diseno-de-videojuegos-de-west-virginia-university" aria-label="Permalink to &quot;Máster online en diseño de videojuegos de West Virginia University&quot;"></a></h3>
<p><strong>Ideal para:</strong> Formación universitaria de posgrado</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>WVU Online</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>~$22,650 en total</td>
</tr>
<tr>
<td><strong>Duración</strong></td>
<td>2 años (flexible)</td>
</tr>
<tr>
<td><strong>Formato</strong></td>
<td>Totalmente online y asíncrono</td>
</tr>
<tr>
<td><strong>Titulación</strong></td>
<td>Máster</td>
</tr>
</tbody>
</table>
<p><strong>Aspectos destacados del plan de estudios:</strong></p>
<ul>
<li>Teoría de los videojuegos (análisis cultural y estético)</li>
<li>Narrativa de videojuegos</li>
<li>Diseño de la experiencia del jugador</li>
<li>Prototipo de videojuego como proyecto final</li>
</ul>
<p><strong>Ideal para:</strong> Quienes buscan credenciales académicas para puestos de docencia, investigación o liderazgo en el desarrollo de videojuegos.</p>
<hr>
<h2 id="habilidades-especializadas" tabindex="-1">Habilidades especializadas <a class="header-anchor" href="#habilidades-especializadas" aria-label="Permalink to &quot;Habilidades especializadas&quot;"></a></h2>
<h3 id="modelado-3d-para-videojuegos" tabindex="-1">Modelado 3D para videojuegos <a class="header-anchor" href="#modelado-3d-para-videojuegos" aria-label="Permalink to &quot;Modelado 3D para videojuegos&quot;"></a></h3>
<h4 id="complete-blender-creator-gamedev-tv" tabindex="-1">Complete Blender Creator (GameDev.tv) <a class="header-anchor" href="#complete-blender-creator-gamedev-tv" aria-label="Permalink to &quot;Complete Blender Creator (GameDev.tv)&quot;"></a></h4>
<p><strong>Ideal para:</strong> Principiantes que quieren aprender Blender para crear recursos de videojuegos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Udemy</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>$140 de precio oficial / <strong>$15–30 en oferta</strong></td>
</tr>
<tr>
<td><strong>Duración</strong></td>
<td>~30 horas</td>
</tr>
<tr>
<td><strong>Valoración</strong></td>
<td>⭐ 4.7/5 (más de 200,000 estudiantes)</td>
</tr>
<tr>
<td><strong>Actualización</strong></td>
<td>Blender 4.4 (2025)</td>
</tr>
</tbody>
</table>
<p><strong>Lo que aprenderás:</strong></p>
<ul>
<li>Fundamentos de Blender</li>
<li>Técnicas de modelado 3D</li>
<li>Desplegado UV y texturizado</li>
<li>Animación básica</li>
<li>Exportación a motores de videojuegos</li>
</ul>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>✅ Enorme comunidad de estudiantes</li>
<li>✅ Enfoque basado en proyectos</li>
<li>✅ Actualizaciones periódicas para las nuevas versiones de Blender</li>
<li>✅ Excelente para principiantes absolutos</li>
</ul>
<p><strong>Puntos débiles:</strong></p>
<ul>
<li>⚠️ Muy general (no se centra en un flujo de trabajo específico para videojuegos)</li>
<li>⚠️ Curso largo que requiere compromiso</li>
</ul>
<hr>
<h4 id="modelado-3d-para-videojuegos-con-blender-—-flujo-de-trabajo-completo-udemy" tabindex="-1">Modelado 3D para videojuegos con Blender — Flujo de trabajo completo (Udemy) <a class="header-anchor" href="#modelado-3d-para-videojuegos-con-blender-—-flujo-de-trabajo-completo-udemy" aria-label="Permalink to &quot;Modelado 3D para videojuegos con Blender — Flujo de trabajo completo (Udemy)&quot;"></a></h4>
<p><strong>Ideal para:</strong> Flujos de creación de recursos específicos para videojuegos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Udemy</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>$15–40 en oferta</td>
</tr>
<tr>
<td><strong>Enfoque</strong></td>
<td>Flujo de trabajo para recursos listos para videojuegos</td>
</tr>
</tbody>
</table>
<p><strong>Lo que aprenderás:</strong></p>
<ul>
<li>Del bloqueo inicial al recurso final</li>
<li>Topología optimizada para videojuegos</li>
<li>Texturizado y materiales</li>
<li>Flujo de exportación al motor</li>
</ul>
<p><strong>Ideal para:</strong> Quienes quieren dedicarse específicamente a la creación de recursos para videojuegos, en lugar de aprender Blender de forma general.</p>
<hr>
<h3 id="audio-y-diseno-de-sonido-para-videojuegos" tabindex="-1">Audio y diseño de sonido para videojuegos <a class="header-anchor" href="#audio-y-diseno-de-sonido-para-videojuegos" aria-label="Permalink to &quot;Audio y diseño de sonido para videojuegos&quot;"></a></h3>
<h4 id="berklee-online-certificado-de-diseno-de-audio-para-videojuegos" tabindex="-1">Berklee Online: certificado de diseño de audio para videojuegos <a class="header-anchor" href="#berklee-online-certificado-de-diseno-de-audio-para-videojuegos" aria-label="Permalink to &quot;Berklee Online: certificado de diseño de audio para videojuegos&quot;"></a></h4>
<p><strong>Ideal para:</strong> Formación profesional en audio para videojuegos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Berklee Online</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>$4,725 en total (o $4,253 con pago completo) / $1,575 por curso, más $175 de matrícula</td>
</tr>
<tr>
<td><strong>Duración</strong></td>
<td>3 cursos de 12 semanas cada uno</td>
</tr>
<tr>
<td><strong>Fecha de inicio</strong></td>
<td>Inscripción por periodos académicos (las sesiones se ofrecen de forma continua; consulta la página del curso para conocer las fechas actuales)</td>
</tr>
</tbody>
</table>
<p><strong>Plan de estudios:</strong></p>
<ul>
<li>Game Audio 101 — Fundamentos</li>
<li>Producción de sonido y diálogos</li>
<li>Integración de audio y composición interactiva con Wwise</li>
<li>Creación de una demo profesional</li>
</ul>
<p>El certificado de Berklee se estructura ahora en tres cursos: Principios del diseño de videojuegos, Game Audio 101 y Producción de audio para videojuegos con Wwise (9 créditos en total).</p>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>✅ Acreditación reconocida por el sector</li>
<li>✅ Aprendizaje de herramientas estándar del sector (Wwise y FMOD)</li>
<li>✅ Prestigio de Berklee en la enseñanza musical</li>
<li>✅ Enfoque en la creación de un portafolio</li>
</ul>
<p><strong>Puntos débiles:</strong></p>
<ul>
<li>⚠️ Caro</li>
<li>⚠️ Requiere mucho tiempo (compromiso profesional)</li>
</ul>
<p><strong>Ideal para:</strong> Quienes desean desarrollar una carrera en el audio para videojuegos.</p>
<hr>
<h4 id="fundamentos-del-audio-para-videojuegos-udemy" tabindex="-1">Fundamentos del audio para videojuegos (Udemy) <a class="header-anchor" href="#fundamentos-del-audio-para-videojuegos-udemy" aria-label="Permalink to &quot;Fundamentos del audio para videojuegos (Udemy)&quot;"></a></h4>
<p><strong>Ideal para:</strong> Introducción asequible al audio para videojuegos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Udemy</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>$50–100 de precio oficial / <strong>$15–25 en oferta</strong></td>
</tr>
<tr>
<td><strong>Duración</strong></td>
<td>~10 horas</td>
</tr>
<tr>
<td><strong>Actualización</strong></td>
<td>Julio de 2025</td>
</tr>
<tr>
<td><strong>Lo que aprenderás:</strong></td>
<td></td>
</tr>
</tbody>
</table>
<ul>
<li>Creación de efectos de sala y efectos de sonido</li>
<li>Integración de audio en Unity/Unreal/Godot</li>
<li>Audio en bucle y espacial</li>
<li>Técnicas prácticas de diseño de sonido</li>
</ul>
<p><strong>Puntos fuertes:</strong></p>
<ul>
<li>✅ Asequible</li>
<li>✅ Habilidades prácticas</li>
<li>✅ Abarca varios motores de juego</li>
<li>✅ Adecuado para desarrolladores independientes</li>
</ul>
<hr>
<h4 id="domestika-diseno-de-bandas-sonoras-para-videojuegos" tabindex="-1">Domestika: Diseño de bandas sonoras para videojuegos <a class="header-anchor" href="#domestika-diseno-de-bandas-sonoras-para-videojuegos" aria-label="Permalink to &quot;Domestika: Diseño de bandas sonoras para videojuegos&quot;"></a></h4>
<p><strong>Ideal para:</strong> Compositores que quieren iniciarse en la música para videojuegos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Domestika</td>
</tr>
<tr>
<td><strong>Precio</strong></td>
<td>$10–60 (varía según las ofertas)</td>
</tr>
<tr>
<td><strong>Duración</strong></td>
<td>~3 horas</td>
</tr>
<tr>
<td><strong>Enfoque</strong></td>
<td>Composición musical para videojuegos</td>
</tr>
</tbody>
</table>
<p><strong>Ideal para:</strong> Músicos que quieren dedicarse a la composición de bandas sonoras para videojuegos.</p>
<hr>
<h2 id="enlaces-a-las-plataformas" tabindex="-1">Enlaces a las plataformas <a class="header-anchor" href="#enlaces-a-las-plataformas" aria-label="Permalink to &quot;Enlaces a las plataformas&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma</th>
<th>URL</th>
<th>Ideal para</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Udemy</strong></td>
<td><a href="https://www.udemy.com/" target="_blank" rel="noreferrer">udemy.com</a></td>
<td>Cursos asequibles en oferta y una amplia selección</td>
</tr>
<tr>
<td><strong>Coursera</strong></td>
<td><a href="https://www.coursera.org/" target="_blank" rel="noreferrer">coursera.org</a></td>
<td>Cursos universitarios y credenciales oficiales</td>
</tr>
<tr>
<td><strong>Unity Learn</strong></td>
<td><a href="https://learn.unity.com/" target="_blank" rel="noreferrer">learn.unity.com</a></td>
<td>Formación oficial gratuita de Unity</td>
</tr>
<tr>
<td><strong>GDQuest</strong></td>
<td><a href="https://school.gdquest.com/" target="_blank" rel="noreferrer">school.gdquest.com</a></td>
<td>Cursos centrados en Godot impartidos por colaboradores principales</td>
</tr>
<tr>
<td><strong>Pluralsight</strong></td>
<td><a href="https://www.pluralsight.com/" target="_blank" rel="noreferrer">pluralsight.com</a></td>
<td>Profundidad técnica y evaluaciones de habilidades</td>
</tr>
<tr>
<td><strong>Skillshare</strong></td>
<td><a href="https://www.skillshare.com/" target="_blank" rel="noreferrer">skillshare.com</a></td>
<td>Enfoque creativo y de diseño, suscripción asequible</td>
</tr>
<tr>
<td><strong>Berklee Online</strong></td>
<td><a href="https://online.berklee.edu/" target="_blank" rel="noreferrer">online.berklee.edu</a></td>
<td>Certificación profesional en audio para videojuegos</td>
</tr>
<tr>
<td><strong>edX / Harvard CS50</strong></td>
<td><a href="https://cs50.harvard.edu/games/" target="_blank" rel="noreferrer">cs50.harvard.edu/games</a></td>
<td>Fundamentos gratuitos de desarrollo de videojuegos</td>
</tr>
<tr>
<td><strong>Domestika</strong></td>
<td><a href="https://www.domestika.org/" target="_blank" rel="noreferrer">domestika.org</a></td>
<td>Cursos creativos asequibles</td>
</tr>
<tr>
<td><strong>LinkedIn Learning</strong></td>
<td><a href="https://www.linkedin.com/learning/" target="_blank" rel="noreferrer">linkedin.com/learning</a></td>
<td>Desarrollo profesional y Unreal Engine</td>
</tr>
<tr>
<td><strong>Blender</strong></td>
<td><a href="https://www.blender.org/" target="_blank" rel="noreferrer">blender.org</a></td>
<td>Software gratuito de modelado 3D</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="comparativa-de-plataformas" tabindex="-1">Comparativa de plataformas <a class="header-anchor" href="#comparativa-de-plataformas" aria-label="Permalink to &quot;Comparativa de plataformas&quot;"></a></h2>
<h3 id="udemy" tabindex="-1"><a href="https://www.udemy.com/" target="_blank" rel="noreferrer">Udemy</a> <a class="header-anchor" href="#udemy" aria-label="Permalink to &quot;[Udemy](https://www.udemy.com/)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Ventajas</th>
<th>Desventajas</th>
</tr>
</thead>
<tbody>
<tr>
<td>✅ Enorme selección de cursos</td>
<td>⚠️ La calidad varía mucho</td>
</tr>
<tr>
<td>✅ Acceso de por vida</td>
<td>⚠️ Los precios de lista están inflados</td>
</tr>
<tr>
<td>✅ Ofertas frecuentes ($10–30)</td>
<td>⚠️ Algunos cursos quedan desactualizados</td>
</tr>
<tr>
<td>✅ Política de reembolso de 30 días</td>
<td>⚠️ Sin credenciales oficiales</td>
</tr>
<tr>
<td>✅ Grandes comunidades de preguntas y respuestas</td>
<td>⚠️ Sin clases en directo</td>
</tr>
</tbody>
</table>
<p><strong>Consejo de compra:</strong> NUNCA pagues el precio completo en Udemy. Cada pocas semanas hay ofertas con descuentos del 80–90 %.</p>
<hr>
<h3 id="coursera" tabindex="-1">Coursera <a class="header-anchor" href="#coursera" aria-label="Permalink to &quot;Coursera&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Ventajas</th>
<th>Desventajas</th>
</tr>
</thead>
<tbody>
<tr>
<td>✅ Colaboraciones con universidades</td>
<td>⚠️ Modelo de suscripción para obtener certificados</td>
</tr>
<tr>
<td>✅ Credenciales oficiales</td>
<td>⚠️ Ritmo más lento</td>
</tr>
<tr>
<td>✅ Opción gratuita sin certificado</td>
<td>⚠️ Menos práctico que Udemy</td>
</tr>
<tr>
<td>✅ Itinerarios de aprendizaje estructurados</td>
<td>⚠️ Puede ser más caro</td>
</tr>
<tr>
<td>✅ Rigor académico</td>
<td></td>
</tr>
</tbody>
</table>
<p><strong>Ideal para:</strong> Quienes necesitan credenciales para encontrar empleo o prefieren un aprendizaje académico estructurado.</p>
<hr>
<h3 id="pluralsight" tabindex="-1">Pluralsight <a class="header-anchor" href="#pluralsight" aria-label="Permalink to &quot;Pluralsight&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Ventajas</th>
<th>Desventajas</th>
</tr>
</thead>
<tbody>
<tr>
<td>✅ Profundidad técnica</td>
<td>⚠️ Solo mediante suscripción (~$29/mes)</td>
</tr>
<tr>
<td>✅ Itinerarios de aprendizaje con evaluaciones</td>
<td>⚠️ Parte del contenido está desactualizado</td>
</tr>
<tr>
<td>✅ Colaboración con Unity</td>
<td>⚠️ Menos adecuado para principiantes</td>
</tr>
<tr>
<td>✅ Evaluaciones de habilidades</td>
<td>⚠️ Menor interacción con la comunidad</td>
</tr>
</tbody>
</table>
<p><strong>Ideal para:</strong> Desarrolladores de nivel intermedio que buscan profundidad técnica e itinerarios de aprendizaje orientados a su carrera profesional.</p>
<hr>
<h3 id="skillshare" tabindex="-1">Skillshare <a class="header-anchor" href="#skillshare" aria-label="Permalink to &quot;Skillshare&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Ventajas</th>
<th>Desventajas</th>
</tr>
</thead>
<tbody>
<tr>
<td>✅ Asequible (~$168/año)</td>
<td>⚠️ Calidad variable de los cursos</td>
</tr>
<tr>
<td>✅ Enfoque creativo y de diseño</td>
<td>⚠️ Menor profundidad técnica</td>
</tr>
<tr>
<td>✅ Adecuado para principiantes</td>
<td>⚠️ Sin credenciales oficiales</td>
</tr>
<tr>
<td>✅ Cursos breves y fáciles de asimilar</td>
<td>⚠️ Se han denunciado problemas con la suscripción</td>
</tr>
</tbody>
</table>
<p><strong>Ideal para:</strong> Aficionados y estudiantes con intereses creativos que exploran varios temas.</p>
<hr>
<h3 id="unity-learn" tabindex="-1">Unity Learn <a class="header-anchor" href="#unity-learn" aria-label="Permalink to &quot;Unity Learn&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Ventajas</th>
<th>Desventajas</th>
</tr>
</thead>
<tbody>
<tr>
<td>✅ Completamente gratuito</td>
<td>⚠️ Formato menos atractivo</td>
</tr>
<tr>
<td>✅ Oficial y actualizado</td>
<td>⚠️ Requiere autodisciplina</td>
</tr>
<tr>
<td>✅ Itinerario de certificación de Unity</td>
<td>⚠️ Soporte comunitario limitado</td>
</tr>
<tr>
<td>✅ Basado en proyectos</td>
<td></td>
</tr>
</tbody>
</table>
<p><strong>Ideal para:</strong> Personas autodidactas con un presupuesto limitado que buscan formación oficial sobre Unity.</p>
<hr>
<h2 id="guia-sobre-la-credibilidad-de-los-instructores" tabindex="-1">Guía sobre la credibilidad de los instructores <a class="header-anchor" href="#guia-sobre-la-credibilidad-de-los-instructores" aria-label="Permalink to &quot;Guía sobre la credibilidad de los instructores&quot;"></a></h2>
<h3 id="instructores-con-gran-prestigio" tabindex="-1">Instructores con gran prestigio <a class="header-anchor" href="#instructores-con-gran-prestigio" aria-label="Permalink to &quot;Instructores con gran prestigio&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Instructor</th>
<th>Plataforma</th>
<th>Especialidad</th>
<th>Por qué es de confianza</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Ben Tristem / GameDev.tv</strong></td>
<td>Udemy</td>
<td>Unity, Unreal, Blender</td>
<td>Más de 1 millón de estudiantes y transparencia sobre las actualizaciones de los cursos</td>
</tr>
<tr>
<td><strong>Stephen Ulibarri</strong></td>
<td>Udemy</td>
<td>Unreal C++</td>
<td>Profundos conocimientos técnicos y explicaciones excelentes</td>
</tr>
<tr>
<td><strong>Equipo de GDQuest</strong></td>
<td>GDQuest</td>
<td>Godot</td>
<td>Colaboradores oficiales de Godot</td>
</tr>
<tr>
<td><strong>Profesorado de Michigan State</strong></td>
<td>Coursera</td>
<td>Diseño de videojuegos</td>
<td>Credenciales académicas y experiencia en investigación</td>
</tr>
<tr>
<td><strong>Profesorado de Berklee</strong></td>
<td>Berklee Online</td>
<td>Audio para videojuegos</td>
<td>Profesionales del sector y el prestigio de Berklee</td>
</tr>
</tbody>
</table>
<h3 id="senales-de-alerta" tabindex="-1">Señales de alerta <a class="header-anchor" href="#senales-de-alerta" aria-label="Permalink to &quot;Señales de alerta&quot;"></a></h3>
<ul>
<li>❌ Cursos sin actualizar desde hace más de 2 años</li>
<li>❌ Puntuaciones bajas con quejas concretas sobre contenido desactualizado</li>
<li>❌ Instructores sin un portafolio o credenciales visibles</li>
<li>❌ Marketing agresivo sin contenido sustancial</li>
<li>❌ Cursos que prometen un «dominio completo» en plazos poco realistas</li>
</ul>
<hr>
<h2 id="itinerarios-de-aprendizaje-recomendados" tabindex="-1">Itinerarios de aprendizaje recomendados <a class="header-anchor" href="#itinerarios-de-aprendizaje-recomendados" aria-label="Permalink to &quot;Itinerarios de aprendizaje recomendados&quot;"></a></h2>
<h3 id="principiante-absoluto-→-listo-para-trabajar-unity" tabindex="-1">Principiante absoluto → Listo para trabajar (Unity) <a class="header-anchor" href="#principiante-absoluto-→-listo-para-trabajar-unity" aria-label="Permalink to &quot;Principiante absoluto → Listo para trabajar (Unity)&quot;"></a></h3>
<ol>
<li><strong>Inicio:</strong> Itinerario Junior Programmer de Unity Learn (gratis)</li>
<li><strong>Desarrollo de habilidades:</strong> GameDev.tv Complete Unity 3D ($20)</li>
<li><strong>Especialización:</strong> Elige un área de enfoque (2D, 3D o móvil)</li>
<li><strong>Portafolio:</strong> Crea entre 3 y 5 juegos completos</li>
<li><strong>Credencial (opcional):</strong> Certificación de Unity o especialización de Coursera</li>
</ol>
<p><strong>Coste estimado:</strong> $20–150<br>
<strong>Plazo:</strong> 6–12 meses (a tiempo parcial)</p>
<hr>
<h3 id="artista-→-desarrollador-de-videojuegos" tabindex="-1">Artista → Desarrollador de videojuegos <a class="header-anchor" href="#artista-→-desarrollador-de-videojuegos" aria-label="Permalink to &quot;Artista → Desarrollador de videojuegos&quot;"></a></h3>
<ol>
<li><strong>Inicio:</strong> Complete Blender Creator (Udemy) — $20</li>
<li><strong>Flujo de producción para juegos:</strong> Curso sobre el flujo de trabajo de Blender para videojuegos — $20</li>
<li><strong>Fundamentos del motor:</strong> Curso para principiantes de Unity/Unreal — $20</li>
<li><strong>Integración:</strong> Aprende a importar y utilizar recursos dentro del motor</li>
</ol>
<p><strong>Coste estimado:</strong> $60–100<br>
<strong>Plazo:</strong> 4–8 meses</p>
<hr>
<h3 id="programador-→-desarrollador-de-videojuegos" tabindex="-1">Programador → Desarrollador de videojuegos <a class="header-anchor" href="#programador-→-desarrollador-de-videojuegos" aria-label="Permalink to &quot;Programador → Desarrollador de videojuegos&quot;"></a></h3>
<ol>
<li><strong>Inicio:</strong> Elige un motor (Unity C# o Unreal C++)</li>
<li><strong>Base:</strong> Curso de nivel intermedio sobre el motor</li>
<li><strong>Profundización:</strong> Sistemas avanzados de jugabilidad</li>
<li><strong>Portafolio:</strong> Crea un proyecto de juego de envergadura</li>
</ol>
<p><strong>Coste estimado:</strong> $40–100<br>
<strong>Plazo:</strong> 3–6 meses (si ya sabes programar)</p>
<hr>
<h3 id="aficionado-con-presupuesto-limitado" tabindex="-1">Aficionado con presupuesto limitado <a class="header-anchor" href="#aficionado-con-presupuesto-limitado" aria-label="Permalink to &quot;Aficionado con presupuesto limitado&quot;"></a></h3>
<ol>
<li><strong>Inicio:</strong> Unity Learn o CS50 Game Dev (gratis)</li>
<li><strong>Siguiente paso:</strong> Espera a una oferta de Udemy y compra un curso especializado ($15)</li>
<li><strong>Práctica:</strong> Crea juegos pequeños y participa en game jams</li>
<li><strong>Comunidad:</strong> Únete a servidores de Discord para recibir comentarios</li>
</ol>
<p><strong>Coste estimado:</strong> $0–30<br>
<strong>Plazo:</strong> Aprende a tu propio ritmo</p>
<hr>
<h2 id="resumen-comparativo-de-precios" tabindex="-1">Resumen comparativo de precios <a class="header-anchor" href="#resumen-comparativo-de-precios" aria-label="Permalink to &quot;Resumen comparativo de precios&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma</th>
<th>Modelo</th>
<th>Coste habitual</th>
<th>Valoración</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Unity Learn</strong></td>
<td>Gratuito</td>
<td>$0</td>
<td>⭐⭐⭐⭐⭐</td>
</tr>
<tr>
<td><strong>CS50 Games</strong></td>
<td>Gratuito (archivado)</td>
<td>$0</td>
<td>⭐⭐⭐⭐</td>
</tr>
<tr>
<td><strong>Udemy</strong></td>
<td>Pago único (ofertas)</td>
<td>$12–30</td>
<td>⭐⭐⭐⭐⭐</td>
</tr>
<tr>
<td><strong>GDQuest</strong></td>
<td>Pago único</td>
<td>$84–216</td>
<td>⭐⭐⭐⭐</td>
</tr>
<tr>
<td><strong>Skillshare</strong></td>
<td>Suscripción</td>
<td>$168/año</td>
<td>⭐⭐⭐</td>
</tr>
<tr>
<td><strong>Pluralsight</strong></td>
<td>Suscripción</td>
<td>$349/año</td>
<td>⭐⭐⭐</td>
</tr>
<tr>
<td><strong>Coursera</strong></td>
<td>Suscripción + cursos</td>
<td>$49/mes</td>
<td>⭐⭐⭐⭐</td>
</tr>
<tr>
<td><strong>LinkedIn Learning</strong></td>
<td>Suscripción</td>
<td>$360/año</td>
<td>⭐⭐⭐</td>
</tr>
<tr>
<td><strong>Berklee Online</strong></td>
<td>Por curso</td>
<td>$1,500+</td>
<td>⭐⭐⭐⭐ (profesional)</td>
</tr>
<tr>
<td><strong>Títulos universitarios</strong></td>
<td>Programas de titulación</td>
<td>$20,000+</td>
<td>Depende de la trayectoria profesional</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="consejos-para-elegir-cursos" tabindex="-1">Consejos para elegir cursos <a class="header-anchor" href="#consejos-para-elegir-cursos" aria-label="Permalink to &quot;Consejos para elegir cursos&quot;"></a></h2>
<h3 id="_1-comprueba-la-fecha-de-«ultima-actualizacion»" tabindex="-1">1. Comprueba la fecha de «Última actualización» <a class="header-anchor" href="#_1-comprueba-la-fecha-de-«ultima-actualizacion»" aria-label="Permalink to &quot;1. Comprueba la fecha de «Última actualización»&quot;"></a></h3>
<p>Los motores de juego evolucionan rápidamente. Un curso de Unity 2020 tendrá diferencias importantes respecto a las versiones actuales en 2026. Busca cursos actualizados en los últimos 12 meses.</p>
<h3 id="_2-mira-el-contenido-gratuito-de-muestra" tabindex="-1">2. Mira el contenido gratuito de muestra <a class="header-anchor" href="#_2-mira-el-contenido-gratuito-de-muestra" aria-label="Permalink to &quot;2. Mira el contenido gratuito de muestra&quot;"></a></h3>
<p>La mayoría de las plataformas ofrecen muestras gratuitas. Evalúa:</p>
<ul>
<li>El estilo y el ritmo de enseñanza</li>
<li>La calidad del audio y el vídeo</li>
<li>Si las explicaciones te resultan comprensibles</li>
</ul>
<h3 id="_3-lee-las-resenas-recientes" tabindex="-1">3. Lee las reseñas recientes <a class="header-anchor" href="#_3-lee-las-resenas-recientes" aria-label="Permalink to &quot;3. Lee las reseñas recientes&quot;"></a></h3>
<p>Ordena las reseñas por fecha, de más reciente a más antigua. Las reseñas antiguas de 5 estrellas no reflejan la calidad actual del contenido.</p>
<h3 id="_4-comprueba-la-calidad-de-los-proyectos" tabindex="-1">4. Comprueba la calidad de los proyectos <a class="header-anchor" href="#_4-comprueba-la-calidad-de-los-proyectos" aria-label="Permalink to &quot;4. Comprueba la calidad de los proyectos&quot;"></a></h3>
<p>Fíjate en lo que crean los estudiantes. ¿Son impresionantes los proyectos? ¿Servirían para un portafolio?</p>
<h3 id="_5-ten-en-cuenta-la-comunidad" tabindex="-1">5. Ten en cuenta la comunidad <a class="header-anchor" href="#_5-ten-en-cuenta-la-comunidad" aria-label="Permalink to &quot;5. Ten en cuenta la comunidad&quot;"></a></h3>
<p>Los cursos con secciones activas de preguntas y respuestas, servidores de Discord o foros ofrecen mejor ayuda cuando te atascas.</p>
<h3 id="_6-adaptalo-a-tu-estilo-de-aprendizaje" tabindex="-1">6. Adáptalo a tu estilo de aprendizaje <a class="header-anchor" href="#_6-adaptalo-a-tu-estilo-de-aprendizaje" aria-label="Permalink to &quot;6. Adáptalo a tu estilo de aprendizaje&quot;"></a></h3>
<ul>
<li><strong>Aprendiz visual:</strong> Cursos en vídeo (Udemy, YouTube)</li>
<li><strong>Lector:</strong> Documentación de Unity y tutoriales escritos</li>
<li><strong>Aprendizaje práctico:</strong> Cursos basados en proyectos y game jams</li>
<li><strong>Aprendizaje estructurado:</strong> Cursos universitarios y especializaciones</li>
</ul>
<hr>
<h2 id="tabla-resumen" tabindex="-1">Tabla resumen <a class="header-anchor" href="#tabla-resumen" aria-label="Permalink to &quot;Tabla resumen&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Curso</th>
<th>Plataforma</th>
<th>Precio</th>
<th>Ideal para</th>
<th>Valoración</th>
</tr>
</thead>
<tbody>
<tr>
<td>GameDev.tv Unity 3D</td>
<td>Udemy</td>
<td>$12–30</td>
<td>Principiantes de Unity</td>
<td>⭐ 4.7</td>
</tr>
<tr>
<td>Especialización de Michigan State</td>
<td>Coursera</td>
<td>$49/mes</td>
<td>Credenciales oficiales</td>
<td>⭐ 4.7</td>
</tr>
<tr>
<td>Itinerarios de Unity Learn</td>
<td>Unity</td>
<td>Gratis</td>
<td>Estudiantes con presupuesto limitado</td>
<td>⭐ 4.5</td>
</tr>
<tr>
<td>Stephen Ulibarri UE5</td>
<td>Udemy</td>
<td>$15–30</td>
<td>Unreal C++</td>
<td>⭐ 4.8</td>
</tr>
<tr>
<td>Especialización en UE de Coursera</td>
<td>Coursera</td>
<td>$199</td>
<td>Principiantes de UE</td>
<td>⭐ 4.6</td>
</tr>
<tr>
<td>Paquetes de GDQuest</td>
<td>GDQuest</td>
<td>$84–216</td>
<td>Estudiantes de Godot</td>
<td>⭐ 4.8</td>
</tr>
<tr>
<td>Curso de Godot para principiantes</td>
<td>Udemy</td>
<td>$15–25</td>
<td>Godot con presupuesto limitado</td>
<td>⭐ 4.5</td>
</tr>
<tr>
<td>Harvard CS50 Games</td>
<td>edX (archivado)</td>
<td>Gratis</td>
<td>Fundamentos</td>
<td>⭐ 4.6</td>
</tr>
<tr>
<td>Complete Blender Creator</td>
<td>Udemy</td>
<td>$15–30</td>
<td>Modelado 3D</td>
<td>⭐ 4.7</td>
</tr>
<tr>
<td>Berklee Game Audio</td>
<td>Berklee Online</td>
<td>$4,500</td>
<td>Audio profesional</td>
<td>⭐ 4.8</td>
</tr>
<tr>
<td>Game Audio Essentials</td>
<td>Udemy</td>
<td>$15–25</td>
<td>Audio con presupuesto limitado</td>
<td>⭐ 4.4</td>
</tr>
</tbody>
</table>
<hr>
<p>¿Listo para empezar a aprender? Elige un curso que se adapte a tu presupuesto, nivel y motor preferido. El paso más importante es <strong>empezar a crear juegos</strong>. Los cursos son solo herramientas que te ayudarán a lograrlo más rápido.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-mejor-curso-gratuito-de-desarrollo-de-videojuegos" tabindex="-1">¿Cuál es el mejor curso gratuito de desarrollo de videojuegos? <a class="header-anchor" href="#¿cual-es-el-mejor-curso-gratuito-de-desarrollo-de-videojuegos" aria-label="Permalink to &quot;¿Cuál es el mejor curso gratuito de desarrollo de videojuegos?&quot;"></a></h3>
<p>Las dos mejores opciones gratuitas son los itinerarios de Unity Learn y los cursos de desarrollo de videojuegos CS50 de Harvard. Los itinerarios Junior Programmer y Creative Core de Unity Learn son oficiales, están siempre actualizados y se basan en proyectos; te llevan desde el nivel principiante hasta estar preparado para trabajar sin coste alguno. Introduction to Game Development de CS50 de Harvard enseña fundamentos aplicables a cualquier motor, y sus materiales siguen siendo gratuitos aunque el curso original esté archivado y haya sido sustituido por un nuevo curso CS50 2D. Ambos son realmente gratuitos, no periodos de prueba.</p>
<h3 id="¿merece-la-pena-estudiar-una-carrera-de-desarrollo-de-videojuegos-en-2026" tabindex="-1">¿Merece la pena estudiar una carrera de desarrollo de videojuegos en 2026? <a class="header-anchor" href="#¿merece-la-pena-estudiar-una-carrera-de-desarrollo-de-videojuegos-en-2026" aria-label="Permalink to &quot;¿Merece la pena estudiar una carrera de desarrollo de videojuegos en 2026?&quot;"></a></h3>
<p>Depende de tu objetivo. Un título oficial como el máster en línea en Diseño de Videojuegos de WVU (alrededor de $22,650) tiene sentido si buscas credenciales académicas para la docencia, la investigación o puestos de liderazgo. Para conseguir trabajo como desarrollador, la contratación suele depender de tu portafolio, que puedes crear con cursos de Udemy en oferta (de $12 a $30), itinerarios gratuitos de Unity Learn y proyectos publicados por una fracción mínima del coste de un título. La titulación aporta estructura y credenciales, no garantiza un empleo.</p>
<h3 id="¿cuanto-tiempo-se-tarda-en-aprender-desarrollo-de-videojuegos" tabindex="-1">¿Cuánto tiempo se tarda en aprender desarrollo de videojuegos? <a class="header-anchor" href="#¿cuanto-tiempo-se-tarda-en-aprender-desarrollo-de-videojuegos" aria-label="Permalink to &quot;¿Cuánto tiempo se tarda en aprender desarrollo de videojuegos?&quot;"></a></h3>
<p>Calcula varios meses de esfuerzo constante, no unas pocas semanas. Según estos itinerarios de aprendizaje, un principiante absoluto puede pasar de cero a estar preparado para trabajar con Unity en aproximadamente 6–12 meses a tiempo parcial. Si ya sabes programar, entre 3 y 6 meses es un plazo realista. Si vienes del mundo del arte, reserva entre 4 y 8 meses para adquirir las habilidades relacionadas con el motor y el flujo de producción. La forma más rápida de avanzar es aprender mediante proyectos: crea juegos pequeños y participa en game jams en lugar de limitarte a ver clases.</p>
<h3 id="¿deberia-aprender-primero-unity-o-unreal" tabindex="-1">¿Debería aprender primero Unity o Unreal? <a class="header-anchor" href="#¿deberia-aprender-primero-unity-o-unreal" aria-label="Permalink to &quot;¿Debería aprender primero Unity o Unreal?&quot;"></a></h3>
<p>Para la mayoría de los principiantes, Unity es el punto de partida más accesible. Utiliza C#, ofrece el conjunto más amplio de cursos para principiantes (GameDev.tv, la especialización de Michigan State y los itinerarios gratuitos de Unity Learn) y cuenta con una enorme comunidad a la que recurrir cuando te atasques. Merece la pena empezar con Unreal si aspiras a crear gráficos 3D de alta fidelidad o de estilo consola, o si ya sabes C++. El curso de UE5 de Stephen Ulibarri es el más destacado en este ámbito, aunque presupone ciertos conocimientos de programación. Ambas opciones son buenas, así que elige aquella cuyos cursos y tipos de juego coincidan con lo que quieres crear.</p>
<p>Para consultar más recursos:</p>
<ul>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a></li>
<li><a href="/es/guides/game-jams-hackathons.html">Guía de game jams y hackatones</a> — la mejor forma de aprender es publicar bajo presión</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo publicar tu juego en itch.io</a></li>
<li><a href="/es/guides/web-game-engines-comparison.html">Comparativa de motores para juegos web</a> — elige el motor adecuado antes de escoger un curso</li>
<li><a href="/es/guides/game-asset-licenses.html">Explicación de las licencias de recursos para juegos</a> — entiende las licencias antes de usar recursos de los cursos</li>
<li><a href="/es/tutorials/canvas-2d-game-loop.html">Bucle de juego con Canvas 2D</a> — empieza a crear sin un curso con este tutorial gratuito</li>
</ul>
<BuildCta
  title="La mejor primera lección es publicar algo"
  desc="Crea un juego hoy y después haz el curso para entender qué ha ocurrido."
  prompt="Crea mi primer juego: un laberinto de bola rodante con tres niveles" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/game-dev-courses.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Guía de game jams y hackatones]]></title>
            <link>https://app.cinevva.com/es/guides/game-jams-hackathons</link>
            <guid>https://app.cinevva.com/es/guides/game-jams-hackathons</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Guía completa sobre game jams y hackatones: qué son, principales eventos, por qué destacan los juegos web y cómo Cinevva te ayuda a lanzar tu juego para una jam]]></description>
            <content:encoded><![CDATA[<h1 id="guia-de-game-jams-y-hackatones" tabindex="-1">Guía de game jams y hackatones <a class="header-anchor" href="#guia-de-game-jams-y-hackatones" aria-label="Permalink to &quot;Guía de game jams y hackatones&quot;"></a></h1>
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;margin:1.5rem 0">
<iframe src="https://www.youtube.com/embed/btOlp4_d1tc" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0" allow="accelerometer;autoplay;clipboard-write;encrypted-media;gyroscope;picture-in-picture" allowfullscreen></iframe>
</div>
<p style="font-size:0.9rem;color:var(--vp-c-text-2);margin-top:-0.5rem">5 consejos para ganar game jams como GMTK y Ludum Dare</p>
<p>Las game jams son el lugar donde nacen los juegos independientes. Creas un juego en 48-72 horas, recibes comentarios inmediatos de miles de jugadores y, a veces, lanzas algo que termina convirtiéndose en un verdadero éxito. Esta guía explica todo lo que necesitas saber.</p>
<h2 id="¿que-es-una-game-jam" tabindex="-1">¿Qué es una game jam? <a class="header-anchor" href="#¿que-es-una-game-jam" aria-label="Permalink to &quot;¿Qué es una game jam?&quot;"></a></h2>
<p>Una game jam es un evento de duración limitada en el que creas un juego desde cero, normalmente en torno a un tema que se anuncia al comenzar. Piensa en ella como un hackatón para desarrolladores de videojuegos. Por lo general, duran entre 48 horas y 30 días, participan equipos de una a cuatro personas y el objetivo es crear un prototipo jugable.</p>
<p>Las game jams no consisten en crear productos comerciales perfectamente acabados. Se centran en experimentar, resolver problemas de forma creativa bajo ciertas limitaciones y construir algo divertido en poco tiempo.</p>
<h2 id="por-que-son-importantes" tabindex="-1">Por qué son importantes <a class="header-anchor" href="#por-que-son-importantes" aria-label="Permalink to &quot;Por qué son importantes&quot;"></a></h2>
<p>Para los desarrolladores principiantes, no hay nada mejor que publicar un juego completo, aunque sea pequeño. Se espera que sea imperfecto, así que puedes experimentar sin miedo. Otros participantes juegan y puntúan tu creación, lo que te permite recibir comentarios al instante. Además, un juego terminado para una jam demuestra que sabes ejecutar una idea, no solo hablar de ella.</p>
<p>Para los desarrolladores con experiencia, las jams permiten probar ideas rápidamente y validar conceptos antes de dedicarles meses. Las limitaciones estimulan la creatividad y ayudan a superar los bloqueos creativos. Puedes conocer a colaboradores, distribuidoras y jugadores. Además, muchos juegos independientes de éxito comenzaron como proyectos para una jam.</p>
<p>Celeste comenzó como un juego para Ludum Dare. Superhot nació como un prototipo de 7 días. Hollow Knight evolucionó a partir de un concepto creado para una jam. Minit surgió de una jam de 48 horas. Papers, Please se creó para Ludum Dare 29.</p>
<h2 id="principales-game-jams-de-2026" tabindex="-1">Principales game jams de 2026 <a class="header-anchor" href="#principales-game-jams-de-2026" aria-label="Permalink to &quot;Principales game jams de 2026&quot;"></a></h2>
<h3 id="eventos-internacionales" tabindex="-1">Eventos internacionales <a class="header-anchor" href="#eventos-internacionales" aria-label="Permalink to &quot;Eventos internacionales&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Evento</th>
<th>Cuándo</th>
<th>Formato</th>
<th>Notas</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Global Game Jam</strong></td>
<td>Finales de enero</td>
<td>48 horas, sedes locales y remotas</td>
<td>La jam más grande, con más de 40 000 participantes en todo el mundo. En la edición de 2026 (del 26 de enero al 1 de febrero), la GGJ supera los 500 000 participantes acumulados desde su creación, distribuidos entre unas 800 sedes de más de 100 países.</td>
</tr>
<tr>
<td><strong>Ludum Dare</strong></td>
<td>Abril y octubre (aprox.)</td>
<td>48 h en solitario / 72 h en equipo</td>
<td>Una de las jams más antiguas y respetadas</td>
</tr>
<tr>
<td><strong>GMTK Game Jam</strong></td>
<td>Verano</td>
<td>48 horas</td>
<td>Enorme audiencia; suele recibir más de 7000 proyectos</td>
</tr>
<tr>
<td><strong>js13kGames</strong></td>
<td>Agosto-septiembre</td>
<td>Límite de 13 KB, 30 días</td>
<td>La mejor para desarrolladores web</td>
</tr>
<tr>
<td><strong>Gamedev.js Jam</strong></td>
<td>Del 13 al 26 de abril de 2026</td>
<td>13 días, solo HTML5</td>
<td>Premios y formato accesible</td>
</tr>
</tbody>
</table>
<h3 id="jams-periodicas-y-en-curso-en-itch-io" tabindex="-1">Jams periódicas y en curso en itch.io <a class="header-anchor" href="#jams-periodicas-y-en-curso-en-itch-io" aria-label="Permalink to &quot;Jams periódicas y en curso en itch.io&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Jam</th>
<th>Descripción</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Brackeys Game Jam 2026.2</strong></td>
<td>7 días, miles de participantes, del 23 al 30 de agosto de 2026</td>
</tr>
<tr>
<td><strong>Pirate Software Game Jam 18</strong></td>
<td>14 días, más de 600 participantes aprox.</td>
</tr>
<tr>
<td><strong>Finally Finish Something 2026</strong></td>
<td>Enero, para terminar proyectos en curso</td>
</tr>
<tr>
<td><strong>2026 Annual Jam</strong></td>
<td>Un año de duración y reglas flexibles</td>
</tr>
<tr>
<td><strong>Retro Game Jam 2026</strong></td>
<td>Del 8 al 14 de febrero, centrada en la estética retro</td>
</tr>
</tbody>
</table>
<p><strong>Encuentra más:</strong> <a href="https://itch.io/jams" target="_blank" rel="noreferrer">itch.io/jams</a> reúne cientos de jams activas y próximas.</p>
<hr>
<h2 id="por-que-los-juegos-web-triunfan-en-las-jams" tabindex="-1">Por qué los juegos web triunfan en las jams <a class="header-anchor" href="#por-que-los-juegos-web-triunfan-en-las-jams" aria-label="Permalink to &quot;Por qué los juegos web triunfan en las jams&quot;"></a></h2>
<p>Si puedes crear un juego que se ejecute en el navegador, tienes una enorme ventaja.</p>
<h3 id="cero-friccion" tabindex="-1">Cero fricción <a class="header-anchor" href="#cero-friccion" aria-label="Permalink to &quot;Cero fricción&quot;"></a></h3>
<p>Los jueces de una jam prueban decenas de juegos. Con un juego descargable, deben hacer clic para descargarlo, esperar, extraerlo o instalarlo, buscar el ejecutable y abrirlo. Eso supone entre 5 y 10 minutos antes de empezar a jugar. Con un juego web, hacen clic en «Jugar» y esperan entre 2 y 5 segundos. Ya están jugando.</p>
<p>Cada segundo de fricción te cuesta partidas, puntuaciones y puestos en la clasificación.</p>
<h3 id="funciona-en-todas-partes" tabindex="-1">Funciona en todas partes <a class="header-anchor" href="#funciona-en-todas-partes" aria-label="Permalink to &quot;Funciona en todas partes&quot;"></a></h3>
<p>Los juegos web se ejecutan en Windows, Mac, Linux y ChromeOS. También funcionan en dispositivos móviles si admites controles táctiles. Nunca tendrás que escribir «Lo sentimos, solo para Windows» en tu descripción. Así maximizas tu audiencia potencial.</p>
<h3 id="facil-de-compartir" tabindex="-1">Fácil de compartir <a class="header-anchor" href="#facil-de-compartir" aria-label="Permalink to &quot;Fácil de compartir&quot;"></a></h3>
<p>Obtienes un enlace directo para jugar. Puedes insertarlo en publicaciones de X, Discord y blogs. No necesitas enlaces sospechosos de «Descargar desde Google Drive». También ofrece un mayor potencial de viralización en las redes sociales.</p>
<h3 id="actualizaciones-instantaneas" tabindex="-1">Actualizaciones instantáneas <a class="header-anchor" href="#actualizaciones-instantaneas" aria-label="Permalink to &quot;Actualizaciones instantáneas&quot;"></a></h3>
<p>¿Has corregido un error? Publica el cambio en segundos. ¿Has encontrado un problema de equilibrio? Corrígelo al instante. Sin mensajes del tipo «Versión 1.1 publicada; vuelve a descargarla».</p>
<h3 id="capacidades-tecnicas" tabindex="-1">Capacidades técnicas <a class="header-anchor" href="#capacidades-tecnicas" aria-label="Permalink to &quot;Capacidades técnicas&quot;"></a></h3>
<p>WebGL y WebGPU ofrecen gráficos acelerados por GPU. La API Web Audio proporciona compatibilidad completa con el sonido. LocalStorage e IndexedDB permiten guardar partidas sin un servidor. Los Service Workers hacen posible jugar sin conexión. WebSockets permite añadir funciones multijugador.</p>
<h2 id="como-conseguir-que-descubran-tu-juego-para-una-jam" tabindex="-1">Cómo conseguir que descubran tu juego para una jam <a class="header-anchor" href="#como-conseguir-que-descubran-tu-juego-para-una-jam" aria-label="Permalink to &quot;Cómo conseguir que descubran tu juego para una jam&quot;"></a></h2>
<p>Las game jams generan miles de juegos. Cuando termina una jam, tu juego compite con miles de proyectos más en itch.io, con una abrumadora sección de novedades y con jugadores que tienen poco tiempo y solo echan un vistazo rápido.</p>
<p>Las soluciones tradicionales no funcionan demasiado bien. Las capturas de pantalla no muestran cómo se juega. Crear un tráiler lleva horas y tú estás agotado. El marketing exige una energía que ya no tienes.</p>
<h3 id="los-videos-breves-de-gameplay-funcionan" tabindex="-1">Los vídeos breves de gameplay funcionan <a class="header-anchor" href="#los-videos-breves-de-gameplay-funcionan" aria-label="Permalink to &quot;Los vídeos breves de gameplay funcionan&quot;"></a></h3>
<p>Graba 15 segundos de gameplay que muestren el mejor momento, el bucle de juego principal o el elemento que engancha. Publícalo como vídeo corto en TikTok, Reels o YouTube Shorts y enlaza la página donde se puede jugar. Los jugadores se desplazan, miran, hacen clic y juegan al instante, especialmente cuando el propio juego se ejecuta en el navegador.</p>
<p>Tu juego se evalúa por su gameplay, no por tus habilidades de marketing. No necesitas dedicar tiempo a crear tráileres porque los clips de 15 segundos son suficientes. No necesitas competir con el marketing de los juegos AAA porque el gameplay habla por sí solo. Además, los jugadores no tienen que descargar nada porque los juegos web se ejecutan al instante.</p>
<h3 id="el-flujo-de-trabajo" tabindex="-1">El flujo de trabajo <a class="header-anchor" href="#el-flujo-de-trabajo" aria-label="Permalink to &quot;El flujo de trabajo&quot;"></a></h3>
<p>Durante la jam, céntrate en crear tu juego. Si vas contrarreloj o quieres conseguir rápidamente una base jugable, Cinevva puede convertir una instrucción de texto en un juego web 3D jugable dentro de tu navegador y publicarlo como un enlace que puedes compartir, insertar o incluir en tu página de itch.io. Durante la última hora, graba rápidamente 2 o 3 clips de gameplay.</p>
<p>Después de la entrega, presenta el juego a la jam de la forma habitual, publica tus clips en redes sociales, comparte el enlace directo para jugar y observa cómo jugadores reales descubren y prueban tu juego.</p>
<h2 id="estrategias-para-tener-exito" tabindex="-1">Estrategias para tener éxito <a class="header-anchor" href="#estrategias-para-tener-exito" aria-label="Permalink to &quot;Estrategias para tener éxito&quot;"></a></h2>
<h3 id="antes-de-la-jam" tabindex="-1">Antes de la jam <a class="header-anchor" href="#antes-de-la-jam" aria-label="Permalink to &quot;Antes de la jam&quot;"></a></h3>
<p>Prepara tus herramientas. Prueba tu motor, IDE y herramientas artísticas. Configura el control de versiones con Git. Ten lista una plantilla de proyecto. Practica la importación de recursos y la creación de mecánicas básicas.</p>
<p>Prepárate tú también. Duerme bien la noche anterior. Abastécete de comida y bebida. Libera tu agenda. Avisa a tus familiares o compañeros de piso de que vas a estar ocupado.</p>
<p>Si tienes un equipo, acordad cómo os comunicaréis —Discord funciona bien—, asignad funciones generales y estableced expectativas de disponibilidad.</p>
<h3 id="durante-la-jam" tabindex="-1">Durante la jam <a class="header-anchor" href="#durante-la-jam" aria-label="Permalink to &quot;Durante la jam&quot;"></a></h3>
<p>Durante las primeras 2 horas, intercambia ideas y planifica. Genera varias ideas y elige la más viable. Reduce el alcance sin piedad y recórtalo un 50 %. Documenta el bucle de juego principal. Acordad un estilo visual.</p>
<p>Entre las horas 2 y 20, crea el núcleo del juego. Haz que la mecánica principal funcione primero. Puedes usar recursos artísticos provisionales. No pulas nada hasta que el núcleo funcione. Haz commits con frecuencia.</p>
<p>Entre las horas 20 y 40, conviértelo en algo jugable. Añade contenido, como niveles y enemigos. Crea una interfaz básica con menús y pantallas de fin de partida. Añade efectos de sonido y música. Sigue haciendo pruebas constantemente.</p>
<p>Durante las 8 horas finales, pule y publica. Corrige solo los errores críticos. Haz una última pasada artística. Escribe la descripción. Toma capturas de pantalla y crea un GIF. Entrega con antelación para no arriesgarte a incumplir el plazo.</p>
<h3 id="despues-de-la-jam" tabindex="-1">Después de la jam <a class="header-anchor" href="#despues-de-la-jam" aria-label="Permalink to &quot;Después de la jam&quot;"></a></h3>
<p>Descansa de inmediato, porque te lo has ganado. Comparte el juego en redes sociales. Da las gracias a tus compañeros de equipo.</p>
<p>Durante la primera semana, juega y puntúa otros proyectos, responde a los comentarios, recopila opiniones y graba clips de gameplay.</p>
<p>Más adelante, decide si quieres seguir desarrollando el juego, escribe un diario de desarrollo retrospectivo y mantén el contacto con las personas que has conocido.</p>
<h3 id="errores-comunes" tabindex="-1">Errores comunes <a class="header-anchor" href="#errores-comunes" aria-label="Permalink to &quot;Errores comunes&quot;"></a></h3>
<p>El alcance suele descontrolarse por culpa del entusiasmo. Escribe pronto tu lista de funciones y cíñete a ella. El juego se queda sin sonido cuando lo dejas para el final. Añade sonidos provisionales desde el principio. Los controles poco claros surgen porque el desarrollador los conoce demasiado bien. Incluye instrucciones y haz pruebas con otras personas. Las compilaciones rotas son consecuencia de las prisas. Prueba las exportaciones desde las primeras etapas de la jam. Las malas descripciones se deben al agotamiento. Redacta la tuya antes de estar demasiado cansado.</p>
<h2 id="como-crear-juegos-web-para-jams" tabindex="-1">Cómo crear juegos web para jams <a class="header-anchor" href="#como-crear-juegos-web-para-jams" aria-label="Permalink to &quot;Cómo crear juegos web para jams&quot;"></a></h2>
<p>Para juegos 2D, Phaser es el framework de juegos HTML5 más popular. Pixi.js es un rápido motor de renderizado 2D que puedes combinar con tu propia lógica. Godot ofrece una excelente exportación a HTML5.</p>
<p>Para juegos 3D, Three.js es la biblioteca WebGL más flexible. Babylon.js es un motor 3D con todas las funciones. PlayCanvas es una solución nativa para la web con editor integrado.</p>
<p>Como opciones sin código o con poco código, GDevelop es un creador visual de juegos con exportación web. Construct permite crear potentes juegos HTML5 sin código.</p>
<h3 id="optimizacion" tabindex="-1">Optimización <a class="header-anchor" href="#optimizacion" aria-label="Permalink to &quot;Optimización&quot;"></a></h3>
<p>Mantén el tiempo de carga por debajo de 10 segundos comprimiendo los recursos y usando carga diferida. Muestra el progreso de carga para que los jugadores no abandonen. Haz pruebas en Chrome, Firefox y Safari porque cada navegador tiene sus particularidades. Si es posible, adapta el juego a dispositivos móviles con controles táctiles y un diseño responsivo. Incluye un botón de pantalla completa para mejorar la inmersión. Añade un control para silenciar el sonido, ya que no todo el mundo puede tenerlo activado.</p>
<p>Para la configuración de inserción en itch.io, utiliza un ancho de 960 px —o tu resolución nativa—, una altura de 540 px para una relación 16:9, activa la compatibilidad con dispositivos móviles si el diseño es responsivo, habilita el botón de pantalla completa y desactiva las barras de desplazamiento.</p>
<h2 id="despues-de-la-jam-1" tabindex="-1">Después de la jam <a class="header-anchor" href="#despues-de-la-jam-1" aria-label="Permalink to &quot;Después de la jam&quot;"></a></h2>
<p>Durante la primera semana, responde a todos los comentarios para generar buena disposición y aprender. Juega y puntúa otros proyectos porque la comunidad importa. Publica un diario de desarrollo en el que compartas tu experiencia y lo que funcionó o no. Sube clips de gameplay para que más gente vea tu juego.</p>
<p>Durante el primer mes, corrige los errores señalados por los jugadores, introduce pequeñas mejoras de acabado que requieran poco esfuerzo pero tengan un gran impacto y comparte la historia de tu jam en redes sociales mediante GIF.</p>
<p>A largo plazo, si el juego tiene potencial, agrupa los comentarios por temas para averiguar qué aspectos han gustado o disgustado de forma constante. Evalúa si aquí hay un juego más grande. Planifica una versión posterior a la jam, ampliada y pulida. Plantéate monetizarla mediante el modelo «paga lo que quieras» en itch.io o publicarla en Steam.</p>
<p>Señales de que tu juego para una jam podría llegar más lejos: los jugadores piden más contenido, los streamers empiezan a jugarlo, obtiene puntuaciones altas frente a juegos similares, sigues entusiasmado con él semanas después y existe un camino claro para multiplicar por diez su contenido.</p>
<h2 id="recursos" tabindex="-1">Recursos <a class="header-anchor" href="#recursos" aria-label="Permalink to &quot;Recursos&quot;"></a></h2>
<p>Para encontrar comunidades, visita <a href="https://reddit.com/r/gamejams" target="_blank" rel="noreferrer">r/gamejams</a>, donde se habla de jams activas; <a href="https://reddit.com/r/ludumdare" target="_blank" rel="noreferrer">r/ludumdare</a>, para conversaciones específicas sobre LD; <a href="https://itch.io/jams" target="_blank" rel="noreferrer">Jams de itch.io</a>, para buscar jams y participar en ellas; y <a href="https://gamedevjs.com" target="_blank" rel="noreferrer">Gamedev.js</a>, para conocer la comunidad de desarrollo de juegos con JavaScript.</p>
<p>En cuanto a herramientas, <a href="https://kenney.nl" target="_blank" rel="noreferrer">Kenney Assets</a> ofrece recursos gratuitos para juegos, <a href="https://opengameart.org" target="_blank" rel="noreferrer">OpenGameArt</a> contiene gráficos y audio con licencias CC, <a href="https://freesound.org" target="_blank" rel="noreferrer">Freesound</a> proporciona efectos de sonido e <a href="https://itch.io/docs/butler/" target="_blank" rel="noreferrer">itch.io Butler</a> es una CLI para subir archivos rápidamente.</p>
<p>Para aprender, consulta los <a href="/es/tutorials/">tutoriales de Cinevva</a> sobre desarrollo de juegos web, la <a href="/es/guides/web-game-engines-comparison.html">comparativa de motores de juegos web</a> para elegir tus herramientas y <a href="/es/guides/itch-io-launch-guide.html">cómo lanzar un juego en itch.io</a> para optimizar la página de tu juego.</p>
<h2 id="tu-proxima-jam" tabindex="-1">Tu próxima jam <a class="header-anchor" href="#tu-proxima-jam" aria-label="Permalink to &quot;Tu próxima jam&quot;"></a></h2>
<p>Antes de la jam, instala y prueba tus herramientas, prepara una plantilla de proyecto, reúne paquetes de recursos si están permitidos, forma tu equipo o decide participar en solitario y reserva el tiempo en tu calendario.</p>
<p>Durante la jam, dedica un máximo de 30 minutos a pensar ideas basadas en el tema, crea primero un prototipo de la mecánica principal, prueba pronto y con frecuencia, añade sonido antes del último día y reserva al menos una hora para la entrega.</p>
<p>Después de la jam, presenta el juego en la página del evento, sube clips de gameplay, juega y puntúa otros proyectos, responde a los comentarios y escribe un diario de desarrollo sobre tu experiencia.</p>
<h2 id="empieza-ahora" tabindex="-1">Empieza ahora <a class="header-anchor" href="#empieza-ahora" aria-label="Permalink to &quot;Empieza ahora&quot;"></a></h2>
<p>Explora las próximas jams en <a href="https://itch.io/jams" target="_blank" rel="noreferrer">itch.io/jams</a>. Elige una que encaje con tu horario y tus intereses. Prepara tus herramientas con ayuda de esta guía. Crea algo increíble en 48-72 horas. Compártelo y observa cómo los jugadores lo descubren.</p>
<p>Las game jams son el lugar donde nacen los juegos independientes. Tu próximo juego para una jam podría ser el comienzo de algo grande.</p>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿que-game-jams-son-mejores-para-principiantes" tabindex="-1">¿Qué game jams son mejores para principiantes? <a class="header-anchor" href="#¿que-game-jams-son-mejores-para-principiantes" aria-label="Permalink to &quot;¿Qué game jams son mejores para principiantes?&quot;"></a></h3>
<p>Empieza con una jam que tenga una comunidad grande y acogedora y reglas flexibles, ya que así podrás presentar sin miedo un primer proyecto poco pulido. Global Game Jam es la vía de entrada más accesible, con sedes locales y remotas, mentores disponibles y ninguna expectativa de que el juego esté perfectamente acabado. Ludum Dare es casi igual de accesible para principiantes, se celebra dos veces al año y cuenta con una enorme comunidad de jugadores que puntúan todos los proyectos. Si eres desarrollador web, Gamedev.js Jam y js13kGames ofrecen plazos generosos y están dedicadas exclusivamente a HTML5, mientras que «Finally Finish Something» de itch.io se centra en conseguir que termines algo en lugar de ganar. Para tu primera vez, elige una jam más larga, de modo que no tengas que luchar contra el reloj mientras todavía estás aprendiendo.</p>
<h3 id="¿cuanto-duran-las-game-jams" tabindex="-1">¿Cuánto duran las game jams? <a class="header-anchor" href="#¿cuanto-duran-las-game-jams" aria-label="Permalink to &quot;¿Cuánto duran las game jams?&quot;"></a></h3>
<p>Pueden durar desde unas pocas horas hasta un mes entero, aunque las más famosas suelen concentrarse en un fin de semana. Global Game Jam y GMTK duran 48 horas, mientras que Ludum Dare ofrece 48 horas si participas en solitario o 72 horas si lo haces en equipo. También existen formatos más largos para quienes necesitan mayor margen: Pirate Software Game Jam dura 14 días, js13kGames se extiende durante 30 días y algunas jams de itch.io son eventos relajados que duran todo un año. Elige una duración que encaje con tu horario y experiencia, ya que una carrera de 48 horas y una jam de dos semanas requieren ritmos muy diferentes.</p>
<h3 id="¿los-juegos-de-las-jams-consiguen-jugadores-de-verdad" tabindex="-1">¿Los juegos de las jams consiguen jugadores de verdad? <a class="header-anchor" href="#¿los-juegos-de-las-jams-consiguen-jugadores-de-verdad" aria-label="Permalink to &quot;¿Los juegos de las jams consiguen jugadores de verdad?&quot;"></a></h3>
<p>Sí, más de las que esperarías durante el periodo de votación. En una jam con miles de participantes, todo el mundo juega y puntúa las propuestas de los demás, así que un buen juego puede conseguir cientos de partidas durante la primera semana sin ninguna promoción externa. Los juegos web funcionan especialmente bien aquí porque los jueces solo tienen que hacer clic y jugar, en lugar de descargar nada. El inconveniente es que la atención disminuye rápidamente cuando termina el periodo de votación, por lo que las partidas que consigas dependerán de enviar el juego a tiempo, puntuar otras propuestas para atraer miradas hacia la tuya y publicar un breve vídeo de la jugabilidad mientras la jam sigue siendo reciente. Muchos éxitos comenzaron así, desde Celeste hasta Superhot.</p>
<h3 id="¿que-motor-deberias-usar-para-una-jam-de-48-horas" tabindex="-1">¿Qué motor deberías usar para una jam de 48 horas? <a class="header-anchor" href="#¿que-motor-deberias-usar-para-una-jam-de-48-horas" aria-label="Permalink to &quot;¿Qué motor deberías usar para una jam de 48 horas?&quot;"></a></h3>
<p>El que ya conozcas. Una jam de 48 horas premia más la familiaridad que la potencia bruta, así que no es el fin de semana adecuado para aprender a usar un motor nuevo. Elijas lo que elijas, opta por una herramienta que genere versiones web sin complicaciones, porque una propuesta jugable en el navegador consigue muchas más partidas y valoraciones que una que debe descargarse. Para 2D, Godot, Phaser y Pixi.js exportan bien a la web. Para 3D, Three.js, Babylon.js y PlayCanvas son opciones sólidas. Si prefieres no programar, GDevelop y Construct permiten crear juegos HTML5 sin código, y una herramienta basada en prompts como Cinevva puede proporcionarte en cuestión de minutos un juego web 3D jugable sobre el que seguir trabajando.</p>
<BuildCta
  title="Practica ahora mismo tu velocidad para las jams"
  desc="Un prototipo jugable en cuestión de minutos es un buen calentamiento para una jam de 48 horas."
  prompt="Crea un prototipo para una game jam en el que la gravedad se invierta cada 10 segundos" />
<h2 id="relacionado" tabindex="-1">Relacionado <a class="header-anchor" href="#relacionado" aria-label="Permalink to &quot;Relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — paquetes de recursos CC0 listos para juegos de jams</li>
<li><a href="/es/tutorials/agentic-code-tools.html">Herramientas de código con IA agéntica</a> — cómo usar Claude Code, Cursor y Copilot para crear más rápido durante las jams</li>
<li><a href="/es/guides/kickstarter-for-indie-games.html">Kickstarter para juegos independientes</a> — cómo convertir un juego exitoso de una jam en un proyecto financiado</li>
<li><a href="/es/guides/co-op-game-design.html">Diseño de juegos cooperativos</a> — los juegos cooperativos de jams reciben más atención y valoraciones</li>
<li><a href="/es/tutorials/canvas-2d-game-loop.html">Bucle de juego con Canvas 2D</a> — la base más sencilla para un juego de una jam de 48 horas</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/game-jams-hackathons.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo lanzar tu juego en itch.io (guía de 2026)]]></title>
            <link>https://app.cinevva.com/es/guides/itch-io-launch-guide</link>
            <guid>https://app.cinevva.com/es/guides/itch-io-launch-guide</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Cómo lanzar, promocionar y hacer crecer tu juego indie en itch.io en 2026: configuración de la página, precios, etiquetas, devlogs y visibilidad.]]></description>
            <content:encoded><![CDATA[<h1 id="como-lanzar-tu-juego-en-itch-io-guia-de-2026" tabindex="-1">Cómo lanzar tu juego en itch.io (guía de 2026) <a class="header-anchor" href="#como-lanzar-tu-juego-en-itch-io-guia-de-2026" aria-label="Permalink to &quot;Cómo lanzar tu juego en itch.io (guía de 2026)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>Esta guía reúne todo lo que he aprendido sobre el lanzamiento de juegos en itch.io. Desde la configuración de la página hasta los precios y la visibilidad, estas son las estrategias que realmente funcionan.</p>
<h2 id="¿por-que-itch-io" tabindex="-1">¿Por qué itch.io? <a class="header-anchor" href="#¿por-que-itch-io" aria-label="Permalink to &quot;¿Por qué itch.io?&quot;"></a></h2>
<p>itch.io es el lugar donde prosperan los juegos indie. Casi no hay barreras de entrada, así que cualquiera puede publicar, con una salvedad que conviene conocer de antemano: desde mediados de 2025, itch.io ha endurecido el tratamiento del contenido para adultos/NSFW. Debido a la presión de sus procesadores de pagos, retiró de su índice el contenido para adultos en julio de 2025 y ahora exige que las páginas NSFW añadan advertencias de contenido para poder aparecer en las búsquedas; el contenido para adultos de pago sigue estando restringido. Para la gran mayoría de los juegos sin contenido para adultos, nada de esto se aplica y publicar sigue siendo tan abierto como siempre. Los precios son flexibles: gratis, fijos o «paga lo que quieras». Tú eliges el porcentaje de ingresos que compartes, incluso un 0 % si quieres quedártelo todo. Los juegos web se ejecutan directamente en el navegador. La comunidad busca activamente juegos indie. Además, el ecosistema de game jams te ofrece visibilidad y comentarios desde el principio.</p>
<p>No es Steam, y esa es precisamente la idea. itch.io premia la experimentación y a los desarrolladores que participan en la comunidad.</p>
<h2 id="antes-de-publicar" tabindex="-1">Antes de publicar <a class="header-anchor" href="#antes-de-publicar" aria-label="Permalink to &quot;Antes de publicar&quot;"></a></h2>
<p>Necesitas tener preparadas algunas cosas antes de pulsar el botón de publicar. Como mínimo, necesitas un juego jugable —descargable o ejecutable en el navegador—, una imagen de portada de 630×500 píxeles, al menos 3 capturas de pantalla, una descripción y el género y las etiquetas seleccionados.</p>
<p>Para conseguir un lanzamiento mejor, añade un tráiler o un GIF de la jugabilidad, una descripción detallada con las características, un kit de prensa, cuentas en redes sociales y, opcionalmente, un servidor de Discord.</p>
<p>Para obtener los mejores resultados, planifica de antemano las publicaciones de tu devlog, prepara una lista de influencers y medios con los que contactar, redacta el anuncio del lanzamiento y crea una comunidad antes de publicar.</p>
<h2 id="tu-pagina-es-tu-escaparate" tabindex="-1">Tu página es tu escaparate <a class="header-anchor" href="#tu-pagina-es-tu-escaparate" aria-label="Permalink to &quot;Tu página es tu escaparate&quot;"></a></h2>
<p>La página es donde la gente decide si quiere jugar a tu juego. Cada elemento importa.</p>
<h3 id="imagen-de-portada" tabindex="-1">Imagen de portada <a class="header-anchor" href="#imagen-de-portada" aria-label="Permalink to &quot;Imagen de portada&quot;"></a></h3>
<p>La imagen de portada es el elemento visual más importante. Aparece en las páginas de exploración, los resultados de búsqueda, las colecciones y las vistas previas de las redes sociales. Con un tamaño de 630×500 píxeles —o un mínimo de 315×250—, debe funcionar bien como miniatura.</p>
<p>Asegúrate de que sea legible a tamaño reducido. Pruébala a escala de miniatura. Transmite la esencia de tu juego mediante el estilo artístico, el ambiente y las referencias visuales al género. Incluye el título y haz que sea fácil de leer. Usa colores llamativos y un punto focal claro para destacar en una cuadrícula llena de otros juegos.</p>
<h3 id="capturas-de-pantalla-y-contenido-multimedia" tabindex="-1">Capturas de pantalla y contenido multimedia <a class="header-anchor" href="#capturas-de-pantalla-y-contenido-multimedia" aria-label="Permalink to &quot;Capturas de pantalla y contenido multimedia&quot;"></a></h3>
<p>Necesitas un mínimo de entre 3 y 5 capturas de pantalla para transmitir credibilidad. Un GIF que muestre la jugabilidad en movimiento ayuda mucho. Para lanzamientos importantes, añade un tráiler de entre 30 y 90 segundos.</p>
<p>En las capturas de pantalla, muestra la jugabilidad real, no los menús. Captura momentos emocionantes. Mantén una relación de aspecto coherente. Incluye la interfaz si resulta atractiva.</p>
<p>Para los GIF, intenta mostrar entre 5 y 15 segundos de acción. Mantenlos por debajo de 10 MB para que carguen rápido. Muestra el bucle principal de juego. Haz que se repitan con fluidez.</p>
<h3 id="descripcion" tabindex="-1">Descripción <a class="header-anchor" href="#descripcion" aria-label="Permalink to &quot;Descripción&quot;"></a></h3>
<p>Estructura la descripción pensando en quienes leen por encima. Empieza con una frase breve y pegadiza que despierte su interés. Continúa con una oración que explique el género, qué hace el jugador y cuál es el objetivo. Añade entre 2 y 3 frases que amplíen el concepto. Después, enumera las características, los controles y los créditos.</p>
<p>No escribas bloques de texto interminables. No empieces con «Este es mi primer juego...» ni seas excesivamente modesto. Y no olvides explicar en qué consiste realmente el juego. La gente necesita entender qué va a encontrarse.</p>
<h3 id="etiquetas" tabindex="-1">Etiquetas <a class="header-anchor" href="#etiquetas" aria-label="Permalink to &quot;Etiquetas&quot;"></a></h3>
<p>Las etiquetas determinan dónde aparece tu juego en la sección Explorar. Usa todas las etiquetas pertinentes. Sé específico: no te limites a «action»; usa «top-down-shooter». Incluye etiquetas de accesibilidad cuando corresponda. Añade etiquetas de multijugador o cooperativo local si son relevantes. Usa etiquetas populares que realmente encajen con tu juego.</p>
<p>Etiquetas valiosas que conviene considerar: géneros específicos como roguelike, metroidvania o visual-novel; estilos artísticos como pixel-art, low-poly o hand-drawn; temas como horror, cozy o atmospheric; modos multijugador como local-multiplayer u online-co-op; y funciones de accesibilidad como colorblind-friendly u one-button.</p>
<h3 id="metadatos" tabindex="-1">Metadatos <a class="header-anchor" href="#metadatos" aria-label="Permalink to &quot;Metadatos&quot;"></a></h3>
<p>Rellénalo todo. El género, el motor y las herramientas utilizados, tantas etiquetas pertinentes como sea posible, todos los idiomas compatibles, las funciones de accesibilidad —como controles configurables— y el modo multijugador —un jugador, local o en línea—. Cuanto más completos sean tus metadatos, más fácil será descubrir tu juego.</p>
<h2 id="precios" tabindex="-1">Precios <a class="header-anchor" href="#precios" aria-label="Permalink to &quot;Precios&quot;"></a></h2>
<p>itch.io te ofrece tres modelos de precios: gratis, paga lo que quieras y precio fijo. Cada uno funciona en situaciones diferentes.</p>
<p>itch.io utiliza un modelo abierto de reparto de ingresos: la comisión predeterminada es de aproximadamente un 10 %, pero tú eliges el porcentaje, desde el 0 % hasta el 100 %. Varias veces al año, itch.io también celebra el Creator Day, un evento de 24 horas durante el cual elimina por completo su comisión de plataforma, por lo que conservas el 100 % de las ventas —después de las comisiones del procesador de pagos y los impuestos—. Merece la pena hacer coincidir una oferta o un anuncio de lanzamiento con uno de esos días. El más reciente se celebró el 28 de noviembre de 2025.</p>
<h3 id="«paga-lo-que-quieras»-funciona-mejor-para-la-mayoria-de-los-juegos" tabindex="-1">«Paga lo que quieras» funciona mejor para la mayoría de los juegos <a class="header-anchor" href="#«paga-lo-que-quieras»-funciona-mejor-para-la-mayoria-de-los-juegos" aria-label="Permalink to &quot;«Paga lo que quieras» funciona mejor para la mayoría de los juegos&quot;"></a></h3>
<p>El modelo «paga lo que quieras» con un mínimo de 0 $ suele superar al precio fijo en los juegos indie. Los desarrolladores que comparten sus cifras en análisis retrospectivos suelen informar de varias veces más descargas que con un precio fijo, y entre una décima parte y un tercio de quienes descargan el juego deciden pagar. Los ingresos totales suelen acabar siendo mayores pese al menor promedio por comprador. Son patrones extraídos de análisis retrospectivos compartidos, no estadísticas oficiales de itch.io, así que tómalos como orientación y no como una promesa.</p>
<p>Para optimizar el modelo «paga lo que quieras», establece un precio sugerido que sirva como referencia. Para juegos cortos de menos de 30 minutos, sugiere entre 2 y 5 $. Para juegos de duración media, de entre 1 y 3 horas, sugiere entre 5 y 10 $. Para juegos completos de más de 5 horas, sugiere entre 10 y 20 $.</p>
<p>Explica por qué ayuda el apoyo de los jugadores. Por ejemplo: «¡Este juego utiliza el modelo “paga lo que quieras”! Cualquier aportación me ayuda a crear más juegos y a seguir publicando actualizaciones». También puedes ofrecer incentivos por pagar: contenido adicional, la banda sonora, un PDF sobre el proceso de creación o el nombre del jugador en los créditos.</p>
<h3 id="cuando-tiene-sentido-un-precio-fijo" tabindex="-1">Cuándo tiene sentido un precio fijo <a class="header-anchor" href="#cuando-tiene-sentido-un-precio-fijo" aria-label="Permalink to &quot;Cuándo tiene sentido un precio fijo&quot;"></a></h3>
<p>Usa un precio fijo cuando ya tengas una audiencia, cuando el juego esté muy pulido, cuando incluya una cantidad considerable de contenido —más de 5 horas— o cuando necesites ingresos predecibles.</p>
<p>En cuanto a los precios, entre 2 y 5 $ funciona para juegos cortos y prototipos. Entre 5 y 10 $, para juegos de duración media dirigidos a un público de nicho. Entre 10 y 20 $, para juegos completos con un alto nivel de acabado. Más de 20 $, para juegos grandes de desarrolladores consolidados.</p>
<h3 id="los-juegos-gratuitos-tambien-generan-dinero" tabindex="-1">Los juegos gratuitos también generan dinero <a class="header-anchor" href="#los-juegos-gratuitos-tambien-generan-dinero" aria-label="Permalink to &quot;Los juegos gratuitos también generan dinero&quot;"></a></h3>
<p>Para proyectos de portafolio, juegos creados para game jams, proyectos experimentales o para formar una audiencia de cara a futuros juegos de pago, ofrecer el juego gratis tiene sentido. Pero incluso los juegos gratuitos reciben donaciones. itch.io ha señalado que una parte significativa del gasto en la plataforma procede de personas que pagan más que el mínimo, así que deja abierta la posibilidad de donar.</p>
<h2 id="como-conseguir-visibilidad" tabindex="-1">Cómo conseguir visibilidad <a class="header-anchor" href="#como-conseguir-visibilidad" aria-label="Permalink to &quot;Cómo conseguir visibilidad&quot;"></a></h2>
<p>itch.io no cuenta con la promoción algorítmica de Steam. Tú eres responsable de generar tu propia visibilidad.</p>
<p>El descubrimiento se produce mediante las búsquedas —determinadas por las etiquetas, el título y la descripción—, Explorar: populares —determinado por las descargas, las valoraciones y la actualidad—, Explorar: nuevos —determinado por la fecha de publicación—, las colecciones —cuando los jugadores añaden tu juego—, los devlogs —tus actualizaciones— y las apariciones editoriales ocasionales —selecciones del personal, que dependen sobre todo de la suerte—.</p>
<h3 id="como-conseguir-que-tu-juego-se-indexe" tabindex="-1">Cómo conseguir que tu juego se indexe <a class="header-anchor" href="#como-conseguir-que-tu-juego-se-indexe" aria-label="Permalink to &quot;Cómo conseguir que tu juego se indexe&quot;"></a></h3>
<p>Tu juego debe estar indexado para aparecer en las búsquedas y en la sección Explorar. Debe estar publicado de forma pública —no sin listar—, incluir contenido jugable o descargable, tener una imagen de portada, no ser una página provisional y cumplir las normas de contenido.</p>
<p>Cosas que impiden la indexación: páginas que solo incluyen enlaces externos, ausencia de descargas o contenido jugable, visibilidad configurada como «sin listar» y falta de una imagen de portada. Si tu juego está etiquetado como contenido para adultos/NSFW, hay un paso adicional: desde 2025, itch.io exige que esas páginas añadan una advertencia de contenido para indexarlas, y actualmente mantiene el contenido para adultos de pago fuera de las búsquedas mientras trabaja con los procesadores de pagos. Los juegos sin contenido para adultos no se ven afectados.</p>
<p>Una cosa más si es la primera vez que vendes: las cuentas de vendedores nuevas pasan por una breve cola de revisión antes de que se indexe su primer proyecto de pago, normalmente durante unos pocos días laborables. Los vendedores consolidados se saltan este proceso. Si la fecha de lanzamiento es importante, publica o configura tu cuenta de vendedor con suficiente antelación para superar la revisión.</p>
<h3 id="el-impulso-de-«mas-recientes»" tabindex="-1">El impulso de «Más recientes» <a class="header-anchor" href="#el-impulso-de-«mas-recientes»" aria-label="Permalink to &quot;El impulso de «Más recientes»&quot;"></a></h3>
<p>Cuando publicas por primera vez, apareces en «Más recientes», lo que proporciona un pequeño impulso de visibilidad. Esto solo ocurre una vez, así que el momento importa.</p>
<p>Publica cuando tu página esté completa. No publiques antes de tiempo para actualizarla después, porque solo recibes una vez el impulso de «nuevo». Evita los fines de semana, cuando se publican más juegos. Ten en cuenta la zona horaria de tu público objetivo.</p>
<h3 id="los-devlogs-son-tu-arma-secreta" tabindex="-1">Los devlogs son tu arma secreta <a class="header-anchor" href="#los-devlogs-son-tu-arma-secreta" aria-label="Permalink to &quot;Los devlogs son tu arma secreta&quot;"></a></h3>
<p>Los devlogs aparecen en los feeds de tus seguidores y en las secciones de «Devlogs recientes», indican que el desarrollo está activo, generan confianza en la comunidad y ayudan con el SEO.</p>
<p>Publica durante el desarrollo para generar expectación. Publica en el lanzamiento para anunciarlo. Publica después del lanzamiento para informar sobre actualizaciones y nuevas funciones. Intenta publicar entre 1 y 2 veces al mes durante el desarrollo activo.</p>
<p>Algunos temas interesantes son el proceso entre bastidores, nuevas funciones y contenido, respuestas a los comentarios de los jugadores, retos técnicos que hayas resuelto, muestras del arte y la música, e hitos de ventas —dando las gracias a tus jugadores—.</p>
<h2 id="game-jams" tabindex="-1">Game jams <a class="header-anchor" href="#game-jams" aria-label="Permalink to &quot;Game jams&quot;"></a></h2>
<p>Las game jams son la mejor forma de conseguir visibilidad en itch.io. Obtienes una audiencia integrada con miles de visitas en pocos días, una galería específica donde se puede descubrir tu juego, comentarios mediante valoraciones y opiniones, oportunidades para conectar con otros desarrolladores, proyectos de portafolio que muestran tu versatilidad y un entorno de bajo riesgo para crear prototipos con libertad.</p>
<h3 id="estrategia-para-las-jams" tabindex="-1">Estrategia para las jams <a class="header-anchor" href="#estrategia-para-las-jams" aria-label="Permalink to &quot;Estrategia para las jams&quot;"></a></h3>
<p>Al elegir una jam, las más grandes, como Ludum Dare y GMTK, atraen más tráfico, pero también más competencia. Las jams pequeñas o de nicho te ofrecen más posibilidades de destacar. Las jams con temas afines te permiten aprovechar tus puntos fuertes.</p>
<p>Durante la jam, publica tus avances en redes sociales, usa los hashtags de la jam, documenta tu proceso e interactúa con los demás participantes.</p>
<p>En la página de tu juego para la jam, cuida la presentación incluso si se trata de un juego creado durante una jam. Las buenas capturas de pantalla importan. Escribe una descripción clara de lo que es el juego. Incluye los controles.</p>
<p>Después de la jam, juega y valora otras propuestas para establecer contactos. Responde a todos los comentarios. Considera publicar actualizaciones posteriores. Escribe un devlog sobre lo que aprendiste.</p>
<p>Si organizas tu propia jam, el editor de temas para jams recibió una importante mejora en julio de 2026: Google Fonts, colores independientes para botones y enlaces, controles para el radio de las esquinas y la imagen de fondo, y temas que puedes copiar entre jams como JSON. Ahora una página de jam puede tener un aspecto tan pulido como la página de un juego.</p>
<h3 id="los-juegos-de-jams-pueden-convertirse-en-juegos-completos" tabindex="-1">Los juegos de jams pueden convertirse en juegos completos <a class="header-anchor" href="#los-juegos-de-jams-pueden-convertirse-en-juegos-completos" aria-label="Permalink to &quot;Los juegos de jams pueden convertirse en juegos completos&quot;"></a></h3>
<p>Muchos juegos indie de éxito comenzaron como propuestas para jams. Celeste empezó como un juego de jam. Superhot nació como un prototipo creado en 7 días. Hollow Knight evolucionó a partir de un concepto para una jam.</p>
<p>El proceso es el siguiente: recopila comentarios, identifica qué funcionó, pule y amplía el juego y, después, vuelve a publicarlo como proyecto independiente.</p>
<h2 id="marketing-sin-dinero" tabindex="-1">Marketing sin dinero <a class="header-anchor" href="#marketing-sin-dinero" aria-label="Permalink to &quot;Marketing sin dinero&quot;"></a></h2>
<p>No necesitas presupuesto para promocionarte en itch.io. Necesitas constancia.</p>
<h3 id="redes-sociales" tabindex="-1">Redes sociales <a class="header-anchor" href="#redes-sociales" aria-label="Permalink to &quot;Redes sociales&quot;"></a></h3>
<p>Usa Twitter/X para acceder a la mayor comunidad de desarrollo de videojuegos. Utiliza Reddit, en concreto r/indiegaming, r/playmygame y subreddits específicos de tu género. Prueba TikTok para compartir clips breves de jugabilidad. Crea un servidor de Discord y únete a comunidades relevantes. Publica devlogs y tráileres en YouTube.</p>
<p>Para tu calendario de contenidos, publica cada semana con motivo del Screenshot Saturday y comparte actualizaciones sobre el progreso. Publica devlogs cada dos semanas. Anuncia hitos importantes una vez al mes.</p>
<p>Publica GIF de la jugabilidad, contenido sobre el proceso entre bastidores, retos del desarrollo, comparaciones del antes y el después, memes sobre tu juego y reacciones de los jugadores.</p>
<h3 id="contactar-con-influencers" tabindex="-1">Contactar con influencers <a class="header-anchor" href="#contactar-con-influencers" aria-label="Permalink to &quot;Contactar con influencers&quot;"></a></h3>
<p>Los microinfluencers con entre 1.000 y 50.000 seguidores son tus aliados. Encuéntralos buscando «[tu género] indie games» en YouTube, localizando streamers que jueguen a títulos similares y comprobando quién ha cubierto juegos como el tuyo.</p>
<p>Cuando contactes con ellos, personaliza cada correo electrónico. Demuestra que conoces su contenido. Facilítales las cosas incluyendo todos los enlaces. Sé breve. No envíes correos masivos, no exijas cobertura ni presiones con los plazos. Envía un único recordatorio de forma educada.</p>
<p>Una plantilla sencilla funciona: preséntate, menciona que has visto que cubren tu género, describe tu juego en una frase, explica qué lo hace único, ofrece una clave gratuita sin compromiso e incluye enlaces a tu página y a tu kit de prensa.</p>
<h3 id="prensa" tabindex="-1">Prensa <a class="header-anchor" href="#prensa" aria-label="Permalink to &quot;Prensa&quot;"></a></h3>
<p>Para lanzamientos más grandes, contacta con medios de videojuegos indie como IndieGamesPlus, Rock Paper Shotgun, la sección indie de Kotaku y sitios especializados en tu género. Se aplican los mismos principios que al contactar con influencers: personaliza el mensaje, sé breve y facilítales el trabajo.</p>
<h2 id="calendario-de-lanzamiento" tabindex="-1">Calendario de lanzamiento <a class="header-anchor" href="#calendario-de-lanzamiento" aria-label="Permalink to &quot;Calendario de lanzamiento&quot;"></a></h2>
<p>Entre tres y seis meses antes del lanzamiento, empieza a crear tu presencia en redes sociales, únete a comunidades relevantes, comienza a publicar devlogs y consigue seguidores.</p>
<p>Entre uno y dos meses antes, termina los recursos de la página, como las capturas de pantalla y el tráiler, prepara tu kit de prensa, redacta tu lista de influencers y medios y anuncia la fecha de lanzamiento.</p>
<p>Entre una y dos semanas antes, envía claves a influencers y medios, programa tus publicaciones de lanzamiento, prepara el devlog del lanzamiento y da los últimos retoques a tu página.</p>
<p>El día del lanzamiento, publica el juego, comparte el anuncio del lanzamiento en todas partes, interactúa con todos los comentarios, vigila la aparición de errores y da las gracias a los primeros jugadores.</p>
<p>Durante la primera semana después del lanzamiento, responde a todos los comentarios, corrige de inmediato los errores críticos, publica un devlog de actualización y comparte las reseñas positivas.</p>
<p>Después del lanzamiento, sigue publicando actualizaciones periódicas, interactúa con la comunidad, planifica contenido futuro y considera hacer ofertas y participar en lotes.</p>
<h2 id="errores-frecuentes" tabindex="-1">Errores frecuentes <a class="header-anchor" href="#errores-frecuentes" aria-label="Permalink to &quot;Errores frecuentes&quot;"></a></h2>
<p>En cuanto a los errores de la página, no publiques antes de que esté lista. No prescindas de la imagen de portada ni uses una mala. No escribas descripciones formadas por bloques de texto interminables. No lances el juego sin capturas de pantalla. No uses etiquetas incorrectas ni dejes de añadir las necesarias.</p>
<p>En cuanto a los errores de marketing, no esperes hasta el lanzamiento para empezar a promocionar el juego. No publiques una sola vez que «el juego ya está disponible». Interactúa con la comunidad. No esperes que itch.io se encargue del marketing por ti. No ignores los comentarios.</p>
<p>En cuanto a los errores de precios, no establezcas un precio elevado sin tener una audiencia consolidada. No infravalores tu trabajo cobrando 0,99 $ por más de 10 horas de contenido. Establece siempre un precio sugerido en el modelo «paga lo que quieras». Haz ofertas de vez en cuando.
En cuanto a los errores de desarrollo, no dejes que la ampliación del alcance retrase eternamente el lanzamiento. No esperes a que todo sea «perfecto» para publicar. Recopila opiniones desde el principio. No abandones el juego después del lanzamiento.</p>
<h2 id="analiticas" tabindex="-1">Analíticas <a class="header-anchor" href="#analiticas" aria-label="Permalink to &quot;Analíticas&quot;"></a></h2>
<p>Haz un seguimiento de las visitas a la página (cuántas personas la encontraron), las descargas (cuántas probaron tu juego), la tasa de conversión (de visitas a descargas), el número de valoraciones (nivel de interacción), la valoración media (percepción de la calidad), los ingresos y las fuentes de referencia (de dónde procede el tráfico).</p>
<h3 id="diagnostico-de-problemas" tabindex="-1">Diagnóstico de problemas <a class="header-anchor" href="#diagnostico-de-problemas" aria-label="Permalink to &quot;Diagnóstico de problemas&quot;"></a></h3>
<p>Si tienes pocas visitas, es un problema de marketing. Publica más en redes sociales, prueba nuevas comunidades, utiliza mejores hashtags y escribe más diarios de desarrollo.</p>
<p>Si tienes muchas visitas pero pocas descargas, es un problema de la página. Mejora la imagen de portada, consigue mejores capturas de pantalla, escribe una descripción más clara y revisa el precio.</p>
<p>Si tienes muchas descargas pero pocas valoraciones, es un problema de calidad del juego. Corrige errores, mejora el tutorial y la experiencia inicial, y atiende las quejas más habituales.</p>
<h2 id="crecimiento-a-largo-plazo" tabindex="-1">Crecimiento a largo plazo <a class="header-anchor" href="#crecimiento-a-largo-plazo" aria-label="Permalink to &quot;Crecimiento a largo plazo&quot;"></a></h2>
<h3 id="crear-una-audiencia" tabindex="-1">Crear una audiencia <a class="header-anchor" href="#crear-una-audiencia" aria-label="Permalink to &quot;Crear una audiencia&quot;"></a></h3>
<p>Los seguidores de itch.io son muy valiosos. Reciben notificaciones sobre nuevos lanzamientos, ven tus diarios de desarrollo y es probable que compren tus próximos juegos.</p>
<p>Consigue más seguidores pidiéndoles que te sigan al final de tus juegos, mencionándolo en los diarios de desarrollo, enlazando tu perfil desde las redes sociales y priorizando la calidad sobre la cantidad.</p>
<p>Si tienes un Patreon, la integración de Patreon con itch.io se reconstruyó en julio de 2026 sobre la API más reciente de Patreon. Ahora el acceso a tus juegos se concede según el nivel de membresía, en lugar del importe aportado, lo que soluciona los antiguos problemas de incompatibilidad entre monedas. Es una forma sencilla de ofrecer versiones preliminares a tus colaboradores directamente en itch.io.</p>
<h3 id="tu-catalogo-genera-un-efecto-acumulativo" tabindex="-1">Tu catálogo genera un efecto acumulativo <a class="header-anchor" href="#tu-catalogo-genera-un-efecto-acumulativo" aria-label="Permalink to &quot;Tu catálogo genera un efecto acumulativo&quot;"></a></h3>
<p>Tu segundo juego será más fácil de lanzar que el primero. Ya tienes seguidores, puedes promocionar tus juegos entre sí, cuentas con una reputación establecida y has adquirido experiencia.</p>
<p>La estrategia es la siguiente: lanza el primer juego y consigue seguidores, promociona el juego 2 entre quienes jugaron al juego 1, agrupa los juegos en paquetes y deja que cada juego haga crecer tu audiencia.</p>
<h3 id="ofertas-y-paquetes" tabindex="-1">Ofertas y paquetes <a class="header-anchor" href="#ofertas-y-paquetes" aria-label="Permalink to &quot;Ofertas y paquetes&quot;"></a></h3>
<p>Al organizar ofertas, es habitual aplicar descuentos del 20 al 50 %. Haz que coincidan con días festivos. Anúncialas en las redes sociales. Actualiza tu diario de desarrollo.</p>
<p>También merece la pena participar en las ofertas estacionales de todo el sitio. Desde las rebajas de verano de 2026, itch.io incluye un explorador de ofertas que permite a los jugadores buscar juegos rebajados mediante filtros de precio, exclusiones de etiquetas, selecciones del equipo y recomendaciones personalizadas, por lo que participar en las rebajas hace que tu juego aparezca realmente en las búsquedas. Unirse solo requiere un clic: durante las ofertas activas de todo el sitio, tu panel de creador muestra un enlace preconfigurado para añadir una promoción.</p>
<p>Participar en paquetes aumenta la visibilidad, atrae a nuevos jugadores y funciona bien para juegos antiguos. itch.io organiza ocasionalmente paquetes benéficos en los que merece la pena participar. La gestión de paquetes recibió una importante renovación en julio de 2026: quienes los organizan pueden importar juegos en bloque desde URL de jams o colecciones y reordenar los proyectos mediante la función de arrastrar y soltar, lo que facilita la organización de paquetes comunitarios.</p>
<h2 id="juegos-web-en-itch-io" tabindex="-1">Juegos web en itch.io <a class="header-anchor" href="#juegos-web-en-itch-io" aria-label="Permalink to &quot;Juegos web en itch.io&quot;"></a></h2>
<p>Los juegos HTML5 y WebGL tienen varias ventajas en itch.io. Se pueden jugar al instante, sin la barrera de una descarga. Son compatibles con dispositivos móviles si admites controles táctiles. Son fáciles de compartir mediante enlaces directos. Son ideales para jams porque se pueden probar rápidamente.</p>
<p>En cuanto a la optimización, el tiempo de carga es importante, así que procura que la carga inicial sea pequeña. Muestra una barra de carga o un porcentaje. Haz pruebas en Chrome, Firefox, Safari y Edge. Añade controles táctiles si es viable. Incluye un botón de pantalla completa.</p>
<p>Para los ajustes de inserción, utiliza un ancho de 960 px (o la resolución nativa de tu juego) y una altura de 540 px para una relación de aspecto de 16:9. Activa la compatibilidad con dispositivos móviles si el diseño es adaptable. Activa el botón de pantalla completa. Desactiva las barras de desplazamiento.</p>
<p>Conoce los límites de carga antes de crear tu versión. Tu archivo ZIP HTML5 debe extraerse en un máximo de 1000 archivos y ocupar como máximo 500 MB en total, sin que ningún archivo individual supere los 200 MB. Si tu versión excede esos límites, reduce los recursos o retrasa la carga del contenido pesado en lugar de solicitar un aumento del límite.</p>
<p>Para mejorar el rendimiento, carga los recursos bajo demanda, comprime las texturas, minimiza tu paquete de JavaScript, utiliza WebGL de forma eficiente y haz pruebas en dispositivos de gama baja.</p>
<h2 id="recursos" tabindex="-1">Recursos <a class="header-anchor" href="#recursos" aria-label="Permalink to &quot;Recursos&quot;"></a></h2>
<p>Para consultar la documentación oficial, visita la <a href="https://itch.io/docs/creators/" target="_blank" rel="noreferrer">documentación para creadores de itch.io</a>, la <a href="https://itch.io/docs/creators/getting-indexed" target="_blank" rel="noreferrer">guía para aparecer en el índice</a> y la <a href="https://itch.io/docs/creators/pricing" target="_blank" rel="noreferrer">guía de precios</a>.</p>
<p>Para encontrar comunidades, visita los <a href="https://itch.io/community" target="_blank" rel="noreferrer">foros de la comunidad de itch.io</a>, <a href="https://reddit.com/r/itchio" target="_blank" rel="noreferrer">r/itchio</a>, <a href="https://reddit.com/r/indiegaming" target="_blank" rel="noreferrer">r/indiegaming</a> y <a href="https://reddit.com/r/IndieDev" target="_blank" rel="noreferrer">r/IndieDev</a>.</p>
<p>Entre las herramientas disponibles, <a href="https://itch.io/docs/butler/" target="_blank" rel="noreferrer">itch.io Butler</a> gestiona las cargas mediante diferencias basadas en parches, de modo que las actualizaciones solo transfieren lo que ha cambiado. Desde mayo de 2026 ni siquiera necesitas usar la línea de comandos: la aplicación de itch (versión 26.12.0 o posterior) cuenta con una sección de carga que ofrece una interfaz gráfica para butler, con una vista previa de los archivos modificados antes de cada envío. <a href="https://dopresskit.com/" target="_blank" rel="noreferrer">Presskit()</a> genera kits de prensa.</p>
<h2 id="la-version-resumida" tabindex="-1">La versión resumida <a class="header-anchor" href="#la-version-resumida" aria-label="Permalink to &quot;La versión resumida&quot;"></a></h2>
<p>Antes del lanzamiento, asegúrate de que tu juego sea jugable y esté lo bastante pulido, que su página tenga una excelente imagen de portada, que incluyas al menos 3 capturas de pantalla e, idealmente, un GIF o tráiler, que la descripción sea clara y fácil de leer, que hayas seleccionado todas las etiquetas pertinentes, decidido el precio, comenzado tu presencia en redes sociales y publicado diarios de desarrollo.</p>
<p>En el momento del lanzamiento, tu página debe estar completa al 100 %, publicada de forma pública y anunciada en todas partes, y debes interactuar con los comentarios.</p>
<p>Después del lanzamiento, responde a los comentarios, corrige los errores rápidamente, sigue publicando diarios de desarrollo y avanza hacia tu próximo lanzamiento.</p>
<p>La mayoría de los juegos independientes de éxito tardaron años y necesitaron varios lanzamientos para encontrar su audiencia. Probablemente tu primer juego no será un éxito, y no pasa nada. Cada lanzamiento te enseña algo, hace crecer tu audiencia y te acerca al juego que logrará destacar.</p>
<p>Publícalo. Aprende. Repite.</p>
<hr>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿como-consigo-que-mi-juego-destaque-en-itch-io" tabindex="-1">¿Cómo consigo que mi juego destaque en itch.io? <a class="header-anchor" href="#¿como-consigo-que-mi-juego-destaque-en-itch-io" aria-label="Permalink to &quot;¿Cómo consigo que mi juego destaque en itch.io?&quot;"></a></h3>
<p>Las etiquetas son la herramienta más importante que la mayoría de la gente ignora. Las páginas de exploración de itch.io están organizadas por etiquetas, y así es como la mayoría de los jugadores encuentran contenido nuevo. Elige todas las etiquetas pertinentes, no solo las más obvias. Después vienen los diarios de desarrollo. Cada publicación del diario hace que tu juego vuelva a aparecer en los feeds y ofrece a los buscadores más contenido que indexar. Participa también en jams de videojuegos: son la forma más rápida de conseguir visibilidad cuando empiezas desde cero. Y aprovecha al máximo tu imagen de portada. Es lo primero que ve la gente al desplazarse por la página, y la mayoría decide en menos de un segundo si hace clic.</p>
<h3 id="¿se-puede-ganar-dinero-en-itch-io" tabindex="-1">¿Se puede ganar dinero en itch.io? <a class="header-anchor" href="#¿se-puede-ganar-dinero-en-itch-io" aria-label="Permalink to &quot;¿Se puede ganar dinero en itch.io?&quot;"></a></h3>
<p>Sí, pero ajusta tus expectativas. itch.io utiliza de forma predeterminada un modelo de «paga lo que quieras», y la plataforma te permite conservar hasta el 100 % de los ingresos (tú decides qué porcentaje compartir). A algunos desarrolladores les va bien con juegos prémium que cuestan entre 5 y 15 dólares, especialmente después de crear una audiencia mediante lanzamientos gratuitos y participaciones en jams. La plataforma no te hará rico de la noche a la mañana, pero es uno de los pocos lugares donde conservas el control total sobre los precios y los pagos, prácticamente sin barreras de entrada.</p>
<h3 id="¿es-itch-io-una-buena-plataforma-para-juegos-de-navegador" tabindex="-1">¿Es itch.io una buena plataforma para juegos de navegador? <a class="header-anchor" href="#¿es-itch-io-una-buena-plataforma-para-juegos-de-navegador" aria-label="Permalink to &quot;¿Es itch.io una buena plataforma para juegos de navegador?&quot;"></a></h3>
<p>Sinceramente, es uno de los mejores sitios para ellos. Los juegos de navegador se juegan más en itch.io porque no existe la fricción de tener que descargarlos. Los jugadores hacen clic y ya están dentro. La plataforma admite de forma nativa la inserción de juegos HTML5/WebGL, por lo que tu juego aparece directamente en la página. Especialmente en las jams, los juegos de navegador reciben muchas más valoraciones que los descargables porque los jueces pueden probarlos al instante. Mantén la carga inicial por debajo de unos pocos MB y muestra una barra de progreso; así retendrás a más jugadores de los que imaginas.</p>
<hr>
<BuildCta
  title="¿Necesitas algo que lanzar?"
  desc="Crea un juego web y expórtalo como una versión HTML5 autónoma para itch.io."
  prompt="Crea un endless runner pulido que pueda exportar y publicar en itch.io" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/game-jams-hackathons.html">Jams de videojuegos y hackatones</a> — las jams son la forma más rápida de crear una audiencia en itch.io</li>
<li><a href="/es/tutorials/iframe-embedding-games.html">Insertar juegos mediante iframe</a> — guía técnica para insertar juegos de navegador en iframes</li>
<li><a href="/es/tutorials/ship-web-game-fast.html">Publica un juego web que cargue rápido</a> — optimiza los tiempos de carga de los juegos insertados en itch.io</li>
<li><a href="/es/guides/steam-next-fest-strategy.html">Estrategia para Steam Next Fest</a> — si estás considerando un lanzamiento multiplataforma</li>
<li><a href="/es/guides/web-game-monetization.html">Monetización de juegos web: lo que dicen realmente los datos</a> — datos honestos sobre ingresos en itch.io y otros portales</li>
<li><a href="/es/guides/publish-game-poki.html">Cómo publicar tu juego en Poki</a> — la vía de los portales con selección editorial, frente al modelo abierto de itch.io</li>
<li><a href="/es/guides/publish-game-crazygames.html">Cómo publicar tu juego en CrazyGames</a> — otro gran portal con selección editorial para llegar más allá de itch.io</li>
<li><a href="/es/guides/publish-game-discord-activities.html">Cómo publicar un juego en las Actividades de Discord</a> — publica la misma versión web en Discord</li>
<li><a href="/es/guides/web-game-engines-comparison.html">Comparativa de motores para juegos web</a> — elige un motor que exporte versiones web sin complicaciones</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/itch-io-launch-guide.jpg?v=4" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Three.js + USDC en el navegador]]></title>
            <link>https://app.cinevva.com/es/guides/threejs-usdc-tech-report</link>
            <guid>https://app.cinevva.com/es/guides/threejs-usdc-tech-report</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Cómo cargar archivos binarios USD en Three.js sin WASM ni código nativo]]></description>
            <content:encoded><![CDATA[<h1 id="three-js-usdc-en-el-navegador" tabindex="-1">Three.js + USDC en el navegador <a class="header-anchor" href="#three-js-usdc-en-el-navegador" aria-label="Permalink to &quot;Three.js + USDC en el navegador&quot;"></a></h1>
<p>Tienes un archivo <code>.usdc</code> procedente de Maya o Houdini y quieres mostrarlo en una escena de Three.js. Yo también he pasado por eso. Hasta hace poco, las opciones no eran muy buenas. Podías convertirlo a glTF sin conexión, preparar una compilación WASM de OpenUSD o simplemente rendirte y utilizar otro formato.</p>
<p>Esta guía muestra cómo analizar USDC directamente en JavaScript mediante <code>@cinevva/usdjs</code> y cómo llevar esos datos a Three.js.</p>
<h2 id="¿que-es-usdc" tabindex="-1">¿Qué es USDC? <a class="header-anchor" href="#¿que-es-usdc" aria-label="Permalink to &quot;¿Qué es USDC?&quot;"></a></h2>
<p>Los archivos USD se presentan en tres variantes. USDA es la versión de texto, legible para humanos y fácil de depurar, pero verbosa. USDC (a veces llamado «Crate») es el formato binario que utilizan realmente los flujos de producción porque es compacto y se carga rápido en herramientas nativas. USDZ es un archivo ZIP que contiene USDC junto con texturas y que Apple utiliza para AR Quick Look.</p>
<p>Este es el problema: USDC es un formato binario propietario. Pixar escribió la implementación de referencia en C++ y, hasta ahora, no existía una forma basada únicamente en JavaScript de leerlo. Eso está empezando a cambiar: en diciembre de 2025, la Alliance for OpenUSD publicó la Especificación principal 1.0, el primer estándar ratificado que documenta cómo se estructuran, componen e intercambian los datos de escena de OpenUSD, y ya se está preparando una revisión 1.1. Sin embargo, la implementación de referencia sigue estando en el código C++ de Pixar, por lo que un lector independiente continúa siendo la forma práctica de acceder al formato desde JavaScript.</p>
<h2 id="por-que-podria-interesarte" tabindex="-1">Por qué podría interesarte <a class="header-anchor" href="#por-que-podria-interesarte" aria-label="Permalink to &quot;Por qué podría interesarte&quot;"></a></h2>
<p>Si estás creando aplicaciones web 3D que deben trabajar con contenido procedente de flujos de cine o efectos visuales, acabarás encontrándote con USD. Los artistas exportan desde Maya, Houdini o Blender, y esas exportaciones suelen estar en USDC.</p>
<p>Antes de <code>@cinevva/usdjs</code>, tenías tres opciones. Podías ejecutar <code>usdcat</code> para convertir USDC al formato de texto, lo que añade un paso al proceso de compilación y elimina la ventaja del tamaño compacto del formato binario. Podías compilar OpenUSD o TinyUSDZ a WebAssembly, lo que añade varios megabytes a tu paquete y requiere cabeceras especiales del servidor para utilizar hilos. O podías usar el USDLoader integrado en Three.js, que admite USDZ, pero ofrece compatibilidad limitada con USDC y una composición mínima.</p>
<p>Ahora hay una cuarta opción: analizar USDC de forma nativa en JavaScript.</p>
<h2 id="como-funciona" tabindex="-1">Cómo funciona <a class="header-anchor" href="#como-funciona" aria-label="Permalink to &quot;Cómo funciona&quot;"></a></h2>
<p>La biblioteca <code>@cinevva/usdjs</code> reimplementa la funcionalidad principal de USD en TypeScript. Creé el analizador de USDC leyendo el código fuente C++ de Pixar y trasladando la especificación del formato Crate a JavaScript. Cuando existe alguna ambigüedad de comportamiento, reproducimos lo que hace OpenUSD.</p>
<p>En la práctica, se utiliza así:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { parseUsdcToLayer } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '@cinevva/usdjs'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Fetch the USDC file</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> response</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> await</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> fetch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'/model.usdc'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> buffer</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> response.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">arrayBuffer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Parse it</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> layer</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> parseUsdcToLayer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(buffer, { identifier: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'model.usdc'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> });</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Now you have a structured layer with prims, properties, and metadata</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(layer.pseudoRoot.children);</span></span></code></pre>
</div><p>Sin WASM. Sin código nativo. Solo JavaScript leyendo bytes y creando una representación estructurada.</p>
<h2 id="como-integrarlo-en-three-js" tabindex="-1">Cómo integrarlo en Three.js <a class="header-anchor" href="#como-integrarlo-en-three-js" aria-label="Permalink to &quot;Cómo integrarlo en Three.js&quot;"></a></h2>
<p>Analizar USD solo resuelve la mitad del problema. También necesitas convertir los conceptos de USD —prims, transformaciones y esquemas de malla— en objetos de Three.js.</p>
<p>Este es un ejemplo mínimo que carga un archivo USDC y crea mallas de Three.js:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> *</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> as</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> THREE </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'three'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { UsdStage, parseUsdcToLayer } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '@cinevva/usdjs'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">async</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> loadUsdcToThree</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">url</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> string</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">scene</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> THREE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Scene</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // 1. Fetch and parse</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> buffer</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> await</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> fetch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(url).</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">then</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">r</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> r.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">arrayBuffer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">());</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> layer</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> parseUsdcToLayer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(buffer, { identifier: url });</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // 2. Create a stage (handles composition if there are references)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> stage</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> UsdStage.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">open</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(layer);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // 3. Walk the prim tree</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> prim</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> of</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> stage.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">traverse</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">()) {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Skip non-geometry</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (prim.typeName </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">!==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'Mesh'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">continue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Get geometry data</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> points</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> prim.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'points'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)?.value;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> faceVertexIndices</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> prim.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'faceVertexIndices'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)?.value;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> faceVertexCounts</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> prim.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'faceVertexCounts'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)?.value;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">points </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">||</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> !</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">faceVertexIndices </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">||</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> !</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">faceVertexCounts) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">continue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Convert to Three.js geometry</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> geometry</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> THREE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">BufferGeometry</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    geometry.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">setAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'position'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">      new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> THREE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Float32BufferAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(points.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">flat</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(), </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    );</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // USD uses faceVertexCounts + faceVertexIndices, Three.js wants a flat index array</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // For triangulated meshes, this is straightforward:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    geometry.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">setIndex</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(Array.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(faceVertexIndices));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    geometry.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">computeVertexNormals</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Create mesh</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> material</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> THREE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">MeshStandardMaterial</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({ color: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0x888888</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> });</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mesh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> THREE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Mesh</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(geometry, material);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Apply transform</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> xform</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> getWorldTransform</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(prim);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    mesh.matrix.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">fromArray</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(xform);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    mesh.matrixAutoUpdate </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> false</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    scene.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">add</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(mesh);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> getWorldTransform</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">prim</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[] {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Simplified: in practice you'd compose parent transforms</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> xformOp</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> prim.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'xformOp:transform'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (xformOp?.value) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> xformOp.value.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">flat</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>Este ejemplo está simplificado. El código real debe gestionar el apilamiento de transformaciones (los prims de USD pueden tener varios atributos <code>xformOp</code> que se componen entre sí), las superficies de subdivisión (las mallas con subdivisión <code>catmullClark</code> necesitan subdividirse realmente), los materiales (los parámetros de <code>UsdPreviewSurface</code> se asignan a <code>MeshStandardMaterial</code> de Three.js), las texturas (las rutas de recursos deben resolverse y cargarse) y la animación esquelética (los enlaces de <code>UsdSkel</code> deben convertirse a <code>SkinnedMesh</code>).</p>
<p>Si quieres ver cómo funciona todo esto en conjunto, consulta <code>@cinevva/usdjs-viewer</code>. Es una implementación de referencia completa.</p>
<h2 id="la-composicion-importa-mas-de-lo-que-parece" tabindex="-1">La composición importa más de lo que parece <a class="header-anchor" href="#la-composicion-importa-mas-de-lo-que-parece" aria-label="Permalink to &quot;La composición importa más de lo que parece&quot;"></a></h2>
<p>Analizar un único archivo USDC es la parte fácil. Las escenas USD reales utilizan composición, lo que significa que las subcapas, referencias, cargas y variantes funcionan todas en conjunto.</p>
<p>Imagina el modelo de un coche. La carrocería hace referencia a <code>body.usdc</code>, las ruedas hacen referencia a <code>wheel.usdc</code> y existen variantes para las configuraciones «sport» y «sedan». La escena final se ensambla a partir de todas estas piezas en tiempo de ejecución.</p>
<p>Así es como puedes gestionarlo:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { UsdStage, parseUsdcToLayer, FetchResolver } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '@cinevva/usdjs'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Create a resolver that knows how to fetch referenced files</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> resolver</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> FetchResolver</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  baseUrl: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'/assets/'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">});</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Open with composition</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> stage</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> UsdStage.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">open</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(rootLayer, { resolver });</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Set a variant selection</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">stage.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">setVariantSelection</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'/Car'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'bodyStyle'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'sport'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Now traverse the composed scene</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> prim</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> of</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> stage.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">traverse</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">()) {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // You'll see resolved references and the selected variant</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>El resolutor obtiene los archivos USDC referenciados cuando son necesarios. La composición se realiza en JavaScript y produce la escena aplanada que obtendrías mediante <code>usdcat --flatten</code>.</p>
<h2 id="rendimiento" tabindex="-1">Rendimiento <a class="header-anchor" href="#rendimiento" aria-label="Permalink to &quot;Rendimiento&quot;"></a></h2>
<p>Seamos sinceros: analizar USDC en JavaScript es más lento que hacerlo en C++ nativo. Es el precio de prescindir de WASM y de pasos adicionales de compilación.</p>
<p>En la práctica, para los casos de uso web habituales con modelos de menos de 10 MB y menos de 100 000 triángulos, el análisis tarda entre 50 y 200 ms en hardware moderno. Es un tiempo aceptable para la carga inicial si muestras un indicador de carga.</p>
<p>Puedes acelerarlo. No cargues toda la escena por adelantado. Carga la capa raíz, renderiza lo que puedas y, después, obtén las cargas bajo demanda. Traslada el análisis a un Web Worker para que la interfaz siga respondiendo. Almacena en caché las capas analizadas en IndexedDB para que las visitas posteriores sean instantáneas. Muestra una vista previa de baja resolución mientras se transmite la escena completa.</p>
<p>Esta es una configuración con Web Worker:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// worker.ts</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { parseUsdcToLayer } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '@cinevva/usdjs'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">self.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">onmessage</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> async</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">e</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">buffer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">identifier</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> e.data;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> layer</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> parseUsdcToLayer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(buffer, { identifier });</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Serialize layer data (not the methods)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> data</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> serializeLayer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(layer);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  self.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">postMessage</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(data);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">};</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// main.ts</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> worker</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Worker</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> URL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'./worker.ts'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">meta</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.url));</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">worker.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">postMessage</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({ buffer, identifier: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'model.usdc'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> });</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">worker.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">onmessage</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">e</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> layerData</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> e.data;</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Build Three.js scene from layerData</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">};</span></span></code></pre>
</div><h2 id="que-funciona-y-que-no" tabindex="-1">Qué funciona y qué no <a class="header-anchor" href="#que-funciona-y-que-no" aria-label="Permalink to &quot;Qué funciona y qué no&quot;"></a></h2>
<p>La mayoría de las funciones habituales están disponibles. La geometría —mallas, puntos y curvas— se analiza correctamente, incluidos los arrays de vértices comprimidos. Las transformaciones funcionan con el apilamiento completo de <code>xformOp</code>. Los materiales se convierten de <code>UsdPreviewSurface</code> a PBR. La composición admite subcapas, referencias, cargas, variantes y herencias. Las texturas se resuelven y cargan si proporcionas un resolutor. La animación esquelética básica funciona con los rigs de personajes más comunes.</p>
<p>Sin embargo, todavía hay carencias. Esto no es una implementación de Hydra, por lo que eres responsable de convertir los datos USD al motor de renderizado que utilices. No hay API de esquemas tipadas como <code>UsdGeomMesh</code> con métodos prácticos. Se trabaja con prims y atributos genéricos. Algunas funciones de composición, como las especializaciones, las reubicaciones y los clips de valores, aún no están implementadas. Las redes de materiales complejas que vayan más allá de un <code>UsdPreviewSurface</code> sencillo requieren un tratamiento personalizado.</p>
<h2 id="cuando-utilizarlo" tabindex="-1">Cuándo utilizarlo <a class="header-anchor" href="#cuando-utilizarlo" aria-label="Permalink to &quot;Cuándo utilizarlo&quot;"></a></h2>
<p>Esta opción resulta adecuada si necesitas cargar archivos USD en una aplicación web sin un paso de compilación de WASM, si tu flujo de trabajo produce USDC y no quieres convertirlo a glTF, si estás creando un visor o editor de USD para el navegador, o si quieres inspeccionar la estructura de USD en lugar de limitarte a renderizarla.</p>
<p>Utiliza otra solución si necesitas una compatibilidad total con OpenUSD, incluidos todos los casos extremos; si tus escenas son enormes —más de 100 MB— y requieren rendimiento nativo; o si ya utilizas una compilación WASM y su complejidad es aceptable para tu proyecto.</p>
<h2 id="recursos" tabindex="-1">Recursos <a class="header-anchor" href="#recursos" aria-label="Permalink to &quot;Recursos&quot;"></a></h2>
<p>Los tres paquetes son <code>@cinevva/usdjs</code> para el análisis y la composición principales, <code>@cinevva/usdjs-viewer</code> para un visor de navegador basado en Three.js y <code>@cinevva/usdjs-renderer</code> para renderizar archivos PNG sin interfaz gráfica durante las pruebas.</p>
<p>Para consultar la documentación, visita la <a href="https://cinevva-engine.github.io/usdjs/API" target="_blank" rel="noreferrer">Referencia de la API de usdjs</a>, la <a href="https://openusd.org/release/index.html" target="_blank" rel="noreferrer">Especificación OpenUSD de Pixar</a> y la <a href="https://threejs.org/docs/" target="_blank" rel="noreferrer">Documentación de Three.js</a>.</p>
<p>Si quieres entender cómo se corresponde el analizador de USDC con la implementación de Pixar, consulta <code>src/usdc/PIXAR_PARITY.md</code> en el repositorio de usdjs.</p>
<h2 id="pruebalo" tabindex="-1">Pruébalo <a class="header-anchor" href="#pruebalo" aria-label="Permalink to &quot;Pruébalo&quot;"></a></h2>
<p>La forma más rápida de verlo en funcionamiento es visitar la <a href="https://cinevva-engine.github.io/usdjs-viewer/" target="_blank" rel="noreferrer">demostración de usdjs-viewer</a> y soltar en ella un archivo USDC.</p>
<p>Para integrarlo en tu propio proyecto, instala el paquete y comienza con los ejemplos de código anteriores:</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> @cinevva/usdjs</span></span></code></pre>
</div><p>USD en el navegador es posible. No siempre es la opción adecuada, pero, cuando lo necesitas, el análisis basado únicamente en JavaScript supone un paso menos en el proceso de compilación y una dependencia menos de la que preocuparte.</p>
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/tutorials/webgl-fundamentals-for-games.html">Fundamentos de WebGL para desarrolladores de juegos</a> — la API de renderizado que impulsa las escenas de Three.js</li>
<li><a href="/es/guides/web-games-stack-2026.html">Tecnologías para juegos web en 2026</a> — el lugar que ocupa Three.js en el ecosistema de WebGL, WebGPU y Wasm</li>
<li><a href="/es/guides/browser-3d-open-world-tech.html">Tecnología para mundos abiertos 3D en el navegador</a> — transmisión de recursos 3D, incluido USD, para mundos abiertos</li>
<li><a href="/es/guides/game-assets-guide.html">Dónde encontrar recursos gratuitos para juegos</a> — fuentes de modelos 3D compatibles con Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/threejs-usdc-tech-report.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Los 11 mejores motores de juegos web para 2026, clasificados y comparados]]></title>
            <link>https://app.cinevva.com/es/guides/web-game-engines-comparison</link>
            <guid>https://app.cinevva.com/es/guides/web-game-engines-comparison</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Comparamos 11 motores de juegos web por tamaño de compilación, tiempo de carga, 2D frente a 3D, WebGPU y coste. Descubre cuál es el mejor para tu proyecto, desde Unity y Godot hasta PlayCanvas, Defold y Phaser.]]></description>
            <content:encoded><![CDATA[<h1 id="mejores-motores-de-juegos-web-para-2026-comparados" tabindex="-1">Mejores motores de juegos web para 2026 (comparados) <a class="header-anchor" href="#mejores-motores-de-juegos-web-para-2026-comparados" aria-label="Permalink to &quot;Mejores motores de juegos web para 2026 (comparados)&quot;"></a></h1>
<p><em>Última actualización: julio de 2026.</em></p>
<p>¿Estás creando un juego para la web? El motor que elijas lo determina todo: el tamaño de la compilación, el tiempo de carga, la fidelidad visual y qué parte de tu público podrá jugar realmente.</p>
<p>Esta guía compara los mejores motores de juegos web disponibles en 2026, desde motores completos como Unity y Godot hasta frameworks JavaScript ligeros como Phaser y PixiJS.</p>
<p><strong>Qué cambió en 2026:</strong> WebGPU por fin está disponible en todas partes. Safari 26 (septiembre de 2025) añadió WebGPU en macOS, iPadOS, iOS y visionOS, eliminando el último gran obstáculo, por lo que el antiguo consejo de «usar WebGL por culpa de Safari» ha quedado obsoleto. Three.js incluye un renderizador WebGPU que no requiere configuración y cambia automáticamente a WebGL2 cuando es necesario, mientras que PlayCanvas ofrece la implementación de WebGPU más madura del grupo. Sin embargo, la exportación web de Godot sigue limitada a WebGL 2.0, aunque Godot 4.7 (junio de 2026) añadió exportaciones wasm64 que eliminan el antiguo límite de memoria de 4 GB. WebGPU aún debe activarse expresamente o es experimental en la mayoría de los motores, en lugar de ser la opción predeterminada, pero la compatibilidad de los navegadores que impedía su adopción ya está disponible.</p>
<BuildCta
  title="¿Solo quieres crear un juego y no estudiar motores?"
  desc="Escribe una frase y Cinevva creará a partir de ella un juego web 3D jugable mientras lees esta guía."
  prompt="Crea un juego de plataformas 3D con plataformas móviles y un temporizador" />
<h2 id="mejores-motores-de-juegos-web-para-2026-seleccion-rapida" tabindex="-1">Mejores motores de juegos web para 2026: selección rápida <a class="header-anchor" href="#mejores-motores-de-juegos-web-para-2026-seleccion-rapida" aria-label="Permalink to &quot;Mejores motores de juegos web para 2026: selección rápida&quot;"></a></h2>
<p>¿Tienes poco tiempo? Estos son los ámbitos en los que destaca cada motor en 2026.</p>
<h3 id="mejores-motores-de-juegos-web-3d" tabindex="-1">Mejores motores de juegos web 3D <a class="header-anchor" href="#mejores-motores-de-juegos-web-3d" aria-label="Permalink to &quot;Mejores motores de juegos web 3D&quot;"></a></h3>
<p>PlayCanvas lidera el 3D pensado para el navegador: un runtime de 1-2 MB, el renderizador WebGPU más preparado para producción entre todos los motores web y un editor colaborativo en la nube. Godot y Cocos Creator son buenas alternativas gratuitas, mientras que Unity WebGL funciona si también necesitas compilaciones nativas y puedes aceptar una descarga de más de 8 MB.</p>
<h3 id="mejores-motores-de-juegos-2d-para-2026" tabindex="-1">Mejores motores de juegos 2D para 2026 <a class="header-anchor" href="#mejores-motores-de-juegos-2d-para-2026" aria-label="Permalink to &quot;Mejores motores de juegos 2D para 2026&quot;"></a></h3>
<p>Defold y Phaser son las opciones destacadas para 2D. Defold genera las compilaciones más pequeñas (~1,14 MB) y carga más rápido; Phaser ofrece un framework completo con todo incluido y la comunidad más grande. Para quienes no programan, Construct y GDevelop permiten crear juegos 2D visualmente y sin código. Para consultar el análisis completo, visita <a href="/es/guides/best-2d-game-engines-2026.html">mejores motores de juegos 2D para 2026</a>.</p>
<h3 id="mejores-motores-de-juegos-wasm" tabindex="-1">Mejores motores de juegos Wasm <a class="header-anchor" href="#mejores-motores-de-juegos-wasm" aria-label="Permalink to &quot;Mejores motores de juegos Wasm&quot;"></a></h3>
<p>Si el rendimiento de WebAssembly es prioritario, Godot (Wasm + SIMD de forma predeterminada), Defold (runtime Wasm) y Cocos Creator (físicas Wasm con mejoras de entre 5 y 9 veces) compilan juegos web rápidos y compactos. Wasm permite que estos motores funcionen dentro del navegador a velocidades cercanas a las nativas.</p>
<h3 id="mejores-motores-de-juegos-web-gratuitos-y-de-codigo-abierto" tabindex="-1">Mejores motores de juegos web gratuitos y de código abierto <a class="header-anchor" href="#mejores-motores-de-juegos-web-gratuitos-y-de-codigo-abierto" aria-label="Permalink to &quot;Mejores motores de juegos web gratuitos y de código abierto&quot;"></a></h3>
<p>Godot, Phaser, PixiJS, Defold y Excalibur.js son gratuitos y de código abierto, por lo que no tienen tarifas de licencia ni umbrales de ingresos. Godot es el motor gratuito más completo tanto para 2D como para 3D.</p>
<h2 id="la-clasificacion" tabindex="-1">La clasificación <a class="header-anchor" href="#la-clasificacion" aria-label="Permalink to &quot;La clasificación&quot;"></a></h2>
<p>Este orden está pensado específicamente para proyectos centrados en la web y tiene en cuenta el tamaño de compilación, el tiempo de carga y hasta qué punto cada motor es realmente nativo de la web. Si tu proyecto prioriza las plataformas nativas, móviles o consolas, el orden cambia y los motores más pesados ascienden en la clasificación.</p>
<ol>
<li><strong>PlayCanvas</strong>: el mejor para 3D centrado en el navegador, con el runtime más pequeño y la implementación de WebGPU más madura.</li>
<li><strong>Defold</strong>: el mejor para generar las compilaciones web más pequeñas y rápidas de cargar.</li>
<li><strong>Phaser</strong>: el mejor para 2D basado en código y con la mayor comunidad de HTML5.</li>
<li><strong>Godot</strong>: el mejor motor gratuito y de código abierto para desarrollar tanto en 2D como en 3D.</li>
<li><strong>Cocos Creator</strong>: el mejor para minijuegos y el mercado web asiático.</li>
<li><strong>Construct</strong>: el mejor para crear juegos 2D sin código y aun así generar compilaciones web limpias.</li>
<li><strong>GDevelop</strong>: la mejor opción gratuita, de código abierto y sin código para 2D y 3D ligero.</li>
<li><strong>PixiJS</strong>: el mejor para renderizado 2D personalizado con el menor tamaño.</li>
<li><strong>Excalibur.js</strong>: el mejor para juegos 2D con TypeScript que necesitan más estructura que un simple renderizador.</li>
<li><strong>Unity</strong>: el mejor cuando la web es secundaria frente a escritorio, móviles o consolas.</li>
<li><strong>Unreal</strong>: el mejor para visualización de alta fidelidad mediante Pixel Streaming, no para verdaderos juegos web.</li>
</ol>
<h2 id="tabla-de-referencia-rapida" tabindex="-1">Tabla de referencia rápida <a class="header-anchor" href="#tabla-de-referencia-rapida" aria-label="Permalink to &quot;Tabla de referencia rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Motor</th>
<th>Tipo</th>
<th>Tecnología web</th>
<th>Tamaño de compilación (vacía)</th>
<th>Ideal para</th>
<th>Coste</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://unity.com/" target="_blank" rel="noreferrer"><strong>Unity</strong></a></td>
<td>Motor completo</td>
<td>WebGL</td>
<td>~8 MB</td>
<td>Juegos 3D, multiplataforma</td>
<td>Gratis por debajo de $200K; Pro $2.310/año</td>
</tr>
<tr>
<td><a href="https://godotengine.org/" target="_blank" rel="noreferrer"><strong>Godot</strong></a></td>
<td>Motor completo</td>
<td>WebGL + Wasm</td>
<td>~9 MB (24 MB sin comprimir)</td>
<td>Juegos independientes 2D/3D</td>
<td>Gratis (MIT)</td>
</tr>
<tr>
<td><a href="https://www.unrealengine.com/" target="_blank" rel="noreferrer"><strong>Unreal</strong></a></td>
<td>Motor completo</td>
<td>Solo Pixel Streaming</td>
<td>N/D (del lado del servidor)</td>
<td>Visualización de alta fidelidad</td>
<td>Gratis por debajo de $1M de ingresos</td>
</tr>
<tr>
<td><a href="https://www.cocos.com/en/creator" target="_blank" rel="noreferrer"><strong>Cocos Creator</strong></a></td>
<td>Motor completo</td>
<td>WebGL + WebGPU + Wasm</td>
<td>~2-4 MB</td>
<td>2D/3D, minijuegos (Asia)</td>
<td>Gratis</td>
</tr>
<tr>
<td><a href="https://playcanvas.com/" target="_blank" rel="noreferrer"><strong>PlayCanvas</strong></a></td>
<td>3D centrado en la web</td>
<td>WebGL2 + WebGPU</td>
<td>~1-2 MB</td>
<td>3D interactivo, aplicaciones web</td>
<td>Plan gratuito; planes de pago</td>
</tr>
<tr>
<td><a href="https://defold.com/" target="_blank" rel="noreferrer"><strong>Defold</strong></a></td>
<td>2D/3D centrado en la web</td>
<td>WebGL + Wasm</td>
<td>~1,14 MB</td>
<td>Juegos casuales y web para móviles</td>
<td>Gratis</td>
</tr>
<tr>
<td><a href="https://www.construct.net/" target="_blank" rel="noreferrer"><strong>Construct</strong></a></td>
<td>2D visual</td>
<td>WebGL + WebGPU</td>
<td>~1-2 MB</td>
<td>Juegos 2D, personas sin conocimientos de programación</td>
<td>Suscripción</td>
</tr>
<tr>
<td><a href="https://gdevelop.io/" target="_blank" rel="noreferrer"><strong>GDevelop</strong></a></td>
<td>2D/3D visual</td>
<td>WebGL</td>
<td>~2-3 MB</td>
<td>Principiantes, prototipado rápido</td>
<td>Plan gratuito; planes de pago</td>
</tr>
<tr>
<td><a href="https://phaser.io/" target="_blank" rel="noreferrer"><strong>Phaser</strong></a></td>
<td>Framework JS</td>
<td>WebGL/Canvas</td>
<td>~500 KB</td>
<td>Juegos 2D, prototipado rápido</td>
<td>Gratis (MIT)</td>
</tr>
<tr>
<td><a href="https://pixijs.com/" target="_blank" rel="noreferrer"><strong>PixiJS</strong></a></td>
<td>Renderizador JS</td>
<td>WebGL</td>
<td>~200 KB</td>
<td>Renderizado 2D personalizado</td>
<td>Gratis (MIT)</td>
</tr>
<tr>
<td><a href="https://excaliburjs.com/" target="_blank" rel="noreferrer"><strong>Excalibur.js</strong></a></td>
<td>Framework JS</td>
<td>WebGL</td>
<td>~300 KB</td>
<td>Juegos 2D con TypeScript</td>
<td>Gratis (BSD)</td>
</tr>
</tbody>
</table>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 452" role="img" aria-label="Tamaños de compilaciones web vacías por motor, de menor a mayor: PixiJS, unos 0,2 MB; Excalibur.js, 0,3 MB; Phaser, 0,5 MB; Defold, 1,14 MB; PlayCanvas y Construct, de 1 a 2 MB; GDevelop, de 2 a 3 MB; Cocos Creator, de 2 a 4 MB; Unity, unos 8 MB; Godot, unos 9 MB comprimidos con gzip" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="452" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Tamaño de compilación vacía por motor</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Descargas aproximadas de compilaciones vacías, según documentación y mediciones de la comunidad.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <text x="180" y="115" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">PixiJS</text>
    <rect x="190" y="100" width="10" height="20" rx="5" fill="#6ee7b7"/>
    <text x="208" y="115" font-size="12" font-weight="700" fill="#9aa7b4">~0,2 MB</text>
    <text x="180" y="147" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Excalibur.js</text>
    <rect x="190" y="132" width="16" height="20" rx="5" fill="#6ee7b7"/>
    <text x="214" y="147" font-size="12" font-weight="700" fill="#9aa7b4">~0,3 MB</text>
    <text x="180" y="179" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Phaser</text>
    <rect x="190" y="164" width="26" height="20" rx="5" fill="#6ee7b7"/>
    <text x="224" y="179" font-size="12" font-weight="700" fill="#9aa7b4">~0,5 MB</text>
    <text x="180" y="211" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Defold</text>
    <rect x="190" y="196" width="60" height="20" rx="5" fill="#7dd3fc"/>
    <text x="258" y="211" font-size="12" font-weight="700" fill="#9aa7b4">~1,14 MB</text>
    <text x="180" y="243" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">PlayCanvas</text>
    <rect x="190" y="228" width="78" height="20" rx="5" fill="#7dd3fc"/>
    <text x="276" y="243" font-size="12" font-weight="700" fill="#9aa7b4">~1-2 MB</text>
    <text x="180" y="275" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Construct</text>
    <rect x="190" y="260" width="78" height="20" rx="5" fill="#7dd3fc"/>
    <text x="276" y="275" font-size="12" font-weight="700" fill="#9aa7b4">~1-2 MB</text>
    <text x="180" y="307" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">GDevelop</text>
    <rect x="190" y="292" width="131" height="20" rx="5" fill="#c8a8ff"/>
    <text x="329" y="307" font-size="12" font-weight="700" fill="#9aa7b4">~2-3 MB</text>
    <text x="180" y="339" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Cocos Creator</text>
    <rect x="190" y="324" width="157" height="20" rx="5" fill="#c8a8ff"/>
    <text x="355" y="339" font-size="12" font-weight="700" fill="#9aa7b4">~2-4 MB</text>
    <text x="180" y="371" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Unity</text>
    <rect x="190" y="356" width="418" height="20" rx="5" fill="#fb7185"/>
    <text x="616" y="371" font-size="12" font-weight="700" fill="#fb7185">~8 MB</text>
    <text x="180" y="403" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Godot</text>
    <rect x="190" y="388" width="470" height="20" rx="5" fill="#fb7185"/>
    <text x="652" y="403" text-anchor="end" font-size="12" font-weight="800" fill="#0b1020">~9 MB con gzip</text>
  </g>
</svg>
<h2 id="motores-de-juegos-completos" tabindex="-1">Motores de juegos completos <a class="header-anchor" href="#motores-de-juegos-completos" aria-label="Permalink to &quot;Motores de juegos completos&quot;"></a></h2>
<h3 id="unity-webgl" tabindex="-1"><a href="https://unity.com/" target="_blank" rel="noreferrer">Unity</a> (WebGL) <a class="header-anchor" href="#unity-webgl" aria-label="Permalink to &quot;[Unity](https://unity.com/) (WebGL)&quot;"></a></h3>
<p>El caballo de batalla del sector. La exportación WebGL de Unity genera juegos web jugables, pero con importantes contrapartidas. Unity 6.5 (junio de 2026) es la versión actual y dejó obsoleto el antiguo Built-in Render Pipeline (compatible hasta Unity 6.7 LTS), por lo que los proyectos nuevos deberían comenzar con URP.</p>
<p><strong>Ventajas:</strong></p>
<ul>
<li>Ecosistema maduro con una amplia Asset Store</li>
<li>Herramientas avanzadas de renderizado, físicas y animación</li>
<li>Documentación y comunidad sólidas</li>
<li>Multiplataforma: la misma base de código se despliega en escritorio, móviles, consolas y web</li>
</ul>
<p><strong>Limitaciones en la web:</strong></p>
<ul>
<li>Compilaciones grandes (~8 MB como mínimo)</li>
<li>Tiempos de carga más lentos que los motores nativos de la web</li>
<li>Rendimiento inferior al de las compilaciones nativas</li>
<li>El backend WebGPU sigue siendo experimental en Unity 6.5, está desactivado de forma predeterminada y aún no está listo para producción</li>
<li>El consumo adicional de memoria puede ser problemático en navegadores móviles</li>
</ul>
<p><strong>Precios (2026):</strong></p>
<ul>
<li>Personal: gratis hasta $200K de ingresos</li>
<li>Pro: $2.310 por puesto al año (con una subida del 5 % en enero de 2026)</li>
<li>Tarifa de runtime cancelada a finales de 2024</li>
</ul>
<p><strong>Cuándo usarlo:</strong> Estás creando un juego 3D complejo que también debe publicarse en otras plataformas. La web es secundaria.</p>
<p><strong>Enlaces:</strong> <a href="https://unity.com/" target="_blank" rel="noreferrer">Unity</a> · <a href="https://docs.unity3d.com/Manual/webgl.html" target="_blank" rel="noreferrer">Documentación de WebGL</a> · <a href="https://assetstore.unity.com/" target="_blank" rel="noreferrer">Asset Store</a></p>
<hr>
<h3 id="godot-html5" tabindex="-1"><a href="https://godotengine.org/" target="_blank" rel="noreferrer">Godot</a> (HTML5) <a class="header-anchor" href="#godot-html5" aria-label="Permalink to &quot;[Godot](https://godotengine.org/) (HTML5)&quot;"></a></h3>
<p>De código abierto y en rápida evolución. Godot 4.7 (junio de 2026) es la versión estable actual e incluye SIMD de WebAssembly de forma predeterminada, además de una nueva opción de exportación web wasm64 que mejora el rendimiento sin necesidad de cambiar el código.</p>
<p><strong>Ventajas:</strong></p>
<ul>
<li>Completamente gratuito y de código abierto (licencia MIT)</li>
<li>Editor ligero</li>
<li>Excelente compatibilidad con 2D gracias a un renderizador específico</li>
<li>GDScript es fácil de aprender para principiantes</li>
<li>WebAssembly + SIMD para mejorar el rendimiento</li>
<li>Comunidad activa y en crecimiento</li>
</ul>
<p><strong>Limitaciones en la web:</strong></p>
<ul>
<li>Los proyectos en C# no pueden exportarse a la web (solo GDScript)</li>
<li>La exportación web se limita a WebGL 2.0 (el renderizador Compatibility); Forward+/Mobile y WebGPU no son compatibles con el navegador (hay un fork comunitario de WebGPU en beta pública, pero no es oficial)</li>
<li>La compatibilidad con Safari/iOS es problemática</li>
<li>Las compilaciones vacías ocupan ~24 MB sin comprimir (~9 MB con gzip)</li>
<li>Algunas funciones de renderizado 3D están por detrás de Unity</li>
</ul>
<p><strong>Ejecución multihilo:</strong></p>
<ul>
<li>Requiere cabeceras COOP/COEP para SharedArrayBuffer</li>
<li>La ejecución en un solo hilo es ahora la opción predeterminada (evita la complejidad de las cabeceras)</li>
</ul>
<p><strong>Cuándo usarlo:</strong> Quieres código abierto, priorizas el 2D o deseas tener control total sin preocuparte por las licencias.</p>
<p><strong>Enlaces:</strong> <a href="https://godotengine.org/" target="_blank" rel="noreferrer">Godot Engine</a> · <a href="https://docs.godotengine.org/en/stable/tutorials/export/exporting_for_web.html" target="_blank" rel="noreferrer">Documentación de exportación web</a> · <a href="https://github.com/godotengine/godot" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h3 id="unreal-engine-5" tabindex="-1"><a href="https://www.unrealengine.com/" target="_blank" rel="noreferrer">Unreal Engine 5</a> <a class="header-anchor" href="#unreal-engine-5" aria-label="Permalink to &quot;[Unreal Engine 5](https://www.unrealengine.com/)&quot;"></a></h3>
<p>Unreal eliminó la exportación nativa a HTML5 en UE 4.24. En UE5, la distribución mediante navegador requiere <strong>Pixel Streaming</strong>, reescrito como Pixel Streaming 2 en UE 5.7. UE 5.8 (junio de 2026), la última versión prevista de UE5 antes de UE6, no cambia la situación en la web.</p>
<p><strong>Cómo funciona Pixel Streaming:</strong></p>
<ul>
<li>El juego se ejecuta en un servidor con GPU</li>
<li>Los fotogramas se transmiten al navegador mediante WebRTC</li>
<li>Las entradas se envían de vuelta desde el navegador</li>
<li>Normalmente se requiere una instancia de UE por usuario</li>
</ul>
<p><strong>Ventajas:</strong></p>
<ul>
<li>Fidelidad visual completa de UE5 en el navegador</li>
<li>Sin requisitos de hardware del lado del cliente</li>
<li>Funciona en cualquier dispositivo con navegador</li>
</ul>
<p><strong>Limitaciones:</strong></p>
<ul>
<li>Requiere infraestructura de servidores (cara de escalar)</li>
<li>La latencia depende de la red</li>
<li>Artefactos de compresión de vídeo</li>
<li>No es adecuado para «juegos web» tradicionales: está más orientado a visualizaciones, configuradores y demostraciones</li>
</ul>
<p><strong>Existen iniciativas comunitarias para HTML5</strong> (forks de WebAssembly/WebGPU como SimplyStream), pero son experimentales y limitadas.</p>
<p><strong>Cuándo usarlo:</strong> Para visualización arquitectónica de alta fidelidad o configuradores de productos en los que el coste de los servidores sea aceptable. No resulta práctico para juegos dirigidos a un público web masivo.</p>
<p><strong>Enlaces:</strong> <a href="https://www.unrealengine.com/" target="_blank" rel="noreferrer">Unreal Engine</a> · <a href="https://dev.epicgames.com/documentation/en-us/unreal-engine/pixel-streaming-in-unreal-engine" target="_blank" rel="noreferrer">Documentación de Pixel Streaming</a></p>
<hr>
<h3 id="cocos-creator" tabindex="-1">Cocos Creator <a class="header-anchor" href="#cocos-creator" aria-label="Permalink to &quot;Cocos Creator&quot;"></a></h3>
<p>Un motor completo con una compatibilidad excepcional con la web y las plataformas de minijuegos, especialmente popular en Asia.
<strong>Fortalezas:</strong></p>
<ul>
<li>Arquitectura de doble núcleo: núcleo Web3D (TypeScript) optimizado para la web y minijuegos</li>
<li>Compatibilidad con WebGPU (todavía experimental en la versión 3.8.8, dic. de 2025; requiere el nuevo pipeline de renderizado personalizado, y la versión 3.8.8 añadió MSAA para WebGPU)</li>
<li>WebAssembly para físicas (Box2D, Bullet), con mejoras de rendimiento de entre 5 y 9 veces</li>
<li>Excelente compatibilidad con plataformas de minijuegos (WeChat, TikTok, Taobao)</li>
<li>Pipeline de renderizado personalizado (CRP) para controlar la optimización</li>
<li>Compatibilidad con Spine 4.2 mediante un entorno de ejecución WASM</li>
<li>Reducción del tamaño del paquete y compresión Brotli</li>
<li>Completamente gratuito</li>
</ul>
<p><strong>Limitaciones web:</strong></p>
<ul>
<li>Comunidad occidental más pequeña (la documentación está principalmente en chino)</li>
<li>La carga inicial puede ser pesada con todas las funciones activadas</li>
<li>La alternativa WebGL1/asm.js en navegadores antiguos reduce el rendimiento</li>
</ul>
<p><strong>Incorporaciones recientes (2025-2026):</strong></p>
<ul>
<li>Backend WebGPU</li>
<li>Módulos de física WASM de forma predeterminada</li>
<li>Pipeline de renderizado personalizado mediante RenderGraph</li>
<li>Compresión de texturas ASTC para minijuegos</li>
<li>Reducciones significativas del tamaño del paquete</li>
</ul>
<p><strong>Cuándo usarlo:</strong> Plataformas de minijuegos (WeChat, TikTok), juegos web para móviles dirigidos a mercados asiáticos o cuando necesites un alto rendimiento 2D/3D en la web con un motor gratuito.</p>
<p><strong>Enlaces:</strong> <a href="https://www.cocos.com/en/creator" target="_blank" rel="noreferrer">Cocos Creator</a> · <a href="https://docs.cocos.com/creator/manual/en/" target="_blank" rel="noreferrer">Documentación</a> · <a href="https://github.com/cocos/cocos-engine" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h2 id="motores-centrados-en-la-web" tabindex="-1">Motores centrados en la web <a class="header-anchor" href="#motores-centrados-en-la-web" aria-label="Permalink to &quot;Motores centrados en la web&quot;"></a></h2>
<p>Estos motores están diseñados específicamente para distribuir contenido en la web.</p>
<h3 id="playcanvas" tabindex="-1"><a href="https://playcanvas.com/" target="_blank" rel="noreferrer">PlayCanvas</a> <a class="header-anchor" href="#playcanvas" aria-label="Permalink to &quot;[PlayCanvas](https://playcanvas.com/)&quot;"></a></h3>
<p>Un motor 3D basado en la nube y diseñado desde cero para la web.</p>
<p><strong>Fortalezas:</strong></p>
<ul>
<li>Compatibilidad con WebGL2 y WebGPU (beta)</li>
<li>Editor colaborativo en la nube</li>
<li>Entorno de ejecución pequeño (~1-2 MB)</li>
<li>Renderizado PBR, posprocesamiento y partículas por GPU</li>
<li>Shaders de cómputo mediante WebGPU</li>
<li>Compatibilidad con Gaussian Splatting 3D</li>
<li>Compresión eficiente de recursos (Basis Universal, WebP)</li>
</ul>
<p><strong>Incorporaciones recientes (2025-2026):</strong></p>
<ul>
<li>Engine V2 con compatibilidad con WebGPU</li>
<li>Shaders de cómputo</li>
<li>Dibujo múltiple para reducir la sobrecarga de las llamadas de dibujo</li>
<li>Compatibilidad con HDR en el visor</li>
<li>Exportación glTF mejorada</li>
<li>Engine v2.20 (actualmente en la versión v2.20.6, julio de 2026) amplió el renderizador WebGPU de alto rendimiento, incluida una ruta WebGPU basada en cómputo para splats gaussianos 3D</li>
</ul>
<p><strong>Limitaciones:</strong></p>
<ul>
<li>WebGPU sigue en beta (faltan algunas funciones, como el mapeado de iluminación en tiempo de ejecución)</li>
<li>El flujo de trabajo basado en la nube puede no ser adecuado para todos los equipos</li>
<li>Menos apropiado para juegos 2D complejos</li>
</ul>
<p><strong>Precios:</strong></p>
<ul>
<li>Plan gratuito disponible</li>
<li>Planes de pago para proyectos privados, almacenamiento y asistencia</li>
</ul>
<p><strong>Cuándo usarlo:</strong> Experiencias web 3D interactivas, configuradores de productos y juegos web en los que sea importante un tamaño de descarga reducido.</p>
<p><strong>Enlaces:</strong> <a href="https://playcanvas.com/" target="_blank" rel="noreferrer">PlayCanvas</a> · <a href="https://developer.playcanvas.com/" target="_blank" rel="noreferrer">Documentación</a> · <a href="https://github.com/playcanvas/engine" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h3 id="defold" tabindex="-1"><a href="https://defold.com/" target="_blank" rel="noreferrer">Defold</a> <a class="header-anchor" href="#defold" aria-label="Permalink to &quot;[Defold](https://defold.com/)&quot;"></a></h3>
<p>Un motor ligero de King (Candy Crush) con un rendimiento web excepcional. Defold 1.13.0 (junio de 2026) eliminó el objetivo heredado asm.js (js-web), por lo que ahora las compilaciones web usan exclusivamente Wasm, y añadió objetivos de morphing glTF como parte de un conjunto creciente de funciones 3D.</p>
<p><strong>Fortalezas:</strong></p>
<ul>
<li>Entorno de ejecución diminuto: ~1,14 MB (comprimido con gzip, compilación vacía)</li>
<li>WebAssembly de forma predeterminada</li>
<li>Excelentes tiempos de carga</li>
<li>Publicación integrada en Poki y otras plataformas</li>
<li>Analizador de rendimiento para HTML5</li>
<li>Skinning por GPU con mejoras de rendimiento de entre el 30 y el 50 % en versiones recientes</li>
<li>Compatibilidad experimental con WebGPU</li>
</ul>
<p><strong>Limitaciones:</strong></p>
<ul>
<li>Comunidad más pequeña que las de Godot y Unity</li>
<li>Las compilaciones de depuración son considerablemente más lentas</li>
<li>Memoria dinámica predeterminada de 256 MB (requiere ajustes para juegos más grandes)</li>
<li>Curva de aprendizaje de los scripts en Lua</li>
</ul>
<p><strong>Comparación de rendimiento:</strong></p>
<ul>
<li>Compilación vacía: Defold ~1,14 MB frente a Unity ~8 MB y Godot ~9 MB</li>
<li>Uno de los motores con menor tiempo de carga en estudios sobre los principales juegos web</li>
</ul>
<p><strong>Cuándo usarlo:</strong> Juegos web diseñados primero para móviles, juegos casuales y cualquier proyecto en el que el tiempo de carga sea crítico.</p>
<p><strong>Enlaces:</strong> <a href="https://defold.com/" target="_blank" rel="noreferrer">Defold</a> · <a href="https://defold.com/manuals/html5/" target="_blank" rel="noreferrer">Documentación de HTML5</a> · <a href="https://github.com/defold/defold" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h3 id="construct" tabindex="-1"><a href="https://www.construct.net/" target="_blank" rel="noreferrer">Construct</a> <a class="header-anchor" href="#construct" aria-label="Permalink to &quot;[Construct](https://www.construct.net/)&quot;"></a></h3>
<p>Desarrollo visual basado en eventos. Perfecto para quienes no programan.</p>
<p><strong>Fortalezas:</strong></p>
<ul>
<li>No requiere programación (hojas de eventos)</li>
<li>Renderizador WebGPU activado de forma predeterminada (cuando es compatible)</li>
<li>Iteración y creación de prototipos rápidas</li>
<li>55 versiones publicadas solo en 2025</li>
<li>Compatibilidad con TypeScript en el editor</li>
<li>Explorador de recursos integrado y mejoras en el depurador</li>
</ul>
<p><strong>Limitaciones:</strong></p>
<ul>
<li>Centrado en 2D (compatibilidad mínima con 3D)</li>
<li>Modelo de suscripción</li>
<li>Menor control que los motores basados en código</li>
<li>Puede quedarse corto con lógica de juego compleja</li>
</ul>
<p><strong>Cuándo usarlo:</strong> Juegos 2D, prototipado rápido, educación o si no sabes programar.</p>
<p><strong>Enlaces:</strong> <a href="https://www.construct.net/" target="_blank" rel="noreferrer">Construct</a> · <a href="https://www.construct.net/en/make-games/manuals/construct-3" target="_blank" rel="noreferrer">Documentación</a></p>
<hr>
<h3 id="gdevelop" tabindex="-1"><a href="https://gdevelop.io/" target="_blank" rel="noreferrer">GDevelop</a> <a class="header-anchor" href="#gdevelop" aria-label="Permalink to &quot;[GDevelop](https://gdevelop.io/)&quot;"></a></h3>
<p>Motor de juegos visual y de código abierto con una compatibilidad 3D en expansión.</p>
<p><strong>Fortalezas:</strong></p>
<ul>
<li>Desarrollo sin código basado en eventos</li>
<li>Compatibilidad 3D nativa (añadida en la versión 5.3)</li>
<li>Editor 3D en tiempo real (5.6)</li>
<li>Jolt Physics para 3D</li>
<li>Analizador de rendimiento integrado</li>
<li>Compatibilidad con multijugador en tiempo real (2-8 jugadores)</li>
<li>Plan gratuito disponible</li>
</ul>
<p><strong>Limitaciones:</strong></p>
<ul>
<li>El código exportado incluye bibliotecas del motor (Pixi.js, Three.js, Howler.js)</li>
<li>Tamaño de compilación mayor que el de los frameworks mínimos</li>
<li>El editor puede ralentizarse con muchos objetos o escenas</li>
<li>El rendimiento depende en gran medida de las técnicas de optimización</li>
</ul>
<p><strong>Cuándo usarlo:</strong> Principiantes, contextos educativos, prototipado rápido y juegos 2D/3D pequeños.</p>
<p><strong>Enlaces:</strong> <a href="https://gdevelop.io/" target="_blank" rel="noreferrer">GDevelop</a> · <a href="https://wiki.gdevelop.io/" target="_blank" rel="noreferrer">Documentación</a> · <a href="https://github.com/4ian/GDevelop" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h2 id="frameworks-de-javascript" tabindex="-1">Frameworks de JavaScript <a class="header-anchor" href="#frameworks-de-javascript" aria-label="Permalink to &quot;Frameworks de JavaScript&quot;"></a></h2>
<p>Para desarrolladores que buscan el máximo control y una sobrecarga mínima.</p>
<h3 id="phaser-v4" tabindex="-1"><a href="https://phaser.io/" target="_blank" rel="noreferrer">Phaser</a> (v4) <a class="header-anchor" href="#phaser-v4" aria-label="Permalink to &quot;[Phaser](https://phaser.io/) (v4)&quot;"></a></h3>
<p>El framework de juegos HTML5 más popular. La versión 4 se publicó como estable en abril de 2026, con una reconstrucción completa del renderizador WebGL y una nueva arquitectura de renderizado basada en nodos, pero conservando la API de la versión 3. Desde entonces, las versiones menores han llegado rápidamente: la versión v4.2 «Giedi» se publicó en junio de 2026 y el parche 4.2.1 en julio. Ten en cuenta que Phaser 4 es una reescritura para WebGL2, no un motor WebGPU; WebGPU es una base para el futuro, no una función disponible actualmente.</p>
<p><strong>Fortalezas:</strong></p>
<ul>
<li>Framework de juegos completo: físicas, entrada, audio, escenas y carga de recursos</li>
<li>Arcade Physics y Matter.js integrados</li>
<li>Comunidad enorme, tutoriales y ejemplos</li>
<li>Renderizadores WebGL y Canvas</li>
<li>Plantillas para empaquetadores y contenedores de escritorio</li>
</ul>
<p><strong>Limitaciones:</strong></p>
<ul>
<li>Paquete más grande que las bibliotecas mínimas (~500 KB)</li>
<li>El rendimiento en escenarios con muchos sprites está por detrás de PixiJS</li>
<li>Arquitectura más rígida</li>
</ul>
<p><strong>Cuándo usarlo:</strong> Juegos 2D convencionales en los que quieras un conjunto completo de funciones sin dejar de programar.</p>
<p><strong>Enlaces:</strong> <a href="https://phaser.io/" target="_blank" rel="noreferrer">Phaser</a> · <a href="https://phaser.io/learn" target="_blank" rel="noreferrer">Documentación</a> · <a href="https://github.com/phaserjs/phaser" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h3 id="pixijs-v8" tabindex="-1"><a href="https://pixijs.com/" target="_blank" rel="noreferrer">PixiJS</a> (v8) <a class="header-anchor" href="#pixijs-v8" aria-label="Permalink to &quot;[PixiJS](https://pixijs.com/) (v8)&quot;"></a></h3>
<p>Biblioteca de renderizado 2D de alto rendimiento.</p>
<p><strong>Fortalezas:</strong></p>
<ul>
<li>Rendimiento de renderizado excepcional</li>
<li>Tamaño diminuto (~200 KB)</li>
<li>Potente pipeline de renderizado WebGL</li>
<li>Excelente para renderizado personalizado y visualizaciones</li>
<li>Nuevo formato de escena «gl2D» y biblioteca de motor de juegos en desarrollo</li>
</ul>
<p><strong>Limitaciones:</strong></p>
<ul>
<li>No es un motor de juegos: no incluye físicas, audio ni gestión de escenas</li>
<li>Requiere más configuración</li>
<li>Debes crear (o integrar) la lógica del juego por tu cuenta</li>
</ul>
<p><strong>Cuándo usarlo:</strong> Aplicaciones con una gran carga gráfica, necesidades de renderizado personalizado, proyectos en los que el rendimiento sea crítico o cuando quieras crear tu propio motor.</p>
<p><strong>Enlaces:</strong> <a href="https://pixijs.com/" target="_blank" rel="noreferrer">PixiJS</a> · <a href="https://pixijs.com/guides" target="_blank" rel="noreferrer">Documentación</a> · <a href="https://github.com/pixijs/pixijs" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h3 id="excalibur-js" tabindex="-1"><a href="https://excaliburjs.com/" target="_blank" rel="noreferrer">Excalibur.js</a> <a class="header-anchor" href="#excalibur-js" aria-label="Permalink to &quot;[Excalibur.js](https://excaliburjs.com/)&quot;"></a></h3>
<p>Motor de juegos 2D centrado en TypeScript y con arquitectura ECS.</p>
<p><strong>Fortalezas:</strong></p>
<ul>
<li>Creado con TypeScript</li>
<li>Arquitectura de entidades, componentes y sistemas</li>
<li>Mapas de mosaicos, sprites de nueve segmentos y partículas por GPU</li>
<li>Interfaz basada en HTML que se adapta al lienzo</li>
<li>Buen equilibrio entre funciones y control</li>
</ul>
<p><strong>Limitaciones:</strong></p>
<ul>
<li>Anterior a la versión 1.0 (algunas API pueden cambiar)</li>
<li>Ecosistema más pequeño y menos tutoriales</li>
<li>Las físicas y la iluminación siguen en desarrollo</li>
</ul>
<p><strong>Cuándo usarlo:</strong> Desarrolladores de TypeScript que crean juegos 2D y buscan más estructura que PixiJS, pero menos sobrecarga que Phaser.</p>
<p><strong>Enlaces:</strong> <a href="https://excaliburjs.com/" target="_blank" rel="noreferrer">Excalibur.js</a> · <a href="https://excaliburjs.com/docs/" target="_blank" rel="noreferrer">Documentación</a> · <a href="https://github.com/excaliburjs/Excalibur" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h2 id="guia-de-decision" tabindex="-1">Guía de decisión <a class="header-anchor" href="#guia-de-decision" aria-label="Permalink to &quot;Guía de decisión&quot;"></a></h2>
<h3 id="por-tipo-de-proyecto" tabindex="-1">Por tipo de proyecto <a class="header-anchor" href="#por-tipo-de-proyecto" aria-label="Permalink to &quot;Por tipo de proyecto&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Proyecto</th>
<th>Motor recomendado</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Juego web 2D casual para móviles</strong></td>
<td>Defold, Phaser, Construct</td>
</tr>
<tr>
<td><strong>Juego 2D complejo con necesidades personalizadas</strong></td>
<td>PixiJS, Excalibur.js</td>
</tr>
<tr>
<td><strong>Juego web 3D</strong></td>
<td>PlayCanvas, Godot (Compatibilidad), Cocos Creator</td>
</tr>
<tr>
<td><strong>Multiplataforma (web + nativo)</strong></td>
<td>Unity, Godot, Cocos Creator</td>
</tr>
<tr>
<td><strong>Plataformas de minijuegos (WeChat, TikTok)</strong></td>
<td>Cocos Creator</td>
</tr>
<tr>
<td><strong>Visualización de alta fidelidad</strong></td>
<td>Unreal (Pixel Streaming), PlayCanvas</td>
</tr>
<tr>
<td><strong>Sin código / principiantes</strong></td>
<td>Construct, GDevelop</td>
</tr>
<tr>
<td><strong>Debe ser de código abierto</strong></td>
<td>Godot, Phaser, PixiJS, Excalibur.js, Cocos (motor)</td>
</tr>
</tbody>
</table>
<h3 id="por-prioridad" tabindex="-1">Por prioridad <a class="header-anchor" href="#por-prioridad" aria-label="Permalink to &quot;Por prioridad&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Prioridad</th>
<th>Mejores opciones</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Menor tamaño de compilación</strong></td>
<td>Defold, PixiJS, Excalibur.js</td>
</tr>
<tr>
<td><strong>Menor tiempo de carga</strong></td>
<td>Defold, Phaser, JavaScript puro</td>
</tr>
<tr>
<td><strong>Mejor compatibilidad 3D</strong></td>
<td>PlayCanvas, Unity, Cocos Creator</td>
</tr>
<tr>
<td><strong>Mejor compatibilidad 2D</strong></td>
<td>Godot, Phaser, Construct, Cocos Creator</td>
</tr>
<tr>
<td><strong>Gratuito y de código abierto</strong></td>
<td>Godot, Phaser, PixiJS, Defold, Cocos (motor)</td>
</tr>
<tr>
<td><strong>Compatibilidad con WebGPU</strong></td>
<td>PlayCanvas (el más maduro), Three.js (opcional), Construct, Cocos Creator</td>
</tr>
<tr>
<td><strong>Rendimiento en navegadores móviles</strong></td>
<td>Defold, Phaser, PlayCanvas, Cocos Creator</td>
</tr>
<tr>
<td><strong>Plataformas de minijuegos</strong></td>
<td>Cocos Creator</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="la-realidad-del-rendimiento-de-los-juegos-web" tabindex="-1">La realidad del rendimiento de los juegos web <a class="header-anchor" href="#la-realidad-del-rendimiento-de-los-juegos-web" aria-label="Permalink to &quot;La realidad del rendimiento de los juegos web&quot;"></a></h2>
<p>Independientemente del motor que elijas, estos factores son más importantes:</p>
<ol>
<li><strong>Tamaño de los recursos</strong>: Comprime las texturas y el audio, y reduce al mínimo las dependencias</li>
<li><strong>Primera escena</strong>: Mantén pequeña la descarga inicial y transmite el resto progresivamente</li>
<li><strong>Llamadas de dibujo</strong>: Agrupa los sprites y utiliza atlas de texturas</li>
<li><strong>Pruebas en dispositivos</strong>: Prueba en dispositivos móviles reales, no solo en Chrome para escritorio</li>
</ol>
<p>Empieza aquí: <a href="/es/tutorials/ship-web-game-fast.html">Publica un juego web que cargue rápido</a></p>
<hr>
<h2 id="notas-sobre-compatibilidad-con-navegadores" tabindex="-1">Notas sobre compatibilidad con navegadores <a class="header-anchor" href="#notas-sobre-compatibilidad-con-navegadores" aria-label="Permalink to &quot;Notas sobre compatibilidad con navegadores&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Función</th>
<th>Chrome</th>
<th>Firefox</th>
<th>Safari</th>
<th>Móviles</th>
</tr>
</thead>
<tbody>
<tr>
<td>WebGL 2.0</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>WebGPU</td>
<td>✅</td>
<td>✅ Windows/macOS</td>
<td>✅ Safari 26+</td>
<td>✅ iOS/iPadOS 26+</td>
</tr>
<tr>
<td>SharedArrayBuffer</td>
<td>✅ (COOP/COEP)</td>
<td>✅ (COOP/COEP)</td>
<td>⚠️</td>
<td>⚠️</td>
</tr>
<tr>
<td>Wasm SIMD</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
</tbody>
</table>
<p>Safari 26 (septiembre de 2025) incorporó finalmente WebGPU en macOS, iPadOS, iOS y visionOS, por lo que WebGPU entre navegadores ya es una realidad en vez de una función exclusiva de Chrome. Firefox sigue siendo el navegador más rezagado: WebGPU llegó a Windows en Firefox 141 y a macOS en Firefox 145, pero las versiones para Linux y Android aún solo lo incluyen en Nightly, y Mozilla tiene previsto incorporarlo a ambas en 2026. SharedArrayBuffer sigue siendo la dependencia más problemática en Safari, así que prueba siempre en Safari/iOS si dependes de múltiples hilos o te diriges a públicos amplios.</p>
<hr>
<h2 id="preguntas-frecuentes" tabindex="-1">Preguntas frecuentes <a class="header-anchor" href="#preguntas-frecuentes" aria-label="Permalink to &quot;Preguntas frecuentes&quot;"></a></h2>
<h3 id="¿cual-es-el-mejor-motor-de-juegos-para-navegadores" tabindex="-1">¿Cuál es el mejor motor de juegos para navegadores? <a class="header-anchor" href="#¿cual-es-el-mejor-motor-de-juegos-para-navegadores" aria-label="Permalink to &quot;¿Cuál es el mejor motor de juegos para navegadores?&quot;"></a></h3>
<p>No hay una única respuesta, porque depende de lo que estés creando. Para juegos 2D, Phaser y Defold son difíciles de superar. Son ligeros, están bien documentados y producen compilaciones pequeñas que cargan rápidamente. Para 3D en el navegador, PlayCanvas y Three.js ofrecen el máximo control sin la carga innecesaria de un motor completo de escritorio. Si necesitas compatibilidad multiplataforma y la web es secundaria, Unity o Godot pueden exportar a WebGL, pero las descargas serán más grandes. Creamos <a href="/es/engine.html">Cinevva Engine</a> sobre Three.js porque queríamos que fuera de código abierto y estuviera centrado en la web desde el primer día.</p>
<h3 id="¿puede-unity-exportar-a-la-web" tabindex="-1">¿Puede Unity exportar a la web? <a class="header-anchor" href="#¿puede-unity-exportar-a-la-web" aria-label="Permalink to &quot;¿Puede Unity exportar a la web?&quot;"></a></h3>
<p>Sí, Unity puede exportar compilaciones WebGL. Funciona, pero implica ciertas concesiones. El tamaño mínimo de compilación ronda los 8 MB incluso para un proyecto vacío, los tiempos de carga son notablemente superiores a los de los motores nativos de la web y la compatibilidad con navegadores móviles puede ser irregular debido al consumo de memoria. Si tu juego ya existe en Unity y quieres una versión web, es una opción válida. Si empiezas desde cero y tu objetivo específico es la web, un motor nativo de la web dará mejores resultados.</p>
<h3 id="¿es-godot-adecuado-para-juegos-web" tabindex="-1">¿Es Godot adecuado para juegos web? <a class="header-anchor" href="#¿es-godot-adecuado-para-juegos-web" aria-label="Permalink to &quot;¿Es Godot adecuado para juegos web?&quot;"></a></h3>
<p>La exportación HTML5 de Godot es sólida y sigue mejorando. El propio motor es gratuito y de código abierto, lo que supone una gran ventaja. Los tamaños de compilación parten de unos 9 MB sin comprimir (menos con gzip), y ofrece compatibilidad adecuada tanto con 2D como con 3D. El principal inconveniente es SharedArrayBuffer, que requiere encabezados específicos del servidor y puede causar problemas en algunas configuraciones de alojamiento. Para desarrolladores independientes que quieran usar una sola base de código en escritorio y web, Godot es una opción excelente.</p>
<h3 id="¿cual-es-el-motor-de-juegos-web-mas-pequeno" tabindex="-1">¿Cuál es el motor de juegos web más pequeño? <a class="header-anchor" href="#¿cual-es-el-motor-de-juegos-web-mas-pequeno" aria-label="Permalink to &quot;¿Cuál es el motor de juegos web más pequeño?&quot;"></a></h3>
<p>PixiJS ocupa aproximadamente 200 KB, lo cual es diminuto. Sin embargo, es un renderizador 2D, no un motor completo, por lo que tendrás que escribir más código por tu cuenta. Excalibur.js ocupa unos 300 KB e incluye más funciones de juego integradas. Phaser ronda los 500 KB y proporciona un framework de juegos 2D completo. Para 3D, PlayCanvas y Defold rondan entre 1 y 2 MB. Sin embargo, la verdadera cuestión no es solo el tamaño del motor, sino el tamaño total de la compilación, incluidos tus recursos, y ahí es donde la optimización importa más que la elección del motor.</p>
<h3 id="¿cual-es-el-mejor-motor-de-juegos-para-2026" tabindex="-1">¿Cuál es el mejor motor de juegos para 2026? <a class="header-anchor" href="#¿cual-es-el-mejor-motor-de-juegos-para-2026" aria-label="Permalink to &quot;¿Cuál es el mejor motor de juegos para 2026?&quot;"></a></h3>
<p>Depende de lo que vayas a publicar. Para 3D centrado en la web, PlayCanvas es la opción más sólida en 2026. Para 2D, Defold y Phaser destacan por sus tiempos de carga y sus comunidades. Si necesitas una sola base de código para la web y plataformas nativas, Godot (gratuito) o Unity (compilaciones más grandes) son opciones razonables. No existe un motor «mejor» para todo, sino el que mejor se adapte al tamaño de tu compilación, tu plataforma y tu nivel de experiencia. Creamos <a href="/es/engine.html">Cinevva Engine</a> sobre Three.js porque queríamos que fuera de código abierto y estuviera centrado en la web desde el principio.</p>
<h3 id="¿cuales-son-los-principales-motores-de-juegos-2d-para-2026" tabindex="-1">¿Cuáles son los principales motores de juegos 2D para 2026? <a class="header-anchor" href="#¿cuales-son-los-principales-motores-de-juegos-2d-para-2026" aria-label="Permalink to &quot;¿Cuáles son los principales motores de juegos 2D para 2026?&quot;"></a></h3>
<p>Defold, Phaser y Construct son los principales motores 2D para la web en 2026. Defold produce las compilaciones más pequeñas y con menor tiempo de carga. Phaser es el framework HTML5 más popular y cuenta con el ecosistema más amplio. Construct permite crear juegos 2D visualmente y sin código. Para renderizado personalizado, PixiJS y Excalibur.js ofrecen más control con un tamaño menor.</p>
<h3 id="¿que-es-un-motor-de-juegos-wasm" tabindex="-1">¿Qué es un motor de juegos Wasm? <a class="header-anchor" href="#¿que-es-un-motor-de-juegos-wasm" aria-label="Permalink to &quot;¿Qué es un motor de juegos Wasm?&quot;"></a></h3>
<p>Un motor de juegos Wasm compila tu juego a WebAssembly, un formato binario de bajo nivel que se ejecuta en el navegador a una velocidad cercana a la nativa. Godot, Defold y Cocos Creator utilizan WebAssembly para sus exportaciones web, razón por la que ofrecen un rendimiento muy superior al de los antiguos motores basados exclusivamente en JavaScript. Wasm es ahora el estándar para los juegos de navegador exigentes en 2026.</p>
<h3 id="¿cuales-son-los-motores-de-juegos-mas-populares-en-2026" tabindex="-1">¿Cuáles son los motores de juegos más populares en 2026? <a class="header-anchor" href="#¿cuales-son-los-motores-de-juegos-mas-populares-en-2026" aria-label="Permalink to &quot;¿Cuáles son los motores de juegos más populares en 2026?&quot;"></a></h3>
<p>Por base instalada y demanda laboral, Unity y Unreal son los motores estándar de la industria en 2026, mientras que Godot es la alternativa de código abierto que más rápido crece. Para los juegos que se ejecutan en el navegador, Phaser es el framework 2D más popular y PlayCanvas lidera el 3D pensado para la web. Una comunidad más grande implica más tutoriales, plugins y respuestas cuando te atascas, pero el motor más popular no siempre es el más adecuado para un proyecto web, donde el tamaño de la compilación y el tiempo de carga determinan quién puede jugar realmente.</p>
<h3 id="¿cuales-son-los-mejores-motores-de-juegos-gratuitos-en-2026" tabindex="-1">¿Cuáles son los mejores motores de juegos gratuitos en 2026? <a class="header-anchor" href="#¿cuales-son-los-mejores-motores-de-juegos-gratuitos-en-2026" aria-label="Permalink to &quot;¿Cuáles son los mejores motores de juegos gratuitos en 2026?&quot;"></a></h3>
<p>Godot es el motor gratuito más completo para 2026. Es totalmente de código abierto bajo la licencia MIT, sin límites de ingresos ni tarifas por usuario, y admite tanto 2D como 3D. Específicamente para la web, Phaser, PixiJS, Defold y Excalibur.js también son gratuitos y de código abierto. Unity y Construct tienen planes gratuitos con limitaciones, y Unreal es gratuito hasta alcanzar 1 millón de dólares en ingresos. Si buscas coste cero y ninguna condición, elige Godot o uno de los frameworks JavaScript de código abierto.</p>
<h3 id="¿cual-es-el-mejor-motor-de-juegos-para-principiantes-en-2026" tabindex="-1">¿Cuál es el mejor motor de juegos para principiantes en 2026? <a class="header-anchor" href="#¿cual-es-el-mejor-motor-de-juegos-para-principiantes-en-2026" aria-label="Permalink to &quot;¿Cuál es el mejor motor de juegos para principiantes en 2026?&quot;"></a></h3>
<p>Para principiantes en 2026, GDevelop y Construct son los puntos de partida más sencillos porque permiten crear juegos visualmente, con poco o nada de código. Si quieres aprender programación mientras aprendes diseño de juegos, Godot cuenta con un lenguaje de scripting fácil de aprender y una enorme biblioteca de tutoriales gratuitos. Específicamente para juegos web 2D, Phaser resulta accesible cuando ya conoces algo de JavaScript. Empieza con el que mejor se adapte a la cantidad de código que quieras escribir y pasa a opciones más avanzadas a medida que crezcan tus proyectos.</p>
<hr>
<h2 id="resumen" tabindex="-1">Resumen <a class="header-anchor" href="#resumen" aria-label="Permalink to &quot;Resumen&quot;"></a></h2>
<ul>
<li><strong>Para la mayoría de los juegos web</strong>: Empieza con Defold, Phaser o PlayCanvas según necesites 2D o 3D</li>
<li><strong>Para varias plataformas</strong>: Unity, Godot o Cocos Creator, aceptando compilaciones más grandes</li>
<li><strong>Para plataformas de minijuegos</strong>: Cocos Creator (WeChat, TikTok, Taobao)</li>
<li><strong>Para tener el máximo control</strong>: PixiJS o Excalibur.js</li>
<li><strong>Para quienes no programan</strong>: Construct o GDevelop</li>
<li><strong>Para 3D de alta fidelidad</strong>: PlayCanvas o Pixel Streaming</li>
</ul>
<p>El mejor motor es el que te permite publicar tu juego. Empieza con algo pequeño, mide el rendimiento desde el principio y prioriza ante todo la optimización del tiempo de carga.</p>
<BuildCta
  title="¿No quieres tener que elegir ningún motor?"
  desc="Describe tu juego en una frase y juégalo en aproximadamente un minuto, gratis."
  prompt="Crea un juego de plataformas 3D con plataformas móviles y un temporizador" />
<h2 id="contenido-relacionado" tabindex="-1">Contenido relacionado <a class="header-anchor" href="#contenido-relacionado" aria-label="Permalink to &quot;Contenido relacionado&quot;"></a></h2>
<ul>
<li><a href="/es/guides/vibe-coding-game-prompts.html">100 ideas de prompts de IA para juegos que puedes crear con un solo clic</a> — toma prestada una idea y conviértela en un juego en aproximadamente un minuto</li>
<li><a href="/es/guides/godot-vs-unity-web-games.html">Godot frente a Unity para juegos web</a> — comparación directa en la web de los dos grandes motores completos</li>
<li><a href="/es/guides/unity-alternatives-web-games.html">Alternativas a Unity para juegos web</a> — ¿vas a dejar Unity? elige un motor web según el motivo del cambio</li>
<li><a href="/es/guides/open-source-game-engines-2026.html">Los mejores motores de juegos de código abierto para 2026</a> — motores gratuitos y sin comisiones que puedes bifurcar y publicar</li>
<li><a href="/es/guides/best-2d-game-engines-2026.html">Los mejores motores de juegos 2D para 2026</a> — si tu juego es 2D, empieza aquí</li>
<li><a href="/es/guides/playcanvas-vs-threejs.html">PlayCanvas frente a Three.js</a> — motor frente a biblioteca para 3D en la web</li>
<li><a href="/es/guides/threejs-vs-babylonjs.html">Three.js frente a Babylon.js</a> — las dos grandes bibliotecas de 3D para la web</li>
<li><a href="/es/guides/construct-vs-gdevelop.html">Construct frente a GDevelop</a> — duelo entre herramientas 2D sin código</li>
<li><a href="/es/guides/web-games-stack-2026.html">Stack tecnológico para juegos web en 2026</a> — WebGL frente a WebGPU y Wasm en el nivel de la API</li>
<li><a href="/es/tutorials/canvas-2d-game-loop.html">Bucle de juego con Canvas 2D</a> — crea un juego sin ningún motor</li>
<li><a href="/es/guides/game-jams-hackathons.html">Game jams y hackatones</a> — cómo elegir un motor para las limitaciones de una jam de 48 horas</li>
<li><a href="/es/tutorials/game-physics-libraries.html">Bibliotecas de física para juegos</a> — motores de física que se integran con cualquiera de estos frameworks</li>
<li><a href="/es/guides/frontier-gen-ai-models.html">Los mejores modelos de IA generativa de código abierto para juegos</a> — modelos de IA para generar recursos 3D, gráficos y audio para el motor que elijas</li>
<li><a href="/es/guides/itch-io-launch-guide.html">Cómo publicar tu juego en itch.io</a> — distribución de juegos web después de elegir el motor</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/web-game-engines-comparison.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Stack tecnológico para juegos web en 2026]]></title>
            <link>https://app.cinevva.com/es/guides/web-games-stack-2026</link>
            <guid>https://app.cinevva.com/es/guides/web-games-stack-2026</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Una guía práctica sobre WebGL, WebGPU y WebAssembly para desarrolladores de juegos web, con ejemplos de código reales y marcos para tomar decisiones.]]></description>
            <content:encoded><![CDATA[<h1 id="stack-tecnologico-para-juegos-web-en-2026" tabindex="-1">Stack tecnológico para juegos web en 2026 <a class="header-anchor" href="#stack-tecnologico-para-juegos-web-en-2026" aria-label="Permalink to &quot;Stack tecnológico para juegos web en 2026&quot;"></a></h1>
<p>Tres tecnologías impulsan los juegos web: WebGL, WebGPU y WebAssembly. Cada una resuelve problemas distintos y conlleva diferentes ventajas y desventajas. Esta guía te ayudará a elegir según lo que realmente estás creando, no según lo que genere más expectación.</p>
<h2 id="la-respuesta-rapida" tabindex="-1">La respuesta rápida <a class="header-anchor" href="#la-respuesta-rapida" aria-label="Permalink to &quot;La respuesta rápida&quot;"></a></h2>
<p>WebGL 2.0 funciona en todas partes y es más que suficiente para la mayoría de los juegos. Úsalo cuando necesites una amplia compatibilidad, especialmente en dispositivos móviles. WebGPU ofrece shaders de cómputo y un mejor rendimiento, pero perderás usuarios con navegadores y dispositivos antiguos. WebAssembly acelera el código que se ejecuta en la CPU, por lo que resulta útil para la física y la búsqueda de rutas, pero no servirá de nada si el cuello de botella está en la GPU.</p>
<p>En 2026, la mayoría de los juegos se publican con WebGL y ofrecen WebGPU de forma opcional en los navegadores compatibles. Wasm se usa de manera selectiva en las rutas críticas del código, no para todo el juego.</p>
<h2 id="webgl-2-0-la-opcion-aburrida-que-funciona" tabindex="-1">WebGL 2.0: la opción aburrida que funciona <a class="header-anchor" href="#webgl-2-0-la-opcion-aburrida-que-funciona" aria-label="Permalink to &quot;WebGL 2.0: la opción aburrida que funciona&quot;"></a></h2>
<p>WebGL 2.0 es estable desde 2017. Todos los navegadores modernos lo admiten. Tu juego funciona en versiones de Chrome, Firefox, Safari y Edge de hace más de cinco años. Funciona en Safari para iOS 15 o posterior, Chrome para Android y Samsung Internet. Incluso se ejecuta en navegadores de consolas, como Edge en Xbox y el navegador de PlayStation.</p>
<p>Así es una configuración básica de WebGL 2:</p>
<div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> canvas</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> document.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getElementById</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'game'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> gl</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> canvas.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getContext</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgl2'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">gl) {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Fallback to WebGL 1 or show error</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> gl1</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> canvas.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getContext</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgl'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">gl1) {</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    showError</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'Your browser does not support WebGL.'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Now you have a GL context</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">gl.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">clearColor</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">gl.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">clear</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(gl.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">COLOR_BUFFER_BIT</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span></code></pre>
</div><h3 id="lo-que-ofrece" tabindex="-1">Lo que ofrece <a class="header-anchor" href="#lo-que-ofrece" aria-label="Permalink to &quot;Lo que ofrece&quot;"></a></h3>
<p>WebGL 2 permite el renderizado por instancias, por lo que puedes dibujar miles de objetos con una sola llamada de dibujo. Incluye transform feedback para sistemas de partículas y simulaciones ejecutados en la GPU. También ofrece múltiples destinos de renderizado para renderizado diferido y G-buffers, texturas 3D para efectos volumétricos y texturas de enteros para almacenar datos con precisión.</p>
<div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">gl.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">drawArraysInstanced</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(gl.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">TRIANGLES</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, vertexCount, instanceCount);</span></span></code></pre>
</div><h3 id="lo-que-no-ofrece" tabindex="-1">Lo que no ofrece <a class="header-anchor" href="#lo-que-no-ofrece" aria-label="Permalink to &quot;Lo que no ofrece&quot;"></a></h3>
<p>No puedes ejecutar shaders de cómputo para procesamiento de propósito general en la GPU. No hay texturas sin vinculación, por lo que estás limitado por la cantidad de unidades de textura. Tampoco hay mapeo persistente ni control explícito de la memoria. No incluye shaders de malla ni una canalización geométrica moderna.</p>
<p>Para la mayoría de los juegos 2D y muchos juegos 3D, estas limitaciones no importan. Algunos de los juegos web más exitosos jamás creados se publicaron con WebGL 2.</p>
<h2 id="webgpu-cuando-necesitas-mas" tabindex="-1">WebGPU: cuando necesitas más <a class="header-anchor" href="#webgpu-cuando-necesitas-mas" aria-label="Permalink to &quot;WebGPU: cuando necesitas más&quot;"></a></h2>
<p>WebGPU está diseñado teniendo en cuenta cómo funcionan realmente las GPU modernas. Chrome lo incorporó en mayo de 2023 y, a finales de 2025, todos los navegadores principales ya eran compatibles. Chrome 113 o posterior, Safari 26 o posterior y Edge 113 o posterior funcionan, y Firefox lo habilitó en la versión 141 o posterior para Windows —desde julio de 2025— y en la versión 145 para macOS con Apple Silicon, mientras que el despliegue en Linux y Android sigue en curso. Chrome para Android lo admite en dispositivos recientes, y Safari para iOS 26 o posterior también es compatible.</p>
<p>El inconveniente es que los navegadores y dispositivos antiguos no lo admiten, por lo que necesitas una estrategia alternativa.</p>
<h3 id="lo-que-ofrece-1" tabindex="-1">Lo que ofrece <a class="header-anchor" href="#lo-que-ofrece-1" aria-label="Permalink to &quot;Lo que ofrece&quot;"></a></h3>
<p>Los shaders de cómputo permiten ejecutar procesamiento de propósito general en la GPU para física, partículas, IA y procesamiento de imágenes.</p>
<div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// A compute shader that processes data in parallel</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> computeShaderCode</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> `</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">@group(0) @binding(0) var&#x3C;storage, read_write> data: array&#x3C;f32>;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">@compute @workgroup_size(64)</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">fn main(@builtin(global_invocation_id) id: vec3&#x3C;u32>) {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  data[id.x] = data[id.x] * 2.0;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">}</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">`</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span></code></pre>
</div><p>También ofrece una gestión explícita de recursos, lo que implica menos sorpresas de rendimiento; paquetes de renderizado para pregrabar llamadas de dibujo y reutilizarlas; y WGSL, un lenguaje moderno de shaders diseñado para GPU en lugar de ser un apaño similar a C.</p>
<h3 id="configuracion-practica-de-webgpu" tabindex="-1">Configuración práctica de WebGPU <a class="header-anchor" href="#configuracion-practica-de-webgpu" aria-label="Permalink to &quot;Configuración práctica de WebGPU&quot;"></a></h3>
<p>Así puedes inicializar WebGPU con WebGL como alternativa:</p>
<div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">async</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> initGraphics</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">canvas</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Try WebGPU first</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (navigator.gpu) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> adapter</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> navigator.gpu.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">requestAdapter</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (adapter) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">      const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> device</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> adapter.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">requestDevice</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">      const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> context</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> canvas.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getContext</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgpu'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      </span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      context.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">configure</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        device,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        format: navigator.gpu.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getPreferredCanvasFormat</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(),</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      });</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">      return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgpu'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, device, context };</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Fall back to WebGL 2</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> gl</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> canvas.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getContext</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgl2'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (gl) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgl2'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, gl };</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Last resort: WebGL 1</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> gl1</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> canvas.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getContext</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgl'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (gl1) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgl'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, gl: gl1 };</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  throw</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Error</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'No graphics API available'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h3 id="cuando-ayuda-realmente" tabindex="-1">Cuándo ayuda realmente <a class="header-anchor" href="#cuando-ayuda-realmente" aria-label="Permalink to &quot;Cuándo ayuda realmente&quot;"></a></h3>
<p>WebGPU destaca cuando necesitas shaders de cómputo para actualizar millones de partículas sin transferencias de ida y vuelta a la CPU; detección de colisiones y simulación de telas aceleradas por GPU; generación procedimental de terrenos, texturas o mallas; efectos complejos de posprocesamiento como SSAO, bloom y profundidad de campo; o ejecutar modelos entrenados para el comportamiento de los PNJ o efectos de imagen.</p>
<p>Si estás creando un juego de puzles o una novela visual, WebGPU no te ayudará. Si estás creando un juego de acción con muchas partículas o un mundo 3D complejo, quizá merezca la pena sacrificar algo de compatibilidad.</p>
<h2 id="webassembly-codigo-rapido-en-la-cpu" tabindex="-1">WebAssembly: código rápido en la CPU <a class="header-anchor" href="#webassembly-codigo-rapido-en-la-cpu" aria-label="Permalink to &quot;WebAssembly: código rápido en la CPU&quot;"></a></h2>
<p>WebAssembly ejecuta código compilado a una velocidad cercana a la nativa. No se trata de gráficos, sino de acelerar el código que se ejecuta en la CPU.</p>
<h3 id="cuando-ayuda" tabindex="-1">Cuándo ayuda <a class="header-anchor" href="#cuando-ayuda" aria-label="Permalink to &quot;Cuándo ayuda&quot;"></a></h3>
<p>Wasm funciona bien para motores de física —Box2D, Bullet y Rapier tienen versiones para Wasm—, búsqueda de rutas en cuadrículas grandes, descompresión de recursos, emulación de consolas antiguas y adaptación a la web de bases de código existentes en C++ o Rust.</p>
<h3 id="cuando-no-ayuda" tabindex="-1">Cuándo no ayuda <a class="header-anchor" href="#cuando-no-ayuda" aria-label="Permalink to &quot;Cuándo no ayuda&quot;"></a></h3>
<p>A tu GPU le da igual que las llamadas de dibujo procedan de JavaScript o de Wasm, por lo que el renderizado no será más rápido. El código limitado por operaciones de E/S, como la descarga de recursos o las solicitudes de red, tampoco se beneficiará. Y si tu JavaScript ya se ejecuta en menos de un milisegundo, Wasm no te aportará nada.</p>
<h3 id="un-ejemplo-practico-de-wasm" tabindex="-1">Un ejemplo práctico de Wasm <a class="header-anchor" href="#un-ejemplo-practico-de-wasm" aria-label="Permalink to &quot;Un ejemplo práctico de Wasm&quot;"></a></h3>
<p>Esta es una función mínima en Rust compilada a Wasm para la física:</p>
<div class="language-rust vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">rust</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// src/lib.rs</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">#[no_mangle]</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">pub</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> extern</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> "C"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> step_physics</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(dt</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Your physics code here</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>Compílala con:</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">wasm-pack</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> build</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --target</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> web</span></span></code></pre>
</div><p>Úsala en JavaScript:</p>
<div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> init, { step_physics } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> './physics_bg.wasm'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">await</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> init</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> gameLoop</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">dt</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  step_physics</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(dt); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Runs at near-native speed</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  render</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  requestAnimationFrame</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(gameLoop);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h3 id="los-hilos-complican-las-cosas" tabindex="-1">Los hilos complican las cosas <a class="header-anchor" href="#los-hilos-complican-las-cosas" aria-label="Permalink to &quot;Los hilos complican las cosas&quot;"></a></h3>
<p>Wasm puede usar hilos para el procesamiento en paralelo, pero requiere <code>SharedArrayBuffer</code>, lo que significa que debes configurar encabezados de aislamiento entre orígenes en tu servidor:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Cross-Origin-Opener-Policy: same-origin</span></span>
<span class="line"><span>Cross-Origin-Embedder-Policy: require-corp</span></span></code></pre>
</div><p>Estos encabezados rompen cosas. Los iframes de terceros sin encabezados CORP dejan de funcionar, algunos scripts de analítica fallan y las ventanas emergentes de OAuth pueden dejar de abrirse. Puedes usar <code>credentialless</code> en lugar de <code>require-corp</code> para reducir el impacto, pero sigue siendo engorroso.</p>
<p>Si no puedes configurar estos encabezados porque utilizas un alojamiento compartido o itch.io, no podrás usar hilos de Wasm. Sin embargo, Wasm con un solo hilo seguirá funcionando sin problemas.</p>
<h2 id="decisiones-reales-para-juegos-reales" tabindex="-1">Decisiones reales para juegos reales <a class="header-anchor" href="#decisiones-reales-para-juegos-reales" aria-label="Permalink to &quot;Decisiones reales para juegos reales&quot;"></a></h2>
<p>Si estás creando un juego de plataformas 2D, usa WebGL 2 mediante algo como Phaser o PixiJS. Omite WebGPU porque es excesivo y prescinde de Wasm porque JavaScript es lo bastante rápido para la física 2D. La amplia compatibilidad importa más que las funciones más recientes, y tu cuello de botella es el contenido, no la tecnología.</p>
<p>Si estás creando un mundo abierto 3D, empieza con WebGL 2, pero diseña una vía de actualización a WebGPU. Considera usar Wasm para la física mediante Rapier o Bullet. Ahora quieres llegar al mayor público posible, pero los shaders de cómputo podrían ayudarte más adelante con la vegetación, las partículas y el LOD. Ejecutar la física en Wasm mantiene bajo el consumo de CPU.</p>
<p>Si estás adaptando un motor de C++, usa Wasm mediante Emscripten. Los gráficos utilizarán WebGL 2 de forma predeterminada, o WebGPU si tu motor es compatible. Ya tienes el código y Emscripten se ocupa de la traducción.</p>
<p>Si estás creando un juego de puzles, usa Canvas 2D o WebGL 2 mediante Phaser. Prescinde de todo lo demás. Los juegos sencillos deben seguir siendo sencillos.</p>
<p>Si necesitas obligatoriamente el máximo rendimiento y estás dispuesto a perder algunos usuarios con navegadores antiguos, elige WebGPU junto con Wasm. Eso sí, mide el impacto real en tu público antes de comprometerte.</p>
<h2 id="lo-que-realmente-hace-que-los-juegos-sean-rapidos" tabindex="-1">Lo que realmente hace que los juegos sean rápidos <a class="header-anchor" href="#lo-que-realmente-hace-que-los-juegos-sean-rapidos" aria-label="Permalink to &quot;Lo que realmente hace que los juegos sean rápidos&quot;"></a></h2>
<p>Esto es lo que determina si tu juego web funciona bien, por orden de importancia.</p>
<p>El tamaño de los recursos representa aproximadamente la mitad del rendimiento percibido. Un juego de 2 MB que carga en un segundo se siente más rápido que uno de 50 MB con más FPS. Comprime todo. Usa carga diferida siempre que puedas.</p>
<p>Las llamadas de dibujo importan mucho en los juegos 3D y quizá representen un 30 % de tu presupuesto de rendimiento. Agrupa la geometría. Usa atlas de texturas. Renderiza por instancias los objetos repetidos. Esto importa mucho más que elegir entre WebGL y WebGPU.</p>
<p>El rendimiento de JavaScript quizá represente un 15 %. Evita asignar memoria en los bucles críticos. Usa matrices tipadas. Analiza el rendimiento antes de optimizar.</p>
<p>¿La elección de la API gráfica? Sinceramente, quizá un 5 %. Para la mayoría de los juegos, importa menos la API que la forma en que la utilizas.</p>
<p>Si tu juego va lento, comprueba primero si estás cargando demasiado contenido al inicio. Después, revisa si estás realizando demasiadas llamadas de dibujo. Luego, comprueba si JavaScript está haciendo algo absurdo en el bucle del juego. Solo después de todo eso deberías preguntarte si una API gráfica diferente ayudaría.</p>
<h2 id="lo-que-yo-usaria-realmente" tabindex="-1">Lo que yo usaría realmente <a class="header-anchor" href="#lo-que-yo-usaria-realmente" aria-label="Permalink to &quot;Lo que yo usaría realmente&quot;"></a></h2>
<p>Para un juego web nuevo que empezara hoy, usaría Three.js o Babylon.js para el renderizado, ya que abstraen WebGL y WebGPU. Para la física, usaría Rapier —Rust compilado a Wasm— si necesitara física 3D, o simplemente la física 2D integrada en el motor para juegos más sencillos. Para el audio, Howler.js o directamente la API Web Audio. Para compilar, Vite, porque es rápido durante el desarrollo y genera buenas compilaciones de producción. Y alojamiento estático en Netlify, Vercel, GitHub Pages o itch.io.</p>
<p>Este stack permite publicar juegos que funcionan en más del 98 % de los dispositivos y, al mismo tiempo, están preparados para WebGPU cuando se convierta en la opción predeterminada.</p>
<h2 id="prueba-antes-de-comprometerte" tabindex="-1">Prueba antes de comprometerte <a class="header-anchor" href="#prueba-antes-de-comprometerte" aria-label="Permalink to &quot;Prueba antes de comprometerte&quot;"></a></h2>
<p>Antes de decidirte por un stack tecnológico, crea un pequeño prototipo y pruébalo de verdad. Comprueba el tiempo de carga en una conexión 3G mediante la limitación de velocidad de Chrome DevTools. Tu juego debería poder jugarse en menos de cinco segundos con una conexión lenta. Prueba el rendimiento en un teléfono Android de gama baja: pide uno prestado o usa BrowserStack. Si funciona ahí, funcionará en todas partes. Pruébalo específicamente en Safari, porque es lo bastante diferente como para causar sorpresas. Y si tu juego estará en Newgrounds o Kongregate, pruébalo dentro de un iframe.</p>
<p>Estas pruebas detectan más problemas reales que cualquier debate sobre WebGL frente a WebGPU.</p>
<h2 id="mas-lecturas" tabindex="-1">Más lecturas <a class="header-anchor" href="#mas-lecturas" aria-label="Permalink to &quot;Más lecturas&quot;"></a></h2>
<p><a href="/es/guides/web-game-engines-comparison.html">Comparativa de motores de juegos web</a> analiza motores completos si no quieres crear todo desde cero. <a href="/es/guides/threejs-usdc-tech-report.html">Three.js + USDC en el navegador</a> muestra cómo cargar recursos USD en Three.js. <a href="/es/guides/itch-io-launch-guide.html">Cómo publicar en itch.io</a> explica el proceso de publicación una vez que hayas creado algo.</p>
<p>Tutoriales prácticos para profundizar en cada API:</p>
<ul>
<li><a href="/es/tutorials/webgl-fundamentals-for-games.html">Fundamentos de WebGL para desarrolladores de juegos</a> — shaders, búferes, texturas y el bucle de renderizado</li>
<li><a href="/es/tutorials/webgpu-getting-started.html">Primeros pasos con WebGPU</a> — configuración del dispositivo, canalizaciones y shaders WGSL</li>
<li><a href="/es/tutorials/web-workers-game-logic.html">Web Workers para la lógica del juego</a> — trasladar trabajo a hilos en segundo plano</li>
<li><a href="/es/tutorials/coop-coep-sharedarraybuffer.html">COOP/COEP y SharedArrayBuffer</a> — encabezados necesarios para usar hilos con Wasm</li>
<li><a href="/es/tutorials/game-physics-libraries.html">Bibliotecas de física para juegos</a> — Rapier, Cannon-es, Ammo.js, Matter.js y más</li>
</ul>
<p>El stack tecnológico adecuado es el que te permite publicar tu juego. Elige lo que conozcas, prueba pronto y optimiza después.</p>
<BuildCta
  title="Olvídate del stack, conserva el resultado"
  desc="WebGL, física y canalización de recursos incluidos. Tú solo tienes que describir el juego."
  prompt="Crea un entorno de pruebas de física 3D con pilas de cajas que se puedan derribar" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/web-games-stack-2026.jpg?v=2" length="0" type="image/jpg"/>
        </item>
    </channel>
</rss>