Sei sulla pagina 1di 7

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ

FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES

ANÁLISIS DE LOS ALGORITMOS SE BUSQUEDAS EN PROBLEMAS DE JUEGO


EN VIDEOJUEGOS DE ESTRATEGIA

ANTEPROYECTO DE PROYECTO N2

ASESOR
NICHOLAS BÉLIZ OSORIO

INTEGRANTE(S)
SÁNCHES, ERNESTO
TORRES, GREG

AÑO 2020
Contenido
INTRODUCCION ............................................................................................................ 3
1.1 Situación actual .................................................................................................. 3
1.2 Propuesta ........................................................................................................... 3
1.3 Definición y alcance del tema............................................................................. 3
1.4 Metodología y técnica de investigación a utilizar ............................................... 4
2 Objetivos .................................................................................................................. 4
2.1 General .............................................................................................................. 4
2.2 Específicos ......................................................................................................... 4
3 Plan de Contenido.................................................................................................... 5
4 Bibliografía ............................................................................................................... 6
5 Cronograma de actividades ..................................................................................... 6
6 Herramientas de Software y Hardware a utilizar ...................................................... 6
6.1 Software ............................................................................................................. 6
6.2 Hardware............................................................................................................ 6

2
INTRODUCCION
1.1 Situación actual
Actualmente, los videojuegos se encuentran presente en la vida de las personas
de todas cases. La complejidad de estos videojuegos varia del tipo, pero se viene
incrementado el esfuerzo en los últimos tiempos llevando incluso a involucrar a
una cantidad de personas en el desarrollo de un solo videojuego, estos no
tendrían el desarrollo tan grande de no ser por la Inteligencia Artificial.

1.2 Propuesta
Por ello, en el presente proyecto sé desarrollara una inteligencia Artificial basada
en la utilización del algoritmo Minimax y una variante de este que es Alpha-Beta,
la idea del algoritmo Minimax es un procedimiento de búsqueda en profundidad.
La idea consiste en comenzar en la posición actual y usar un generador de
movimientos para generar un conjunto de movimientos plausibles. y el algoritmo
con poda alfa-beta que constituye una mejora neta de Minimax sin perjudicarlo
en modo alguno: la poda maneja dos variables: la alfa y la beta, que son,
respectivamente, cota superior e inferior del valor minimax a lo largo del
programa.

Lo que permite desarrollar la inteligencia de un contrincante complicado por el


ordenador para un sencillo juego desarrollado en C++, en el que dos jugadores
se enfrentan entre sí para ver quién gana de los dos

1.3 Definición y alcance del tema


Se empleará como base primaria del proyecto el juego llamado Mega Man: Battle
Network, que se tendrá como referencia para el diseño e implementación de las
mecánicas y dinámicas del algoritmo. Mega Man: Battle Network en un juego de
Táctica por turnos también conocidos por sus siglas en inglés TBS (turn-based
strategy). El término “juego de estrategia por turnos” generalmente se aplica a
ciertos videojuegos de estrategia. Un jugador de un juego por turnos posee un
período de análisis antes de realizar una acción.

En este caso se limitará a representar la modalidad de batalla que es vista en el


juego, que tendrá como inicio unos puntajes predefinidos para cada uno de los
jugadores, se simplificara las acciones vistas dentro del videojuego en él a una
serie de acciones y estados con el fin de disminuir el puntaje de los jugadores y
declarar un ganador estas serán descritas a continuación:

a. atacar:
• Atacar sin ship ()
• atacar con ship ()
b. moverse:
• moverse
• quedarse quieto

3
1.4 Metodología y técnica de investigación a utilizar
Se empleará un diseño de investigación experimental cuantitativo para realizar
determinadas mediciones:
• Cuanto tiempo le lleva realizar una acción.
• Que acción toma para un mismo parámetro y cuánto tiempo le toma
seleccionarlo.
• cuantos nodos recorre para encontrar una solución frente a una acción
• cuantos nodos genera para encontrar la solución.
• Medir si un el turno de inicio de la partida afecta el resultado.
Anteriormente se efectuará pruebas sin acciones sobre el sistema y mediremos
las respuestas

2 OBJETIVOS

2.1 General
Los principales objetivos de este Proyecto son los siguientes:
• Establecer una comparación entre los algoritmos de Minimax y Alfa-Beta.
• Realizar en C++ un videojuego sencillo, el cual sea capaz de mantener
una partida contra un contrincante humano.
• Realizar la documentación pertinente en cuanto a cómo se ha desarrollado
la inteligencia artificial en el videojuego del proyecto en concreto, así como
en otros proyectos importantes a lo largo de la historia.
2.2 Específicos
• Deducir cuales son las acciones más beneficiosas para ganar una partida
del videojuego.
• Conocer la probabilidad de ganar si un jugador comienza una partida
• Desarrollar el proyecto con los algoritmos MiniMax y Alpha-Beta.

