Revolution Engine

13, 4, 5, 6, 7, 8
oyzzo escribió:Pues tendrias que saber programar en C y poco mas.


..........done


xDD
espero con ansias el motor ^^
pho, pues si ya sabes C lo que puedes hacer es ir currandote el guion del juego y el diseño aver si demostramos que en jombriu tb se pueden ver juegazos ;)


y un notición para mi, para technik imagino que también y en general para todos los que programen en wii.... en la pagina de descarga de devkitpro http://sourceforge.net/project/showfile ... _id=114505
fijaros bien en lo que hay.... el devkitPPC r15 que es una alegria, la libogc nueva, libfat nueva y ademas wii-examples con ejemplos de GX ;) ale ale a programar!
oyzzo escribió:pho, pues si ya sabes C lo que puedes hacer es ir currandote el guion del juego y el diseño aver si demostramos que en jombriu tb se pueden ver juegazos ;)


y un notición para mi, para technik imagino que también y en general para todos los que programen en wii.... en la pagina de descarga de devkitpro http://sourceforge.net/project/showfile ... _id=114505
fijaros bien en lo que hay.... el devkitPPC r15 que es una alegria, la libogc nueva, libfat nueva y ademas wii-examples con ejemplos de GX ;) ale ale a programar!


SI, SI, SII!!!!! Por fin!!!!!! XD
A ver, yo acabo de llegar de un examen de la universidad y para desconectar un poco voy av er si puedo darle caña al motor.voy a bajarme el R15 y voy a ver los ejemplo. entre eso y la documentacion que tengo de GX creo que puedo hacer que avance un buen cacho. Que alegria que esten listas por fin, yo hasta ahora estaba trabajando con las CVS, pero siemrpe es mejor una buena version estable.

Mientras se instala esto voy contando un poco. A ver:
-Voluntarios para montar una web del proyecto? por que este hilo esta muy bien para ir comentando, pero para subir cosas y publicar noticias del motor vendria muy bien una web.

oyzzo, yo aun no he tocado nada de iluminacion y de texturas mi nivel es bastante bajo aun. Durante este tiempo me he centrado mas en hacer la raiz del motor bastante modular y ampliable y he dejado descuidados los aspectos concretos del motor pero por lo que veo tu te has centrado justo en aquello que a mi mas me falta asi que podemos tener buenos resultados entre los dos.

Por mi parte decir que cuando saque la version alfa intentare colgar ejemplos de uso y documentacion suficiente para hacer sencillo el uso del motor asi que id pensando vuestros guiones jeje
technik, pues si tienes la base del motor me iria bien que me la rularas y asi voy implementando ya funciones ahi.
yo os puedo ayudar en el tema de web, pero de CVS , la verda es q no tengo mucha idea.. xDD pero del resto sin problemas, y supnog q me puedo documentar facilemnte =3
ok pho pues ves preparando una web resultona ;) del cvs ya me encargo yo, cuando tengas algo te creo una shell en mi servidor y la subes.
plan CMS molon/simplón? (no confundir con CVS xD)
Como veas, mientras graficamente sea agradable y funcione bien me da igual :)
Una ultima cosa, solo quereis que sirva para poner las noticias? o que sirva de soporte para trabajar¿ (Vease CMS de Groupware) si es el 2º caso, he encontrado este que esta bastante bien.

http://demo.opensourcecms.com/streber/
Username- admin
Password- demo

Tiene un poco de todo =D, si veis la pagina oficial http://www.streber-pm.org/ (que suele estar caida) podeis verlo en accion

Si solo queremos algo bonito para ir poniendo lo que se hace, con un wordpress ya va de lujo
Yo creo que con un wordpress y un foro tipo smf va que derrapa :)
xDDD Ok, pues cuando quieras se sube, ya tengo theme guay y todo, pero molaría mas si tenemos nombre y logo del proyecto xD
ajajaja
Si que molaria mas, A mi me gusta el nombre que dijeron por ahi de Revolution Engine, y el logo es cuestion de pillar el Photoshop.
Por cierto, yo no entiendo mucho de diseño web, pero lo suyo seria tener una pequeña galeria, en la que colguemos screenshots, videos y demos tecnicas, no?
technik, pues por mi también se puede quedar con ese nombre, Revolution Engine suena bien. Si alguien sabe de diseño grafico iria bien que hiciera algun logo :P yo intentaré hacer alguno también aver que sale xD

