25 sept. 2004

25/9/04: Primer Contacto

Diario de Guerra de Alejandro González, Alias "WaaghMan". n-ésima anotación:



El primer ataque de los muertos de risa



Jugadores: Yo y Hector

Ejércitos: 1000 puntos de Hombres Lagarto vs. 1000 puntos de No Muertos (usando lista de ejército experimental).

Escenario: Batalla Campal (Aniquilación Total)





El bando No Muerto estaba compuesto por:

-Vampiro Neonato del clan Necrarca con la estirpe negra de Nekherara (le hace hechicero de nivel 1).

-Espectro

-20 Zombies con portaestandarte y músico

-16 esqueletos con lanza, armadura ligera, escudo, portaestandarte y músico

-12 Zombies con portaestandarte y músico

-16 necrófagos

-14 Lobos espectrales

-5 Caballeros negros montados en pesadilla con armadura pesada, escudo, barda y lanza de caballería. Incluyen portaestandarte y músico.



El bando Hombre Lagarto estaba compuesto por:

-Saurio Escamadura con Desove sagrado de Sotek (+1 ataque al cargar), Escudo Hechizado (+2 a la tirada de salvación), armadura ligera, y embrujo del guerrero jaguar(Movimiento 22).

-Chaman eslizón de Nivel 2

-2 Salamandras

-12 exploradores eslizones con jabalina y escudo

-12 eslizones con cerbatanas

-16 Saurios con lanza y escudo, portaestandarte, músico y Gran Guerrero Saurio

-16 Saurios con arma de mano y escudo, portaestandarte, músico y Gran Guerrero Saurio



Campo de batalla:

-Un campo de batalla de 80 cm de ancho por 100 de largo, con las zonas de despliegue separadas 60cm entre ellas. En cada zona de despliegue, una colina en el medio. En uno de los laterales, dos colinas y una valla olbicua, en el otro una valla oblicua y dos pilares horizontales.



Despliegue:

-Todas las unidades en el fronal casi directamente. Las que no justo detrás. Los exploradores eslizones desplegaron entre las dos colinas de un lateral.





Desarrollo del combate:

-Los primeros en mover fueron los No Muertos. Todos los que estuviesen a 30cm o menos del general podrían efectuar el movimiento de marcha. En el primer turno esto se cumplía para todas las unidades menos el espectro y los necrófagos, pero estos últimos no son no muertos y por tanto también pudieron avanzar deprisa. De esa forma, el ejército no muerto se acercó sin miedo (y sin inteligencia) hacia el enemigo.



El vampiro Neonato intentó lanzar el único hechizo que conocía (Mirada de Nagash, proyectil mágico), pero no consiguió hacerlo.



De esta forma terminaba el primer turno No Muerto.



-El primer turno de los hombres lagarto tampoco fue muy movido. El ejército al completo avanzó, al no disponer de más armas de proyectiles que las Salamandras y los eslizones. Los exploradores intentaron rodear a los necrófagos (aunqeu fue mala idea como ya se verá), corriendo hasta estar detrás de ellos.



En la fase de magia, el chamán consiguió lanzar con éxito el cometa de Cassandora sobre una zona un poco más adelante de donde se encontraba el grueso de los no muertos, para detener su avance o dañar seriamente sus fuerzas.



En la fase de disparo, los eslizones que no eran exploradores dispararon sus cerbatanas. Muy pocos podían disparar, y estaban a largo alcance, así que no consiguieron ningún efecto. Pero las salamandras también dispararon, y acabaron con tres caballeros negros gracias a unas lamentables tiradas de salvación .



-El siguiente turno de los No Muertos fue muy efectivo para ellos. Para empezar, el cometa no cayó en ese momento, sino que se hizo más grande (y potencialmente más peligroso).



Los caballeros cargaron contra las salamandras, para vengarse de su ataque, y los necrófagos cargaron contra los exploradores eslizones (al ser hostigadores, podían hacerlo sin problemas). Los eslizones no superaron el chequeo de miedo, y huyeron por patas, saliendo del campo de batalla para no volvérseles a ver.



El ejército no muerto siguió avanzando, procurando no quedarse muy cerca del cometa. El vampiro intentó de nuevo lanzar su hechizo, y esta vez lo consiguió, pero fue dispersado por el chamán eslizón.



El combate entre las salamandras y los caballeros terminó en un empate que fue desempatado por el músico de los caballeros. Las salamandras superaron el chequeo de desmoralización, y el turno no muerto terminó.



-Los Hombres Lagarto, tras el chasco por la caída de sus eslizones, se decidieron a reparar su error y declararon carga con las unidades de saurios. Ninguna de las dos estaba a la distancia necesaria, y las cargas fueron fallidas.



La unidad de eslizones restante se retiró antes de que sufriese el mismo destino que sus companyeros.



El chamán intentó lanzar su rayo atronador sin éxito. El combate entre las salamandras y los caballeros terminó de nuevo en empate.



-Era el momento de pasar a la acción. El cometa siguió sin llegar aún, y los no muertos declararon carga con los lobos espectrales, los zombies y el espectro contra los saurios que antes habían fallado. Ambas unidades superaron sus chequeos de miedo y aguantaron el embate.



El vampiro intentó por enésima vez lanzar la mirada de nagash, y de nuevo falló.



El combate entre los saurios con lanza y los y los lobos espectrales terminó en masacre. De los 14 lobos que había, 7 fueron destruidos, a cambio de dos hombres lagarto. Como consecuencia, los Lobos fueron derrotados en el combate, y por ello perdieron otros 6 lobos, quedando uno solamente.



El otro combate (Saurios vs. Espectro y Zombies) estuvo más igualado, con ninguna baja provocada por los no muertos, y una por parte de los hombres lagarto. El combate terminó en empate y ambos bandos tenían músico, así que nadie resultó vencedor.



Por fin, el combate entre salamandras y caballeros terminó, con una victoria por parte de los caballeros, que persiguieron y alcanzaron a las salamandras que huían.



-En el turno de los hombres lagartos, el general cargó contra los caballeros que derrotaron a las salamandras. El hechicero no consiguió lanzar ningún hechizo, y la fase de disparo no tuvo nada digno de mención.



En el combate, los saurios aniquilaron a los lobos espectrales; El general mató a un caballero y el combate terminó en empate; y los hombres lagarto causaron numerosas bajas a los zombies, que se vieron casi aniquilados por completo. El espectro (que estaba en el mismo combate), aunque no era posible impactarle directamente, podría ser destruido si era derrotado en combate.



-Por fin, el cometa llegó, e impactó a tres unidades de los no muertos. Esos impactos destruyeron a una unidad de zombies, dañaron gravemente a otra, y eliminaron la mitad de la unidad de necrófagos, que huyó hacia la seguridad de sus cementerios.



Tras eso, el señor vampiro decidió esperar el ataque final de los hombres lagarto tras una valla para tener ventaja en el combate. De nuevo falló su hechizo, como no...



En el combate del espectro, los hombres lagarto le derrotaron, y aunque no fue impactado, su esencia se difuminó por completo.



El general hombre lagarto eliminó al último caballero negro y se preparó para el combate final...



-Era el momento del último ataque de los hombres lagarto. Los saurios cargaron contra los esqueletos y los zombis que quedaban. El combate contra los zombis fue un éxito, pero no ocurrió lo mismo con el de los esqueletos. Éstos resistieron lo suficiente para vencer el combate, provocando la huída de los saurios, que persiguieron y aniquilaron.





