Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Proyecto: Motor de aventuras gráficas

Iniciado por bnl, 28 de Agosto de 2006, 08:41:35 PM

« anterior - próximo »

ajmendoza

Eso es lo que diria Ron Gilbert y miralo las maravillas que sacó con su lenguaje ;)

Ánimo!

donald

entonces palante.

Y soy un fan total de las viejas AG de los 90...
Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

zupervaca

Cita de: "bnl"La verdad es que no creo que nadie llegue a utilizar mi motor para crear aventuras graficas. Mas que nada lo hago para divertirme y como desafio personal.
Saludos
Antes de ponerte al lio estaria bien que miraras los que ya hay hechos, para asi copiar las mejores ideas de cada uno de ellos, tal vez asi alguien si que llegue a usarlo alguna vez alguien.
Como ultimo consejo creo que seria una buena idea hacer una o varias clases pasarelas entre tu motor y otros motores, es decir, una clase que conecte la parte grafica de un motor grafico con tu motor, lo mismo para el audio, etc. de esta manera lo estarias haciendo multitodo :wink:

bnl

Gracias por los animos.  :D

Zupervaca, no entiendo muy bien lo que dices de la pasarela. ¿como lo implementarias?
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

zupervaca

Supon que tu motor necesita leer textuas, pues debes hacer una clase base de la que poder derivar para manejar texturas en directx u opengl por ejemplo, de esta manera tu motor podra manejar diferentes motores graficos de forma abstracta.

Ejemplo:

class Texture
{
public:
   virtual void Load(...) = 0;
   virtual void Draw(...) = 0;
}

class DirectXTexture : public Texture
{
   void Load(...)
   {
       ...
   }
   void Draw(...)
   {
       ...
   }
}

Despues necesitarias un "puente" que le debes de pasar a tu motor, algo asi:

class Bridge
{
   virtual Texture* CreateTexture(...) = 0;
   ...
}

class DirectXBridge : public Bridge
{
   Texture* CreateTexture( ... )
   {
       ...
       return new DirectXTexture(...);
   }
   ...

La clase DirectXBridge deberias de pasarsela a tu motor que realmente solo sabe trabajar con la Bridge, de esta manera sabras como crear texturas desde tu motor de forma abstracta.
El ejemplo es algo cutre pero te vale como idea, despues pues puedes dejarlo mas elegante con namespaces, mas clases, etc.
Ademas de trabajar de forma abstracta estas separando la parte grafica, sonido, etc de la logica de tu motor.

bnl

Ok, entiendo.

Hace tiempo implemente algo parecido para acceder a la base de datos de forma independiente al gestor de base de datos que se utilizara.
Se puede implementar mediante interfaces o creando una clase base con la funconalidad comun y metodos abstractos.

Gracias
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

bnl

He colgado en mi pagina web (http://www.brausoft.com/) un par de articulos sobre el proceso de creación de un analizador léxico y un analizador sintáctico

Los podeis encontrar en la sección de articulos:
http://www.brausoft.com/articulos/

En breve colgaré otro sobre el analizador semantico que ya he finalizado.

He colgado el código fuente y el ejecutable de una pequeña herramienta que desarrolle hace tiempo para visualizar XML, formatearlo, expandir y contraer nodos y consultar nodos mediante XPATH. Por si a alguien le resulta de utilidad lo puede descargar aqui:

http://www.brausoft.com/descargas/
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.