Curso de introducción a videojuegos multiplataforma con SDL



Documentos relacionados
Curso de introducción a videojuegos multiplataforma con SDL

Mono: la nueva plataforma de desarrollo Open Source

Análisis de aplicación: Geany

Así de fácil. Cortar, descargar y convertir vídeos o sonidos. Controles avanzados del reproductor multimedia VLC

Manual Acceso FTP. Winter Music CAC Concurso de maquetas

Instalación de ActivePerl en MS Windows

Nociones básicas de Windows: Organizando: El Explorador de archivos de Windows

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Ejecutar el instalador y seleccionar los paquetes necesarios. En nuestro caso son los siguientes: Android SDK Tools (ya vendrá instalado) Android SDK

Análisis de aplicación: Skipfish

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M.

Anexo I. Gadgets y Widgets

Guía de Instalación del servicio de BackupOnline de Idecnet. Indice

Moodle, plataforma de aprendizaje

Introducción al Mundo GNU/Linux

Copia de Seguridad en windows

Protocolo Traslado_envío datos personales

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Desarrollo de un simulador de laparoscopia

Procedimiento de instalación de Aula Virtual Santillana en Windows: Alumnos

En nuestra computadora

Informática 1 Grado en Matemáticas

INSTALACION DE UN SERVIDOR LOCAL CON EasyPHP

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Análisis de aplicación: BlueFish

- Qué es una Máquina Virtual?

Entorno de Desarrollo

Ministerio de Educación, Cultura y Deporte. Joomla! La web en entornos educativos. Guía del alumnado

Guía de Instalación. Glpi

Manual de Instalación. Sistema FECU S.A.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Mono: la nueva plataforma de desarrollo Open Source

Descarga, instalación y uso de herramientas:

Análisis de aplicación: XMind

DESCARGA DE CARPETAS DE MENSAJES DE CORREO DESDE EL WEBMAIL A PC S LOCALES

Instalación GemSAFE Manual de usuario

Audio y vídeo en Ardora 7

Guía de Instalación de la JDK y del Eclipse

INSTALACIÓN DE OPENOFFICE

Compilación y ejecución de programas en Java.

Configuración de programas FTP. Sync-Intertainment

INSTALACIÓN DE LOS MÓDULOS DEL ERP AbanQ

HOT POTATOES: UNA NUEVA HERRAMIENTA EDUCATIVA

laboratorio de sistemas operativos y redes

INSTALACIÓN DEL SPSS 15.0 DESDE UN SERVIDOR

Manual de NetBeans y XAMPP

MANUAL DE INSTALACIÓN Y CONFIGURACIÓN

MANUAL INSTALACIÓN ABOGADOS MF

Animalandia. Manual de instalación. (Actualizado: Sept-2015) Fernando Lisón Martín

Servidor Apache. Instalación Configuración Apache con Webmin 24/03/2014. Vicente

MICROSOFT FRONTPAGE Contenido

Skype. Inguralde [Enero 2011]

1.-Descargar las herramientas y configurarlas. Para editar pseudolenguaje y poder ejecutarlo descargar y configurar las siguientes herramientas:

Tutorial: Primeros Pasos con Subversion

Presentación de la Práctica Final

Software Criptográfico FNMT-RCM

Internet aula abierta

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Introducción al desarrollo para plataformas móviles con Phonegap

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

7zip es un programa de carácter libre y gratuito, que permite tanto comprimir como descomprimir archivos, con una alta capacidad de comprensión.

Configuración factura electrónica. construsyc instasyc

Studium, Campus Virtual de la Universidad de Salamanca.

Instalación GemSAFE. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, Madrid

Jorge García Delgado. 1.a.1.- Introducción al Software CLAMAV y CLAMTK

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

Unidad 5. Gestión de ficheros. CURSO: Introducción LibreOffice

Migrar una organización Microsoft Exchange 2003 a Microsoft Exchange 2007

Boletín de prácticas Práctica 3: HTML básico

MANUAL COPIAS DE SEGURIDAD

Instalación de Visual Studio Metodología de la Programación I Universidad de Granada