(No entiendo muy bien cómo sucedió la parte final ya que no encajan los acontecimientos)



El general hombre lagarto cargó contra el general no muerto y le destruyó en un sólo turno. Tras esto, el regimiento de zombies se desvaneció y la amenaza no muerta con él .

24 sept. 2004

24/9/04: Ya basta!

Diario de Guerra de Alejandro González, Alias "WaaghMan". Cuadragesimoséptima anotación:



Bueno, vale. Ayer fue divertido, pero hoy nos hemos pasado. Un total de cinco partidas al Age Of empires en un día me parecen excesivas. He tenido victorias aplastantes y derrotas humillantes, y he descubierto cómo juega un pr0 del Age Of Empires... dios, éramos seis y el chaval podría haberse cargado a todos los nuestros en un 5vs1, creo yo :P. Usaba los aztecas... debería probar qué tal son :S.





De todas formas, ya basta, estoy hasta las narices de ese juego. Estoy llegando a la obsesión (y eso que sigue sin gustarme). Menos mal que hoy es viernes y así me despego de eso durante al menos dos días :S.



Mañana, batalla introductoria de warhammer... espero que no sea una pifia y venga poca gente... hay demasiada gente que no confirma si v a a venir o no...


23 sept. 2004

23/9/04: Vikingos

Diario de Guerra de Alejandro González, Alias "WaaghMan". Cuadragesimosexta anotación:



Como predije, hoy ha habido un intenso vicio al Age Of Empires por la tarde. Por la mañana trabajé intensamente en el PFC, ya tengo terminada la carga de los cuerpos (me queda la parte de las animaciones).





Las partidas fueron interesantes, una victoria sorprendentemente sencilla la primera, y otra algo más reñida :). Voy mejorando, y ya he encontrado civilización preferida :). Esos vikingos, con sus barquitos y sus guerreros que se regeneran, son muy chulos :).

22 sept. 2004

22/9/04: Algo en común

Diario de Guerra de Alejandro González, Alias "WaaghMan". Cuadragesimoquinta anotación:





De nuevo, hoy tocaban 12 horas de trabajo en la beca.



Por suerte, hubo un cambio respecto al Lunes. Hoy vino Costa (un becario de por la mañana) a echar una partidilla al Age Of Empires, y ahí encontramos un denominador común: Todos jugamos una partidilla (ganamos por los pelos :P), que aunque a mí no me encantó (ese juego nunca lo hará), al menos hizo que se pasase el tiempo más rápido.



Así que, creo, mañana jugaremos bastante a ese juego... soy un paquete, pero aprendo rápido :).

21 sept. 2004

21/9/04: Vagancia again

Diario de Guerra de Alejandro González, Alias "WaaghMan". Cuadragesimocuarta anotación:



Hoy, día de San Mateo, no he salido tampoco :S. En realidad no me importa mucho, pero estoy molesto porque pretendía hacer bastante trabajo del PFC. Por desgracia, no ha sido así :S. Me vicié al Painkiller y no tuve ganas de hacer el proyecto, así que nada.



Y es que últimamente no tengo muchas ganas de trabajar :S.

20 sept. 2004

20/8/04: Tedio

Diario de guerra de Alejandro González, Alias "WaaghMan". Cuadragesimotercera anotación:



Buf. Hoy he estado trabajando 12 horas, de 9 a 9, en la beca. No ha sido una completa pérdida de tiempo, pero sí ha sido una parcial pérdida de tiempo :S.



He trabajado algo en el PFC, la primera parte de la carga de cuerpos y extremidades :).



Hay que reconocer una cosa... a pesar de estar 12 horas junto a otras dos personas, apenas hemos intercambiado frases :S. Simplemente, creo que no tenemos nada en común :S. Y no soy tan social como para generar conversaciones durante tanto tiempo :).

19 sept. 2004

19/9/04: Frikicios

Diario de Guerra de Alejandro González, Alias "WaaghMan". Cuadragesimosegunda anotación:



Hoy me he levantado bastante pachucho de la cama... tengo la garganta fastidiada y toso de vez en cuando. Además de un dolor de cabeza bastante majo. Así que hoy paso de ordenadores y me tumbo en la cama a leer un rato.



En este momento me surge la duda de ¿qué leer?. Las posibles respuestas se podrían dividir en tres:



-Libros: Todos los que tengo los he leído entre una y cinco veces.

-Comics: Tengo muchos, pero me los sé todos casi de memoria :S.

-Revistas: Mmmmm vale.



Dado que ultimamente estoy aficionándome de nuevo al warhammer, decido subir y echarle un ojo a la montaña de White Dwarfs que tengo (todos los números entre la 18 y la 72). Cojo una al azar y me pongo a leerla.



En ese momento recuerdo cómo conocí el mundillo de Warhammer y Games Workshop. La verdad es que fue una cosa muy curiosa, y seguramente pocas personas lo conocieron de esta forma.



En ese momento debía de tener unos doce o trece años. Vivía en Madrid, pero estaba de vacaciones de semana santa en Asturias.



Al lado del portal donde vivían mis abuelos había un kiosko (creo que ahora ha cerrado). A veces entraba a comprar mortadelos o chucherías.



Un día que entré, una revista me llamó la atención por su imponente portada: Salían bichos con enormes dientes y armas más grandes que ellos, de piel verdosa y con pinta de ser peligrosos (más tarde supe que se trataba de Gazgkhull Thrakka y su séquito). En su portada ponía WHITE DWARF nº12.



Debido a mi timidez latente y lo pequeño que era el kiosko, no me veía con fuerzas a abrir y hojear la revista delante del tendero, así que salí.



Durante cinco días, entraba siempre que podía a mirar la revista. Intentaba desde fuera y a través del escaparate conseguir ver la parte de detrás, para ver si aprendía más cosas de aquella pequeña joya.



Al final, no pude aguantar más y le pedí a mis padres que me comprasen la revista. Una vez la tuve en mis manos, me sentí amubrado por la sorpresa: Estaba viendo las figuras del Cruzada Estelar magníficamente pintadas! Me leí de pe a pa la revista (de hecho, ese día eché la pota en el coche de mi padre por culpa de ella), y cada vez me gustaba más el mundillo. Le enseñé a todos mis amigos la revista, con su informe de batalla entre altos elfos y skavens, con reglas tan profundas que los lanzallamas podían incendiarse solos o la rueda de la muerte perder el control.





Pasado un tiempo, mi madre me compró una caja en la que venían 10 altos elfos, 5 con arco y 5 con lanza. Los monté y jugué los minicombates que venían en una hoja de inicio rápido, pero necesitaba dos cosas: Oponentes y dinero, mucho dinero...



Tales cosas nunca llegaron, y fui olvidándome del tema poco a poco hasta que, un año después, encontré en el mismo kiosko (y por las mismas fechas) la revista White Dwarf nº 18 ( en esos momentos era bimestral). En ella salían los nuevos elfos silvanos, y un trepidante informe de batalla de Necromunda. Ahí vi la solución: Con necromunda bastaba con tener las figuras que venían en la caja para jugar, no necesitaría comprar un caro ejército. Además, sería fácil encontrar gente con la que jugar si les explicaba de qué iba la cosa...



