SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
ECCI JECC 2016
ARKANOID EN LENGUAJE VHDL
Pita C. Juri A, Rodríguez R. Anyi M. Salamanca P. Iván D.
j.andrea.1992@gmail.com, Anyiiz02@gmail.com, ivanpiraquive@gmail.com
Universidad Escuela Colombiana de Carreras Industriales
Bogotá- 2016
Abstract -This document provides information on the
arkaoind game, known as the ball game, which explains that
it is programmed by means of VHDL language, finding
support in the FPGA card, which would help to visualize and
develop the programming.
Resumen - Este documento proporciona información
sobre el juego arkaoind, conocido como el juego de
pelota, que explica que está programado mediante
lenguaje VHDL, encontrando soporte en la tarjeta
FPGA, lo que ayudaría a visualizar y desarrollar la
programación.
Palabras Claves: VHDL, ARCANOID, JUEGO
I. INTRODUCCIÓN
Actualmente, las actividades que práctica los adolescentes y
los niños en su tiempo libre como los deportes, salida de
campo, pero en ocasiones utilizan diferentes tipos de video
juegos, especialmente lo que muestran Interactividad.. Aunque
la diversidad de juegos existentes en el mercado y las múltiples
maneras de interactuar con ellos cada vez capta la atención de
nuevos usuarios de diversas edades. Una parte muy elevada de
consumidores oscilan entre los 5 y 25 años. En estas edades es
cuando la persona recibe mayor conocimiento y aprende todo
lo que le rodea.
Por otra parte, el videojuego se convirtió en una alternativa de
preferencia por los adolescentes y adultos. Ya que con esta
actividad encuentran disminuir el estrés o aquellos factores que
implican daño en la vida cotidiana.
A. Historia De Juego
¿Cuál es el origen de los videojuegos? ¿Cuándo y cómo
empezó todo? Por difícil que resulte de creer, los videojuegos
dieron sus primeras señales de vida hacia finales de la década
de los 40, concretamente tras el fin de la Segunda Guerra
Mundial, cuando las principales potencias vencedoras iniciaron
un carrera tecnológica para construir las primeras
supercomputadoras programables como el ENIAC, una enorme
computadora que ocupaba una superficie de 167 m² y pesaba
27 Toneladas.
Los primeros videojuegos eran mayoritariamente experimentos
y pruebas académicas por parte de científicos y físicos, no sería
hasta la llegada de la década de los 70 cuando los videojuegos
empezarían a tener un carácter más comercial, marcando el
inicio de una imparable transformación y evolución del
concepto mismo del videojuego que acabaría por convertirlo
en el fenómeno cultural de masas que hoy conocemos,
llegando incluso a lograr el estatus de medio artístico en
algunos países. [2]
El arkanoid nació en el año 1986 en versión arcade creado por
la empresa Taito, basado en el breackout desarrollado por Atari.
el juego llego a ser tan popular que se crearon 4 arkanoids
Arkanoid, Tournament Arkanoid, Revenge of Doh y Arkanoid
Returns tambien se crearon muchas copia del arkanoid entre
ellas las más populares fueron Krackout Traz y el Krypton
Egg.[3][4].
El juego de arkanoid es uno de los videojuegos más destacados
en los años 80, tiene un concepto de ser de concentración y
desarrollo de habilidades.
Queremos revivir y demostrar que los más añorados juegos de
los 80 siguen intactos manteniéndose estables.
Para este caso hacemos referencia del código VHDL como
principal herramienta para el desarrollo de este proyecto, ya
que nos ayuda a implementar un código completo que genere
imágenes, sonidos y movimientos de los cuales se hace que el
juego arkanoid se vea llamativo, por otro lado para visualizar
imágenes es necesario acudir a un monitor que tenga 640x480
pixeles para que ver diagramas del juego en su totalidad y un
control de donde la persona puede entrar a interactuar con el
juego.
B. Temática del juego
Arkanoid, donde el jugador controla una pequeña plataforma,
conocida como "Nave Espacial Vaus", que impide que una
bola salga de la zona de juego, haciéndola rebotar. En la parte
superior hay "ladrillos" o "bloques", que desaparecen al ser
tocados por la bola.
Cuando no queda ningún ladrillo, el jugador pasa al siguiente
nivel, donde aparece otro patrón de bloques, en la figura 1
podemos ver las características y presentación del juego
original. [3]
ECCI JECC 2016
Figura 1: Tablero ARKANOID
II. CONTENIDO
A. Diseño del programa
Para el desarrollo de este proyecto hemos utilizado ocho (8)
bloques en los que se comprenden la descripción del programa.
Se implementa el código para que el juego cumpla con todas
las expectativas realizadas, para esto describiremos que
códigos fueron desarrollados:
a. La bolita
b. Definición de Colores
c. Límites de la Plataforma
d. Tableros
e. Velocidad del tablero
B. Desarrollo
Durante el desarrollo del proyecto fue necesario hacer algunas
consultas en cuanto a algunos tipos de estructura, para poder
crear figuras, en este caso fue necesario crear una subrutina de
la estructura de creación de los cuadros de los elementos a
visualizar en nuestro tablero, por lo cual hubo que recurrir a la
estructura(), que lo que hace es permitirnos crear subrutinas,
con este lo que hicimos fue dar la estructura para hacer la
creación en cuatro bit de los cuadros y de la misma forma
poderles aplicar color a las secciones denotadas bajo éste tipo
de subrutina.
En la hoja de texto denominada bricks o tableros, lo que hemos
hecho es crear cuatro diferentes tableros para jugar, llamados
con dos bits, en los cuales se establecen como entradas tres
valores, dos de tipo vector y uno de tipo “single”,
“game_state”, “level_select” y “clock”, respectivamente y de
la misma manera dos variables de salida, “brick_list”, la cual
nos da una matriz o arreglo con la definición total de elementos
que pertenecerán a nuestro tablero y la salida “brick_count”,
que será nuestro indicador de valores a contar para determinar
la finalización o victoria del nivel.
Dentro de la estructura que manejamos damos uso a la
estructura “process”, teniendo como referencia de condición
inicial los datos suministrados por las variables de entrada,
“clock” y “state_game”; que posteriormente en nuestra
máquina de estado comentaremos más profundamente el
comportamiento de estas dos variables que son pilar en nuestro
desarrollo, y la estructura “case”, que tiene como eje el valor
que suministre la entrada level_select, que es un vector de 2
bits, y según el valor que indique nos dirigirá a cada nivel
cargado a cada valor.
En la definición de cada bloque de tablero, lo que hacemos es
aplicar la subrutina rectangle, en donde en cada uno de los
valores disponibles que tenemos indicamos es el valor del pixel
que queremos introducir y así los valores introducidos en las
coordenadas dadas serán tomados como nuestra figura.
Luego viene el bloque de programación de “la bolita”, que es
nuestro elemento principal, en base a este controlaremos, la
velocidad del juego, y la interacción de la volta con los demás
elementos.
En cuanto a la velocidad del juego tenemos como variable de
entrada nuestro reloj, que dependiendo de los valores que
indique el selector de nivel, nos indicara un valor asignado a
una variable constante denominada “count_max”, que es un
valor que nos denomina el valor del reloj, en el divisor de
frecuencia, este nivel de velocidad va de la mano con el valor
que indique el tablero a jugar, es decir, level_select es quien
nos indica cual es el valor a entregar para tomar el count_max
y asi poder realizar el divisor de frecuencia.
Un valor de entrada llamado reset, que como su nombre lo
indica nos dejara en el nivel inicial en el valor cero.
La interacción con los costados, se hace con una estructura
“if” donde si superamos ciertos valores, determinados, nuestro
caso en el eje y superior al pixel 5 e inferior al pixel 620 será el
área correspondiente a nuestro espacio de juego y de la misma
manera en el eje x demarcado del pixel 5, entre este área será
nuestro espacio de juego y que permitirá según el game_state.
La interacción con la plataforma o “board”, la tenemos
discriminada en el bloque de “board”, por lo tanto al entrar en
contacto con la posición en la que la plataforma se encuentre
reaccionara.
La interacción con el resto de las partes, es decir, con los
elementos de cada tablero se ejecuta de la siguiente manera:
La selección de nivel o tablero se hace de manera automática y
secuencia, al terminar uno inicia el siguiente nivel
incrementando de la misma manera la velocidad, lo hace
basándose en el estado que genere game_win, cuando lo active
entonces hará el cambio.
En cuanto a la entrada, lo manejamos por medio de un mouse,
la programación fue obtenida por medio de la red, que nos
ofrece toda la configuración de funcionamiento de un mouse
de conector PS/2, ya que la fpga nos ofrece la opción del
puerto, será nuestra entrada; la configuración totalmente
guiada por la red.
En el bloque de la VGA, lo que se ha hecho es darle la
denominación de colores a cada segmento, igualmente
utilizando nuestra subrutina rectangle, haciendo la
denominación de las posiciones de cada elemento, en el caso
de la plataforma y la bolita, se denominan son las variables
bajo las cuales se realiza su movimiento.
ECCI JECC 2016
Dentro de nuestro bloque principal realizamos el llamado a
cada uno de los bloques complemento, bajo la función
componente que lo que hace es insertar las configuraciones
asociadas al grupo y de la misma manera hay que hacer la
declaración de las variables y ejecutamos, la máquina de
estados principal que es la que nos permite ejecutar cada una
de la acciones programadas.
Figura 2: Conexión de la FPGA.
Se realiza la conexión de los sensores de entrada de señal a la
tarjeta FPGA
Figura 3: Visualización del programa en VHDL con el monitor VGA.
Se hacen conexiones respectivas para el encendió del monitor
con un cable de poder AC y se establece comunicación desde
la FGPA por medio de un cable de VGA.
Figura 4: Monitor y mouse.
Las herramientas necesarias para la implementación de este
juego son: un monitor, Control (mouse), Dispositivo
programable FPGA.
C. Como jugar arkanoid
El objetivo del juego es eliminar todos los bloques que hay en
el tablero golpeándolos con la bolita, para ello se debe rebotar
con la plataforma inferior sin dejar que toque el suelo.
Si la bolita toca el suelo se pierde y se debe jugar nuevamente
el nivel.
Cuando ya no queden bloques en el tablero se pasa de nivel.
III. CONCLUSIONES
1. Podemos concluir que al realizar trabajo con código
VHDL, se debe tener cuidado a la hora de digitar el
código, ya que en algunas ocasiones esto puede incurrir
en el proceso que queremos realizar.
2. Ya que el video ocupa la mayor capacidad de
procesamiento, identificamos que el código vhdl, no
encontró suficiente espacio en la fpga para ejecutar el
sonido, por lo tanto no pudo ser compilado
completamente para el juego.
3.
IV. REFERENCIAS
[1] Asistencia en Programación de Harbey Rodríguez
Ingeniero Electrónico
[2] Otakufreaks2016,
http://www.otakufreaks.com/historia-de-los-
videojuegos-el-origen-y-los-inicios/
[3] Arcade classics2006, http://arcadeclassics.net/
[4]Arcade 2015,http://www.arcade-
history.com/?page=detail&id=106
[5]National Instruments http://www.ni.com/white-
paper/9344/es/
ECCI JECC 2016
V. AUTORES
A. Juri Andrea Pita Correa
Nació el 19 de septiembre de
1992 en la ciudad de Bogotá.
Es Técnica en
mantenimiento de equipos de
cómputo 2010 Servicio
Nacional Aprendizaje-SENA,
Tecnóloga en administración
de redes de cómputo 2012
Servicio Nacional
Aprendizaje-SENA, Tecnóloga en Soporte en
Telecomunicaciones 2016 de la Universidad ECCI,
Actualmente se dedica a estudiar VIII Semestre
Ingeniería Electrónica en la Universidad ECCI y
labora como Ingeniera junior O&M Datos y
conectividad en ZTE (PROYECTO CLARO), Su
enfoque va en el ámbito de las comunicaciones
especialmente en telemática.
B. Anyi Marcela
Rodríguez Ruiz Nació el 2
de febrero de 1989 en Garzón
(Huila).es Técnica en
electrónica y Electricidad
Industrial del Juan Bosco
Obrero, Tecnóloga en
C. Electrónica de la Universidad ECCI,
Actualmente se dedica a terminar sus estudios de
ingeniería electrónica en la Universidad ECCI y
Labora como Supervisor de Servicios en el área de
mantenimiento Eléctrico y Electrónico en la Planta
de Vidrio Andino., su enfoque va en fortalecer sus
conocimientos en automatización para optimizar
procesos en la industria.
D. Iván Darío Salamanca
Piraquive
Nació el 14 de Mayo de 1994
en Bogotá. Es Tecnólogo en
Mantenimiento Electrónico
Instrumental e Industrial del
Servicio Nacional
Aprendizaje-SENA, labora
actualmente como Técnico
Electrónico en Ciplas S.A.S, Su enfoque va en la
innovación del mantenimiento en equipos y
maquinaria electrónicas.