Compartiendo conocimiento... Guía básica de instalación de Asterisk 11 en Centos6.5

ANÁLISIS DE HERRAMIENTAS PARA CLONAR DISCOS DUROS

UNIVERSIDAD TECNICA DEL NORTE

C a p í t u l o 3 : T r a b a j o r e l a c i o n a d o

Versión 1.1 Fecha: Autores: Francisco González García Ismael García Fernández

Guía de Backups o Copias de Seguridad

1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS.

Capítulo 1 Introducción a la Computación

Introducción ORTS. Modelado y Comportamiento de Personajes MIGJRV Luis Peña

Arquitectura del sistema operativo GNU/Linux. Luis Eduardo Sepúlveda R.

Mini-guía: Gestión Backup

INSTALAR IDE FALCON C++ Y CONFIGURAR CONIO.H

Módulo 1 Sistema Windows. Explorador de Windows

#SoftwareLibre13 Reutiliza tu Antiguo PC con Linux

Notas para la instalación de un lector de tarjetas inteligentes.

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

INSTALACION MANUAL DE ECLIPSE EN UBUNTU

MACROS. Automatizar tareas a través del uso de las macros.

DESCARGA E INSTALACIÓN DE LA DOCUMENTACIÓN PARA LAS CLASES DEL API DE JAVA. CONSULTAR EN LOCAL O EN INTERNET? (CU00910C)

Autores: Mª Inés González Soler Raúl Martínez Alonso Patricia Pérez Vallés

Estructuras de Datos y Algoritmos Tecnólogo en Informática

CREACIÓN Y CONFIGURACIÓN DE WIKIS

SCANTERRA. Manual de usuario

VIRTUALBOX (MAQUINA VIRTUAL)

Claroline, MediaWiki, Moodle y Joomla en Xampp Lite

Profesor: José Luis Di Biase

Este documento se distribuye bajo los términos de la licencia Creative Commons by sa. sa/2.

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 3: sistemas operativos

Procedimiento de arranque de Aula Virtual Santillana: alumnos

Transcripción:

Curso de introducción a videojuegos multiplataforma con SDL Introducción Bruno González y Pablo Orduña aka StenyaK y NcTrunstenyak@gmx.net - pablo@ordunya.com http://kwh.iespana.es Julio 2004 e-ghost ESIDE Universidad de Deusto This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

SDL - Qué es? Introducción Aspectos de portabilidad Subsistemas Juegos que la utilizan Cómo instalarla Otros módulos

La SDL es una librería para desarrollo multimedia multiplataforma: Funciona bajo: GNU/Linux, Windows, BeOS, MacOS Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX Hay ports no oficiales para: Windows CE, AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64, RISC OS, and SymbianOS Proporciona al programador una API para manejar tanto gráficos, eventos, sonido, etc. a un relativo bajo nivel, pero manteniendo en lo posible la portabilidad

Está implementada en C, y funciona en C++ de manera nativa. Además, puede ser utilizada con otros lenguajes: Ada, C#, Eiffel, Erlang, Euphoria, Guile, Java, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Python, o Ruby

Es una librería simple En sí sola, no permite: La carga de imágenes en otro formato que BMP La carga de sonidos en otro formato que WAV El mezclar sonidos para que suenen a la vez El mostrar textos en pantalla El dibujar unos gráficos mínimos (ni siquiera líneas) El uso portable de redes Estas características deben ser implementadas aparte

Sin embargo, todas estas características (y muchas más) están completamente cubiertas por distintos módulos de la SDL Así, en la sección Libraries de www.libsdl.org encontramos diversas librerías con diferente soporte para diferentes plataformas. Entre otras, encontramos librerías de manejo de widgets, de carga de vídeos, wrappers para C++...

Consta de 8 subsistemas: Video Manejo de eventos Audio Multithreading Manejo de flujos con ficheros Timers CD-ROM Joystick

Subsistema de video: Es el subsistema en el que más nos vamos a centrar Permite acceso directo al hardware en determinadas condiciones. En la API tiene funciones para hacer llamadas a OpenGL Utilizaremos los módulos SDL_image, SDL_gfx y SDL_ttf para el manejo de imágenes en diferentes formatos, funciones para manejo de gráficos y escritura de textos en pantalla

