Fritha Alone

Publicado: 20:44 12/03/2011 · Etiquetas: universidad, trabajo · Categorías: Offtopic
Creo que esta semana que ya casi acaba ha sido la semana más loca de mi vida laboral. He trabajado aproximadamente unas 12 horas diarias. Por fin hemos sacado los productos nuevos y están funcionando perfectamente, aunque tuvimos 2 días de problemas y más problemas, sobre todo con bases de datos astronómicas y las plataformas de pago.

Esta semana que entra iré con más relax, echando unas 5-6 horas diarias como máximo. Tengo bastantes cosas pendientes, pero lo peor ya ha pasado y puedo tranquilizar el ritmo.

Además, a finales de Abril me cojo unos 6 días para volver al Camino de Santiago. Ya escribiré una entrada dedicada a las Etapas que hago este año

Ah, y a finales de año empezaré la carrera de Informática en la UNED. No se si me convalidarán alguna asignatura de las tantas que tengo aprobadas, esperemos que sí. De todas formas, he leído que la UNED no es moco de pavo, y va a tocar sacar tiempo para todo, porque pienso ir a año por curso.

Si alguno tiene experiencias con esta carrera en la UNED que lo comente, me vendrán muy bien.

¡Hasta la próxima!

Publicado: 16:11 06/03/2011 · Etiquetas: mysql, optimizacion, bases de datos · Categorías: Informática & Tecnología : Programación
Si trabajamos a menudo con bases de datos muy grandes, con multitud de campos con diversos datos, este pequeño truco nos puede servir para mejorar la rapidez de la consultas que hagamos. Primero es necesario comprender la teoría.

(Voy a usar la sintaxis de MySQL porque es donde trabajo normalmente, aunque todo esto es aplicable a otros sistemas, puesto que es mera teoría).

Si queremos seleccionar todos los campos de una tabla o algunos en concreto, y cuando tenemos algun WHERE o LIMIT, normalmente hacemos lo siguiente:



De este modo el motor recorre fila por fila y va extrayendo los datos de cada campo y al final los devuelve, hasta aquí todo bien. Un par de ejemplos más, supongamos la estructura de nuestra tabla tal que:



Si queremos seleccionar el campo3, haríamos lo siguiente:



Pero esta consulta no está optimizada, puesto que el motor primero recorre 'campo1' y 'campo2' y los descarta porque no se los pedimos. Es decir, está obteniendo y descartando continuamente puesto que el 'campo3' está en medio de la fila.



Sabiendo esto, volvamos al primer ejemplo, teníamos:



¿Qué pasa con esta consulta? Pues que al pedirle a MySQL que saque todos los campos con la determinada condición, irá recorriendo la tabla, obteniendo aquellas filas completas cuyos datos no se incluyen en nuestra condición, por lo que es un gasto de recursos innecesario.

Esto se arregla facilmente haciendo lo siguiente:




Nótese que hemos hecho una subconsulta, de modo que primero seleccionamos solamente el campo_indice (que suele y debe estar al principio de tabla), y a continuación lo unimos a nuestra consulta principal, relacionando este índice, con lo que obtenemos todos los datos que necesitamos directamente sin tener que descarta nada (salvo los índices de aquellas filas que no cumplen la condición, pero esto no es optimizable).



No obstante, hay que saber decidir si esto nos sirve o no. Para bases de datos grandes sin duda supone ganar velocidad; sin embargo, en bases de datos pequeñas, hay que saber decidir si el coste de hacer una subconsulta es menor que seleccionar directamente e ir descartando aquello que no necesitamos. Siempre puedes perfilar la aplicación y hacer testing masivo para descubrirlo

Publicado: 19:37 05/03/2011 · Etiquetas: autonomo · Categorías: Offtopic
Lo mejor

- El horario lo eliges tú. Hace siglos que no me levanto antes de las 8:30.
- Trabajar desde casa.
- Pasta, pasta everywhere.

Lo peor