Más contenido relacionado

Destacado

descubrimientos tecnológicos
descubrimientos tecnológicosdescubrimientos tecnológicos
descubrimientos tecnológicosjgp123456
 
¿Quién se ha llevado mi queso?
¿Quién se ha llevado mi queso?¿Quién se ha llevado mi queso?
¿Quién se ha llevado mi queso?jesy reina
 
GySgt Clark Recruiters School Certs
GySgt Clark Recruiters School CertsGySgt Clark Recruiters School Certs
GySgt Clark Recruiters School CertsKurt Clark
 
Manual slideshare
Manual slideshareManual slideshare
Manual slidesharejgp123456
 
Help! aí - Trabalho desenvolvido na disciplina de Cultura digital - MBA Mar...
Help! aí  - Trabalho desenvolvido na disciplina de Cultura digital - MBA Mar...Help! aí  - Trabalho desenvolvido na disciplina de Cultura digital - MBA Mar...
Help! aí - Trabalho desenvolvido na disciplina de Cultura digital - MBA Mar...Hélder Freire Santos
 

Destacado (8)

descubrimientos tecnológicos
descubrimientos tecnológicosdescubrimientos tecnológicos
descubrimientos tecnológicos
 
¿Quién se ha llevado mi queso?
¿Quién se ha llevado mi queso?¿Quién se ha llevado mi queso?
¿Quién se ha llevado mi queso?
 