Bueno, eso fue la teoría. En la práctica, la caja de necromunda cumplió su cometido, pero se hizo difícil encontrar oponentes. Sólo a un amigo le interesaba la cosa, y jugué una campaña con él, enfrentándonos en repetidas ocasiones (en vacaciones incluso llegamos a jugar dos batallas diarias). Al año siguiente jugamos al Necromunda y al Blood Bowl, y al siguiente. Después la comunicación desapareció y no he vuelto a ver a ese amigo de las vacaciones :S.



Sé que vive en Gijón, y creo que está estudiando Informática, así que es posible que le vea el año siguiente. Serán muchas las cosas de las que podremos hablar, pero yo ya lo he catalogado como "viejo amigo".



Y, para desgracia mía, pierdo muy facilmente la comunicación con los "viejos amigos" :(.



Siguiendo con el tema del Warhammer, diré que, una vez me mudé a Barcelona, hice un ejército de Orkos de WH40K para jugar batallitas con algunos amigos, pero el tema se dejó de lado para jugar a Vampiro :S (el primer juego de rol serio al que jugué). Y, poco después, me mudé de Barcelona a Asturias, donde conocí a un gran grupo de amigos que aprecio mucho (quizás porque comparten muchos de mis gustos, pero yo opino que es más por su personalidad), y jugamos primero al RochSystem, después al Dungeons & Dragons, y ahora intentaremos compaginar Warhammer y D&D si somos capaces...



Me gustaría continuar con el tema, pero se hace tarde y tengo sueño, así que dejaremos parte para mañana (quizás una parte naranja, con más ideas y menos hechos).

18 sept. 2004

18/9/04: Pausas

Diario de Guerra de Alejandro González, Alias "WaaghMan". Cuadragesimoprimera anotación:



Últimamente tengo el PFC bastante abandonado, quizás porque nunca me siento realmente dispuesto a continuar el trabajo, quizás porque las partes que me gustaban ya están casi terminadas. En cualquier caso, la cosa ha de continuar.



Hoy he trabajado poco (muy poco), y he continuado donde lo dejé: El tema de las texturas y la forma de representarlas. Ya había conseguido una manera rápida de mostrarlas, pero aún había un problema, y era que cada pieza requería reservar espacio en memoria para ella. Esto quiere decir que, si hay veinte trozos de pared idénticos, se ocupará veinte veces más memoria de la necesaria. Inadmisible.



La solución es lógica y simple: Hacer un contenedor que cargue las texturas en memoria y que, si pretendemos cargar una textura que ya está en memoria, pues no la carguemos.



El problema es que esta operación, al menos como la he hecho, no es lo más eficiente: cuantas más texturas haya cargadas, más costará comprobar si cierta textura está en memoria o no.



Para los entendidos, diremos que estoy usando un array y una búsqueda secuencial asociada al string del nombre de archivo de la textura. Lo mejor sería usar una tabla hash, pero esto requeriría trabajar en ella, y de todas formas el acceso a este contenedor sólo se haría durante el periodo de carga del mapa, así que no me parece que vaya a ser muy necesaria.



Eso es todo lo que he hecho hoy del PFC... es poco, pero al menos aseguramos que los mapas se muestran bien y rápido. Lo siguiente deberá ser hacer los jugadores :).

17 sept. 2004

17/9/04: La defensa de Tetloc-Itza

Diario de Guerra de Alejandro González, Alias "WaaghMan". Cuadragésima anotación:



(Este informe de batalla se da desde el punto de vista de mis tropas, aunque pretende ser objetivo en las descripciones).



En las lejanas junglas de Lustria se encuentra la ciudad-templo de Tetloc-Itza. Su emplazamiento al norte del continente le hace una ciudad siempre amenazada por las regiones vecinas: Las siempre acechantes arcas negras de los elfos oscuros y el propio Reino del Caos.



Es por ello que siempre hay unidades de exploradores en las inmediaciones, para localizar al enemigo.



Y hacen bien, porque un día como cualquier otro, una alianza entre el Caos y los elfos oscuros planeó conquistar Tetloc-Itza: Los elfos oscuros se quedarían con los ciudadanos que sobreviviesen como esclavos, y el caos ganaría terreno en su plan de dominación mundial.



Los eslizones, experimentados exploradores y hábiles corredores, se dieron prisa en avisar al pueblo, que se preparó para evacuar al mago Slann y el grueso de la población a un lugar seguro. Mientras se hacía, un pequeño destacamento de tropas se encargaría de defender el sitio y aguantar el máximo tiempo posible. Sabían que iban a morir, pero estaban decididos a proteger la ciudad. El valiente escamadura Tinchi-Huinchi y su hermano Klolec se ofrecieron voluntarios para comandar esa fuerza de contención.



Una vez se prepararon a las tropas, los exploradores tomaron posiciones más avanzadas para sorprender al enemigo e intentar entorpecerle.



No pasaron ni dos horas antes de que la fuerza de ataque combinada entre elfos y caos llegase a las cercanías de la ciudad. Su mera visión era escalofriante: Dos regimientos de ballesteros, Bárbaros a caballo, Caballeros del caos elegidos, dos regimientos de guerreros del caos, diablillas de slaanesh, mastines del caos, caballeros gélidos, dos hechiceras, un engendro del caos, un paladín del caos sobre una montura demoníaca, y 24 lanceros.



Las fuerzas de los hombres lagarto eran más reducidas, pero habían sido escogidas entre los más valientes de la ciudad: 4 regimientos de eslizones (dos de ellos exploradores), dos salamandras con su dotación, dos regimientos de saurios, 5 terradones, un chamán eslizón, y los hermanos Tinchi-Huinchi y Klolec.







El combate fue duro, la superioridad numérica de la alianza maldita era patente, y los hombres lagarto no tendrían ninguna posibilidad de acabar con ellos, pero su misión era entorpecerlos.



La mejor actuación por parte de los hombres lagarto la tuvo, sin duda alguna, una unidad de exploradores eslizones que, valientemente, avanzó hasta la retaguardia del ejército enemigo, entorpeciendo y desconcentrando a las tropas enemigas para ganar tiempo.



A su vez, otra tropa de eslizones avanzó hacia unos ballesteros elfos oscuros, con la intención de eliminarlos o entretenerlos. Tras un combate bastante decisivo, los eslizones decidieron que volverían a casa para luchar otro día, pero debían de tener barro en sus pies, porque tan sólo huyeron 6 cm (6 cm en 5D6, en mi opinión la peor tirada de huída de la historia de warhammer).



Los terradones, por su parte, atacaron a los mastines del caos y tras el ataque se replegaron, para después atacar a los ballesteros que habían vencido a los eslizones. No les causaron muchos daños.



Mientras tanto, el grueso de tropas enemigas, pese a ser entretenidas por los eslizones, se estaba acercando a la ciudad. Los primeros en llegar fueron los caballeros, que cargaron contra Tinchi-Huinchi, quien valientemente aguantó la posición. Los caballeros consiguieron herir al héroe, a cambio de una baja provocada por éste.



Los lanceros hombres lagarto, decididos a ayudar a su líder, cargaron por el flanco de los caballeros para destruir a los invasores, pero no causaron daño alguno. El combate se prolongó durante mucho tiempo, sin que pareciese que alguno de los bandos dominase la situación.



En ese momento, uno de los regimientos de guerreros del caos llegó, junto al engendro del caos.



Los guerreros cargaron por el flanco de los lanceros que estaban en combate con los caballeros, y se unieron al combate por la ciudad. El engendro, grande como era, no cabía y no tenía más remedio que atacar al segundo regimiento de saurios para hacer hueco y poder entrar en la ciudad.



