Luego de años dejé de discutir con los locos o tontos de cierto foro de "Filosofía" y empecé a dedicarme más a hacer mis cosas. Pensé que Reddit sería útil pero me insultaron bastante y me banearon sin explicarme por qué. Quora en cambio ha resultado bastante útil. Pensé que hallaría algún foro de videojuegos pero por A o por B no pude usar los que encontré. Hay páginas que debo probar aún...
Me dedicaba digamos randomicamente a mis proyectos, es decir, podía estar varios días con uno, sin avanzar en otros. El resultado era que al retomar otro no recordaba bien por qué hacía lo que hacía, digamos subproyectos. Así, empecé a hacer listas de cosas que me interesa hacer y seguirlas como si fuese una rutina. También anoto en qué me quedé, qué debo corregir o mejorar. Se pierde algo de tiempo escribiendo, pero ayuda a escribir mejor supongo, y por supuesto me ayuda a recordar más fácil lo relativo a mis proyectos. Me entretengo, cambiar de proyecto a cada rato es más divertido y menos cansador que estar "media vida" con alguno que puede ser interminable o casi.
Proyecto 1: Escribir un libro para gente como yo era.
La idea es que lo pueda entender CUALQUIERA, por ejemplo un mosquito, pero luego de muchas vueltas, teniendo en cuenta que esto:
https://www.pictocuentos.com/el-patito-feo/4
...se entiende bastante bien sin necesidad de que enseñen desde 0, y considerando que no sabía qué enseñar 1ero, decidí simplemente hacer una autobiografía. En la 1er versión escribo un año o varios, mi edad en él o ellos, una palabra que lo/s resuma o represente lo más relevante de él y una imagen que también. En próximas versiones pondría más hechos, relatados con más palabras, y más imágenes. Decidir la palabra más adecuada no me resulta siempre fácil, pero lo que me tranca más es encontrar las imágenes. Por ejemplo aún busco una de alguien llorando sintiéndose estúpido. Pensé en Shinji Ikari pero lo suyo es más amplio, en Gady de Rescue Rangers del episodio "The Case of the Cola Cult" pero como es mujer no pega mucho, me dijeron cierto episodio de Friends pero nada que ver... Las imágenes que generé con IA no me han gustado así que no uso eso. Básicamente voy por el año 2000, no llegué ni a la mitad de años. He aquí una parte:
...obviamente no se puede entender detalladamente qué ocurrió en esos años pero será ampliado y se agregará fondo y otras cosas a la imagen de lanzador.
2: Hacer programas que resuelvan dudas.
Esto lo intenté más o menos desde 2008 hasta 2019, y aunque muchas veces lo que intenté fue escribir sobre eso y entender cuales son los tipos de dudas, no tanto "hacer...", lo cierto es que no he logrado mucho. Eso y que mi amor platónico y los psiquiatras me trataran de loco me llevó a dejarlo. Debido en parte a que luego se puso de moda la IA decidí continuar, aunque lo mío es búsqueda mediante fuerza bruta y creo que backtracking, no hago redes neuronales ni cosas de moda. No avancé en cuanto a la complejidad de dudas a resolver, sólo a partir de programas que tenía mejoré los nombres de sus variables, las descripciones e intento que muestren grafos de las situaciones o estados a l@s que van llegado, cosa que antes me pareció que sería demasiado difícil, y lo sigue siendo para mí, pero parece que va bien, gracias a ayudas, aunque quedan cosas que hacer.
Lista incompleta de las variables de las dudas (hay palabras cortadas para que entre en 1 línea en el archivo donde las tengo):
Citar
- Mínima cantidad de Variables de la situación.
- Máxima cantidad de Variables de la situación.
- Posibles cantidades de Variables de la situación.
- Mínima complejidad de las Variables de la situación.
- Máxima complejidad de las Variables de la situación.
- Posibles cantidades de complejidades de Variables de la sit.
- Mínimo rango de valores de los Variables de la situación.
- Máximo rango de valores de los Variables de la situación.
- Mínima cantidad de Candidatos.
- Máxima cantidad de Candidatos.
- Posibles cantidades de Candidatos.
- Mínima complejidad de Candidatos.
- Máxima complejidad de Candidatos.
- Posibles cantidades de complejidades de Candidatos.
- Mínimo rango de valores de los Candidatos.
- Máximo rango de valores de los Candidatos.
- Modo en que varían los Candidatos.
- Mínima cantidad de modificaciones al aplicar al Candidato.
- Máxima cantidad de modificaciones al aplicar al Candidato.
- Posibles cantidades de modificaciones al aplicar el Candidato.
- Mínima complejidad de las modificaciones al aplicar al Cand.
- Máxima complejidad de las modificaciones al aplicar al Cand.
- Posibles cantidades de complejidades de mods al aplic al Cand.
- Mínima cantid de Aplicaciones requeridas para resolver la duda.
- Mínima cantidad de Condiciones que los Cands deben cumplir.
- Máxima cantidad de Condiciones que los Cands deben cumplir.
- Posibles cantidades de Condiciones que los Cands deben cumplir.
- Mínima complejidad de las Conds que los Cands deben cumplir.
- Máxima complejidad de las Conds que los Cands deben cumplir.
- Posibles cants de complejs d las Conds q los Cands deben cmplr.
- Máxima cantidad de Variables de la situación.
- Posibles cantidades de Variables de la situación.
- Mínima complejidad de las Variables de la situación.
- Máxima complejidad de las Variables de la situación.
- Posibles cantidades de complejidades de Variables de la sit.
- Mínimo rango de valores de los Variables de la situación.
- Máximo rango de valores de los Variables de la situación.
- Mínima cantidad de Candidatos.
- Máxima cantidad de Candidatos.
- Posibles cantidades de Candidatos.
- Mínima complejidad de Candidatos.
- Máxima complejidad de Candidatos.
- Posibles cantidades de complejidades de Candidatos.
- Mínimo rango de valores de los Candidatos.
- Máximo rango de valores de los Candidatos.
- Modo en que varían los Candidatos.
- Mínima cantidad de modificaciones al aplicar al Candidato.
- Máxima cantidad de modificaciones al aplicar al Candidato.
- Posibles cantidades de modificaciones al aplicar el Candidato.
- Mínima complejidad de las modificaciones al aplicar al Cand.
- Máxima complejidad de las modificaciones al aplicar al Cand.
- Posibles cantidades de complejidades de mods al aplic al Cand.
- Mínima cantid de Aplicaciones requeridas para resolver la duda.
- Mínima cantidad de Condiciones que los Cands deben cumplir.
- Máxima cantidad de Condiciones que los Cands deben cumplir.
- Posibles cantidades de Condiciones que los Cands deben cumplir.
- Mínima complejidad de las Conds que los Cands deben cumplir.
- Máxima complejidad de las Conds que los Cands deben cumplir.
- Posibles cants de complejs d las Conds q los Cands deben cmplr.
Muestra de un grafo generado por un programa habiendo establecido que hay 5 acciones posibles (obviamente lo relativo a las flechas debe mejorarse, pero los nodos aparecen donde quiero, bien, cualquiera sea el nro de acciones posibles):
"Vencer al enemigo mediante acciones, el enemigo tiene 11 HP. Se recomienda la serie... 1 5 5" (significa que el método más rápido hallado es usar el ataque 1 que quita 1HP, y luego el 5 dos veces).
El código debería poder mejorarse especialmente en el aspecto de las referencias (ver SAquedebeActualizarse), pero intentaré que los nodos hijos, en vez de mostrarse cada vez que surge uno de un mismo padre, se muestren recién cuando hayan surgido todos, con lo cual por ahora no será necesario hacer referencias, creo.
Código
actions for fotograma 1 function InsertarNodo () { Imagenes = Imagenes+1; Nodos = Nodos+1; Grafo.attachMovie("mNodo", "Nodo"+Nodos, Imagenes); // Especificar la situación que representa: set ("Grafo.Nodo"+Nodos+".EnHP", EnHP); // Insertar flecha: Imagenes = Imagenes+1; Grafo.attachMovie("mFlecha", "Flecha"+Nodos, Imagenes); // Especificar el sitio donde se insertan: PosicionY = PadrePosicionY+33; setProperty ("Grafo.Nodo"+Nodos, _y, PosicionY); setProperty ("Grafo.Flecha"+Nodos, _x, PadrePosicionX); setProperty ("Grafo.Flecha"+Nodos, _y, PadrePosicionY+6.5); Hijos = Hijos+1; if (Hijos == 1) { PosicionX = PadrePosicionX; setProperty ("Grafo.Nodo"+Nodos, _x, PosicionX); } else { Hijo = 0; MinPosicionX = PadrePosicionX-16.5*(Hijos-1); SAquedebeActualizarse = SAs-Hijos; do { Hijo = Hijo+1; PosicionX = (Hijo-1)*33+MinPosicionX; setProperty ("Grafo.Nodo"+(Nodos-Hijos+Hijo), _x, PosicionX); // Actualizar datos de las posiciones guardadas: SAquedebeActualizarse = SAquedebeActualizarse+1; set ("SA"+SAquedebeActualizarse+"PosicionX", PosicionX); // Rotación y tamaño de flecha. DistanciaXPadreHijo = Math.abs(PosicionX); setProperty ("Grafo.Flecha"+(Nodos-Hijos+Hijo), _height, Math.sqrt(Math.pow(DistanciaXPadreHijo, 2)+20*20)); Rotacion = 180/Math.PI*Math.atan(DistanciaXPadreHijo/20*-1); if (PosicionX<0) { Rotacion = Rotacion*-1; } setProperty ("Grafo.Flecha"+(Nodos-Hijos+Hijo), _rotation, Rotacion); } while (Hijo<Hijos); } } Respuesta = "Vencer al enemigo mediante acciones, el enemigo tiene 11 HP. Se recomienda la serie... "; // Situación inicial: // HP inicial del enemigo: EnBaseHP = 33; trace ("EnBaseHP: "+EnBaseHP); // Guardar situación y cómo se produjo: // Parte inicial del nombre de los datos (en este caso S11): SitID = "S"+EnBaseHP; trace ("SitID: "+SitID); // Acción realizada en la situación anterior (en este caso ninguna): set (SitID+"ActionAnterior", "Ninguna"); trace (SitID+"ActionAnterior: "+eval(SitID+"ActionAnterior")); // En este caso la variable es S11Action y su valor es "Ninguna". // Posición X e Y del nodo que representa la situación desde la cual se originó la que será representada por otro nodo... // ...pero en este caso es la posición del 1er nodo. PadrePosicionX = 0; trace ("PadrePosicionX: "+PadrePosicionX); PadrePosicionY = 0; trace ("PadrePosicionY: "+PadrePosicionY); // Cantidad de imágenes insertadas: Imagenes = 1; trace ("Imágenes: "+Imagenes); // Cantidad de nodos del grafo a mostrar: Nodos = 1; trace ("Nodos: "+Nodos); // Insertar nodo inicial: Grafo.attachMovie("mNodo", "Nodo1", 1); // Especificar la situación que representa: Grafo.Nodo1.EnHP = EnBaseHP; // Hijos del nodo de la situación que se está analizando: Hijos = 0; trace ("Hijos: "+Hijos); // Acción que será usada 1ero: Action = 1; trace ("Action: "+Action); // Variables sobre situaciones anotadas: // Total de situaciones anotadas: SAs = 0; trace ("Situaciones anotadas: "+SAs); // Situación anotada que será investigada 1ero: SiguienteSAaInvestigar = 0; trace ("ID de la situación anotada a investigar cuando se comience a investigar las anotadas: "+SiguienteSAaInvestigar); actions for fotograma 2 trace ("Reset de la situación, aplicación de la acción, la situación ahora es:"); EnHP = EnBaseHP-Action; trace ("EnHP: "+EnHP); // ¿Se logró el objetivo? if (EnHP<=0) { // Sí, iniciar muestra de serie de acciones que la causan: Serie = Action; trace ("Solución hallada, iniciando proceso para mostrar respuesta."); InsertarNodo(); gotoAndPlay (5); } else { trace ("No se logró el objetivo."); // ¿La situación producida está anotada? if (eval("S"+EnHP+"ActionAnterior") == undefined) { // No, anotarla y cómo se logró: trace ("La situación producida no está anotada."); SitID = "S"+EnHP; set (SitID+"EnHPAnterior", EnBaseHP); set (SitID+"ActionAnterior", Action); trace ("Ahora está anotada: "+SitID); trace ("Su antecedente fue ("+SitID+"EnHPAnterior): "+EnBaseHP); trace ("y la acción fue ("+SitID+"ActionAnterior): "+Action); // También se agrega como situación a investigar y se anota en qué consiste: SAs = SAs+1; SitID = "SA"+SAs; set (SitID+"EnHP", EnHP); trace ("Situaciones anotadas: "+SAs); trace ("La última consiste en (EnHP): "+eval(SitID+"EnHP")); // Se inserta el nodo que la representa y se guarda su posición: InsertarNodo(); set (SitID+"PosicionX", PosicionX); trace (SitID+"PosicionX: "+PosicionX); set (SitID+"PosicionY", PosicionY); } else { trace ("La situación producida ya está anotada."); } } actions for fotograma 3 // La situación está anotada. ¿Modificar acción es posible? if (Action<25) { // Sí, modificarla: trace ("Es posible modificar acción."); Action = Action+1; trace ("Action fue modificada, es: "+Action); gotoAndPlay (2); } else { trace ("No es posible modificar la acción."); if (SiguienteSAaInvestigar<SAs) { // Aún hay situaciones anotadas sin investigar, investigar una (probablemente lo ideal sería investigar la más diferente a las investigadas, pero me es difícil programar eso): trace ("Aún hay situaciones anotadas sin investigar."); SiguienteSAaInvestigar = SiguienteSAaInvestigar+1; EnBaseHP = eval("SA"+SiguienteSAaInvestigar+"EnHP"); trace ("Se investigará la situación anotada nro: "+SiguienteSAaInvestigar); trace ("Consiste en EnBaseHP: "+EnBaseHP); // Guardar su posición para saber dónde poner a sus posibles hijos: PadrePosicionX = eval("SA"+SiguienteSAaInvestigar+"PosicionX"); trace ("Nuevo PadrePosicionX: "+PadrePosicionX); PadrePosicionY = eval("SA"+SiguienteSAaInvestigar+"PosicionY"); Hijos = 0; // Reset de la acción a usar: Action = 1; trace ("Reset de la acción a usar, es: "+Action); gotoAndPlay (2); } else { trace ("No hay situaciones anotadas sin investigar ni es posible lograr el objetivo."); Respuesta = "No es posible lograr el objetivo."; stop (); } } actions for fotograma 5 // Obtener acción anterior: ActionAnterior = eval("S"+EnBaseHP+"ActionAnterior"); trace ("La acción anterior fue: "+ActionAnterior); // ¿Hubo? if (ActionAnterior != "Ninguna") { // Sí, agregarla en la lista: Serie = ActionAnterior+" "+Serie; trace ("Acción agregada en la serie."); // Averiguar cual fue la situación anterior: EnBaseHP = eval("S"+EnBaseHP+"EnHPAnterior"); trace ("Se realizó en la situación: S"+EnBaseHP); // Repetir este frame. gotoAndPlay (4); } else { // No hubo una acción anterior, mostrar la serie: Respuesta = Respuesta+Serie; stop (); }
3: Graficar y mejorar programas que resuelvan dudas.
Ah, sí, son proyectos separados, pero arriba me confundí y los mezclé xP
4: Aprender Química.
Fui a un curso pero lo dejé porque era más hacer cálculos que hacer cosas, útiles, además casi nada entendía. Similarmente me ocurrió con un curso que empecé a ver en Youtube. Un curso que leía también lo dejé porque me pareció que definían las cosas como el traste. Otro resultó ser lo que debí suponer, lo que decía el título, un megaresúmen que no enseña mucho. Lo que hice más bien fueron preguntas por ahí, y algo aprendí. Uno de mis objetivos es hacer una lista de las posibles moléculas. Según una noticia, que no sé si es cierta, una niña jugando con un juego de Química representó una molécula desconocida, y hubo un tío que inventó un material ultraresistente al fuego pero no quiso decir cómo se hace, así que creo que aún es un secreto. A mí me interesan los RPGs, entender en qué se basarían los HPs y demás si fuesen realistas, así que la Química y Física me interesan también por eso. Por ahora mi "lista" es esta:
Las moléculas son las que tiene 2 colores de fondo. Lo demás es para usarlo "de base" en posteriores filas.
Átomos de gases nobles no incluyo porque me dijeron que es casi imposible que formen enlaces con algo.
En una versión anterior cuando había 3 posibles enlaces yo ponía 2 para el costado y uno hacia arriba por ejemplo, pero según vi eso no es así y tuve que corregirlo :/
Obviamente sería cool que esto lo haga un programa, pero no creo ser capaz de hacer uno así, al menos aún.
5: Aprender cuales son los posibles juegos de Flash 5 para 1 humano.
No es que me quiera limitar a eso, pero no le veo sentido a pensar en un juego que no pueda programarse ahí que es donde más sé, así que me limito a eso. En esto estoy muy liado y es una de las cosas en que más me cuesta avanzar, estoy haciendo una lista de posibles modificaciones a juegos, es mejor que esta:
...pero esa está más compacta, la otra tiene descripciones de lo que hace cada cosa; lo que debo hacer es pensar qué cosas que puse en el colaborador, y otras que no puse, se podrían poner en el desafiante (humano) y hacer que estén mejor ordenadas @_@
Tengo más, luego sigo.