GySgt Clark Recruiters School Certs
GySgt Clark Recruiters School CertsGySgt Clark Recruiters School Certs
GySgt Clark Recruiters School Certs
 
Manual slideshare
Manual slideshareManual slideshare
Manual slideshare
 
diploma 2
diploma 2diploma 2
diploma 2
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
Res-Final16
Res-Final16 Res-Final16
Res-Final16
 
Help! aí - Trabalho desenvolvido na disciplina de Cultura digital - MBA Mar...
Help! aí  - Trabalho desenvolvido na disciplina de Cultura digital - MBA Mar...Help! aí  - Trabalho desenvolvido na disciplina de Cultura digital - MBA Mar...
Help! aí - Trabalho desenvolvido na disciplina de Cultura digital - MBA Mar...
 

Similar a Arkanoid en lenguaje vhdl

Presentacion videojuegos
Presentacion videojuegosPresentacion videojuegos
Presentacion videojuegosDamia
 
10a daniel felipe peña creación de un videojuego
10a daniel felipe peña creación de un videojuego10a daniel felipe peña creación de un videojuego
10a daniel felipe peña creación de un videojuegoNicole2411
 
Los videojuegos
Los videojuegosLos videojuegos
Los videojuegosDamia
 
Los videojuegos
Los videojuegosLos videojuegos
Los videojuegosDamia
 
