6

Click here to load reader

Creación de video juegos para psp

Embed Size (px)

Citation preview

Page 1: Creación de video juegos para psp

Creación de video juegos para psp

Primero vamos a comensar con un poco de historia:

* Antes de la computadora personal: se remonta a 1958 Bill Nighinbotthan presenta en una feria científica, un aparato permitiendo mediante unos potenciómetros mover una pequeña raqueta en un tubo de rayos catódicos, este no pudo tener mucho potencial por el aparato. Después Nolan Bushnel Basándose en este aparato crea en 1972 un videojuego llamado Pong. Nollan, que sí es capaz de ver las posibilidades de este nuevo mercado, funda Atari, pero Nollan ya había comercializado su primer videojuego: Computer Space. Años después, en 1976, un empleado de Atari llamado Steve Jobs, ayudado por Steve Wozniak, crean un videojuego llamado BreakOut. Dos años después, ambos dejarán Atari para crear Apple Computer y pasar a la historia de la informática. En 1978 cuando Taito lanza al mercado el famoso Space Invaders la cual era capaz de almacenar las puntuaciones máximas convirtiéndose en todo un clásico. En los siguientes años, comienzan a aparecer en el mercado nuevos videojuegos de “excelente calidad”, y que se convertirán en clásicos. Juegos como Donkey Kong, Frogger, Galaga, Pac Man, etc... *Después del allegada de la computadora personal: en los años 80 las computadoras se estaban convirtiéndose en un éxito no por los juegos que salían para estos sino también para los que querían programar (claro hay que aclarar en esta época la programación de videojuegos y de todo tipo de programa era muy compleja de hacer porque el tipo de lenguaje era muy bajo el cual era lenguaje ensamblador)

Distintos Lenguaje de programación para trabajar en la consola de videojuegos PSP

Entre muchos de lenguajes de programación que existen hoy en día, no con todos podemos hacer aplicaciones en La PSP por eso voy a nombrar los lenguajes con que podemos trabajar y el lenguaje con que vamos a trabajar (Hay que aclarar que cuanto más bajo sea el nivel del lenguaje es más difícil de aprender y entender estos mayormente pueden ser adaptado a cualquier consola porque están influidos por el lenguaje ensamblador que es el lenguaje maquina) En la PSP podemos trabajar con: *Lenguaje LUA: se creó en 1993 por Roberto Ierusalimschy, Luiz Henrique y Waldemar Celes, miembros del Grupo de Tecnología en Computación Gráficaen la Pontificia Universidad Católica de Río de Janeiro. Lua es un lenguaje de extensión, suficientemente compacto para usarse en diferentes plataformas. Gracias a su sencillez Lua pudo ser portado a múltiples arquitecturas fácilmente y sorprendentemente a PSP y Wii, siendo por ahora el primer port el más antiguo y exitoso, mientras que el Wii deriva de éste, en psp se han creado muchos homebrews de la consola PSP debido a su sencillez y van desde aplicaciones para añadir complementos, otros programas y excelentes videojuegos muy completos.

*Lenguaje C: su creación fue entre 1969 y 1973 en los laboratorios bell de AT&T se le dio como nombre C porque muchas características fueron tomadas del lenguaje B . En mi opinión recomiendo trabajar con este lenguaje en vista de que es un lenguaje que puede ser implementado en diferentes consolas ya que es un lenguaje de bajo nivel y es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. Esto quiere decir que si aprendes este lenguaje no solo pudras programar para PSP sino también para cualquier aparato teniendo en cuenta el conocimiento.

Librerías

Page 2: Creación de video juegos para psp

Las librerías es un conjunto de subprogramas utilizados para desarrollar software las cuales contienen código y datos, que proporcionan servicios a programas independientes, llegando a ser partes del código del programa creado. Para programar en y además para hacer aplicaciones graficas necesitamos unas librerías especiales las cuales voy a nombrar dos que son las mas importantes o las mas reconocidas:

SDL: en ingles Simple DirectMedia Layer, es un conjunto de bibliotecas desarrolladas en el lenguaje de programación C que proporcionan funciones básicas para realizar operaciones de dibujo en dos y tres dimensiones , gestión de efectos de sonido y música, además de carga y gestión de imágenes. Fueron desarrolladas inicialmente por Sam Lantinga, un desarrollador de videojuegos para la plataforma GNU/Linux. Aunque actualmente se pueden desarrollar para Windows consolas como la PSP y otros. Esta librería es muy recomendable ya que se pueden hacer cosas inimaginables con este, pero no es tan sencillo de usar a si que es mas para un programador con experiencia

OSLIB: esta librería hace que la programación de una PSP sea mucho más fácil. Puede ayudar para hacer una consola PSP más fácil de acceso para los principiantes, y también para los que quieren beneficiarse de su poder. OSLib lleva la potencia de la GPU para lo que PSP sin tener que aprender los conceptos en 3D o para tocar con el hardware. Recomiendo esta librería para las personas que se inician en el mundo de la programación de videojuegos en psp pero esta comparada con la sdl, la sdl tiene mas potencia hace que se puedan hacer mucho mas cosas y con toques mas profesionales

