Una decisión acertada por accidente
Programar un juego es una aventura en sí misma. Por ello puedo decir con toda la autoridad de mis años programando juegos que es un juego difícil de jugar. Hay sistemas que combinan múltiples interfases, pero los juegos las tienen todas: graficos, bases de datos, scripting, inteligencia artificial, redes, interpretadores, interfases de usuarios muy complicadas, y muchas otras cosas.
Por todo ello, los bugs son especialmente espeluznantes. Desconcertantes. A veces puedo tardar horas en resolverlos. Los he tenido de toda una tarde.
Pero… últimamente he estado muy acertado resolviendo bugs en khpx. Ayer apareció un bug al crear un reqNrew (requerimientos y recompensas) desde una misión, que hacía que el sistema olvidara la operación original en la misión (la operación puede ser agregar o actualizar). Resolverlo fue fácil porque simplemente tuve que agregar una variable para guardar este estatus. Bien interesante. El viernes otro bug pero esta vez en khpx, el sistema mostraba caracteres desordenados al presentar el inventario, claro como cada línea en una columna es un objeto era obvio que dos objetos estaba quedando en la misma posición. ¿Por qué? Un nombre puede ocupar más líneas que una descripción. Ups.
Lo que me lleva a responder cuándo voy a terminar khpx: cuando lo termine. Acabo de tener la brillante idea de que cuando un equipo armado de penetración profunda en terreno enemigo entra en combate, la consola de la nave se transforma en una consola de combate. Estaba pensando en una fedeout/fadein (transición entre cónsolas) tipo persiana, una baja y la otra sube, y mientras escribía esto me dí cuenta que eso sería igual al sistema de worl of warcraff. No. Noo. Nooooo.
Pero en otro orden de ideas, Niko (irrlicht) acaba de twitear que el interés en la versión Mac y Linux de su próximo juego es menos del 1%. Afortunadamente ya yo había pensando en hacer khpx solamente para Windows. Ups, khpx está programado en DirectX que es Windows only. Ups, fue una decisión acertada por accidente.