Los videojuegos
Los videojuegosLos videojuegos
Los videojuegosDamia
 
Produccion de videojuegos
Produccion de videojuegosProduccion de videojuegos
Produccion de videojuegosJulián Herrera
 
Actividad proyecto_Videojuegos_y_Videoconsolas_de_unai_gorriz_final
Actividad proyecto_Videojuegos_y_Videoconsolas_de_unai_gorriz_finalActividad proyecto_Videojuegos_y_Videoconsolas_de_unai_gorriz_final
Actividad proyecto_Videojuegos_y_Videoconsolas_de_unai_gorriz_finalunaigorriz
 
Aprende a reparar consolas de videojuegos
Aprende a reparar consolas de videojuegosAprende a reparar consolas de videojuegos
Aprende a reparar consolas de videojuegosFelix Hernandez
 
Dhylann gabriel s
Dhylann gabriel sDhylann gabriel s
Dhylann gabriel sdhylann
 
diseño de videojuegos.pptx
diseño de videojuegos.pptxdiseño de videojuegos.pptx
diseño de videojuegos.pptxedgartorres431176
 
Programación con Pygame VII
Programación con Pygame VIIProgramación con Pygame VII
Programación con Pygame VIIFernando Salamero
 
Los videojuegos2
Los videojuegos2Los videojuegos2
Los videojuegos2jorge
 

