Curso de programación para DS de 218 hojas

Pues sí, buscando una duda sobre una función para PAlib me he encontrado con este curso sobre programación para la NDS de 218 páginas. Y además, orientado a videojuegos!

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
INGENIERO TÉCNIDO EN INFORMÁTICA DE SISTEMAS
Desarrollo de Videojuego 3D Para La Videoconsola Nintendo DS
Realizado por
Fernando García Bernal
Dirigido por
Francisco R. Villatoro Machuca
Departamento
Lenguajes y Ciencias de la Computación
UNIVERSIDAD DE MÁLAGA
MÁLAGA, ABRIL 2008


Índice
Capítulo 1. Introducción ...................................................................1
1.1 Antecedentes........................................................................................... 1
1.2 Objetivos ................................................................................................. 2
1.3 Contenidos de la memoria ..................................................................... 3
Capítulo 2. Videoconsola Nintendo DS ............................................5
2.1 Hardware................................................................................................ 6
2.1.1 Hardware adicional para cargar aplicaciones .....................................................6
2.2 Desarrollo en Nintendo DS .................................................................... 8
2.2.1 Libnds....................................................................................................................9
2.2.2 PAlib....................................................................................................................10
Capítulo 3. Librería PAlib ..............................................................13
3.1 Configuración del Entorno de Desarrollo y Emuladores................... 13
3.2 Programación en Nintendo DS Usando la Librería PAlib ................. 17
3.2.1 Plantilla PAlib .....................................................................................................17
3.2.2 Primera aplicación ..............................................................................................18
3.2.3 Textos ..................................................................................................................19
3.2.4 Entrada................................................................................................................21
3.2.4.1 Pad.......................................................................................................................21
3.2.4.2 Stylus ...................................................................................................................21
3.2.5 Imágenes..............................................................................................................22
3.2.5.1 Mostrando imágenes...........................................................................................24
3.2.5.2 Desplazando imágenes ........................................................................................26
3.2.5.3 Rotaciones y zoom...............................................................................................29
3.2.5.4 Volteo de imágenes..............................................................................................33
3.2.5.5 Transparencias....................................................................................................34
3.2.5.6 Profundidad ........................................................................................................35
3.2.6 Funciones Matemáticas ......................................................................................36
3.2.6.1 Números aleatorios .............................................................................................36
3.2.6.2 Decimales con punto fijo.....................................................................................37
3.2.6.3 Trayectorias y ángulos........................................................................................38
3.2.7 Sonido..................................................................................................................42
3.2.7.1 Archivos de sonido Raw......................................................................................43
3.2.7.2 Archivos de sonido mod......................................................................................45
3.2.7.3 Funciones adicionales de sonido .........................................................................46
3.2.8 Programación Hardware DS ..............................................................................46
3.2.8.1 Fecha y hora........................................................................................................46
3.2.8.2 Información de usuario.......................................................................................47
3.2.8.3 Pausa al cerrar ....................................................................................................48
3.2.8.4 Iluminación de pantallas.....................................................................................49
3.3 Programación 3D ................................................................................. 49
3.3.1 Inicializar funciones 3D ......................................................................................50
3.3.2 Polígonos .............................................................................................................52
3.3.3 Rotación ..............................................................................................................54
3.3.4 Figuras Básicas 3D..............................................................................................56
3.3.5 Texturas ..............................................................................................................59
3.3.6 Iluminación .........................................................................................................64
3.3.7 Seleccionar objetos..............................................................................................67
Capítulo 4. Fase de Análisis del Juego ...........................................75
4.1 Idea........................................................................................................ 76
4.2 Guión .................................................................................................... 77
4.3 Modelado conceptual ........................................................................... 77
4.3.1 Fases del juego ....................................................................................................77
4.3.2 Elementos ............................................................................................................78
4.4 Diagrama de casos de uso .................................................................... 79
4.4.1 Diagrama de casos de uso del actor....................................................................79
4.4.2 Diagrama de casos de uso del usuario ................................................................79
Capítulo 5. Fase de Diseño ..............................................................81
5.1 Diseño de Personaje y Objetos............................................................. 81
5.2 Diseño de la Interfaz del Usuario ........................................................ 82
5.3 Estudio de las clases ............................................................................. 84
5.3.1 Diagrama de clases..............................................................................................84
5.3.2 Definición de las clases........................................................................................85
Capítulo 6. Implementación............................................................91
6.1 Recursos gráficos.................................................................................. 91
6.1.1 Sprites..................................................................................................................92
6.1.2 Creación objetos 3D............................................................................................92
6.1.2.1 Formato DirectX.................................................................................................96
6.1.2.2 Conversión de formato .....................................................................................105
6.2 Arquitectura de la aplicación ............................................................ 111
6.2.1 Librerías............................................................................................................111
6.2.1.1 Vectores.h..........................................................................................................111
6.2.1.2 glQuaternion.h ..................................................................................................114
6.2.1.3 Librería lib ........................................................................................................116
6.2.2 Clase Figura ......................................................................................................120
6.2.3 Clase Objeto3D .................................................................................................121
6.2.4 Clase Entidad ....................................................................................................123
6.2.5 Clase Personaje .................................................................................................125
6.2.6 Clase Escenario .................................................................................................126
6.2.6.1 Constructor Escenario ......................................................................................136
6.2.6.2 Ciclo de juego....................................................................................................141
6.2.6.3 Búsqueda de camino .........................................................................................159
6.2.7 Crear nuestra propia aventura. Especializaciones de escenario y entidad.....163
6.2.7.1 Herencia de Entidad .........................................................................................164
6.2.7.2 Herencia de Escenario ......................................................................................165
6.2.8 Fichero main .....................................................................................................173
6.3 Implementar nuestra aventura.......................................................... 174
6.3.1 Protagonista ......................................................................................................175
6.3.2 Entidades...........................................................................................................175
6.3.2.1 Mesa ..................................................................................................................175
6.3.2.2 Estatua...............................................................................................................176
6.3.2.3 Puerta ................................................................................................................177
6.3.2.4 Fregona..............................................................................................................177
6.3.2.5 Llave ..................................................................................................................178
6.3.2.6 Árbol..................................................................................................................179
6.3.2.7 Coco...................................................................................................................179
6.3.3 Escenarios .........................................................................................................180
6.3.3.1 Escenario Habitación........................................................................................180
6.3.3.2 Escenario Exterior ............................................................................................185
6.3.4 Fichero main .....................................................................................................188
Capítulo 7. Conclusiones ...............................................................191
7.1 Inconvenientes y opiniones ................................................................ 191
7.2 Futuros desarrollos ............................................................................ 194
Apéndice A. Glosario.....................................................................197
Apéndice B. Contenido del CD-ROM ..........................................201
Bibliografía.....................................................................................205