Compilador

Es el programa que se encarga de traducir el programa escrito al ejecutable según sea en caso en donde se ejecute el programa y haci también revisa si hay algún problema en el código fuente:

El compilador de psp se llama Kit de Programación PSP para Torpes la cual esta en su versión 3.0 y se puede instalar en Windows y en cualquier distribución de Linux(recomiendo Ubuntu)

Para instalarlo en window 1º Hay que añadir el path en windows: en MiPc con el botón derecho, Opciones avanzadas, Variables de entorno, en la variable PATH (si no existe, creas en nuevo)y añades al final "C:/PSPDev/bin" (Sin las Comillas ). Ahora creas dos variables nuevas,una con el nombre PSPSDK con valor "C:/PSPDev/psp/sdk" y otra con nombre PSPDEV con valor "C:/PSPDev".

2)instalas el .exe descargado en C:/pspdev

Para instalarlo en Linux(voy a explicar una distribucion basada en debían ya que son las mas utilizadas y en mi caso tengo Ubuntu que es basado en debian)

En Linux ya seria mas complejo ya que es un sistema operativo mas utilizados por programadores, hackers, crackes, u otros. Que tienen el código de este abierto y muchas cosas se hacen por el terminal o consola

1) Hay que tener instalado estos paquetes para no tener problemas 2) build-essential

Page 3: Creación de video juegos para psp

3) automake1.9

4) doxygen

5) flex

6) libncurses5-dev

7) libreadline5-dev

8) texinfo

para los que no saben se pone sudo apt-get install paquete.

2)Después de tener todos estos creamos un directorio nuevo copiando esto a la consola

sudo mkdir /usr/local/pspdev sudo chmod 777 /usr/local/pspdev

3)Descargamos el pack tecleando esto en el terminal

wget http://www.oopo.net/consoledev/files/psptoolchain-20070501.tar.bz2

4)Lo descomprimiremos tecleando

tar -jvxf psptoolchain-20070501.tar.bz2

esto creara un directorio llamado psptoolchain

5) entraremos a psptoolchain ejecutando en el terminal

cd psptoolchain sh toolchain.sh

6)Buscamos .bashrc en la carpeta personal. Después lo editamos colocándoles en las ultimas líneas

export PSPDEV="/usr/local/pspdev"export PATH="$PATH:$PSPDEV/bin"

y listo

Anatomia de un videojuegoCada vez que jugamos un juego dentro de este pasan muchas cosas que hacen que uno sienta que cada objeto tiene vida propia, pero en realidad esto no esasi porque mintras jugamos todo pasa de forma secuencial y ordenada. En este capitulo Vamos ver qué partes lo componen a u juego y como se relacionan.

*Entrada : todo juego necesita comunicarse con el jugador a través de un dispositivo de entrada, como un Joystick o un teclado. En el caso del psp son los botones, equis, cuadrado, circulo, triangulo, derecha, izquierda, arriba , abajo, L, R, start, select y el pad analógico.

Page 4: Creación de video juegos para psp

*Visualización: La misión de esta capa es la de convertir el estado interno del juego en una salida gráfica.Ya sea en 2D o 3D, *Sonido: Tan importante como unos buenos gráficos es un buen sonido. Tanto el sonido como la banda sonora de un juego son capaces de transmitir una gran cantidad sensaciones al jugador,

Comunicaciones: Cada vez más, los juegos en red van ganando en adeptos. El pspSe puede conectar con otro de manera ad-hocy haci pudiesen jugar dos o mas jugadores (La librería OSLIB no tiene soporte para hacer esta acción mientras que la sdl si)

Game loop:El “game loop” o bucle de juego es el encargado de “dirigir” en cada momento que tarea se está realizando

Programa simple en lenguaje C con librería OSLIB(para entender lo siguiente hay que tener conocimientos en lenguaje C)

Lo que vamos a hacer es dar la bienvenida y después cada vez que el usuario toque algún botón en pantalla aparecerá un mensaje diciendo que botón se esta presionando

Include <oslib/oslib.h>//Librería oslib

PSP_MODULE_INFO(“Prueba de controles”,0,0,1);PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER || THREAD_ATTR_VFPU);

Int main(){OslInit(0);OslInitGfx(OSL_PF_8888, 1);OslInitConsole();

oslPrintf_XY(240,10,“Bienvenido”);

while(!osl_quit){ oslStartDrawing();

oslReadKeys(); oslCls(),

if (osl_keys->held.cross) oslPrintf_XY(50,50,”Estas precionando X”); if (osl_keys->held.square) oslPrintf_XY(50,55,”Estas precionando []”); if (osl_keys->held.triangle) oslPrintf_XY(50,60,”Estas precionando /_\”);

if (osl_keys->held.circle) oslPrintf_XY(50,65,”Estas precionando O”);

OslEndDrawing(); OslSynkFrame();

}OslEndGfx();OslQuit();

return 0;}