RAIZ CUADRADA INVERSA RÁPIDA: El algoritmo "mágico" del videojuego Quake III

Поділитися
Вставка
  • Опубліковано 9 лют 2025
  • De la mano de los creadores de Doom y Wolfenstein 3d, se creo un ingenioso algoritmo para el videojuego Quake III, este apenas resuelve una división y una raíz cuadrada, pero fue imprescindible para el desarrollo de un juego tan detallado y revolucionario como lo fue Quake en 1999. En este vídeo intento realizar una explicación para poder entender la genialidad de este algoritmo.
    Este algoritmo es conocido en inglés como: Fast Inverse Square Root
    Mi twitter: x.com/llamaeli...
    Fuentes:
    FAST INVERSE SQUARE ROOT - Chris Lomont
    Exploring the Quake III Fast Inverse Square Root Algorithm - Daniel Harrington
    The Mathematics Behind the Fast Inverse Square Root Function Code - Charles McEniry
    breq.dev/2021/...
    • Fast Inverse Square Ro...
    0:00 Un poco de contexto
    1:22 Porque molestarse (?
    2:32 Una operación simple pero imprescindible: 1/raiz(x)
    4:49 Como guardar un número en la memoria y los fundamentos de la magia
    14:35 La parte facil de entender del código
    15:54 Evil Floating Point Bit level Hacking
    18:33 WTF
    21:44 Método de Newton

КОМЕНТАРІ • 405

  • @llamaelitista
    @llamaelitista  6 місяців тому +254

    *Gracias a las aclaraciones y aportes de algunos comentarios debo aclarar algunas cosillas:*
    - En la ecuación del minuto 23:43 cometí un error de edición, la fracción que indica "1/3" debe ser en realidad "3/2" (por algo la constante "threehalfs" es 1.5).
    - A diferencia de lo que muchos podrían pensar, el algoritmo no lo creo Jhon Carmack, o el equipo de id software (la empresa detrás de Doom y Quake), este algoritmo tiene historia propia que data al año 1986 incluso, de hecho uno de los creadores William Kaham es uno de los científicos detrás de la creación del estándar IEEE754, asi que tiene sentido de donde salió ese conocimiento tan profundo de las unidades de memoria, el algoritmo paso por muchas manos (Gary Tarolli, una de ellos), siendo refinada en el camino hasta que de alguna forma llego a Quake, si quieren mas detalles de la autoría la wikipedia en ingles esta bien detallada. Es probable que la razon del porque se perdió el origen de quien o como se calculo el número mágico, sea debido al largo camino que siguió, pero bueno esto último nomas es hipótesis mía.
    - En el minuto 6:28, digo que se se ha reducido a la mitad los números enteros que se pueden representar, pero de hecho se han reducido aún mucho más, piénsenlo, cuando teníamos 32 bits, podíamos representar 2^32 números, con 16, se pueden representar 2^16, si restamos (2^32 - 2^16), se pierden 4,294,901,760 valores, aún mayor razón para utilizar el estándar IEEE754, una arquitectura bastante ingeniosa por cierto.
    - Como muchos apuntaron, en 11:29, la razón de utilizar logaritmos es muy probablemente que estos permiten simplificar la operación de números muy grandes (o muy pequeños), también probablemente sea por lo fácil que se convierte la inversa de la raiz cuadrada cuando le sacas logaritmo a ambos lados de la ecuación, chequense 13:13, se observa que la relación ahora entre salida y entrada (operadas con logaritmo) es lineal, por lo que se ha eliminado la operación raíz de la ecuación.
    -8:13 En este minuto me olvide cambiar los bits xd, 126 es 1111110, eso es lo que deberia estar puesto en la unidad de memoria.
    (Ire actualizando según vea mas aportes jsjs, gracias a todos por sus comentarios 🥸)

    • @Suicida_M.R.
      @Suicida_M.R. 6 місяців тому +9

      Muchas gracias por el dato. Sorprendente lo que puede hacer un fragmento de código. Unos genios los creadores y si en un futuro pudieras hacer o editar el video, sería genial. Excelente investigación 👍💯

    • @lucasbecca1168
      @lucasbecca1168 6 місяців тому +6

      me ah encantado tu explicación de como se guarda la información en la memoria de un pc, pensar que incluso hoy usando 64bits, el guardado de información en la ram a la hora de programar funciona de una forma muy parecida a como vos explicas acá. es una explicación bien técnica a nivel programación.

    • @Comomevoyapasarlavida
      @Comomevoyapasarlavida 6 місяців тому +3

      Bro como editas para que se vea como látex?

    • @llamaelitista
      @llamaelitista  6 місяців тому +5

      @@Comomevoyapasarlavida Nomas son slides de PowerPoint xd, lo que pasa que en general los programas de offfice tienen como una herramienta donde puedes escribir ecuaciones y la verdad quedan bien chéveres visualmente.

    • @nanotips_
      @nanotips_ 6 місяців тому +1

      en el 8:12 también te equivocas al expresar el 126 en binario

  • @emufz
    @emufz 6 місяців тому +508

    alguna vez en la universidad me mostraron ese código, pero el maestro no lo supo explicar y justo dijo que era magia jaja, mucho tiempo lo quise investigar pero no encontraba el código y ahora lo encuentro con todo y respuesta, muchas gracias, excelente video!

    • @alexvaldelamarbustamante3835
      @alexvaldelamarbustamante3835 6 місяців тому +24

      Al final si era magia jsjsjs

    • @andymesta4913
      @andymesta4913 6 місяців тому

      @@alexvaldelamarbustamante3835 jajaja

    • @tamandare82
      @tamandare82 5 місяців тому +3

      mentiroso 😂

    • @C._C.
      @C._C. Місяць тому +3

      Vaya invent...un profesor de universidad jamás daría esa respuesta.

  • @ivlis.w
    @ivlis.w 6 місяців тому +413

    Vine esperando encontrar un algoritmo curioso y terminé con una clase repaso de aritmética de computadoras, programación en C y analisis matemático 🤓

  • @LucasTowers__
    @LucasTowers__ 6 місяців тому +337

    Dato curioso: Este código es el que me llevó a estudiar Ingenieria Informática, y expresa el fundamento del porqué estudias matemáticas en Ingenieria. Me cansé de escuchar sobre "no usamos matematicas y lo poco que usamos lo sacamos de google".
    Este tipo de soluciones y entendimiento es el que sobresale al resto, y me encanta. Personalmente, para esta solución, tuve que cursar 2 materias por separado para entenderla, y es sencillamente increible.

    • @infinity3881
      @infinity3881 6 місяців тому +16

      Es obvio la base de ingeniería es la matemática

    • @erickandrade154
      @erickandrade154 6 місяців тому +7

      Que tipo de materias adicionalmente tomaste?

    • @jinz4246
      @jinz4246 6 місяців тому +5

      Eso lo dicen solo por algunos tipos de codigo como este, que raramente se usa.

    • @LucasTowers__
      @LucasTowers__ 6 місяців тому +8

      @@erickandrade154 Personalmente los contenidos de estos temas están en las materias obligatorias del plan de estudio de mi carrera (el analisis binario se ve en Estructura del computador o cualquier materia semejante, la resolución e iteración de gauss se ve en numeracion numerica/analisis numerico), pero adicionalmente, cursé cosas muy intereesantes como optimizacion de modelos y analisis matematico 3

    • @LucasTowers__
      @LucasTowers__ 6 місяців тому

      @@jinz4246 Puede ser cierto, como es cierto el nivel de software que se entrega en el dia de hoy y es vidente con el lanzamiento de videojuegos de estos últimos 2 años exceptuando algún caso particular. ¿Puedes ir al wolframalpha y solucionarlo? Por supuesto, pero si tienes que resolver una integral, lo primero que harías seria buscar una libreria que solucione y no sea costosa, cuando con conocimientos de una carrera de grado, puedes utilizar coeficientes de gauss y lograr una solución con un margen de error ínfima.
      Saber esto te separa del resto, sí, es overkill para alguna gente, innecesario, y es entendible, pero les puedo asegurar que impacta.

  • @josed2828
    @josed2828 6 місяців тому +86

    Felicidades normalmente este tipo de contenido de alta calidad no hay en espanol, por eso siempre termino viendo contenido en ingles pero que agradable tenerlo en espanol es mucho mas fácil de comprender.

  • @viervogs4224
    @viervogs4224 6 місяців тому +186

    Quedo impresionado, viendo este video llego a la conclusión de que los programadores de antes, no solo sabían de programación sino que también eran matemáticos y hasta físicos, osea que eran versados en más de una materia.

    • @Cdani513
      @Cdani513 6 місяців тому +51

      En la programación siempre se ha utilizado matemáticas, pues ya que todo se rige a base de 0 y 1. Pero eso sí, sin duda los programadores antiguos con sus códigos y sus ingenios le han facilitado demasiado el trabajo a los actuales, y más mérito por la época y métodos que tenían que emplear.

    • @canaldtodounpocopc4513
      @canaldtodounpocopc4513 6 місяців тому +29

      el limitante de memoria ram y recursos te obligaba a crear tus propios algoritmos que fueran mucho mas optimoa y efectivos en su tarea. hoy en dia al tener muchos mas recursos se programa cada vez de peor forma.

    • @imv429
      @imv429 6 місяців тому +6

      Mucha más optimización que requiere tiempo e ingenio para hacer que se puedan ejecutar en componentes que normalmente no harían la tarea correctamente y/o a tiempo. Muy bueno eso y ojalá hagan más optimización en los juegos actuales que piden y piden cada vez más requisitos. Será que usarán la IA para ayudar con esas optimizaciones?

    • @franciscojavierramirezaren4722
      @franciscojavierramirezaren4722 6 місяців тому +24

      Mejor dicho, los primeros programadores eran matemáticos y físicos que programaban...

    • @DonVigaDeFierro
      @DonVigaDeFierro 6 місяців тому +16

      Antes no existían Unreal engine o Unity. Muchos estudios debían comenzar con su propio motor gráfico desde cero, y los juegos eran hechos por ingenieros, programadores y científicos computacionales. No por "diseñadores de juegos"...
      Es más, hoy día es MUY sencillo hacer videojuegos y la calidad está cada vez peor. Pesan más y más gigabytes y tienen menos y menos contenido.

  • @christiansantamaria5453
    @christiansantamaria5453 6 місяців тому +83

    Esto es símplemente una genialidad. Ahora estamos tan acostumbrados a tener potencia computacional ilimitada y no nos sentamos a pensar cómo se puede mejorar un proceso que funciona "bien". Las librerías, motores, frameworks que hay por la web facilitan tanto el trabajo que la mayor preocupación de uno es la compatibilidad de versiones. No estoy en contra de los avances realizados, pero no se debería dejar de lado el ingenio humano y lo realmente divertido que puede ser crear algo desde cero.

    • @intron9
      @intron9 6 місяців тому +7

      Para mí no es así. Los que diseñan juegos puede que ya no se ocupen de temas que son responsabilidad del motor, pero la programación de software sigue creando desafíos y soluciones interesantes.

    • @sebastiansobral
      @sebastiansobral 6 місяців тому +4

      FAA hace un tiempo ví un reel que hablaba justamente de eso y la mayoría de los comentarios era "no trates de reinventar la rueda" la verdad el mundo del desarrollo web es usar lo que funcione para evitar trabajo extra.

    • @saustras
      @saustras 5 місяців тому +1

      mmmm la ley universal de la programacion, es , si funciona no lo toques, cuando se cree algo nuevo se mejora, pero si ya funciona bien y el redimiento no esta afectando a nada ps quedo asi, puede que por andar toqueteando te lo tires y y el control z no funcione y ahi cagaste 🤣, toca pedirle ayuda al dios git que te salve, o si manejas un historial local

    • @eljabon3164
      @eljabon3164 5 місяців тому +1

      Así no es como funciona el mundo real. La prueba es este mismo video, sobre un algoritmo del 1986 que se sigue reutilizando aunque la mayoría no puede explicar exactamente porque está hecho así. Los que te pagan el sueldo no van a estar interesados en tu propuesta de optimizar un microsegundo si eso implica que trabajes meses o años 😐

    • @Erick-fx3eb
      @Erick-fx3eb 5 місяців тому +1

      ​@@eljabon3164 esa lógica funciona para el 90% de casos trabajo de oficina o desarrollo en consultoría, para trabajo de investigación, creación de modelos matemáticos y desarrollo computacional el ingenio humano y unas bases sólidas en matemáticas son irremplazables, todos las nuevas tecnologías se basan en algoritmos nuevos y complejos el detalle es que muy pocas instituciones brindan enseñanza a ese nivel y con esa orientación por eso el 90% de ingenieros especialmente en Latinoamérica saben usar todo pero crear nada.

  • @llpBR
    @llpBR 6 місяців тому +51

    Eu não falo espanhol, mas pude compreender facilmente sua fala. Muito obrigado, foi realmente interessante! Por muitos anos tentei entender o que era este código! Obrigado

  • @fernandoverde5799
    @fernandoverde5799 6 місяців тому +13

    Una joya cuando encuentras videos que explican matemáticas con videojuegos/programación. Muchas gracias

  • @xelisconcorde
    @xelisconcorde 6 місяців тому +49

    Muy buena calidad de video! Como aporte sobre porque se uso logaritmos, es por la propiedad que permite "convertir" multiplicaciones en sumas por la propiedad log(ab) = log(a) + log(b), la ventaja de esto es que al hacer multiplicaciones entre números muy grandes o muy chicos, se puede complicar los cálculos computacionales debido a la matemática de punto flotante de la computadora, con este logaritmo reducimos este efecto indeseado de las multiplicaciones.
    Por ejemplo tenemos la operación:
    0.0005 * 0.0002 = 0.0000001 = 1e-7
    Este número resultante ya es problemático, y si lo multiplicamos N veces se va a hacer más y más problemático. Ahora si lo comparamos con el logaritmo:
    Log2(0.0005 * 0.0002) = Log2(0.0005) + Log2(0.0002) =(Aprox) -10.965 -12.287 =(aprox) -23.253
    Se puede ver que las operaciones son más manejables, ya que los números muy chicos o muy grandes se transforman en números con mantisas más manejables. Ultimo ejemplo:
    Log2(1e20) = 66.438 (aprox)
    Log2(1e-20) = -66.438 (aprox)

  • @Mr_MX_2
    @Mr_MX_2 6 місяців тому +27

    Excelente vídeo.
    Lo explicaste de una manera extremadamente fácil de entender, muchas gracias.
    Los “vectores normalizados” también son llamados “Vectores Unitarios”.

  • @Bedfford
    @Bedfford 6 місяців тому +14

    Un tema que ya ha sido explicado desde hace varios años y hay varios videos en YT. Pero es el primero que veo en español y eso se agradece. Saludos.

  • @jesusalfredofernandezcruz1833
    @jesusalfredofernandezcruz1833 6 місяців тому +11

    El poder de las matemáticas en su máxima expresión.
    Quede igual de asombrado cuando me enseñaron a resolver en Estatica sistemas de ecuaciones con algebra lineal, toda la prepa pense que eran para cosas diferentes. La de trabajo que me ahorraron en la universidad.
    Y luego quede mas estupefacto cuando descubri que los algoritmos transformers para las I.As en esencia se manejan con algebra lineal.
    Realmente el poder del computo viene mas del estudio matemático que de las mejoras del hardware.

  • @danielestebanvalencia9358
    @danielestebanvalencia9358 6 місяців тому +15

    Soy estudiante de electrónica, este fue uno de esos temas que vi y me gusto, sufri un poco porque lo vi en mis primeros semestres pero igual gustó.
    Veo que lo explicas muy bien, me gusta demasiado los canales que se atreven a explorar la matematica de los problemas, increible aproximacion y muy buen video, gracias 👏

  • @jimmywhitegomezramos476
    @jimmywhitegomezramos476 6 місяців тому +20

    Soy estudiante de ingeniería de sistemas, que conocimiento tan profundo de las matemáticas para un videojuego y pensar que en esta carrera se suele escuchar que las matemáticas son "relleno". Gracias por tomarte el tiempo de explicar tan maravilloso algoritmo.

  • @loveandpeace2765
    @loveandpeace2765 5 місяців тому +2

    Muy bien realizado el video. Una clase muy interesante y bien explicada. Es extraño que tengas tan pocos suscriptores con el nivel de calidad que he visto en este video. Muy bien hecho.

  • @PatchGeek
    @PatchGeek 6 місяців тому +8

    Eres buenísimo explicando, gente como tú deberían ser profesores de ingeniería. Luego te encuentras doctores y docentes con muchos posgrados y explican como somnífero. 100/10

  • @wendolinmendoza517
    @wendolinmendoza517 6 місяців тому +6

    La verdad es q lo has explicado muy bien y de forma muy asequible para quienes no sepan de programación y matemáticas.

  • @nicolasvidal-qf3hd
    @nicolasvidal-qf3hd 6 місяців тому +4

    Que buen video, me encanto este enfoque de programación tan "elemental". Sin duda unos genios los que programaron este motor.

  • @ADXXI22
    @ADXXI22 6 місяців тому +32

    El Sr. Tarolli pensando cuando le preguntaron sobre el número: "Y ahora como les explico que lo ví en un sueño" XD
    Gran video, es interesante ver los trucos que hacen los genios, nunca el algebra había sido tan interesante 👍

    • @R1K4RD39
      @R1K4RD39 2 місяці тому

      Lo sacó de Google

  • @SsL1nK
    @SsL1nK 6 місяців тому +14

    Amigo que BUEN video, soy estudiante de Ingeniería de Sistemas y esto me pareció fascinante
    Gracias por traer tan buen contenido a la plataforma!

  • @pendejeshumana1646
    @pendejeshumana1646 5 місяців тому +1

    Fua... De verdad no me esperaba este nivel de calidad.
    Hermano, eres muy bueno explicando y el tema es muy interesante, especialmente la parte matemática. Como estudiante de matemáticas puras, apruebo este video.

  • @newtonraphson99
    @newtonraphson99 6 місяців тому +15

    11:29 Supongo que es para aprovechar las propiedades del logarítmo para simplificar la ecuación.
    Ese truquito lo solía usar en la licenciatura para simplificar la obtención de derivadas de funciones que contenían multiplicaciones, divisiones y potencias algo chocantes.

  • @DonVigaDeFierro
    @DonVigaDeFierro 6 місяців тому +10

    El algorirmo me recuerda a los trucos que hacían con las calculadoras mecánicas. Alguien que la supiera usar muy bien podía sacar la raíz-n de un número con un aparato que apenas sumaba, restaba y multiplicaba.

  • @jota5044
    @jota5044 5 місяців тому

    Sos una joya, me gusta la progrmacion (soy analista en sistemas) pero tambien mas me gustan las matematicas y ver tu explicación con esta edicion tan cuidada, tanta información hecha digerible. Hay tantas horas detras de estos 25 minutos de video, no solo de ediciom sino de aprender las matematicas que estan detras y los aspectos del lenguaje C. Tanto amor. Me alegra muchísimo poder conocer tu canal!

  • @user-up4tv2sg1d
    @user-up4tv2sg1d 6 місяців тому +2

    Que locura de vídeo!! está muy bien explicado, sigue así

  • @maduenox
    @maduenox 6 місяців тому +1

    ay wey, mi mente 🤯 - excelente vídeo mi buen, me llevaste de regreso a la uni.

  • @DavidSanchez-dj9ku
    @DavidSanchez-dj9ku 6 місяців тому +2

    amigo que pedazo de video, muy interesante, muy didáctico y divulgativo, me has generado mucha curiosidad en investigar más sobre como se guardan los punto flotante en memoria y el método de newton, más contenido como el tuyo!!!

  • @BeautyInMath
    @BeautyInMath 6 місяців тому +2

    Excelente explicación! No soy programador, pero últimamente me han interesado temas de computación y hace unos meses que he estado buscando entender este algoritmo. Me has resuelto muchas dudas. Saludos.

    • @legado16bits90s
      @legado16bits90s 6 місяців тому +3

      Metele para estudiar una carrera de informatica.

  • @adriansalazar1195
    @adriansalazar1195 6 місяців тому +5

    Guau bro, que excelente nivel de video. Eres un crack. Tienes un nuevo subscriptor. Por favor sigue sacando videos así 👍🏼👍🏼👍🏼

    • @llamaelitista
      @llamaelitista  6 місяців тому

      Gracias, si, estoy pensando en sacar mas algoritmos interesantes de videojuegos.

  • @trujillocdy
    @trujillocdy 5 місяців тому +1

    Una forma más que elegante de resolver un problema y que además le da la vuelta al uso de ensamblador para aumentar velocidad del proceso.

  • @hozquar
    @hozquar 6 місяців тому +5

    Esta super, gracias por la explicación y en definitiva en programación hay genios muy loco

    • @llamaelitista
      @llamaelitista  6 місяців тому +1

      Asi es, debían serlo si querían hacer funcionar esos juegazos en las chatarras de la época xd.

  • @sal_8
    @sal_8 6 днів тому

    QUE BUEN VÍDEO. No esperé encontrarme tanta calidad, ojalá pudiera dejar más de un like.

  • @GustavoFrancia
    @GustavoFrancia 6 місяців тому +8

    los logaritmos son una transformación, convierte un producto en suma y una división en resta.
    Destaco tu didactica para este tema, deberías considerar ello como tu aporte a través de artículos o libros especializados.

  • @erikalvertorockdriguez4115
    @erikalvertorockdriguez4115 5 місяців тому +2

    Y yo que no ponía atención en la escuela pero solo son los maestros que no saben como pasarte esa emoción de aprender.
    Increible video bro ❤

  • @ghostkiller93
    @ghostkiller93 6 місяців тому +2

    Excelente video!!!
    Me hiciste recordar que tengo darle una repasada todo esto en matemáticas y todo eso, mi cerebro está todo podrido por falta de práctica.

    • @llamaelitista
      @llamaelitista  6 місяців тому

      @@ghostkiller93 xd, gracias amigo. Pero ps si estan un poquito pesadas las matemáticas jsjs.

    • @yesidelyesud
      @yesidelyesud 6 місяців тому +1

      Que maravilla de video, espectacular

    • @llamaelitista
      @llamaelitista  6 місяців тому

      ​@@yesidelyesud gracias 😀

  • @oss2046
    @oss2046 5 місяців тому

    Descubrí tu canal hoy, que genial el vídeo a pesar de entender quizás solamente un 50% de la explicación pero parece ser muy ingenioso

  • @nicolasmora6245
    @nicolasmora6245 6 місяців тому

    De los mejores videos de UA-cam que ví últimamente

  • @cdangels90
    @cdangels90 6 місяців тому +3

    Este video me hizo recordar lo magníficos que somos los seres humanos cuando queremos hacer algo bien, eres muy inteligente te felicito excelente video! 🤯

  • @Error-pb6ee
    @Error-pb6ee 5 місяців тому

    el video me apareció por casualidad, lo comencé a ver con un poco de escepticismo, pero al final me fui con algo nuevo aprendido, muchas gracias por la explicación!

  • @vicente6878
    @vicente6878 5 місяців тому

    Esperaba un video ligero, gracioso y ligeramente informativo; terminé repasando software de sistemas, algebra lineal y cálculo, y feliz. Sí se sintió como cátedra, pero fue una buena catedra. Buen video

  • @indominus_nerd
    @indominus_nerd 6 місяців тому +2

    Genial análisis, me encanta la computación gráfica, y la eficiencia de los motores retro. En verdad eran unos genios.

  • @cedric-t6y
    @cedric-t6y 6 місяців тому +2

    muy buen video, finalmente lo entendí, recuerdo haber visto un video en ingles acerca de este código, este video fue mucho mejor!

  • @IshakHeor
    @IshakHeor 6 місяців тому

    Vídeo único en UA-cam! Por favor más vídeos como este! 🎉

  • @vertskap
    @vertskap 6 місяців тому

    hermano ! que vídeo tan majestuoso y sublime. es un deleite, sigue sacando vídeos así por favor ( amo la programación ). si puedes haz llegar este vídeo al canal Derivando, tal vez de con el origen de el número hex ( "mágico" )

  • @martín-h9y6r
    @martín-h9y6r 8 днів тому

    Es una hermosura la lógica por detrás del algoritmo, toda esa parte de la explicación en sistemas me sirvió para refrescar viejos conceptos que tenia abandonado sobre porque C es uma delicia!! (para aquel que si quiere, puede manipular el hardware con las manos desnudas xD). Gracias maestro! Saludos desde Argentina!

  • @GameMaster-lo3ss
    @GameMaster-lo3ss 5 місяців тому +3

    muy buen video! se que John Carmack hizo muchas artes magicas más con otras entregas por ejemplo el desplazamiento horizontal en tiempo real en Commander Keen es digno de un video pues con esa ingeniería Id Software le propuso a Nintendo en que pudieran crear una entrega de super Mario Bros en PC, pero los nipones terminaron rechazando esa oferta.

    • @llamaelitista
      @llamaelitista  5 місяців тому +1

      Interesante 🤔, lo tendré en cuenta.

  • @AngelGarcia-fg9es
    @AngelGarcia-fg9es 6 місяців тому +1

    también me recordaste los temás de métodos númericos como el de newton, bisección y regali falsi modificado, la cual todo estas herramientas tienen sentido en esta implementación! valla genialidad que buenos tiempos cuando era joven

  • @unedocencia1069
    @unedocencia1069 5 місяців тому

    Clase maestra para una solución genial del programador. Mis respetos a ambos. Saludos y gracias por el contenido. Nuevo suscriptor aqui.

  • @hugoivanlozoyobelman6248
    @hugoivanlozoyobelman6248 5 місяців тому

    Nuevo sub, esta muy bueno el contenido, me gustaría seguir viendo más videos como este 👍

  • @ale_ville
    @ale_ville 5 місяців тому +1

    Este video demuestra que hay una enorme diferencia entre saber programar, y solo conocer el lenguaje.

  • @osaka_phong
    @osaka_phong 10 днів тому +2

    1:08 el comentario en esa línea de código fue literalmente mi reacción leyendo este código por primera vez
    11:28 se aplicaria logaritmo para bajar los exponentes y simplificar el calculo

  • @origami2099mx
    @origami2099mx 6 місяців тому +1

    super video, un concepto que marco un antes y un despues de los videojuegos, y de la computacion grafica

  • @xhugen
    @xhugen 5 місяців тому

    que BELLEZA de video, muchas gracias!!♥

  • @jhoncb4012
    @jhoncb4012 5 місяців тому

    Te quedó muy bueno el video, sigue así. Me hiciste recordar el estándar IEEE 754 😂

  • @jorgeenriquez7401
    @jorgeenriquez7401 6 місяців тому

    Me encantó , sigue haciendo videos así por favor

  • @joshuatienda
    @joshuatienda 6 місяців тому

    Te felicito hermano, buenísima tu explicación!

  • @007Mrdaniel
    @007Mrdaniel 5 місяців тому

    Buenísimo el contenido de este video. No he visto más videos de tu canal, pero si de esto se tratará tu canal, te deseo todo el éxito del mundo para que logres pronto contratar editores y guionistas que te permitan mejorar la calidad de tus videos. En ese punto tu canal explotará

  • @Diego_Galan
    @Diego_Galan 23 години тому

    Se aplican logarítmos en base 2 para poder eliminar las bases 2 de las potencias y también porque se pueden bajar los exponentes como multiplicaciones y por otro lado las multiplicaciones en logaritmos representan sumas. Así que es muy útil aplicar logarítmos a ambos miembros de la ecuación. Saludos.

  • @jagc1969
    @jagc1969 6 місяців тому +2

    Me gustó la explicación. Me he suscrito a tu canal. Un saludo.

  • @MarkoTulio
    @MarkoTulio 5 місяців тому +1

    Tu vídeo es increíble 😊

  • @raportmercado1165
    @raportmercado1165 6 місяців тому +2

    gran trabajo, me recordaste temas de cálculo vectorial y cálculo numérico. Suscrito

  • @andymorales7457
    @andymorales7457 6 місяців тому

    Pedazo de video. Es una joya, buena investigacion. Te llevaste mi like

  • @bataabeats9106
    @bataabeats9106 6 місяців тому

    No conocía este algoritmo y cada vez quedo más impactado de los trucos matemáticos que definen la verdadera ingeniería detrás de un videojuego con un buen rendimiento. Este tipo de algoritmos no sólo son mágicos, son una verdadera genialidad de la humanidad, así como muchos otros que nos han dado las benditas matemágicas
    En verdad, qué locura

  • @walterrodriguez2696
    @walterrodriguez2696 6 місяців тому +2

    Un gran video sobre el tema! gracias es muy informativo

  • @mrtetillas7504
    @mrtetillas7504 6 місяців тому +1

    no entendi nada pero gracias, por favor sigue subiendo y explicando este tipo de problematicas y planteos, usare tu canal como base para estudiar cuando tenga la oportunidad de hacer la ingeniería

  • @000Krim
    @000Krim 6 місяців тому

    Muchas gracias, muy interesante desde el punto de vista de la programación y la matemática

  • @karlinet
    @karlinet 6 місяців тому

    Gracias por compartir, creas contenido como los grandes!!! te felicito, suscrito!!!

  • @oftek2135
    @oftek2135 6 місяців тому

    Recien descubro tu canal, creo q lo tuyo es la explicación de codigo, tal como este tema, deben existir muchas historias de programación por descubrir, saludos

  • @InukazeMaquiavelo
    @InukazeMaquiavelo 6 місяців тому +2

    Vaya tenia mucho tiempo sin ver un video que pusiera mi mente a funcionar a tope :D Excelente video, y buenas explicaciones, aunque hubo una pequeña pifiada en el camino. Pero excelente explicacion.

  • @AntonioMontenegro-jb7nb
    @AntonioMontenegro-jb7nb 5 місяців тому +2

    Yo estudio ingeniería informática y la conversión de decimal a binario lo vemos en lógica Algorítmica, buen video.

  • @josejoaquinsantos1393
    @josejoaquinsantos1393 6 місяців тому

    Wow, lograste que no resultará aburrido . La verdad, mis respetos

  • @legado16bits90s
    @legado16bits90s 6 місяців тому +3

    Que crack Jonh Carmack,Ojala tuviera la cuarta parte de la inteligencia que tiene este chabon

  • @zluis2
    @zluis2 4 дні тому +1

    Cuando tienes recursos limitados te obliga a pensar diferente.

    • @elaracuan
      @elaracuan День тому

      Eso es verdad. He conocido programadores cubanos que hacen maravillas con una computadora de bajos recursos.

  • @matiasgrino7342
    @matiasgrino7342 6 місяців тому

    Felicitaciones, excelente contenido académico y entretenido

  • @KolepMorf
    @KolepMorf 6 місяців тому +1

    Realmente entendible.

  • @NsaVmpr
    @NsaVmpr 6 місяців тому

    wow gracias por el material, desde todo punto de vista valiosisimo

  • @candianatan
    @candianatan 6 місяців тому

    No sabía que debía ver este video hasta que lo ví. Es simplemente maravilloso

  • @Zegereth
    @Zegereth 6 місяців тому

    Muchas gracias, exelente explicación 👍🏻,estare pendiente de mas videos...😁.

  • @csargrizzo
    @csargrizzo 6 місяців тому

    Excelente trabajo. Felicidades!!

  • @pichonPoP
    @pichonPoP 6 місяців тому

    No entiendo mucho de lenguajes de programacion, pero me gusto ver este video, muchas cositas muy interesantes de ver y aprender.

  • @judango-2033
    @judango-2033 5 місяців тому

    Amigo muchas gracias por este video me has inspirado para retomar la programación

  • @antonio.scalia
    @antonio.scalia 10 годин тому +1

    Un video de esto please: En los años 80, Tom Duff, un ingeniero de Lucasfilm, descubrió un truco raro en C para optimizar la copia de datos en hardware embebido. Se dio cuenta de que podía fusionar switch-case con un bucle while, lo que resultó en un código bizarro pero eficiente

    • @llamaelitista
      @llamaelitista  9 годин тому

      @@antonio.scalia mmm, interesante 🤔, lo tendre en cuenta.

  • @GabrielxC
    @GabrielxC 5 місяців тому +1

    Excelente video 👌🏻

  • @CodeDibertzStride
    @CodeDibertzStride 5 місяців тому +1

    Y que es precisamente lo que hacen los motores por eso es lindo aprender a programar, porque aprender es saber Programar, Analizar, y saber que hace como por ejemplo el famoso Normalize() detrás, la Programación no es escribir código, es más que eso. Ya entendiendo los conceptos y bases te permite crear el propio código y resolver otros problemas a futuro con esos Conocimientos o mejor aún aprender a crear tu propio Framework o Game Engine para que los Desarrolladores lo utilicen. Por eso siempre digo que los Frameworks y Engines no son de Programación, sino que son de Desarrollo, y confunden Desarrollar con Programar, son 2 lados distintos dentro de la Ing. de Software y Analista de Sistemas. 🤠

  • @guerrerodelbosque
    @guerrerodelbosque 6 місяців тому +4

    Estos programadores si optimizaban los juegos, no como los que tenemos hoy en día

    • @karlinet
      @karlinet 6 місяців тому +1

      estrellita y100 a este comentario!!!!! (Y)

    • @sabayonlin9273
      @sabayonlin9273 5 місяців тому +2

      Tristemente tienes razón, realmente hacen un trabajo crudo en optimización del código, texturas, assets, etc. Cada personaje de un videojuego por si solo pesa varios GB, súmale la música y audio, algunos juegos no aprovechan texturas, cada cosa tiene una textura propia, osea tienen 3 tazas, todas son diferentes y en 4k en juegos AAA actuales. Todo va sumando, lo único optimizado y bien trabajado es el número de polígonos dentro de todo, pero la optimización lleva años, pues si tienes que ver qué recortar, que vincular, y que trabajar, SOLO con el Engine y texturas, música u personajes.
      Nisiquiera de código del juego, hablo de un trabajo sencillo, es costoso, las empresas no van a realizar esto ni en broma, aprovecharán la herramienta que utilizan, el motor con el que trabajan, tienen una fecha límite para la publicación de su videojuego

    • @guerrerodelbosque
      @guerrerodelbosque 5 місяців тому +2

      @@sabayonlin9273 esa es otra, ahora los juegos se trabajan en menor tiempo o tienes menos tiempo antes de su salida, pero los juegos que se toman su tiempo si logran hacerlo bien, ahí tienes el caso de re2 remake o del mismo re4 remake pero luego sacan un warzone con texturas de hace 10 años que no están optimizadas

  • @Saihyorus
    @Saihyorus 6 місяців тому +4

    Soy ingeniero Civil en Automatización (industrial), excelente explicación y me recuerda un código que hice para la aproximación de un sistema de corte de sierras múltiples (5) consiguiendo un error de +-0.05mm una joyita, programado en PLC.

  • @danielitoyagami152
    @danielitoyagami152 5 місяців тому

    Esta muy chido tu canal lo descubri y soy nuevo subscriptor

  • @luzroja29AKApeyo
    @luzroja29AKApeyo 6 місяців тому +1

    muy buen video amigo, honestamente te la rifaste!!!

  • @victorbenjaminghiggodelacr8577
    @victorbenjaminghiggodelacr8577 6 місяців тому +13

    Supongo que el uso de logaritmos que no encontrastes explicación es para darle mayor velocidad de operación a números muy grandes, ya que, por ejemplo no es lo mismo operar n1=3.44*10^50 - 1.76*10^50, para la máquina serian muchos 0 y 1, pero al llevarlo al nivel logaritmico, seria log(n1) = 50.536 - 50.245, y esto es más fácil de operar miles de veces, ya que, estan en bucle todo el tiempo.

  • @axelrodriguezsolis173
    @axelrodriguezsolis173 День тому

    Este video es una verdadera cátedra del uso del pensamiento matemático, en especial para los que preguntan "Pero profe para que me van a servir las matemáticas..."

  • @joposepeph
    @joposepeph 6 місяців тому +2

    QUÉ LOCAZO!!! GRAN VIDEO, BRO!! MIS RESPETOS

  • @thescientifics3553
    @thescientifics3553 6 місяців тому +1

    Muy buen contenido, me gusto mucho.

  • @nahuatlatofl
    @nahuatlatofl 6 місяців тому

    Que ingenio tenian los programadores de Quake y tu video es magnifico

  • @k16style
    @k16style 5 місяців тому +1

    Ese "numero magico" es la direccion en memoria de una variable que la quiso almacenar como una constante. Lo mismo hace con la variable x ya que tambien obtiene su direccion en memoria con el keyword '&'.

  • @stevenadriz7701
    @stevenadriz7701 4 місяці тому

    Todo mi curso de Electrónica Digital 2 resumido en 25min. Me suscribo

  • @jairaguilarpena6072
    @jairaguilarpena6072 6 місяців тому

    Yo soy programador empirico, por que estudie otra ingenieria. Pero este video me motiva mas a estudiar el CS en la universidad por lo interesante que es la algoritmia y la "magia" detras de la programacion. muy bonito video

  • @kristiangd2
    @kristiangd2 6 місяців тому

    muy bueno hermano, te felicito!

  • @bulkatho
    @bulkatho 6 місяців тому

    Que buen contenido estimado ❤

  • @stevenadriz7701
    @stevenadriz7701 4 місяці тому

    Son esos "trucos" de programación en C que lo vuelven un lenguaje ideal para programar microcontroladores. Sería fantástico un video sobre esos trucos y también un poco de lenguaje ensamblador.