Como veis, completito completito y con código incluido.

A quien le interese, la descarga del PDF está ¡AQUI!
Solo una cosa...

WTF?!?!?!?!?!?
Pero qué coj... Oooh

[flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa] [flipa]

Vaya pasada de tocho de cacho de stroncho de taja de pedazo de inmenso de enorme de grande de impresionante de burro de bicho de animal de gignatesco de inabarcable de increible de trozo de cosa
más grande de tutorial...

Esto si que me viene bien para aprender palib en condiciones [babas] , o por lo menos eso espero, y en español... [jaja]

EDIT: [babas] Vaya, en serio que tiene buena pinta, viene muy bien explicado...o por lo menos eso parece...
Rigle si le hechas un vistazo, tu que estás aprendiendo esto, pero ya has aprendido lo básico, si me lo miras por encima y me comentas mejor.

Yo de esto no tengo ni idea... ein?
kai_dranzer20 está baneado por "Game Over"
offtopic

a quien mataste por un yogur? [carcajad]
keda escribió:Pues sí, buscando una duda sobre una función para PAlib me he encontrado con este curso sobre programación para la NDS de 218 páginas. Y además, orientado a videojuegos!


Ahora la pregunta es... ¿cuánto te va a costar encontrar la duda en ese tochaco? xD

Bueno, muchas gracias, puede ser útil... desde luego el que lo ha hecho se lo ha currado Oooh
Para que después la sociedad/empresas menosprecie a los ingenieros en informática... gran curro sin lugar a dudas.
kakashi1000 escribió:Ahora la pregunta es... ¿cuánto te va a costar encontrar la duda en ese tochaco? xD

Vamos a ser practicos es mejor leerlo completo y reafirmar lo aprendido (Nunca esta de mas) a solo "ojearlo" y no aprender NADA!!..
Algo tan bien planteado merece la pena imprimirlo para leerlo como lo que es...A ver si ahora si aprendo algo del tema..
Hey pos está muy bien, aunque no tengo ni idea de esas cosas. Lo voy a subir a emule por si a alguien le interesa y nos sorprende con nuevo homebrew más adelante.
Muy interesante pero se puede acabar de leer??
De la universidad de málaga!!! xDD, ainsss, los malagueños esque somos unos soletes n.n