Tienes razón en lo de la galeria y las demos, el formato wordpress y smf lo permite perfectamente, seria una pagina principal con noticias, imagenes y descargas importantes y luego se pueden tener unos hilos oficiales donde vayamos colgando mas imagenes, vídeos , demos y descargas no tan importantes como para estar en la pagina principal. De esa manera podemos crear hilos para que los programadores que usen el engine pongan sus dudas, su código, sus demos y imágenes detodo como aquí mas o menos :)

EDIT:
pho, yo tengo el servidor ya preparado con una debian estable apache, php y toda la mandonga bien configurada... cuando salga un logo te creo el usuario y la subes y configuras lo que tengas que configurar :)
Me parece bien.
En cuanto al nombre, queda dicho: Revolution Engine
El logo podemos hacer unos cuantos y luego vemos cual nos gusta mas, como paso con el nombre.

Otra cosa, en cuanto solucione un problema que estoy teniendo con un code-dump (creo que es cosa de la memoria dinamica al crear objetos con forma de esfera) te paso el codigo de una demo y el motor que tengo (aun sin texturas) para que le eches un ojo. ¿te lo envio a tu correo?
Oki :) enviamelo a oyzzoforfree@gmail.com o a oyzzo@badchecksum.net

Yo ahora estoy haciendo pruebas con la camara :P
y el emu de gcube que lo he reinstalado y me da algun problema y nose porque :S

bueno, ya he solucionado lo de gcube xD

He probado ya la version nueva de libogc y es una gloria, el wiimote se conecta solo sin apretar 1+2 y se maneja como el pad de gamecube , al salir sale al homebrew channel nuevo sin problemas... Así da gusto programar :D
Voy a hacer unas pruebas con libfat en la SD y modifico mi demo de texturas para que en lugar de meter la textura antes de compilar la cargue de la SD [sonrisa]
Os pongo unos logos aver si gustan (son muy simples)
Imagen
Raziel_DSM joer macho, eres un maquina! como has ido tan rápido? xDD

Pues me gustan bastante los dos últimos :) pero como hay que elegir uno pues elijo el último.

Abro las votaciones:

+1 voto para el logo 4 de Raziel_DSM.
Alguien me puede explicar que es un motor grafico? en que consiste? :-? ( a poder ser explicado sin tecnicismos )


pd: lo he buskado en wikipedia pero no lo he entendido muy bien ¬_¬
Primero distinguir entre motor grafico (Game Engine, como este) y motor DE graficos (Graphics engine, como el ogre3d)
Un motor grafico es una aplicacion, una suite, o un conjunto de librerias que te permiten diseñar y crear juegos.
Un motor de graficos sirve para mover graficos en una pantalla. Generalmente un motor grafico se compone de una entrada (Para proveer al juego de controles que el jugador utilize, como los wiimotes), un motor de graficos, un motor de fisica, un motor de sonido y otros componentes utiles en el proceso de desarrollo de juegos.

No es una explicacion rigurosa pero espero que te halla servido de ayuda
technik escribió:Primero distinguir entre motor grafico (Game Engine, como este) y motor DE graficos (Graphics engine, como el ogre3d)
Un motor grafico es una aplicacion, una suite, o un conjunto de librerias que te permiten diseñar y crear juegos.
Un motor de graficos sirve para mover graficos en una pantalla. Generalmente un motor grafico se compone de una entrada (Para proveer al juego de controles que el jugador utilize, como los wiimotes), un motor de graficos, un motor de fisica, un motor de sonido y otros componentes utiles en el proceso de desarrollo de juegos.

No es una explicacion rigurosa pero espero que te halla servido de ayuda


muxas gracias por tu rapidez y claridad [oki]
oyzzo escribió:+1 voto para el logo 4 de Raziel_DSM.

+1 por el 4º logo
Pues a mi el 4º no me acaba... me gustan mas o el primero, sin darle la vuelta a engine.
O el tercero pero pintando los bordes laterales del wiimote

PD: Cuantas exigencias xDDD
Bueno, por hoy ya esta bien... dejo de programar y me voy a jugar a tremulous un poco que estoy estresado [looco] Le he dedicado todo el dia al tema, no he hecho nada muy profundo, he estado leyendo y mirando mucho codigo de todo lo que he pillado xD y haciendo minipruebas yo para ponerlo en practica. Esto es lo que he sacado en claro:

