Con el uso de la IA, quizá sea útil abrir un hilo sobre consejos prácticos para aprovecharla al máximo y ayudarte a llevar tu idea al siguiente nivel.
Si tienes un error visual, toma una captura de pantalla. En Paint o en cualquier otro programa de dibujo, traza un recuadro del color que prefieras alrededor del problema.
Luego, arrastra y suelta la imagen en la ventana del chat de la IA o, si estás usando la línea de comandos, guárdala en una ubicación que pueda leer (el mismo lugar donde están tus archivos) e indícale el nombre del archivo de la imagen.
En el prompt, por ejemplo si usé un rectángulo rojo: «Hay un error, adjunto una captura de pantalla y he marcado el problema con un recuadro rojo. Investígalo».
Si la IA puede iniciar, ejecutar y depurar un emulador, esto puede funcionar muy bien porque puede iterar sobre el problema. Si no puede, puede que opte por hacerlo de otras formas, pero a menudo encontrará el fallo y lo solucionará. Puede que intente deducirlo y aplicar una solución. Tendrás que ejecutar el juego y comprobarlo.
Sin embargo, ten en cuenta que al arreglar eso existe la posibilidad de que rompa otra cosa, así que tendrás que revisarlo.
Si tienes mucho parpadeo, dile a la IA que use «hardware double buffer» (búfer doble por hardware), pero también indícale que tenga cuidado para asegurarse de que «no queden estelas ni fallos gráficos en los sprites».
El búfer doble funciona dibujando en una pantalla que no vemos mientras miramos otra y luego alternándolas una vez terminado el dibujo; al presentarse la pantalla de golpe se elimina el parpadeo, aunque costará memoria para esa pantalla adicional. Cuando se usa desplazamiento por hardware (hardware scrolling), es de esperar que consuma unos 16 KB adicionales en comparación con el búfer simple.
Si notas ralentizaciones, indícale a la IA que no quieres que el juego pierda fluidez y que mantenga una tasa de fotogramas específica (por ejemplo: «el juego se ralentiza cuando hay muchos sprites en pantalla. ¿Qué puedo hacer?» o «el juego se ralentiza cuando hay muchos sprites en pantalla. Mantén 25 fps. Dame opciones»).
Puede que te ofrezca sugerencias sobre cómo lograrlo: mostrar menos elementos en pantalla, métodos de dibujado diferentes para optimizar, etc. Tendrás que decidir qué prefieres.
Intenta recopilar toda la documentación que puedas sobre diversas técnicas y pídele a la IA que la use como fuente de verdad. En realidad, los LLM son bastante tontos, pero con la documentación adecuada pueden brillar de verdad.
Esto es fantástico. Los artefactos ya no son interesantes (es decir, los que obtienes simplemente pidiéndole a un modelo que lo haga); en su lugar, ¡cuéntanos cómo usas los modelos y deja la creación de los binarios como un ejercicio para el lector!
Pídele a la IA que se ciña a la tarea que le has pedido.
Divide tu proyecto en tareas pequeñas y, a continuación, divide esas tareas en tareas todavía más pequeñas.
Pídele a la IA que trabaje únicamente en esas tareas más pequeñas y que no se desvíe de lo que le has pedido.
Pídele que se mantenga enfocada en el objetivo y que no investigue cosas que no has pedido.
De lo contrario, tus prompts pueden tardar mucho tiempo en recibir respuesta y consumirás tokens mucho más rápido.
La IA normalmente ofrecerá diferentes opciones sobre en qué trabajar a continuación. Analiza las opciones con cuidado y elige la que consideres más adecuada. La IA te dará consejos o recomendaciones, y eso está bien. Lo importante es que se apegue a la elección que hagas y no pierda tiempo y tokens «metiéndose en una madriguera de conejo».
crea un archivo MEMORY.md en el espacio de trabajo que contenga todas tus reglas para el proyecto
llénalo con cosas como «Quiere que se use el estándar ASD-STE100 Simplified Technical English al escribir documentación, comentarios o respuestas», estilos y preferencias de programación (p. ej., comentar siempre el código) y reglas estrictas como indicarle que use una carpeta específica para borradores, o que nunca elimine ningún archivo a menos que se le pida específicamente..
Ace-dl ha funcionado, pero desafortunadamente en mi caso no ha servido para el problema que tengo.
Claude no puede ver el problema ni siquiera con el emulador, intenta adivinar qué pasa y crea parche tras parche, pero ninguno funciona. Ve el fallo en los vídeos que le mando, pero eso es todo; no puede simular el problema aunque use ace-dl.
Mi problema es que el juego dibuja mal de vez en cuando una línea en los bordes superiores. No estoy seguro de por qué.
He investigado hasta el límite semanal intentando arreglarlo.
Oh… No debiste haber dicho eso. Siempre es más divertido cuando lo descubren por sí mismos
Mi granito de arena desde que empecé a generar código en el trabajo:
Totalmente de acuerdo con lo de las tareas pequeñas e identificadas. Si sabes programar y puedes revisar (el código o el resultado) lo que está haciendo la IA, es mucho mejor. A menudo tengo que recordarle que se apegue a las especificaciones…
Además, tu IDE te mostrará el antes de la modificación de la IA y el después con los cambios para revisarlos. Cuanto más pequeño, mejor.
En cuanto a la optimización de código ensamblador, creo que deberían entrenarla un poco más… Para mover bits de un lado a otro, como: «la mejor manera de traducir un color PEN (0…15) al subpíxel 0 de un octeto de pantalla». Mi IA ni siquiera usó el Carry Flag para reducir la cantidad de rotaciones y desplazamientos necesarios. Así que terminé haciéndolo yo mismo… Una pena, ¿no?
Si seleccionas una subparte para optimizar, indícale a qué registros tiene acceso o si puede hacer push/pop si eso mejora el rendimiento.
Si usas Claude CLI o tal vez desde el chat, usa «compact» con regularidad. Cuesta tokens, pero puede alargar la sesión durante más tiempo.
Además, no dudes en mantener la mente de la IA «fresca». Pídele que «te escriba un documento de traspaso para dárselo a otra instancia», luego abre una nueva ventana de chat o de CLI, y allí dile «continúa a partir del documento de traspaso». Empezará con la memoria más despejada y puede resolver el problema mejor que cuando se acerca al final de un contexto.
¡Ah, y por último! Solo porque una IA recomiende no hacer nada, tú tienes el control; cuestiónala, ¡solo se está haciendo la vaga!
Creo que también puede pasar en el borde izquierdo.
Ocurre con bastante frecuencia al cambiar de dirección: hacer scroll hacia abajo y en el siguiente frame hacer scroll hacia arriba, o scroll hacia la derecha y en el siguiente frame hacia la izquierda, etc. Quizá más aún cuando el desplazamiento pasa a la siguiente línea/columna de caracteres. La IA tiene que redibujar en el lugar correcto ¡y se está equivocando! Un bug clásico.