Quizás me anime a hacer algún programa para la ds ^^ así en privado para aprender... muy buena la guía.
gracias, nunca esta de mas.
Si éste PDF lo puse yo en un post(no me acuerdo cual era)...
alexpowerup escribió:Si éste PDF lo puse yo en un post(no me acuerdo cual era)...

En uno de mis tutos. [qmparto]

hilo_tutorial-1-primeros-pasos-en-3d_1043755#p1712434609
Cierto XD no me acordaba del post lol
Por fin podré crearme mis propios juegos ya tenía yo ganas de empezar ha hacer juegos en esta plataforma.

Saludos [sati]
lamateporunyogur escribió:...Vaya pasada de tocho de cacho de stroncho de taja de pedazo de inmenso de enorme de grande de impresionante de burro de bicho de animal de gignatesco de inabarcable de increible de trozo de cosa
más grande de tutorial...


Amen [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto]
No se xk, pero podria decir k algunos le viene al pelo
Hero Of Time escribió:
lamateporunyogur escribió:...Vaya pasada de tocho de cacho de stroncho de taja de pedazo de inmenso de enorme de grande de impresionante de burro de bicho de animal de gignatesco de inabarcable de increible de trozo de cosa
más grande de tutorial...


Amen [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto]




sin sentido pero con sentido [carcajad] [carcajad] [carcajad] [carcajad] [carcajad] [carcajad] [carcajad] [carcajad] [carcajad]
ETkoala escribió:
Hero Of Time escribió:
lamateporunyogur escribió:...Vaya pasada de tocho de cacho de stroncho de taja de pedazo de inmenso de enorme de grande de impresionante de burro de bicho de animal de gignatesco de inabarcable de increible de trozo de cosa
más grande de tutorial...


Amen [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto]




sin sentido pero con sentido [carcajad] [carcajad] [carcajad] [carcajad] [carcajad] [carcajad] [carcajad] [carcajad] [carcajad]


Exacto [jaja]
ETkoala escribió:
Hero Of Time escribió:
lamateporunyogur escribió:...Vaya pasada de tocho de cacho de stroncho de taja de pedazo de inmenso de enorme de grande de impresionante de burro de bicho de animal de gignatesco de inabarcable de increible de trozo de cosa
más grande de tutorial...


Amen [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto]

Oh, right!!1ONE


sin sentido pero con sentido [carcajad] [carcajad] [carcajad] [carcajad] [carcajad] [carcajad] [carcajad] [carcajad] [carcajad]
qué bueno!!! En cuanto vuelva a terner el PC rulando me lo bajo por el momento me envío el post...alguien lo ha pasado para leerlo en la DS??
Diox, que traya de tutorial [mad] [looco] [flipa] , pa la saca.
No se tu, xr en mi saca no coje [toctoc]
si señor buen material aora sera mejor para el que sepa manejarlo jajaja esta muyyyyyyyy currao :)
impresionante manual!!! [amor] a ver si la peña se anima y saca manuales como este para otras consolas como psp, wii, ps2, etc etc [babas]
buaaa mola, muchas gracias !!



TOMAAAAAAA EN EL MANUAL PONEN LA GAME DE PRODUCTOS DE SUPERCARD EN LAS IMAGENES COMO EJEMPLOS PARA CARGAR EL HOMEBREW Xdddddd SUPERCARD POWER !!!
INGENIERO TÉCNIDO EN INFORMÁTICA DE SISTEMAS

xD
Yo quiero ser de eso.
Guzmanus escribió:
INGENIERO TÉCNIDO EN INFORMÁTICA DE SISTEMAS

xD
Yo quiero ser de eso.