Subsistema de manejo de eventos Podemos controlar la entrada de datos del usuario por medio de una cola de eventos de la propia SDL El hardware que produce los eventos de este subsistema es únicamente el ratón y el teclado

Subsistema de audio La SDL permite el manejo de sonido en formato WAV, pero no permite de manera nativa la mezcla de sonidos, por lo que puede dificultar bastante el uso que se le pueda querer dar en un videojuego Nos centraremos en el módulo SDL_mixer, ya que permite el uso de muchos otros formato y sí permite de manera sencilla la mezcla de sonidos

Subsistema de manejo de threads La SDL proporciona funciones para manejar diferentes hilos de manera portable (a excepción de Mac OS anterior a Mac OS X). El aprovechamiento de estas funciones puede distar mucho del que se podría hacer en un Sistema Operativo concreto, pero aún así puede ser muy útil. Permite el uso de semáforos, mutex y condiciones (además de timers)

Subsistema de manejo de flujos con ficheros La SDL nos permite acceder a determinados tipos de ficheros de manera portable, independientemente de cómo estén almacenados (Big Endian, Little Endian)

Subsistema de timers La SDL proporciona funciones para poder cronometrar secciones de código Además, proporciona funciones que se ejecutan al de cierto tiempo (incluso repetidamente si así se requiere) en un hilo independiente

Subsistema de manejo de CD-ROM La SDL permite el manejo del CD-ROM para poder reproducir música mediante una serie de simples funciones

Subsistema para el manejo del Joystick Este subsistema de la SDL está dedicado al manejo de Joysticks, trackballs y hardware similar

Juegos que lo han utilizado: Comerciales: No comerciales: tuxracer ;-)

Instalación Debian Otros # apt-get install libsdl1.2-dev libsdl1.2debian http://www.libsdl.org/download-1.2.php hay binarios para GNU/Linux (rpms), Windows, BeOS, Mac OS (Classic), Mac OS X y QNX, así como los fuentes.

En Microsoft Windows, utilizaremos el Dev-Cpp http://www.bloodshed.net/devcpp.html Utiliza por defecto mingw32, pero puede utilizar otros compiladores del estilo GCC (cygwin, por ejemplo) En cygwin se puede instalar compilándo cada módulo que se quiera utilizar En mingw32 se puede utilizar diréctamente los binarios compilados con mingw32 o bien los binarios compilados con MSVC si el código estaba en C (no se podrá si estaba en C++) Las opciones de compilación y linkado serán exáctamente las mismas que en el GCC

Instalando SDL en Windows con el Dev- Cpp: 1º Descargar de http://www.libsdl.org/download-1.2.php el archivo preparado para mingw32. 2º Descomprimirlo. Copiar el contenido del directorio lib en el directorio C:\Dev-Cpp\lib\ 3º Copiar el contenido de la carpeta include en el directorio C:\Dev- Cpp\include\ 4º Copiar el archivo SDL.dll contenido en directorio bin, y adjuntarlo con cada programa para pasarlo a ordenadores donde no esté instalado, o meterlo diréctamente en el directorio C:\WINDOWS\System32\ Para otros módulos, el procedimiento es el mismo. En el directorio C:\Dev- Cpp\lib\ los programa-objeto que hay tienen extensión.a, pero acepta los.lib que estén en C para MSVC (para instalar todos los módulos de los que no encontremos el binario para mingw32 sin tener que compilarlos)

Uso en *nix: $ g++ miprograma.cpp -o miprograma `sdl-config cflags libs` Nosotros utilizaremos Anjuta como IDE en Debian GNU/Linux. Un programa de prueba con Anjuta y con Dev-Cpp viene explicado en archivos adjuntos. Nota: El uso de SDL con otros compiladores (MSVC, Borland...) viene explicado en la página web de la SDL

Además de la SDL en sí, recomendamos para el uso de lo aprendido en el cursillo instalar los siguientes módulos de la SDL: SDL_ttf SDL_gfx SDL_image SDL_mixer