Portada
mis comunidades
otras secciones
#7 Su rutina es básicamente la del trío clásico de payaso Blanco, payaso Augusto, y payaso Contragusto; cambiando el maquillaje por trajes y quitando el slapstick y dejando solo los diálogos.
El payaso blanco comienza el acto hablando de un tema sofisticado, y la gracia está en que el payaso Augusto no lo entiende y lo malinterpreta. O el Augusto intenta explicárselo al payaso Contragusto y, como no lo entendió bien, la explicación es hilarante.
En las rutinas de un solo actor, viene a ser lo mismo, solo que el actor es al mismo tiempo payaso Blanco y payaso Augusto. Momentos de sofisticación, seguido de meteduras de pata al malinterpretar algo.
Las historias de Mastropiero son básicamente recitar en tercera persona las aventuras de un payaso Augusto que se hace pasar por payaso Blanco.
#24 Si la imagen de fondo que usas como obstáculos es estática (es decir, no cambia durante el 99% del tiempo) te conviene muchísimo pre-procesarla de alguna manera. Los costes de buscar rutas en un grafo simplificado te pueden caer varios órdenes de magnitud si lo haces.
Imagina que tienes un área en la imagen de 300x300 píxeles que están libres de obstáculos. Esos 300x300=90 000 píxeles tendrían que ser procesados por A* (o el que uses) cada vez que se calcula una ruta.
Ahora piensa que puedes representar esos 90 000 píxeles con un solo nodo que representa ese área libre de obstáculos. Y generaliza esto a todo el mapa del juego. En cuántos órdenes de magnitud se simplifica el problema?
El pre-procesamiento del mapa da igual el tiempo que lleve. Se va a realizan una única vez por partida (o cada vez que se modifique el mapa físicamente), que es muchísimo menos frecuente que los cientos de veces por frame que se van a calcular rutas.
Recuerda que las rutas no necesitan ofrecer un plan exhaustivo, pixel a pixel, de qué camino tomar. A menudo es suficiente que retornen un puñado de puntos de ruta por los que se puede ir en línea recta entre dos puntos consecutivos.
No sé qué tipo de roguelike estás haciendo, pero si las casas son colocadas proceduralmente a partir de prototipos (tienes 20 o 30 casas distintas diseñadas y el juego coloca algunas elegidas al azar), los grafos de rutas pueden estar ya incluídos en los propotipos de las casas, con lo que solo tienes que conectar el nodo de las entradas con los nodos del exterior.
#16 Seguramente use algo parecido a A* adaptado a tiempo real (heurísticas rápidas e imprecisas, puesto que no te interesa encontrar la mejor ruta, sino una suficientemente buena para no parecer estúpida).
Lo más importante son los trucos que se usan para que no chupe toda la CPU, especialmente cuando hay tantas unidades moviéndose. Y esos trucos no dependen del algoritmo de búsqueda en sí, sino de la rutina que mueve las unidades.
Si no me equivoco, esto funciona así más o menos:
1- Las unidades agrupadas solo calculan una ruta por tipo de movimiento (una para voladoras, una para subterraneas, una para las que van a pie, etc).
2- Tan pronto se hace clic en el destino, las unidades reciben una hoja de ruta rápida que ignora obstaculos, y empiezan a moverse hacia el destino, sin calcular la ruta final. La ruta final se calcula en otro hilo y, cuando está lista, se sustituye en las unidades que ya están en movimiento.
3- Se mantiene un grafo simplificado que representa el mapa para calcular las rutas sobre él. En lugar de usar un mapa gigantesco con cientos de miles de "casillas" que A* debería procesar, todas las casillas sin obstáculos que formen un polígono convexo se agrupan en un solo nodo. Las unidades pueden moverse entre casillas de un mismo nodo en linea recta, puesto que no hay obstáculos entre sí.
4- Las rutas no son superdetalladas, casilla por casilla. En lugar de eso tienen puntos de ruta, que o son simplemente referencias a los nodos, o contienen además alguna coordenada dentro de un nodo. Esto simplifica las rutas muchísimo.
5- La mayoría del tiempo, las unidades están caminando dentro de un nodo. Solo deben consultar si la ruta sigue siendo válida cuando pasan de un nodo al siguiente. Y de nuevo, unidades cercanas (en el mismo nodo) del mismo tipo con la misma ruta sólo tienen que hacer esta comprobación una vez para todas ellas, en lugar de una vez cada una.
6- Si los jugadores (IA o humanos) realizan modificaciones al mapa en tiempo real (colocan un edificio, un muro, rompen un puente, etc), el grafo simplificado es actualizado de inmediato. Si el obstáculo se colocó en un nodo, partiéndolo en varios nodos menores, todas las rutas que pasan por ese nodo son invalidadas. Las unidades requerirán un recálculo de la ruta cuando terminen de caminar por el nodo por el que están.
#18 Justo ese es el tipo de contenido y las ideas que planteas son bastante interesantes.
Yo me he pegado con el tema por un lado programando un tipo Nethack y por otro con uno en tiempo real con una imagen utilizada como mapa de fondo, con zonas atravesables y zonas que no; en este último tuve que ir haciendo apaños, ya que como dices en (4) lo de ir casilla por casilla es imposible cuando una casilla es un pixel, pegaba unos trompicones terribles cada vez que tenía que recalcular una ruta. Lo arreglé asignando costes al recorrido y poniendo "raíles", caminos de coste bajo que unían todas las "zonas lógicas" (habitaciones de una casa con su pasillo, etc) por los que acababan discurriendo siempre. También pensé definir nodos o polígonos, pero se me complicaba y lo de los raíles funcionaba
En el tipo Nethack no hay problema al ser pocas casillas, pero sí tienes el dinamismo de muchas cosas moviéndose a la vez. Ahí el mayor problema fue lo de que enmedio del camino es muy probable que haya otros NPCs pero debería ir hacia allá igualmente, lo que planteas en (2). Como lo solucioné de momento fue poniendo un coste más alto a las casillas con NPCs, de modo que por un lado le compense encontrar un atajo, pero por otro que si no lo hay insista (ya que normalmente van a ser enemigos que van a querer ir todos contra ti)
Y luego hacer una caché con la lista de nodos final, para que la use siempre que la siguiente casilla esté liberada en lugar de ir calculando a cada paso.
#24 Si la imagen de fondo que usas como obstáculos es estática (es decir, no cambia durante el 99% del tiempo) te conviene muchísimo pre-procesarla de alguna manera. Los costes de buscar rutas en un grafo simplificado te pueden caer varios órdenes de magnitud si lo haces.
Imagina que tienes un área en la imagen de 300x300 píxeles que están libres de obstáculos. Esos 300x300=90 000 píxeles tendrían que ser procesados por A* (o el que uses) cada vez que se calcula una ruta.
Ahora piensa que puedes representar esos 90 000 píxeles con un solo nodo que representa ese área libre de obstáculos. Y generaliza esto a todo el mapa del juego. En cuántos órdenes de magnitud se simplifica el problema?
El pre-procesamiento del mapa da igual el tiempo que lleve. Se va a realizan una única vez por partida (o cada vez que se modifique el mapa físicamente), que es muchísimo menos frecuente que los cientos de veces por frame que se van a calcular rutas.
Recuerda que las rutas no necesitan ofrecer un plan exhaustivo, pixel a pixel, de qué camino tomar. A menudo es suficiente que retornen un puñado de puntos de ruta por los que se puede ir en línea recta entre dos puntos consecutivos.
No sé qué tipo de roguelike estás haciendo, pero si las casas son colocadas proceduralmente a partir de prototipos (tienes 20 o 30 casas distintas diseñadas y el juego coloca algunas elegidas al azar), los grafos de rutas pueden estar ya incluídos en los propotipos de las casas, con lo que solo tienes que conectar el nodo de las entradas con los nodos del exterior.
#12 Tienen los animales concepto del libre albedrío?
Cual es el concepto de felicidad de un animal?
Piensa una cosa: desde que un animal salvaje nace hasta que muere, hay tres cosas que ocuparán la mayor parte de su tiempo: miedo, hambre y enfermedad.
Miedo a ser atacado por otros animales, miedo a perder sus crías, miedo a quedarse sin territorio, etc. Todo esto aliñado por el hambre y la enfermedad.
Ahora si ese animal tuviera la inteligencia y oportunidad para poder escoger si en lugar de todo eso quisiera vivir en un lugar completamente seguro, con alimento garantizado, y recibiendo cuidados que lo mantuvieran sano, no crees que el animal lo escogería sin duda alguna?
No es eso precisamente lo que hemos hecho la los humanos? Hemos dejado de lado la libertad absoluta a cambio de vivir en sociedad, que no es ni más ni menos que un lugar seguro donde aplacamos el miedo de morir asesinados, de hambre, o de enfermedad.
Solo cuando tenemos esas necesidades satisfechas es cuando nos acostumbramos a ello, lo damos por sentado, y empezamos a preocuparnos por el libre albedrío.
Los comentarios de la noticia son espeluznantes:
- El peligro de la lluvia radiactiva ha sido exagerado. En lugar de wolframio deberían user uranio empobrecido. Como los principales objetivos serán ciudades, la única pérdida de vidas serán de modernillos y gente sofisticada.
- Deberían añadir perdigones a las barras. Gran arma antipersonal, especialmente cuando el objectivo son chinos.
#59 miles de años tampoco. Hiroshima y Nagasaki son dos grandes ciudades a día de hoy.
#66 el Woframio es mas denso y duro que el uranio. Entiendo que aquí se busca esas dos características. Además el Uranio es pirofórico lo que significa que se inflama espontáneamente a partir de cierta temperatura. Es muy posible que esa temperatura se alcance solo con el rozamiento del aire así que el proyectil se quemaría antes de llegar al suelo.
Se que no es tu comentario pero me ha parecido interesante este tema.
#70. Las ojivas de uranio empobrecido llevan camisa metálica de acero aleado, titanio o aluminio aeronáutico. El efecto pirofórico se busca justo después del impacto.
Lo que interesa es el material más denso y asequible; vanadio, wolframio o iridio serán más densos y con mayor punto de fusión, por tanto proyectiles más duros, pero son elementos mucho más valiosos. Mientras que el uranio es casi un producto de desecho.
#72 Corrección: Un oscuro pasado, al cual estamos volviendo.
Al siguiente Franco lo votarán en las urnas y establecera el golpe de vara por sistema con el aplauso general.
Lo que llaman "la mayoría exasperada" está hasta el moño de que haya más y más mandriles en todos los ámbitos, y de los que proponen soluciones ingenuas que no llevan a nada.
O despertamos de esta ingenuidad pero ya, o caeremos de nuevo en la pesadilla del autoritarismo.
#112 Desgraciadamente, es cierto esto que cuentas. Esa "mayoria exasperada" son los verdaderos "mandriles". Son los mismos que votaron a Trump, a Bolsonaro o los que quieren que vuelva otro Franco.
Es necesario hacer más pedagogia hacia esas personas (por muy "mandriles" que sean nunca dejan de ser personas) y hacerles ver que nuestras soluciones no son tan ingenuas como los titiriteros que manejan el mundo nos pretenden hacer creer.
Estos coloreados parecen de "Herramienta de Relleno" y a correr. No hay ningún tipo de iluminación ni sombreado. La vestimenta del "Súper" es un tono de azul. Los pantalones de Filemón son un tono de rojo. Así todo.
Son coloreados de salir del paso.
#130 Algo que todo cristo hace simplementen poniendo "-ar" o "-ear" al final de la palabra a poco que tengan contacto informal con juegos en inglés: campear (aprovecharse de un escondite para matar a otros), combar (hacer combos), etc.
La diferencia es que en español se conjugan (campeo, campeas) para que no suene raro. Y los angloparlantes no tenen una institución como la Real Academia diciéndoles lo que está permitido y lo que no.
#55 Lo que yo recuerdo es que desde el intérprete de basic podías cargar sólo programas en basic autoejecutables. Con lo que todos los juegos comerciales empezaban con un pequeño programa basic de unas decenas de líneas que lo único que hacía era, por este orden, cargar la pantalla de carga y luego cargar el juego en sí que venía en un bloque de código máquina. Y tras cargarlo en RAM, lo ejecutaban.
Lo que tú verías con el List es este pequeño programa cargador inicial.
Las revistas de la época publicaban trampas en forma de POKEs que se ponían en este cargador: después de haber cargado el código máquina, pero antes de ejecutarlo, alteraban algunas direcciones de memoria para estas trampas con la instrucción POKE.
#17 #60 #66 Había juegos que sí que estaban programados en Basic. Algunos del pack que venía con el ordenador, programados por Amsoft eran en Basic (con alguna rutina en código máquina) y se podían detener pulsando dos veces la tecla ESC (en algunos no siempre, sólo en determinados momentos), por ejemplo: Amsdraw II (bueno, esto era más bien un programa de dibujo), Almirante Graf Spee (bélico), Fruit Machine (máquina tragaperras), Plaga Galáctica (tipo Galaxians) y Sultan's Maze (este era 100% en Basic... y en 3D).
Con el tiempo, intercambiando juegos con amiguetes me dejaron uno que estaba bastante bien, tipo rompecabezas que se llamaba Averno. Todo era Basic salvo el dibujado de 'sprites' que era CM. Los mapeos de los niveles estaban en líneas DATA que podías cambiar y hacerlos a tu bola.
Los programas tipo 'copión', que permitían copiar juegos de los que cargaban por bloques de una cinta a otra, simplemente, leyendo algunos bloques hasta llenar el 'buffer' de memoria y volcando estos luego a la cinta de destino (había que hacer varias tandas para copiar la mayoría de juegos de este tipo) eran en Basic. Llegué a modificar alguno y descubrí que el único bloque que tenía que ser estrictamente de 2 KB era el primero, el segundo y los sucesivos se podían grabar en un bloque tan largo como pudiera caber en la memoria (algo así como la carga turbo). El problema de hacer esto era que si ocurría un Read error A o B tenías que rebobinar y volver a cargar el bloque 2 enterito.
#65 #55 #51 En los Amstrad CPC lo normal era que el cargador del software comercial viniese en Locomotive Basic y, para ocultar el código (o partes) de dicho cargador se usasen instrucciones POKE para asignar valores en direcciones de memoria, así como instrucciones PEEK para recuperar valores de memoria. No era complicado hacer que sólo se pudiesen listar las n primeras líneas del programa. Y de esa manera había valientes que lograban "descifrar" el cargador en Basic, cargar el programa en memoria y, antes de ejecutarlo con el CALL a la dirección de memoria determinada, alterar valores en memoria del juego para tener vidas infinitas, más puntuación de inicio, empezar en niveles distintos, incluso cambiar cadenas de texto dentro de los juegos. Sólo hacían falta conocimientos de ensamblador de Z80 y el software apropiado.
#11 El pantallazo del artículo es de 2016.
En la web de ModDB tenemos videos más recientes: https://www.moddb.com/mods/xwvm
Estamos reconstruyendo los modelos 3D de todas las naves para modernizarlos. Las cabinas de los 4 cazas rebeldes también.
#38 Yo soy totalmente consciente de que me pierdo muchísimo.
Aunque tampoco creo que sea muy diferente a la gente que no le interesa la danza, la arquitectura, la pintura, la escultura, el cine, la literatura, etc. ¿No?
Me refiero, hay probablemente millones de personas que jamás cogerían un libro para leerlo por gusto porque les aburre, les cansa, etc. Todos conocemos casos. Y claro que se están perdiendo muchísimo. Pero ¿qué le vas a hacer?
#38 Yo soy totalmente consciente de que me pierdo muchísimo.
Aunque tampoco creo que sea muy diferente a la gente que no le interesa la danza, la arquitectura, la pintura, la escultura, el cine, la literatura, etc. ¿No?
Me refiero, hay probablemente millones de personas que jamás cogerían un libro para leerlo por gusto porque les aburre, les cansa, etc. Todos conocemos casos. Y claro que se están perdiendo muchísimo. Pero ¿qué le vas a hacer?
Estas cosas causan un enorme perjuicio a la imagen que la gente tiene de "la izquierda" o "los progresistas".
Estoy empezando a pensar que es un autosabotaje, un quintacolumnismo disfrazado de posmodernismo, para dejar claro a la clase trabajadora que "la izquierda" no está ahí para defender sus intereses o solucionar los problemas. Que están para hablar de su libro, y hacer de sus neuras ley.
#5 Mi vecina tiene uno.
Tiene un mando a distancia especial donde tienes que pulsar quién está viendo la tele en cada momento. Cada miembro de la familia tiene un número asignado en el mando y lo tienen que pulsar cuando se sientan a mirar la tele.
En realidad ninguno lo hacía. Pulsaban siempre el 2 que creo que era la madre.
#11 En mi trabajo lo usan mucho, incluso durante las reuniones, no es infrecuente ver a algún joven directivo hablar mientras mantiene una bolsita de esas bajo el labio superior. Es muy adictivo.
Tiene consecuencias perjudiciales a la larga, al menos estéticas. El labio superior pierde sensibilidad y, años después de dejarlo, aún puedes ver como les cuelga casi inerte en plan Aznar, lo cual les hace rápidamente reconocibles al hablar o al sonreir. ("Ese usa/ha husado snus")
#103 No tenía ni idea del tema, en otros paises europeos si he visto bidets de esos actualmente.
Al final no va a haber nada como los váteres estos japoneses, a ver cuando los traemos para estos lares a un precio para todos los públicos.
Como tantas adaptaciones, hay nombres de lugares, personajes y cosas en común con la obra en que se basan, pero no más.
Eso ha pasado siempre, desde que recuerdo estar esperando una peli basada en algún libro e ir a verla.
La Historia Interminable, Parque Jurásico y en especial la segunda parte El Mundo Perdido, El Hobbit, Starship Troopers, Blade Runner, Yo Robot, El Resplandor, etc.
En cualquiera de esas, te lees el libro y lo comparas con la peli y dices "Nombres de personajes, de lugares y de cosas. El resto, no tiene nada que ver."
La noticia es encontrar una película (no serie, película), que sea más o menos fiel al libro. Alguien conoce alguna que sea fiel y funcione como película?
#32 Sabes el origen de esa foto?
Ese niño no se estaba muriendo de hambre. Estaba haciendo sus necesidades, a unos metros de un refugio de las Naciones Unidas (mira la pulsera médica que lleva). El buitre esta a mucha distancia, pero la lente escogida produce el efecto de hacerlo parecer más cerca de lo que estaba.
El fotógrafo mintió. Se llevó el Pulitzer. Y luego se suicidó.
El niño sobrevivió 14 años más antes de morir de otra cosa no relacionada.
#72 En qué te basas para decir que un ser humano es capaz de generar un numero totalmente aleatorio a partir de ninguna entrada?
No somos los seres vivos, básicamente, máquinas biológicas?
Si tomamos un ser vivo suficientemente simple, como una ameba, no crees que podríamos con un programa suficientemente complejo simular y predecir al 100% las reacciones de la ameba a su entorno? Yo creo que la respuesta es sí.
De la ameba a un hongo solo aumenta el orden de complejidad. Pero nada cambia más allá de eso. De un hongo a una planta. De una planta a un animal. De un animal a un humano.
Qué le permite a una maquina biológica humana generar un número aleatorio a partir de ninguna entrada?
Nada. El propio ser humano, con toda su historia y experiencia y memoria y conjunto de vivencias es la entrada. A menos que te vayas a conceptos no probado como "el alma" u otras cosas místicas, no somos más que máquinas biológicas.
Existe el libre albedrío? Por supuesto que no. En todo caso existe el pseudo-libre albedrío.
Te propongo un ejercicio mental. Imagina un viajero del tiempo que puediera moverse adelante y atrás en el tiempo pero no afectar nada en la línea temporal. Este viajero observa a un científico que está interrogando a un idividuo.
El ciéntífico pregunta al individuo "Elige un número al azar", el individuo responde un número.
El viajero del tiempo lo anota y vuelve atrás en el tiempo para presenciar la pregunta de nuevo.
Qué responderá el individuo esta vez? El mismo número u otro diferente?
Si hubiera libre albedrío, debería responder otro diferente. Pero lo más probable es que respondiera lo mismo.
Las reacciones electroquímicas que ocurren en el cerebro en el momento de pensar un número al azar partirían del mismo estado inicial, seguirían exactamente los mismos procesos, activando las mismas sinapsis, apartando las mismas memorias que tal vez estaban distrayendo la atención del individuo, incurriendo en los mismos tiempos, etc.
El resultado sería el mismo.
Por lo tanto, no habría libre albedrío real.
Solo pseudo-libre albedrío, que es indistinguible del real puesto que somos tan complejos que nadie es capaz (aún) de predecirnos.
El editor de videojuegos Codemasters ha admitido ser atacado por háckers. En una carta abierta a los clientes, Codemasters ha dado una idea de las áreas que han sido hackeadas: el sitio de Codemasters, la página de introducción de códigos VIP de Dirt 3, la tienda online de Codemasters y la base de datos CodeM. En un correo enviado a los clientes les recomienda cambiar sus contraseñas si fuera necesario, aunque las contraseñas robadas estaban cifradas. La base de datos CodeM afectaba también a las cuentas de tickets de los juegos DDO, y LOTRO.
#7 Su rutina es básicamente la del trío clásico de payaso Blanco, payaso Augusto, y payaso Contragusto; cambiando el maquillaje por trajes y quitando el slapstick y dejando solo los diálogos.
El payaso blanco comienza el acto hablando de un tema sofisticado, y la gracia está en que el payaso Augusto no lo entiende y lo malinterpreta. O el Augusto intenta explicárselo al payaso Contragusto y, como no lo entendió bien, la explicación es hilarante.
En las rutinas de un solo actor, viene a ser lo mismo, solo que el actor es al mismo tiempo payaso Blanco y payaso Augusto. Momentos de sofisticación, seguido de meteduras de pata al malinterpretar algo.
Las historias de Mastropiero son básicamente recitar en tercera persona las aventuras de un payaso Augusto que se hace pasar por payaso Blanco.
#24 Si la imagen de fondo que usas como obstáculos es estática (es decir, no cambia durante el 99% del tiempo) te conviene muchísimo pre-procesarla de alguna manera. Los costes de buscar rutas en un grafo simplificado te pueden caer varios órdenes de magnitud si lo haces.
Imagina que tienes un área en la imagen de 300x300 píxeles que están libres de obstáculos. Esos 300x300=90 000 píxeles tendrían que ser procesados por A* (o el que uses) cada vez que se calcula una ruta.
Ahora piensa que puedes representar esos 90 000 píxeles con un solo nodo que representa ese área libre de obstáculos. Y generaliza esto a todo el mapa del juego. En cuántos órdenes de magnitud se simplifica el problema?
El pre-procesamiento del mapa da igual el tiempo que lleve. Se va a realizan una única vez por partida (o cada vez que se modifique el mapa físicamente), que es muchísimo menos frecuente que los cientos de veces por frame que se van a calcular rutas.
Recuerda que las rutas no necesitan ofrecer un plan exhaustivo, pixel a pixel, de qué camino tomar. A menudo es suficiente que retornen un puñado de puntos de ruta por los que se puede ir en línea recta entre dos puntos consecutivos.
No sé qué tipo de roguelike estás haciendo, pero si las casas son colocadas proceduralmente a partir de prototipos (tienes 20 o 30 casas distintas diseñadas y el juego coloca algunas elegidas al azar), los grafos de rutas pueden estar ya incluídos en los propotipos de las casas, con lo que solo tienes que conectar el nodo de las entradas con los nodos del exterior.
#16 Seguramente use algo parecido a A* adaptado a tiempo real (heurísticas rápidas e imprecisas, puesto que no te interesa encontrar la mejor ruta, sino una suficientemente buena para no parecer estúpida).
Lo más importante son los trucos que se usan para que no chupe toda la CPU, especialmente cuando hay tantas unidades moviéndose. Y esos trucos no dependen del algoritmo de búsqueda en sí, sino de la rutina que mueve las unidades.
Si no me equivoco, esto funciona así más o menos:
1- Las unidades agrupadas solo calculan una ruta por tipo de movimiento (una para voladoras, una para subterraneas, una para las que van a pie, etc).
2- Tan pronto se hace clic en el destino, las unidades reciben una hoja de ruta rápida que ignora obstaculos, y empiezan a moverse hacia el destino, sin calcular la ruta final. La ruta final se calcula en otro hilo y, cuando está lista, se sustituye en las unidades que ya están en movimiento.
3- Se mantiene un grafo simplificado que representa el mapa para calcular las rutas sobre él. En lugar de usar un mapa gigantesco con cientos de miles de "casillas" que A* debería procesar, todas las casillas sin obstáculos que formen un polígono convexo se agrupan en un solo nodo. Las unidades pueden moverse entre casillas de un mismo nodo en linea recta, puesto que no hay obstáculos entre sí.
4- Las rutas no son superdetalladas, casilla por casilla. En lugar de eso tienen puntos de ruta, que o son simplemente referencias a los nodos, o contienen además alguna coordenada dentro de un nodo. Esto simplifica las rutas muchísimo.
5- La mayoría del tiempo, las unidades están caminando dentro de un nodo. Solo deben consultar si la ruta sigue siendo válida cuando pasan de un nodo al siguiente. Y de nuevo, unidades cercanas (en el mismo nodo) del mismo tipo con la misma ruta sólo tienen que hacer esta comprobación una vez para todas ellas, en lugar de una vez cada una.
6- Si los jugadores (IA o humanos) realizan modificaciones al mapa en tiempo real (colocan un edificio, un muro, rompen un puente, etc), el grafo simplificado es actualizado de inmediato. Si el obstáculo se colocó en un nodo, partiéndolo en varios nodos menores, todas las rutas que pasan por ese nodo son invalidadas. Las unidades requerirán un recálculo de la ruta cuando terminen de caminar por el nodo por el que están.
#18 Justo ese es el tipo de contenido y las ideas que planteas son bastante interesantes.
Yo me he pegado con el tema por un lado programando un tipo Nethack y por otro con uno en tiempo real con una imagen utilizada como mapa de fondo, con zonas atravesables y zonas que no; en este último tuve que ir haciendo apaños, ya que como dices en (4) lo de ir casilla por casilla es imposible cuando una casilla es un pixel, pegaba unos trompicones terribles cada vez que tenía que recalcular una ruta. Lo arreglé asignando costes al recorrido y poniendo "raíles", caminos de coste bajo que unían todas las "zonas lógicas" (habitaciones de una casa con su pasillo, etc) por los que acababan discurriendo siempre. También pensé definir nodos o polígonos, pero se me complicaba y lo de los raíles funcionaba
En el tipo Nethack no hay problema al ser pocas casillas, pero sí tienes el dinamismo de muchas cosas moviéndose a la vez. Ahí el mayor problema fue lo de que enmedio del camino es muy probable que haya otros NPCs pero debería ir hacia allá igualmente, lo que planteas en (2). Como lo solucioné de momento fue poniendo un coste más alto a las casillas con NPCs, de modo que por un lado le compense encontrar un atajo, pero por otro que si no lo hay insista (ya que normalmente van a ser enemigos que van a querer ir todos contra ti)
Y luego hacer una caché con la lista de nodos final, para que la use siempre que la siguiente casilla esté liberada en lugar de ir calculando a cada paso.
#24 Si la imagen de fondo que usas como obstáculos es estática (es decir, no cambia durante el 99% del tiempo) te conviene muchísimo pre-procesarla de alguna manera. Los costes de buscar rutas en un grafo simplificado te pueden caer varios órdenes de magnitud si lo haces.
Imagina que tienes un área en la imagen de 300x300 píxeles que están libres de obstáculos. Esos 300x300=90 000 píxeles tendrían que ser procesados por A* (o el que uses) cada vez que se calcula una ruta.
Ahora piensa que puedes representar esos 90 000 píxeles con un solo nodo que representa ese área libre de obstáculos. Y generaliza esto a todo el mapa del juego. En cuántos órdenes de magnitud se simplifica el problema?
El pre-procesamiento del mapa da igual el tiempo que lleve. Se va a realizan una única vez por partida (o cada vez que se modifique el mapa físicamente), que es muchísimo menos frecuente que los cientos de veces por frame que se van a calcular rutas.
Recuerda que las rutas no necesitan ofrecer un plan exhaustivo, pixel a pixel, de qué camino tomar. A menudo es suficiente que retornen un puñado de puntos de ruta por los que se puede ir en línea recta entre dos puntos consecutivos.
No sé qué tipo de roguelike estás haciendo, pero si las casas son colocadas proceduralmente a partir de prototipos (tienes 20 o 30 casas distintas diseñadas y el juego coloca algunas elegidas al azar), los grafos de rutas pueden estar ya incluídos en los propotipos de las casas, con lo que solo tienes que conectar el nodo de las entradas con los nodos del exterior.
#12 Tienen los animales concepto del libre albedrío?
Cual es el concepto de felicidad de un animal?
Piensa una cosa: desde que un animal salvaje nace hasta que muere, hay tres cosas que ocuparán la mayor parte de su tiempo: miedo, hambre y enfermedad.
Miedo a ser atacado por otros animales, miedo a perder sus crías, miedo a quedarse sin territorio, etc. Todo esto aliñado por el hambre y la enfermedad.
Ahora si ese animal tuviera la inteligencia y oportunidad para poder escoger si en lugar de todo eso quisiera vivir en un lugar completamente seguro, con alimento garantizado, y recibiendo cuidados que lo mantuvieran sano, no crees que el animal lo escogería sin duda alguna?
No es eso precisamente lo que hemos hecho la los humanos? Hemos dejado de lado la libertad absoluta a cambio de vivir en sociedad, que no es ni más ni menos que un lugar seguro donde aplacamos el miedo de morir asesinados, de hambre, o de enfermedad.
Solo cuando tenemos esas necesidades satisfechas es cuando nos acostumbramos a ello, lo damos por sentado, y empezamos a preocuparnos por el libre albedrío.
Los comentarios de la noticia son espeluznantes:
- El peligro de la lluvia radiactiva ha sido exagerado. En lugar de wolframio deberían user uranio empobrecido. Como los principales objetivos serán ciudades, la única pérdida de vidas serán de modernillos y gente sofisticada.
- Deberían añadir perdigones a las barras. Gran arma antipersonal, especialmente cuando el objectivo son chinos.
#59 miles de años tampoco. Hiroshima y Nagasaki son dos grandes ciudades a día de hoy.
#66 el Woframio es mas denso y duro que el uranio. Entiendo que aquí se busca esas dos características. Además el Uranio es pirofórico lo que significa que se inflama espontáneamente a partir de cierta temperatura. Es muy posible que esa temperatura se alcance solo con el rozamiento del aire así que el proyectil se quemaría antes de llegar al suelo.
Se que no es tu comentario pero me ha parecido interesante este tema.
#70. Las ojivas de uranio empobrecido llevan camisa metálica de acero aleado, titanio o aluminio aeronáutico. El efecto pirofórico se busca justo después del impacto.
Lo que interesa es el material más denso y asequible; vanadio, wolframio o iridio serán más densos y con mayor punto de fusión, por tanto proyectiles más duros, pero son elementos mucho más valiosos. Mientras que el uranio es casi un producto de desecho.
#72 Corrección: Un oscuro pasado, al cual estamos volviendo.
Al siguiente Franco lo votarán en las urnas y establecera el golpe de vara por sistema con el aplauso general.
Lo que llaman "la mayoría exasperada" está hasta el moño de que haya más y más mandriles en todos los ámbitos, y de los que proponen soluciones ingenuas que no llevan a nada.
O despertamos de esta ingenuidad pero ya, o caeremos de nuevo en la pesadilla del autoritarismo.
#112 Desgraciadamente, es cierto esto que cuentas. Esa "mayoria exasperada" son los verdaderos "mandriles". Son los mismos que votaron a Trump, a Bolsonaro o los que quieren que vuelva otro Franco.
Es necesario hacer más pedagogia hacia esas personas (por muy "mandriles" que sean nunca dejan de ser personas) y hacerles ver que nuestras soluciones no son tan ingenuas como los titiriteros que manejan el mundo nos pretenden hacer creer.
Estos coloreados parecen de "Herramienta de Relleno" y a correr. No hay ningún tipo de iluminación ni sombreado. La vestimenta del "Súper" es un tono de azul. Los pantalones de Filemón son un tono de rojo. Así todo.
Son coloreados de salir del paso.
#130 Algo que todo cristo hace simplementen poniendo "-ar" o "-ear" al final de la palabra a poco que tengan contacto informal con juegos en inglés: campear (aprovecharse de un escondite para matar a otros), combar (hacer combos), etc.
La diferencia es que en español se conjugan (campeo, campeas) para que no suene raro. Y los angloparlantes no tenen una institución como la Real Academia diciéndoles lo que está permitido y lo que no.
#55 Lo que yo recuerdo es que desde el intérprete de basic podías cargar sólo programas en basic autoejecutables. Con lo que todos los juegos comerciales empezaban con un pequeño programa basic de unas decenas de líneas que lo único que hacía era, por este orden, cargar la pantalla de carga y luego cargar el juego en sí que venía en un bloque de código máquina. Y tras cargarlo en RAM, lo ejecutaban.
Lo que tú verías con el List es este pequeño programa cargador inicial.
Las revistas de la época publicaban trampas en forma de POKEs que se ponían en este cargador: después de haber cargado el código máquina, pero antes de ejecutarlo, alteraban algunas direcciones de memoria para estas trampas con la instrucción POKE.
#17 #60 #66 Había juegos que sí que estaban programados en Basic. Algunos del pack que venía con el ordenador, programados por Amsoft eran en Basic (con alguna rutina en código máquina) y se podían detener pulsando dos veces la tecla ESC (en algunos no siempre, sólo en determinados momentos), por ejemplo: Amsdraw II (bueno, esto era más bien un programa de dibujo), Almirante Graf Spee (bélico), Fruit Machine (máquina tragaperras), Plaga Galáctica (tipo Galaxians) y Sultan's Maze (este era 100% en Basic... y en 3D).
Con el tiempo, intercambiando juegos con amiguetes me dejaron uno que estaba bastante bien, tipo rompecabezas que se llamaba Averno. Todo era Basic salvo el dibujado de 'sprites' que era CM. Los mapeos de los niveles estaban en líneas DATA que podías cambiar y hacerlos a tu bola.
Los programas tipo 'copión', que permitían copiar juegos de los que cargaban por bloques de una cinta a otra, simplemente, leyendo algunos bloques hasta llenar el 'buffer' de memoria y volcando estos luego a la cinta de destino (había que hacer varias tandas para copiar la mayoría de juegos de este tipo) eran en Basic. Llegué a modificar alguno y descubrí que el único bloque que tenía que ser estrictamente de 2 KB era el primero, el segundo y los sucesivos se podían grabar en un bloque tan largo como pudiera caber en la memoria (algo así como la carga turbo). El problema de hacer esto era que si ocurría un Read error A o B tenías que rebobinar y volver a cargar el bloque 2 enterito.
#65 #55 #51 En los Amstrad CPC lo normal era que el cargador del software comercial viniese en Locomotive Basic y, para ocultar el código (o partes) de dicho cargador se usasen instrucciones POKE para asignar valores en direcciones de memoria, así como instrucciones PEEK para recuperar valores de memoria. No era complicado hacer que sólo se pudiesen listar las n primeras líneas del programa. Y de esa manera había valientes que lograban "descifrar" el cargador en Basic, cargar el programa en memoria y, antes de ejecutarlo con el CALL a la dirección de memoria determinada, alterar valores en memoria del juego para tener vidas infinitas, más puntuación de inicio, empezar en niveles distintos, incluso cambiar cadenas de texto dentro de los juegos. Sólo hacían falta conocimientos de ensamblador de Z80 y el software apropiado.
#11 El pantallazo del artículo es de 2016.
En la web de ModDB tenemos videos más recientes: https://www.moddb.com/mods/xwvm
Estamos reconstruyendo los modelos 3D de todas las naves para modernizarlos. Las cabinas de los 4 cazas rebeldes también.
#38 Yo soy totalmente consciente de que me pierdo muchísimo.
Aunque tampoco creo que sea muy diferente a la gente que no le interesa la danza, la arquitectura, la pintura, la escultura, el cine, la literatura, etc. ¿No?
Me refiero, hay probablemente millones de personas que jamás cogerían un libro para leerlo por gusto porque les aburre, les cansa, etc. Todos conocemos casos. Y claro que se están perdiendo muchísimo. Pero ¿qué le vas a hacer?
#38 Yo soy totalmente consciente de que me pierdo muchísimo.
Aunque tampoco creo que sea muy diferente a la gente que no le interesa la danza, la arquitectura, la pintura, la escultura, el cine, la literatura, etc. ¿No?
Me refiero, hay probablemente millones de personas que jamás cogerían un libro para leerlo por gusto porque les aburre, les cansa, etc. Todos conocemos casos. Y claro que se están perdiendo muchísimo. Pero ¿qué le vas a hacer?
Estas cosas causan un enorme perjuicio a la imagen que la gente tiene de "la izquierda" o "los progresistas".
Estoy empezando a pensar que es un autosabotaje, un quintacolumnismo disfrazado de posmodernismo, para dejar claro a la clase trabajadora que "la izquierda" no está ahí para defender sus intereses o solucionar los problemas. Que están para hablar de su libro, y hacer de sus neuras ley.
#5 Mi vecina tiene uno.
Tiene un mando a distancia especial donde tienes que pulsar quién está viendo la tele en cada momento. Cada miembro de la familia tiene un número asignado en el mando y lo tienen que pulsar cuando se sientan a mirar la tele.
En realidad ninguno lo hacía. Pulsaban siempre el 2 que creo que era la madre.
#11 En mi trabajo lo usan mucho, incluso durante las reuniones, no es infrecuente ver a algún joven directivo hablar mientras mantiene una bolsita de esas bajo el labio superior. Es muy adictivo.
Tiene consecuencias perjudiciales a la larga, al menos estéticas. El labio superior pierde sensibilidad y, años después de dejarlo, aún puedes ver como les cuelga casi inerte en plan Aznar, lo cual les hace rápidamente reconocibles al hablar o al sonreir. ("Ese usa/ha husado snus")
#103 No tenía ni idea del tema, en otros paises europeos si he visto bidets de esos actualmente.
Al final no va a haber nada como los váteres estos japoneses, a ver cuando los traemos para estos lares a un precio para todos los públicos.
Como tantas adaptaciones, hay nombres de lugares, personajes y cosas en común con la obra en que se basan, pero no más.
Eso ha pasado siempre, desde que recuerdo estar esperando una peli basada en algún libro e ir a verla.
La Historia Interminable, Parque Jurásico y en especial la segunda parte El Mundo Perdido, El Hobbit, Starship Troopers, Blade Runner, Yo Robot, El Resplandor, etc.
En cualquiera de esas, te lees el libro y lo comparas con la peli y dices "Nombres de personajes, de lugares y de cosas. El resto, no tiene nada que ver."
La noticia es encontrar una película (no serie, película), que sea más o menos fiel al libro. Alguien conoce alguna que sea fiel y funcione como película?
#32 Sabes el origen de esa foto?
Ese niño no se estaba muriendo de hambre. Estaba haciendo sus necesidades, a unos metros de un refugio de las Naciones Unidas (mira la pulsera médica que lleva). El buitre esta a mucha distancia, pero la lente escogida produce el efecto de hacerlo parecer más cerca de lo que estaba.
El fotógrafo mintió. Se llevó el Pulitzer. Y luego se suicidó.
El niño sobrevivió 14 años más antes de morir de otra cosa no relacionada.
#72 En qué te basas para decir que un ser humano es capaz de generar un numero totalmente aleatorio a partir de ninguna entrada?
No somos los seres vivos, básicamente, máquinas biológicas?
Si tomamos un ser vivo suficientemente simple, como una ameba, no crees que podríamos con un programa suficientemente complejo simular y predecir al 100% las reacciones de la ameba a su entorno? Yo creo que la respuesta es sí.
De la ameba a un hongo solo aumenta el orden de complejidad. Pero nada cambia más allá de eso. De un hongo a una planta. De una planta a un animal. De un animal a un humano.
Qué le permite a una maquina biológica humana generar un número aleatorio a partir de ninguna entrada?
Nada. El propio ser humano, con toda su historia y experiencia y memoria y conjunto de vivencias es la entrada. A menos que te vayas a conceptos no probado como "el alma" u otras cosas místicas, no somos más que máquinas biológicas.
Existe el libre albedrío? Por supuesto que no. En todo caso existe el pseudo-libre albedrío.
Te propongo un ejercicio mental. Imagina un viajero del tiempo que puediera moverse adelante y atrás en el tiempo pero no afectar nada en la línea temporal. Este viajero observa a un científico que está interrogando a un idividuo.
El ciéntífico pregunta al individuo "Elige un número al azar", el individuo responde un número.
El viajero del tiempo lo anota y vuelve atrás en el tiempo para presenciar la pregunta de nuevo.
Qué responderá el individuo esta vez? El mismo número u otro diferente?
Si hubiera libre albedrío, debería responder otro diferente. Pero lo más probable es que respondiera lo mismo.
Las reacciones electroquímicas que ocurren en el cerebro en el momento de pensar un número al azar partirían del mismo estado inicial, seguirían exactamente los mismos procesos, activando las mismas sinapsis, apartando las mismas memorias que tal vez estaban distrayendo la atención del individuo, incurriendo en los mismos tiempos, etc.
El resultado sería el mismo.
Por lo tanto, no habría libre albedrío real.
Solo pseudo-libre albedrío, que es indistinguible del real puesto que somos tan complejos que nadie es capaz (aún) de predecirnos.
#23 Cómo? Tiene el sistema ELS y transferencia de energía. No sé a qué te refieres.