-2D, mucho 2D acelerado por GX porque el 3D no lo es todo ;)
* tiles, sprites, sprites animados, rotozoom etc.. ademas de para juegos 2D puede ser util para menus o para hacer mezlas 3D/2D.
* Graficos tipo "mode7" de snes (mario kart, fzero...)
* escenarios 3D con sprites 2D (doom, wolfenstein3D,mario kart n64) o escenarios 2D con sprites 3D (alguien sabe alguno?)
-libfat... he estado mirando como va y haciendo test para cargar cualquiercosa desde la SD y poder guardar etc...
-wiiuse/wpad... para usar el wiimote de manera estable con soporte para todo y con varios profiles, para usar el ir en menus en juegos donde no se usa el ir par a jugar y cosas así.
-3D GX :) unos buenos graficos en 3D pueden hacer que un juego sea mucho mas divertido.
* Vertices, caras, culling, shading, displaylists.
* Iluminación (no he hecho mas que una prueba muy simple, tengo que probar algo mas :P)
* Texturización, una textura por modelo, varias texturas por modelo , uv mapping..., renderizar una camara como textura en otro modelo.
* He jugado con la camara, movimiento de camara, seguimiento de objetos... crear varias camaras, pantalla partida (tipico multiplayer de pantalla partida)
Lo que tengo que mirar:
-Deteccion de colisiones, física (un sistema simple no hay problema en implementarlo pero hay que mirar las opciones para portar ODE o algo asi)
-Particulas y cosas guapas [plas] polvo, niebla, nuves, fuego, liquidos, halos, flares y esas cosas....
-Sonido, solo he mirado como reproducir mp3, pero tengo que mirarlo mas afondo, me gustaria mirar si se puede usar el altavoz del wiimote y esas cosas.
-formatos...
* formatos de modelos 3D (obj, 3ds) formatos de escenas y mapas( collada)
* formatos de imagenes... (jpg,bmp,png)he hecho pruebas con las pngu de frontier, pero no usan la libfat que trae libogc ahora asi que nose si es buena idea utilizarlas, tengo que probar si pueden coexistir [360º]

Bueno, esas son mis ideas para el motor con lo que me he mirado mas o menos... Lo he puesto por orden que me ha ido saliendo, pero nada mas. Evidentemente hay cosas que son mas iportantes y que se deben implementar antes y cosas que se tardará mucho tiempo y versiones en implementar :P
Cuando technik me pase la base del motor puedo ir implementando algo. Si hay alguien que tiene algun tema preferido y lo quiere implementar que lo diga. o si cree que falta algo (seguro que si )
oyzzo escribió:[...]

¿A quien dices que tengo que matar para que se haga eso?

XD
ju ju xDD que divertido es esto de dibuajr cosas con OpenGL xDD en la pagina de NeHe (de donde han porteado los ejemplos de las gx de wii) esta toodo perfectamente explicado *_* http://nehe.gamedev.net/ llevo 6 lessons y solo puedo decir que, que ganas de acabar examenes y ponerme con esto =PPP
oyzzo, hay que meterle aun mas cosas al engine jeje, BSP trees, Scene management, extras del control como uso del tracking por IR para head-traking, whiteboard, etc...mil cosas.
El problema de portar ode o PhysX o cualquiera de estos es que no aprovechariamos las capacidades especiales de las GX. Es que yo les veo grandes posibilidades porque creo que podemos acelerar la fisica con ellas, no solo los grafcos. Te imaginas un juego con grafico s y fisica acelerados por Hard? a ke molaria? Es que el inconveniente y a la vez la ventaja de esta plataforma (la wii) es que es unica, genuina. Eso hace que por un lado baje la compatibilidad con cosas externas, dando la sensacion de que tiene una potencia muy inferior a la que tiene. Un ejemplo de esto son los mandos, los emuladores tienen problemas para ser portados porque el wiimote tiene pocos botones, y se ha de usar el classic o el de la GC). Sin embargo la wii es mucho mas potente que todo eso, pero tiene la pega de que esa potencia solo se aprovecha si se programa especificamente para ella.

En el caso de la fisica pues habra que documentarse e implementar un motor fisico propio dentro del Revolution engine, igual que estamos haciendo con los graficos, e igual que deberemos hacer en su momento con el sonido. Los controles no hay que implementar mucho porque ya esta para eso la wiiuse, pero quiza si acabemos haciendo algunas funciones personalizadas incluso en eso.

mas cosas...las pngu es cuestion de actualizarlas al libfat, si no se puede (frontier, dinos como lo ves) habra que implementar desde cero otra vez. Yo se que este trabajo es lento, pero se ira acelerando conforme vallamos teniendo una buena base sobre la que trabajar.

Yo ahora mismo estoy currando en eso, la base. Aun no he la he pasado porque sigo teniendo problemas con la memoria dinamica, pero en cuanto lo solucione os lo voy pasando y vamos publicando cosas. De todas formas de momento id publicando ejemplos de codigo de lo que llevais por si otros desarrolladores se unen y quieren ayudar, que tengan por donde empezar.