- Que te toque migrar sistemas enteros en noches de poca actividad, y tener que tirarte toda la noche programando.

¡Feliz Carnaval!

Publicado: 12:37 04/03/2011 · Etiquetas: starcraft2, gsl, mlg, esl, esports, progaming · Categorías: Videojuegos
El mundo de los eSports está en auge. Hay muchas noticias ultimamente y el mundillo se está moviendo mucho. Y esto es gracias en parte a StarCraft, el abuelo de los eSports, y el juego que más escuela de profesionales y fans ha creado. Este juego, en su primer entrega, lleva más de 10 años como líder indiscutible de competiciones profesionales por todo el mundo. Con la salida al mercado de la segunda parte, el mundillo ha evolucionado y está a punto de dar un boom en occidente que estoy seguro traerá más diversión y entretenimiento para todos.



Con esta entrada quiero hacer un acercamiento al "scene" de este videojuego para aquellos iniciados que no tenga mucha idea de como funciona y les gustaría empezar a ver cosillas. De vez en cuando iré poniendo nuevas entradas referidas a este tema pero con otros juegos, Quake 3, League of Legends, Counter Strike o Street Fighter IV, por poner unos cuantos ejemplos. Vamos al lío.

Estructura de las competiciones

En primer lugar hay que saber como se estructura el mundillo de las competiciones profesionales. Está dividido en 2 grandes bloques: las competiciones mayores y las menores.

Competiciones mayores: Son aquellas que se celebran por todo lo alto, con mucho presupuesto para premios, retransmisiones profesionales por internet, con grandes jugadores invitados, etc. Entre estas destacaría en concreto 3: GSL, ESL y MLG.



GSL: La más grande del mundo (por ahora). Se celebra con periodicidad de 1-2 meses, en Korea del Sur. En ella están los mejores jugadores del mundo, la mayoría coreanos, pero también hay 3 o 4 americanos y europeos. Se estructura por "temporadas", y en varias "subligas", Code A, la liga menor, y Code S, lo más de lo más. Además tienen también a disposición de los que no hablan en coreano, la retransmisión con comentarios en inglés a cargo de 2 de los comentaristas más famosos del mundillo, Tasteless y Artosis. Durante lo que duran las temporadas, suele haber partidos todos los días, y las jornadas se alargan hasta las 3 o 4 horas.



ESL: ESL es el organismo principal en Europa que organiza competiciones de StarCraft. Normalmente sus competiciones no son tan grandes como las koreanas, pero últimamente se está viendo una buena afluencia de grandes jugadores, incluso invitados directamente desde Corea. Suelen hacer una competición mayor cada 4-5 meses, coincidiendo con algún evento tecnológico del páis dónde se celebran (ahora mismo están en Alemania). El nombre de la competición varia segun el sponsor. Actualmente se llama IEM World Championship, porque lo sponsoriza Intel. Además, ESL también organiza multitud de competiciones menores todas las semanas.



MLG: Major League Gaming y sus Pro Circuits es la organización que mueve el mundillo en EEUU. Empezaron en 2010, y suelen organizar cada 2-3 meses en un estado diferente de EEUU competiciones profesionales de varios juegos, como Halo 3 o Modern Warfare 2, y por supuesto StarCraft II. La afluencia de jugadores profesionales es cada vez mayor, además suelen invitar comentaristas muy conocidos, como Day9 y djWheat, con lo que estas competiciones suelen ser un éxito.

Vistas por encima un poco las grandes competiciones, nos vamos ahora a ver como se mueve el mundillo a un nivel más bajo. La verdad es que sorprende, por la cantidad de movimiento de competiciones menores que hay por todo el mundo.



Competiciones menores: Este tipo de competiciones suele ser a una escala menor, con poco dinero en premios (no suelen superar los 100-200 €), pero que resultan interesantes porque en ellas participan los mejores jugadores del mundo según el ranking oficial de Blizzard. Suelen ser con periodicidad semanal, incluso hay una copa que se disputa 2 veces a la semana. Es tal el número de competiciones menores, que prácticamente podemos ver partidos todas las noches si quisiéramos.

