{"id":1506,"date":"2025-06-28T01:45:31","date_gmt":"2025-06-27T23:45:31","guid":{"rendered":"https:\/\/nightfoxandco.com\/?p=1506"},"modified":"2025-06-28T01:45:31","modified_gmt":"2025-06-27T23:45:31","slug":"ngine-v1-19-0-stable","status":"publish","type":"post","link":"https:\/\/nightfoxandco.com\/?p=1506","title":{"rendered":"N&#8217;gine v1.19.0-stable"},"content":{"rendered":"\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>A causa del desarrollo de mi pr\u00f3ximo juego,&nbsp;<em>Idunn&#8217;s Grace<\/em>, la versi\u00f3n que hoy presento de N&#8217;gine es quiz\u00e1s una de las que m\u00e1s novedades introduce desde hace meses.<\/p>\n\n\n\n<p>Los cambios en esta versi\u00f3n son los siguientes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Se ha reescrito parte de la clase NGN_Camera para evitar conflictos al usar fondos de tama\u00f1o virtual. Con este prop\u00f3sito, se ha eliminado la opci\u00f3n de tener m\u00e1s de un fondo de tiles y textura por capa.<\/li>\n\n\n\n<li>Se han a\u00f1adido ciertos flags de control interno para identificar el tipo de fondo de cada capa y su tama\u00f1o.<\/li>\n\n\n\n<li>Se han reescrito las funciones para a\u00f1adir y quitar fondos.<\/li>\n\n\n\n<li>Se ha cambiado el nombre del m\u00e9todo SizeOfLayer() a SetSizeOfSpritesLayer().<\/li>\n\n\n\n<li>Se ha a\u00f1adido el m\u00e9todo GetLayerSize(), que devuelve el tama\u00f1o de la capa especificada.<\/li>\n\n\n\n<li>En la clase NGN_Graphics, se ha corregido el nombre de la propiedad force_redaw a force_redraw.<\/li>\n\n\n\n<li>Se han corregido los ejemplos afectados por estos cambios en la librer\u00eda.<\/li>\n\n\n\n<li>Se han a\u00f1adido los m\u00e9todos RandomInt(), RandomFloat() y RandomDouble() a la clase NGN_Math.<\/li>\n\n\n\n<li>Todas las asignaciones de puntero NULL se han cambiado al est\u00e1ndar de C++ nullptr.<\/li>\n\n\n\n<li>Se ha a\u00f1adido el m\u00e9todo SetTintColor() a los objetos de Texturas, Sprites, Fondos de tiles, Canvas y Capas de texto.<\/li>\n\n\n\n<li>Se ha a\u00f1adido el m\u00e9todo SetLayerTintColor() a la clase NGN_Camera, el cual aplica un color de tinte a todos los elementos de la capa.<\/li>\n\n\n\n<li>Se ha a\u00f1adido la propiedad ignore_camera_tint a las Texturas, Sprites y Fondos de tiles para que, si se aplica un color de tinte desde la c\u00e1mara a la capa, este se ignore.<\/li>\n\n\n\n<li>Se ha mejorado la precisi\u00f3n del limitador de frame rate por software, as\u00ed como la del contador de frame rate.<\/li>\n\n\n\n<li>Se ha a\u00f1adido el m\u00e9todo GetLayerPosition() a la clase NGN_Camera, el cual devuelve la posici\u00f3n del punto central de una capa.<\/li>\n\n\n\n<li>Optimizaci\u00f3n en el algoritmo de c\u00e1lculo de las posiciones de los sprites en su capa.<\/li>\n\n\n\n<li>A\u00f1adido un ejemplo para los nuevos efectos de c\u00e1mara (Shake y TintColor).<\/li>\n\n\n\n<li>La propiedad animation_pause de la clase NGN_Camera ahora tambi\u00e9n detiene el desplazamiento autom\u00e1tico (auto-scroll) de las capas de fondo.<\/li>\n\n\n\n<li>Se ha a\u00f1adido una comprobaci\u00f3n para evitar que las capas con desplazamiento autom\u00e1tico se actualicen m\u00e1s de una vez por frame al utilizar m\u00faltiples viewports.<\/li>\n\n\n\n<li>Se ha a\u00f1adido el m\u00e9todo Adler32Checksum() a la clase NGN_Math. Este calcula una suma de verificaci\u00f3n (checksum) de 32 bits de los datos proporcionados, utilizando el algoritmo Adler-32.<\/li>\n\n\n\n<li>Se ha reescrito por completo el m\u00e9todo de renderizado para fondos de tiles. Ahora utiliza un atlas de texturas y dibuja los tiles en una \u00fanica llamada mediante un array de v\u00e9rtices y coordenadas UV. Esto reduce el n\u00famero de llamadas a la GPU por cada fondo a 1, independientemente de la cantidad de tiles que lo compongan. En un fondo de tama\u00f1o medio, esta optimizaci\u00f3n reduce las llamadas de ~1000 a solo 1.<\/li>\n\n\n\n<li>Se ha optimizado el manejo del canal alfa en los m\u00e9todos de renderizado de la clase NGN_Render para mejorar la precisi\u00f3n del color.<\/li>\n<\/ul>\n\n\n\n<p>La descarga, como es habitual, <a href=\"https:\/\/github.com\/knightfox75\/ngine\/releases\/tag\/v1.19.0-stable\" target=\"_blank\" rel=\"noreferrer noopener\">en el repositorio oficial en GitHub<\/a>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>A causa del desarrollo de mi pr\u00f3ximo juego,&nbsp;Idunn&#8217;s Grace, la versi\u00f3n que hoy presento de N&#8217;gine es quiz\u00e1s una de las que m\u00e1s novedades introduce desde hace meses. Los cambios en esta versi\u00f3n son los siguientes: La descarga, como es habitual, en el repositorio oficial en GitHub.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-1506","post","type-post","status-publish","format-standard","hentry","category-ngine"],"_links":{"self":[{"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/posts\/1506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1506"}],"version-history":[{"count":1,"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/posts\/1506\/revisions"}],"predecessor-version":[{"id":1507,"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/posts\/1506\/revisions\/1507"}],"wp:attachment":[{"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}