Presentación de PowerPointopenaccess.uoc.edu/webapps/o2/bitstream/10609/94846/2/... · 2020. 7....

Preview:

Citation preview

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

Recommended