4
3 PLAN DE CONTENIDO
INTRODUCCION ..............................................................................................................
1 Caso de estudio elegido: VideoJuego “Mega Man: Battle Network”¡Error! Marcador
no definido.
1.1 Planteamiento del problema “análisis comparativo entre las técnicas de MiniMax
y Alfa-Beta.” .................................................................. ¡Error! Marcador no definido.
1.2 Antecedentes. ..................................................... ¡Error! Marcador no definido.
1.3 Problemática y problemas. .................................. ¡Error! Marcador no definido.
1.4 Matriz de problemas ............................................ ¡Error! Marcador no definido.
1.5 Solución Propuesta. (los algoritmos) ................... ¡Error! Marcador no definido.
1.6 Herramientas Utilizadas. (programas C y las especificaciones de la pc) .. ¡Error!
Marcador no definido.
1.7 Objetivos. ............................................................ ¡Error! Marcador no definido.
1.8 Justificación......................................................... ¡Error! Marcador no definido.
2 Marco teorico ............................................................. ¡Error! Marcador no definido.
2.1 Teoría de juego ................................................... ¡Error! Marcador no definido.
2.2 Como elegir la estrategia .................................... ¡Error! Marcador no definido.
2.2.1 MiniMax y Alpha-Beta ................................... ¡Error! Marcador no definido.
2.2.2 Situación actual y futura. .............................. ¡Error! Marcador no definido.
2.3 Herramientas Utilizadas ...................................... ¡Error! Marcador no definido.
2. Tema relacionado (Estructuras de datos utilizadas para el proyecto) ....... ¡Error!
Marcador no definido.
3 Marco metodologico .................................................. ¡Error! Marcador no definido.
3.1 Diseño de la investigación................................... ¡Error! Marcador no definido.
3.2 Selección de la muestra ...................................... ¡Error! Marcador no definido.
3.3 Instrumento de medición. .................................... ¡Error! Marcador no definido.
3. Recolección de los datos .................................... ¡Error! Marcador no definido.
4 Desarrollo de la aplicación ........................................ ¡Error! Marcador no definido.
4.1 Análisis del problema. ......................................... ¡Error! Marcador no definido.
4.2 Diseño UML ........................................................ ¡Error! Marcador no definido.
4.3 Implementación en el código seleccionado ......... ¡Error! Marcador no definido.
. Pruebas ............................................................... ¡Error! Marcador no definido.
5 Presencion y analisis de resultados. ..........................................................................
6 Concluciones..............................................................................................................

5
4 BIBLIOGRAFÍA
Las fuentes de información empleadas —citando las más relevantes— para el
desarrollo del Proyecto de Fin de Grado se pueden dividir en primarias y
secundarias, creando una subdivisión propia en las primeras:
• Fuentes primarias de información: en línea consulta de páginas web y blogs
especializados en programación tales como http://www.geekforgeeks.com,
así como de temas generales, destacando https://stackoverflow.com y
https://github.com
• Fuentes secundarias de información: se han empleado blogs y páginas web
de grupos de investigación, así como referencias de fuentes periódicas
relativas a inteligencia artificial (noticias, artículos de opinión…) para
apoyar los contenidos descritos de las fuentes primarias.
5 CRONOGRAMA DE ACTIVIDADES
En esta sección se le mostrara las actividades a realizar las cuales estarán señalizadas
por medio de sus fechas:
• 4 de junio: se analizará el juego para ver los personajes al menos en los primeros
niveles, los enemigos y los ataques de ambos.
• 8 de junio: Minimax y Apha-Beta se analizará el código de este método y como se
implementará al juego.
• 11 de junio: empezamos con el desarrollo del algoritmo Minimax y Alpha para su
inclusión con el juego, esto nos tomara un tiempo a la hora de su desarrollo e
implementación ya que se deberán tomar en cuenta muchas cosas del oponente,
en tal caso predecir su ataque.
• 22 de junio: revisión en profundidad para el programa por algunos fallos que se
puedan encontrar.

6 HERRAMIENTAS DE SOFTWARE Y HARDWARE A UTILIZAR


6.1 Software
• Como IDE se empleará Visual Studio 2019
• Se barajan la utilización de lenguajes como:
o Interpretados y de muy alto nivel, como Python, Lua o Ruby: son
muy comunes en el desarrollo de videojuegos para las tareas en tiempo
de ejecución: inteligencia artificial, reglas, y demás cosas que podrían
cambiar conforme se hace el juego; su contra es que son muy lentos,
así que hay que vigilar qué parte del sistema se va a programar con
ellos.
o De medio-bajo nivel, como C y C++: se suelen usar para hacer el
motor de videojuegos porque son rápidos y dejan acceso directo a
memoria (punteros, etc.); son rápidos, pero exigen mucho tiempo y
dedicación para evitar fugas de memoria y otros problemas cercanos al
hardware.
o Semiinterpretados como Java o C#
6.2 Hardware
• La computadora con edición de sistema operativo Windows 10 Home
single Language
• Procesador: AMD A8-6410 APU con Radeon R5 Graphics 2.00 GHz
6
• Memoria instalada (RAM): 8.00 GB
• Tipo de sistema: sistema operativo de 64 bits, procesador x64

Potrebbero piacerti anche