Snake Game
1
SNAKE GAME
Autor: María del Mar Ruiz Alcántara
Consultor: Jordi Bécares Ferrés
Grado de Tecnologías de Telecomunicación
Sistemas encastados
Junio 2019
Snake Game
Contenido
1. Introducción
2. Antecedentes
3. Descripción funcional
4. Descripción detallada
5. Viabilidad técnica
6. Valoración económica
7. Conclusiones
8. Demostración
2
Snake Game
Contenido
1. Introducción
2. Antecedentes
3. Descripción funcional
4. Descripción detallada
5. Viabilidad técnica
6. Valoración económica
7. Conclusiones
8. Demostración
3
Snake Game
• El juego de la serpiente es una variante de Blockade, un
juego arcade desarrollado por Gremlin en 1976.
• La primera versión conocida del juego se tituló Worm y
fue programada en 1978 por P. Trefonas para los
ordenadores TRS-80.
• Hay múltiples versiones del juego.
• Con el LaunchPad y BoosterPack se va a implementar el
juego en un sistema embebido.
• Se desarrolla un producto nuevo a partir de uno
existente.
4
Introducción
Snake Game
• Implementación básica de la serpiente
• Control mediante el joystick
• Refresco eficiente
• Obstáculos fijos
• Añadir puntuación
• Niveles de dificultad
• Pantalla de inicio
5
• Pausa
• Guardar partida
• Añadir sonido en partida al recoger elemento y finalizar partida
• Añadir música de fondo
• Pantalla de ayuda
• Registro de mayores puntuaciones
Introducción
Snake Game
• Añadir obstáculos móviles
• Interfaz más amigable
6
Introducción
Snake Game
Contenido
1. Introducción
2. Antecedentes
3. Descripción funcional
4. Descripción detallada
5. Viabilidad técnica
6. Valoración económica
7. Conclusiones
8. Demostración
7
Snake Game
Estado del arte:
• Sistema embebido:
• Sistema computacional de propósito específico.
• Debe realizar tareas de forma optimizada y eficiente.
• Está formado por microprocesador, software y memoria.
• Se pueden programar en ensamblador, C/C++ o lenguajes de alto nivel.
• Tras estudio distintas posibilidades se ha seleccionado:
• TI-RTOS, ya que contiene todas las librerías y drivers que necesitan.
• Programación bajo Energia.
• A nivel hardware se usa el kit de Texas Instruments.
8
Antecedentes
Snake Game
Estado del arte snake
• Blockade (1976)
▪ Juego arcade
▪ CPU Intel8080 a 2079 MHz
▪ RAM 1.25 KB
▪ Gráficos: matriz de 256x224 pixels y 2
colores
▪ Sonido: muestras discretas
9
Antecedentes
Snake Game
Estado del arte snake
• Worm (1978)
▪ Worm Tandy Radio Shack Z-80
▪ CPU Zilog Z80 a 1,77 MHz
▪ RAM 4Kb/16 Kb
▪ ROM: 4 kb (BASIC)
▪ Gráficos: 128 x 48, monocromático
▪ Sin sonido
10
Antecedentes
Snake Game
Estado del arte snake
• Nokia 3310 (2000)
▪ Pantalla:Monocroma 84x48 pixeles
▪ Sonido: tonos monofónicos
▪ Texas Instruments MAD2WD1
11
Antecedentes
Snake Game
Estado del arte snake
• Ejemplo variantes actuales para
smartphones
▪ Snake.io
Multijugador online
▪ Snake facebook
Con realidad aumentada
12
Antecedentes
Snake Game
Estado del arte snake
• Ejemplo smartphone: Samsung S10
▪ Procesador: 2.84GHz Snapdragon 855
▪ RAM: 8GB (o 12GB)
▪ Almacenamiento: 128G(512G o 1TB)
▪ Pantalla 3,040x1,440 pixeles
▪ Sonido Doble bocina con Dolby Atmos
13
Antecedentes
Snake Game
Contenido
1. Introducción
2. Antecedentes
3. Descripción funcional
4. Descripción detallada
5. Viabilidad técnica
6. Valoración económica
7. Conclusiones
8. Demostración
14
Snake Game
Componentes físicos
• LaunchPad MSP432P401R
• Educational BoosterPack MKII
15
Descripción funcional
Snake Game
Esquema funcional
16
Descripción funcional
Snake Game
Tipos de software
•Software del sistema: Da
soporte a la aplicación (Drivers y
SO).
•Software de aplicación: Es el
software que le da funcionalidad
al sistema embebido.
17
Descripción funcional
Game
JoystickScreen
GameMusic
ToneLDC_ScreenFlashWiring_analog
Aplicación Snake
S.O. y librerías
TI-RTOS
Drivers
Snake Game
Requisitos funcionales
• Menú inicial
• Selección de partida
• Instrucciones
• Partida
• Pausa
• Puntuaciones máximas
18
Requisitos no funcionales
• Usabilidad
• Libre de licencias de pago
• Sistema de bajo coste
Descripción funcional
Snake Game
Casos de uso
1. Menú inicial
• Nueva partida
• Cargar partida
2. Selección de nivel
• Nivel normal
• Nivel difícil
3. How to play
• Leer instrucciones
19
4. Partida• Mover serpiente• Ver puntuación• Ver nivel• Pausar partida
• Guardar partida
5. Pausa• Quitar pausa• Activar/Desactivar música
6. Puntuaciones• Ver mejores puntuaciones• Volver a menú inicial
Descripción funcional
Snake Game
Diagramas de actividad
• Estructura Energia:
▪Por cada tarea se crea un sketch o programa
▪Un programa tiene las siguientes partes
oDefinición librerías, variables y métodos
oFunción setup
oFunción loop
20
Descripción funcional
Snake Game
Diagramas de actividad
• Estructura juego:
▪Tarea Game
▪Tarea Theme
▪Tarea Joystick
21
Descripción funcional
Snake Game
Task
Theme
Task
Direction
Joystick
Task
Music
Pitches
JoystickScreen Game
Snake Game
Diagramas de actividad
•setup
22
•loop
Descripción funcional
Snake Game
23
Diagramas de actividad
•Snake game
Descripción funcional
Snake Game
24
Interfaz de usuario
Flujo entre pantallas
Snake Game
Contenido
1. Introducción
2. Antecedentes
3. Descripción funcional
4. Descripción detallada
5. Viabilidad técnica
6. Valoración económica
7. Conclusiones
8. Demostración
25
Snake Game
• Requisitos técnicos que se tienen que cumplir:
▪ Sistema embebido capaz de procesar lógica del juego
▪ Interfaz gráfica
▪ Elementos de entrada (joystick y botones)
▪ Salida de audio
26
Viabilidad técnica
Snake Game
• Se ha conseguido desarrollar el juego en el kit mediante Energia:
▪ Se han podido crear múltiples tareas bajo TI-RTOS:
▪ El juego
▪ La música
▪ Lectura del joystick
▪ Con las distintas librerías de Energia que han facilitado el acceder a:
▪ Joystick
▪ Pantalla
▪ Buzzer
▪ Flash
27
Viabilidad técnica
Snake Game
Contenido
1. Introducción
2. Antecedentes
3. Descripción funcional
4. Descripción detallada
5. Viabilidad técnica
6. Valoración económica
7. Conclusiones
8. Demostración
28
Snake Game
• Una vez desarrollado el producto, se estudia el coste económicoque tendría el llevarlo a cabo de manera industrial.
29
Valoración económica
Descripción Unidades Precio unitario Importe
Toma de requisitos y documentación 70 30€ 2100€
Desarrollo software 110 20€ 2200€
Pruebas e informe 30 15€ 450€
TOTAL 4750€
Descripción Unidades Precio unitario ImporteLaunchpad MSP432P401R 1 14,40 € 14,40 €
BOOSTXL-EDUMKII 1 21,60 € 21,60 €
Batería 1 2 € 2 €
Carcasa 1 4€ 4 €
TOTAL 42,00 €
Snake Game
Contenido
1. Introducción
2. Antecedentes
3. Descripción funcional
4. Descripción detallada
5. Viabilidad técnica
6. Valoración económica
7. Conclusiones
8. Demostración
30
Snake Game
• Se han cumplido los objetivos marcados.
• El kit formado por el Launchpad y el BoosterPack da amplias posibilidades
para realizar proyectos educativos.
• La programación con Energia es bastante intuitiva.
• Se necesita mucha dedicación para poder conseguir lograr los objetivos.
• Satisfacción personal al lograr los objetivos aprendiendo de la experiencia y
de una forma amena.
31
Conclusiones
Snake Game
• Líneas futuras:
▪ Crear más niveles de juego.
▪ Permitir guardar más de una partida dando nombre a cada una de ellas.
▪ Menú seleccionable mediante joystick
▪ Partidas online
▪ Partidas de dos jugadores.
32
Conclusiones
Snake Game
33
DEMOSTRACIÓN