jueves, 15 de diciembre de 2016

Algunos juegos FPS multijugador para Gnu/Linux.

Aunque los sistemas operativos basados GNU/Linux nunca se han destacado por sus juegos, ya que están mas pensados para actividades educacionales o laborales; lo cierto es que últimamente se están poniendo las pilas. No voy a hablaros sobre la incorporación de la plataforma Steam en los repos, sino de algunos FPS que hay disponibles para nuestro SO favorito. Al lío.

OpenArena.



OpenArena es un videojuego en 3D Libre, perteneciente al género de acción en primera persona (o First Person Shooter). OpenArena fue lanzado al mercado como la primera prueba de beta el 19 de agosto de 2005, un día después de que el código fuente del motor gráfico de Quake III fuera liberado bajo Licencia GPL. OpenArena está siendo desarrollado, usando principalmente software de código Libre y abierto. El motor de juego es el Quake III GPL de la compañía id Software, el cual es completamente Libre. El motor de Juego, el código y los datos, todos son de contenido abierto. Esta disponibles para todos los sitemas y lo podéis encontrar en vuestros repositorios habituales. Es posible que la versión que os aparezca sea la 0.8.5, así que podéis descargar la última en su web oficial o en su lugar el parche para actualizar la que os aparece en los repos.

El juego es simple y divertido, sales disparas a todo el mundo, te liquidan; vuelves a salir a dispararle a todo el mundo. No requiere mucha CPU ni una gráfica potente y se pude jugar casi con cualquier PC. La única pega que le he visto es que no hay mucha gente jugando y aunque rellenen las salas con bots, pues la verdad es que no es lo mismo. Eso si entráis un día (o a una hora) que haya mucha gente jugando la diversión está garantizada.

Tiene una varia selección de armamento y 46 mapas, algunos muy laberínticos en los que te podrás perder fácilmente o emboscar a tus rivales (la mayoría de las veces serás tú el emboscado :)




Red Eclipse.

Red Eclipse es un shooter de arena de código abierto, creado a partir del motor Cube2. Ofreciendo un innovador sistema de parkour y armas distintas pero todas potentes, Red Eclipse proporciona un juego de ritmo rápido y accesible. Tienes algunas cosas novedosas, (por lo menos para mi) como la posibilidad de correr por las paredes, movimientos de habilidad e incluso darles patadas voladoras a tus oponentes. Los gráficos están muy bien y los efectos de luz son muy buenos y el juego en general "corre" sin problemas. Además no es necesario instalar nada, solo descargas los archivos del su web oficial y listo.



Peeeero.... Te costará encontrar un server cercano a ti que te de un ping aceptable y que cuente con bastantes jugadores, cuando lo consigas, jugaras con gente que se conoce el juego de memoria y que la paliza que te vas a llevar probablemente te desanime pronto. ¿Darle con un rifle de francotirador a una figura que da volteretas en el aire? Si es difícil en un FPS darle a algo hasta que tengas la suficiente experiencia aquí es imposible x3.

De todas formas, si se te dan bien este tipos de juegos quizás puedas darle una oportunidad; los gráficos, el sonido y el juego en general es bueno, es gratuito y no tiene un peso excesivo. Puedes descargarlo de este enlace (web oficial). 
También puedes visitar su wiki oficial donde tendrás instrucciones para montar tu servidor público o para obtener la versión de desarrollo. 

Urban Terror.

Este es de los que he jugado el que mas me gusta sin duda. Es un clon del Counter Strike con el motor del Quake III, pero para mi gusto este es muchísimo mejor. Los gráficos no tienen nada que ver con los FPS de moda que puedes jugar ahora, pero es divertidísimo y en algunos momentos la acción es trepidante. Hay dos equipos, rojos y azules, que se enfrentan en diferentes modalidades, Bomb (como en el CS), Team DM, Capture The Flag, y otras. Cada una con sus reglas y peculiaridades.