Entre ellas destaco las siguientes:

Competo Cup - http://sc2.competo-cup.de/en/home/
Craft Cup - http://www.bitsperbeat.com/sc2/
SCV Cup - http://www.bitsperbeat.com/sc2vision/
SCII Close Combat Cup - http://public.4pl.4players.de/index.php/home/index.html
Go4SC2 - http://www.esl.eu/eu/sc2/go4sc2/
Sennheiser Cup http://www.esl.eu/eu/sc2/sennheiser_cup/

Los comentaristas de las competiciones anteriores suelen ser no-profesionales, incluso hay algunos que lo hacen por amor al arte. No obstante, el nivel suele ser bastante alto y siempre proporcionan entretenimiento.



Si nos salimos de las competiciones, tenemos multitud de sitios donde disfrutar de SCII. La página web más importante es TeamLiquid. Aquí encontraremos los horarios para todas las competiciones y enlaces a los streamings en directo, además de una comunidad muy activa sobre este juego:

Streamigns de usuarios: Hay muchos jugadores profesionales que de vez en cuando hacen streaming de sus juegos en directo. Es una manera perfecta de ver como juega un profesional en directo, y aunque está más enfocado al aprendizaje de nivel avanzado del juego, también proporciona entretenimiento a quien sepa apreciarlo Los sitios preferidos para hacer streaming son own3D, sc-streams, justin.tv, ustream.tv y livestream.com

Otras competiciones y showmatchs: Además, con carácter expecional, se organizan competiciones online, como el TSL, y partidos exhibición de 2 grandes jugadores, por ejemplo. De vez en cuando conviene revisar estos eventos, porque suelen dar partidos muy interesantes, y con grandes jugadores en sus filas.

Day9 Daily: Este show, llevado a cabo diariamente por Day9 y en directo, es uno de los más famosos en la scene. Tiene muchísimos seguidores, y en él, Day9 ofrece múltiples tipos de contenido: comentarios de estrategias avanzadas, consejos para jugadores nuevos, estrategias divertidas para probar, etc. http://day9tv.blip.tv/ http://www.justin.tv/day9tv



El futuro de los eSports

Como decía al principio de la entrada, el mundo de los eSports está en auge. Además de todo lo anterior, se está empezando a ver, especialmente en EEUU, como se organizan grandes torneos, incluso más grandes que en Corea. Es el caso de NASL, anunciada recientemente, y que va a traer 3 temporadas y una cantidad brutal de jugadores profesionales por todo el mundo: IdrA, MVP, MC, ST_July, LiquidJinro por poner unos cuantos ejemplos.

http://nasl.tv/



Y poco más hay que comentar. A partir de aquí depende de tu interés por el tema y de las ganas de pasarlo bien. ¡Dale una oportunidad a los eSports!

Publicado: 18:29 03/03/2011 · Etiquetas: c++, game engine, sdl, udk · Categorías: Videojuegos : Programación
Hace unos meses empecé a ponerme en serio con el tema de la programación de videojuegos. Siempre me han gustado, y he querido dedicarme profesionalmente a este mundillo. Además, se me da bien ser autodidacta, suele aprender todo por mi cuenta. De hecho, este fue uno de los motivos para abandonar la carrera de Ing. Informática (aunque la continuaré el año que viene por la UNED). Ahora mismo estoy trabajando de ingeniero web y me va bastante bien. No obstante, ya veo mi futuro dedicado al desarrollo de videojuegos. Es algo que tengo claro que sea así, y estoy trabajando duro para llevarlo a cabo.