A la carga del engendro se unió el general del caos y su montura demoníaca. Rápidamente acabaron con los saurios, y el engendro consiguió entrar en la ciudad.



Mientras, los terradones se unieron al combate principal, atacando a los caballeros del caos y causando dos bajas. Los caballeros seguían sin ser derrotados.



Al final, la unión de los guerreros y los caballeros del caos fue demasiado para los hombres lagarto, y se vieron obligados a huir, dejando sólamente un pequeño grupo de eslizones para defender la ciudad.



Por suerte, en ese momento la población ya había conseguido evacuar la ciudad, y aunque Tetloc-Itza fue temporalmente conquistada por el Caos, los Hombres Lagarto tardaron poco en reconquistarla. Otra vez será...

16 sept. 2004

16/9/04: El viaje más largo

Diario de Guerra de Alejandro González, Alias "WaaghMan". Trigesimonovena anotación:



Ayer por la noche tuve que ir a recoger a mi hermana, que volvía de un concierto de Andy & Lucas, y en el camino me pararon para hacer el test de alcoholemia (mi primer test de alcoholemia). Estoy orgulloso de decir que pasé el test con un sobresaliente :). Ni siquiera un temblor o atisbo de nerviosismo. Claro que, el hecho de saber que no podía dar positivo era un gran aliciente :).



Hoy he ido por la mañana de nuevo a la universidad, primero a la EUITIO para pedir un certificado, y después a la escuela de ingeniería de gijón para preguntar allí sobre el tema de la prematricula. De nuevo sin éxito, me dijeron que el tipejo que podía decirme algo no volvía hasta el lunes :S. Me he tragado 45 minutos de coche para nada :S.



Una vez llego a casa, de trabajar hay pocas ganas, así que a matar gundams. Por la tarde, sigo matando gundams porque mi hermana coge el Ultimate Pc y no puedo hacer el PFC. Cuando me deja, me pongo a trabajar como un poseso. Consigo hacer que se muestren mapas cargados de archivo en pantalla, PEEEERO, se muestran a 4 fps :|. Mierda.



Veamos, hay que arreglar eso...



1- Por cada pieza de mapa no se puede cargar una nueva textura, o nos quedamos sin RAM y es lento de cojones

2- Aun siendo la misma textura, hacer 172 llamadas a DibujarTextura llevan mucho tiempo



Así que la solución fue hacer que fuese una sola textura que se mostrase muchas veces llamando a un sólo método. Con eso conseguíamos 150 fps, aun eran pocos. Tocaba pelearse con las cosas de OpenGL para intentar mejorar la eficiencia.



Tras bucear en google, descubro un consejo que dice que no borre la pantalla en cada frame si no es necesario, ya que puede ser lento. Quito esa parte y gano 20 fps más, no está mal. Sigo leyendo y veo mejoras menores, como reducir el filtrado de texturas o desactivar ciertas características que no estemos utilizando, como la niebla. Pero tras probar esas cosas, no se gana ni un solo fps, así que lo dejo así.



Sé una forma de mejorar mucho la eficacia, pero requeriría que cada textura tuviese su propio archivo, en vez de poder estar contenida en un pack como están ahora, así que si no es necesario no lo haré :). Por otra parte, de esta forma la iluminación es muy efectiva, y de la otra sería inexistente. Además, si se juega a 800x600 se aumenta mucho la velocidad, si es necesario la reduciré en la versión final :).



Y mañana, batalla de WarHammer. Intentaré acordarme de sacar fotos :).

15 sept. 2004

15/9/04: Mala mañana

Diario de Guerra de Alejandro González, Alias "WaaghMan". Trigesimooctava anotación:



Hoy por la mañana he ido a la universidad para A) intentar encontrar a Aquilino y B) Informarme y, si es posible, prematricularme en cuarto para comenzar cuando presente el proyecto.



Ninguna de las dos ha podido ser :S. Al menos he podido conseguir el Painkiller, lo grabaré mañana.



Por otra parte, y olvidándonos de eso, la cosa no ha estado mal del todo. Sobre el PFC he trabajado en los mapas, como dije que haría una vez me cansase de hacer menús. Ya se cargan los archivos XML tanto de mapas como de patrones. Aún no hay representación gráfica de los mismos, pero se guardan en memoria y será fácil mostrarlos. Mañana toca.



Todo eso por la mañana. Por la tarde me vicié de mala manera a un juego llamado Liberation Army, similar al Dinasty Warriors, en el que comandas un ejército de cientos de guerreros montado en un mecha al estilo gundam. Está muy guapo porque puedes desarrollar diferentes tipos de estrategia según el piloto que lleves, y has de tener cuidado de por donde estás siendo atacado para ir a ayudar, etc. Además, según el autor, puede llegar a haber 300vs300 guerreros simultáneos (sin contar con los reservas, que pueden ser más de 1000), aunque yo no he pasado de 270vs280.



Una pega es que el juego nunca acaba. Si ganas, conquistas territorio y las batallas son más difíciles. Si pierdes, dejas territorio y las batallas son más fáciles. Si llegas al 100% de territorio, la batallas no serán más difíciles.



De todas formas, no es fácil llegar a ese 100%. Yo he conseguido llegar, tras una enorme racha de victorias, al 91%, pero entonces me machacaron :).



Una putada, el viciarse a un juego que nunca termina :S

14 sept. 2004

14/9/04: La historia

Diario de Guerra de Alejandro González, Alias "WaaghMan". Trigesimoseptima anotación:



Hoy he apagado pronto la luz de mi habitación, por dos motivos: 1- Mi madre quiere que me levante antes de las 12 :S y 2- No tengo material de lectura que no haya leído aún :S.



Pero eso no quiere decir que me durmiese pronto, ni mucho menos. Tras apagar la luz, mi desquiciada mente se puso a trabajar. Primero en la siguiente fase del PFC una vez terminados los menús (posiblemente la carga de mapas), y después en cosas más creativas.



Al final lo que decidí es pensar en el trasfondo histórico del juego. No es que vaya a tener mucha trascendencia en el desarrollo del juego, pero nunca está de más.



Así pues, aquí va la historia que boceté por la noche...



"Estamos a mediados del siglo XXI. Año 2054 para ser más exactos. El planeta acaba de sobrevivir a una guerra mundial/civil como jamás ha habido alguna. El propio futuro de la madre Tierra se encuentra en peligro. Pero expliquemos la historia desde el principio. Todo comenzó dos años atrás...



Año 2054. La ciencia ha avanzado mucho en los últimos 70 años. El planeta lleva 30 años en una relativa paz, y la esperanza de vida es cada vez mayor. De hecho, la superpoblación es un grave problema, y a éste ritmo puede comenzar una guerra sólamente para hacer hueco...



Es en este momento cuando Sturm Schneidel, un famoso científico, hace el descubrimiento más importante desde el fuego: Una forma de obtener un flujo constante de energía de forma permanente. Los fundamentos físicos y químicos de el sistema son demasiado complicados para explicarlos en menos de 100 páginas.



El sistema es muy eficaz, pero presenta un problema: Las llamadas células de energía perpetua (CEP) no pueden superar el tamaño de una mochila, o el sistema de contención de energía se sobrecargaría y provocaría una enorme explosión de proporciones atómicas.



Para demostrar la viabilidad de las CEP, el propio Sturm Schneidel construyó un traje personal (denominado Traje Autónomo, T.A.) y levantó objetos de toneladas de peso.