Hay bastante variedad de mapas que irán cambiando según vayan avanzando las partidas, y dependiendo de los servidores la rotación será mas amplia o mas repetitiva. Algunos mapas son auténticos laberintos con muchos rincones y pasadizos; balcones, cornisas, chimeneas, escaleras de emergencia y ventanas que puedes aprovechar en tu beneficio. En algunos mapas podemos abrir y cerrar puertas o accionar palancas (hay un mapa donde puedes operar incluso un teleférico) con lo que el juego tiene un componente de exploración y experimentación que lo hace aun mas entretenido. Además en la decoración de los mapas hay muchos detalles que seguro que te arrancaran como mínimo una sonrisa. 




Al igual que el anterior no es necesario instalar nada te descargar el paquete, los descomprimes e incluso lleva un parche actualizador, con lo que no te tienes que preocupar de nada, además puedes registrar tu nick en su web oficial y se genera una llave pública para que nadie pueda suplantar tu conexión. Os dejo aquí el enlace a su web de donde podéis descargar el juego y si os justan este tipo de juegos y os apasiona el mundo del software abierto os recomiendo que le deis una oportunidad. Disponible para todos los SO.

lunes, 5 de diciembre de 2016

Practicando Css (3): Selectores.

En este post veremos otro de los fundamentos del Css, los selectores. Los selectores nos permiten asignar estilos para cada sección y elemento de nuestra web; sería muy conveniente que antes de aplicarle estilos a nuestro sitio web, lo tuviéramos todo bien planificado porque como ya comenté en el primer post de esta serie, a veces los estilos Css pueden dar resultados imprevistos, así que repito: es muy conveniente que tengamos la estructura de nuestro sitio bien planificada de antemano (por el bien de vuestra salud mental hehehe).




Selector universal

Se utiliza para seleccionar todos los elementos de la página. El siguiente ejemplo elimina
el margen y el relleno de todos los elementos Html:



* {
margin: 0;
padding: 0;
}


El selector universal se indica mediante un asterisco ( * ). A pesar de su sencillez, no se
utiliza habitualmente, ya que es difícil que un mismo estilo sea aplicable a todos los
elementos de una página.
No obstante, sí que se suele combinar con otros selectores y además, forma parte de
algunos hacks Css muy utilizados.



Selector de tipo o etiqueta

Selecciona todos los elementos de la página cuya etiqueta Html coincide con el valor del selector. El siguiente ejemplo selecciona todos los párrafos de la página:



p {

atributo 1;
atributo 2;
etc;
}


Para utilizar este selector, solamente es necesario indicar el nombre de una etiqueta Html (sin los caracteres < y > ) correspondiente a los elementos que se quieren seleccionar. El siguiente ejemplo aplica diferentes estilos a los titulares y a los párrafos de una página Html:



h1 {

color: red;
}
h2 {
color: blue;
}
p {
color: black;
}


Si se quiere aplicar los mismos estilos a dos etiquetas diferentes, se pueden encadenar los selectores, a si que se permite agrupar todas las reglas individuales en una sola regla con un selector múltiple. Para ello, se incluyen todos los selectores separados por una coma ( , ) de la siguiente manera:



