{"id":440,"date":"2023-07-24T00:44:00","date_gmt":"2023-07-23T23:44:00","guid":{"rendered":"https:\/\/jorgeturiel.es\/?p=440"},"modified":"2023-06-18T14:45:03","modified_gmt":"2023-06-18T13:45:03","slug":"castle-game-engine","status":"publish","type":"post","link":"https:\/\/jorgeturiel.es\/?p=440","title":{"rendered":"Castle Game Engine"},"content":{"rendered":"\n<p><a href=\"https:\/\/castle-engine.io\/\">Castle Game Engine<\/a> (CGE) es una de esas sorpresas que de vez en cuando te depara la comunidad Open Source. <\/p>\n\n\n\n<p>CGE es un motor de videojuegos escrito en Free Pascal, compatible con Delphi. Hace tiempo que hab\u00eda visto este motor de videojuegos, y sus demos promet\u00edan mucho. Pero se hac\u00eda dif\u00edcil trabajar con \u00e9l, en comparaci\u00f3n con otros motores de videojuegos m\u00e1s conocidos.<\/p>\n\n\n\n<p>Porr ejemplo Unity, el cual tienen un entorno propio de desarrollo y solo con el rat\u00f3n puedes preparar una escena. No es necesario escribir c\u00f3digo para cargar im\u00e1genes, sprites, etc, preparar c\u00e1maras, luces, etc. Por lo cual el programador solo tiene que centrarse en la mec\u00e1nica de su juego, ya que el motor gr\u00e1fico se hace cargo del resto.<\/p>\n\n\n\n<p>Pero con la \u00faltima versi\u00f3n, la versi\u00f3n 7.0 alfa todo cambi\u00f3.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Esta nueva versi\u00f3n ya incorpora una editor propio, con el cual, solo usando el rat\u00f3n ya podemos preparar una escena. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"551\" src=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230610_171412-1024x551.png\" alt=\"\" class=\"wp-image-448\" srcset=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230610_171412-1024x551.png 1024w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230610_171412-300x162.png 300w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230610_171412-768x414.png 768w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230610_171412-1536x827.png 1536w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230610_171412.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Aspecto general del editor Castle Game Engine<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Instalaci\u00f3n y configuraci\u00f3n.<\/h2>\n\n\n\n<p>Lo primero de todo, como siempre es descargar la \u00faltima versi\u00f3n desde su <a href=\"https:\/\/castle-engine.io\/download\">p\u00e1gina web<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"335\" src=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230610_171901-1024x335.png\" alt=\"\" class=\"wp-image-450\" srcset=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230610_171901-1024x335.png 1024w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230610_171901-300x98.png 300w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230610_171901-768x251.png 768w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230610_171901-1536x502.png 1536w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230610_171901.png 1858w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Descargar CGE<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Escoge la versi\u00f3n que se ajuste a tu sistema operativo y una vez instalado el software, ejec\u00fatalo. <\/p>\n\n\n\n<p>Antes de ejecutarlo por primera vez, debes tener instalado una copia, o bien L\u00e1zarus, o Delphi. <\/p>\n\n\n\n<p>Al iniciar por primera vez CGE, en el caso de usar Lazarus, debemos integrarlo con Lazarus.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"742\" height=\"565\" src=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_145744.png\" alt=\"\" class=\"wp-image-454\" srcset=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_145744.png 742w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_145744-300x228.png 300w\" sizes=\"auto, (max-width: 742px) 100vw, 742px\" \/><figcaption class=\"wp-element-caption\">Pantalla principal de Castle Game Engine<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Para realizar la integraci\u00f3n de pulsar sobre el bot\u00f3n \u00abPreferences\u00bb, y se abrir\u00e1 una nueva ventana. B\u00e1sicamente lo que se hace es registrar los paquetes que de CGE en Lazarus<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"867\" height=\"647\" src=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_150205.png\" alt=\"\" class=\"wp-image-455\" srcset=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_150205.png 867w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_150205-300x224.png 300w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_150205-768x573.png 768w\" sizes=\"auto, (max-width: 867px) 100vw, 867px\" \/><figcaption class=\"wp-element-caption\">Integrar Lazarus<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Pulsamos sobre \u00abFPC and Lazarus\u00bb, y luego sobre \u00abRegister Lazarus Packages\u00bb. Tras unos momentos, saldr\u00e1 un ventana indic\u00e1ndonos que se ha registrado con \u00e9xito.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"330\" height=\"137\" src=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_150337.png\" alt=\"\" class=\"wp-image-456\" srcset=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_150337.png 330w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_150337-300x125.png 300w\" sizes=\"auto, (max-width: 330px) 100vw, 330px\" \/><figcaption class=\"wp-element-caption\">Lazarus packages registrados <\/figcaption><\/figure>\n<\/div>\n\n\n<p>Ahora, cierra la ventana de preferencias, y pulsa sobre el bot\u00f3n \u00abopen example.\u00bb Escoge uno cualquiera de la carpeta \u00abexamples\u00bb. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"586\" src=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_150911-1024x586.png\" alt=\"\" class=\"wp-image-457\" srcset=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_150911-1024x586.png 1024w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_150911-300x172.png 300w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_150911-768x440.png 768w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_150911.png 1529w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Proyecto CGE<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Cada uno de los ficheros es una parte del juego, puedes hacer doble click sobre uno cualquiera y ver como est\u00e1 construida esa escena<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"586\" src=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_151311-1024x586.png\" alt=\"\" class=\"wp-image-458\" srcset=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_151311-1024x586.png 1024w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_151311-300x172.png 300w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_151311-768x440.png 768w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_151311.png 1529w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Editor CGE<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Como se puede apreciar en esta captura, a la derecha hay una estructura de \u00e1rbol con todos los componentes que forman la escena, y la izquierda las propiedades del componente que hemos seleccionado.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Pero lo mejor es pruebas a pulsar el bot\u00f3n \u00abCompile and Run\u00bb. La primera vez que lo compilas, tarda bastante, ya que est\u00e1 compilando todos los ficheros que forman parte del proyecto y del motor gr\u00e1fico. Pero las sucesivas veces, tardar\u00e1 muy poco, ya que solo compilar\u00e1 lo que haya cambiado en tu proyecto.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"606\" src=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_151402-1024x606.png\" alt=\"\" class=\"wp-image-459\" srcset=\"https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_151402-1024x606.png 1024w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_151402-300x177.png 300w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_151402-768x454.png 768w, https:\/\/jorgeturiel.es\/wp-content\/uploads\/2023\/06\/Screenshot_20230618_151402.png 1283w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Juego construido en CGE<\/figcaption><\/figure>\n<\/div>\n\n\n<p>CGE es un proyecto con mucho potencial y muy activo. A fecha de publicar este art\u00edculo se est\u00e1 trabajando en su integraci\u00f3n de con la plataforma de juegos STEAM. <\/p>\n\n\n\n<p>Saludos<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Castle Game Engine (CGE) es una de esas sorpresas que de vez en cuando te depara la comunidad Open Source. CGE es un motor de videojuegos escrito en Free Pascal, compatible con Delphi. Hace tiempo que hab\u00eda visto este motor de videojuegos, y sus demos promet\u00edan mucho. Pero se hac\u00eda dif\u00edcil trabajar con \u00e9l, en [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":443,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,48],"tags":[49,22,32,23],"class_list":["post-440","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lazarus","category-videojuegos","tag-castle-game-engine","tag-delphi","tag-free-pascal","tag-lazarus"],"_links":{"self":[{"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/posts\/440","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=440"}],"version-history":[{"count":9,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/posts\/440\/revisions"}],"predecessor-version":[{"id":461,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/posts\/440\/revisions\/461"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/media\/443"}],"wp:attachment":[{"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}