Test de mi gameEngine en C++

Todo aquello que no está relacionado con Gemix Studio ni con la programación DIV en general.

Re: Test de mi gameEngine en C++

Postby Hokuto7 » Thu Dec 13, 2018 11:52 am

CicTec wrote:Pues eso es precisamente el motivo por el cual no hago una libreria/framework como me preguntaste una vez, el utilizo requiere un nivel bastante mas avanzado por parte del usuario y seria uno de los muchos frameworks en la calle, en el caso de erkos que se monta algo principalmente para uso personal puede estar bien, pero si principalmente esta pensado para el utilizo al publico, ya hay mucho hecho para eso, asi que mejor me siga encentrando en el proyecto Gemix intentando mejorarlo mas que pueda en lugar que reempezar todo nuevamente o hacer algo extra de 0.


En realidad yo te lo dije para ahorrarte trabajo no porque a mi me paresca lo mejor,si utilizas una libreria por ejemplo como raylib el trabajo de mantenimiento lo hace otra persona,tu solo tienes que ir retocando algunas cosas o ir introduciendo otras,porque veo que para añadir cosas nuevas en gemix es mucho trabajo por lo que veo y tal vez utilizando una libreria podrias avanzar mas rapido y seria menos trabajo para ti.

Lo que veo de positivo de hacer librerias estilo div es que si no funciona pues la dejas y te pones a realizar otra libreria con otro lenguaje pero en el caso de gemix o cualquier divlike es un trabajo inmenso el mantenerlo y si no funciona el creador no vuelve a realizar nada mas porque despues de tanto esfuerzo y trabajo ve que no ha servido de nada y lo deja.

Pero como ya he dicho esto solo te lo dije para ahorrarte trabajo y esfuerzo,pero si tu sigues con ganas de seguir con gemix pues perfecto. :)

Erkozone!,yo no tengo problemas con el sistema operativo el problema es del driver grafico que es del 2009 y los señores de intel no han hecho mas actualizaciones,lo que hare mas adelante es hacer una particion del disco duro y instalar window xp y window 7,porque he leido que el problema que tengo se soluciona con window xp pero hasta que no lo pruebe no se si es verdad lo que dicen.
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en C++

Postby CicTec » Thu Dec 13, 2018 1:58 pm

Hokuto7 wrote:En realidad yo te lo dije para ahorrarte trabajo no porque a mi me paresca lo mejor,si utilizas una libreria por ejemplo como raylib el trabajo de mantenimiento lo hace otra persona,tu solo tienes que ir retocando algunas cosas o ir introduciendo otras,porque veo que para añadir cosas nuevas en gemix es mucho trabajo por lo que veo y tal vez utilizando una libreria podrias avanzar mas rapido y seria menos trabajo para ti.

Si lo entiendo, pero en realidad no voy a ahorrar trabajo, lo haria en el caso que la libreria tenga todas las caracteristicas que necesite, pero si la libreria tiene carencias tienes que esperar que las ponga el autor y si el autor no las pone tienes que ponerlas tu, en este ultimo caso es muy complicado mantenerla, imagina que la parte que tiene carencia tienes que anadirle tu cosas, luego el autor le anade otras o cambia/arregla cosas, te encontraras en la necesidad de rebajar la libreria actualizada y meter nuevamente tus caracteristicas, lo que te porta a re-hacer el trabajo de actualizacion tropeciento veces.

En el caso por ejemplo de la raylib tiene carencias en cuanto a caracteristicas y rendimiento respecto al engine que implemente en Gemix, con lo cual esta lib no me serviria.

Hokuto7 wrote:Lo que veo de positivo de hacer librerias estilo div es que si no funciona pues la dejas y te pones a realizar otra libreria con otro lenguaje pero en el caso de gemix o cualquier divlike es un trabajo inmenso el mantenerlo y si no funciona el creador no vuelve a realizar nada mas porque despues de tanto esfuerzo y trabajo ve que no ha servido de nada y lo deja.

Si y no, porque si cambias lenguajes y quieres usar siempre la misma libreria, debe tener port, no es que si hoy estas usando Java y tienes una libreria para esa y manana te pasas a C++ la puedes usar, hay que usar la version C++ si existe o portarla, volviendo siempre al problema anterior de tener que reescribir, conbasta mirar el ejemplo de erkosone:
- primera libreria hecha en processing (y java), descartada despues de un tiempo porque le faltaban rendimiento, features y librerias utilizables en este lenguaje para sus necesidades.
- segunda libreria hecha en JS, soluciona algunos problemas de la primera version, pero no todos, otra vez descartada.
- tercera libreria hecha en C++, soluciona el problema de rendimiento y de las librerias que necesitaba.

Como ves, ya hizo el trabajo 3 veces hasta encontrar todo lo que necesitaba.

Hokuto7 wrote:Pero como ya he dicho esto solo te lo dije para ahorrarte trabajo y esfuerzo,pero si tu sigues con ganas de seguir con gemix pues perfecto. :)

Las ganas no faltan, faltan otras cosas lamentablemente, pero el proyecto sigue adelante.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: Test de mi gameEngine en C++

Postby erkosone » Thu Dec 13, 2018 3:13 pm

