Si sabe cómo codificar correctamente, vaya al párrafo tres, de lo contrario quédese aquí … ¡No toque el motor todavía! He estado manipulando UE4 durante un tiempo y, aunque puedo crear casi todo lo que quiera hoy en día, no condole el uso de Game Engine si estás aprendiendo a programar, eliminará todo el código fuente y convertirlo en un diseñador de niveles con cierto conocimiento de un lenguaje de secuencias de comandos muy lento (si realmente lo conoce por cierto tos, tos, huellas azules). Si está interesado en el diseño de niveles y algunas simulaciones que no se ejecutan en tiempo real, le recomiendo que eche un vistazo a Grasshopper para Rhino3D de los muchachos de McNeel, Maya por la excelente interoperabilidad con los principales motores de juego de la industria y Houdini por su potencia bruta casi olvidada Sustancia Pintor es imprescindible para ese último toque de realidad, no saldré de mi habitación. Si eres realmente estúpido como yo, entonces hazlo al revés y comienza desde aquí:
Si realmente está interesado en aprender el verdadero negocio, tómese un café y vaya a codeacademy.com para obtener una sintaxis y lecciones de programación simplificadas en general, después de eso, probablemente será bueno con un buen IDE que le permite hacer cosas sin la exageración de Visual Studio como los que vienen por defecto con Python, el curso de Python IDE. Pon a prueba tu lógica con programas de consola como los primeros que se hicieron. Después de eso, solo intenta resolver cualquier problema de la vida real con tus nuevas habilidades de programación. Si puedes hacer algo como pong, hemos terminado aquí.
Ahora sabemos cómo codificar, tenemos dos opciones, podemos ensuciarnos las manos e ir a tomar un poco más de café para la programación de gráficos hardcore, hola shadertoy.com, CUDA, OpenGL, WebGL y todos esos genios gigantes y hacer nuestro motor de juego desde cero, bien después de algún tiempo manipulando matrices, álgebra lineal, algo de cálculo y por qué no un montón de trigonometría, si estás en este nivel de geek, por favor refiérete a este tipo, su nombre es Iñigo y él simplemente folla mierda mira un un poco de lo que dice:
O podemos comenzar a implementar la lógica del juego sobre lo que ya han hecho los tipos como Epic o Unity a través de sus motores. Sin embargo, las trigonometrías y las matrices son fundamentales para el desarrollo de juegos y 3D en su núcleo, por lo que incluso si no toca los algoritmos de trazado de rayos para el renderizado, es posible que tenga que implementar su propio trazado de rayos para las balas de su arma, o lo que sea, obtendrá el punto Todo es matemática. Obviamente Khan Academy (gracias Sal Khan ahora eres tan rico como los supermillionarios pueden hacerte).
Y bueno, estabas pidiendo un motor de juego para principiantes, así que supongo que Tim Sweeney estará feliz si usas Unreal Engine y, además, los ingenieros de NVidia siempre están al día con la versión del motor cuando se trata de implementaciones de algoritmos de NVidia como Turbulence, Flex , WaveWorks y otros, así que sí, iré con ellos para el desarrollo del juego triple A y por qué no el desarrollo de novatos. Me gusta la diversidad de lo que puedes hacer con él, como por ejemplo PUBG en comparación con el sacrificio de HellBlade Senua, puedes ser incondicional como quieras pero, después de todo, algo se perderá, así que eliges la forma en que optimizas tu sistema. El siguiente enlace le enseña algunos conceptos básicos de C ++ para usar Unreal, pero como dije antes es un concepto básico de C ++ para Unreal Engine, no un elemento básico de C ++.
La unidad, supongo, no es tan mala, ya que algunos buenos juegos que he jugado se han realizado a través de sus tecnologías, Rainbow Six Siege, Escape from Tarkov, aunque mis sentidos de araña me dicen que el lenguaje interpretado que usan en la parte superior para las secuencias de comandos está jodido y conduce a toneladas de errores y retrasos, pero bueno, también puedes hacerlos directamente en el código de máquina, ¿supongo?
** Editar: Me impresionó el orden de magnitud que CUDA tenía sobre OpenGL (speedwise), pero después de aprender a dar vida a algunas escenas 3D con WebGL, debo decir que la portabilidad es algo serio, el siguiente enlace muestra cómo CUDA es superior a OpenCL (tenga en cuenta el CL en lugar de GL, si está utilizando sus habilidades de programación para cálculos científicos no tiene que preocuparse de cómo asignar sus datos científicos claros a una tubería de renderizado, por supuesto que OpenCL es un poco menos rápido que su compañero GL pero entiendes el punto), el segundo enlace es una comparación entre los dos idiomas.
https://arxiv.org/ftp/arxiv/pape …
CudaVsOpenCL – Wiki de Andreas Klöckner
Aquí hay algunas fotos del sitio web que he estado construyendo usando WebGL sin bibliotecas externas (excepto una matriz), esto se está ejecutando en un servidor como puede ver a su izquierda, en Chrome. La escopeta se muestra en tiempo real en mi GPU, ¿adivina qué? Sí, juegos hardcore en tu navegador, bastante bien, y además me convertí en mi primer renderizador 3D desde cero. Debajo de los enlaces para el tutorial que seguí.


En conclusión, la madriguera del conejo es tan profunda como usted lo desea, por lo que podría estar bastante bien con su software 3D de elección para generar geometría y tal vez algún conocimiento sobre cómo automatizarlo y convertirse en un diseñador de niveles, en este punto el rendimiento no es una preocupación ya que nada de lo que haga aquí se actualizará cada 20 microsegundos, o bien, no la geometría en sí misma, por lo que un lenguaje interpretado puede ser perfecto como python (me encanta python y tuve que mencionarlo muchas veces, si realmente te gusta y estás tocando fondo con velocidad, puedes llamar al ejército en PyCUDA). Conocer algunas de las cosas de programación en este punto puede conducir a una programación de juego más avanzada y un cambio a los lenguajes reales compilados, si le preocupa el rendimiento y los gráficos en general, rasca el metal de la computación GPGPU, pero eso va tan profundo como lo desee. debe ser, y la única verdad detrás de esto es que cuanto más sepa sobre cómo se construye el sistema, más control tendrá sobre él, ¡así que busque un compañero más profundo!