Idem [amor] Yo tambien quieroooo...
Estoy en ello...En un año estoy empezando...
Aunque el primer año es una mierda, es todo física y matemáticas, nada de programación... :(
Pos esto me valdra para parender algo en este verano ( que no tendre internet [mamaaaaa] )
Muy bueno el pdf (que es el mismo o muy parecido al del wiki de PAlib)

Saludos
buen material esta genialllll [looco]
ANTONIOND, mirate el apartado 3.3.6 xDDD
judelco escribió:ANTONIOND, mirate el apartado 3.3.6 xDDD


No hay nada que no supiera ya de ese apartado. ¬_¬ Y es mas o menos lo que he puesto en el tutorial. Y no me molesta que ya esté hecho eso, voy a seguir con los tutos.

PD: Jaque mate. [poraki]
ANTONIOND escribió:
judelco escribió:ANTONIOND, mirate el apartado 3.3.6 xDDD


No hay nada que no supiera ya de ese apartado. ¬_¬ Y es mas o menos lo que he puesto en el tutorial. Y no me molesta que ya esté hecho eso, voy a seguir con los tutos.

PD: Jaque mate. [poraki]


[burla3]

En fin, viendo el estado de vicio que llevo con el Lineage II, declaro que el Zelda no lo tengo muy pendiente de continuar estos dias, pero NO lo he dejado definitivamente parado ni nada de eso. Ya lo acabaré, eso seguro [ayay]
judelco escribió:En fin, viendo el estado de vicio que llevo con el Lineage II, declaro que el Zelda no lo tengo muy pendiente de continuar estos dias, pero NO lo he dejado definitivamente parado ni nada de eso. Ya lo acabaré, eso seguro [ayay]

Eso, que ya te conté que había solucionado los 2 principales problemas que te daba el EFS (porque los he tenido que arreglar para mi juego, más que nada...). Cuando te decidas a seguir te digo lo que tienes que hacer y te paso un par de archivos de código con las funciones modificadas.
Luisinho escribió:qué bueno!!! En cuanto vuelva a terner el PC rulando me lo bajo por el momento me envío el post...alguien lo ha pasado para leerlo en la DS??


No sé si podrás leerlo, ein? pero te lo he pasado ha formato *.nds [plas]
Incluye el de Supercard y el de GBA.
Se lee como si estuvieras en el ComicBookDS, pero no es formato *.cbds, sino *.nds

Link megaupload:
Imagen

PD: Si veo que hace mucha falta lo subo a rapidshare. Cualquier duda o fallo avisad.
Agradecer es gratis! [oki]
lamateporunyogur escribió:
Luisinho escribió:qué bueno!!! En cuanto vuelva a terner el PC rulando me lo bajo por el momento me envío el post...alguien lo ha pasado para leerlo en la DS??


No sé si podrás leerlo, ein? pero te lo he pasado ha formato *.nds [plas]
Incluye el de Supercard y el de GBA.
Se lee como si estuvieras en el ComicBookDS, pero no es formato *.cbds, sino *.nds

Link megaupload:
Imagen

PD: Si veo que hace mucha falta lo subo a rapidshare. Cualquier duda o fallo avisad.
Agradecer es gratis! [oki]

[tadoramo] gracias! [tadoramo]
keda escribió: [tadoramo] gracias! [tadoramo]


No es nada. Si veo que interesa mucho lo pongo en un post aparte, pero para leerlo en la NDS...es dificil.
a mi no me funciona el archivo .nds en mi EZv.

saludos
javi_ls escribió:a mi no me funciona el archivo .nds en mi EZv.

saludos


Oooh Oooh Oooh

Qué raro...Lo convertí con el PictoDS...
La verdad es que no tuve tiempo de probarlo en flashcart, pero lo probé en el emu NO$GBA y me iba...

Pero tranqui, le pego un repaso... [oki]

EDIT: No va tampoco en CycloDS, vaya mierda q hice.
Lo pasare entonces a *.cbds, por lo que sólo podréis leerlo en el ComicBookDS (intentaré incluirlo)
sergiomx escribió:buen material esta genialllll [looco]

Parece que estás hablando sobre pr0n xD
Esta vastante completo, lo unico que como la mitad del material te enseña c y diretx y no palib en si.

gracias por el aviso y salu2.
Vaya pasada de tocho de cacho de stroncho de taja de pedazo de inmenso de enorme de grande de impresionante de burro de bicho de animal de gignatesco de inabarcable de increible de trozo de cosa
más grande de tutorial...



xDDDDDDDDD
Gracias por el aporte, si algun dia me aburro intentare hacer algo
Vicente14 escribió:
Vaya pasada de tocho de cacho de stroncho de taja de pedazo de inmenso de enorme de grande de impresionante de burro de bicho de animal de gignatesco de inabarcable de increible de trozo de cosa
más grande de tutorial...



xDDDDDDDDD


by lamateporunyogur (osea, servidor XD )
Un muy buen curso. Le dedicaré el tiempo que pueda a practicar con él :o


Pd.: Jojo, de mi facultad :).


Salu3
Ya descargue el curso pero tengo una pregunta; de momento solo se turbo pascal lo basico (no modo grafico) y mi pregunta es que si necesito algo mas para empezar o de plano esta accesible para todos.
Apéndice B. Contenido del CD-ROM ..........................................201

En el pdf viene el CD-ROM físico? xD
alguien podria subirla de nuevo ya no esta el PDF
¿Eso, alguien podría volver a subirlo? :\
HIa escribió:alguien podria subirla de nuevo ya no esta el PDF


Será que ya han borrado el fichero porque como empieza un nuevo curso... limpian los servidores
50 respuestas
1, 2