CS
Coki Studios Docs

Looping Engine v1.1

El motor de ejecución e interpretación de alto rendimiento desarrollado por Coki Studios para experiencias de juego fluidas en 2D y 3D Cuántico.

Arch 3.0A 120Hz ProMotion Zero Dependencies Web Audio API
Abrir Laboratorio REPL ➔

Arquitectura 3.0A

Looping Engine v1.1 introduce una tubería de renderizado optimizada con aceleración por hardware, sub-stepping físico de alta precisión y síntesis de audio nativa sin dependencias externas.

Física Sub-stepped

Simulación gravitacional e inercial robusta con detección de colisiones AABB precisa.

Audio Sintetizado

Generación de efectos de sonido en tiempo real mediante Web Audio API con osciladores múltiples.

Quantum 3D

Perspectiva tridimensional con cámara de brazo elástico y proyección de profundidad vectorial.

Modo Plataformas 2D

Diseñado para velocidad y precisión milimétrica. Soporta doble salto, dashing direccional, plataformas móviles con transferencia de inercia y orbes de impulso aéreo.

// Ejemplo de escenario 2D en Looping
scene.set(name: "Cyber Horizon", weather: "stars", bg: "#06090f")
player.spawn(at: (100, 280), color: "#38bdf8")
entity.platform(at: (300, 340), size: (220, 24), type: "moving", speed: 90)
entity.orb(at: (520, 240), power: 580, color: "#f59e0b")

Modo Quantum 3D, Modelos .OBJ, C# & loopize++

Proyección tridimensional inmersiva con carga nativa de modelos Wavefront .obj, Scripting C# (cs! y MonoBehaviour), raycasting Möller–Trumbore por triángulo y la librería híbrida loopize++ (ECS, oleadas, cámara spring-arm con sacudida, combos, tweens y misiones).

// Escena 3D con .OBJ, C# MonoBehaviour y loopize++
use "loopize++"
use "csharp"

scene3d.world(name: "Orbit Sector 7", size: (220, 100, 220), sky: "nebula_void")
spawn3d.obj("Starfighter01", obj: "assets/models/starfighter.obj", at: (0, 2.2, 6), scale: 1.5, color: "#38bdf8", cs: "StarfighterPilot")
val spawned = lz_wave_rush(1, "valkyrie", 3, 90, "valkyrie_drone.obj")
lz_hit_combo(250, 0.35)
lz_report()

Wavefront .OBJ & C# MonoBehaviour Interop

El motor nativo (75/75 pruebas C++17) y el runtime web cargan mallas .obj con obj3d.load / spawn3d.obj, normalización de escala, subdivisión, raycasting por triángulo y puente C# integrado (cs! { ... }, LoopingBridge.Get/Set, Scene3D, csharp.export).

cs! {
    public class OrbitalBossAI : MonoBehaviour {
        public float Shield = 180.0f;
        public void Start() => LoopingBridge.Set("cs_pilot_ready", true);
        public void Update(float dt) {
            Scene3D.Rotate("TitanFlagship", 0.0f, dt * 32.0f, 0.0f);
            Shield = Mathf.Clamp(Shield + dt * 4.0f, 0.0f, 200.0f);
        }
    }
}

Librería Oficial loopize++

Adiciones de juego híbridas (Loop + C++17 + C# SDK + Web Components): ECS Registry (loopize.ecs_spawn), Wave Director (lz_wave_rush), Spring-Arm Camera Shake, FSM, Tweening, Sistema de Combo x8 e Inventario/Misiones XP (lz_mission, lz_report).

Web Loopize Kit (@cokistudios/web-loopize-kit)

SDK de cero dependencias para ejecutar escenas 3D, mallas .obj y scripts C# directamente en el navegador mediante Web Components nativos.

<script type="module" src="/web-loopize-kit.js"></script>
<loopize-obj-viewer model="starfighter" color="#38bdf8" autorotate="true"></loopize-obj-viewer>
<loopize-stage preset="orbital_arena" title="Orbit Sector 7"></loopize-stage>
Abrir Web Loopize Kit Studio ➔

Síntesis de Audio Web

El sistema de audio integrado genera efectos cristalinos sin cargar archivos externos de audio. Utiliza envolventes exponenciales y buffers de ruido blanco para saltos, dashes, impactos y recolección de coleccionables.

  • jump: Barrido de frecuencia sinusoidal ascendente.
  • double_jump: Triángulo con textura de ruido sintético.
  • dash: Sierra doble con decaimiento rápido.
  • coin: Acorde armónico de alta frecuencia (B5 - E6).

Colisiones y Partículas

Las colisiones AABB resuelven la profundidad y la velocidad en cada subpaso para evitar traspasos de geometría. El sistema de partículas emite ráfagas con gravedad configurable, decaimiento de opacidad y escala dinámica.

REPL & Pipeline Funcional

El entorno interactivo permite evaluar código en tiempo real con soporte para tuberías funcionales (|>), expresiones de coincidencia (match) y plantillas de interpolación avanzadas.

val score := 95
val tier := score >= 90 ? "SS" : "A"
print($"Rango Actual: {tier} ({score} pts)")

Referencia de Directivas

Consulta la lista completa de directivas soportadas por el intérprete en el manual de desarrollo de Coki Studios.

Ver Manual Técnico Completo ➔