Anuncio

Colapsar
No hay ningún anuncio todavía.

que nivel de física debo saber para programar juegos sencillos?

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • C/C++ que nivel de física debo saber para programar juegos sencillos?

    Hola, estoy estudiando programación, en mi carrera, no dan física, es decir, llevo muchisimo tiempo sin dar nada de fisica desde 3ro de ESO, total, aprendí programación y me pico la curiosidad de hacer algún juego, no hablo de hacer un juego en 3 dimensiones o cosas por el estilo(porque supongo que ahi se necesitaria saber, mucha geometria y no estoy por la labor), sino juegos en 2 dimensiones que usen algo de física y sea algo "realista"(tipo angry birds, navecitas, plataformas), estoy leyendo el libro "Physics for Games Programmers" hasta donde he leído, dicen que no se necesita un nivel de física nuclear, sino saber algo de matemáticas, esas las llevo medianamente bien (espacios vectoriales, derivadas, algo de integrales, álgebra lineal...) y he seguido leyendo, hasta que he visto, que también se necesita saber de trigonométrica, saber de ángulos, cosenos...de eso se muy poquito, y menos para entenderlo para aplicarlo a la física (si alguien me lo explica, se lo agradecería mucho)

    entonces...¿que nivel de física hay que saber para programar juegos sencillos?

    gracias

  • #2
    Re: que nivel de física debo saber para programar juegos sencillos?

    Hola, darkmanx1

    En terminos de algrebra lineal te recominedo que estudies un poco de teoria de grupos, en particular grupos de matrices que representen translaciones y rotaciones (a se me olvidaba, tambien "dilations" para efectos de agrandamiento y deformationes).

    saludos

    Comentario


    • #3
      Re: que nivel de física debo saber para programar juegos sencillos?

      Para hacer juegos sencillos no necesitas saber casi nada de fisica. Te basta como mucho conocer las formulas basicas de movimiento y con aceleracion constante, lo que es un vector y saber hacer operaciones lineales: translaciones, rotaciones y escaladados. Con los conocimientos de bachillerato deberia ser suficiente.
      Has dicho que que llevas bien el algebra lineal, pero me da la impresion que no entiendes como se pueden interpretar geometricamente los espacios vectoriales y las operaciones con matrices, si haces esta conexion del algebra lineal con la geometria, ya casi tendrias todos los conocimientos suficientes incluso para hacer un juego en 3d.
      Última edición por abuelillo; 01/01/2014, 11:14:12.
       \left\vert{     \Psi_{UNIVERSE}       }\right>  = \sum \alpha_i   \left\vert{     \Psi_{WORLD_i}       }\right> \text{   } \hspace{3 mm}  \sum  \left\vert{} \alpha_i   \right\vert{}^2 = 1

      Comentario


      • #4
        Re: que nivel de física debo saber para programar juegos sencillos?

        Escrito por abuelillo Ver mensaje
        Para hacer juegos sencillos no necesitas saber casi nada de fisica. Te basta como mucho conocer las formulas basicas de movimiento y con aceleracion constante, lo que es un vector y saber hacer operaciones lineales: translaciones, rotaciones y escaladados. Con los conocimientos de bachillerato deberia ser suficiente.
        Has dicho que que llevas bien el algebra lineal, pero me da la impresion que no entiendes como se pueden interpretar geometricamente los espacios vectoriales y las operaciones con matrices, si haces esta conexion del algebra lineal con la geometria, ya casi tendrias todos los conocimientos suficientes incluso para hacer un juego en 3d.
        gracias por responder, hasta donde se de espacios vectoriales, nuestro profesor explico un poco, como se representan en el espacio y en el plano, es mas, no nos enseñan como representar vectores en el plano y el espacio, aunque si tengo idea, pero no es el objetivo de nuestra carrera, solo dar un vistazo general de las matemáticas, de todas formas, no creo que sea tan complicado si me lo estudio por mi cuenta, no de manera exahustiva, sino para conocer un poco como funcionan estas cosas, ya que hoy en dia, existen buenas librerias de juegos (libgdx, box2d..), digo yo, con que saber manejar las funciones y clases de esas librerias seria mas que suficiente para hacer algo sencillo, sin preguntar, porque tal función realiza eso (principio de abstracción de programación...)...porque si me pongo en el peor de los casos, hacer mis propias librerias con algo de fisica y matematicas utilizando geometria, me daria tal palo que no me levantaría en años D

        Comentario


        • #5
          Re: que nivel de física debo saber para programar juegos sencillos?

          Una buena librería para programar juegos sensillos es SDL pero en cuanto al manejo de los dipositivos de entrada y salida (video, teclado, joystick). Cada pixel en la pantalla es mapeado por un conjunto de números (a,b) en lo que la librería llama screen (pantalla de la consola) una vez configurada su dimensión. La posición (0,0) es el pixel en la parte superior izquierda de la pantalla, y de esa manera se puede ir recorriendo todos los pixeles del screen. Por ejemplo si defines el tamaño del screen (consola) de 800X600, la posición (400,300) será el pixel del medio.

          Ahora bien, esta librería te dará todo lo necesario para el manejo gráfico, manejo del teclado, joystick, etc. En cuanto a la programación del movimiento depende de ti. C/C++, al utilizar punteros, permite la definición y el manejo de vectores y arreglos. Cada punto en la pantalla es representado por un par de números en la pantalla al igual que cualquier posición en el plano (vector posición). Las operaciones de los vectores están en la definición de espacio vectorial, puedes hacer tus propias funciones que tomen como argumento vectores y escalares y devuelvan lo que tu quieras, respetando o no las operaciones vectoriales, eso depende del grado de realismo que le quieras dar.

          Por ejemplo si quieres simular la fuerza gravitatoria que sentiría un obejto, para simplificar un solo pixel que está dado por *posicion1 debido a un objeto en el pixel *posicion2 sería:

          void fuerza (double *posicion1, double *posicion2, double t )
          {
          double fx, fy;
          double diferencia [2]= {0,0};

          diferencia [0] = posición1 [0] - posicion2[0];
          diferencia [1] = posición1 [1] - posicion2[1];

          fx = G*m*M / (pow(2, diferencia [0])); //G, m y M sería constantes
          fy = G*m*M / (pow(2, diferencia [1]));

          //la nueva posicion de la partícula 1 sería
          posicion1[0] = ( fx *pow(2,t) )/ (2*m) ;
          posicion1[1] = ( fy *pow(2,t) )/ (2*m) ;

          return;
          };

          porque si me pongo en el peor de los casos, hacer mis propias librerias con algo de fisica y matematicas utilizando geometria, me daria tal palo que no me levantaría en años
          Que hagas una librería no significa que es solo para vos, puede ser una contribución a la programación.

          Comentario


          • #6
            Re: que nivel de física debo saber para programar juegos sencillos?

            Hola!, este es mi primer mensaje así que aprovecharé la ocasión para saludar a todos los miembros de este fantástico foro.

            Vamos al grano. Hay un entorno de programación llamado Unity3d que te provee de un mundo virtual en 3D donde se cumplen las leyes de la física. Se puede programar en C# o UnityScript que es un derivado de Javascript, prácticamente con la misma sintaxis que javascript. Con la versión gratuita de Unity3D podrás crear juegos para PC, MAC y la web, es decir, para jugar on line. Si quieres desarrollar juegos para Iphone, Android o las diferentes consolas tienes que comprar la licencia correspondiente pero en comparación con otros entornos similares es más económica. Después tienes la versión profesional que es más potente, tiene más herramientas que te facilitan el desarrollo y es de pago pero también es más económico que la competencia.

            La mayoría de los juegos en 3D que se crean hoy en día para jugar on line, Iphone, Android o consolas tipo WII o PSVita han sido creados con este Entorno de Desarrollo o IDE.

            Y si lo que quieres es crear un juego en 2D de plataformas también puedes hacerlo, solo tienes que restringir los movimientos del personaje a los ejes X,Y y dejar el eje Z a 0, y colocar los elementos de cada pantalla en la posición 0 del Eje Z.

            Para programar en este entorno no necesitas conocimientos de física más allá de saber lo que es un vector y las 4 operaciones matemáticas básicas ya que el sistema tiene todas las clases que te permitirán trabajar con el mundo 3D, solo tendrás que añadir esas clases al objeto que crees y automáticamente le dotarás de las características de cualquier objeto en el mundo real, se verá afectado por la gravedad y responderá a las colisiones en función del material que le asignes.

            Nada más descargarlo puedes empezar a programar con el entorno, es extremadamente sencillo. Creo que si lo pruebas te engancharás. Yo no tengo conocimientos de matemáticas ni física y mis conocimientos de programación son muy básicos y en un par de días metiéndole caña he llegado a hacer cosas que nunca habría imaginado que podría hacer programando.

            La página oficial es ésta: http://unity3d.com/unity

            Lo puedes descargar de aquí : http://unity3d.com/unity/download

            Este es el foro oficial en Español : http://www.unityspain.com/index.php/2011-12-10-18-31-17

            Y esta es una web para aprender los primeros pasos de forma muy sencilla, pero está en Inglés : http://www.unity3dstudent.com/. Yo empecé con esta web y si sabes un poco de inglés te recomendaría empezar por ella aunque aquí programan con UnityScript, pero te servirá para hacerte una idea rápida de las posibilidades del entorno, luego puedes pasar a C# que es más potente.

            Espero te sirva y te animes y os animeis a probarlo.

            Comentario


            • #7
              Re: que nivel de física debo saber para programar juegos sencillos?

              Bueno, depende del juego que vayas a crear es el nivel de física que debes saber. Para un juego sencillo como ahorcados, tres en línea (tic-tac-toe) o parecidos sólo debes saber programar (y claro, saber usar la lógica ).
              Última edición por Brayan Jaimes; 08/04/2014, 01:34:22.

              Comentario

              Contenido relacionado

              Colapsar

              Trabajando...
              X