Jajaja pues tengo ganas de ir mejorando este motor la verdad, y que se puedan hacer juegos medio decentes con él. Os iré poniendo al corriente si le añado cosas :P
Pienso que puede ser interesante introducir una capa más y crear el concepto Scene. La cámara está en el Main, por lo tanto al no haber un SceneManager de por medio, no podríamos configurar bloques completos de MainCamera, DirectionalLight y todo lo necesario para construir la escena. Pero esto, más que una pega, es una mejora, y te agradezco tu video porque me animó a ponerme con mi propio motor. GRacias!
¡Hola Pedro! ^^ Sin duda, crear las escenas es el siguiente paso que tengo que dar para poder hacer un juego con este motor. Sin eso es imposible hacer nada más aparte de lo que enseño en el vídeo xD Tengo que investigar cómo hacerlo correctamente porque meter escenas en el engine implica que hay que cargar y descargar muchas cosas de memoria cuando quiera cambiar de escena, y eso... es peliagudo jajaja Probablemente haya que meter un thread secundario para eso, y gestionar las pantallas de carga de alguna manera ¡Muchas gracias por el consejo! :) :)
bro, quiero creear un shooter de supervivencia/tactico con mapas de 600m(agregas fisicas tipo, caida,velocidad,angulo de inclinacion etc etc) pero no tengo ni idea, si busco inf de promragacion de c++ me sirve o que lenguaje usa directamente?
¡Hola! ^^ Creo que lo más fácil es que lo hagas en Unity y C#, hay muchos vídeos en YT de cómo hacer juegos de supervivencia con ese motor. ¡Un saludo!
Hola amigo Bala_7 menudo video flipante amigo :); perdon por llegar tarde pero estuve un poco ocupadillo xd, respecto a tu video esta muy informativo y educativo, porque nos acabastes de explicar como funcionan estos motores graficos y la verdad esto tiene un gran proceso, yo de niño siempre me preguntaba cual es el proceso de esto y tu acabas de explicar todo perfectamente :o. ya centrado en lo de graficos bala7 tengo unas preguntas que no mencionastes en el video, si estamos hablando de graficos sabes como hacen los desarrolladores para implementar las sombras a los objetos? Como sombra a los peatones, vehiculos etc.. y de que motor trabajan las sombras?. Otra pegunta respecto a graficos sabes como funcionan o agregan los supuestos "Enb Series" o "shadders" es decir los reflejos realistas como es los autos, en los vidrios y en el agua y la luz del sol?? Espero tu respuesta ❤😎😎✌🎊🎉
¡Hola Kawa! :D :D No te preocupes hombre, ya ves que yo también llego tarde a responder los comentarios xDD Respecto a tus preguntas, las sombras dependen de la parte del motor que maneja la iluminación. Cada triángulo de un modelo 3D tiene una textura, y esta tiene en cada punto un color asociado. Este color de la textura se modifica para hacerlo más oscuro o más claro dependiendo de las luces del entorno. Para calcular cuánto hay que modificar el color hay muchas técnicas que utilizan los motores, desde precalcularlas cuando se diseña el nivel, hasta el ray-tracing en tiempo real. Hay muchos libros para estudiar sobre el tema, te recomiento buscar algo de iluminación en OpenGL para que veas un poco cómo funciona, porque es bastante complejo el asunto xDD Los shaders por ejemplo funcionan de forma parecida, es otro tipo de modificador del modelo que se escribe con código (hay un lenguaje específico para programar shaders) y funciona parecido a las luces, en el sentido de que lo que hace es modificar propiedades del modelo 3D base. Lo que no recuerdo es si se aplica antes el shader o las luces, creo que primero es el shader xDD O a lo mejor depende del engine, ni idea. Perdona por tardar en contestar pero es cuando he podido encontrar un hueco :D :D
te quedo buenisimo, hace unos meses queria hacer lo mismo pero no sabia como empezar asique ahora puedo basarme en tu engine para ver como hago el motor. +10
Gran proyecto! Tambien quiero hacer un motor 2D propio pero no se que nivel C++ necesito para poder lograrlo. POO, algoritmos y muchas matemáticas supongo. Le daré un vistazo al libro que recomendaste, saludos!
Bueno C# está muy bien para algunas cosas, como hacer juegos en Unity por ejemplo :D :D Lo de que se te hará facilísimo C++... ya no estoy tan de acuerdo xD Puede que te resulte fácil aprender lo básico de C++ si sabes C#, pero luego C++ te ofrece mucho más, y ahí vas a tener que ponerte a estudiar de verdad :V
¡Hola Jack! ^^ Es uno de los proyectos que tengo en mente jajaja Pero me gustaría que fuese multijugador, así que tengo que informarme primero sobre ello a ver cómo podría hacerlo :D
La verdad no se por que pero siempre me a gustado saber como funcionan los videojuegos y que hay detras de esos graficos pero gracias a ti puedo saber como funcionan una caracteristicas de los videojuegos que me gusta es la iluminacion y sombras a y estuvo genial el directo que hiciste
¡Muchas gracias Samir! ^^ A ver cuándo saco un rato para hacer otro directo que yo también me lo pasé muy bien. Estoy planeando nuevas cosas para el canal y una de ellas me gustaría que fuera al menos un directo semanal con horario fijo, por ejemplo los lunes por la noche o algo así. Otra cosa es que luego lo cumpla xDD pero estoy trabajando en ello jajaja De las luces de los videojuegos me gustaría hacer un video porque haciendo este motor he leído libros que tienen cientos y cientos de páginas solo para las luces, así que da para hablar mucho xDD
fase 1 hacer un juego sin motor fase 2 que lea carracterísticas que el usuario añade fase 3 guardar la istancia editada por el usuario como otro programa independiente
En mi opinión no vale la pena crear tu propio motor bueno si lo quieres publicar para cobrar esta bien pero tardaría años en hacer todo lo necesario como físicas online tipos de gráficos sonido líquidos etc. Mejor usar otros motores aunque te cobren:v
Por supuesto. Si quieres hacer un juego lo mejor es que utilices un motor de los que ya existe, te llevará mucho menos tiempo y esfuerzo. Aún así recomiendo hacer un motor sencillo a todos los que quieran ser programadores, te ayuda mucho a comprender cómo funcionan por detrás otros motores como Unity o Unreal Engine, lo cual ayuda mucho cuando se programan juegos de cierto tamaño :D
¡Hola Aunam! ^^ Justo cuando empecé a programar, hice algo parecido en C# usando XNA como librería gráfica. Puedes probar con el libro 'XNA 4.0 Game Development by Example: Beginner's Guide'. Al menos me valió para hacer un pequeño motor para juegos en 2D, pero no se si tiene para 3D también. Lo malo es que Microsoft ha dejado de dar soporte a esta librería gráfica (se usó mucho en Xbox360, y creo que un poco en XboxOne), así que no la van a actualizar más. Pero para aprender seguramente te sirva igual :) ¡Un saludo! :D
@@martinezlucassebastianpan4178 Bueno, son relativamente parecidos en el sentido de que las cosas que haces con C# se pueden traducir fácilmente a C++, aunque luego si te metes en detalles y cosas avanzadas de C++, ves que puede dar muuuuuucho más de sí, sobre todo con las últimas revisiones de C++ :D :D
Aún no me he metido en cómo hacer un editor para el engine, pero creo que lo ideal sería mezclar OpenGL con algún otro sistema de ventanas. Ahora mismo estoy rehaciendo este motor desde cero, y en algún momento quiero hacerle un editor. Cuando lo tenga listo hago vídeo xD
¡Hola happy ness! ^^ ¡Sí! El proyecto de Fortnite ya lo tengo avanzado así que dentro de poco le tendré que hacer el mapa. En cuanto me ponga a ello hago vídeo :)
hacer un mapa es todo de tu creatividad, necesitarias crear los meshes o modelos, por ejemplo los arboles, las casas, y hacer el terreno Asi que tendrias que aprender a modelar en blender o automax 3ds el que mas te guste. Ha y muchos tutoriales de blender!
Hola, yo tengo una compu windoes 8.1 de 2013, no he podido actualizarla, si descargo una version vieja de C++ aún puedo programar un juego en 3d??? Me gustaría mucho 💖
Mmmmm...osea hacer un motor de videojuegos es usar una librería gráfica y hacer un juego con el?, Esq yo ya hice algunos juegos con sfml y ahora quería saber si como hacer un motor de videojuegos.
Llego algo tarde pero un motor de videojuegos no necesariamente tiene que ser una aplicación con editor integrado como Unity o Unreal, un motor de juego se define como lo que hace que un juego funcione y eso también puede ser el código del juego en bruto, por ejemplo, el motor de Doom (el primero) no es más que programación pura y dura la cual mucha gente agarra y modifica para hacer sus propios proyectos (aunque claro, también ya hay editores para ese motor pero son cosas externas). Si haces un tetris técnicamente ya has hecho un motor en el que corre ese tetris, solo que si quieres hacer otra cosa es obvio que vas a tener que modificar el código para incluir más funciones según tus necesidades.
¡Hola Ferney! :D Uf eso se escapa a mis conocimientos de momento xDD De hecho estuve investigando ese tema para poder hacerle una interfaz de ese estilo a mi motor, pero parece complicado jajaj Si avanzo un poco este proyecto del game engine a lo mejor me pongo a investigar de verdad cómo hacerle una buena interfaz ¡Un saludo! ^^
¡Hola dan! :D Animaciones todavía no se pueden hacer con este motor, pero estoy leyendo ya sobre el tema para implementarlas :D Los remates de mw no se muy bien a qué te refieres xDD ¡Un saludo! :)
Comentario desde la matemática, las operaciones con matrices pueden encontrarse en libros de Álgebra lineal, no en los de geometría proyectiva, ya que esta rama es la que suele explicar puntos de vista sin hablar mucho de medidas y de cálculos. Saludos
Hola Ignacio :D Bueno supongo que dependerá del libro xD Desde luego los fundamentos de las operaciones con matrices sí que se encuentran en los libros de Álgebra Lineal, pero al menos los libros que yo tuve de Geometría Proyectiva en la carrera también detallaban todas las operaciones y había ejercicios y eso :D
Buen video, estoy investigando no como hacer motores de videojuegos, sino más bien, que hace que una empresa haga el suyo propio. Personalmente, y creo que con un poco de ahorrarse tener que pagar por usarlo, y tener un mejor control de manera interna. Pero, en estos tiempos me nace una pregunta, de verdad vale la pena viendo el nivel que tiene Unity y no se diga Unreal Engine, de hacer un propio motor, creo que debe ser algo muy puntual, mírese la empresa de Remedy Studios, y el tipo de juegos que desarrollan.
¡Hola! :D Puede haber muchas razones para hacer un motor interno, pero dos de las más importantes son como bien dices el dinero, y el control sobre el motor. Por ejemplo Unity tiene muchas limitaciones que salen a la luz cuando intentas hacer un proyecto lo suficientemente grande, y eso puede ser un lastre enorme para una empresa. Imagino que en Unreal sucederá algo parecido, aunque no conozco lo suficiente de ese motor como para opinar. Otro ejemplo es que cuando el motor falle en algo, lo puedas arreglar. Hay canales para comunicarse con los devs de Unity y Unreal pero son lentos y puede que no te den el soporte que necesitas. Si los que hacen el motor están en tu misma empresa es mucho más fácil esto. Y luego que si el juego vende mucho, hay que pagar mucho dinero a estas empresas (Unity y Epic), así que es lógico que un estudio prefiera quedarse este dinero para ellos mismos :V Espero haberte ayudado, ¡un saludo! ^^
@@Bala7 Claro, lo del pago es obvio por el uso de la herramienta, pero al mismo tiempo todo ese tema de motor propio, trae otro problema, o al menos eso parece. Por ejemplo, hace unos días veía un video de un canal de análisis de juegos, y hablaban de un problema que tiene Halo actualmente, y es que el motor que usan, aún sigue siendo el mismo que crearon los que crearon el primer Halo, claro ha de tener muchas modificaciones y actualizaciones, pero al mismo tiempo arrastra problemas, de que al no estar mucha gente que debe entrar a conocer el el motor y otros problemas de este, no permite avanzar al ritmo que desean lo que quieren hacer el 343 industry, al punto, que dicen bajo cuerda, que quizás, el próximo motor sea el de Epic. Tengo ahora otra duda XD, tienes algún video o ejemplo donde expliques que empresa empezó hacer algo con Unity, y le paso que no le servía del todo y por qué?
¡Pues me lo apunto! La verdad es que sí es interesante, sobre todo por cómo manejar la base de datos de crafteos para encontrar el que estamos haciendo instantáneamente. Le daré una vuelta en mi cabeza a ver si se me ocurre alguna solución sencilla :D :D
¡Hola Alexander! :D Pues para hacer un motor pequeñito no hace falta un pc muy potente la verdad, piensa que vas a renderizar cosas muy simples comparado con lo que ocurre en Unity o Unreal xD Pero cuanta más potencia tenga mejor, claro :D
yo como estudio ingeniería civil informática, conozco de lo que dices, igual para crear un juego en si, igual hay que aplicar muchas cosas, como algebra, física, calculo, geometría, algebra lineal (para la inteligencia artificial) y un montón de cosas igual crear un juego no es sencillo y lo mas fundamental necesitarías un grupo de trabajo ya que son miles y miles de líneas de código dependiendo del lenguaje de programación a utilizar ejemplo, Python ya que es el lenguaje mas utilizado en la actualidad o puede ser unreal engine,etc etc etc....
¡Hola Alex! ^^ Efectivamente hay que saber algo de matemáticas para hacer juegos, todo depende del tipo de juego que sea, y cuánta gente tengas en el equipo. También hay juegos hechos por una persona que son geniales, como Stardew Valley. Pero sí, en general es algo que requiere mucho trabajo y muchos conocimientos :D
Hola FXiques :D Me gustaría mucho, pero todavía no se cómo hacer eso xD Una de las cosas que me gustaría añadir al motor es un editor, así que cuando aprenda, intentaré hacer el vídeo :)
Jajaja ojalá, pero eso ya es next level. Me suena que Jonathan Blow (el creador de Braid y The Witness), empezó a crear su propio lenguaje de programación, que era más eficiente porque era data-oriented (movidas de compiladores), y eso me dejó la cabeza loca. No se si lo terminó o si sigue con ese proyecto la verdad xDD
Me gustaría meterle más cosas sí, pero sin duda es un proyecto complejo. Hacer uno como este del vídeo es relativamente fácil, siguiendo tutoriales y tal. Lo siguiente que me gustaría hacer es aprender bien OpenGL, y luego con suerte, hacerle un editor para poder crear las escenas con una ventana gráfica estilo Unity/Unreal (mucho más simple por supuesto).
¡Hola Jack! ^^ Estoy pensando en abrir un Discord del canal, aunque sea para avisar de los vídeos y directos :D :D En cuanto lo tenga listo os avisaré :)
¡Hola Pablo! :D Tal y como está ahora no se puede. El motor usa C++ y las librerías que uso también están pensadas para este lenguaje. Supongo que sí se podría seguir expandiendo el motor en C++ y hacer una API para que se pueda llamar desde un código C#, de esa forma se podrían programar los juegos en C#. Pero es complicado xD
fuaa chabon re piola a mi me encantaría hacer mi propio motor pero lo hago porque quiero hacer un proyecto en mente que no concuerda con los motores mas famosos del mercado actualmente, que libros me recomendarías a demás de el primero para saber mas? o con ese ya tenes suficiente para hacer lo que yo busco?
Me suscribo por la importancia al principio de nombrar al libro, yo estoy aprendiendo a programar por libro también, y aunque debo de comprarlos en el extranjero y salen caros por ese echo, es la mejor manera de aprender a programar y saber como funcionan las cosas.
Si es posible es recomendable bajarlos en línea por el mismo motivo, teniendo en cuenta que no todos tenemos las facilidades geográficas. Lo mismo con las facilidades económicas, aunque ahí entra en juego si estás en contra de piratear un libro, en tal caso solo habría que preferir la compa de ebooks si es que es posible.
Oye Bro ¿crees que se pueda crear un juego para ps2? Si se puede creare el Minecraft pero lo haré de una sierta manera para que no sea pesado y no exista el lag
¡Hola Fabian! :D :D Realmente no creo que sea posible hoy día hacer juegos para PS2 la verdad :/ Lo que puedes intentar hacer es un juego para PC o móviles que imite la estética de PS2, hay tutoriales en RU-vid explicando cómo hacerlo con shaders concretos y el resultado es bueno. Ya lo de crear Minecraft más ligero y sin lag... si es más ligero tendrás que quitarle muchas cosas al Minecraft original, y por otro lado si tiene online, va a tener lag sí o sí (depende también de la conexión y localización de los jugadores). Piensa que Minecraft lo hace Mojang que es una empresa enorme con programadores muy expertos... ¡Un saludo!
ahora mismo estoy en una discucion interna, por saber si debo dejar de estudiar c++ y enfocarme mejor en c# por la facilidad que me da en Unity. diganme, ?me dedico a estudiar solamente c# o seguir estudiando c++ para hacer videojuegos?
Diría c# si tu pc corre Unity si lo corre y también el unreal enguine pues debes aprender los 2 yo voy a aprender c++ por su facilidad con OpenGL y poder crear un motor gráfico porque mi pc es una papa
@@Bala7 si al menos quedo bastante bien y es lo que hace que valga la pena ya que el 90% son de paga y al menos uno poder hacer el propio es almenos "relajante" en cierto sentido