Lo que tengo implementado ahora mismo es una especie de base de fisica y graficos, muy primitiva, sin cargadores de modelos, ni tectuas ni iluminacion, pero que empieza a funcionar (a parte de los errores de core dump xD)

A ver si soluciono eso de una vez y podemos trabajar mas rapido sobre una base fija.

Por otra parte, a mi me gustan bastante los logos que se han mostrado, coged el que querais (a mi me gustan todos) y preparad la web en cuanto podais, que seguro que alli trabajamos bien jejej
technik, tu comentario en el hilo del nuevo juego de póker respecto a lo de que un online "seco" hace que el juego pierda un montón, me ha hecho caer en la cuenta que una de las cosas que todavía falta en la scene es el chat de voz. Viendo el nivel al que pretendéis llevar el engine creo que cuando se comiencen a implementar librerías para el sonido, éste debería ser un elemento a tener en cuenta.

A ver si me miro qué se podría hacer para tener un headset para wii porque Nintendo no nos da demasiadas facilidades...

Ánimo, mucha suerte y compilaciones sin bugs a todos los que estáis detrás del proyecto.

EDIT: vale, por lo que he visto o nintendo saca el headset propio o habría que tirar de uno bluetooth. Vamos, que aún queda mucho por investigar en este terreno hasta que se pueda conseguir algo; así que me guardo la sugerencia para cuando sea factible ;)
realbrucest, no te puedo contestar en condiciones porque aun no he tocado el tema del sonido ni de internet en la wii, pero espero que podamos implementar ese tipo de cosas para poder ver juegos hombrew con un on-line interesante. Por otra parte, eso me hace recordar que en la play2 habia un juego en el que controlabas a tu equipo por voz, no? quizas se pueda hacer algo de eso...aunque nos tengamos que hacer los head-sets artesanales jejeje (asi ademas les podemos poner un par de IR para que sirvan tambin de head-trackers jejej)

Ahora un tema tecnico, estoy pensando portar el motor a C++. No seria ahora mismo, pero creo que seria una buena idea que al menos desde la segunda alpha estuviera en C++ porque es mucho mas practico para el desarrollo de videojuegos. Comentadme si os parece bien, yo mientras tanto sigo con mis code dumps....
Oye, respecto a lo de poner funciones propias del mando en el engine... Se me ocurre que se podría meter un sistema en el que una función incline los objetos que quieras tal y como está el mando, por ejemplo.
Yo en su dia intente hacer una demo en la que salia un wiimote 3d en la pantalla y se meneaba de la misma manera que meneaba el wiimote, pero al final había problemas ya que los aceleradores cuando llegaban a los 90 grados me hacian cosas raras, pero en teoria no es dificil.
Por cierto si necesitais ayuda con el wiimote yo he conseguido que me valla el ir perfecto, pronto sacaré el Wiipaint 2.0

Saludos.
kontakatilu: gracias por aquellos docs, son oro puro XD yo del wiimote lo que menos he mirado es el ir, asi que seguramente te pediremos ayuda para que vaya fino cuando lleguemos ahi, o incluso te pediremos que lo implementes si tienes tiempo y ganas ;).

ANTONIOND escribió:Oye, respecto a lo de poner funciones propias del mando en el engine... Se me ocurre que se podría meter un sistema en el que una función incline los objetos que quieras tal y como está el mando, por ejemplo.

esto se puede hacer perfectamente ahora. De hecho las libogc nuevas te pasan toda la informacion del wiimote (que es mucha) y luego tu la usas para hacer lo que quieras... no es necesario tocar nada de ahi para hacer head tracking ni nada.

realbrucest: Muy buena idea lo del chat de voz, seguramente la opcion mas viable sea usar headsets BT como los de los mobiles. la nueva libogc tiene funciones para bluetooth así que será plan de estudiarlas y ver que se puede hacer con ellas. pero antes hay que implementar otras cosas mas necesarias para el motor.

technik: la GPU de la wii (y todas las que conozco) no son programables (aunque si algo configuralbles). Eso quiere decir que tienen sus funciones ya predefinidas y que ejecutan por hardware. Lo unico que pueden hacer los programadores es enviar datos a la gpu y decirle que funcion tiene que manejar esos datos (las funciones GX). Por el contrario, la mayoria de procesadores modernos tiene fpu, coprocesador matematico, una alu orientada a eso etc.. para acelerar los calculos matematicos. El compilador ya genera automaticamente el binario para usar esas partes del procesador cuando sea necesario, asi que portar ODE o algo asi es la mejor opción, porque aunque escrivieramos nosotros un motor de fisica no podriamos usar GX para acelerar nada al igual que en los pc no se puede hacer que la gpu haga nada que no sea lo que openGL o directX le deja hacer.

