bennu3d

Started by l1nk3rn3l, May 21, 2008, 01:08:52 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Windgate

¿Cuál nueva estructura de Bennu? ¿En cuál RC?

Por cierto en Linux tengo un cacao de versiones de las .so que da miedo... Yo como siempre cagándola al instalar Bennu en Linux xD
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

SplinterGU

jajaja, hace un uninstall y luego hace el install
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

Quote¿Cuál nueva estructura de Bennu? ¿En cuál RC?
no recuerdo desde cual, pero en windows, no se si en linux tamibén supongo que también, no podemos usar librerías antiguas ya que la librería bgdrtm.dll cambió su nombre a libgdrtm.dll y por lo tanto antiguas librerías compiladas con el otro nombre ya no permiten compilar... entonces necesitamos que las librerías como bennu3d se recompilen con esta nueva versión para que corran con la más nueva versión de bennu. tenía el mismo problema con la libimage, pero como la acaban de compilar recientemente ya no me da ningún problema :) .

en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

DCelso

Prg, si no recuerdo mal, la última versión está aqui
http://3dm8ee.blogspot.com/
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Prg

QuotePrg, si no recuerdo mal, la última versión está aqui
http://3dm8ee.blogspot.com/

gracias :) entonces tendré que usar una versión de bennu que si me acepte las librerías :)
gracias dcelso karma ++ :)
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Windgate

La librería 3D la bajé recientemente, no tiene la ansiada física aún, qué penita, estoy perro esperando xD

En cuanto a hacer el uninstall en Ubuntu tengo el peligro de no saber cuál versión instalé en su día, tengo memoria de pez, ya he dicho varias veces que un léemelo para retardados en las .sh de Linux no vendría mal, indicando cómo desinstalar, cómo saber la última versión que tienes instalada y patatín y patatán :P

Probé a hacer un install de una de las últimas RC sobre la instalación anterior y me salieron unos cuantos errores y no me deja compilar nada que tenga IMPORT "mod_sound" en su código.

En cuanto a Bennu 3D (Por seguir con el hilo :P), ¿Para añadir un monigote andando de lado a lado de la pantalla (A partir de un FPG por ejemplo) habría que usar exclusivamente funciones de la GUI o hay alguna forma de tener "procesos 2D" sobre el render? Ya se me dijo en su día que el render y el 2D no se llevan naaada bien xD

Esto último lo pregunto especialmente a mi amado (  :-* ) Prg porque he visto que sacó barritas en su juego de Magia.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Prg

QuoteEn cuanto a Bennu 3D (Por seguir con el hilo Lengua), ¿Para añadir un monigote andando de lado a lado de la pantalla (A partir de un FPG por ejemplo) habría que usar exclusivamente funciones de la GUI o hay alguna forma de tener "procesos 2D" sobre el render? Ya se me dijo en su día que el render y el 2D no se llevan naaada bien xD

hola amigo :)

para añadir un monigote andando no puedes usar un fpg, debes cargar cada sprite como si de texturas se trataran, y sí, sólamente usaremos funciones de la gui, cualquier otra cosa no pintará sobre el render :)


ejemplo:

[code language="bennu"]/*******************************************************************/
/*    prueba de sprites 2d y models 3d por PRG                     */
/*                                                                 */
/*    07/10/2009 05:53:54 p.m.                                     */
/*******************************************************************/


import "mod_say";
import "mod_key";
import "mod_mem";
import "mod_proc";
import "mod_dir";
import "mod_math";
import "mod_grproc";
import "mod_video";
import "mod_map";
import "mod_string";
import "mod_rand";
import "mod_file";
import "mod_regex";
import "mod_text";
import "mod_draw";
import "mod_sound";


include "m8ee.h"

global
cam;
int text[4];


local
mono;
_pos3d pos;

begin
  set_mode (800,600,32);
  M8E_INIT(0);
  cam=M8E_ADDCAM(0,50,-60,  0,5,0);

  from z=0 to 3;
   text[z]= M8E_LOADTEXTURE("sp"+atoi(z+1)+".png");
  end

  modl();

  m8e_camtarget(cam,son.pos);

  M8E_SETAMBIENTLIGHT(0, 250,250,250);

  mono=M8E_GUIADDIMAGE(text[z], 320,90, true);

  mono1();

  while ( (!key(_esc))  )

      if (M8E_GUICOL(mono,son.mono))
          M8E_GUISETIMAGE(mono,text[3]);
      else
      if (++z>2) z=0; end
         M8E_GUISETIMAGE(mono,text[z]);
      end
     
      M8E_GUImove(mono, mouse.x,mouse.y);
      M8E_RENDER(0,  55,0,155); //(ALPHA,  R,G,B)

     frame;
  end;
  exit(0);
  M8E_FREE();

end

process mono1();
begin
     x=400; y=300;
     mono=M8E_GUIADDIMAGE(text[z], 320,90, true);
  loop
      angle+=rand(-5000,5000);
      x+=get_distx(angle,5);
      y+=get_disty(angle,5);
      if (salio())
         x=400; y=300;
      end
      M8E_GUImove(mono, x,y);
      if (++z>2)
         z=0;
      end
      M8E_GUISETIMAGE(mono,text[z]);
     
      frame;
  end
end

process modl();
begin
  mono=M8E_LOADMODELEX("bookbow.ms3d",128);
  pos.x=0; pos.y=0; pos.z=0;
  m8e_posmodel(mono,pos);
  loop
    pos.y++;
    m8e_modelrotation(mono,pos);
    frame;
  end
end

function salio();
begin
  if (father.x<0 or father.x>800 or father.y<0 or father.y>600)
     return(1);
  end
  return(0);
end
[/code]

ah como disfruté hacer el ejemplo, ya me hacía falta moverle a bennu...

link de descarga con graficos y el model:

http://www.mediafire.com/download.php?jyylml3zzna
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Windgate

Descargando Prg, lo probaré mañana en un ratito... Hoy he estado probando los sockets y ha sido erótico... Habrá que mezclar todo a la vez y hacer un juego monstruoso un día de estos xD
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Windgate

Muchísimas gracias por el ejemplo, es muy ilustrativo, ¿No se podría hacer con usando un FPG en lugar de con gráficos sueltos?

No te doy el karma por el local ese que te has cascado, la palabra reservada LOCAL me parece insultante xD

PD: Me he arrepentido... La verdad es que te lo mereces amigo, karma++
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Prg

#264
ja jaja
lo siento, en mi juego así tengo todo, necesito las locales para acceder a las estructuras de los procesos mediante su id y manejar el 3d como si de 2d se tratara, es más cómodo y no me gustan los publics, sobre todo pensando que todos los procesos tendrans su model y una posición en el espacio :) es como en 2d, todos tienen sus gráficos y su x,y :)

gracias por el karma, me alegro que te gustara :)

Quote¿No se podría hacer con usando un FPG en lugar de con gráficos sueltos?
hasta que no exista una función que nos permita comunicar el bennu con las librerías bennu3d en el aspecto gráfico... no  :'( , no se puede, y es una lástima

en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Windgate

Vaya... No he trabajado a fondo con la mod_map pero pensaba que era posible hacer referencia a un gráfico del fpg de la misma manera que se puede hacer referencia a un png cargado... ¿Estás seguro? Si me lo aseguras no me pongo a probar :P

En cuanto al karma, te lo acabo de dar ahora, antes se me ha olvidado :S

Tenía una duda, he visto que tu juego de magia se basa en escenarios generados a partir de una textura, ¿Eso lo haces con el Colombian Lands? ¿Genera un .bsp? ¿Hay que posicionar los árboles calculando las coordenadas o hay alguna forma menos inhumana de que aparezcan "con los pies en el suelo"?

Hoy estoy preguntón amigo, te voy a tirar de la lengua un poquito xD
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Prg

QuoteVaya... No he trabajado a fondo con la mod_map pero pensaba que era posible hacer referencia a un gráfico del fpg de la misma manera que se puede hacer referencia a un png cargado... ¿Estás seguro? Si me lo aseguras no me pongo a probar Lengua
del uno al cien 89% asi que existen posibilidades :)
Quote
¿Eso lo haces con el Colombian Lands? ¿Genera un .bsp? ¿Hay que posicionar los árboles calculando las coordenadas o hay alguna forma menos inhumana de que aparezcan "con los pies en el suelo"?

uso heightmaps son bmp generados mediante algún programa especial como el hemahema y algunos otros,
no genera bsp, es el bmp que lo cargo como terreno el color blanco es el punto más alto de la montaña, el negro el más bajo, y los valores intermedios alturas intermedias

me hice un programita en el que coloco los objetos en el terreno y al salir del programa me guarda las coordenadas, las rotaciones y la escala de cada model, entonces en el juego cargo los archivos y los modelos y los posiciono de acuerdo a estas características :)
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Windgate

Ok, probaré lo de los height maps.

En cuanto al programa para posicionar los modelos es muy buena idea, yo siempre ando calculando "a ojo" las coordenadas para posicionar, es infernal, ¿Me pasas ese programita posicionador Prg?
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Prg

#268
Quote¿Me pasas ese programita posicionador Prg?
si :)
está aca, no está muy fácil de usar, ya que lo hice para mí, sin embargo es de mucha ayuda.

este es un pequeño tuto.

el programa ya viene con una escena de ejemplo, como leeras, si quieres borrarla es suficiente con borrar los ptc y modifcar el archivos.txt que es el encargado de cargar todo el entorno (nunca lo borres, si lo haces el programa no iniciará :) ).

Quotepreparar el programa:
encuentra el txt "archivos.txt" en esta carpeta (se refiere a la carpeta donde instalaste el editor fpg (el programa de edición fpg que hice) carpeta archivos internos, ejemplo: "C:\editorfpgmultisist\archivos_internos" ), este archivo se modificará de la siguiente manera para usar el programa:

C:\Copia de Copia de Copia de caosfps2\media\terreno\hmp/ot3.png      ruta del heightmap
0 0 0      //coordenadas en las que se colocara
150 7 150   //escalado que tendrá el terreno
C:\Copia de Copia de Copia de caosfps2\media\terreno\texturas/ot32.png   //textura que se aplicará
4      //numero de objetos que se cargarán
C:\Copia de Copia de Copia de caosfps2\media\terreno\arboles/palmtree.3ds   //ruta del primer objeto
4 4 4   ///escalado en x, y, z de el objeto cuando se cargará
C:\Copia de Copia de Copia de caosfps2\media\terreno\arboles/pinetree.3ds   //ruta del segundo objeto
4 4 4   //escalado de este
C:\Copia de Copia de Copia de caosfps2\media\terreno\arboles/bigtree1.3ds      //ruta del tercer objeto
4 4 4
C:\Copia de Copia de Copia de caosfps2\media\terreno/roca.ms3d   //ruta del cuarto
40 40 40


Una vez que tenemos el txt listo podemos abrir el programa... una cosa:
Si quieres iniciar un proyecto nuevo, borra todo *.ptc que veas en la carpeta ejemplo: archivo1.ptc, archivo2.ptc

Si quieres continuar con lo que ya llevabas no los borres, ya que se cargarán y podrás continuar como lo dejaste antes de hacer escape la última vez (si existen se cargan ? )

Manipulación del programa

te mueves a través del programa con el ratón y las teclas w,a,s,d

insertar un objeto en la escena
de acuerdo al contenido del txt "archivo" el primer objeto es el primero que pusistes, el segundo elsegunndo y así,
así que cuando presionas click izq insertas un nuevo objeto del tipo seleccionado (ver flecha de la parte izq inferior de la pantalla)
y si presionas botón derecho del ratón cambias el tipo de objeto que se insertará


si presionas g insertarás un objeto con gravedad, cuidado, la gravedad de terrenos no permite saltos.

seleccionar un objeto:
acercate a él y cuando se ponga transparente entonces los estás seleccionando


trasladar un objeto en la escena:
presiona t cuando lo tengas seleccionado y mover el ratón o presionar las flechas arriba y abajo


rotar un objeto
seleccionalo y presiona r, luego presiona las flechas, j o k, cada flecha mueve en una direccion la rotación y se ve en tiempo real

escalar objeto
presionar g y:

u para aumentar la escala general (x,y,z)
i para disminuir la...

las flechas, j o k para aumentar o disminuir la escala en distintas direcciones.



guardar el trabajo:
presiona esc y se crearán unos archivos que contienen la posición, rotación y escalado de cada objeto con la siguiente sintaxis:

x y z x y z x y z
donde las primeras x, y y z son las coordenadas del objetos
las siguientes x,y y z son las rotaciones
y las siguientes x,y,z son las escalas.



perdona el desorden del código.

el link es:
http://www.mediafire.com/download.php?t25iozyqnmz

debes desempaquetarlo en tu carpeta...
editorfpgmultisist\archivos_internos
y remplazar los archivos existentes (es un  parche), luego debes compilar y ejecutar el editor_de_posiciones_3d.prg y listo
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Windgate

Parece complejo xD

Ok, lo pruebo cuando saque un rato y te cuento, asias asias
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es