Cuando empecé a estudiar sobre el tema, lo primero que hice fue recopilar información. Por Internet puedes encontrar lo básico, desde cómo se programa un motor gráfico hasta como está estructurada la industria del videojuego por todo el mundo. Está claro que hay muchos apartados en el desarrollo de un videojuego, y muy diferentes entre sí. Yo he decidido centrarme en la programación, todo lo referente a motores gráficos, uso de SDKs, optimización, lenguages de scripting y un larguísimo etcétera.

A continuación os pongo una lista de libros con los que he empezado a estudiar. Recogen lo más básico que hace falta saber para iniciarse en este mundillo. Quién sabe, quizás en el futuro pueda trabajar en alguna empresa y llegar a sacar un videojuego al mercado. Ese, desde luego, sería mi sueño.

1. Professional C++



El lenguaje que más se usa hoy por hoy para el desarrollo es C++. Es esencial dominar a fondo este lenguaje, y para ello hacen falta buenos libros. Este en concreto, de la editorial Wrox americana, es un libro muy básico, que nos enseña las características principales de este lenguaje, y además lleva multitud de programas y ejemplos para practicar. Lo ideal es combinarlo con recursos adicionales en Internet. Hay cientos de páginas con ejercicios de programación, desafíos, foros de consultas y listas de correo.

2. Game Engine Architecture



Este libro es un pozo insondable de sabiduría. He aprendido más con este libro sobre ingeniería del software en 5 meses que en 2 años de carrera. Está escrito Jason Gregory, el Lead Engineer de Naughty Dog, y la verdad es que es un libro esencial si te quieres dedicar a esto. Se centra sobre todo en dar una perspectiva formal de todo lo referente a los motores gráficos, es decir, las bases de un videojuego. Incluye una cantidad insana de esquemas e imágenes, y además, bastante código aplicable a casos reales. Puesto que este tío es el creador básicamente del motor del Uncharted, hay cantidad de imagenes muy instructivas sobre motores gráficos en general, tal y como se desarrollan y usan en la industria real.

3. Professional Visual Studio 2010



Este es más prescindible, pero en general siempre viene bien tener una guia de referencia sobre Visual Studio. Este programa de Microsoft es el que se usa actualmente en la industria para programar videojuegos, y es imprescindible dominarlo si se quiere llegar lejos.

4. Game Coding Complete



Si Game Engine Architecture está más enfocado a los motores gráficos y las bases del videojuego, este libro es el complemento perfecto, puesto que nos muestra técnicas y códigos para capas más superiores del desarrollo. Es un libro largo y complejo, que actúa más como guía de referencia para tenerlo siempre al lado mientras estás diseñando un videojuego.

5. C++ for game programmers



Por último, este libro es una aplicación práctica a lo aprendido en el primero, el cual era básicamente teoría con ejemplos genéricos. Aquí podemos aprender, una vez más con ejemplos reales de la industria, cómo aplicar las técnicas y las características de C++ al desarrollo del videojuego. Además, es el más corto de todos, puesto que está muy sintetizado y no se hace nada tedioso seguirlo.

Todos los libros se pueden conseguir en Amazon a buen precio.

Aunque no sólo de libros y teoría vive el ser humano ¿no? Cuando uno empieza con esto, se da cuenta inmediatamente de que es muy aburrido seguir practicando la teoría si hacer algo "real" relacionado con los videojuegos. Por ello, es también muy importante aplicar todo lo que vas aprendiendo en pequeños desarrollos, y para ello nada mejor que usar cosas que ya estén hechas. Es la mejor manera de aprender, tirarse horas y horas siguiendo tutoriales y sacando pequeños programas que hagan algo. Además es una buena inyección de moral y motivación, parte también esencial.

Algunos motores ya hechos que podemos utilizar son:

SDL: Un clásico. Esta librería para gráficos en 2D es el punto de partida en todo programador, puesto que es muy fácil de usar, y en pocas semanas estaremos desarrollando un videojuego, muy cutre, pero algo es http://www.libsdl.org/