En esos momentos, la noticia fue retransmitida a todo el planeta. Una pequeña nación gobernada por un dictador vio en esas CEP el traje de combate ideal, que le permitiría dominar el planeta entero.



Para apoderarse del traje, enviaron a un agente que asesinó al científico y se apoderó de los planos y el T.A. experimental.



Sturm Schneidel, como un genio que era, había previsto tal eventualidad, y para evitar el abuso de la tecnología, había modificado los planos de las CEP. La versión que robó el agente, aunque funcionaba, no estaba bien protegida contra las vibraciones y golpes que podría sufrir la unidad, y tras un castigo moderado, la unidad podría comenzar a fallar e incluso explotar.



Desconocedores de este fallo, se producieron enormes cantidades de versiones mejoradas del T.A: El Traje Autónomo de Combate o T.A.C.



Esta versión del traje, además de incluir la CEP, tenía un arma que acumulaba la energía proporcionada por la CEP y la soltaba en forma de plasma ardiente hacia el objetivo.



De todas formas, antes incluso de comenzar un ataque formal, las naciones más poderosas consiguieron copias de los planos de los T.A.C. gracias al espionaje.



Para superar a los T.A.C, se diseñaron versiones aún más potenciadas de los trajes: Concretamente los Trajes Autónomos de Combate Propulsados (T.A.C.P.) . Estas versiones incluían, además del arma de plasma, un propulsor que permitía al usuario propulsarse cortas distancias a gran velocidad.



El supuesto ataque sorpresa de la pequeña nación fue un completo fracaso, y pronto todos los responsables fueron detenidos.



Por desgracia, en el caos de la batalla, muchas unidades T.A.C y T.A.C.P. se perdieron, y algunas de estas unidades llegaron a manos de personas con aspiraciones a dominar el mundo.



Las naciones vencedoras no tuvieron más remedio que superar en tecnología a los T.A.C.P. y para ello diseñaron los T.A.C.T. , Traje Autónomo de Combate Táctico. Incluía las mejoras del T.A.C.P. y un sistema de armamento genérico que permitía acoplar armas muy diferentes al traje. De esta forma, los cañones de plasma fueron rápidamente superados por armas como el LPR (Lanzador de Proyectiles Rebotantes) o el Cañón Lich, que provocaba fugas de energía en la CEP del objetivo.



Pero, una vez más, en estos combates más trajes se perdieron, y parece que el problema, en vez de disminuir, crecía.



Se llegó a un punto en el que una de cada tres familias poseía un T.A.C., y los utilizaban para atacar o defenderse de otros asaltantes.



Se llegó a tomar una decisión importante: Se diseñaría un nuevo traje, pero estaría genéticamente programado para que sólo una persona pudiese utilizarlo. De esta forma, no sería posible el robar la unidad. El traje se denominó T.A.V. , Traje Autónomo Versátil, y fue el cénit de la tecnología basada en CEP.



El traje era una versión ampliada del TACT, que permitía sustituir fácilmente partes del traje por otras para proporcionar más protección o velocidad según la situación requiriese.



De esta forma, se formó un grupo de élite a los que se les asignó un TAV personal e intransferible, y fueron enviados a la caza y destrucción de los trajes dispersos por el mundo.



Las misiones se cumplieron rápidamente y con muy pocas bajas. En menos de un mes, el mundo había sido limpiado de trajes autónomos. Pero esto no detuvo las guerras que habían surgido. Y difícilmente se conseguirían detener.



Tras ver las catastróficas consecuencias de los trajes autónomos, se detuvo su producción y los planos de las CEP fueron archivados.



Surgió un problema: Los TAV pertenecientes al grupo de élite. Los pilotos no estaban dispuestos a devolverlos para que fuesen desmantelados, y los gobernantes no estaban dispuestos a dejarles marchar para que no se copiase la tecnología.



Llegaron a un acuerdo, el proyecto Reunión: Se construiría un estadio especial en el que los TAV demostrarían su capacidad enfrentándose unos con otros. De esta forma, poco a poco irían destruyéndose y se solucionaría el problema.



La retransmisión de estos combates tuvo tal acogida, que la guerra acabó pronto: Las familias dejaban los combates para ir a casa a ver el programa.



La compañía de comunicaciones encargada de la retransmisión se convirtió en la más poderosa de la nación, y como tal ejerció su poder para recuperar los planos de las CEP. Pronto se dedicó a construir más TAV a pilotos que previamente hubiesen superado un duro examen de conducta.



El proyecto Reunión se convirtió en un fenómeno de masas y pasó a denominarse MetalWarriors. El mundo nunca sería el mismo.

"



Bueno, eso es todo. Hay bastantes fallos de continuidad y algunas partes deberían explicarse un poco más en profundidad, pero en general me gusta como ha quedado... Quizás debería explicar un poco mejor los problemas del fallo en las CEP, y cosas así...


13 sept. 2004

13/9/04: Menús

Diario de Guerra de Alejandro González, Alias "WaaghMan". Trigesimosexta anotación:



Los menús del juego están casi terminados. Aún quedan algunas secciones, pero no es más que cuestión de tiempo.



Una característica muy chula de estos menús es que tienen efectos de luces pululando por ahí, y los textos quedan muy bien con estos efectos de luces, además de que les da un toque personal.



Por supuesto, las secciones en este momento no tienen ningún efecto. Sólo la navegación entre menús está hecha. El resto será fácil de hacer en su momento.



Aquí tenéis el link para la descarga de estos menús. Yo tengo alrededor de 240 fps :). A ver qué os parecen.

12 sept. 2004

12/9/04: Multi-Casting

Diario de Guerra de Alejandro González, Alias "WaaghMan". Trigesimoquinta anotación:



Hoy ha sido un día extraño. Me lo he pasado en su mayor parte viendo capítulos de Ranma (mis padres no dormían en casa, y en una noche el emule terminó 5 capítulos de ranma mas otros tantos de variadas series); y programando cosas para el PFC.



Bueno, eso de "programando cosas" es muy relativo. Realmente, sólo ha sido una "cosa" la que me he pasado casi todo el día programando.



Como no tenía muchas ganas de continuar lo de los menús, y como el siguiente menú que tocaba era el de "unirse a partida", que debería mostrar una lista de partidas creadas, me puse a pensar cómo haría para hacer un buscador de partidas en red local.



No es cosa fácil, el TCP no permite otra cosa que no sea hacer un intento de conexión para cada ip de la subred (al menos que yo sepa), y en ese caso también haría falta determinar la subred en caso de que haya diferentes interfaces (ADSL y Ethernet por ejemplo).



Así pues, pensé en hacer un broadcast, cosa que dimos en Redes, pero resulta que TCP tampoco permite eso (y es lógico, dado que si con un sólo socket te conectas a muchos clientes, no sabrás después de quién son los datos y cosas así).



Al final, me decidí por ir programando un socket UDP, que permitiría hacer un escaneo de la red local más rápidamente (además permite el broadcast).



Mientras lo programaba (y tras superar dos errores extraños que me costó mucho solucionar, relacionados con cierta librería de windows), vi que también había soporte para Multicast.



Para los que no lo sepan, el Multicast consiste en grupos que se forman y que al enviar un mensaje a ese grupo, todos los miembros reciben una copia (bueno, no es seguro al 100%, dado que se basa en UDP).



Así que una vez conseguí hacer un "Hola, mundo" en UDP, me puse a programar el multicast.



