10.07.2015 Views

[ebook]Programacion de videojuegos con SDL

[ebook]Programacion de videojuegos con SDL

[ebook]Programacion de videojuegos con SDL

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

P R O G R A M A C I Ó N D E V I D E O J U E G O S C O N S D LEl segundo enfoque es el <strong>de</strong> los algoritmos <strong>de</strong> búsqueda. Es necesario un <strong>con</strong>ocimientorazonable sobre estructuras <strong>de</strong> datos como árboles y grafos. Una <strong>de</strong> las aplicacionesinteresantes, sobre todo para vi<strong>de</strong>ojuegos, es la busqueda <strong>de</strong> caminos (pathfinding).Seguramente has jugado a juegos <strong>de</strong> estrategia como Starcraft, Age of Empires y otros <strong>de</strong>lestilo. Pue<strong>de</strong>s observar que cuando das la or<strong>de</strong>n <strong>de</strong> movimiento a uno <strong>de</strong> los pequeñospersonajes <strong>de</strong>l juego, éste se dirige al punto indicado esquivando los obstáculos queencuantra en su camino. Este algoritmo <strong>de</strong> búsqueda en grafos es llamado A*. Tomemoscomo ejemplo el mapa <strong>de</strong> la mansión <strong>de</strong>l capítulo 2. Suponiendo que el jugardor está en lahabitación 1, éste es el arbol <strong>de</strong> los posible caminos que pue<strong>de</strong> tomar para escapar <strong>de</strong> lamansión.147 52 6 83 9Figura 7.1. Arbol <strong>de</strong> los posibles caminos <strong>de</strong>ntro <strong>de</strong> mapa <strong>de</strong> juegoCada círculo representa un nodo <strong>de</strong>l arbol. El número que encierra es el número <strong>de</strong>habitación. Si quisieramos en<strong>con</strong>trar la salida, usaríamos un algoritmo <strong>de</strong> búsqueda(como por ejemplo A*) para recorrer todos los posibles caminos y quedarnos <strong>con</strong> el quenos interesa. El objetivo es buscar el nodo 8, que es el que tiene la puerta <strong>de</strong> salida. Elcamino <strong>de</strong>s<strong>de</strong> la habitación 1 es: 1 4 5 8. El algoritmo A* a<strong>de</strong>más <strong>de</strong> en<strong>con</strong>trar el nodoobjetivo, nos asegura que es el camino más corto. No vamos a entrar en más <strong>de</strong>talle, yaque cae fuera <strong>de</strong> las pretensiones <strong>de</strong> este libro profundizar en la implementación <strong>de</strong>algoritmos <strong>de</strong> búsqueda.Por último, los sistemas basados en reglas se sirven, valga la redundancia, <strong>de</strong><strong>con</strong>juntos <strong>de</strong> reglas y hechos. Los hechos son informaciones relativas al problema y a suuniverso. Las reglas son precisamente eso, reglas aplicables a los elementos <strong>de</strong>luniverso y que permiten llegar a <strong>de</strong>ducciones simples. Veamos un ejemplo:Hechos: Las moscas tienen alas.Las hormigas no tienen alas.Reglas: Si (x) tiene alas, entonces vuela.Un sistema basado en <strong>con</strong>ocimiento, <strong>con</strong> estas reglas y estos hechos es capaz <strong>de</strong><strong>de</strong>ducir dos cosas. Que las moscas vuelan y que las hormigas no.106

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!