Membrane game: juego increíble para autistas en 20 líneas de código

El código del juego está escrito íntegramente en lenguaje matemático . Vamos a analizarlo.





  1. N es responsable del tamaño de las células.





  2. pow (1.02, iTime) crea una animación uniforme de las celdas, 1.02 - velocidad de animación; tarde o temprano esto causa un desbordamiento del búfer, pero la animación se puede apagar haciendo t = 1 o hacer que se ralentice con el tiempo t = iTime.





  3. dx y dy - desplazamiento xey de la posición del cursor.





  4. flotar f = flotar ((x-dx) * (x-dx) * t + (y-dy) * (y-dy) * t); // Estas son las reglas del juego: en esta función (no en realidad una función) puedes hacer cambios y obtener una nueva lógica de juego.





  5. flotar F = abs (f * sin ((x) / N) * sin ((y) / N)); // Crea una membrana celular para función (no función) f.





  6. int R = int (piso (F * pow (16.0, 6.0-ceil (log2 (F) /4.0)))); // Adapte los colores de la membrana agregando ceros al final de la notación hexadecimal o recortándola hacia la derecha. Básicamente, es un índice de color X11 listo para usar que se usa en HTML o Photoshop.





En resumen, todo es sencillo. De hecho, soy nuevo tanto en matemáticas como en GLSL, pero a mis amigos les gustó este juego y me pregunto cómo lo calificará Habr. Si tiene alguna idea, puede bifurcarla. Para aquellos que quieran intentar transferir a otros lenguajes de programación, les advertiré que tales cálculos para cada píxel son muy difíciles para el procesador; necesita programar sombreadores (bueno, personalmente, mi experiencia, pero en general no me importa )








All Articles