Primero un error molesto (relacionado con las librerías de windows antes mencionadas), que también me costó solucionar, pero al final corregí.



Después un error incomprensible, que solucioné de pura casualidad... Me explico.



El problema era que aunque enviaba el mensaje, el receptor (o receptores) nunca lo recibían. Muy raro, no había ningun aviso de error en los métodos ni nada parecido.



Tras mucho probar (MUCHO probar), apagué el ordenador de al lado (lo había encendido para probar el UDP de un pc a otro). Y entonces funcionó :|.



Es decir, el multicast no se envía los datos a si mismo en una LAN. No puedes hablar contigo mismo si estás conectado :S. Una vez descubierto el fallo, probé a hacer el multicast entre dos pc's y funcionó.



Así que al final la solución para buscar servidores es...



1-El servidor se une a un grupo de Multicast, junto al resto de servidores de la red local.



2-Cuando un cliente hace una búsqueda de servidores, envía un mensaje a ese grupo. En principio lo recibirán todos los servidores (estamos en una LAN, no suele haber paquetes perdidos), y contestarán al emisor con los datos de partida, etc. Por último, el cliente se enviará a sí mismo el mismo mensaje (por si hubiese un servidor creado en ese mismo Pc).

Y ya está, todo debería de funcionar y el mundo sería un lugar más feliz.



Veamos si en la práctica es cierto lo del lugar más feliz.



Mañana no creo que pueda trabajar tanto, pero intentaré terminar algunos controles y menús más...

11 sept. 2004

11/9/04: Promesas cumplidas

Diario de Guerra de Alejandro González, Alias "WaaghMan". Trigesimocuarta anotación:



Como prometí ayer, hoy he trabajado bastante en el PFC.



Dado que ya había terminado un Engine funcional y bastante chulo, me he puesto a programar los menús del juego.



Como datos interesantes están los siguientes:



1-Los menús utilizan controles más o menos genéricos, al estilo Delphi o Java. Obviamente no llegan a la potencia ni a la cantidad de éstos, pero evitan repetir mucho código. En este momento he terminado cuatro controles diferentes: Uno para introducir texto, otro para escoger valores numéricos, un botón normal, y un selector de archivos.



2-El encargado de controlar la interacción entre menús es independiente de cómo trabajen éstos, lo que nos permite que cada menú sea completamente diferente (no es que lo vaya a hacer así pero se puede :)).



3-Los textos del juego se guardan en un fichero de texto, así que elegir el idioma será sencillo :).





Si queréis podéis probar el estado actual del programa bajándooslo de aquí. Va ocupando cada vez más, como es lógico...



No todas las opciones están habilitadas por el momento. Las que no lo estén simplemente no harán nada :).

10 sept. 2004

10/9/04: De compras

Diario de Guerra de Alejandro González, Alias "WaaghMan". Trigesimotercera anotación:



Hoy me siento hasta mal y todo. Sigo sin hacer ni un poquito del PFC :(. Por la tarde me habría puesto si no hubiese surgido plan, pero así fue y fuimos a Media Martkt, FNAC y al cine a ver La Terminal.



La película es buena y no se hace pesada a pesar de desarrollarse todo el rato en la terminal del aeropuerto :).



Al terminar el día, mi cartera estaba ya seca :). Ahora toca ahorrar durante una temporadita para no tener que pedir dinero a los demás :).



Y mañana, lo prometo, seguiré trabajando en el PFC.

9 sept. 2004

9/9/04: Centímetros cúbicos

Diario de Guerra de Alejandro González, Alias "WaaghMan". Trigesimosegunda anotación:



Hoy por la mañana vicié como un cosaco al Doom 3, y estoy a puntito de terminarlo. Por la noche fui con mis padres a una presentación de nuevos modelos en el concesionario Fiat (para que hubiese gente), y allí tenían una réplica de un coche de rally (porque resulta que este sábado comienza el rally Príncipe de Asturias), además de que estaban dos de los 4 pilotos del equipo Fiat. El coche era un Fiat Punto amarillo, muy chulo (coste del kit de llantas, parachoques, etc. para un Fiat Punto normal: 1.500 €). Mi padre estuvo hablando con el copiloto de cosas como el cambio de marchas (que era secuencial y no requería embrague), cómo conseguían doscientos sesenta caballos con sólo 1.600 centrímetos cúbicos, y cosas así.



Mientras, yo escuchaba y callaba, como suelo hacer :).



Por cierto, del PFC hoy tampoco he avanzado ni un poquito (bueno, escribí algo más de análisis, pero nada digno de mención)

8 sept. 2004

8/9/04: Vagancia

Diario de Guerra de Alejandro González, Alias "WaaghMan". Trigesimoprimera anotación:



Hoy debería haber trabajado un poco más en el PFC, pero la verdad es que como era fiesta y como ya había terminado el Engine, no tenía muchas ganas, así que vicié bastante al Doom 3 (tampoco fue todo el rato). Está guapo, aunque por la mañana no tiene mucha gracia jugarlo. Y no da tanto miedo y canguelo como dicen algunos. En las primeras misiones sí, porque temes quedarte sin munición y los bichos son molestos.



Pero una vez superas eso, te acostumbras y pierdes el miedo. Ya no te asustas al ver a un bicho, sino que le endiñas un escopetazo y carril :).



Por la tarde estuve jugando un rato al CS con el clan (por cierto, ahora tenemos servidor público), que hacía tiempo que no entrenaba con ellos. La cosa no fue del todo mal, y el entrenamiento esta vez tuvo sentido (aunque seguimos siendo muy malos).



Ahora mismo, lo que más anhelo es echar una buena partida de Warhammer... a ver si se acaba el periodo de exámenes :S

7 sept. 2004

7/9/04: Mala suerte

Diario de Guerra de Alejandro González, Alias "WaaghMan". Trigésima anotación:



Hoy ha sido un día movidito pero no muy productivo. Me levanté pronto para ir a la universidad a hacer varias cosas:



1-Entregar los papeles para la solicitud de la beca



2-Hablar con Aquilino del PFC



3-Preguntar un par de dudas en secretaría sobre el PFC



4-Copiar el Doom 3 al disco duro que llevé



Cuando salí a las 7 de la tarde, sólo los puntos 1 y 4 se habían realizado :). Supongo que fue culpa mía por no quedar con Aquilino a una hora concreta, ni enterarme de sus horarios de tutorías, y por no hacer cola delante de secretaría, pero el punto 3 no era muy urgente.



Además, por si fuese poco, estuvimos echando en la beca una partida al Age Of Empires 2, y fui el primero en perder. No es que haya tenido mal perder (soy demasiado malo a ese juego como para enfadarme si pierdo), pero es que me molesta mucho que tras dos horas jugando acabe aniquilado en un momento.



No entiendo como nadie se da cuenta de que los juegos de estrategia están mal enfocados, lo que cuenta debería ser la estrategia y no la cantidad de tropas ni de edificios...



En fin, por la noche instalé y probé el Doom 3. Puedo jugar con alta calidad a una resolución de 1024x768, pero a veces va a tirones y mejor juego con calidad media a la misma resolución. Va fluido en general,menos cuando hay muchos imps y sus fastidiosos efectos de luces :S.

6 sept. 2004

6/9/04: Trabajando duro

Diario de Guerra de Alejandro González, Alias "WaaghMan". Vigesimonovena anotación:



Hoy ha sido un día de trabajo duro en el que he hecho muchas cosas, unas más fáciles que otras.



