domingo, 27 de febrero de 2011

el álgebra de la vida moderna

Iba a tirar esto en el blog de Undefined (http://undefined-opcode.blogspot.com) pero mejor no. Quiero hablar de mucha cosa, y con expresión prolongada, si saben a lo que me refiero. Consíganse un cafecito, porque va para largo...

Undefined fue iniciado primariamente como respuesta a un concurso intercomunitario, organizado por un usuario del RPG Maker de pseudónimo Amirhola. Pero también era un cierto planteamiento personal de por fin empezar a meterme má hondamente, en un principio, en el scripting del programa, del RMXP en específico.
Al comienzo, pensé sólamente en hacer algún que otro cambio estético, y algunas implementaciones de sistemas mayoritariamente como lo que es llamado "engine" (como por ejemplo el primer caterpillar y el uso de objetos en mitad de escenas). Pero en éste tiempo que he retomado el proyecto, y gracias un poco a las influencias de SMT de SNES, el último juego que he estado jugando, me propuse a implementar un sistema más por mi cuenta, y alterar el gameplay que tenía anteriormente, que era pensado más que todo para hacer un juego de tipo suspenso/horror.
Ahora, después de menos de una semana, he recordado otra de mis vanidades como creador de juegos en general. La de por fin aprender a usar una librería de programación e inmiscuirme en los asuntos de los programadores reales. Es sólo un hobby claro, ya que no tengo intención de serlo de profesión. Para ello habría mejor iniciado (y no haberlo dejado en reiteradas ocasiones) mucho antes.
Hoy, después de un día completo perdido en un estúpido error (que por cierto, se arregló por arte de magia, para colmo), he logrado por fin implementar una sencilla función para cargar una lista de sprites, y otra más para blitearlos en pantalla. Por el momento los posiciona en orden, y sólo hice 5 sprites de prueba, con ánimos de no usar ni un sólo gráfico como placeholder (a excepción del fondo, eso no se quedará). Por supuesto, debido a que no he escrito lectura de datos desde archivo, no me he molestado en hacer referencia alguna a dicha función, pero como mínimo he preparado todo para su sencilla implementación (gracias a cierta ayuda me he informado de la existencia de los 'vectors' (uso C++ y SDL por cierto), y es mi primer incursión con plantillas de clase por cierto. Anteriormente sólo había intentado programar en C (usando Allegro o haciendo una calculadora simplísima y un tipo de ahorcado, a modo texto claro).
Acá una captura de lo que he hecho hoy.
Por supuesto, no me sentiré satisfecho. No quiero pensar siquiera en que eso es bueno. Primero, es algo que cualquier programador de verdad habría hecho/solucionado en 30seg. Sé que no es justo comparar y demás, pero a mí eso me tiene sin cuidado, si quiero alcanzar un mayor nivel, autocompadecerme servirá sólo para estancarme. Así me manejo.
Segundo, no planeo dejar las cosas así. Tengo que escribir la carga desde archivo (nada complicado), para luego pasar al tilemap (siempre he temido a ésto, ya que nunca he tenido buenas ideas para optimizar ese tipo de cosas...). Utilizaré el Tiled Map Editor como editor de mapas, ya que es confiable (creo), sencillo, y con muchas opciones útiles, aunque intentaré utilizar un formato de mapas distinto al XML, en lo posible alguno encriptado (indagaré sobre la base-64 supongo). Además de que me ahorro muchas horas de conseguir algo peor, SABEN a lo que me refiero.

Bien, así que eso fue. Mañana debo seguir con las actividades habituales, pero apenas me "libere" de ciertos encargos que tengo ultraarchimegahiperatrasados, volveré a los rumbos de la programación. No sé, si logro hacer mi motor RPG, me sentiré un poco orgulloso de mi (en realidad no).

Ya, eso era, pueden ir a dormir,
Orochii Zouveleki

No hay comentarios: