Anuncios Google

Proyecto de juego en LUADev 3D + Primer video

Buenas.

Editado - 28 /01 / 2012

A partir de ahora pondré todos los avances en el foro de aportes de usuarios, ya que no tengo que programar más cosas gracias a todos :).

Editado - 13 / 01/ 2012: Video

Estoy portando un juego de minigolf que hice en el motor de juego de Blender para PC*, basado en uno original de nombre larguísimo (resumido - Fuzzy's world).

Verisón PSP

No me fío mucho del contador de FPS, sin el remotejoy, siempre marca 120, (supongo que es el máximo que marca)

 

Versión de blender para pc, linux y mac

 (los modelos que estoy usando para luadev son exáctamente los mismos que los que utilicé en este, incluso he hecho parte del menú en 3D también):

 

Saludos ;)

 

 


Pobre PSP


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de User170294

¡Felicidades! Espero que

¡Felicidades! Espero que tengas suerte con el proyecto ;) Yo también estoy pensando en otro juego diseñado en 3D pero todavía tengo que desarrollarlo. Saludos Mills :)


Imagen de Mills

Gracias!Solo me falta hacer

Gracias!

Solo me falta hacer el tema de la bola, deviante me dio una idea, usar mapas de altura, es decir, sacar un mapa de una pista o lo que quieras, en el que la altura viene representada por un color, así puedes asignar una altura a cada punto del escenario 3d, pero hay que convertir el valor del color de hexadecimal a una escala. (yo eso ya no lo se hacer).

Por cierto, ¿alguien sabe como hacer que un objeto 3d rote en torno a otro, o a un punto determinado?


Pobre PSP

Imagen de markef

Si

Si el modelo u objeto abierto desde el editor que utilizes lo colocas a una distancia préviamente calculada desde el centro, dandole más tarde un efecto de rotación sobre el eje X, Y o Z, y el otro modelo sobre el cual sería el que rota, se situaría en el centro del editor, posición 0,0,0 (almenos con Sketchup funciona esto). :P


Dicen que soy programador... Eso dicen.

Imagen de Mills

Si, eso funciona, pero es que

Si, eso funciona, pero es que es la cámara lo que quiero que rote en torno a la bola.

Imagen de Chimecho

mmm...

No tengo muy claro como sería, pero sólo se me ocurre utilizando las funciones de seno y coseno.

Imagen de NEKERAFA

Buff

Veo que has avanzado un montón jejejeje... Haber si me enseñas a modelar así en Blender XD

Oh Mi Dios!

¡Increible!, te felicito, se ve que el Homebrew va a estar bueno, mucha suerte con tu proyecto.

Salu2

Imagen de Mills

Escena con océano

He conseguido simular una especie de mar con un plano lleno de vértices que rota y además se estira y encoge un poco en ciclos.

Se ve bien aunque claro, se necesitan bastantes vértices y eso afecta al rendimiento, pero como esta escena es para los créditos, pues no pasa nada :)

He usado un plano con muchos vértices "arrugado" que rota sobre el eje "y", ademas crece y decrece en altura con este codigo

Mar = model.load("model/mar.obj", 0.03, blanco)
 
SW = 0.6 --- % del tamaño del objeto, si es 1, el objeto está en su tamaño original 
WW = 1 ---variable inventada
 
 
while true do
 
if WW == 1 then SW=SW+0.01 end -- si la variable es 1 entonces el % del tamaño crece
if WW == 2 then SW=SW-0.01 end -- si la variable es 2 entonces el % del tamaño decrece
if SW > 1.3 then WW=2 end --si objeto crece mas de 1.3 la variable es 2 y vuelve a decrecer
if SW < 0.6 then WW=1 end --si objeto decrece hasta menos de 0.6 la variable es 1 y vuelve a crecer
 
model.scale(Mar,1,SW,1) --- SW es el tamaño en altura (y) del objeto
Mar:blit()
 
end
 

Para hacer el horizonte usé una imagen y la niebla.

Bueno hay formas mejores, como usando ecuaciones de ondas y cosas así, pero soy malo en mates jaja, y probando no quedó nada mal.

Estos efectos se suelen hacer con lo que llaman "bump mapping" o texturas 3d, pero de texturas no hablemos, que no hay  jeje.


Pobre PSP

Imagen de DeViaNTe

congrats man!

Muy logrado el efecto, y una escena realmente bonita, se nota que se te da bien el blender.

MMm, se me ocurre que podrías "plegar" los bordes de ese agua hacia abajo, y blitearla un par de veces, como si fuera un scroll de imagen, pero con modelos 3d, esa es la técnica que uso en GDP, si quieres verlo está en http://www.youtube.com/watch?v=1UtWChwaLyU , y no se nota nada el corte. Así con pocos modelos puedes estirar lo que quieras la escena jej. Un saludo de nuevo! Y felicidades, esto tiene buena pinta!


Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es

Impresionante, señores...

Me da hasta miedo pensar que nos dejes con la moral baja a todos los demás coders xDDD

Imagen de -chus-

XD

Si verdad, mirando esto digo puff no creo llegar hacer algo asi aun que quisiera XD por eso eh dicho mis respetos a los que trabajan en 3D :O, gran trabajo felicitaciones 


                                          Mis Homebrew´s

 http://psp.scenebeta.com/noticia/memorama-games#comment-803033


Imagen de Mills

Gracias. La verdad es que yo

Gracias. La verdad es que yo no tenia ni idea, pero me gustaba dibujar con el pc porque a mano soy incapaz.. y me puse a trastear con blender.. empezaria en 2008 pero si sumo el tiempo que le dediqué, no llega a 4 meses porque aun estudiaba y estuve como dos años y pico que ni le hice caso, hasta que volví la primavera pasada mas o menos.

No es tan dificil, aunque claro, tienes que tener visión espacial.


Pobre PSP

Imagen de DeViaNTe

Qué decir, jeje, no me lo esperaba! ^^

Pues eso, como digo en el asunto, sin palabra jaj, no me esperaba que alguien pudiera hacer semejante aproximación sin tener la docu completa ni estar luadev acabado si quiera!

Si andas por scenebeta, no dudaré en contactar contigo cuando esté de lleno en el apartado 3d de nuevo, un saludo! (Y felicidades por el proyecto man, igualmente, cualquier duda o opción que tengas en blender y no haya en luadev, tu pide por privado, que se nota que del tema entiendes ;) )


Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es

Imagen de Mills

Gracias! Pues solo he usado

Gracias!

Pues solo he usado lo que viene en el post de las funciones "desconocidas" que pusieron por aquí, lo que pasa es que tenia casi todo hecho en blender, solo le falta el motor fisico claro, pero lo demás eran los modelos 3d (sin texturas) y algun fondo en png.


Pobre PSP

Imagen de m.rr

Y para que el creador de

Y para que el creador de LuaDev diga eso.. xD

La verdad es que...

He visto el video del homebrew y me he quedado de piedra. He tenido hasta que revisar de nuevo el titulo por si habia leido mal... xD

Mucha suerte y animos con el proyecto, se lo dificil que es sentarse a programar y conseguir lo que quieres, pero cuando lo consigues te entra una cosa... que gustazo.

Un saludo.


 

 

Imagen de Dioni0396

Un aplauso!

Que gran homebrew va a ser!

Imagen de Andresmargar

Por cierto

el Blender no es un motor de juego para PC es un modelador de objetos 3D

Imagen de NEKERAFA

Tampoco

Blender es una suite de animación 3D. Permite crear, modelar y animar objetos en 3D, permite la edición de video/animación 3D, y también incluye un motor de juego 3D para crear videojuegos para PC. Es un todo en uno.


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

Imagen de Mills

Estos días ya han sido varias

Estos días ya han sido varias personas las que me han dicho que blender solo es para modelar... pues la verdad es que tiene un pedazo motor que incluye física bullet, texturas 3d y mil cosas más, pero no mucha gente lo ha usado para hacer juegos, yo hice este minigolf, voy a poner el link para los incrédulos jeje.


Pobre PSP

Imagen de Mills

Gracias por los comentarios

Gracias por los comentarios :)

 

Otra duda, los modelos .obj no se cargan con transparencias, pero he visto en el post de funciones desconocidas de luadev, que se pueden cargar los modelos con la opcion blend, o sea que aunque no soporten las transparencias exportadas del sketchup, se pueden hacer transparentes desde el propio luadev, pero no consigo cargarlos (intenté copiar el codigo para cargar imágenes con blend, pero no funcionó).

Gracias. 


Pobre PSP

Imagen de sting18

Se ve muy bien tu proyecto

Se ve muy bien tu proyecto :D, suerte.

Imagen de -chus-

wow

vaya proyecto excelente y de calidad, buen trabajo el que has realizado, saludos y felicitaciones

Imagen de Dioni0396

Buen trabajo

Excelente trabajo, pero controla la ram, desde el apartado musica hasta el practise has perdido 15 MB

Me encanta la musica de fondo.

Imagen de Mills

Gracias, lo de la ram aún no

Gracias gente.

La música es del original, era en formato midi aunque un poco extraño y difícil de convertir.

Lo de la ram aún no lo controlo, por eso hice tantas pantallas de transición, se supone que limpian la ram, aunque los últimos menús no están terminados y no la limpia.

Ademas a veces hago esto y no funciona:

 

--(código)
 
objeto2 = model.load("3D-obj/space_hole.obj")
 
--(más código)
 
while true do
 
if controls.cross(true) then
 objeto2:free(); objeto2 = nil; collectgarbage("collect");
 dofile ("otro menú.lua")
end
 
end

El error es el tipico "nil value" dice que objeto2 no existe (y existe... ocupa un mega y es el que sale en mi avatar).

 


Pobre PSP

Imagen de Dioni0396

prueba asi:

objeto2 =  collectgarbage("collect");

Quien sabe, puede ir. No lo tengo seguro, prueba asi en vez de :free

Imagen de Chimecho

WTF

Eso no tiene sentido, el código de arriba está bien excepto por una cosa.

Al usar controls.cross() la pulsación se lee más de una vez, es por eso que da error, pues sigue este flujo:

1. Presionas X y...

2. Libera objeto 2 con objeto2:free()

3. Asigna nil a objeto 2

4. Limpia lo que está ocupando espacio en la RAM

5. X sigue presionado, pues cada ciclo del while va rápido, controls.cross() sigue siendo true y...

6. Trata de liberar objeto 2 con objeto2:free(), pero objeto 2 es nil, entonces ERROR

7. Un cuadro de diálogo diciendo que todo se fue al diablo xD

Solución: Usar controls.press("cross") en lugar de controls.cross() que por cierto, no lleva nada dentro.

Saludos!



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-

Imagen de Mills

A.. claro, es que no tengo

A.. claro, es que no tengo mucha eperiencia de programar jeje, ahora entiendo, el while hace muchisimos ciclos y el botón, por muy rápido que pulse y suelte, va a estar presionado durante más de un ciclo.. 

 

Gracias


Pobre PSP

Imagen de Mills

Bien! funciona así. Para las

Bien! funciona así.

Para las imágenes va con la opcion tipica de free, para los modelos 3d funciona el ejemplo que has puesto.

Imagen de Dioni0396

Perfecto

Perfecto.

Imagen de Mills

Espera, error mio, no.. no

Espera, error mio, no.. no funciona.. creo que hay algo mal

Imagen de Dioni0396

Da error

o simplemente no hace nada?

Imagen de Mills

= espected near objeto2 pero

= espected near objeto2

pero hay dos lineas con ese codigo y solo da error una.. apagare del todo la psp y lo volvere a intentar jaja


Pobre PSP

Imagen de Dioni0396

Es que

si liberas el objeto con :free, luego le haces nil y luego el collectgarbage no va a ir, lo que yo te he dado es para que no lo uses con los demas. es decir que solo este mi linea

Imagen de Mills

No era eso, me faltaba un

No era eso, me faltaba un parentesis (jeje), ya se nota, un mega más que queda libre :)

Imagen de Dioni0396

Poco a poco

mas excarvando MB

Un Saludo

Imagen de cam-maker

felicidades!!!!!

felicidades!!!!! los avances son geniales y bien trabajados, estoy impresionado D:!!!! y una cosa deberias de ver la ram, en una parte se te comienza a disminuir, quizas estas cargando algo repetidamente, y al seleccionar las "pantallas" la ram disminuye, lo cual es normal, pero no liberas los objetos usados, solo ese seria mi aporte.

Saludos crack :D


"Las cosas brillantes siempre salen de repente, como la geometría de una flor"


Imagen de m.rr

WOW! Increíble de verdad.

WOW! Increíble de verdad. Felicidades

Imagen de Tutos14

Lo mismo digo :P

Lo mismo digo :P

Imagen de Mills

He añadido un video, me

He añadido un video, me faltan algunas cosas, como hacer que la cámara rote, mejores transiciones, y el motor 3d :).

Te felicito ;) Muy buen

Te felicito ;)

Muy buen trabajo en tan poco tiempo.

Saludos.

Imagen de Mills

Cámara-perspectiva

¿Cómo se usa este comando?

world.perspective( fovy, ratio, near, far )

Si habéis cargado modelos 3d, os habréis dado cuenta de que los objetos se estiran demasiado al aproximarse a la cámara, y con este comando se soluciona, supongo, pero no sé qué valores poner... Voy a jugar un rato con el comando y si lo descrubro, lo pongo aquí.

Otra cosa, ¿cual es la posición por defecto de la cámara? la quiero poner un poco alta y que mire a las coordenadas de la bola, esto hará que la cámara siga a la bola desde arriba mientras se mueve (espero jeje).

 

Saludos 

EDITADO: Bueno, pues ya está casi terminado todo, pero claro, sin física lo único que puedo hacer, es mover la bola por las pistas, como si moviese un cursor... sin más.

Actualizo las imágenes en el 1º post.

Por la red hay un motor llamado scriptengine, que funciona en lua, tenia la esperanza de descargarlo y encontrar algún script para aplicar físicas a los objetos, pero parece que todos los links, y el proyecto, pasaron a mejor vida.

También he escrito a los del motor cubicvr, que ya fué portado a psp, pero está en c, y no pienso aprender c..

Como cubicvr ya está disponible para psp, se podría integrar el motor físico dentro de luadev, o incluso cargar texturas y otros tipos de iluminación, a parte de los incluidos en luadev.

Es una posibilidad pero como siempre, no está en mis manos.

 

Saludos

EDITADO: Trasteando para hacer los menús más bonitos (jeje) encontré que cuando desplazo imágenes hacia fuera de la pantalla, estas desaparecen.

scroll = {x=40,y=272,text1 = image.load("cosa.png")}
 
function movimiento()
   scroll.y = scroll.y - 0.3
end
 
while true do
 
movimiento()
scroll.text1:blit(scroll.x,scroll.y,0,0,)
 
end

 

Esto hace que una imagen aparezca por la parte inferior y se vaya moviendo hacia arriba, pero en cuanto "scroll.y" es un número negativo,( o la imagen toca la parte superior), pues desaparece.

Queria usar este efecto para que diferentes opciones pegadas en una sola imagen grande suban y bajen por la pantalla.


Editado: Crear hilos y comentarios duplicados incumple las Normas de la Comunidad, si necesita cambiar su comentario puede usar la opción de Editar. Antes de volver a postear por favor revise las Normas.| Rober Galarga


Pobre PSP

Imagen de Mills

Hoy que no se puede hacer

Hoy que no se puede hacer casi nada, yo sigo con mi juego jeje, y he descubierto que si cargas una imagen de mayor resolución que la pantalla de la PSP, en cuanto la mueves, se ve que no ha cargado el resto de la imagen no se si me explico, (solo carga el trozo visible de la imagen).

¿Cómo soluciono esto?

 

Resumen del estado del juego.

-Estado actual- 01/01/2012-

1-Conseguido:

-Menú principal, menú de opciones y créditos funcionales.

-Modelos 3d: de 9 hoyos, intro y menús preparados.

-Música en mp3

 

2-En proceso:

 -"Jukebox", es decir, un menú para reproducir las diferentes canciones

-Función para contar los golpes de la bola: al principio de cada hoyo comenzarás con 9 golpes, al llegar al hoyo, los que sobren se sumarán a los 9 del siguiente (así era el original).

-Conseguir que la bola tenga gravedad, fricción y detecte colisiones (esto va a ser trabajoso jeje)

 

 


Pobre PSP

Imagen de NEKERAFA

Mmm...

¿Porque no pruebas a recortar la imagen desde Lua? Que yo sepa, he utilizado una imagen más grande que la pantalla en Lua y no me daba errrores al mostrarlo.

Para hacer un reproductor, primero necesitas hacer el explorador, que puedes encontrar un tutorial aquí. Para reproducir la música, tienes que comprobar que el archivo que seleccione el usuario tenga la extensión *.mp3 o la extensión que necesites, y después utilizas las funciones de sonido para reproducirlo, pausarlo, ect...


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

Imagen de Mills

Imágenes Pues lo que quiero

Imágenes Pues lo que quiero es mostrar unos créditos, un png de 400x1200, o sea muy largo, que va subiendo mostrando las letras. pero solo carga una parte de 480x272 (ya trastee con las opciones y nada)

Acerca de la ram... puse la opcion de mostrar la ram libre, en cuanto la lleno hasta que quedan 32 MB libres el programa se congela, y tengo la slim

¿Está limitado para que funcione en todas las psp?

 

En cuanto a la música... me quiero complicar la vida y quiero reproducir un formato llamado mo3 (para resumir, una especie de midis que no llegan a ocupar 400K y suenan como mp3's).

  -1 necesito el programa para reproducirlo, se llama BASS (http://us.un4seen.com/files/bass24-linux.zip) incluye el source

  -2 ¿como compilo eso para psp?, ya tengo un sdk y todo pero no se nada de compilar jaja solo se compilar un .c

  -3 una vez compilado.. como le digo a luadev que reproduzca un archivo .mo3 usando bass?

 

Si es demasiado complejo, siempre puedo convertirlos a at3, que son los que mejpr reproduce la psp.

Por cierto, ¿qué es el "bgm"? veo que luadev los reproduce, pero no sé qué formato es o como crearlo.

Gracias.

 

 


Pobre PSP

La razón por la que te da

La razón por la que te da problemas la imagen es porque es demasiado grande, sólo puedes cargar imágenes de máximo 512x512 = 262144 pixeles (pueden tener otras dimensiones, pero el número máximo de pixeles debe respetarse).

Imagen de Mills

Ups.. gracias, entonces es

Ups.. gracias, entonces es fácil, divido la imagen en partes y cargo una debajo de la otra :)

 

Gracias.

Imagen de User170294

By Dark_CoDev

Te lo digo por adelantado ;) Nadie va ha estar dispuesto a portar el reproductor de mo3 a PSP. Es un trabajo complicado que necesita horas de estudio y dedicación. Además es una solución poco universal la de querer reproducir mo3 en vez de mp3 (¿porque no te gustan los mp3?). Salu2.


Imagen de Mills

Gracias.. bueno hubo alguien

Gracias.. bueno hubo alguien que portó muchos reproductores a la psp para el GameMusicGear, le estuve enviando mensajes y portó incluso un reproductor vgm para música de neo-geo.

Todos eran prx o plugins, lo malo es que en ese momento no me di cuenta del mo3 y dijo que ya lo iba a dejar, si no, lo habría portado, pero ya no creo que quiera.

¿Se pueden usar prx en luadev?

El mp3 no me gusta nada, jeje es una manía que me pegó mi hermano "informático" jeje, ademaás, no me gusta que esté todo el rato leyendo como un loco de la memory mientras lo reproduce.

Prefiero usar el at3, porque la psp está mucho mejor preparada para ello, como ya hice el juego para pc, mejor optimizar este para psp.

Acabo de crear un AT3, y no suena, ¿tienen que tener algún formato especial?


Pobre PSP

Imagen de NEKERAFA

Mmm...

No, creo que LuaDEV no puede iniciar prx aún.

Por sonido, te recomiendo utilizar mejor wav, que aunque ocupe más que mp3, no tiene perdida debido a que no está comprimido. Yo es el que utilizaba para dumpear mis CDs antiguos.

Si solo quieres mostrar unos créditos, ¿Porque no muestras mejor un texto y vas sumando hasta que salga de pantalla? Creo que va a ser mejor.

Si quieres reducir ram, cuando acabes de utilizar las cosas, es mejor que las liberes, y que coloques en el bucle un colector de memoria (En Lua es collectgarbage() ) para que elimine todo lo que Lua no usa.

Si no funciona, pasale la variable "collect" para que haga un borrado intensivo de la RAM (No borrará lo que hayas cargado en LuaDEV)


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.