Como dije ayer, comenzé por programar la clase móvil, que fue una pijada muy simple, como lo era en la asignatura de Física en la ESO :).



Después le tocó el turno a la clase DetectorColisiones, que no tuvo demasiadas dificultades porque fue simplemente adaptar el código feo del LittleEngine original a la versión super-chula-orientada-muy-bien-a-objetos del nuevo motor.



Se supone que tendré que añadirle lo de las elipses, pero por el momento lo dejo así.



Después, le tocó el turno a la clase Texto, que también fue simple de hacer cogiendo gran parte del código del LE original.



Tras eso, y con un programa muy chulo llamado Bitmap Font Builder, me monté una fuente bastante guapa, y hice unas cuantas pruebas de las cosas a ver si tiraba.



Entonces, me dio por visitar la web del autor de ese programa, y encontré un juego en OpenGL llamado disasteroids 3D, con código fuente incluido. Lo descargué a ver si veía alguna técnica chula que pudiese aplicar en el motor, y vi que el juego era basurilla en cuanto a jugabilidad, pero los efectos gráficos estaban bien conseguidos.



Mirando el código vi que gran parte se conseguían simplemente deformando y coloreando texturas, cosa que se puede hacer sin problemas en mi motor, y utilizando iluminaciones.



Así pues, decidí hacer mi motor compatible con la iluminación :).



Esto no es tan fácil como parece, y tras programar durante un buen rato las cosas, al probarlas no funcionaba bien. Tras pelearme otro buen rato y encontrar el motivo, me di cuenta de que la iluminación no funcionaba como debería. Es decir, funcionaba como debería en un juego 3D, pero no en uno 2D.



La cosa es simple: La iluminación se basa en que partes de una oscuridad total, y vas iluminando zonas aplicando fuentes de luz.



En el caso de las texturas, si haces esto muchas de ellas quedarán muy desmejoradas al no tener volumen, y la cosa no sería bonita. Tras mucho romperme la cabeza con la interminable lista de parámetros y variables, llegué a una solución parcial: La escena comienza iluminada a tope (más fácil de decir que de hacer), y las luces lo que hacen es proyectar sombras de los colores que no poseen (es decir, una luz roja lo que hace es proyectar sombras verdes y azules).



Esto también es costoso, y sigue sin ser del todo efectivo, porque al iluminar sobre un color oscuro no se ilumina, sino que se oscurece aún más. Pero en general es suficiente.



Otro fallo es que como una textura son sólo dos triángulos, la iluminación es mucho más efectiva en los bordes que en el centro, porque en el centro no hay vértices. Podria programar las texturas para que tuviesen más vértices y así la iluminación sería mejor, pero entonces requerirían al menos 4 veces más triángulos para mostrarse :S.



Así que por el momento así queda. Tenéis el diagrama UML aquí y el programa de ejemplo, que me da unos 800 fps, aquí



Ahora marcho a cenar. Toy cansado pero contento :).

5 sept. 2004

5/9/04: Cántaros

Diario de Guerra de Alejandro González, Alias "WaaghMan". Vigesimonovena anotación:



Así es como está lloviendo hoy :). No parece un día muy alegre, pero al menos no hace calor.



Como siempre, poco que contar hay. Sobre el PFC, he terminado las clases Socket y una clase Cámara, que da mucho más juego que la función de zoom incluida en el LittleEngine anterior.



Además, se han encontrado dos bugs en el engine. El primero era que al cambiar a otra aplicación y volver al juego, éste no se redibujaba correctamente. Esto ya ha sido solucionado.



El segundo bug, originado por una posible solución al primero, también ha sido solucionado. Se debe a que DirectInput pierde el control del dispositivo cuando cambias de ventana, y hay que comprobar si se recupera este control si se ha perdido.



Así pues, en estos momentos creo que disponemos de un motor estable, eficaz y bien diseñado, que permitirá que el proyecto siga adelante sin dificultades.



Los problemas más gordos en estos momentos del proyecto los veo en...



1-El juego en LAN. No será facil coordinar correctamente cliente y servidor

2-Las animaciones. No será fácil hacerlas (aunque mostrarlas sí lo será).



Para terminar definitivamente con una versión funcional del engine, me queda por hacer...



1-La clase Móvil (que simplemente es un interfaz para objetos uniformemente acelerados)



2-La clase DetectorColisiones (que espero que pueda utilizar elipses y lineas, ya que los personajes tendrán unas cajas de colisiones en forma de huevo).



3-La clase Texto, que servirá para mostrar texto en pantalla.



Una vez terminado esto y el análisis, me pondré con el juego de verdad, comenzando por los menús (como debería ser y nunca hago :) ).

4 sept. 2004

4/9/04: Progresando

Diario de Guerra de Alejandro González, Alias "WaaghMan". Vigesimooctava anotación:



Hoy he continuado el trabajo, pero no demasiado tiempo. He terminado la clase Textura, y ya se pueden cargar texturas en el engine (sólo TGA por el momento).



No he hecho nada de análisis hoy, y la clase Socket ha quedado a medias porque mi padre me pidió que me quitase :S.



De todas formas, para llevar tres días la cosa chuta de maravilla. El engine está muy cercano a terminarse, y su facilidad de uso sólo es comparable a su efectividad :). Por cierto, una nota interesante... el ejecutable de prueba de ayer, si lo pongo a pantalla completa, da alrededor del doble de frames por segundo que si se pone en modo ventana. Para que os hagáis una idea de lo importante que es no jugar en modo ventana si se puede evitar :).



Por otra parte y cambiando de tema... seguimos con los entrenamientos del clan squad forces :). La cosa sigue yendo igual que siempre. Perdemos el 100% de los partidos que jugamos. Me pregunto si no seré gafe y por mi culpa perderán. El caso es que siempre tengo las mejores puntuaciones en frags (sé que no lo es todo pero ayuda).



Por último, hoy he cogido el coche para ir a Parque Principado a comprar un manga de Naruto y DVD's vírgenes. Eso no sería digno de mención si no fuese porque es la segunda vez que cojo el coche desde que volvió del taller. Va perfectamente, lo cual es bueno :).

3 sept. 2004

3/9/04: Taking it seriously

Diario de Guerra de Alejandro González, Alias "WaaghMan". Vigesimoséptima anotación:



Hoy no he trabajado tanto como ayer. Mi hermana estuvo casi toda la mañana en el pc donde tenía las cosas del trabajo, y aún no he configurado bien los permisos, así que no podía acceder desde el otro Pc. Así pues, gran parte de la mañana me la pasé mirando videos de el rellano :S.





Por la tarde la cosa mejoró. Hice lo del ratón que me había olvidado ayer, hice una clase Log para guardar las cosas interesantes a un fichero (eso tras pelearme durante mucho tiempo con el código para intentar redirigir la salida cout sin usar linea de comandos, sin éxito), y programé el Engine para Open GL (crear y destruir ventanas).



Puede parecer poco, pero la cosa chuta bien. La forma de uso del engine es todavía más simple que el LittleEngine original. Además, a diferencia de en éste, usaré llamadas a OpenGL desde otras clases, para simplificar el diseño y mejorar la velocidad de juego.



Si os interesa algo, podéis encontrar el diagrama de clases Aquí. El color morado indica que la ha clase ha sido programada y en principio no se piensa modificar más. El naranja que ha sido programada pero es muy probable que se tenga que ampliar. El amarillo que se ha escrito el .H y el verde que no se ha hecho nada con ella aún.