Similar a Arkanoid en lenguaje vhdl (20)

Presentacion videojuegos
Presentacion videojuegosPresentacion videojuegos
Presentacion videojuegos
 
Paper interfaz del mouse por puerto ps 2 usando fpga
Paper interfaz del mouse por puerto ps 2 usando fpgaPaper interfaz del mouse por puerto ps 2 usando fpga
Paper interfaz del mouse por puerto ps 2 usando fpga
 
10a daniel felipe peña creación de un videojuego
10a daniel felipe peña creación de un videojuego10a daniel felipe peña creación de un videojuego
10a daniel felipe peña creación de un videojuego
 
Los videojuegos
Los videojuegosLos videojuegos
Los videojuegos
 
Los videojuegos
Los videojuegosLos videojuegos
Los videojuegos
 
Los videojuegos
Los videojuegosLos videojuegos
Los videojuegos
 
Produccion de videojuegos
Produccion de videojuegosProduccion de videojuegos
Produccion de videojuegos
 
juego-utilizando-sockets
juego-utilizando-socketsjuego-utilizando-sockets
juego-utilizando-sockets
 
Aparicio susana ud1_evoluciontecnologia
Aparicio susana ud1_evoluciontecnologiaAparicio susana ud1_evoluciontecnologia
Aparicio susana ud1_evoluciontecnologia
 
Actividad proyecto_Videojuegos_y_Videoconsolas_de_unai_gorriz_final
Actividad proyecto_Videojuegos_y_Videoconsolas_de_unai_gorriz_finalActividad proyecto_Videojuegos_y_Videoconsolas_de_unai_gorriz_final
Actividad proyecto_Videojuegos_y_Videoconsolas_de_unai_gorriz_final
 
Aprende a reparar consolas de videojuegos
Aprende a reparar consolas de videojuegosAprende a reparar consolas de videojuegos
Aprende a reparar consolas de videojuegos
 
Investigación gráfica somne
Investigación gráfica somneInvestigación gráfica somne
Investigación gráfica somne
 
Dhylann gabriel s
Dhylann gabriel sDhylann gabriel s
Dhylann gabriel s
 
diseño de videojuegos.pptx
diseño de videojuegos.pptxdiseño de videojuegos.pptx
diseño de videojuegos.pptx
 
Tutorial c# y Video Juegos
Tutorial c# y Video JuegosTutorial c# y Video Juegos
Tutorial c# y Video Juegos
 
video juegos.pptx
video juegos.pptxvideo juegos.pptx
video juegos.pptx
 
Informe escrito
Informe escritoInforme escrito
Informe escrito
 
Aventura
AventuraAventura
Aventura
 
Programación con Pygame VII
Programación con Pygame VIIProgramación con Pygame VII
Programación con Pygame VII
 
Los videojuegos2
Los videojuegos2Los videojuegos2
Los videojuegos2
 

Último

Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...RichardRivas28
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 

Último (20)

Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 

