Dene escribió:Hasta ahora, cuando alguien quería hacer algo, tenía que aprender a hacerlo. Un proceso personal de aprendizaje, de ensayo y error, buscando información, ayuda de otros, etc... Un camino largo, y que como resultado, te llenaba de conocimientos. Aquí en el foro tenemos algún ejemplo muy respetable. Hola
@DiskoverYo le doy más valor a eso, pero entiendo que los tiempos cambian y no todo el mundo tiene que verlo igual que yo.
Lo del uso de la IA en el software homebrew, se ha disparado a pasos agigantados.
Existe actualmente un debate en la red sobre este hecho, y mientras tanto, todos los días nos sorprende alguien con algun proyecto ayudado por IA que le saca hasta las bragas a la consola o microordenador más insulso.
Por si teneis curiosidad, personalmente estoy muy desconectado del mundo IA, pero este verano use por primera vez una en un proyecto de NES que tenía en mente. Fue más una ayuda para crear una función en lenguaje ensamblador que yo quizá jamas hubiese conseguido hacer, o hubiese tardado quiza años en dar con ello debido a la absoluta falta de tiempo que tengo. Os recuerdo que programar en mi caso es un hobby y no un trabajo; yo gano dinero de otras formas.
Este proyecto en cuestion, lo estaba desarrollando para NES, utilizando el mapper UNROM, que siempre me ha parecido muy interesante pese a sus carencias. Este mapper te permite cargar los CHR a tu antojo total en la VRAM de la PPU; un solo tile o quinientos doce a la vez mientras la pantalla esté apagada (lo de siempre), colocarlos en el orden que te de la gana, etc.... pero observé que muchos videojuegos UNROM que se hicieron en la época, podían incluso cambiar al vuelo varios tiles mientras la pantalla estuviese encendida, y me parecía increible.
Esos tiles que se cambian al vuelo, normalmente se usan para las animaciones del player principal, y nos permite ahorrar espacio en la VRAM para el resto del CHR, a parte de la facilidad que es animar solo llamando a un banco nuevo de tiles. Lo habreís visto en muchos juegos con mapper MMC3 porque ya esta diseñado para ese fin, pero conseguir algo así en UNROM para mi es toda una ventaja y una genialidad.
Conseguir algo así solo lo podía hacer en lenguaje ensamblador, pues las instrucciones deben ser de pocos ciclos dado que la pantalla no está apagada y el videojuego sigue en movimiento, y a mi eso ya son límites que se me escapan, así que fue cuando se me ocurrió lo de utilizar una IA a ver como funcionaba este invento y si me podría ayudar... Y FUE TODO UN EXITO SORPRENDENTE.
En este caso en concreto, utilicé lo que tenía más a mano: Geminis, de Google. Fijaros si soy un cutre, pero bueno... estaba sentado sin mucha idea, y total, aun con pruebas. Le expliqué lo que quería, pero al principio, como no estaba habituado, no conseguía sacar nada. Tuve que explicarle que estaba programando para la NES, que necesitaba una función escrita en su lenguaje ensamblador que me parmitiese hacer eso en concreto, etc...
Tras muchos intentos, al cabo de quince minutos ya tenía algo que me parmitía cambiar al menos cuatro tiles al vuelo. Media hora despues ya tenía algo que me permitía cambiar a mi antojo el numero de tiles que me diese la gana, pero debido a las librerías que uso en C (neslib y nesdoug) para el compilador CC65, había alguna incompatibilidad por falta de ciclos y para que sea estable solo puedo cambiar al vuelo hasta
nueve tiles al vuelo, suficiente para hacer movimientos del player e incluso animar algun trozo del background en pantallas estaticas.
Me sentí muy satisfecho con esta experiencia.
CONCLUSIONES:
La IA es una herramienta exageradamente poderosa, tanto que no me extraña nada que mucha gente se vuelva perezosa y acabe dejandolo todo al hacer de esta.
Pero claro, tambien es un peligro por lo que muchos ya han comentado antes: la gente deja de aprender por si misma y acaba siendo todo supeditado a la IA.