Por otra parte, también si os interesa, podéis bajaros de aquí el programa de prueba.



Lo que hace es crear una ventana, inicializar directinput y opengl, y hacerse con el control del ratón (no lo podréis usar fuera de la ventana). Después se queda haciendo nada hasta que pulséis escape. En ese momento se cierra. Se guardará en el archivo log.txt información sobre el rendimiento que ha tenido la ejecución en vuestro pc. A mi me da 1343 fps. Es bastante exacto.



Mañana, texturas y un poco más de análisis :), y si da tiempo, sockets :).

2 sept. 2004

2/9/04: ¡Albricias!

Diario de Guerra de Alejandro González, Alias "WaaghMan". Vigesimosexta anotación:



Hoy ha sido un buen día :), aunque un poco monótono. Por la mañana me levanté relativamente pronto tras pocas horas de sueño.



El culpable de esas pocas horas de sueño ha sido el libro "Dune. La casa Harkonnen". No he llegado a terminarlo del todo, pero gran parte de las subtramas ya se han finalizado. Me ha gustado mucho el libro, y espero poder coger pronto la continuación en la biblioteca :) :).



Bueno, tras despertar, desayunar, asearme, vestirme y hacer la cama, me puse manos a la obra con el PFC. Primero, continué con el análisis, explicando el proceso de conexión entre cliente y servidor, y parte de las animaciones.



Una vez me cansé de escribir con el word, pasé a hacer el diagrama de clases preliminar, de forma bastante completa. No tuve demasiados problemas con el diseño porque ya lo tenía bastante pensado, pero hasta entonces no lo había puesto todo junto en el mismo sitio.



Una vez terminada esa parte, y tras comer y un descanso de un ratito, me puse a programar interfaces de algunas clases, y el código de dos partes del engine: El sonido y la entrada por teclado (MIERDA, Ahora que lo pienso, no tengo hecho nada para entrada por ratón!!! Vale, ya sé que hacer mañana).



He conseguido que se comporten de una forma muy adecuada, mejorando las versiones utilizadas en el LR2, traduciendo comentarios y nombres de variables, utilizando excepciones, etc.



A este ritmo, espero poder tener dentro de un par de semanas una versión ejecutable :). Pero tampoco hay tanta prisa. Voy a concentrarme en que el código sea correcto y esté bien documentado.



Por otra parte, y esta es la mejor noticia, me he pasado al 100%, total y absolutamente, sin duda alguna, sin que nadie pueda decir lo contrario, el Tony Hawk 4. Es una gran noticia. Estoy muy muy contento :D.

1 sept. 2004

1/9/04: Tic Tac

Diario de Guerra de Alejandro González, Alias "WaaghMan". Vigesimoquinta anotación:



Bueno, es día 1 y con ello terminan las vacaciones :). Para empezar, he ido a entregar un trabajo de un curso de verano a la universidad. El profesor no estaba, así que al carajo, al bedel se lo dejo. Me encuentro con nacho, al que le ha ocurrido una cosa bastante curiosa relacionada con un 0 y un 8. Pasando el rato, recuerdo pasar por secretaría a recoger los papeles para solicitar la beca de colaboración. Después, Nacho marcha, yo entro en la beca. A las 2 horas de vicio sin cortes, salgo a comer con dos de los becarios a un Turco. Pido un Kebab.



Mmmm que rico el Kebab. Las patatas no se dejaron comer, no me dieron tenedor y tenía dos opciones: Pincharlas con un tester de la beca, o volcar el contenedor en mi boca. Probé la segunda opción, pero las patatas estaban pegadas al contenedor. Las dejo pal que las quiera (nadie las quiso). De nuevo un vicio rápido al Sliders, que quedé con Aquilino antes de las 5 para hablar del proyecto.



Hablo con Aquilino del proyecto, me aconseja por donde empezar, estoy de acuerdo. Vuelvo a la beca. Vicio intenso hasta las 6:30, momento en el que me llama mi padre. Mala suerte, estoy compitiendo por el podio al Turbo Sliders. Acaba la carrera, le doy un toque para que vuelva a llamar. Lo hace, el coche está reparado y esperándome en el taller. Me dice que me pase antes de las 8.



Nos ponemos a probar un videojuego llamado vórtice, un PFC de dos becarios. El juego tiene muchos bugs, que solucionan a lo largo del día. Al final la versión es mas o menos estable. Les convencemos para hacer una partida a 4 jugadores. El juego peta. Mala cosa. Probamos a tres, funciona. Los mapas no permiten mucha jugabilidad y los personajes se mueven demasiado despacio. Aun así nos lo pasamos bien paseando y saltando por el mapa.



Las 7, hay que marchar. Bajo hasta la escandalera. Veo un autobús, qué bonito. Más concretamente, veo una L precediendo a un 1 en la parte de detrás del autobús. La alarma de mi cerebro se enciende ¡Linea 1, he de coger ese autobús!.



Corro. Mato a una vieja de un susto y echo a un niño contra el autobús para que frene. El autobús frena, me subo y pago. Me siento. Descanso. Vuelvo a descansar. Observo. Gente, Puaj. Descanso. Observo. Gente, puaj. Descanso. Observo. Se acaba oviedo. Pasamos la casa de Brenes. Se acaba el mundo. Llegamos a mi parada. aprieto el botón. No se enciende la luz roja. Vuelvo a apretar. Suena a cascajo y sigue sin encenderse. Mientras voy acercándome a otro botón se enciende la luz. Lag. Me bajo del autobús.



Estoy en un paso de cebra. Un coche al lado mío también está en el paso de cebra, esperando en un ceda el paso. Me pregunto qué ocurrirá cuando dejen de pasar coches, si pasará él, yo o ambos.



Pasa el tiempo y nosotros no pasamos. Al final el semáforo se pone rojo. Paso yo primero. Llego al local de GRH, donde debía entrar y pedir la llave. La pido, me la dan. Llamo a mi padre para decirle que voy pa casa en el coche. Monto. Ajusto el asiento, los retrovisores y me pongo el cinturón de seguridad. Embrago y pongo el motor en marcha. Brom.



Todo bien, el coche no vibra. Marcha atrás, cuidao viene un coche. Espero. El coche se para casi detrás mío. Hijo de puta. Paso. Salgo. Stop, a esperar. Espero. Viene un coche a lo lejos. Que le den, me toca a mí. Salgo sin problemas. Me encuentro con un coche que opinaba lo mismo que yo. Freno, nada serio. Detrás de ese pasa otro. Freno más. Detrás de ese pasa otro. Esto ya es cachondeo, el siguiente que se agarre. No hay siguiente, mejor para ellos.



Sigo palante. Nada interesante. Llego a una recta. Todo bien, nadie detrás mío, delante un camión. El camión se mete pa la izquierda, llegamos a una bajada. Noto cierto movimiento en el retrovisor. De repente un coche está pegado detrás mio y se acerca peligrosamente. Glups.



El coche frena, menos mal. Rotonda, freno, no pasa nadie, tiro.



Cuidado, se estrecha-Y-salto-Y-Dos-Derecha-Y-Uno-Izquierda-Y-Uno-Izquierda, No cortes.



Llegamos a la fresneda. Apago el motor. Saludo a mi madre, le hago una sinopsis del día. Enciendo el Pc, leo el foro y me pongo a escribir esto.



Bienvenido al momento actual.