{"id":819,"date":"2026-01-28T09:00:51","date_gmt":"2026-01-28T09:00:51","guid":{"rendered":"https:\/\/salvador.mata.com.mx\/blog\/?p=819"},"modified":"2026-03-23T16:33:07","modified_gmt":"2026-03-23T16:33:07","slug":"de-cuando-estaba-desarrollando-craftal","status":"publish","type":"post","link":"https:\/\/salvador.mata.com.mx\/blog\/2026\/01\/28\/de-cuando-estaba-desarrollando-craftal\/","title":{"rendered":"De cuando estaba desarrollando CrafTal \ud83d\ude05\ud83d\udee0\ufe0f\ud83c\udfae"},"content":{"rendered":"<p data-start=\"303\" data-end=\"597\">Despu\u00e9s de <strong data-start=\"314\" data-end=\"347\">casi medio a\u00f1o de inactividad<\/strong>, por fin llega una nueva actualizaci\u00f3n de mi juego en desarrollo <strong data-start=\"413\" data-end=\"426\">\u201cCrafTal\u201d<\/strong>.<br data-start=\"427\" data-end=\"430\" \/>Pero antes de hablar de las \u00faltimas <em data-start=\"466\" data-end=\"477\">\u201cmejoras\u201d<\/em> (\ud83d\ude05), vale la pena repasar <strong data-start=\"505\" data-end=\"540\">todo lo que se ha ido agregando<\/strong>, ya que no hab\u00eda publicado nada al respecto hasta ahora.<\/p>\n<hr data-start=\"599\" data-end=\"602\" \/>\n<h2 data-start=\"604\" data-end=\"651\">Nuevos objetos y construcci\u00f3n en el juego \ud83e\uddf1<\/h2>\n<p data-start=\"653\" data-end=\"808\">Una de las principales adiciones fue la <strong data-start=\"693\" data-end=\"775\">capacidad de colocar distintos tipos de objetos interactivos y de construcci\u00f3n<\/strong> dentro del juego.<br data-start=\"793\" data-end=\"796\" \/>Entre ellos:<\/p>\n<ul data-start=\"810\" data-end=\"902\">\n<li data-start=\"810\" data-end=\"823\">\n<p data-start=\"812\" data-end=\"823\"><span style=\"color: #99cc00;\">Escaleras<\/span><\/p>\n<\/li>\n<li data-start=\"824\" data-end=\"835\">\n<p data-start=\"826\" data-end=\"835\"><span style=\"color: #99cc00;\">Pilares<\/span><\/p>\n<\/li>\n<li data-start=\"836\" data-end=\"843\">\n<p data-start=\"838\" data-end=\"843\"><span style=\"color: #99cc00;\">Muros<\/span><\/p>\n<\/li>\n<li data-start=\"844\" data-end=\"854\">\n<p data-start=\"846\" data-end=\"854\"><span style=\"color: #99cc00;\">Esquinas<\/span><\/p>\n<\/li>\n<li data-start=\"855\" data-end=\"877\">\n<p data-start=\"857\" data-end=\"877\"><span style=\"color: #99cc00;\">Muros con ventanas<\/span><\/p>\n<\/li>\n<li data-start=\"878\" data-end=\"902\">\n<p data-start=\"880\" data-end=\"902\"><span style=\"color: #99cc00;\">Y varios elementos m\u00e1s<\/span><\/p>\n<\/li>\n<\/ul>\n<p data-start=\"904\" data-end=\"1014\">Esto permiti\u00f3 comenzar a darle forma real al sistema de construcci\u00f3n e interacci\u00f3n dentro del mundo del juego.<\/p>\n<p style=\"text-align: center;\" data-start=\"1016\" data-end=\"1081\"><code>\n<div class=\"wp-block-presto-player-reusable-edit\"><!--presto-player:video_id=22--><figure class=\"wp-block-video presto-block-video  presto-provider-youtube\" style=\"--plyr-color-main: var(--presto-player-highlight-color, #18b103); --presto-player-logo-width: 150px; \">\n\t<presto-player \n\t\tpreset='{&quot;id&quot;:1,&quot;name&quot;:&quot;Default&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;icon&quot;:&quot;format-video&quot;,&quot;skin&quot;:&quot;modern&quot;,&quot;play-large&quot;:true,&quot;rewind&quot;:true,&quot;play&quot;:true,&quot;fast-forward&quot;:true,&quot;progress&quot;:true,&quot;current-time&quot;:true,&quot;mute&quot;:true,&quot;volume&quot;:true,&quot;speed&quot;:false,&quot;pip&quot;:false,&quot;fullscreen&quot;:true,&quot;captions&quot;:false,&quot;reset_on_end&quot;:true,&quot;auto_hide&quot;:true,&quot;show_time_elapsed&quot;:false,&quot;captions_enabled&quot;:false,&quot;save_player_position&quot;:true,&quot;sticky_scroll&quot;:false,&quot;sticky_scroll_position&quot;:&quot;bottom right&quot;,&quot;on_video_end&quot;:&quot;select&quot;,&quot;play_video_viewport&quot;:false,&quot;hide_youtube&quot;:false,&quot;lazy_load_youtube&quot;:false,&quot;hide_logo&quot;:false,&quot;border_radius&quot;:0,&quot;caption_style&quot;:&quot;&quot;,&quot;caption_background&quot;:&quot;&quot;,&quot;is_locked&quot;:true,&quot;cta&quot;:[&quot;&quot;],&quot;watermark&quot;:[&quot;&quot;],&quot;search&quot;:[&quot;&quot;],&quot;email_collection&quot;:[&quot;&quot;],&quot;action_bar&quot;:[&quot;&quot;],&quot;created_by&quot;:1,&quot;created_at&quot;:&quot;2025-10-24 15:24:09&quot;,&quot;updated_at&quot;:&quot;2025-10-24 15:24:09&quot;,&quot;deleted_at&quot;:&quot;&quot;}'\n\t\tbranding='{&quot;logo&quot;:&quot;&quot;,&quot;logo_width&quot;:150,&quot;color&quot;:&quot;#18b103&quot;,&quot;player_css&quot;:&quot;&quot;}'\n\t\tchapters='[]'\n\t\toverlays='[]'\n\t\ttracks='[]'\n\t\tblock-attributes='{&quot;playsInline&quot;:true,&quot;id&quot;:22,&quot;src&quot;:&quot;https:\\\/\\\/www.youtube.com\\\/watch?v=M8KzvJOVffA&quot;,&quot;preset&quot;:1,&quot;video_id&quot;:&quot;M8KzvJOVffA&quot;,&quot;visibility&quot;:&quot;public&quot;,&quot;color&quot;:&quot;#00b3ff&quot;,&quot;mutedPreview&quot;:{&quot;enabled&quot;:false,&quot;captions&quot;:false},&quot;mutedOverlay&quot;:{&quot;enabled&quot;:false,&quot;src&quot;:&quot;&quot;,&quot;width&quot;:200,&quot;focalPoint&quot;:{&quot;x&quot;:0.5,&quot;y&quot;:0.5}},&quot;mutedOverlayType&quot;:&quot;text&quot;,&quot;mutedOverlayText&quot;:&quot;Click to play&quot;,&quot;mutedOverlayImageWidth&quot;:200,&quot;chapters&quot;:[],&quot;overlays&quot;:[],&quot;tracks&quot;:[],&quot;title&quot;:&quot;https:\\\/\\\/www.youtube.com\\\/watch?v=M8KzvJOVffA&quot;}'\n\t\tanalytics=''\n\t\tautomations\t\tprovider='youtube'\n\t\t\t\tid=\"presto-player-1\"\n\t\tsrc=\"\/\/www.youtube.com\/embed\/M8KzvJOVffA?iv_load_policy=3&amp;modestbranding=1&amp;playinline=1&amp;showinfo=0&amp;rel=0&amp;enablejsapi=1\"\n\t\tmedia-title=\"https:\/\/www.youtube.com\/watch?v=M8KzvJOVffA\"\n\t\tcss=\"\"\n\t\tclass=\"presto-video-id-22 presto-preset-id-1 skin-modern\"\n\t\tskin=\"modern\" \n\t\ticon-url=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/plugins\/presto-player\/img\/sprite.svg\" \n\t\tpreload=\"\" \n\t\tposter=\"\"\n\t\tyoutube=\"{&quot;noCookie&quot;:false,&quot;channelId&quot;:&quot;&quot;,&quot;show_count&quot;:false}\"\n\t\tprovider-video-id=\"M8KzvJOVffA\"\n\t\tvideo-id=\"22\"\n\t\t\t\tvideo-attributes='{}'\n\t\tplaysinline\t\t\t\t>\n\t\t\n    <div class=\"presto-iframe-fallback-container\">\n        <iframe style=\"width: 100%\" title=\"Youtube Video\" class=\"presto-fallback-iframe\" id=\"presto-iframe-fallback-1\" data-src=\"https:\/\/www.youtube.com\/embed\/M8KzvJOVffA?iv_load_policy=3&amp;modestbranding=1&amp;playsinline=1&amp;showinfo=0&amp;rel=0&amp;enablejsapi=1\" allowfullscreen allowtransparency allow=\"autoplay\"><\/iframe>\n    <\/div>\n\n\t<\/presto-player>\n<\/figure><\/div>\n<\/code><\/p>\n<hr data-start=\"1083\" data-end=\"1086\" \/>\n<h2 data-start=\"1088\" data-end=\"1125\">Pruebas de estr\u00e9s y rendimiento \u2699\ufe0f<\/h2>\n<p data-start=\"1127\" data-end=\"1294\">Como era de esperarse, despu\u00e9s de agregar tantos elementos nuevos, hice una <strong data-start=\"1203\" data-end=\"1229\">nueva prueba de estr\u00e9s<\/strong>, para evaluar el comportamiento del juego en una situaci\u00f3n real:<\/p>\n<p style=\"text-align: center;\" data-start=\"1296\" data-end=\"1337\"><code>\n<div class=\"wp-block-presto-player-reusable-edit\"><!--presto-player:video_id=23--><figure class=\"wp-block-video presto-block-video  presto-provider-youtube\" style=\"--plyr-color-main: var(--presto-player-highlight-color, #18b103); --presto-player-logo-width: 150px; \">\n\t<presto-player \n\t\tpreset='{&quot;id&quot;:1,&quot;name&quot;:&quot;Default&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;icon&quot;:&quot;format-video&quot;,&quot;skin&quot;:&quot;modern&quot;,&quot;play-large&quot;:true,&quot;rewind&quot;:true,&quot;play&quot;:true,&quot;fast-forward&quot;:true,&quot;progress&quot;:true,&quot;current-time&quot;:true,&quot;mute&quot;:true,&quot;volume&quot;:true,&quot;speed&quot;:false,&quot;pip&quot;:false,&quot;fullscreen&quot;:true,&quot;captions&quot;:false,&quot;reset_on_end&quot;:true,&quot;auto_hide&quot;:true,&quot;show_time_elapsed&quot;:false,&quot;captions_enabled&quot;:false,&quot;save_player_position&quot;:true,&quot;sticky_scroll&quot;:false,&quot;sticky_scroll_position&quot;:&quot;bottom right&quot;,&quot;on_video_end&quot;:&quot;select&quot;,&quot;play_video_viewport&quot;:false,&quot;hide_youtube&quot;:false,&quot;lazy_load_youtube&quot;:false,&quot;hide_logo&quot;:false,&quot;border_radius&quot;:0,&quot;caption_style&quot;:&quot;&quot;,&quot;caption_background&quot;:&quot;&quot;,&quot;is_locked&quot;:true,&quot;cta&quot;:[&quot;&quot;],&quot;watermark&quot;:[&quot;&quot;],&quot;search&quot;:[&quot;&quot;],&quot;email_collection&quot;:[&quot;&quot;],&quot;action_bar&quot;:[&quot;&quot;],&quot;created_by&quot;:1,&quot;created_at&quot;:&quot;2025-10-24 15:24:09&quot;,&quot;updated_at&quot;:&quot;2025-10-24 15:24:09&quot;,&quot;deleted_at&quot;:&quot;&quot;}'\n\t\tbranding='{&quot;logo&quot;:&quot;&quot;,&quot;logo_width&quot;:150,&quot;color&quot;:&quot;#18b103&quot;,&quot;player_css&quot;:&quot;&quot;}'\n\t\tchapters='[]'\n\t\toverlays='[]'\n\t\ttracks='[]'\n\t\tblock-attributes='{&quot;playsInline&quot;:true,&quot;id&quot;:23,&quot;src&quot;:&quot;https:\\\/\\\/www.youtube.com\\\/watch?v=_Tm94Chgh-A&quot;,&quot;preset&quot;:1,&quot;video_id&quot;:&quot;_Tm94Chgh-A&quot;,&quot;visibility&quot;:&quot;public&quot;,&quot;color&quot;:&quot;#00b3ff&quot;,&quot;mutedPreview&quot;:{&quot;enabled&quot;:false,&quot;captions&quot;:false},&quot;mutedOverlay&quot;:{&quot;enabled&quot;:false,&quot;src&quot;:&quot;&quot;,&quot;width&quot;:200,&quot;focalPoint&quot;:{&quot;x&quot;:0.5,&quot;y&quot;:0.5}},&quot;mutedOverlayType&quot;:&quot;text&quot;,&quot;mutedOverlayText&quot;:&quot;Click to play&quot;,&quot;mutedOverlayImageWidth&quot;:200,&quot;chapters&quot;:[],&quot;overlays&quot;:[],&quot;tracks&quot;:[],&quot;title&quot;:&quot;https:\\\/\\\/www.youtube.com\\\/watch?v=_Tm94Chgh-A&quot;}'\n\t\tanalytics=''\n\t\tautomations\t\tprovider='youtube'\n\t\t\t\tid=\"presto-player-2\"\n\t\tsrc=\"\/\/www.youtube.com\/embed\/_Tm94Chgh-A?iv_load_policy=3&amp;modestbranding=1&amp;playinline=1&amp;showinfo=0&amp;rel=0&amp;enablejsapi=1\"\n\t\tmedia-title=\"https:\/\/www.youtube.com\/watch?v=_Tm94Chgh-A\"\n\t\tcss=\"\"\n\t\tclass=\"presto-video-id-23 presto-preset-id-1 skin-modern\"\n\t\tskin=\"modern\" \n\t\ticon-url=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/plugins\/presto-player\/img\/sprite.svg\" \n\t\tpreload=\"\" \n\t\tposter=\"\"\n\t\tyoutube=\"{&quot;noCookie&quot;:false,&quot;channelId&quot;:&quot;&quot;,&quot;show_count&quot;:false}\"\n\t\tprovider-video-id=\"_Tm94Chgh-A\"\n\t\tvideo-id=\"23\"\n\t\t\t\tvideo-attributes='{}'\n\t\tplaysinline\t\t\t\t>\n\t\t\n    <div class=\"presto-iframe-fallback-container\">\n        <iframe style=\"width: 100%\" title=\"Youtube Video\" class=\"presto-fallback-iframe\" id=\"presto-iframe-fallback-2\" data-src=\"https:\/\/www.youtube.com\/embed\/_Tm94Chgh-A?iv_load_policy=3&amp;modestbranding=1&amp;playsinline=1&amp;showinfo=0&amp;rel=0&amp;enablejsapi=1\" allowfullscreen allowtransparency allow=\"autoplay\"><\/iframe>\n    <\/div>\n\n\t<\/presto-player>\n<\/figure><\/div>\n<\/code><\/p>\n<p data-start=\"1339\" data-end=\"1429\"><strong>\u00bfEl resultado?<\/strong><br data-start=\"1353\" data-end=\"1356\" \/>\ud83d\udc49 Funcion\u00f3 bastante bien\u2026<span style=\"color: #ff0000;\"> <strong data-start=\"1383\" data-end=\"1428\">pero el rendimiento baj\u00f3 a unos 40\u201350 FPS<\/strong><\/span>.<\/p>\n<h3 data-start=\"1431\" data-end=\"1445\">\u00bfLa raz\u00f3n?<\/h3>\n<p data-start=\"1447\" data-end=\"1567\">Tal como lo hab\u00eda mencionado en ocasiones anteriores, <span style=\"color: #ff9900;\"><strong data-start=\"1501\" data-end=\"1566\">todo el sistema estaba construido \u00fanicamente con Logic Bricks<\/strong><\/span>.<\/p>\n<p data-start=\"1569\" data-end=\"1582\">S\u00ed, ya lo s\u00e9:<\/p>\n<blockquote data-start=\"1583\" data-end=\"1670\">\n<p data-start=\"1585\" data-end=\"1670\"><span style=\"color: #99cc00;\">\u201cLos logic bricks no son lo mejor\u2026\u201d<\/span><br data-start=\"1620\" data-end=\"1623\" \/><span style=\"color: #99cc00;\">\u201cDeber\u00edas usar Python\u2026\u201d<\/span><br data-start=\"1648\" data-end=\"1651\" \/><span style=\"color: #99cc00;\">\u201cBla bla bla\u2026\u201d \ud83d\ude04<\/span><\/p>\n<\/blockquote>\n<p data-start=\"1672\" data-end=\"1817\">La realidad es que, al seguir agregando objetos e interacciones, el sistema comenz\u00f3 a resentirse un poco. No era algo grave, pero s\u00ed perceptible.<\/p>\n<h3 data-start=\"1819\" data-end=\"1837\"><span style=\"color: #339966;\">La soluci\u00f3n \ud83d\udca1<\/span><\/h3>\n<p data-start=\"1839\" data-end=\"1995\">Decid\u00ed implementar <span style=\"color: #339966;\"><strong data-start=\"1858\" data-end=\"1893\">Logic Frustum y Physics Frustum<\/strong><\/span>, lo que permiti\u00f3 que el motor solo procesara lo que realmente estaba en pantalla o cerca del jugador.<\/p>\n<p data-start=\"1997\" data-end=\"2095\">\ud83d\udcc8<span style=\"color: #99cc00;\"> Resultado final:<\/span><br data-start=\"2016\" data-end=\"2019\" \/><span style=\"color: #99cc00;\">\u2714\ufe0f El rendimiento mejor\u00f3 notablemente<\/span><br data-start=\"2056\" data-end=\"2059\" \/><span style=\"color: #99cc00;\">\u2714\ufe0f El juego volvi\u00f3 a sentirse fluido<\/span><\/p>\n<hr data-start=\"2097\" data-end=\"2100\" \/>\n<h2 data-start=\"2102\" data-end=\"2151\">El verdadero reto: hacer el juego divertido \ud83c\udfaf<\/h2>\n<p data-start=\"2153\" data-end=\"2228\">Ahora viene, en mi opini\u00f3n, <span style=\"color: #008000;\"><strong data-start=\"2181\" data-end=\"2227\">la parte m\u00e1s dif\u00edcil de todo el desarrollo<\/strong><\/span>:<\/p>\n<blockquote data-start=\"2230\" data-end=\"2333\">\n<p data-start=\"2232\" data-end=\"2333\">Hacer algo <span style=\"color: #008000;\"><strong data-start=\"2243\" data-end=\"2256\">divertido<\/strong><\/span>, con una <span style=\"color: #008000;\"><strong data-start=\"2266\" data-end=\"2287\">sensaci\u00f3n de reto<\/strong><\/span>, bien balanceado y atractivo para el jugador.<\/p>\n<\/blockquote>\n<p data-start=\"2335\" data-end=\"2366\">Para lograr esto, es necesario:<\/p>\n<ul data-start=\"2368\" data-end=\"2532\">\n<li data-start=\"2368\" data-end=\"2409\">\n<p data-start=\"2370\" data-end=\"2409\"><span style=\"color: #99cc00;\">Dise\u00f1ar distintos tipos de NPC enemigos<\/span><\/p>\n<\/li>\n<li data-start=\"2410\" data-end=\"2448\">\n<p data-start=\"2412\" data-end=\"2448\"><span style=\"color: #99cc00;\">Implementar comportamientos variados<\/span><\/p>\n<\/li>\n<li data-start=\"2449\" data-end=\"2486\">\n<p data-start=\"2451\" data-end=\"2486\"><span style=\"color: #99cc00;\">Crear din\u00e1micas de ataque y defensa<\/span><\/p>\n<\/li>\n<li data-start=\"2487\" data-end=\"2532\">\n<p data-start=\"2489\" data-end=\"2532\"><span style=\"color: #99cc00;\">Evitar que el gameplay se sienta repetitivo<\/span><\/p>\n<\/li>\n<\/ul>\n<hr data-start=\"2534\" data-end=\"2537\" \/>\n<h2 data-start=\"2539\" data-end=\"2572\">\u00daltimos avances en gameplay \ud83c\udfae<\/h2>\n<p style=\"text-align: center;\" data-start=\"2574\" data-end=\"2628\"><code>\n<div class=\"wp-block-presto-player-reusable-edit\"><!--presto-player:video_id=24--><figure class=\"wp-block-video presto-block-video  presto-provider-youtube\" style=\"--plyr-color-main: var(--presto-player-highlight-color, #18b103); --presto-player-logo-width: 150px; \">\n\t<presto-player \n\t\tpreset='{&quot;id&quot;:1,&quot;name&quot;:&quot;Default&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;icon&quot;:&quot;format-video&quot;,&quot;skin&quot;:&quot;modern&quot;,&quot;play-large&quot;:true,&quot;rewind&quot;:true,&quot;play&quot;:true,&quot;fast-forward&quot;:true,&quot;progress&quot;:true,&quot;current-time&quot;:true,&quot;mute&quot;:true,&quot;volume&quot;:true,&quot;speed&quot;:false,&quot;pip&quot;:false,&quot;fullscreen&quot;:true,&quot;captions&quot;:false,&quot;reset_on_end&quot;:true,&quot;auto_hide&quot;:true,&quot;show_time_elapsed&quot;:false,&quot;captions_enabled&quot;:false,&quot;save_player_position&quot;:true,&quot;sticky_scroll&quot;:false,&quot;sticky_scroll_position&quot;:&quot;bottom right&quot;,&quot;on_video_end&quot;:&quot;select&quot;,&quot;play_video_viewport&quot;:false,&quot;hide_youtube&quot;:false,&quot;lazy_load_youtube&quot;:false,&quot;hide_logo&quot;:false,&quot;border_radius&quot;:0,&quot;caption_style&quot;:&quot;&quot;,&quot;caption_background&quot;:&quot;&quot;,&quot;is_locked&quot;:true,&quot;cta&quot;:[&quot;&quot;],&quot;watermark&quot;:[&quot;&quot;],&quot;search&quot;:[&quot;&quot;],&quot;email_collection&quot;:[&quot;&quot;],&quot;action_bar&quot;:[&quot;&quot;],&quot;created_by&quot;:1,&quot;created_at&quot;:&quot;2025-10-24 15:24:09&quot;,&quot;updated_at&quot;:&quot;2025-10-24 15:24:09&quot;,&quot;deleted_at&quot;:&quot;&quot;}'\n\t\tbranding='{&quot;logo&quot;:&quot;&quot;,&quot;logo_width&quot;:150,&quot;color&quot;:&quot;#18b103&quot;,&quot;player_css&quot;:&quot;&quot;}'\n\t\tchapters='[]'\n\t\toverlays='[]'\n\t\ttracks='[]'\n\t\tblock-attributes='{&quot;playsInline&quot;:true,&quot;id&quot;:24,&quot;src&quot;:&quot;https:\\\/\\\/www.youtube.com\\\/watch?v=Ur470UVhR70&quot;,&quot;preset&quot;:1,&quot;video_id&quot;:&quot;Ur470UVhR70&quot;,&quot;visibility&quot;:&quot;public&quot;,&quot;color&quot;:&quot;#00b3ff&quot;,&quot;mutedPreview&quot;:{&quot;enabled&quot;:false,&quot;captions&quot;:false},&quot;mutedOverlay&quot;:{&quot;enabled&quot;:false,&quot;src&quot;:&quot;&quot;,&quot;width&quot;:200,&quot;focalPoint&quot;:{&quot;x&quot;:0.5,&quot;y&quot;:0.5}},&quot;mutedOverlayType&quot;:&quot;text&quot;,&quot;mutedOverlayText&quot;:&quot;Click to play&quot;,&quot;mutedOverlayImageWidth&quot;:200,&quot;chapters&quot;:[],&quot;overlays&quot;:[],&quot;tracks&quot;:[],&quot;title&quot;:&quot;https:\\\/\\\/www.youtube.com\\\/watch?v=Ur470UVhR70&quot;}'\n\t\tanalytics=''\n\t\tautomations\t\tprovider='youtube'\n\t\t\t\tid=\"presto-player-3\"\n\t\tsrc=\"\/\/www.youtube.com\/embed\/Ur470UVhR70?iv_load_policy=3&amp;modestbranding=1&amp;playinline=1&amp;showinfo=0&amp;rel=0&amp;enablejsapi=1\"\n\t\tmedia-title=\"https:\/\/www.youtube.com\/watch?v=Ur470UVhR70\"\n\t\tcss=\"\"\n\t\tclass=\"presto-video-id-24 presto-preset-id-1 skin-modern\"\n\t\tskin=\"modern\" \n\t\ticon-url=\"https:\/\/salvador.mata.com.mx\/blog\/wp-content\/plugins\/presto-player\/img\/sprite.svg\" \n\t\tpreload=\"\" \n\t\tposter=\"\"\n\t\tyoutube=\"{&quot;noCookie&quot;:false,&quot;channelId&quot;:&quot;&quot;,&quot;show_count&quot;:false}\"\n\t\tprovider-video-id=\"Ur470UVhR70\"\n\t\tvideo-id=\"24\"\n\t\t\t\tvideo-attributes='{}'\n\t\tplaysinline\t\t\t\t>\n\t\t\n    <div class=\"presto-iframe-fallback-container\">\n        <iframe style=\"width: 100%\" title=\"Youtube Video\" class=\"presto-fallback-iframe\" id=\"presto-iframe-fallback-3\" data-src=\"https:\/\/www.youtube.com\/embed\/Ur470UVhR70?iv_load_policy=3&amp;modestbranding=1&amp;playsinline=1&amp;showinfo=0&amp;rel=0&amp;enablejsapi=1\" allowfullscreen allowtransparency allow=\"autoplay\"><\/iframe>\n    <\/div>\n\n\t<\/presto-player>\n<\/figure><\/div>\n<\/code><\/p>\n<p data-start=\"2630\" data-end=\"2728\">Adem\u00e1s del gameplay, quiz\u00e1 notaste algunos <strong data-start=\"2673\" data-end=\"2727\">cambios importantes en el entorno y la iluminaci\u00f3n<\/strong>.<\/p>\n<hr data-start=\"2730\" data-end=\"2733\" \/>\n<h2 data-start=\"2735\" data-end=\"2772\">Cambios en iluminaci\u00f3n y shaders \u2728<\/h2>\n<p data-start=\"2774\" data-end=\"2936\">Uno de los primeros ajustes fue <strong data-start=\"2806\" data-end=\"2855\">eliminar la iluminaci\u00f3n ambiental tradicional<\/strong>.<br data-start=\"2856\" data-end=\"2859\" \/>La raz\u00f3n: estaba experimentando con un <strong data-start=\"2898\" data-end=\"2935\">shader creado por BluePrintRandom<\/strong>.<\/p>\n<p data-start=\"2938\" data-end=\"3016\">Despu\u00e9s de probar y ajustar ese shader, el resultado fue bastante interesante:<\/p>\n<ul data-start=\"3018\" data-end=\"3158\">\n<li data-start=\"3018\" data-end=\"3069\">\n<p data-start=\"3020\" data-end=\"3069\"><span style=\"color: #99cc00;\">Funcionaba de forma similar a un <strong data-start=\"3053\" data-end=\"3069\">bloom shader<\/strong><\/span><\/p>\n<\/li>\n<li data-start=\"3070\" data-end=\"3101\">\n<p data-start=\"3072\" data-end=\"3101\"><span style=\"color: #99cc00;\">No utilizaba un <strong data-start=\"3088\" data-end=\"3101\">2D Filter<\/strong><\/span><\/p>\n<\/li>\n<li data-start=\"3102\" data-end=\"3158\">\n<p data-start=\"3104\" data-end=\"3158\"><span style=\"color: #99cc00;\">Al mismo tiempo actuaba como <strong data-start=\"3133\" data-end=\"3158\">iluminaci\u00f3n ambiental<\/strong><\/span><\/p>\n<\/li>\n<\/ul>\n<p data-start=\"3160\" data-end=\"3232\">Esto explica por qu\u00e9 el juego comenz\u00f3 a verse tan diferente visualmente.<\/p>\n<p style=\"text-align: center;\" data-start=\"3160\" data-end=\"3232\"><img decoding=\"async\" src=\"https:\/\/mataii.wordpress.com\/wp-content\/uploads\/2021\/02\/70fad-shaderchange.gif\" \/><\/p>\n<hr data-start=\"3234\" data-end=\"3237\" \/>\n<h2 data-start=\"3239\" data-end=\"3271\">\u00bfQu\u00e9 motor se est\u00e1 usando? \ud83e\udd14<\/h2>\n<p data-start=\"3273\" data-end=\"3377\">Un amigo me pregunt\u00f3 qu\u00e9 motor estaba utilizando para lograr estos resultados, y la respuesta fue clara:<\/p>\n<p data-start=\"3379\" data-end=\"3391\">\ud83d\udc49 <strong data-start=\"3382\" data-end=\"3391\">UPBGE<\/strong><\/p>\n<p data-start=\"3393\" data-end=\"3509\">Tambi\u00e9n le expliqu\u00e9 el proceso y las decisiones t\u00e9cnicas que tom\u00e9 para llegar a este estilo visual y de rendimiento.<\/p>\n<hr data-start=\"3511\" data-end=\"3514\" \/>\n<h2 data-start=\"3516\" data-end=\"3554\">Sistema de aparici\u00f3n de enemigos \ud83d\udc7e<\/h2>\n<p data-start=\"3556\" data-end=\"3640\">Finalmente, se implement\u00f3 un <strong data-start=\"3585\" data-end=\"3627\">sistema b\u00e1sico de spawners de enemigos<\/strong>, utilizando:<\/p>\n<ul data-start=\"3642\" data-end=\"3705\">\n<li data-start=\"3642\" data-end=\"3652\">\n<p data-start=\"3644\" data-end=\"3652\"><span style=\"color: #99cc00;\">Triggers<\/span><\/p>\n<\/li>\n<li data-start=\"3653\" data-end=\"3676\">\n<p data-start=\"3655\" data-end=\"3676\"><span style=\"color: #99cc00;\">Posiciones aleatorias<\/span><\/p>\n<\/li>\n<li data-start=\"3677\" data-end=\"3705\">\n<p data-start=\"3679\" data-end=\"3705\"><span style=\"color: #99cc00;\">Zonas espec\u00edficas del mapa<\/span><\/p>\n<\/li>\n<\/ul>\n<p data-start=\"3707\" data-end=\"3887\">La idea es que los enemigos sigan apareciendo de forma \u201caleatoria\u201d y constante, <strong data-start=\"3787\" data-end=\"3834\">hasta que el jugador se acerque a otra \u00e1rea<\/strong>, evitando que el mundo se sienta vac\u00edo o predecible.<\/p>\n<p style=\"text-align: center;\" data-start=\"3707\" data-end=\"3887\"><img decoding=\"async\" src=\"https:\/\/mataii.wordpress.com\/wp-content\/uploads\/2021\/02\/1ae32-2019-10-03_16-24-40x2.gif\" \/><\/p>\n<hr data-start=\"3889\" data-end=\"3892\" \/>\n<h2 data-start=\"3894\" data-end=\"3910\">Conclusi\u00f3n \ud83e\udde0<\/h2>\n<p data-start=\"3912\" data-end=\"4081\">Eso es todo por ahora.<br data-start=\"3934\" data-end=\"3937\" \/>El proyecto sigue avanzando poco a poco, enfrentando los retos cl\u00e1sicos del desarrollo de videojuegos: rendimiento, balance, diversi\u00f3n y dise\u00f1o.<\/p>\n<p data-start=\"4083\" data-end=\"4161\">Espero poder compartir <span style=\"color: #99cc00;\"><strong data-start=\"4106\" data-end=\"4136\">m\u00e1s actualizaciones pronto<\/strong><\/span>.<br data-start=\"4137\" data-end=\"4140\" \/>\u00a1Gracias por leer! \ud83d\ude04<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Despu\u00e9s de casi medio a\u00f1o de inactividad, por fin llega una nueva actualizaci\u00f3n de mi juego en desarrollo \u201cCrafTal\u201d.Pero antes de hablar de las \u00faltimas \u201cmejoras\u201d (\ud83d\ude05), vale la pena repasar todo lo que se ha ido agregando, ya que no hab\u00eda publicado nada al respecto hasta ahora. Nuevos objetos y construcci\u00f3n en el juego [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":820,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[121],"tags":[151],"class_list":["post-819","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wtf","tag-gamedev"],"_links":{"self":[{"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/posts\/819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=819"}],"version-history":[{"count":3,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/posts\/819\/revisions"}],"predecessor-version":[{"id":1130,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/posts\/819\/revisions\/1130"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/media\/820"}],"wp:attachment":[{"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/salvador.mata.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}