<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>El Blog de Razican</title>
	<atom:link href="http://www.razican.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.razican.com</link>
	<description>Un blog en el que podrás encontrar desde recursos web hasta sorprendentes programas GNU</description>
	<lastBuildDate>Tue, 01 May 2012 12:06:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Las órbitas de los planetas en Space Settler</title>
		<link>http://www.razican.com/2012/05/las-orbitas-de-los-planetas-en-space-settler/</link>
		<comments>http://www.razican.com/2012/05/las-orbitas-de-los-planetas-en-space-settler/#comments</comments>
		<pubDate>Tue, 01 May 2012 12:06:04 +0000</pubDate>
		<dc:creator>Razican</dc:creator>
				<category><![CDATA[Juegos]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[Space Settler]]></category>
		<category><![CDATA[orbitas]]></category>
		<category><![CDATA[planetas]]></category>

		<guid isPermaLink="false">http://www.razican.com/?p=977</guid>
		<description><![CDATA[El nuevo Big Bang de Space Settler usará un sistema de órbitas único, en el que se podrá en un futuro calcular la posición de cada planeta en cada momento en un sistema tridimensional. Hoy me he propuesto explicar un poco como funcionan estas órbitas y como afectan a la habitabilidad de los planetas, aunque [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">El nuevo Big Bang de Space Settler usará un sistema de órbitas único, en el que se podrá en un futuro calcular la posición de cada planeta en cada momento en un sistema tridimensional. Hoy me he propuesto explicar un poco como funcionan estas órbitas y como afectan a la habitabilidad de los planetas, aunque sobre eso habrá que hacer un extenso artículo más adelante.</p>
<p style="text-align: justify;"><span id="more-977"></span><img class="alignleft size-medium wp-image-978" title="Órbitas" src="http://www.razican.com/wp-content/uploads/2012/05/orbitas-300x148.png" alt="Órbitas" width="300" height="148" />A la hora de definir una órbita hacen falta seis parámetros: El <strong>semieje mayor</strong>, la <strong>excentricidad</strong>, la <strong>inclinación</strong>, la <strong>longitud del nodo ascendente</strong>, el <strong>argumento del periapsis</strong> y la <strong>anomalía media</strong>. Esta última se basa en una referencia de tiempo, que en el caso de Space Settler será el momento de la creación del universo. Ahora vamos a explicar por encima como funciona cada valor, ya que esto es más astrofísica que algo sobre el juego, y es probable que escriba algo sobre el tema en un futuro artículo en la sección de <a title="EBDR - Ciencia y tecnología" href="http://ciencia.razican.com/" target="_blank">Ciencia y Tecnología</a>.</p>
<ul>
<li>El semieje mayor es la distancia media del planeta a su estrella, la cual se obtiene mediante la aplicación de la ley de <strong>Titius Bode</strong>, con un  10% de error. Según esta ley, los planetas están ordenados según dos valores que los genera la propia estrella. Se comprueba que el planeta anterior está a menos distancia que este, y luego se hace el cálculo. Se han hecho varios estudios para determinar una correcta aplicación de la ley.</li>
<li>La excentricidad determina cuan elipsoidal es la órbita. Se considera que si la órbita de un planeta tiene excentricidad 0, es una órbita circular, y una con una excentricidad de 1 sería una parábola, es decir, que el objeto nunca volvería al punto al que está, saldría despedido. Cualquier número por encima de 1 será una órbita hiperbólica que lo único que supone es un cambio de rumbo para el objeto. En el caso de los planetas, estará entre 0 y 0,25, pero solo superará valores de 0,1 en el caso en el que se encuentre a menos de la mitad de distancia que la masa de la estrella, en unidades astronómicas.</li>
<li>La inclinación determina lo inclinada que está la elipse respecto a un plano de referencia. Se considera que puede estar de 0º a 180º, y si supera los 90º el movimiento del planeta será retrógrado, es decir, en contra del resto de los planetas. En nuestro caso, las inclinaciones variarán de 0º a 10º. Todos estos valores se guardarán en la base de datos en radianes para hacer más sencillas las operaciones en el futuro.</li>
<li>La longitud del nodo ascendente indica dentro de la elipse de la órbita en que longitud se cruza con el plano base. En el caso de una inclinación 0 es indeterminado, y que se cruza en todas las longitudes. Puede tomar valores de 0º a 359,9º</li>
<li>El argumento del periapsis indica en que longitud está localizado el periapsis dentro de esa elipse. Puede tomar cualquier valor de 0º a 359,9º. El periapsis es el punto de la órbita más cercano a la estrella.</li>
<li><img class="alignright size-medium wp-image-979" title="Saturno" src="http://www.razican.com/wp-content/uploads/2012/05/saturno-300x151.png" alt="Saturno" width="300" height="151" />La anomalía media para una época supone en que punto respecto al periapsis está localizado el planeta en un momento de terminado, dentro de la elipse de su órbita. El momento elegido será el inicio del universo, y el valor puede ser cualquiera entre 0º y 359,9º.</li>
</ul>
<p style="text-align: justify;">Esto no supone que en la versión Pre-alpha 3 vamos a tener una representación tridimensional de los planetas, pero abre la puerta a que eso sea así en un futuro, y además nos permite calcular distancias para cada momento, que en el caso en el que el planeta orbite en un periodo de 10 segundos es innecesario, pero para uno como (90377) Sedna, que en el juego orbitaría con un periodo de 38 días, 7 horas y 48 minutos (10.500 años en la realidad), si supone una gran ventaja para calcular lanzamientos de naves espaciales etc. No obstante, los valores aquí mostrados son únicamente para planetas, pero los planetas enanos y los cinturones de asteroides tendrán su propio sistema, que hará cada sistema solar único.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.razican.com/2012/05/las-orbitas-de-los-planetas-en-space-settler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Como funciona el nuevo Big Bang de Space Settler?</title>
		<link>http://www.razican.com/2012/04/nuevo-big-bang-de-space-settler/</link>
		<comments>http://www.razican.com/2012/04/nuevo-big-bang-de-space-settler/#comments</comments>
		<pubDate>Sat, 14 Apr 2012 14:46:44 +0000</pubDate>
		<dc:creator>Razican</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Creación Web]]></category>
		<category><![CDATA[Juegos]]></category>
		<category><![CDATA[Programas]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[Space Settler]]></category>
		<category><![CDATA[big bang]]></category>
		<category><![CDATA[juego]]></category>

		<guid isPermaLink="false">http://www.razican.com/?p=963</guid>
		<description><![CDATA[Como algunos ya sabréis, Space Settler, en su versión Pre-Alpha 3 traerá un nuevo sistema para crear universos. El antiguo sistema era complicado de programar, y suponía un grave problema a la hora de añadir nuevos objetos o de arreglar problemas existentes. Con este nuevo algoritmo pretendo poder hacer un universo más realista, más rápido [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Como algunos ya sabréis, Space Settler, en su versión Pre-Alpha 3 traerá un nuevo sistema para crear universos. El antiguo sistema era complicado de programar, y suponía un grave problema a la hora de añadir nuevos objetos o de arreglar problemas existentes. Con este nuevo algoritmo pretendo poder hacer un universo más realista, más rápido y que incluso podrá tener muchas posibilidades en el futuro. Además, hoy me propongo explicar no solo cuanto he avanzado, sino como funciona, para que entendáis como usarlo y, muy importante, para que podáis crear un sistema parecido para vuestras aplicaciones.</p>
<p style="text-align: justify;"><span id="more-963"></span><img class="alignleft size-medium wp-image-964" style="text-align: -webkit-auto;" title="Galaxia Andrómeda" src="http://www.razican.com/wp-content/uploads/2012/04/nasa_-_the_andromeda_galaxy_m31_spyral_galaxy-300x225.jpg" alt="Galaxia Andrómeda" width="300" height="225" />El nuevo algoritmo tiene como base unos cuantos objetos que representan los distintos tipos de cuerpos que podemos encontrar en nuestro universo. Actualmente tenemos siete tipos de estrellas en la secuencia principal, y luego otros objetos que funcionan bastante parecido a las estrellas: los agujeros negros, las estrellas de neutrones, las enanas blancas y luego un tipo curioso de estrella llamada estrella de quarks. No voy a ponerme a explicar que es cada cosa y como afecta al juego, ya que para eso está <a title="Wikipedia" href="http://www.wikipedia.org/" target="_blank">Wikipedia</a>. No obstante, si quiero apuntar algunos sistemas que se han usado para calcular probabilidades a la hora de crear este tipo de objetos.</p>
<p style="text-align: justify;">Como habréis notado, todavía no hay planetas, lunas o cinturones de asteroides, que se incluirán en futuras versiones de desarrollo. Pero por el momento, el programa crea satisfactoriamente el resto de objetos con las proporciones correctas para un universo realista. Para que os hagáis un idea, estas son las proporciones reales de estrellas en el universo:</p>
<ul style="text-align: justify;">
<li>Estrellas de tipo O: 0.00003%</li>
<li>Estrellas de tipo B: 0.13%</li>
<li>Estrellas de tipo A: 0.6%</li>
<li>Estrellas de tipo F: 3%</li>
<li>Estrellas de tipo G: 7.6%</li>
<li>Estrellas de tipo K: 12,1%</li>
<li>Estrellas de tipo M: 76.45%</li>
</ul>
<p style="text-align: justify;">Dado que las estrellas de neutrones, de quarks, enanas blancas y agujeros negros solo se pueden formar de algunos tipos de estrellas, he decidido darles un 0,1% de proporción, en total. En el último universo que he creado, con una única galaxia de 1 035 497 de estrellas, estas han sido las cantidades:</p>
<ul style="text-align: justify;">
<li>Agujeros Negros: 346</li>
<li>Estrellas de Neutrones: 331</li>
<li>Estrellas de Quarks: 0</li>
<li>Enanas Blancas: 347</li>
<li>Tipo O: 0</li>
<li>Tipo B: 1 330</li>
<li>Tipo A: 6 236</li>
<li>Tipo F: 30 921</li>
<li>Tipo G: 79 022</li>
<li>Tipo K: 124 860</li>
<li>Tipo M: 792 104</li>
</ul>
<p style="text-align: justify;">Dado que las de tipo O salen tres de cada 10 000 000 de estrellas, era bastante probable que no hubiera ninguna, y en el caso de las de quarks sale una de cada 10 000 000, así que era muy probable que no hubiera ninguna. para el resto, las proporciones son bastante correctas, dado que la cantidad final ha sido algo superior al millón de estrellas, parece todo correcto.<img class="alignright size-medium wp-image-965" title="Sol" src="http://www.razican.com/wp-content/uploads/2012/04/prominence-300x268.gif" alt="Sol" width="300" height="268" /></p>
<p style="text-align: justify;">Tengo que recordar que muchas de estas estrellas tendrán planetas, muchas de ellas varios, y cada uno de ellos podría tener varias lunas, así que esto no parece viable, y supongo que tendré que rebajar la cantidad de estrellas por galaxia. Para que os hagáis una idea, el programa crea una galaxia y la guarda en la base de datos  cada vez que se ejecuta, respetando siempre las que haya actualmente. En este caso, esto ha sido lo que ha tardado:</p>
<ul style="text-align: justify;">
<li>Tiempo tardado en crear la galaxia: 108,0932 segundos</li>
<li>Tiempo tardado en guardar las 1 035 497 estrellas: 399,8887 segundos</li>
</ul>
<p style="text-align: justify;">Visto esto puede no parecer mucho, pero si hacemos un calculo estadístico de la cantidad de planetas que podría haber en la galaxia, serían unos 4 000 000. lo cual aumentaría mucho el tiempo de creación, llegando a ser superior a una hora casi seguro, y si añadimos una media de 2 o 3 lunas por cada planeta, el tiempo ya se dispara, pudiendo estar varias horas creando una única galaxia, y usando hasta 6 o 7 GB de RAM. Puede parecer mucho, y lo es, pero también hay que tener en cuenta que una vez creado el universo ya no se toca, así que tenemos a nuestra disposición miles de objetos que podrán ser usados, y si nos quedamos faltos de planetas habitables siempre podremos añadir una nueva galaxia.</p>
<p style="text-align: justify;">Ahora paso a detallar el aspecto técnico de la programación:</p>
<p style="text-align: justify;">La idea es tener un objeto para cada tipo de cuerpo en el universo, no obstante, todos los objetos aquí descritos son considerados distintos tipos de estrellas, ya que usan la misma tabla en la base de dato y tienen las mismas propiedades. Pero también tenemos objetos de tipo planeta, luna, o cinturón de asteroides. De esta manera, he aprovechado la posibilidad de crear constructores con distintos parámetros (en el caso de la estrella) para saber si lo que tengo que hacer es crear una estrella o cargarla de la base de datos. Para cargar una estrella solo debemos incluir el parámetro de la ID de la estrella, mientras que para la creación debemos incluir la ID de la última estrella en crearse y la cantidad de galaxias actualmente en la base de datos.</p>
<p style="text-align: justify;"><img class="alignleft size-medium wp-image-966" title="La Tierra" src="http://www.razican.com/wp-content/uploads/2012/04/Sun_Earth-300x225.jpg" alt="La Tierra" width="300" height="225" />En el segundo caso, usa una serie de probabilidades para crear una estrella. podéis ver el código PHP <a title="Star.php" href="https://github.com/Razican/Space-Settler/blob/develop/space-settler/entities/bodies/star.php" target="_blank">aquí</a>. Así, le genera unos cuantos parámetros basados únicamente en variaciones estadísticas, de manera que nos sale un universo aleatorio, pero a su vez respetando las fórmulas físicas reales. Todavía, como podréis ver no está programada la formula de Titius Bode, ya que tengo que hacer un estudio estadístico, pero esta fórmula sacará unos parámetros que colocarán a las distancias correctas a los nuevos planetas que se incluyan en el futuro.En el primer caso, todavía sin programar, cargaría la estrella y corregiría los valores en la base de datos, los cuales se guardan como enteros para evitar problemas de magnitudes. Así, podremos sacar los parámetros de una estrella directamente, sin tantas dificultades como hasta ahora.</p>
<p style="text-align: justify;">Como curiosidad, para la creación de objetos como estas entidades en CodeIgniter, los he creado en una carpeta llamada "entities" dentro de la aplicación, para luego poder cargarlos con un <em>require_once</em> desde el constructor de la librería Big Bang.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.razican.com/2012/04/nuevo-big-bang-de-space-settler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¡Nueva versión pre Alpha de Space Settler!</title>
		<link>http://www.razican.com/2012/03/nueva-version-pre-alpha-de-space-settler/</link>
		<comments>http://www.razican.com/2012/03/nueva-version-pre-alpha-de-space-settler/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 18:25:15 +0000</pubDate>
		<dc:creator>Razican</dc:creator>
				<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[Space Settler]]></category>
		<category><![CDATA[Actualizado]]></category>
		<category><![CDATA[nuevo]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://www.razican.com/?p=957</guid>
		<description><![CDATA[¡Ya está aquí! La segunda versión de desarrollo del juego multijugador que revolucionará el modo en el que se juega con naves espaciales ya ha llegado. Con muchas novedades, y solucionando muchísimos errores, ya tenemos aquí la versión Pre-Alpha 2, con casi dos semanas de antelación sobre la fecha prevista. A continuación paso a detallar [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">¡Ya está aquí! La segunda versión de desarrollo del juego multijugador que revolucionará el modo en el que se juega con naves espaciales ya ha llegado. Con muchas novedades, y solucionando muchísimos errores, ya tenemos aquí la versión Pre-Alpha 2, con casi dos semanas de antelación sobre la fecha prevista. A continuación paso a detallar las novedades:</p>
<p style="text-align: justify;"><span id="more-957"></span><a href="http://www.razican.com/wp-content/uploads/2012/03/Abaddon_Space_Art.jpg"><img class="alignleft size-medium wp-image-958" title="Impacto" src="http://www.razican.com/wp-content/uploads/2012/03/Abaddon_Space_Art-300x170.jpg" alt="Impacto" width="300" height="170" /></a>Como ya sabréis, Space Settler será un juego en el que los usuarios podrán luchar, comerciar y mejorar tecnológicamente con un nivel de realismo nunca antes visto. Ya era hora de que alguien se lo tomara en serio y dejara de lado los juegos espaciales que no son creíbles. Esta versión en desarrollo, que todavía no ofrece una jugabilidad reseñable, tiene activos varios módulos nuevos.</p>
<p style="text-align: justify;">Para empezar, el nuevo panel de configuración del usuario pone a disposición de los jugadores un kit de herramientas con el que cambiar la contraseña, aspecto gráfico, email, nombre e incluso entrar y salir del modo hibernación. Este nuevo módulo se incluye junto con el módulo de soporte para que los usuarios puedan pedir nuevas características, avisar de errores, o pedir mejoras de una manera muy simple.</p>
<p style="text-align: justify;">Pero en cuanto a jugabilidad, un gran paso se ha dado al permitir al usuario ver las características del planeta en el que comienza, de manera que podrá hacerse una idea de como es.</p>
<p style="text-align: justify;">Pero esto no es todo, la versión Pre-Alpha 3 ya está en camino, con el nuevo formato de universo, así que habrá lunas, cinturones de asteroides, cometas, órbitas elípticas, atmósferas planetarias etc. Esto permitirá crear un universo más real. Aún así, lo más novedoso de esta versión será el nuevo algoritmo de creación de objetos del sistema solar, que hará que haya distintos tipos de objetos definidos desde un primer momento. Un núcleo del juego renovado, más fácil de programar, que hará que las próximas versiones salgan antes.</p>
<p><img class="alignright size-medium wp-image-959" title="Nave en marte" src="http://www.razican.com/wp-content/uploads/2012/03/mars-300x187.jpg" alt="Nave en marte" width="300" height="187" /></p>
<p style="text-align: justify;">La tercera versión de desarrollo está planeada para el 1 de Junio, y podéis seguir su creación <a title="Space Settler - GitHub" href="https://github.com/Razican/Space-Settler" target="_blank">aquí</a>, aportando ideas y comprobando las novedades. En cualquier momento podréis descargar el código y probarlo.</p>
<p style="text-align: justify;">Pero, lo más importante; podéis desde ya registraros y probar las nuevas características del juego, entrando ya sea por el enlace en la parte derecha del blog o haciendo clic <a title="Space Settler" href="http://space-settler.razican.com/" target="_blank">aquí</a>. Si queréis seguir novedades y aprender más del juego, podéis seguirme en <a title="Razican en Twitter" href="https://twitter.com/#!/razican" target="_blank">Twitter</a>, donde de vez en cuando publico novedades y características futuras.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.razican.com/2012/03/nueva-version-pre-alpha-de-space-settler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diseño definitivo de la web</title>
		<link>http://www.razican.com/2012/03/diseno-difinitivo-de-la-web/</link>
		<comments>http://www.razican.com/2012/03/diseno-difinitivo-de-la-web/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 22:46:19 +0000</pubDate>
		<dc:creator>Razican</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[Space Settler]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[actualizacion]]></category>
		<category><![CDATA[ampliable]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[nuevo diseño]]></category>

		<guid isPermaLink="false">http://www.razican.com/?p=935</guid>
		<description><![CDATA[Después de un detenido estudio, he decidido dejar la web tal como está ahora. Así, espero que pueda colaborar en distintos proyectos y agrandarla, sin comprometer la calidad del sitio. Por ello, este nuevo sistema se divide en secciones para permitir distintos temas, como describiré a continuación: Para empezar, he movido la sección de Informática [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Después de un detenido estudio, he decidido dejar la web tal como está ahora. Así, espero que pueda colaborar en distintos proyectos y agrandarla, sin comprometer la calidad del sitio. Por ello, este nuevo sistema se divide en secciones para permitir distintos temas, como describiré a continuación:</p>
<p style="text-align: justify;"><span id="more-935"></span>Para empezar, he movido la sección de Informática a la página principal, dejando en <a title="Política y Economía" href="http://politica.razican.com/">politica.razican.com</a> la sección de Política y Economía. Esto supone un nuevo enfoque, con mi trabajo en primer plano. Pero sobretodo, permite que cree nuevas secciones, como la futura sección de Ciencia y Tecnología que muy pronto podremos ver en Castellano y probablemente también en Euskera. Además, contaré con colaboración que anunciaré los próximos días.</p>
<p style="text-align: justify;">También paso a aclarar el estado de Space Settler, que sigue, por supuesto en desarrollo. Se ha retrasado la Pre-Alpha 2 hasta dentro de dos semanas, que no es demasiado, teniendo en cuenta que hemos adoptado un ciclo de lanzamiento de 2 meses, y no ha pasado el primero. Pero si que es verdad que había pensado que esta versión saldría antes de lo previsto, por la rapidez con la que se solucionaron los errores de la versión anterior.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.razican.com/2012/03/diseno-difinitivo-de-la-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Primera versión Pre Alpha de Space Settler</title>
		<link>http://www.razican.com/2012/02/primera-version-pre-alpha-de-space-settler/</link>
		<comments>http://www.razican.com/2012/02/primera-version-pre-alpha-de-space-settler/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 16:00:24 +0000</pubDate>
		<dc:creator>Razican</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[Space Settler]]></category>

		<guid isPermaLink="false">http://informatica.razican.com/?p=914</guid>
		<description><![CDATA[Ya está aquí la primera versión Pre Alpha del juego espacial Space Settler. En esta versión inicial he tratado de crear un sistema base para poder diseñar el juego a partir de ahora. Se han decidido muchas cosas sobre el futuro y se ha creado el núcleo del Big Bang. De esta manera, aunque no [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ya está aquí la primera versión Pre Alpha del juego espacial Space Settler. En esta versión inicial he tratado de crear un sistema base para poder diseñar el juego a partir de ahora. Se han decidido muchas cosas sobre el futuro y se ha creado el núcleo del Big Bang. De esta manera, aunque no haya mucho que destacar para el usuario final, el juego ha sido muy trabajado.</p>
<p style="text-align: justify;"><span id="more-914"></span><img class="alignleft size-medium wp-image-922" title="Espacio" src="http://informatica.razican.com/wp-content/uploads/2012/02/space-300x231.jpg" alt="Espacio" width="300" height="231" />Primera versión, si, una versión medianamente estable, que se puede usar sin problemas, pero casi sin funcionalidad alguna. En esta ocasión, he tratado de crear un Big Bang estupendo, para poder crear universos únicos y muy grandes, de manera que todos los usuarios tengan cabida, y que permita jugar de una manera realista. Ese ha sido el pilar para la creación de este juego. No es sino una adaptación de XG Proyect a un universo más realista, en el que las distancias son realistas, y las leyes físicas determinan que se puede y que no se puede hacer. Ya se hizo en su día una descripción bastante detallada de que características tendrá el juego <a title="Space Settler se aleja de OGame" href="http://informatica.razican.com/2011/12/nuevo-space-settler/">aquí</a>, y en esta versión se ha implementado una primera versión de un universo realista.</p>
<p style="text-align: justify;">Esta creación del universo crea una media de 100.000 estrellas por universo, y unos 400.000 planetas. También se han incluido una serie de objetos conocidos como planetas dobles, que serían una media de 2.000 objetos que tienen un compañero con una masa bastante grande, y que en vez de ser un satélite del planeta, es otro planeta, en un sistema en el que ambos pequeños planetas giran uno en torno al otro, como en el caso real Plutón-Caronte.</p>
<p style="text-align: justify;">El sistema de creación de planetas es muy complejo y tarda muchísimo, por lo que en futuras versiones se desarrollará un sistema en C++ que cree un archivo SQL preparado para importar a la base de datos, aún así, no se espera que este sistema esté listo antes de la primera versión Beta.<img class="alignright size-full wp-image-923" title="Planetas" src="http://informatica.razican.com/wp-content/uploads/2012/02/space2.jpg" alt="Planetas" width="270" height="203" /></p>
<p style="text-align: justify;">Además de esta compleja creación de universos, solo se ha implementado un simple registro, que enviará una contraseña aleatoria al email del usuario, y un recordatorio de contraseña. Se ha complementado con un login que lleva a una página de visión general en la que se muestra la hora actual en el formato configurado. Para salir, se debe acceder a /logout.</p>
<p style="text-align: justify;">Pero esta versión destaca no por su complejidad o cantidad de opciones sino que nos muestra el camino a seguir, supone una base muy sólida sobre la que trabajar en el futuro próximo, y sobretodo, nos da una línea de trabajo o "Roadmap" que seguir, mediante un sistema de versionado no muy complejo pero que no explicaré aquí por lo tedioso que puede resultar.</p>
<p style="text-align: justify;">Por de pronto, he de decir que la próxima versión traerá muchas novedades, entre las que se cuentan un aspecto visual muy preliminar, con un menú y una visión general, y se incluirá un sistema para cambiar las preferencias, además de una traducción completa del juego a los tres idiomas que actualmente soporta, aunque no haya control administrativo para gestionarlo.</p>
<p style="text-align: justify;">También hay pensadas <img class="alignleft size-medium wp-image-924" title="Satélite" src="http://informatica.razican.com/wp-content/uploads/2012/02/satelite-300x225.jpg" alt="Satélite" width="300" height="225" />novedades para la tercera Pre-alpha, en la que se intentará perfeccionar todo lo hecho hasta ahora, ya que en esta serie de versiones previas a la serie Alpha, se ha decidido que las versiones pares se centren en incluir nuevas funcionalidades y en cambio las impares, tratarán de mejorar lo ya hecho. Se ha planeado una nueva versión cada unos 2 meses, y la segunda Pre-Alpha se prepara para salir a principios de Abril, pero todavía los tiempos no están claros. Se ha decidido poner un límite superior de 4 meses por versión y uno inferior de 1 mes.</p>
<p style="text-align: justify;">Podéis colaborar buscando errores en esta nueva versión <a title="Space Settler" href="http://space-settler.razican.com/" target="_blank">aquí</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.razican.com/2012/02/primera-version-pre-alpha-de-space-settler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Space Settler se aleja de OGame</title>
		<link>http://www.razican.com/2011/12/nuevo-space-settler/</link>
		<comments>http://www.razican.com/2011/12/nuevo-space-settler/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 13:00:53 +0000</pubDate>
		<dc:creator>Razican</dc:creator>
				<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[Space Settler]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[juego]]></category>
		<category><![CDATA[ogame]]></category>
		<category><![CDATA[universo]]></category>
		<category><![CDATA[xg proyect]]></category>
		<category><![CDATA[xnova]]></category>

		<guid isPermaLink="false">http://informatica.razican.com/?p=845</guid>
		<description><![CDATA[Space Settler, el nuevo juego que estoy programando está ya acabando las fases de ideas, y empieza a tomar forma. Como todos sabréis es un juego que se basa en XG Proyect, que a su vez se basa en XNova, que al mismo tiempo se basa en OGame. En cambio, Space Settler no es como [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Space Settler, el nuevo juego que estoy programando está ya acabando las fases de ideas, y empieza a tomar forma. Como todos sabréis es un juego que se basa en <a title="XG Proyect" href="http://xgproyect.net/forum/" target="_blank">XG Proyect</a>, que a su vez se basa en <a title="XNova: Next-Gen" href="http://www.xnova-ng.org/" target="_blank">XNova</a>, que al mismo tiempo se basa en OGame. En cambio, Space Settler no es como sus predecesores. Para empezar, supone una reprogramación total de XG Proyect, ya que no solo no usará el mismo código sino que tendrá muchos cambios en cuanto al  sentido del juego y, sobretodo, al realismo.</p>
<p style="text-align: justify;"><span id="more-845"></span>He de decir que casi todo mi tiempo se está dedicando a mejorar poco a poco el juego, y tengo esperanzas de poder sacar la primera versión en la <img class="alignright size-medium wp-image-855" title="Planeta" src="http://informatica.razican.com/wp-content/uploads/2011/12/planeta-300x193.jpg" alt="Planeta" width="300" height="193" />que se podrá usar el registro, el login y el recordatorio de contraseña dentro de pocos días; y digo días, no semanas ni meses, es decir, que mi objetivo es que salga antes del 8 de Enero.</p>
<p style="text-align: justify;">El problema es que para ello va a haber que trabajar mucho, y en esto debo dar las gracias a las fuentes de información que más me están ayudando:</p>
<ul style="text-align: justify;">
<li><a title="Eureka" href="http://danielmarin.blogspot.com/" target="_blank">Eureka</a></li>
<li>Wikipedia</li>
<li><a title="Ciencia Kanija" href="http://www.cienciakanija.com/" target="_blank">Ciencia Kanija</a></li>
<li><a title="Sondas Espaciales" href="http://www.sondasespaciales.com/index.php/P%C3%A1gina_Principal" target="_blank">Sondas Espaciales</a></li>
<li>NASA / NASA - JPL</li>
</ul>
<p style="text-align: justify;">Y todo esto porque el juego se basará en la realidad, y no en pura diversión; con esto quiero decir que incluso los que quieran aprender un poco sobre el universo tendrán su espacio (nunca mejor dicho) para poder aprender cosas como los tipos de estrellas, los planetas, su creación, tamaños etc. Para ello usaremos un nuevo sistema en el que la creación de un universo será única, de manera que se creará todo en un bigbang.</p>
<p style="text-align: justify;"><img class="alignleft size-medium wp-image-852" title="Universo" src="http://informatica.razican.com/wp-content/uploads/2011/12/universo1-300x153.jpg" alt="Universo" width="300" height="153" />En cuanto a la creación del universo, el programa de creación está ya muy, muy avanzado, de manera que pronto podremos crear universos como si fuéramos dioses. Pero debo puntualizar una cosa: En Space Settler, no habrá en principio varios universos. La idea es centralizar todo en galaxias, ya que las galaxias serán inmensas, con muchos planetas, y será muy complicado viajar de una a otra, sobretodo por el tiempo, ya que a la galaxia más cercana se tardará una media de 2 millones de años en llegar (en tiempo real), por lo que poco sentido tendrá, al menos al principio del juego, sin tecnología avanzada intentar llegar a otra galaxia, ya que nunca se conseguirá el objetivo.</p>
<p style="text-align: justify;">No por ello  será menos divertida la vida en la galaxia, ya que he planteado glaxias de ni más ni menos que una media de 100.000 estrellas, variable, de las cuales unas 10.000 tendrán planetas, de los cuales muchos tendrán satélites naturales. Y ahí otra novedad: Los planetas, como la energía, ni se crean ni se destruyen, no como en los juegos en los que nos basamos, que un planeta puede ser destruido con un simple click. Además, no todos los planetas serán habitables, para el registro de nuevos usuarios. Sin embargo todos tendrán su función a la hora de mejorar la tecnología. En cuanto a la habitabilidad, las lunas podrán ser habitables, como en la realidad, de manera que si cumplen los requisitos podrán ser el lugar de inicio de un nuevo usuario. De maneraa que es posible que dos usuarios "nazcan" uno en un planeta y otro en su luna. En cuanto a los cuerpos no habitables, aquellos en los que haya zona donde pisar, y no sean gigantes gaseosos, y siempre que sean suficientemente grandes podrán ser conquistados, creando bases.<img class="alignright size-medium wp-image-854" title="Galaxia" src="http://informatica.razican.com/wp-content/uploads/2011/12/galaxia-300x206.jpg" alt="Galaxia" width="300" height="206" /></p>
<p style="text-align: justify;">Y aquí tenemos otra novedad: Dado que los planetas no se destruyen, las construcciones en los mismos tampoco. Así que si alguna civilización conquista un objeto, y construye edificios etc. en el momento en el que por la razón que fuere abandone el cuerpo, los edificios quedarán ahí, pudiendo ser conquistados por otras civilizaciones.</p>
<p style="text-align: justify;">Pero eso no va a ser tan fácil. Habrá obviamente naves de transporte de personas, ya que la explotación de recursos será proporcional a la gente que trabaje en dicho establecimiento. Pero no es lo único que cambia, sino que los recursos serán distintos. No habrá tres, sino uno por cada elemento estable de la tabla periódica de los elementos. Y además, cada planeta tendrá una lista con todos los elementos que componen su superficie, de manera que no se podrán extraer recursos más allá de los que tenga el propio planeta.</p>
<p style="text-align: justify;">Después de este tremendo artículo en el que se explican las novedades de este magnífico juego, os dejo los enlaces en los que descargar el código fuente o colaborar en su desarrollo. Cuando salga la primera versión Pre-Alpha, la colocaré en  esta web con su respectivo log de cambios.</p>
<p style="text-align: justify;">Para colaborar o descargar el código fuente, aquí tenéis el repositorio: <a title="Space Settler - Repositorio" href="https://github.com/Razican/Space-Settler" target="_blank">Github - Razican - Space Setter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.razican.com/2011/12/nuevo-space-settler/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Comencemos a programar en PHP &#8211; Variables</title>
		<link>http://www.razican.com/2011/09/comencemos-a-programar-en-php-variables/</link>
		<comments>http://www.razican.com/2011/09/comencemos-a-programar-en-php-variables/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 14:00:26 +0000</pubDate>
		<dc:creator>Razican</dc:creator>
				<category><![CDATA[Creación Web]]></category>
		<category><![CDATA[Curso PHP]]></category>
		<category><![CDATA[php desde cero]]></category>
		<category><![CDATA[tipos de variable en php]]></category>

		<guid isPermaLink="false">http://www.razican.com/?p=794</guid>
		<description><![CDATA[Una vez entendido lo básico, llega la hora de empezar a aprender lo no tan elemental. En este artículo vamos a explicar lo que es una variable, como se usa y que es una función. Como el lunes empiezo la carrera de Ingeniería Informática, es probable que al menos al principio tenga poco tiempo para [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Una vez entendido lo básico, llega la hora de empezar a aprender lo no tan elemental. En este artículo vamos a explicar lo que es una variable, como se usa y que es una función. Como el lunes empiezo la carrera de Ingeniería Informática, es probable que al menos al principio tenga poco tiempo para dedicárselo al blog, pero aún así intentaré seguir con el, haber si puedo hacer un artículo por semana. Dicho esto, comencemos con esta tercera parte del curso.</p>
<p style="text-align: justify;"><span id="more-794"></span><br />
<img class="alignleft size-medium wp-image-800" title="Teclado" src="http://informatica.razican.com/wp-content/uploads/2011/09/keyboard-253x300.jpg" alt="Teclado" width="253" height="300" />Primero de todo, quiero avisar de que en los scripts que ponga a continuación obviaré el inicio (<em>&lt;?php</em>) y el final (<em>?&gt;</em>) de todos los programas. Aún así, debo aclarar que esa parte deberéis ponerlas en vuestros archivos para que funcionen correctamente. Ahora ya podemos empezar. En el <a title="Conceptos básicos y primer programa en PHP" href="http://informatica.razican.com/2011/08/conceptos-basicos-y-primer-programa-en-php/" target="_blank">anterior artículo</a> explique muy por encima como era eso de las variables y la sintaxis. Bueno, ahora que sabéis que una variable comienza siempre por <em>$</em> y todas las sentencias deben acabar con <em>;</em>, podemos empezar a hacer cosas fáciles.</p>
<p style="text-align: justify;">Una variable, como vimos en el anterior artículo, puede ser simplemente <em>"pepe"</em>. Pero ahora comprobaréis que hay distintos tipos de variables. Primero, es el tipo <em>string</em> o cadena de caracteres. Los strings son solo texto, y tienen al principio y al final los caracteres " y " o ' y '. En un futuro veremos la diferencia entre las comillas y el apostrofe. Una curiosidad. Si suponemos la siguiente sentencia:</p>
<pre class="php"><span style="color: #0000ff;">$string</span> = <span style="color: #ff0000;">&quot;1&quot;</span>;</pre>
<p style="text-align: justify;">En este caso, el número 1 no será un número, como veremos a continuación, sino que será un texto diciendo 1, con el que no podremos hacer operaciones matemáticas, al menos por el momento. Para hacer procedimientos matemáticos usaremos el tipo de variables número:</p>
<pre class="php"><span style="color: #0000ff;">$number</span> = <span style="color: #cc66cc;">1</span>; <span style="color: #808080; font-style: italic;">//La variable $number será 1</span>
<span style="color: #0000ff;">$number</span> = <span style="color: #cc66cc;">1</span><span style="color: #cc66cc;">+1</span>; <span style="color: #808080; font-style: italic;">//La variable $number es 2</span>
<span style="color: #0000ff;">$string</span> = <span style="color: #0000ff;">$number</span>; <span style="color: #808080; font-style: italic;">//La variable $string será 2, y será numérica</span>
<span style="color: #0000ff;">$string</span> = <span style="color: #0000ff;">$string</span><span style="color: #cc66cc;">-1</span>; <span style="color: #808080; font-style: italic;">//Ahora $string será 1, como número.</span>
<span style="color: #0000ff;">$number</span> = <span style="color: #ff0000;">&quot;3&quot;</span>; <span style="color: #808080; font-style: italic;">//Ahora $number será 3, pero como string.</span></pre>
<p style="text-align: justify;">Como podemos comprobar, cualquier variable puede ser de cualquier tipo, y como puede variar, puede convertirse en numérica, string, o la que sea. Aún así, existe otro tipo de variable numérica que no es exactamente numérica (o integer) sino que se le llama float o numérica de punto flotante, ya que tiene un punto para separar los decimales:</p>
<pre class="php"><span style="color: #0000ff;">$number</span> = <span style="color: #cc66cc;">1</span>; <span style="color: #808080; font-style: italic;">//$number será 1, como integer</span>
<span style="color: #0000ff;">$float</span> = <span style="color: #cc66cc;">1.32</span>; <span style="color: #808080; font-style: italic;">//$float será 1,32, como float</span>
<span style="color: #0000ff;">$result</span> = <span style="color: #0000ff;">$float</span>-<span style="color: #0000ff;">$number</span>; <span style="color: #808080; font-style: italic;">//$result será 0,32 float</span></pre>
<p style="text-align: justify;"><a href="http://informatica.razican.com/wp-content/uploads/2011/09/variables.jpg"><img class="alignleft size-medium wp-image-797" title="Variables" src="http://informatica.razican.com/wp-content/uploads/2011/09/variables-300x202.jpg" alt="Variables" width="300" height="202" /></a>Como podemos comprobar, un integer se convertirá en float al hacer operaciones que den como resultado un número con decimales. De hecho, un integer no puede tener decimales, porque como su propio nombre indica, es un número entero. Para acabar con los tipos más sencillos de variables, ya que los complejos los iremos viendo más adelante, os mostraré las de tipo bool o booleanos. Estas variables solo pueden tener dos valores, <em>TRUE</em> o <em>FALSE</em>; verdadero o falso. Yo recomiendo escribirlos en mayúsculas para no liarnos. A diferencia de los strings, estas no se deben poner entre " o '. De esta manera, pues, os propongo un ejemplo, y recordad que en cualquier punto del programa podéis meter una nueva línea y escribir <em>echo $variable;</em> para que os diga cual es la variable en cuestión:</p>
<pre class="php"><span style="color: #0000ff;">$bool</span> = <span style="color: #000000; font-weight: bold;">FALSE</span>; <span style="color: #808080; font-style: italic;">//$bool será falsa</span>
<span style="color: #0000ff;">$bool2</span> = <span style="color: #ff0000;">&quot;FALSE&quot;</span>; <span style="color: #808080; font-style: italic;">//esta variable es FALSE, pero como string</span>
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #0000ff;">$bool</span>; <span style="color: #808080; font-style: italic;">//Mostrará 0, ya que falso es lo mismo que 0</span>
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #0000ff;">$bool2</span>; <span style="color: #808080; font-style: italic;">//mostrará FALSE</span>
<span style="color: #0000ff;">$BOOL</span> = <span style="color: #cc66cc;">1</span>;
<span style="color: #808080; font-style: italic;">/*Cabe destacar que las variables son sensibles a mayusculas y minusculas
por lo que yo recomiendo ponerlas siempre en minúsculas.
Por lo tanto, esto no sustituirá a $bool */</span>
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #0000ff;">$BOOL</span>; <span style="color: #808080; font-style: italic;">//dirá 1</span>
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #0000ff;">$bool</span>; <span style="color: #808080; font-style: italic;">//dirá 0</span></pre>
<p style="text-align: justify;">Por útimo, como añadido, os dejo las funciones matemáticas más simples:</p>
<pre class="php"><span style="color: #0000ff;">$suma</span> = <span style="color: #cc66cc;">2</span><span style="color: #cc66cc;">+2</span>; <span style="color: #808080; font-style: italic;">//la variable suma será la suma de 2 y 2, es decir, 4</span>
<span style="color: #0000ff;">$resta</span> = <span style="color: #cc66cc;">5</span><span style="color: #cc66cc;">-1</span>; <span style="color: #808080; font-style: italic;">//la variable resta será a resta entre 5 y 1, es decir, 4</span>
<span style="color: #0000ff;">$multiplicaci</span>ón = <span style="color: #cc66cc;">3</span>*<span style="color: #cc66cc;">2</span>; <span style="color: #808080; font-style: italic;">//la variable multiplicación será 6</span>
<span style="color: #0000ff;">$divisi</span>ón = <span style="color: #cc66cc;">10</span>/<span style="color: #cc66cc;">2</span>; <span style="color: #808080; font-style: italic;">//la variable división será 5</span></pre>
<p style="text-align: justify;">También cabe aclarar que cualquier variable puede participar en la creación de otra. Es decir, podemos asignar el valor de otra variable a la que estamos creando. Como nota, para unir dos strings se usará un punto:</p>
<pre class="php"><span style="color: #0000ff;">$var1</span> = <span style="color: #ff0000;">&quot;Hola&quot;</span>;
<span style="color: #0000ff;">$var2</span> = <span style="color: #ff0000;">&quot;Pepe&quot;</span>;
<span style="color: #0000ff;">$var3</span> = <span style="color: #0000ff;">$var1</span>; <span style="color: #808080; font-style: italic;">//$var3 será &quot;Hola&quot;.</span>
<span style="color: #0000ff;">$texto</span> = <span style="color: #0000ff;">$var1</span>.<span style="color: #0000ff;">$var2</span>; <span style="color: #808080; font-style: italic;">//$texto será HolaPepe Para añadirle un espacio:</span>
<span style="color: #0000ff;">$texto</span> = <span style="color: #0000ff;">$var1</span>.<span style="color: #ff0000;">' '</span>.<span style="color: #0000ff;">$var2</span>; <span style="color: #808080; font-style: italic;">//Ahora será Hola Pepe</span>
&nbsp;
<span style="color: #0000ff;">$comillas</span> = <span style="color: #ff0000;">'Hola &quot;Pepe&quot;'</span>;
<span style="color: #808080; font-style: italic;">/*Como curiosidad, ahora se mostrará Hola &quot;Pepe&quot;,
ya que las comillas se interpretarán como texto */</span>
&nbsp;
<span style="color: #0000ff;">$apostrofe</span> = <span style="color: #ff0000;">&quot;Hola Pepe's&quot;</span>; <span style="color: #808080; font-style: italic;">//Ahora se mostrará Hola Pepe's</span></pre>
<p style="text-align: justify;">Como siempre haciendo <em>echo</em>, podréis visualizarlas. Hasta la próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.razican.com/2011/09/comencemos-a-programar-en-php-variables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conceptos básicos y primer programa en PHP</title>
		<link>http://www.razican.com/2011/08/conceptos-basicos-y-primer-programa-en-php/</link>
		<comments>http://www.razican.com/2011/08/conceptos-basicos-y-primer-programa-en-php/#comments</comments>
		<pubDate>Sun, 28 Aug 2011 22:30:53 +0000</pubDate>
		<dc:creator>Razican</dc:creator>
				<category><![CDATA[Creación Web]]></category>
		<category><![CDATA[Curso PHP]]></category>
		<category><![CDATA[curso php]]></category>
		<category><![CDATA[desde cero]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.razican.com/?p=785</guid>
		<description><![CDATA[En esta tercera entrega del curso PHP os voy a enseñar lo más básico del lenguaje en cuestión, como la estructura y las funciones más simples. Además, para acabar, podremos crear un simple programa que supondrá nuestro primer script en PHP. Para ello, voy a dar un repaso a como es PHP por dentro, ya [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">En esta tercera entrega del <strong>curso PHP</strong> os voy a enseñar lo más básico del lenguaje en cuestión, como la estructura y las funciones más simples. Además, para acabar, podremos crear un simple programa que supondrá nuestro <strong>primer script</strong> en PHP. Para ello, voy a dar un repaso a como es PHP por dentro, ya que no es un lenguaje de etiquetas como HTML, sino que un lenguaje de scripts tipo Python. Sin más dilación, comencemos.</p>
<p style="text-align: justify;"><span id="more-785"></span><a href="http://www.geany.org/"><img class="alignleft size-thumbnail wp-image-789" title="Geany" src="http://informatica.razican.com/wp-content/uploads/2011/08/256px-Geany_logo.svg_-150x150.png" alt="Geany" width="150" height="150" /></a>Como ya he dicho, PHP no funciona mediante etiquetas, sino que es un lenguaje tipo script, que aunque ahora no nos diga nada, en seguida nos daremos cuenta de lo que hablamos. En el caso de HTML, teníamos etiquetas del estilo de <em>&lt;html&gt;</em> que suponían el inicio de una sección de la página (en este caso la propia página) y terminaban con un cierre de esa etiqueta (<em>&lt;/html&gt;</em>). En el caso de PHP eso no funciona así, y es por eso que no se le considera un lenguaje de etiquetas.</p>
<p style="text-align: justify;">Para empezar, a la hora de escribir un programa en PHP necesitaremos un bloc de notas. El clásico de Windows sirve... más o menos, ya que para un uso más completo y orientado a la programación tenemos el <a title="Notepad++" href="http://notepad-plus-plus.org/" target="_blank">NotePad++</a> para Windows y <a title="Geany" href="http://www.geany.org/" target="_blank">Geany</a>, que a mi personalmente me gusta mucho, para Linux. Hay que destacar que para poder ver el programa en el nevegador deberemos guardar los archivos en la carpeta raíz de nuestra web, en el caso de Ubuntu, <em>/var/www/</em> y en el caso de Windows, <em>C:\xampp\htdocs</em>, como vimos en la <a title="Curso PHP: Preparativos" href="http://informatica.razican.com/2011/08/curso-php-preparativos/" target="_blank">anterior entrega</a> del curso.</p>
<p style="text-align: justify;">Un programa PHP es un archivo, que el solo, o junto a otros realiza tareas de mayor o menor complicación, requiriendo en ocasiones el uso de bases de datos. Los archivos PHP tienen la extensión <em>.php</em>, <em>.php5</em> o <em>.phtml</em>. Nosotros usaremos <em>.php</em>. Como en HTML, tendremos un comando para comenzar el PHP y otro para acabarlo: Al iniciar un programa o script PHP, deberemos escribir <em>&lt;?php</em> y al acabarlo <em>?&gt;</em>, aunque este último es opcional en el caso de que el resto del archivo sea PHP. Esto es así porque es posible insertar PHP en una página web HTML:</p>
<pre class="php">&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;PHP en HTML&lt;/title&gt;
	&lt;/head&gt;
	&lt;body&gt;
	&lt; ?php <span style="color: #808080; font-style: italic;">/*Código PHP*/</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;/body&gt;
&lt;/html&gt;</pre>
<p style="text-align: justify;"><a href="http://notepad-plus-plus.org/"><img class="alignright size-full wp-image-790" title="Notepad++" src="http://informatica.razican.com/wp-content/uploads/2011/08/notepad++logo.png" alt="Notepad++" width="206" height="107" /></a>En este caso no mostrará nada. De esta manera, pues, comenzamos con las bases de la programación. El primer concepto que debemos entender es el de variable. Una variable es un nombre que le damos a algún tipo de dato, es decir, si hablamos de las personas, la variable <em>nombre</em> puede ser <em>Pepe</em>, <em>Juan</em>, <em>Pablo</em> u otros muchos. Y la ventaja que tiene una variable es que puede cambiar, es decir, al principio de un programa, nombre puede ser <em>Pepe</em>, y al final ser <em>Juan</em>. Para hacer este tipo de cambios se utilizan una serie de instrucciones, cada una acabada con <em>punto y coma</em> (<em>;</em>). Como en HTML, se podrán escribir comentarios para explicar las cosas. veamos un ejemplo que podréis probar en vuestro ordenador:</p>
<pre class="php">&lt; ?php
&nbsp;
<span style="color: #0000ff;">$nombre</span> = <span style="color: #ff0000;">'Pepe'</span>;
<span style="color: #808080; font-style: italic;">/*
	'Pepe' es el valor actual de la variable $nombre, que siempre debe empezar por $.
	Como Pepe es una cadena de texto, deberemos ponerlo entre comillas, ya sea ' y ' o &quot; y &quot;.
	El igual será para asignarle un valor a $nombre. Como puedes ver, esto es un comentario de
	varias líneas que no aparecerá en el programa.
*/</span>
&nbsp;
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">'El nombre es '</span>.<span style="color: #0000ff;">$nombre</span>; <span style="color: #808080; font-style: italic;">//Aquí le instruimos para que diga cual es el nombre. Un comentario de una línea</span>
&nbsp;
<span style="color: #0000ff;">$nombre</span> = <span style="color: #ff0000;">'Juan'</span>; <span style="color: #808080; font-style: italic;">#Ahora cambiamos el valor de nombre por Juan. Este es otro tipo de comentario de una sola línea.</span>
&nbsp;
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">'Ahora el nombre es '</span>.<span style="color: #0000ff;">$nombre</span>; <span style="color: #808080; font-style: italic;">//Fíjate en el punto que une la variable $nombre con el texto. Sirve para concatenar.</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre>
<p style="text-align: justify;">No os preocupéis si no entendéis mucho todavía, esto lo explicaremos más adelante con más tranquilidad. Ahora solo fijaros en el formato del código. Si cambiáis <em>Juan</em> y <em>Pepe</em> por otros nombres, cambiará el resultado. Para verlo, simplemente guardarlo en un archivo como <em>test.php</em> en vuestra carpeta raiz, y acceder a <em>localhost/test.php</em> o a <em>127.0.0.1/test.php</em>.</p>
<p style="text-align: justify;">Mañana habrá otra entrega de este curso, para explicar a fondo como funcionan las variables y como mostrarlas en el navegador. Así os doy un tiempo para ir asimilando esto <img src='http://www.razican.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.razican.com/2011/08/conceptos-basicos-y-primer-programa-en-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Curso PHP: Preparativos</title>
		<link>http://www.razican.com/2011/08/curso-php-preparativos/</link>
		<comments>http://www.razican.com/2011/08/curso-php-preparativos/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 23:30:28 +0000</pubDate>
		<dc:creator>Razican</dc:creator>
				<category><![CDATA[Creación Web]]></category>
		<category><![CDATA[Curso PHP]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[servidor web]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://www.razican.com/?p=776</guid>
		<description><![CDATA[Como segunda parte del curso PHP, vamos a poner nuestro ordenador a funcionar como si fuera un servidor web, para posteriormente poder ejecutar nuestros programas PHP en el. PHP no es un lenguaje que necesite compilación, ya que es ejecutado por el propio programa PHP en el aire. Por ello es necesario instalarlo. Voy a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Como segunda parte del <a title="Introducción a PHP ¿Qué es?" href="http://informatica.razican.com/2011/08/introduccion-a-php-%c2%bfque-es/"><strong>curso PHP</strong></a>, vamos a poner nuestro ordenador a funcionar como si fuera un servidor web, para posteriormente poder ejecutar nuestros programas PHP en el. PHP no es un lenguaje que necesite compilación, ya que es ejecutado por el propio programa PHP en el aire. Por ello es necesario instalarlo. Voy a explicar como se instala tanto en <strong>Windows</strong> como en <strong>Ubuntu</strong>/<strong>Debian</strong> y derivadas.</p>
<p style="text-align: justify;"><span id="more-776"></span><a href="http://www.mysql.com/"><img class="alignleft" title="MySQL" src="http://www.mysql.com/common/logos/mysql-167x86.png" alt="MySQL" width="167" height="86" /></a>Lo primero que debemos hacer, antes de empezar a programar será instalar PHP en el servidor, y otros dos programas que serán necesarios. 1º <a title="Apache" href="http://httpd.apache.org/" target="_blank"><strong>Apache</strong></a>, que será el encargado de que podamos acceder a nuestro programa desde Internet Explorer, Firefox, Chrome o el navegador que usemos. Y posteriormente, a parte de PHP, habrá que instalar <a title="MySQL" href="http://www.mysql.com/" target="_blank">MySQL</a> para trabajar con bases de datos. Para así guardar datos como usuarios, contraseñas, emails, o incluso parámetros de un juego completo.</p>
<p style="text-align: justify;">En el caso de Windows, existe un estupendo repack con todos los programas necesarios configurados y listos para su uso, llamado <strong>XAMPP</strong>. Podéis descargarlo e instalarlo haciendo click <a title="XAMPP" href="http://www.apachefriends.org/en/xampp-windows.html#641" target="_blank">aquí</a>. Descargad el istalador y una vez instalado podréis acceder a vuestra web de prueba en vuestro ordenador escribiendo 127.0.0.1 en vuestra barra de navegador. (También se puede escribir localhost)</p>
<p style="text-align: justify;">En el caso de Ubuntu, deberemos instalar los paquetes <em>apache2</em>, <em>php5</em>, <em>mysql-server</em>, <em>mysql-client</em> y<em> phpmyadmin</em>. La diferencia será que en Windows, la carpeta de las webs será C:\xampp\htdocs (si no se ha cambiado) y en Ubuntu será /var/www, administrado por el usuario root, pero siempre se pueden dar los permisos a todos los usuarios escribiendo en la consola <em>sudo chmod -R 0777 /var/www</em>.</p>
<p style="text-align: justify;">Una vez hecho esto estaremos preparados para comenzar. Para comprobar que PHP funciona correctamente, crearemos un archivo test.php en la raiz de nuestra web, es decir, en los directorios nombrados arriba. dentro escribiremos lo siguiente con el blog de notas:</p>
<pre class="php">&lt; ?php <a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <a href="http://www.php.net/phpinfo"><span style="color: #000066;">phpinfo</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">?&gt;</span></pre>
<p style="text-align: justify;">Si entrando en 127.0.0.1/test.php o en localhost/test.php nos aparece correctamente un listado con todas las características del PHP instalado (como versión etc.) será que hemos instalado correctamente el servidor y estaremos preparados para continuar el curso.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.razican.com/2011/08/curso-php-preparativos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>¿Qué pasa con Md5 Project y X-Battle?</title>
		<link>http://www.razican.com/2011/08/que-pasa-con-md5-project-y-x-battle/</link>
		<comments>http://www.razican.com/2011/08/que-pasa-con-md5-project-y-x-battle/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 14:00:21 +0000</pubDate>
		<dc:creator>Razican</dc:creator>
				<category><![CDATA[Juegos]]></category>
		<category><![CDATA[Md5 Project]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[Space Settler]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[md5 project]]></category>

		<guid isPermaLink="false">http://www.razican.com/?p=769</guid>
		<description><![CDATA[Puede que hayáis notado que desde hace unos días no hay señales de vida en las páginas de estos proyectos en BitBucket. No es que se haya parado su desarrollo, sino que estos dos proyectos han sido migrados a GitHub. Efectivamente, a partir de ahora, el desarrollo de Md5 Project 2.0.0 y el de el [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Puede que hayáis notado que desde hace unos días no hay señales de vida en las páginas de estos proyectos en <strong>BitBucket</strong>. No es que se haya parado su desarrollo, sino que estos dos proyectos han sido migrados a <a title="GitHub" href="https://github.com/" target="_blank"><strong>GitHub</strong></a>. Efectivamente, a partir de ahora, el desarrollo de <strong>Md5 Project</strong> 2.0.0 y el de el recientemente rebautizado como <strong>Space-Settler</strong> (antiguo <strong>X-Battle</strong>) se llevarán a cabo con repositorios <strong>Git</strong> en GitHub. Pero esas no son las únicas novedades.</p>
<p style="text-align: justify;"><span id="more-769"></span><a href="https://github.com/"><img class="alignleft" title="GitHub" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7@4x.png?1323882804" alt="GitHub" width="148" height="56" /></a>Resulta que había que hacer algo con estos dos proyectos. El primero, Md5 Project, con su reciente versión v1.4, había acabado su desarrollo en la rama 1.x, por lo que no tenía sentido seguir con ella. Por otro lado, <strong>Mercurial</strong> se estaba haciendo un poco el remolón con las ramas etc. Por ello, y aprovechando la migración de <strong>CodeIgniter</strong> a GitHub, decidí cambiar este proyecto de lugar. Ahora está mucho más centralizado y está perfectamente integrado con el <a title="BugTracker" href="http://bugtracker.razican.com/login_page.php" target="_blank">bugtracker</a> que tenemos en esta misma web.</p>
<p style="text-align: justify;">Esta nueva versión (la v2.0.0) será una auténtica revolución más por su tecnología que por su funcionalidad. Es decir, va a ser un banco de pruebas para CodeIgniter, un nuevo sistema que aunque no sea muy necesario, incluirá un estupendo panel de administración que podrá gestionar skins, bases de datos, logs, actualizaciones etc, para que todo vaya como la seda. Estará disponible en <a title="Md5 Project - GitHub" href="https://github.com/Razican/Md5-Project" target="_blank">GitHub</a> y, como os digo, el actual proyecto ya está muy avanzado, y no necesita esas mejoras de manera crítica, pero servirá para hacer pruebas para otros proyectos como CodeIgniter, <strong>MegaPublik</strong> o X-Battle.<a href="http://md5-project.razican.com/"><img class="alignright" title="Md5 Project" src="https://github.com/Razican/Md5-Project/raw/develop/styles/images/logo.png" alt="Md5 Project" width="280" height="88" /></a></p>
<p style="text-align: justify;">Sobre este último, debo decir que ya no se llama así. Por problemas de Copyright, X-Battle ha pasado a llamarse Space Settler, que traducido significa "Colonizador Espacial". Y con este si que ha habido muchas novedades. Para empezar, se van a separar dos ramas de desarrollo, de las cuales una de ellas casi no va a ser usada. La primera de ellas, es la que actualmente se encuentra en BitBucket. Esta versión es una copia de <strong>XG-Proyect</strong>, con algunos bugs solucionados y pequeñas mejoras y optimizaciones. Solo se usará como base para ideas y funciones de la nueva versión.</p>
<p style="text-align: justify;">Por otro lado se encuentra la rama estrella del desarrollo de Space Settler. Se encuentra en <a title="Space Settler - GitHub" href="https://github.com/Razican/Space-Settler" target="_blank">GitHub</a>, y supondrá un cambio radical a este simulador espacial. Para ello se comenzará con la reescritura de todo el código, para transportarlo a CodeIgniter. Posteriormente se crearán nuevas naves, defensas, tecnologías y edificios. Pero la idea principal será la de convertirlo realmente en un simulador, con nuevas características, como la de que no puedas viajar como si nada fuera de la galaxia. Los recursos no serán igual de fácil de obtener en todas partes, se crearán sistemas con gigantes de gas que no serán habitables, otros con Júpiteres calientes, y se creará una nueva visión de galaxia basada en la visión que darán los telescopios del planeta actual en el espacio, y no una visión de tablas. Además, se podrán colonizar planetas enemigos, con muchas naves y colonizadores.</p>
<p style="text-align: justify;">Para todo esto, obviamente voy a necesitar ya no solo tiempo, sino que mucha ayuda, así que los que queráis participar en la creación de este nuevo juego, podéis hacerlo participando en Git, mediante bifurcaciones.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">PD</span>: El <a title="Introducción a PHP ¿Qué es?" href="http://informatica.razican.com/2011/08/introduccion-a-php-%c2%bfque-es/">curso PHP</a> continuará mañana.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.razican.com/2011/08/que-pasa-con-md5-project-y-x-battle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