h1, h2, h3 {

                   atributo1;
                   atributo2;
                   atribtuo3;
                   etc;


Para una de estilo compleja, es posible agrupar las propiedades comunes de varios elementos en una única regla Css y posteriormente definir las propiedades específicas de esos mismos elementos. Por ejemplo:



h1, h2, h3 {

                   atributo1;
                   atributo2;
                   atributo3;

h1 { atributo4 }
h2 { atribto5 }



Padres, hijos y hermanos.

Cuando un elemento está contenido entre las etiquetas de otro se dice que su hijo; a su vez este puede tener otros elementos hijos haciendo una estructura de árbol.Todos los hijos directos de un elemento son hermanos. Esto nos permite poder hacer selecciones de elementos en grupo para aplicarles estilo.
Si imaginamos que la etiqueta <html>es el tronco del árbol, sus ramas principales <head><body> son sus hijos. Ambas etiquetas son hijos directos de <html><head> y <body> son hermanos. Y asimismo dentro de <head> y sobre todo de <body> irán otros elementos hijos y estos a su vez, podrían tener otros elementos hijos según la complejidad de la web. Este pequeño galimatías y las propiedades de herencia de Css se pueden combinar si usan sabiamente y se puede liar parda si no se usan tan sabiamente; pero eso lo veremos mas en profundidad en próximos post.




Selector descendente.

Selecciona los elementos que se encuentran dentro de otros elementos. Un elemento es
descendiente de otro cuando se encuentra entre las etiquetas de apertura y de cierre del
otro elemento.
El selector del siguiente ejemplo selecciona todos los elementos <span> de la página que
se encuentren dentro de un elemento <p> : 

p span { color: red; }

Si el código Html de la página es el siguiente:

<p>
...
<span>texto1</span>
...
<a href="www.ejemplo.com">...<span>texto2</span></a>
...
</p>

No importa en que punto esté el elemento <span> se le aplicará el color rojo.
Los selectores descendentes son similares a selectores hijos, pero no requieren que la relación entre los elementos coincidentes sea estrictamente entre padres e hijos o dicho de otro modo, no tienen que ser "hijo directo" de otro. La única condición es que un elemento debe estar dentro de otro elemento, sin importar lo profundo que se encuentre.


Selector de clase.

Estos selectores y los de ID son los mas utilizados. Una de las soluciones más sencillas para aplicar estilos a un solo elemento de la página consiste en utilizar el atributo class de HTML sobre ese elemento para indicar directamente la regla CSS que se le debe aplica.

Si tenemos el siguiente código:

<body>
<p class="destacado">Lorem ipsum dolor sit amet...</p>
<p>Nunc sed lacus et est adipiscing accumsan...</p>
<p>Class aptent taciti sociosqu ad litora...</p>
</body>

Y el Css correspondiente:

.destacado { color: red; }

El selector .destacado se interpreta como "cualquier elemento de la página cuyo atributo
class sea igual a destacado ", por lo que solamente el primer párrafo cumple esa
condición.


Selectores de ID.

El selector de ID permite seleccionar un elemento de la página a través del valor de su
atributo Html id. La sintaxis de los selectores de ID es muy parecida a la de los selectores de clase, salvo que se utiliza el símbolo de la almohadilla ( # ) en vez del punto ( . ) como prefijo del
nombre de la regla CSS por ejemplo:

#destacado { color: red; }

La principal diferencia entre este tipo de selector y el selector de clase tiene que ver con
Html y no con CSS. Como se sabe, en una misma página, el valor del atributo id debe
ser único, de forma que dos elementos diferentes no pueden tener el mismo valor de id .
Sin embargo, con el atributo class muchos elementos Html diferentes pueden compartir el mismo valor para su atributo class .
De esta forma, la recomendación general es la de utilizar el selector de ID cuando se
quiere aplicar un estilo a un solo elemento específico de la página y utilizar el selector de
clase cuando se quiere aplicar un estilo a varios elementos diferentes de la página
Html.

Combinando selectores básicos.

Por lo general usareis estos selectores básico a la hora de programar vuestras webs, sobre todos los dos últimos, y en vez de enrollarme demasiado os pongo un ejemplo práctico.

En la plantilla que use en el post anterior de esta serie tenemos este párrafo en su hoja de estilos CSS (os recuerdo que podéis descargarla en este enlace y ver su hoja CSS en este otro):


/* Content */ 

 
#content {
        float: left;
        width: 532px;
}
.post {
         padding: 0 0 20px 0;
}
.title {
         margin: 0;
         border-bottom: 2px solid #4A3903;
}
.byline {
         margin: 0;
}
.meta {
         border-top: 1px solid #4A3903;
         text-align: right;
         color: #646464;
}
.meta a {
         padding-left: 15px;
         background: url(images/img06.gif) no-repeat left center;
         font-weight: bold;
}

Como veis el autor (o autora) de esta plantilla ha creado el selector de ID #content, que representa a los diferentes post de la web y dentro de este selector a combinado los selectores de clase .post, .title, .byline, .meta y demás con lo que dentro de cada post aplica estilos diferentes a cada sección del mismo.

Y bueno con esto y lo que vimos en el artículo anterior ya podéis probar a crear vuestras hojas Css sencillas para vuestra web o si no, probar a editar alguna hoja de estilos gratuita que descarguéis de internet.