Nekoplay
by tnkiiNekoplay
Con nekoplay puedes hacer juegos para navegador desde tu navegador.
Comparte juegos donde sea.
Con Nekoplay puedes crear:
‣ Juegos arcade retro.
‣ Juegos de rompecabezas y lógica.
‣ Roguelikes y Mazmorras.
‣ Minijuegos casuales.
‣ Prototipos par GameJams.
Ejemplos
Dibujar una imágen
Dibujar texto
Reproducir un sonido
Definir una función
Aprender →
Introducción
Con Nekoplay puedes crear juegos 2d.
Todo lo que necesitas es un navegador moderno y conexión a internet.
Interfaz en línea.
Nekoplay está alojado en:
nekoplay.niupleis.com
Aprenderla devería ser fácil, puedes seguír esta guía de 5 lecciónes:
Introducción
1. Configurar Juego
2. Herramientas
3. Editor de texto
4. Juego
5. Buenas prácticas
Api
Para desarrollar juegos con Nekoplay necesitas familiarizarte con la API.
▹ audio••••••Controlar pistas de audio
▹ camera•••••Controlar la posición de la cámara
▹ cursor•••••Manejar gestos táctiles y eventos del ratón
▹ div••••••••Elementos html
▹ draw•••••••Dibujar cosas en pantalla
▹ ease•••••••Interpolación de valores
▹ file•••••••Guardar, cargar y borrar datos
▹ get••••••••Cargar archivos y recursos
▹ hitbox•••••Detección de colisiones
▹ key••••••••Detectar entrada del teclado
▹ scancode•••Detectar entrada del teclado físico
▹ physics••••Módulo de físicas
▹ random•••••Generar números aleatorios
▹ set••••••••Configuraciones de dibujado
▹ scene••••••Controlar escenas
▹ Android••••Interfáz de Kotlin
Nekoscript
Nekoscript es un lenguaje de scripting diseñado para ser simple, expresivo y fácil de usar dentro de Nekoplay.
Su sintaxis es compatible con Javascript.
Puedes empezar escribiendo código Javascript normal, y Nekoplay lo interpretará automáticamente, aplicando las transformaciones necesarias a tu código.
‣ Nekoscript reference - Referencia de Nekoscript.
‣ Guía de JavaScript en MDN - Una referencia completa y oficial para aprender JavaScript.
‣ The Modern JavaScript Tutorial - Un tutorial detallado y actualizado para entender los fundamentos y conceptos avanzados.
Empezar a hacer juegos.
1. Entra a la página
2. Configura tu juego
Introduce el nombre de tu juego, sus dimensiones y configuración gráfica.
Puedes cambiar estas configuraciones más adelante.
3. Empieza a programar
Usa nekoscript para programar tu juego.
Aprende leyendo tutoriales.
Los recursos como imagenes, audio, o archivos requiere ser servidos desde la web.
4. Exporta tu juego
Haz click en archivo → exportar
Revisa la configuración de tu juego y haz click en continuar
El proceso tardará un momento dependiendo del tamaño de los recursos, reintenta varias veces si experimentas algún error.
Cuando el proceso se complete tu archivo .zip se descargará automáticamente.
Guía de Interfáz ↗
Api →
Api
NekoPlay funciona con su propia API diseñada específicamente para hacer juegos 2D de forma sencilla y directa.
Esta API incluye funciones como draw.rectangle, key.pressed, draw.sprite, entre muchas otras. Todo está pensado para que puedas escribir lógica de juego sin depender de librerías externas ni configuraciones complejas.
La API de NekoPlay se actualiza constantemente, no solo para corregir errores, sino también para añadir nuevas funciones y simplificar procesos a medida que el motor evoluciona.
Se trabaja así porque el enfoque de NekoPlay es estar en desarrollo activo, adaptándose a nuevas ideas y formas de crear juegos.
Api 1.4.3
▹ audio••••••Controlar pistas de audio
▹ camera•••••Controlar la posición de la cámara
▹ cursor•••••Maneja gestos táctiles y eventos del ratón.
▹ div••••••••Elementos html
▹ draw•••••••Dibujar cosas en pantalla
▹ ease•••••••Interpolación de valores
▹ file•••••••Guardar, cargar y borrar datos
▹ get••••••••Cargar archivos y recursos
▹ hitbox•••••Detección de colisiones
▹ key••••••••Detectar entrada del teclado
▹ scancode•••Detectar entrada del teclado físico
▹ physics••••Módulo de físicas
▹ random•••••Generar números aleatorios
▹ set••••••••Configuraciones de dibujado
▹ scene••••••Controlar escenas
▹ Android••••Interfáz de Kotlin
Versiones →
Versión actual
La versión actual es 1.4.3.
v1.4.3
(16 Noviembre 2025)
Exportar para windows
archivo → Exportar → Windows
Módulo Windows
Windows.closeGame
Windows.minimize
Windows.maximize
Windows.fullscreen
v1.4.2
(12 Noviembre 2025)
Nueva función en draw
draw.animation()
Bug fix: Errores al exportar para android.
v1.4.1
(05 Noviembre 2025)
Mejoras en el guardado manual de archivos 'nkp'.
Mejoras en la lógica de escalado.
En audio mejoras en las funciones de control.
Bug fix: En div no se definian eventos 'onclick'.
Bug fix: En camera no se inicializaba la cámara dinámica.
v1.4.0
(03 Noviembre 2025)
Nuevo módulo physics
physics.material()
physics.contact()
physics.body()
physics.wire()
physics.chain()
physics.bumper()
physics.prism()
physics.tape()
physics.cable()
physics.gear()
physics.lock()
physics.spring()
physics.torsor()
physics.gravity()
Nuevas funciones en camera
camera.follow()
camera.frame()
camera.page()
Nuevas funciones en cursor
cursor.swipe()
cursor.scroll()
Nueva función en div
div.progress()
Nueva función para audio
<audio>.sfx()
<audio>.log()
eval()
vaporwave
Cambios: Círculos centrados por defecto en draw.circle
Bug fix: Estado del ratón se quedaba en active.
Bug fix: Estilo por defecto de elementos div al exportar no se definía.
Bug fix: No se definia el tipo de fullscreen en android.
Bug fix: every no podía acceder correctamente a $dt.
Bug fix: wait resultaba en error.
v1.3.0
(15 Octubre 2025)
Exportar para android
archivo → Exportar → Android
Módulo Android - Interfáz Kotlin
Android.closeGame
Android.showToast
Android.requestNotifications
Android.notification
Android.fileSet
Android.fileGet
Android.fileDel
Android.fileExists
Android.fileSize
Android.fileList
div.button: Añadir botones con eventos.
Módulo renombrado gesture → cursor
(Para evitar ambiguedad)
Nuevos temas
Tema Card
Tema Void
Variables y funciones mágicas ahora se escriben con $
Antes: @fps @dt @messages
Ahora: $fps $dt $messages
Nueva figura: rectangulos con rotación
Array de 5 valores donde el último es en angulo:[x, y, w, h, r]
Ejemplos:
draw.rectangle([0, 0, 480, 270, 45])
hitbox.collision([8, 8, 32, 32, 16], [16, 16, 24, 24, 35])
gesture.click([64, 64, 16, 20, 110])
Nekoscript
Acceder a objetos fuera de una string con ': 'Hola ${name}'
Ahora puedes declarar variables globales sin global
typeof - Consultar el tipo de un objeto
twice - Ejecutar una véz por secuencia
otherwise - Alias de else
purr - Definir funciones (alias de func)
meow - Escribir en la consola (alias de print)
forever - Ejecutar para siempre
sometimes - Ejecutar algunas veces
maybe - Ejecutar con probabilidad
?[] - Variables random
Nekoscript Reference →
Mejoras gráficas
Bug fix: once se ejecuta dos veces en `main`
Bug fix: Elementos div no se reiniciaban al sincronizar 'load'
v1.2.0
(04 Septiembre 2025)
div: Módulo de elementos html
div.input: Añadir areas de entrada de texto
Línea de comandos
Info en: Interfáz - lección 4
Nekoscript
every
wait
message
on
once
remove
@messages
Info en: Orientado a juegos y Constantes
Funciones de colores
rgb(red, green, blue, alpha)
cmyk(cyan, magenta, yellow, key, alpha)
hsl(hue, saturation, lightness, alpha)
hwb(hue, black, white, alpha)
lch(lightness, chroma, hue, alpha)
oklch(lightness, chroma, hue, alpha)
lab(lightness, a, b)
oklab(lightness, a, b)
v1.1.0
(18 Julio 2025)
gesture: Detección en areas circulares
gesture.hover
gesture.active
gesture.click
gesture.released
integración completa con Nekoscript
funciones del módulo draw cambiadas al módulo set
cambios al módulo keyboard
la lógica fué separada en dos módulos key & scancode
keyboard.pressedKeys → @keys
keyboard.pressedScancodes → @scancodes
nueva función hitbox.inside
módulo ease reconstruido
audio.newAudio removido
usar get.audio
image.newImage removido
usar get.image
modulo json removido
usar el módulo get
audio api reconstruido
scene.load removido
scene.change soporta cargas "async"
display basado en iframe
antes era un canvas y producía lag
v1.0.2
(29 Junio 2025)
Bug de exportación con recursos arreglado
Bug de gesture.getPosition en pantallas táctiles arreglado
Bugs de pipeline arreglados
v1.0.1
(21 Junio 2025)
Integración con Nekoscript
v1.0.0
(20 Junio 2025)
Escalado automático
Framework: Carga → Loop
Escenas
Scripts globales
Soporte chromium
Editor de escenas
Editor de scripts
Sincronización en tiempo real
Exportación
exportar para <iframe>
exportar para <canvas>
exportar con index.html
Guardar juego .nkp
Importar juego .nkp
Guardar escenas .nkscene
Importar escenas .nkscene
Guardar escripts .nkscript
Importar escripts .nkscript
Idiomas
English
Español
Português
中文
日本語
한국어
wiki
Api
Audio
Cargar audio (url)
Reproducir audio
Pausar audio
Detener audio
Adelantar/retrasar audio
Volumen
Balance de volumen (l/r)
camara 2d
cambiar cámara
reestablecer cámara
Dibujar
cargar imágen (url)
Dibujar imagen
Dibujar segmentos (sprites)
Dibujar rectangulos
Dibujar lineas
Dibujar polígonos
Dibujar círculos
Dibujar arcos
Dibujar texto
Colores
Transparencias
Efectos
Filtros
Suavisado de valores
Almacenar datos (savefiles)
Obtener datos almacenados
Modificar/remover datos almaecenados
Entrada de ratón
Entrada táctil
Posición del cursor
Posición del click
Estado del cursor
Calcular estado y posición del cursor
Colisiones de rectangulos
Colisiones de polígonos
Obtener información sobre el juego
Fotogramas por segundo
Tiempo del juego
Tiempo de la escena
Escena
Cargar archivos
Cargar json (url)
Cargar archivos de texto (url)
Cargar Blob (url)
Cargar binario (url)
Entrada de teclado
Estado de teclas
Teclas activas
Números aleatorios
Tomar desiciones aleatorias
Calcular probabilidades
Cargar escenas
Transición de escenas
Temas
tema night
tema eclipse
tema snow
tema power
tema space
tema tokyo
tema arcade
tema cyberpunk
tema retro
tema lsd
tema arizona