Ogre: Lo mismo que SDL, pero en 3D. Ogre es un motor gráfico muy completo, aunque no es tan fácil de usar (el paso de 2D a 3D es como pasar del parvulario a la universidad). Hay cientos de tutoriales y mucho código por internet, con lo que es fácil tirarse tardes enteras programando como un loco sólo para ver un cielo moviéndose o un terreno "navegable". http://www.ogre3d.org/

UDK: El SDK oficial del Unreal Engine, con el que se pueden hacer cosas muy chulas. Además, lleva editores de mapas, recursos, etc. con lo que podemos usarlo para aprender a usar las herramientas típicas, que aunque no vayamos a ser mapers, por ejemplo, podamos tener nociones básicas de como se hace un mapa, y un largo etcétera. http://www.udk.com/

Otros motores son Crystal Space, ioquake3 (el del Quake 3!) e Irrlicht Engine, con sus respectivas comunidades repletas de ejemplos y código.

http://www.crystalspace3d.org/main/Media
http://ioquake3.org/
http://irrlicht.sourceforge.net/index.html

¡Mucho ánimo si queréis emprender este duro camino!

Publicado: 19:09 02/03/2011 · Etiquetas: zelda, mass effect 3, skyrim, top, duke nukem, rage, diablo 3, shogun 2 · Categorías: Videojuegos
Siguiendo a muchos manitos de Vandal, voy a poner la lista de mis juegos más esperados de este 2011. Hay un montón de novedades la verdad, y va a ser difícil elegir. Me resulta curioso que digan que la piratería mata las producciones, ya lo veo, a juzgar por esta lista enorme...


(Pulsa para ampliar)


10. Duke Nukem Forever



Qué decir de este juego, el juego infinitivo. Por fin lo vamos a tener entre nosotros. Y aunque todos sabemos que no va a estar a la altura de las circunstancias, de seguro que es un juego esperado por muchos. Ver el regreso de Duke va a ser algo épico, y por todos aquellos recuerdos que guardamos de las entregas anteriores, seguro que lo vamos a disfrutar y mucho!

9. Motorstorm



Quedan exactamente 2 semanas para ver por fin este juego. Soy gran fan de esta saga desde el primer juego. Me lo compré junto con la PlayStation 3 y lo disfruté como un enano. Carreras trepidantes con mucha acción y diversión. Un juego sin ningún tipo de pretensiones, con el único objetivo de hacer pasar un buen rato sin más. Adjudicado.

8. Gears of War 3



Me encantaron las 2 entregas anteriores, me lo pasé genial jugando. Son juegos serios con muchas escenas espectaculares y acción por todas partes. Me encanta el diseño de los escenarios, y la jugabilidad en general me engancha. Espero con ansia esta tercera entrega, y por mí podrían seguir sacando un cuarto o un quinto... Nunca me cansaré de Marcus y su subir escaleras con una sola mano

7. L.A. Noire



La nueva obra maestra (seguro) de Rockstar. Me encantan los juegos de este estudio, son juegos super currados y muy bien acabados. Y no sólo en el apartado gráfico, sino en todo en general, argumento, jugabilidad, dificultad, etc. Además, siempre me ha gustado las temáticas estilo cine negro, ambientada en los años 30, etc. Seguro que saben imprimirle ese estilazo al juego.

6. Diablo 3



Si soy sincero, al Diablo 2 no llegué a jugar demasiado, más que nada porque lo veo demasiado desfasado como para llegar a engancharme. Sin embargo, he probado varios juegos de similar estilo, como el TitanQuest o el Sacred, y me encanta el género. Además, soy gran fan de los juegos de Blizzard, y seguro que este juego va a estar a la altura y nos va a dar largas noches de vicio.

5. Shogun 2 Total War



Tampoco tuve la oportunidad de jugar al Shogun Total War de PC de hace años. No obstante, he jugado a varios Total War de esta generación, como el Rome y el Napoleon, y la sóla idea de ver lo mismo pero con grandes batallones de Samurais y ambientado en los paisajes clásicos japoneses hace que se ponga palote. Nada más que decir.