Arkanoid en lenguaje vhdl

  • 1. ECCI JECC 2016 ARKANOID EN LENGUAJE VHDL Pita C. Juri A, Rodríguez R. Anyi M. Salamanca P. Iván D. j.andrea.1992@gmail.com, Anyiiz02@gmail.com, ivanpiraquive@gmail.com Universidad Escuela Colombiana de Carreras Industriales Bogotá- 2016 Abstract -This document provides information on the arkaoind game, known as the ball game, which explains that it is programmed by means of VHDL language, finding support in the FPGA card, which would help to visualize and develop the programming. Resumen - Este documento proporciona información sobre el juego arkaoind, conocido como el juego de pelota, que explica que está programado mediante lenguaje VHDL, encontrando soporte en la tarjeta FPGA, lo que ayudaría a visualizar y desarrollar la programación. Palabras Claves: VHDL, ARCANOID, JUEGO I. INTRODUCCIÓN Actualmente, las actividades que práctica los adolescentes y los niños en su tiempo libre como los deportes, salida de campo, pero en ocasiones utilizan diferentes tipos de video juegos, especialmente lo que muestran Interactividad.. Aunque la diversidad de juegos existentes en el mercado y las múltiples maneras de interactuar con ellos cada vez capta la atención de nuevos usuarios de diversas edades. Una parte muy elevada de consumidores oscilan entre los 5 y 25 años. En estas edades es cuando la persona recibe mayor conocimiento y aprende todo lo que le rodea. Por otra parte, el videojuego se convirtió en una alternativa de preferencia por los adolescentes y adultos. Ya que con esta actividad encuentran disminuir el estrés o aquellos factores que implican daño en la vida cotidiana. A. Historia De Juego ¿Cuál es el origen de los videojuegos? ¿Cuándo y cómo empezó todo? Por difícil que resulte de creer, los videojuegos dieron sus primeras señales de vida hacia finales de la década de los 40, concretamente tras el fin de la Segunda Guerra Mundial, cuando las principales potencias vencedoras iniciaron un carrera tecnológica para construir las primeras supercomputadoras programables como el ENIAC, una enorme computadora que ocupaba una superficie de 167 m² y pesaba 27 Toneladas. Los primeros videojuegos eran mayoritariamente experimentos y pruebas académicas por parte de científicos y físicos, no sería hasta la llegada de la década de los 70 cuando los videojuegos empezarían a tener un carácter más comercial, marcando el inicio de una imparable transformación y evolución del concepto mismo del videojuego que acabaría por convertirlo en el fenómeno cultural de masas que hoy conocemos, llegando incluso a lograr el estatus de medio artístico en algunos países. [2] El arkanoid nació en el año 1986 en versión arcade creado por la empresa Taito, basado en el breackout desarrollado por Atari. el juego llego a ser tan popular que se crearon 4 arkanoids Arkanoid, Tournament Arkanoid, Revenge of Doh y Arkanoid Returns tambien se crearon muchas copia del arkanoid entre ellas las más populares fueron Krackout Traz y el Krypton Egg.[3][4]. El juego de arkanoid es uno de los videojuegos más destacados en los años 80, tiene un concepto de ser de concentración y desarrollo de habilidades. Queremos revivir y demostrar que los más añorados juegos de los 80 siguen intactos manteniéndose estables. Para este caso hacemos referencia del código VHDL como principal herramienta para el desarrollo de este proyecto, ya que nos ayuda a implementar un código completo que genere imágenes, sonidos y movimientos de los cuales se hace que el juego arkanoid se vea llamativo, por otro lado para visualizar imágenes es necesario acudir a un monitor que tenga 640x480 pixeles para que ver diagramas del juego en su totalidad y un control de donde la persona puede entrar a interactuar con el juego. B. Temática del juego Arkanoid, donde el jugador controla una pequeña plataforma, conocida como "Nave Espacial Vaus", que impide que una bola salga de la zona de juego, haciéndola rebotar. En la parte superior hay "ladrillos" o "bloques", que desaparecen al ser tocados por la bola. Cuando no queda ningún ladrillo, el jugador pasa al siguiente nivel, donde aparece otro patrón de bloques, en la figura 1 podemos ver las características y presentación del juego original. [3]
  • 2. ECCI JECC 2016 Figura 1: Tablero ARKANOID II. CONTENIDO A. Diseño del programa Para el desarrollo de este proyecto hemos utilizado ocho (8) bloques en los que se comprenden la descripción del programa. Se implementa el código para que el juego cumpla con todas las expectativas realizadas, para esto describiremos que códigos fueron desarrollados: a. La bolita b. Definición de Colores c. Límites de la Plataforma d. Tableros e. Velocidad del tablero B. Desarrollo Durante el desarrollo del proyecto fue necesario hacer algunas consultas en cuanto a algunos tipos de estructura, para poder crear figuras, en este caso fue necesario crear una subrutina de la estructura de creación de los cuadros de los elementos a visualizar en nuestro tablero, por lo cual hubo que recurrir a la estructura(), que lo que hace es permitirnos crear subrutinas, con este lo que hicimos fue dar la estructura para hacer la creación en cuatro bit de los cuadros y de la misma forma poderles aplicar color a las secciones denotadas bajo éste tipo de subrutina. En la hoja de texto denominada bricks o tableros, lo que hemos hecho es crear cuatro diferentes tableros para jugar, llamados con dos bits, en los cuales se establecen como entradas tres valores, dos de tipo vector y uno de tipo “single”, “game_state”, “level_select” y “clock”, respectivamente y de la misma manera dos variables de salida, “brick_list”, la cual nos da una matriz o arreglo con la definición total de elementos que pertenecerán a nuestro tablero y la salida “brick_count”, que será nuestro indicador de valores a contar para determinar la finalización o victoria del nivel. Dentro de la estructura que manejamos damos uso a la estructura “process”, teniendo como referencia de condición inicial los datos suministrados por las variables de entrada, “clock” y “state_game”; que posteriormente en nuestra máquina de estado comentaremos más profundamente el comportamiento de estas dos variables que son pilar en nuestro desarrollo, y la estructura “case”, que tiene como eje el valor que suministre la entrada level_select, que es un vector de 2 bits, y según el valor que indique nos dirigirá a cada nivel cargado a cada valor. En la definición de cada bloque de tablero, lo que hacemos es aplicar la subrutina rectangle, en donde en cada uno de los valores disponibles que tenemos indicamos es el valor del pixel que queremos introducir y así los valores introducidos en las coordenadas dadas serán tomados como nuestra figura. Luego viene el bloque de programación de “la bolita”, que es nuestro elemento principal, en base a este controlaremos, la velocidad del juego, y la interacción de la volta con los demás elementos. En cuanto a la velocidad del juego tenemos como variable de entrada nuestro reloj, que dependiendo de los valores que indique el selector de nivel, nos indicara un valor asignado a una variable constante denominada “count_max”, que es un valor que nos denomina el valor del reloj, en el divisor de frecuencia, este nivel de velocidad va de la mano con el valor que indique el tablero a jugar, es decir, level_select es quien nos indica cual es el valor a entregar para tomar el count_max y asi poder realizar el divisor de frecuencia. Un valor de entrada llamado reset, que como su nombre lo indica nos dejara en el nivel inicial en el valor cero. La interacción con los costados, se hace con una estructura “if” donde si superamos ciertos valores, determinados, nuestro caso en el eje y superior al pixel 5 e inferior al pixel 620 será el área correspondiente a nuestro espacio de juego y de la misma manera en el eje x demarcado del pixel 5, entre este área será nuestro espacio de juego y que permitirá según el game_state. La interacción con la plataforma o “board”, la tenemos discriminada en el bloque de “board”, por lo tanto al entrar en contacto con la posición en la que la plataforma se encuentre reaccionara. La interacción con el resto de las partes, es decir, con los elementos de cada tablero se ejecuta de la siguiente manera: La selección de nivel o tablero se hace de manera automática y secuencia, al terminar uno inicia el siguiente nivel incrementando de la misma manera la velocidad, lo hace basándose en el estado que genere game_win, cuando lo active entonces hará el cambio. En cuanto a la entrada, lo manejamos por medio de un mouse, la programación fue obtenida por medio de la red, que nos ofrece toda la configuración de funcionamiento de un mouse de conector PS/2, ya que la fpga nos ofrece la opción del puerto, será nuestra entrada; la configuración totalmente guiada por la red. En el bloque de la VGA, lo que se ha hecho es darle la denominación de colores a cada segmento, igualmente utilizando nuestra subrutina rectangle, haciendo la denominación de las posiciones de cada elemento, en el caso de la plataforma y la bolita, se denominan son las variables bajo las cuales se realiza su movimiento.
  • 3. ECCI JECC 2016 Dentro de nuestro bloque principal realizamos el llamado a cada uno de los bloques complemento, bajo la función componente que lo que hace es insertar las configuraciones asociadas al grupo y de la misma manera hay que hacer la declaración de las variables y ejecutamos, la máquina de estados principal que es la que nos permite ejecutar cada una de la acciones programadas. Figura 2: Conexión de la FPGA. Se realiza la conexión de los sensores de entrada de señal a la tarjeta FPGA Figura 3: Visualización del programa en VHDL con el monitor VGA. Se hacen conexiones respectivas para el encendió del monitor con un cable de poder AC y se establece comunicación desde la FGPA por medio de un cable de VGA. Figura 4: Monitor y mouse. Las herramientas necesarias para la implementación de este juego son: un monitor, Control (mouse), Dispositivo programable FPGA. C. Como jugar arkanoid El objetivo del juego es eliminar todos los bloques que hay en el tablero golpeándolos con la bolita, para ello se debe rebotar con la plataforma inferior sin dejar que toque el suelo. Si la bolita toca el suelo se pierde y se debe jugar nuevamente el nivel. Cuando ya no queden bloques en el tablero se pasa de nivel. III. CONCLUSIONES 1. Podemos concluir que al realizar trabajo con código VHDL, se debe tener cuidado a la hora de digitar el código, ya que en algunas ocasiones esto puede incurrir en el proceso que queremos realizar. 2. Ya que el video ocupa la mayor capacidad de procesamiento, identificamos que el código vhdl, no encontró suficiente espacio en la fpga para ejecutar el sonido, por lo tanto no pudo ser compilado completamente para el juego. 3. IV. REFERENCIAS [1] Asistencia en Programación de Harbey Rodríguez Ingeniero Electrónico [2] Otakufreaks2016, http://www.otakufreaks.com/historia-de-los- videojuegos-el-origen-y-los-inicios/ [3] Arcade classics2006, http://arcadeclassics.net/ [4]Arcade 2015,http://www.arcade- history.com/?page=detail&id=106 [5]National Instruments http://www.ni.com/white- paper/9344/es/
  • 4. ECCI JECC 2016 V. AUTORES A. Juri Andrea Pita Correa Nació el 19 de septiembre de 1992 en la ciudad de Bogotá. Es Técnica en mantenimiento de equipos de cómputo 2010 Servicio Nacional Aprendizaje-SENA, Tecnóloga en administración de redes de cómputo 2012 Servicio Nacional Aprendizaje-SENA, Tecnóloga en Soporte en Telecomunicaciones 2016 de la Universidad ECCI, Actualmente se dedica a estudiar VIII Semestre Ingeniería Electrónica en la Universidad ECCI y labora como Ingeniera junior O&M Datos y conectividad en ZTE (PROYECTO CLARO), Su enfoque va en el ámbito de las comunicaciones especialmente en telemática. B. Anyi Marcela Rodríguez Ruiz Nació el 2 de febrero de 1989 en Garzón (Huila).es Técnica en electrónica y Electricidad Industrial del Juan Bosco Obrero, Tecnóloga en C. Electrónica de la Universidad ECCI, Actualmente se dedica a terminar sus estudios de ingeniería electrónica en la Universidad ECCI y Labora como Supervisor de Servicios en el área de mantenimiento Eléctrico y Electrónico en la Planta de Vidrio Andino., su enfoque va en fortalecer sus conocimientos en automatización para optimizar procesos en la industria. D. Iván Darío Salamanca Piraquive Nació el 14 de Mayo de 1994 en Bogotá. Es Tecnólogo en Mantenimiento Electrónico Instrumental e Industrial del Servicio Nacional Aprendizaje-SENA, labora actualmente como Técnico Electrónico en Ciplas S.A.S, Su enfoque va en la innovación del mantenimiento en equipos y maquinaria electrónicas.