Le enviaré un mail a frontier aver si tiene pensado portar a libfat sus pngu.

pho: esta noche te creo el usuario en el servidor, te enviaré los datos por mp.
oyzzo escribió:esto se puede hacer perfectamente ahora. De hecho las libogc nuevas te pasan toda la informacion del wiimote (que es mucha) y luego tu la usas para hacer lo que quieras... no es necesario tocar nada de ahi para hacer head tracking ni nada.

Me refiero a que incluyais por ejemplo glRotateWiimote() o algo así y que esa función se encargue, para ahorrarnos a los demás ese trabajo. Ya se que se puede hacer con las libogc actuales, lo he hecho.
ANTONIOND escribió:
oyzzo escribió:esto se puede hacer perfectamente ahora. De hecho las libogc nuevas te pasan toda la informacion del wiimote (que es mucha) y luego tu la usas para hacer lo que quieras... no es necesario tocar nada de ahi para hacer head tracking ni nada.

Me refiero a que incluyais por ejemplo glRotateWiimote() o algo así y que esa función se encargue, para ahorrarnos a los demás ese trabajo. Ya se que se puede hacer con las libogc actuales, lo he hecho.


Claro, eso si :) de eso se trata el engine, para hacer mas facil el trabajo a quien lo use. Yo he puesto eso antes porque technik hacia referencia a modificar las wiiuse para tener soporte para headtracking. Las wiiuse no las tenemos que modificar, pero claro que crearemos funciones mas sencillas y de mas alto nivel que faciliten el trabajo a quien quiera hacer headtracking y esas cosas.
oyzzo escribió:Claro, eso si :) de eso se trata el engine, para hacer mas facil el trabajo a quien lo use. Yo he puesto eso antes porque technik hacia referencia a modificar las wiiuse para tener soporte para headtracking. Las wiiuse no las tenemos que modificar, pero claro que crearemos funciones mas sencillas y de mas alto nivel que faciliten el trabajo a quien quiera hacer headtracking y esas cosas.

Espero con ansias vuestro engine. ^^
Yo nome referia a modificar las wiiuse xD, me referia a crear funciones que las utilizasen para otras cosas jaja

Lo de acelerar la fisica lo digo por las transformaciones de matrices model, modelview y demas que se hacen con las GX, si implementamos un sistema de fisica basado en matrices podemos hacer todas las trasnformaciones usando las GX.
Ademas si esta implementado autenticamente en el motor (y no como llamadas a una libreria) podemos aprovechar muchos calculos que se suelen repetir entre graficos y fisica.

Otra cosa, estoy hasta el gorro de los puñeteros code dump xD, no hay formas de localizarlos en condiciones, he debugeado de mil formas...Asi que lo que hare sera eliminar por el momento las funciones que me dan problemas (como la creacion de Esferas y la parte que tenia de la fisica por ahora) eso me deja con bastante poco la verdad, pero es que como vuelva a ver ese error me tiro por la ventana xD

Voy a hacer una modificacion curiosa en el Engine, voy a cambiar totalmente el formato en que almacenaba los modelos en la memoria por uno mas estandard. El actual me permitia renderizar muy facilmente pero como me lo he inventado yo y no esta nada optimizado lo voy a cambiar por alguno mas standard para que sea mas facil hacer cargadores de modelos y eso.
Estoy flipando con lo que parece que avanza esto y lo en serio que os lo habeis tomado. Mi enhorabuena chavales, hay que tenerlos muy bien puestos para hacer algo como esto y que siga adelante. Muchas gracias por el currazo :) y me encanta ver eso de que las 2D pueden estar muy presentes en el tema.

PD: Tremulous es diox! [tadoramo]
Gracias por las criticas a los logos(tanto la constructivas como las destructivas).
Se me esta antojando demasiado programar para la Wii la verdad, lastima que de programacion se tan solo web(HTML, PHP) y FENIX(un lenguaje de programacion sencillo para hacer juegos en 2d, que dicho sea de paso no vendria mal portarlo a la wii)
Me recomendais algunos buenos manuales para iniciarse en C (supongo que es el lenguaje que se usa para la wii, ya que se usa practicamente para casi todo XD) ya se que no conseguire mucho aprendiendo desde ahora pero al menos me mantendra entretenido y algo aprendere [+risas] .
Bueno, yo he hecho un logo y aunque no me gusta mucho porque mas que un logo de un game engine parece una etiqueta de una medicina XD pero ya que lo he hecho pues lo pongo:
Imagen

