576 meneos
38030 clics
![7 trucos usados por programadores de videojuegos que rozan lo absurdo](cache/25/6d/media_thumb-link-2452888.jpeg?1437952746)
7 trucos usados por programadores de videojuegos que rozan lo absurdo
Estos trucos de programadores de videojuegos te sorprenderán por lo enrevesados y curiosos que pueden llegar a ser.
|
comentarios cerrados
Lo bueno es que una vez que aprendes que la cosa es hacer que funcione algo el como es indiferente, las cosas van sobre ruedas, y si le tienes que poner un sombrero tipo tren a un NPC/humanoide para usarlo de tren y ahorrarte trabajo de hacer un tren, su IA, ,etc hazlo.
¿sabias que los personajes no se mueven con las teclas? realmente lo que haces es mover el mundo
Lo bueno es que una vez que aprendes que la cosa es hacer que funcione algo el como es indiferente, las cosas van sobre ruedas, y si le tienes que poner un sombrero tipo tren a un NPC/humanoide para usarlo de tren y ahorrarte trabajo de hacer un tren, su IA, ,etc hazlo.
¿sabias que los personajes no se mueven con las teclas? realmente lo que haces es mover el mundo
#1 ¡Spoiler!
Alguien: "Oye, tío el control de temperatura del reactor peta con error de falta de memoria, ¿que hacemos?"
Otro: "ah.... desinstala el antivirus y pon un post-it que no ejecuten muchas aplicaciones allí"...
tiempo después...
Auditor: "Por seguridad, se debe instalar esta megasuperchachi Suite de seguridad pro ultra max con todo este montón de módulos útiles"
instantes después
CNN: "Hoy abrimos con una terrible noticia... o depende si tiene la extraña esperanza de convertirse en un superhéroe radioactivo"
4KB de ROM para juegos.
128k de RAM. Teóricamente sin scrolling y mucho menos parallax scrolling.
Pues consiguieron hacer esto.
www.youtube.com/watch?v=R1G_si-9fgE
en.wikipedia.org/wiki/Fast_inverse_square_root
(Pulsando las teclas de dirección durante un salto, la velocidad de el jugador aumenta. Si se encadenan strafe jumps sucesivos se pueden alcanzar velocidades estratosfericas.)
www.wowhead.com/npc=18955/camera-shaker-30-90-seconds
o infernales:
www.wowhead.com/npc=28351/flame-breath-trigger-skadi
Otras cosas que se comentan yo no las llamaria trucos, porque es solo la forma mas obvia o simplemente no hay otra forma de hacerlo.
Es como si alguien sale diciendo: Ves ese dinosaurio grande y ese pequeño ? Te voy a contar un "truco" en "realidad" son el mismo dinosaurio puesto en dos sitios y a escalas diferentes.
Recuerdo una vez que desde la aplicación cliente se pedía un informe al servidor. Ese informe tardaba varios minutos en generarse, por lo que no era factible quedarse esperando a que acabara. Había que pedirlo, y seguir en la aplicación cliente haciendo otras cosas. A su vez, el servidor no podía acaparar el thread principal con esa tarea, por lo que había que crear un hilo adicional que tratase esa tarea.
La forma de saber si había acabado, era llamando cada 10 segundos al servidor para preguntarle, a través de una función que lo que hacía era mirar un fichero de log donde el proceso que generaba el informe iba indicando su progreso.
El truco era ese: para sincronizar dos procesos, usábamos un fichero de texto donde uno escribía y otro leía.
En una fase temprana, se suelen intentar definir todas las características que debe abarcar la arquitectura del juego. Cuando más adelante, los diseñadores quieren que se implemente algo que no había sido contemplado desde el principio suelen aparecer el tipo de "ñapas" de las que habla el artículo.
Por cierto, en la mayoría de mis juegos se mueve el personaje, no el mundo.
Actualmente parece que es más importante ahorrar costes que la seguridad.
Para que no saliera el mensaje "El bando de Wallace ha sido derrotado", ya que se quedaba sin tropas y se ve que era un mensaje automático del motor de partidas del juego, dejaron un soldado del bando de Wallace en mitad de un frondoso bosque en una esquina del mapa. Puedes llegar a él y matarlo si desarrollas los onagros para que puedan arrasar árboles.
Me consta que en muchos bancos, el software funciona a golpe de parches y chapucillas que hacen que todo mas o menos funciones al día, pero internamente está todo cogido con alfileres.
Para juegos en 2D todavía se usa bastante Cocos2D, y algunos de los estudios más grandes del país desarrollaron motores propios, como por ejemplo Digital Legends, que utiliza Karisma.
Te podría contar 1001 trucos que se utilizan comúnmente para hacer videojuegos o para hacer que funcione algo, o ciertas mecánicas, pero bueno como eres "profesional" esta por encima de ti esto.
El truco era que para no crear los movimientos mediante programación creé un programilla que regsitraba los movimientos del ratón, y los metía en un array.
Con un botón bloqueaba un eje, así que por ejemplo solo lo movía horizontalmente, si liberaba ese botón y pulsaba el otro se movía verticalmente, y si los dejaba sin pulsar ambos botones, era el movimiento libre.
Luego si pulsaba la barra espaciadora tres veces, se creaba un array dinámicamente y era el movimiento de otra nave.
Total que hice los movimientos de un montón de naves en apenas una tarde. Luego solo era asignarle el gráfico, el sonido al explotar, y listo.
Ahorré tardes y tardes de trabajo.
Y si os interesa coger cualquier libro de programación con DirectX que os muestra/enseña todo eso.
Y saber arrancar Unity y poner objetos en un mapa no te hace programador de videojuegos, como mucho 'diseñador de escenarios'
Brutal.
En los estudios pequeños, el trabajo tiene que salir con la gente que se tiene, pero he tenido la suerte de trabajar con diseñadores de niveles en uno de mis proyectos, y no me parece un trabajo para nada despreciable.
El diseñador de niveles es pieza clave no los desprecio, todos los son, desde el concept art hasta el animador pasando por todos, cada cual tiene su tarea y es determinante, muchos juegos han triunfado mayormente por el diseño de sus niveles, sobretodo los shooters online, simplemente digo que no es programador de videojuegos, es diseñador de niveles, como el animador es animador no programador. Y no con animo de despreciar su trabajo.
Estaba en Visual Basic (padre de grandes horrores) y para sincronizar 2 procesos ambos escribían y leían de un cuadro de texto en un formulario oculto donde iban leyendo y escribiendo parámetros.
Lo dicho, HORRIBLE
Por la forma en la que te has expresado en tu primer comentario, dabas a entender a los ajenos al mundillo que desarrollar un videojuego consistía exclusivamente en la utilzación de estas triquiñuelas, y eso no es así. La mayor parte de lo que el jugador ve ocurre como parece que ocurre.
Mis hogos!!!
Ese código es historia.
Y esto que cuenta el articulo no es nuevo es de siempre, si buscas un poco encontraras mil ejemplos de dev tricks de estos en todos los juegos.
Luego en su momento no se quien se saco de la manga lo de los personajes modulares, para no hacer mil personajes con diferentes ropas los troceamos y los unimos al gusto depende la ropa que quieres llevar, ya sabes GTA, skyrim.
A eso también me refería con que los juegos son todo trucos y el arte del engaño, donde el gamer cree que el personaje cambia de ropa pero realmente lo que haces es cambiar el personaje.
Y si decir que estas ñapas son la mayoría de los casos en el desarrollo de videojuegos te parece lógico...
En fin, de vuestra conversación parece evidente para cualquiera que sepa lo mínimo del mundo de la programación quien es aquí el programador de videojuegos y quien es simplemente un gamer haciéndose notar. Lo siento, pero tenía que decirlo.
www.youtube.com/watch?v=1N5n9zbgY_s
www.niubie.com/2014/07/asi-se-ve-el-protagonista-de-crysis-2-en-tercer
Y sin leap motion se podría hacer también, pero lo más cómodo/fácil y dado que no hay necesidad en un caso normal es utiliza el truco del personaje animado cambiando de marchas y que realmente no es su mano lo que cambia de marchas.
i.imgur.com/FxTIV4r.gif
El de Half-Life 2 cuanto menos es curioso.
Salu2
Y por cierto hablando sobre espejos me acuerdo de deus ex HR, en el que no podian permitirse espejos por limitaciones del motor (comentarios del director) y su solucion fue hacer que todos los espejos que aparecen en el juego estuviesen rotos
Me encanta el truco del personaje que habla desde otro lado de la pantalla para simular el vídeo...
Por eso no coincido con muchos comentarios que hablan de ñapas o soluciones cutres a problemas, simplemente me parece que si te vale y más fácil no te compliques implementando mil cosas nuevas.
A mi lo del espejos del Duke nuken que mencionaba otro meneante, no lo conocía, y de alguien que vio muy por encima como hacer un espejo y vio que le sobrepasaba y paso de espejos... (había que calcular fov depende de la distancia, perspectiva y en definitiva un coñazo que no sabría ni como empezar, además de tragar consumo) es un arreglo curioso.
Te sorprenderías amigo mío... en informática, sobretodo cuando la aplicación viene de una cárnica, es el pan de cada día. Y mas que trucos diría autenticas chapuzas con miles de parches por encima para que todo acabe funcionando con pinzas.
Y en otras areas de la ingenería, según mi experiencia, aunque no tan exagerado como en informática también puedes encontrarte muchos "trucos".
A mi me huele a limitación del motor (aunque me parece raro que no permita render to texture) que solucionaron reutilizando algún efecto creado para hacer efectos de CCTV en tiempo real.
Del propio artículo compartido por el usuario anterior:
"The algorithm was originally attributed to John Carmack, but an investigation showed that the code had deeper roots in both the hardware and software side of computer graphics. Adjustments and alterations passed through both Silicon Graphics and 3dfx Interactive, with Gary Tarolli's implementation for the SGI Indigo as the earliest known use. It is not known how the constant was originally derived, though investigation has shed some light on possible methods."
No pudes oirlo pero estoy aplaudiendo en casa.
En serio, se lo he dicho a la gente mil veces en temas de creación de vídeo y nunca me hacen caso y al final consiguen que todo parezca un batiburrillo de efectos mal hechos, planos improvisados y frases encajadas a lo loco.