Bennu Game Development

Foros en Español => Extensiones => Topic started by: l1nk3rn3l on December 26, 2017, 10:13:14 AM

Title: Tunja3D
Post by: l1nk3rn3l on December 26, 2017, 10:13:14 AM
Para estar a la vanguardia, estamos terminando un motor 3D especial para recrear planetas,
el cual usaremos para proyectos comerciales del grupo,
deseamos compartirlo con la comunidad,

ya que un motor como ogre3d o urho3d no están disenados para tal fin,

El grupo  esta creando un Nuevo Motor sobre OpenGL   y portable :

Nombre clave : Tunja3D

El motor tendrá gráficas similares a esto:

(https://i.ytimg.com/vi/jqoIeZEAlcU/hqdefault.jpg)
(http://old.spaceengine.org/_fr/5/8845371.jpg)

+ Renderizar planetas enteros
+ Editor
+ Físicas sobre planetas (prota , vehiculos, NPCs , etc)
+ montañas, carreteras, arboles,  y océanos
+ Requiere Hardware de bajos requisitos (no esperen efectos al estilo star citizen , pero si planetas grandes como ese motor  )
+ Motor diseñado para que el equipo de programadores y el equipo de diseñadores puedan personalizarlo ..
(optimizarlo sera tarea de ambos para obtener los mejores fps)
+ Motor  apto para crear juegos estilo mario galaxy / no mans sky / star citizen   
+ Tambien puedes crear algo como Mario kart, Mario64, GTA, ...
+ No es apto para la mineria como minecraft o terraria.. (No es voxel)


Nuestra inspiración fue No Mans Sky, y luego Star Citizen... y luego nos preguntamos acaso PODEMOS HACERLO y que corra en equipos de bajos requisitos ?  :P
No mans Sky https://www.youtube.com/watch?v=yi-MRTMxLlQ (https://www.youtube.com/watch?v=yi-MRTMxLlQ)
Star Citizen https://www.youtube.com/watch?v=Sx9JJYBnuqU (https://www.youtube.com/watch?v=Sx9JJYBnuqU)



Motor Disponible en : xx/xx/2018
Title: Re:Tunja3D
Post by: SplinterGU on December 26, 2017, 07:59:29 PM
esto integrado con bennugd? o es una cosa aparte?
Title: Re:Tunja3D
Post by: l1nk3rn3l on December 26, 2017, 10:03:16 PM
Como un modulo bennugd ...   se podrá crear una galaxia de planetas con poco código...(incluyendo las ciudades)

los otros motores (cartagena3d y beogre se ponen en standby ) ya que el motor de
planetas ofrece mas cosas... por lo tanto requiere mas prioridad..
(la verdad no sabemos cuando terminemos beogre y cartagena3d, jejejee ,
pero este de planetas si que si..)

Maestro Splinter: Ya que estas a la mano, es posible adicionar en bennu , la capacidad desde
un modulo , el render a textura en lugar de render a pantalla?

1. entiendo que bennu renderiza  a  SDL_Surface* screen
2. luego imprime a pantalla       SDL_Flip( screen );

3. es posible crear cambiar ese flujo , si se especifica desde un modulo?
A. bennu renderiza  a  SDL_Surface* screen
B. no imprime en pantalla

C. entonces nosotros podemos coger esa SDL_Surface en cada frame,  e imprimirla en opengl manualmente..
como una textura Opengl claro.., asi el 2D  de bennu funcionaria + opengl al tiempo...

eso es posible? , sino, entonces se puede cambiar eso en el repositorio para poder usar el potencial de
opengl sin afectar el render actual..., tener una opción para los módulos que indique que se renderiza
a textura , mas no a pantalla...

Muchas Gracias Maestro..






Title: Re:Tunja3D
Post by: Drumpi on December 27, 2017, 12:07:31 AM
Entiendo que esto es entonces un motor similar al de los terrenos de Unity, donde a través de un mapa de alturas se modifican la altura de los vértices de una cuadrícula plana 3D. Y donde digo, un mapa de alturas, digo que se epecifica "de alguna manera" la altura de cada punto y posiblemente su posición, dando lugar a terrenos, pero que no admitirían cuevas, puentes ni ninguna estructura que se superponga al terreno sin usar una malla adicional ¿no?
Title: Re:Tunja3D
Post by: SplinterGU on December 27, 2017, 03:01:59 AM
Quote from: l1nk3rn3l on December 26, 2017, 10:03:16 PM
Como un modulo bennugd ...   se podrá crear una galaxia de planetas con poco código...(incluyendo las ciudades)

los otros motores (cartagena3d y beogre se ponen en standby ) ya que el motor de
planetas ofrece mas cosas... por lo tanto requiere mas prioridad..
(la verdad no sabemos cuando terminemos beogre y cartagena3d, jejejee ,
pero este de planetas si que si..)

Maestro Splinter: Ya que estas a la mano, es posible adicionar en bennu , la capacidad desde
un modulo , el render a textura en lugar de render a pantalla?

1. entiendo que bennu renderiza  a  SDL_Surface* screen
2. luego imprime a pantalla       SDL_Flip( screen );

3. es posible crear cambiar ese flujo , si se especifica desde un modulo?
A. bennu renderiza  a  SDL_Surface* screen
B. no imprime en pantalla

C. entonces nosotros podemos coger esa SDL_Surface en cada frame,  e imprimirla en opengl manualmente..
como una textura Opengl claro.., asi el 2D  de bennu funcionaria + opengl al tiempo...

eso es posible? , sino, entonces se puede cambiar eso en el repositorio para poder usar el potencial de
opengl sin afectar el render actual..., tener una opción para los módulos que indique que se renderiza
a textura , mas no a pantalla...

Muchas Gracias Maestro..








muy bueno lo del motor...

a ver si entiendo, lo que dices es el render final a un surface? actualmente no, pero puedes hacer que todo proceso se renderice a un mapa e incluso creo que todo lo demas (si mal no recuerdo) y desde el modulo puedes tomar el mapa y renderizarlo en opengl... el tema seria que el surface de pantalla de bennugd seguiria estando...

a menos que desde el modulo cierres el surface de pantalla de bennugd y de alguna forma engañes a bennugd como que existe para que no reviente... (imagino que reventara si no esta...)

la verdad que no se, requeriria de un cambio en el core, dependiendo de la otra parte (el motor externo) tambien.
Title: Re:Tunja3D
Post by: l1nk3rn3l on December 27, 2017, 06:22:01 AM
Sacaremos un tiempo para intentarlo, creo que bennu debería seguir renderizando a 2d , solo que no a pantalla,
y usar esa surface sdl para convertirla a textura opengl si se requiere... (y ya tenemos 3d  )

Creo que desactivando (con una variable global) solo el render 2d en :

https://sourceforge.net/p/bennugd/code/HEAD/tree/modules/librender/g_screen.c (https://sourceforge.net/p/bennugd/code/HEAD/tree/modules/librender/g_screen.c)

if (! opengl_render)
  SDL_Flip( screen ) ;

...
...
if (! opengl_render)
  SDL_UpdateRects( screen, updaterects_count, rects ) ;
Title: Re:Tunja3D
Post by: SplinterGU on December 27, 2017, 11:33:56 AM
el tema es que es muy costoso subir la textura en cada frame...
Title: Re:Tunja3D
Post by: l1nk3rn3l on December 27, 2017, 05:23:06 PM
se comeria como 4-6 fps mas o menos...   del rendimiento general usando 3d con 2d...

usando 2d no se notaria
usando 3d no se notaria

solo mezclando ambos... (me refiero al render software con el render 3d )

de por si el render 3d tiene 2d nativo.. a eso me refiero..

Seria probar cuanto baja el rendimiento en la mezcla..
Title: Re:Tunja3D
Post by: SplinterGU on December 28, 2017, 12:34:23 AM
no se si solo 4 o 6 frames mas, depende del hardware.
Title: Re:Tunja3D
Post by: l1nk3rn3l on September 19, 2018, 02:03:09 AM
 ;D

Nuevos progresos del motor de planetas ...


(https://preview.ibb.co/d2JD4z/Sin_t_tulo1.jpg)
(https://preview.ibb.co/meAFHK/Sin_t_tulo2.jpg)
(https://preview.ibb.co/knh6Pz/Sin_t_tulo3.jpg)

requiere tarjeta Opengl 4.5 compatible

pronto mas noticias
Title: Re:Tunja3D
Post by: SplinterGU on September 19, 2018, 12:48:38 PM
muy bueno!
Title: Re:Tunja3D
Post by: FreeYourMind on November 09, 2018, 09:45:48 PM
Felicidades se ve brutal