PD: Me encantaría colaborar con el proyecto y se lo básico de c (punteros, arrays, e/s, etc) y este verano tengo intención de aprender más, pero todo eso para pc. Para wii ni idea, probé para psp y no se me daba muy bien asi que no se si podré ayudar mucho, de momento Xd
technik: Tienes razón sobre lo de matrices, pero eso solo permite hacer sumas/restas y multiplicación/división de una en una pero se pierde tiempo preparando los datos en matrices para que la gpu las calcule a la misma velocidad que lo hace el procesador. Ademas la gpu lee de la ram algo mas lento que el procesador, y pasa por buffers pequeños que al llenarlos hace que los calculos importantes de vertices y matrices graficas se relentice (no es lo mismo calcular una escena 3D, que calcular una escena 3D mas toda la fisica). La cpu es mucho mas potente que la gpu, si haces a la gpu calcular la fisica... que calcula la cpu?. Otro problema añadido es que la cpu tiene una cache y la gpu tiene otra independiente, eso hace que tengas que inutilizar la cache de la gpu para que no se desincronize con los valores de ram y cache de cpu... y dejar sin cache la gpu hará que todo vaya muchas veces mas lento.
Te digo todo esto porque yo hice unas pruebas en mi universidad sobre eso y quedó demostrado que si el procesador es mucho menos potente, sin fpu ni coprocesador matematico... puede llegar a valer la pena en algunos calculos usar la gpu si es muy potente y siempre que no hagas calculos graficos porque entonces pierdes potencia de gpu, pero si el procesador tiene fpu coprocesador matematico y es cientos de veces mas potente que el procesador grafico... y ademas quieres usar la gpu para graficos, se ve por logica que no va a beneficiar nada. Mirate "el documento" sobre GX y veras como funciona la gpu de wii.

Sobre el formato de modelos en memoria, lo mejor son "Display lists" ocupan menos y la gpu las lee mas rapido, porque las lee directamente de ram (o de su cache) y no tienen que pasar por el FIFO de GX. También viene explicado y calculado que ocupa los tiempos de lectura y todo en "el documento" sobre GX

Raziel_DSM: Pues si sabes programar PHP no te supondrá ningún problema C, es muuy parecido. Si aprendes C programar para wii usando nuestro engine no te resultará complicado, usando GRRLIB tambien es bastante sencillo (aunque nuestro engine sera mucho mejor claro xD). Hay muchos cursos por internet disponibles libremente sobre C, pero yo te recomiendo este: http://www.tecnun.es/asignaturas/Inform ... leng_c.pdf
espero ver tus avanzes ;) y para cualquier duda ya sabes.
tienes Razon oyzzo. Entonces lo mejor sera portar o adaptar la fisica desde algun proyecto open source. Yo tambien estoy leyendo ahora mismo el magnifico documento jeje, a ver si aprendo a usar las Display Lists. Dado que voy a tener que reescribir casi todo lo que tenia del engine (al menos me ha servido para familiarizarme con las GX un poco) podrias decirme en que te estas centrando tu para centrarme yo en otra cosa y asi no hacer el trabajo doblemente.
oyzzo escribió:Hay muchos cursos por internet disponibles libremente sobre C, pero yo te recomiendo este: http://www.tecnun.es/asignaturas/Inform ... leng_c.pdf
espero ver tus avanzes ;) y para cualquier duda ya sabes.