Hombre.. cambiar la libreria tropecientas veces? si sale una beta nueva de gemix cada 2 o 3 años, y bien hecho es añadir tus cosas en un archivo a parte sin tocar la base o tocando lo mínimo.
Y gemix en windows vale, pero en mac o linux no se basa en SDL?
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en C++

Postby CicTec » Thu Dec 13, 2018 5:11 pm

erkosone wrote:Hombre.. cambiar la libreria tropecientas veces? si sale una beta nueva de gemix cada 2 o 3 años, y bien hecho es añadir tus cosas en un archivo a parte sin tocar la base o tocando lo mínimo.
Y gemix en windows vale, pero en mac o linux no se basa en SDL?

Hablaba en el caso de librerias, Gemix es otra cosa.

No es anadir cosass en un archivo a parte, ya tu libreria demostra lo que dije, lo has rescribido 3 veces por no alcanzar todo lo que necesitaba con los lenguajes anteriores.

Gemix en mac y linux usa SDL pero no con el renderer, mas bien para el windows manager y el sistema de input y esto no es que lo vas a reescribir o modificar casi nunca, lo demas esta escrito proprio para evitar el problema del caso ejemplo de tu libreria.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: Test de mi gameEngine en C++

Postby Hokuto7 » Thu Dec 13, 2018 5:26 pm

jejejej,siempre volvemos al mismo tema,vamos a dejar este tema porque cada uno piensa de forma diferente y vamos a dedicarnos a la libreria de erkozone que este hilo esta para eso y es lo que importa. ;)
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en C++

Postby erkosone » Thu Dec 13, 2018 6:56 pm

Pues pensaba que el render en mac era por SDL, me alegra saber que no es asi.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en C++

Postby erkosone » Fri Dec 14, 2018 9:51 am

Buenos dias.
A falta de crear la función loadImages() que es la encargada de cargar un directorio entero de imagenes ya tengo el port a C++ de la gameLibZero :D


Creo que liberare una primera versión de el hoy mismo, así, si alguien esta interesado en programar juegos en C++ directamente ya podrá hacerlo de una forma muy similar a como se hace en Div.
El pack que voy a publicar está compuesto por lo siguiente:

Un unico archivo ZIP a descomprimir en C:\
Tras descomprimirlo solo hay que abrir el notepad++ que trae el pack..

En la carpeta projects estaran los ejemplos para compilar y probar el engine, paso a comentar cosas sobre el engine:

Usa "raylib" como motor de renderizado dando resultados realmente buenos.
Usa Chipmunk2D version 7.0.2 para toda la restion y resolución de fisica y colisiones.
Trae como no el paradigma de la "orientación a procesos". Como buen adepto de Div Games Studio que fui.

Esta versión es un engine pensado especificamente para 2D, aunque se puede usar para 3D sin problemas, todo lo que lo compone esta pensado al 2D puro.

Incluye el compilador G++ ya preconfigurado y con todo ya linkado para un facil manejo y uso "solo es pulsar F6 y enter" para compilar y ejecutar el juego.
- He decidido pasar de C a C++ por motivos de simplicidad de diseño ya que trabajar en C a pelo me resulta escalofriante y realmente para hacer juegos no resulta ni cómodo ni eficaz, así que el lenguaje nativo de este engine es C++ y no el standar C99 que es en el que están escritas raylib y chipmunk.

Voy a terminar un par de funciones y me pongo a grabar el primer tutorial sobre la instalación y uso de la libreria.

Sobre los video tutoriales, voy a enfocarlos sobre todo para programadores que han usado otros lenguajes y no conocen C++ a fondo, explicando el porque de todas las "cosas raras" que puedan generar dudas, así que si alguien decide embarcarse en probar el engine sabiendo programar unicamente en Gemix por ejemplo, no va a tener ningun problema, ya que partimos de cero absoluto en cuanto a conceptos semánticos del lenguaje. ;)
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en C++

Postby Hokuto7 » Fri Dec 14, 2018 11:20 am

Cuenta conmigo!! ;) .

Vamos a por la ultima frontera,el universo tenebroso de c++. :lol:
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en C++

Postby erkosone » Fri Dec 14, 2018 12:44 pm

jaja no es tan tenebroso, sabes como monto los engines XD.. es mas de lo mismo, casi no se nota la diferencia entre este y el de java :D
Donde si se nota es en el rendimiento.. la hostia.. yo estoy super contento..

Ahora mismo estoy con el signal() que cuando elimino un proceso/sprite el programa me peta por que lo estoy haciendo mal XD.. estoy estudiando sobre ello..
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en C++

Postby CicTec » Fri Dec 14, 2018 3:00 pm

erkosone wrote:Ahora mismo estoy con el signal() que cuando elimino un proceso/sprite el programa me peta por que lo estoy haciendo mal XD.. estoy estudiando sobre ello..

Esto es porque has unificado ejecucion de "procesos" y rendering, primero tienes que separarlos, luego hacer checks, etc..., pero te falta tambien una gestion de Z adecuada, ahora mismo no esta implementado correctamente debito al punto anterior y por acabar tienes que meter sistema de priority de los procesos, sino tambien la gestion de senales no sera correcta, si vas a implementar todo esto correctamente entonces tendras un sistema que se puede definir de procesos como DIV, sino no.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

PreviousNext

Return to Offtopic

Who is online

Users browsing this forum: No registered users and 16 guests