4. Rage



La nueva obra maestra del cerebro detrás de idSoftware, John Carmack, al que personalmente admiro, como programador que soy. Quiero decir, Carmack siempre ofrece calidad. Este tío lleva años haciendo videojuegos, es prácticamente el padre de los FPS, y sin duda es el que mejor sabe como llevar a buen puerto una nueva franquicia. Además, la tecnología detrás de Rage va a ser algo nunca visto, y seguro que nos ofrece nuevos gráficos espectaculares para PC.

3. Mass Effect 3



Como amante de la ciencia ficción, estaba claro que este juego debía estar en la lista. Ni que decir tiene que me encanta Mass Effect, sobre todo por el universo que se han currado los de BioWare. Argumentos, situaciones, escenas y demás tratados de una forma muy seria y adulta. Además, me gusta mucho el sistema de conversaciones en el juego, me mete mucho en la historia y me da una experiencia única.

2. Zelda Skyward Sword



Mi saga más querida de todos los tiempos. Una nueva entrega de Zelda siempre es noticia y algo muy esperado, y esta no va a ser menos. No soy gran fan de en lo que se ha convertido Nintendo en esta generación, sin embargo sigo disfrutando como nunca con sus juegos, rebosantes de un sentido de la diversión y el entretenimiento únicos. Seguiré disfrutando de los juegos de Zelda hasta el fin de los días, pero nunca viene de mal renovar la saga y sacar a la luz nuevas ideas

1. The Elder Scrolls V: Skyrim



Y cómo no, para el final, el juego más esperado del año se lo lleva otra vez Bethesda. Seguro que gráficamente no es de lo mejorcito de la generación. Sin embargo, lo que cuenta de este juego es la magia, ese explorar constante de un mundo enorme, encontrar una cueva en mitad de la montaña y lanzarse a explorar. Para mí es el mejor juego de rol, porque hace precisamente eso, que te sientas como parte de ese mundo rico y vivo, y que puedas disfrutarlo como si realmente estuvieras ahí.

Publicado: 13:53 01/03/2011 · Etiquetas: camel, the snow goose, fritha · Categorías: Música
El título de este blog, Fritha Alone, puede parecer extraño. Pero tiene una razón de ser. Todos aquellos que controlen de rock progresivo probablemente ya lo sepan. Se trata del título de un tema de Camel, banda de rock progresivo sinfónico. Este tema pertenece al disco The Snow Goose, que a su vez está basado en un libro, y dónde Fritha es uno de los personajes.


(Aquí podéis escuchar parte del tema)


Es una composición preciosa para piano, triste y melancólica, que expresa perfectamente el estado de soledad de este personaje. Este pequeño cuento es muy famoso en el mundo anglosajón, y ya lo tengo pedido a Amazon, seguro que está genial.

Si os gusta la buena música rock sinfónica, no dejéis pasar la oportunidad de escuchar a Camel y su, en mi opinión, obra clave en su carrera.

Otro día explicaré de donde es el fondo y el logo, aunque seguro que los entendidos en música ya lo saben


Publicado: 22:03 28/02/2011 · Etiquetas: introduccion, novedad · Categorías: Offtopic
Bueno, por fin me he animado a crear un blog en Vandal. Está bastante bien, a pesar de que tiene muchas menos opciones que otros sistemas, como WordPress, BlogSpot, etc. es un rinconcito muy especial y una comunidad genial ^^

Este blog será multitemático. Hablaré de todas aquellas mierdas que se me vengan a la cabeza y de cosas que me gustan y que tengan un mínimo de interés. Música, videojuegos, programación, japan stuff, y un largísimo etcétera

Un saludo a todos los manitos vandaleros, espero que me reciban con los brazos abiertos :X Y a ver si esto no se convierte en otro proyecto abandonado actualizado cada 4 meses y logro aportar aunque sea un poquito a la comunidad

Saludos!

Blogs en Vandal · Contacto · Denunciar Contenido