Me surge una duda. Le he echado un ojo a eso y todo(o eso creo ya que solo he mirado el indice) eso de C ya lo se. Sin embargo de programción grafica no tengo ni idea todo los programas que hecho
son de msdos o de la shell de linux o menús de texto para psp, tipo el recovery. Mi pregunta es para poder hacer algo con vuestro engine necesito obviamente aprender programación gráfica, verdad?
PD:Si puedo ayudaros en algo (que no necesite programación gráfica, aunque dudo que haya algo así tratandose de un game engine),no dudeis en decirmelo. Mientras tanto me iré mirando tutoriales de programación en wii aunque espero que sea parecido al pc y de programación de gráficos
la programacion grafica es la programacion con librerias graficas, asi de simple. SI sabes C solo tienes que elegir una libreria grafica y familiarizarte con las funciones , estructuras, y demas cosas que esta te proporciona. Te recomiendo que empieces con OpenGL, hay muy buenos tutoriales en la pagina de nehe (no tengo el enlace, pero estaba un par de paginas atras, creo)
Anarcadio: como te ha dicho technik aprender openGL es un buen comienzo en nehe.gamedev.net estan los famosos turoriales, pero te aviso que nuestro engine será mas sencillo que openGL. programar en openGL equivaldria a programar en GX para wii. con nuestro engine será mucho mas facil, será tipo irrlicht 3D o SDL en 2D. Si no te ves con fuerzas de empezar a programar openGL a saco puedes mirarte SDL que es 2D y muy simple y así te familiarizas con la programación de juegos que es algo distinta a la de otras aplicaciones y luego ves a por 3D. Un buen libro de SDL: http://www.agserrano.com/libros/sdl/%5B ... %20SDL.pdf y los codigos fuentes de los ejemplos : http://www.agserrano.com/libros/sdl/libroSDL.zip
No esta mal tu logo, yo creo que añadiendole algo grafico (que no sean solo letras) y con algun brillo o reflejo estaria guapo :)

technik: el documento ese es la ostia eh [360º] yo me lo puse a leer ayer y se ve todo mucho mas claro y desde otro punto de vista ;) Pues ahora estoy leyendome ese documento y probando poco a poco todo lo que pone, porque me ha aportado un conocimiento mucho mas profundo de todo, incluso de lo que ya sabia xD Asi que he ido haciendo hasta el final del punto 4, Display lists y GXDraw Functions. Y me voy a poner con el 5 Viewing. Lo que voy haciendo son pruebas peqeñas para mi, pero cuando acabe el documento y me pases la base me pondré a escribirlo todo desde cero, asi que no te preocupes... cuando tu veas que tienes una base, me lo pasas aunque sea un revolution.h con algunos declares, y yo me pongo a trabajar ahi... es mas que nada para ver como lo estructuras y hacerlo igual. Las funciones que nombres les pones? yo voto porque comienzen por REV para distinguir las funciones del motor de las de GX o las de VIDEO o cualquier otro subsistema.
Podriais compartir "El Documento" xDD

PD: OpenGL mola un webo xDDD
PD2: Ozzyo cuando quieras (mañana =P) monto la web =3
El documento es sencillamente genial, te da otra forma de trabajar totalmente distinta y no veas los quebraderos de cabeza que te ahorras. Y eso sin hablar del cambio que va a suponer en la optimizacion del engine. De hecho yo estoy reescribiendo el engine totalmente para adaptarme a lo que estoy aprendiendo ahora.
Como esto tardara creo que podemos fijar un standard en la nomenclatura de las funciones y demas para que no tengais que estar esperandome ni a mi ni a mi base y podais programar agusto jeje. Antes de tener nombre yo llamaba a las funciones GXGE_nombre() y las estructuras las ponia asi : typedef struct GXGE_nombre_t{argumentos} nombre; Creo que simplemente poniendo REV donde antes ponia GXGE podemos tener los nombres nuevos. Yo opto porque la estructura del programa que tengan que crear los usuarios sea lo mas sencilla posible, una cosa asi:
#include "RevolutionEngine.h

void main(void)
{
     REV_Start();//aqui metemos nosotros tooooda la inicializacion

/*Aqui el usuario pone las instrucciones de inicializacion de su juego:
Creacion de camaras, carga de modelos y niveles iniciales, todo lo que quiera hacer antes de entrar en el bucle principal*/

while(1)
{//Y este es el bucle principal
//primero lo que al usuario le de la gana que haga su juego en cada ejecucion del bucle
REV_Process();//Y aqui metemos nosotros toda nuestra actualizacion, fisica, renderizado, sonido, todo. Que se basara en lo que el usuario halla introducido antes
}
}


Mas simple no puede ser, luego proveemos al usuario de buenas funciones y listo, pedazo de Game Engine.

Yo me estoy currando la REV_Process() y la REV_Start() que son lo que yo llamo Base del Engine. Pero las funciones de API por llamarlas de alguna forma se pueden ir desarrollando ya. ¿Que tal carga de modelos y textura a formato de GX?
Buenas, después de un tiempo en el que he estado un poco desconectado espero ahora poder dedicarle mas tiempo a este pedazo de engine que se está creando. A ser posible agradeceria si alguien puede hacer un pequeño resumen de lo que se tiene hasta ahora y el material que ya se ha echo, así podria yo también ponerme manos a la obra y ayudar en el proyecto :D

También he echo un pequeño logo (por fin he usado el TabletPC para lo que realmente se supone que está diseñado: diseño gráfico xD), es bastante cutre, si, pero aunque parece muy "comercial" me gusta el aspecto final :P:

Imagen

PD: La semana que viene tengo la Selectividad, aunque tengo que estudiar, al menos podré dedicarle un poco mas de tiempo al engine durante esta semanita, para después de hacer la sele dedicarme aún más :D

Un Saludo ;)
Desaparezco un par de semanitas y montais la de San Quintín... Me dan ganas de desaparecer un par de meses y seguro que a la vuelta me encuentro el motor terminado :p

He leido el hilo completo desde donde lo dejé y me gustaría dar mi opinión sobre algunas cosas:

technik: En primer lugar enhorabuena por el currazo que te has metido, la verdad es que tiene mucho mérito. Sobre lo que comentabas de pasarte a C++ estoy totalmente de acuerdo. Hacer un juego medianamente complejo sin usar orientación a objetos es un infierno. Dejemos C para las librerías sencillas y el acceso a bajo nivel y usemos C++ para todo lo que requiera un mínimo de sofisticación.

oyzzo: Gracias por ponerte en contacto conmigo, sino seguiría en la inopia. Esta misma tarde he portado PNGU para que haga uso de libfat. Si alguien tiene mucho interés le puedo pasar una copia, pero de momento no voy a hacerlo público porque estoy trabajando en algunas mejoras adicionales.

También estoy de acuerdo en que para la física es mejor usar el ODE. En primer lugar tiene que ser extremadamente fácil de portar, ya que no hace uso de ningún hardware específico. En segundo lugar, como indicabais más arriba, en un juego la CPU está desaprovechada y la GPU sobrecargada, así que no hay que desequilibrar aún más la balanza.

Mientras esperaba a que saliese la r15 de devkitppc me he dedicado a un proyecto para PC que tenía parado. Se trata de un intérprete de scripts y originalmente mi idea era usarlo en un programa de cálculo matemático que también estoy desarrollando. Para que os hagais una idea, es algo así como LUA, aunque adaptado a las necesidades de mi programa. Si quereis puedo modificarlo para su uso con el motor.

Por último, me uno a la petición de que se postee un enlace al famoso "doooocumeeeeento" (léase con voz tenebrosa).
frontier: reholas compañero, yo estoy interesado en que me rules PNGU para poder ir haciendo cosillas ya, cuando termines las mejoras se incorporan y listo ;) mira tus mensajes privados [sonrisa]
Sobre lo de usar C++ creo que no es buena idea, C++ es bastante mas lento y todo lo que sea ganar velocidad se nota en el resultado final (poder usar modelos con mas detalle, mejores texturas...) En C se puede hacer todo claro, igual que en C++ usando estructuras y haciendolo funcional, sin contar que si se hace en C++ se complica para el usuario que lo quiera utilizar. De todas formas si hacemos el motor en C y alguien quiere hacer un juego en C++ lo va a poder usar sin problema.

Davpk: me gusta tu logo, pero es Revolution no Evolution :P mola lo del tablet pc, yo voy a pillarme un umpc con pantalla tactil para ver que tal va :D El resumen te lo hago, por examenes hemos estado un poco de tiempo ausentes (y aun no he acabado pero le puedo dedicar algun tiempo) y desde hace unos dias nos hemos orientado en la buena dirección y ademas ha salido la version nueva de devkitppc con libogc nueva wiiuse y libfat integradas y mejoradas asi que nos ha dado un empujon ;) Al final el engine se llama Revolution Engine y se programa en C sobre GX (osea acelerado por hardware en la wii, usando su grafica) Hemos estado haciendo pruebas con modelos y texturas cargadas desde la SD, algo de iluminación y alguna cosilla mas. Se ha decidido montar una web con un foro en un servidor mio, mañana pho la subirá y la configurará. technik se ha puesto a hacer la base del engine y yo me voy a poner a hacer algunas funciones basicas ya mismo.

technik: yo voy a ir haciendo unas funciones de primitivas basicas(plano,cubo, piramide, cilindro, esfera), funciones basicas de manejo (mover, rotar, escalar), manejo de eventos (wiimote de momento) y algo de coloring (flat shading, goaraud shading)
Sobre las primitivas, busca un poco en el documento y veras que hay unas funciones que crean solas cilindros, toroides, cubos, dos tipos de esferas, dodecaedros, octaedros, icosaedros y planos asi que no te molestes jeje, no es cuestion de repetir trabajo. Yo tempoco me habia dado cuent (de hecho la funcion que me daba problemas era una de creacion de esferas que estaba haciendo yo)
388 respuestas
13, 4, 5, 6, 7, 8