Versión 0.1.0 2022.3.48f1 -> LTS
2. Introducción: The Shop Next Door
2.1. Descripción breve del concepto
2.2. Descripción breve de la historia y personajes
2.3. Propósito, público objetivo y plataformas
3. Monetización y modelo de negocio
3.1. Información sobre los usuarios de Kioreco
3.2. Modelo de negocio de Kioreco
3.3. Monetización de The Shop Next Door
3.7. Tablas de productos y precios
4.2. Estimación temporal del desarrollo
5. Mecánicas de Juego y Elementos de Juego
5.1. Descripción detallada del concepto de juego
5.2. Descripción detallada de las mecánicas de juego
5.2.3. Resolución de la semana 16
5.5. Comportamiento de personajes
6.1. Descripción detallada de la historia y la trama
7.1. Estética general del juego
8.2. Menú de título e inicio de sesión
10. Hoja de ruta del desarrollo
Aquí se incluirán todos los cambios que se realicen en el proyecto en las respectivas revisiones.
28 de octubre de 2024
Objetivos alcanzados:
Objetivos en proceso:
Objetivos deseados para el próximo hito:
Cosas revisión 2
Cosas revisión 3
The Shop Next Door es un juego competitivo de dos jugadores donde se debe mantener un buen equilibrio entre el trabajo y la vida personal para complacer a una madre de buena familia.
Cada jugador será representado por una hermana distinta, regentando su propio negocio. En el local tendrán que realizar varias tareas relacionadas con su tienda: atender clientes, limpiar el local, comprar suministros, reponer estantes… Al mismo tiempo, podrán manejar su horario de la tarde con las distintas labores a las que quiera dedicar su tiempo. Lo que decida hacer afectará de diversas maneras su trabajo en la tienda el día siguiente y principalmente servirá para crecer como persona.
Una partida completa, de una duración aproximada de 15 a 20 minutos, contemplaría una semana laboral de 5 días con sus respectivas tardes, un día de descanso y el domingo como día final. En este se evaluarán los resultados de ambas hermanas en torno a la labor hecha en la tienda y la evolución de su vida personal, donde será la madre quién dará la victoria a una de sus hijas.
En The Shop Next Door se sigue la historia de dos hermanas, Gemma y Emma, y su madre, Telma. La madre tenía una tienda grande en la que vendía todo tipo de productos, pero ya se está haciendo mayor y no puede seguir regentándola. Fue entonces cuando decidió construir un muro y dividir la tienda en dos, dándole cada una de las mitades a sus hijas.
Les dijo que quien consiguiera sobrellevar mejor el negocio se iría llevando parte de su herencia. Además, no solo le importaba el negocio, sino que quería verlas crecer hacia mujeres de bien como ella, así que valoraría si también consiguen un buen balance con su vida personal y romántica.
The Shop Next Door es un juego de partidas cortas y consecutivas orientado a un público casual. Está enfocado para páginas web y dispositivos móviles, con la posibilidad de ser ejecutado en PC.
Tiene el objetivo de proporcionar momentos de diversión y entretenimiento entre amigos o desconocidos. Pretende diferenciarse del resto de juegos del género por la originalidad de la propuesta de la vida personal, generando situaciones cómicas y originales, así como no dejar de lado todo lo que supone dirigir un pequeño comercio.
Los usuarios a los que están dirigidos los juegos de Kioreco podrían ser definidos por su búsqueda de experiencias creativas. Además, serían jugadores casuales que dediquen un corto tiempo diario a un entretenimiento frenético y divertido. No necesitarían equipos con grandes requisitos, pudiendo lanzar los juegos en navegadores web y dispositivos móviles.
Aun así, se buscaría una base de jugadores menos casuales (midcores) que se viesen más incentivados a invertir su dinero en objetos o servicios especiales, lanzando además los juegos para PC.
Kioreco busca la fidelización de los jugadores dentro de sus juegos, creando una base de usuarios adeptos dispuestos a invertir su dinero en productos ingame. Además, usará un sistema de donaciones / PWYC (paga lo que puedas) en el que se ofrecerán los juegos gratis como norma general para que los usuarios puedan conocer la empresa y sus creaciones, y afiliarse si el contenido es de su agrado. El sistema principal de distribución sería en itch.io, aunque se buscaría la expansión a plataformas como Steam. Se tendría un sistema de donaciones a parte en nuestras redes sociales y dentro del juego mediante plataformas como Ko-fi.
Por la búsqueda de clientes casuales y, en el caso específico de The Shop Next Door, compañeros contra los que puedan jugar, dicho modelo de negocio ayudaría a atraer una base amplia de usuarios que se asienten primeramente sobre las mecánicas del juego, y luego se vean incitados a invertir en productos dentro de la tienda. Además, dependiendo de la acogida de la empresa y sus productos, se desarrollarían una serie de productos de merchandising que ayuden a la financiación de los proyectos. También existirá un servidor de Discord de acceso público y moderado donde los usuarios podrían conversar y quedar para jugar en conjunto. Este tendría canales exclusivos para los donantes donde tendrían acceso a ventajas varias como avances exclusivos y contacto con los desarrolladores.
The Shop Next Door se plantea como un juego gratuito en el que se incluirían ciertos servicios y productos que se podrían comprar con una moneda de juego, que a su vez se podría adquirir mediante compras reales de manera más rápida. Esta moneda de juego se correspondería a la herencia que la madre otorgaría al final de cada partida a la hermana ganadora. Se incluirán anuncios opcionales que permitirá a la persona que lo desee duplicar sus ganancias.
Entre los productos que se ofrecen, aparte de un sistema de donaciones y canales exclusivos de Discord, entrarían productos como aspectos exclusivos y rotatorios (considerando colaboraciones con otras marcas) para el local, las hermanas y el teléfono que irían cambiando semanalmente, incluyendo nuevas skins cada cierto tiempo.
Para potenciar la fidelización de los usuarios y su permanencia en el juego se ofrecerían retos semanales donde el jugador deberá completar ciertas misiones, obteniendo objetos o dinero que mejoren la experiencia.
El mapa de empatía de los usuarios de The Shop Next Door sería el siguiente:
La caja de herramientas de Kioreco sería la siguiente:
El modelo de lienzo o canvas de The Shop Next Door sería el siguiente:
Por determinar.**
El equipo principal se compone de 6 miembros cada uno con una especialización diferente, pero con habilidades en distintas aptitudes. Las competencias quedarían resumidas en la siguiente tabla.
En resumen, los roles que cada uno de los miembros del equipo desempeñaría en el proyecto serían los siguientes:
El control del progreso se realizará mediante los proyectos de GitHub, encargándose cada uno de los miembros de sus tareas asociadas y de crear nuevos issues cuando se necesiten. El proyecto contaría con los siguientes hitos:
Proyecto visto en GitHub:
Se ha realizado un estudio de los costos estimados asociados al desarrollo de los cuatro meses del videojuego, desglosándolos entre costos directos e indirectos.
The Shop Next Door es un juego de simulación y estrategia de carácter competitivo orientado a dos jugadores. Cada uno tomará el rol de una de las hijas de Telma, una madre con un negocio próspero que, debido a su edad y el tiempo que lleva regentándolo, ha decidido no trabajar más. Telma toma la decisión de dividir su tienda en dos partes iguales para poner a competir a sus hijas (Emma y Gemma), para ver quien es la más capaz de gestionar su propia tienda. Al final de la semana, junto con la gestión de sus vidas privadas, se determinará quien recibe la herencia de la madre.
El objetivo principal del videojuego es equilibrar las responsabilidades laborales y personales para asegurar el éxito del negocio, sin olvidar y descuidar las relaciones personales. Cada jugador deberá gestionar el día a día en su tienda, con tareas como atender a clientes, gestionar el inventario de la tienda, limpiar, contratar empleados y/o tomar decisiones sobre que suministros comprar y reponer. También, cada día, los jugadores tendrán que gestionar su tiempo libre, tomando decisiones que afectarán a lo largo de la semana a su desarrollo personal.
El juego se desarrolla en el transcurso de una semana laboral, que termina con una valoración final por parte de su madre Telma, la que decidirá quién de sus dos hijas merece esa ansiada herencia, haciendo un cómputo global de los dos aspectos en la vida de cada hija. Cada partida se estima en un tiempo de 15/20 minutos la cual es ofrecida a base de una experiencia rápida, competitiva, divertida y con situaciones un tanto cómicas a lo largo de esa apasionante semana.
Las mecánicas de The Shop Next Door se dividen en dos grandes bloques: vida en la tienda y vida personal.
Cada jugador deberá realizar diferentes tareas diarias para mantener la tienda y poder darle una gestión adecuada:
Atender a clientes: Proveer productos de manera eficiente se considera esencial para la satisfacción del cliente y asegurar ventas abundantes, haciendo volver a esos clientes. El jugador deberá acercarse a la caja de la tienda para iniciar la tarea de atender a cada cliente esperando a pagar su compra.
Reponer suministros: A lo largo del día, la tienda se va vaciando de productos gracias a la compra de los clientes, lo que hace que el jugador necesite ir reponiendo según la cantidad que se ha ido gastando. Se deberá tener especial cuidado en que productos gastar y que cantidad de ellos se debe pagar para no excederse y quedarse sin presupuesto, pero también que no se quede corta la tienda de stock. Estos suministros se comprarán a través del móvil de cada hermana y serán repuestos en las estanterías con interacciones en las estanterías.
Limpiar: Mantener la tienda limpia y bien organizada influye en la satisfacción y experiencia de los clientes. Las estanterías o partes de la tienda se irán (o serán ensuciadas) y estas deberán ser limpiadas quitando tiempo al jugador con interacciones sobre esas partes.
Contratación: Para tener un negocio competitivo y funcional, es necesaria la ayuda de empleados que mantengan todo en orden y ayuden a la explotación de la tienda. Para ello, el jugador deberá contratar a empleados a través de una función en el móvil, gastando parte del presupuesto en un sueldo diario.
Gestión de tiempo: Como es normal, ¡el cliente siempre tiene la razón!, es por eso por lo que algunas tareas requerirán una atención personal a cada cliente, esto hace que si no son atendidos se irán impacientando y su visión y valoración de la tienda variará al salir por la puerta del establecimiento. Más vale tenerles contentos…
Al mismo tiempo que los jugadores deben tener bajo control la tienda, deben organizarse la tarde para suplir sus necesidades personales.
Pilares de la persona: Cada jugador contará con 5 pilares fundamentales que representarán el crecimiento personal que ha realizado durante a la semana. Dichos pilares son agrupados de la siguiente forma: romanticismo, amistades, diversión, descanso y desarrollo personal. Podrá consultar los valores en una aplicación en el móvil y serán evaluados de forma cuantitativa por la madre al final de la semana.
Actividades: Se cuenta con un gran banco de actividades variadas (limitadas a 10 por día) diferenciadas por su nombre y distintos parámetros. Cada una de estas actividades tienen tres posibles salidas diferenciadas entre malas, neutras y buenas. Además, cada una proporcionará un porcentaje de cada pilar determinado al realizarla, que permitirá aumentarlos cada día. También se podrá contar con diferentes estados cada día que afecten la salida que se obtendrá. La salida que se obtenga se tendrá en cuenta para otorgar todo el porcentaje de la actividad (salida buena), la mitad de ella (neutra) o nada (mala); condicionado por los estados y un randomizador.
Pareja: El jugador podrá realizar actividades que resulten en la consecución de una pareja romántica. Este factor, además de abrir puertas a nuevas actividades, servirá como bonificador extra para la evaluación de la madre.
Calendario: Cada día, de las 10 actividades aleatorias a las que el jugador puede acceder, podrá elegir un máximo de 3 para realizar durante la tarde. Los resultados de su plan se verán al acabar la jornada laboral junto con el resumen de su tienda y la de la hermana.
Tras el transcurso de 5 días y 5 tardes, el juego se terminaría con una charla entre ambas hermanas con la madre. Ella decidirá teniendo en cuenta todo el cómputo de vida personal (pareja, amigos, tiempo libre...) y vida laboral (felicidad de los clientes, dinero, éxito de la tienda...) a quien dejará la herencia del negocio de su vida. Dicha herencia se corresponderá a la moneda de juego que luego se podrá utilizar para comprar en la tienda real.
The Shop Next Door es un point and click ligado al jugador, su cámara y su vida personal. Todos sus controles van ligados al ratón por lo que va a ser fácilmente jugado en móviles mediante un paso de controles a touchpad con el nuevo InputManager de Unity. Ratón:
TouchPad:
Se disponen de diferentes perfiles de clientes, se explica de forma superficial el tipo de clientes puesto que se desarrollan por completo en el apartado de comportamiento de personajes:
Se disponen de varios productos por categoría:
Cliente básico:
Entra a la tienda una vez haya hecho la lista de la compra y busca la primera estantería a la que ir. Se acerca a la estantería, coge el elemento y siempre que tenga más elementos que comprar, busca la siguiente estantería a la que ir. Cuando no le queden más productos que comprar se acercará a la caja donde, si hay gente en la caja esperará su turno, si no hay gente, pasará a pagar y se irá de la tienda. Si es su turno en la caja y no tiene quien le atienda, esperará a que alguien venga. Si no tuviera hueco en la cola, independientemente de su estado emocional, se irá de la tienda disminuyendo su felicidad.
Si mientras está cogiendo algún elemento de la estantería tiene alguna duda con alguno de los elementos irá a preguntar a alguien. Una vez acabe, seguirá haciendo la tarea por donde la dejó.
Este cliente tiene un estado emocional compuesto de 2 estados: feliz y enfadado.
Sobre la felicidad y el enfado, se dispone de una variable perteneciente al intervalo [0, 1], donde 0 es estar feliz y 1 estar enfadado e irse. Irá aumentando en 0.05 con interacciones que lo propicien. Estos datos se modificarán atendiendo al comportamiento que esté teniendo el npc, por ejemplo, que tenga demasiada poca tolerancia y no acabe de comprar ningún cliente por esta razón.
La transición entre ambos viene dada por los siguientes eventos:
Se ha elaborado una FSM y, para algunas transiciones se ha hecho una SFSM para favorecer la escalabilidad en un futuro, si se requiriera, del comportamiento básico de un NPC
Karen:
Es la variación 1 del cliente genérico. Tiene el mismo comportamiento básico a excepción de que es mucho más irascible e impulsiva que el resto de los clientes, por lo que tiene menos tolerancia a los sucesos que alteran sus emociones. Además, cuando esto suceda se irá a quejar al trabajador que tenga más cerca en la tienda (nunca al que está cobrando), o al propio jugador, a excepción de cuando esté en la cola y ya haya pagado.
Si no hubiera trabajadores contratados y el jugador está cobrando, este se acercará a quejarse igualmente al cajero, aunque no interrumpirá su tarea.
Si llegase a enfadarse por completo, se acercará a cualquier empleado, se quejará una última vez y saldrá de la tienda sin comprar.
Sobre la felicidad y el enfado, se dispone de una variable perteneciente al intervalo [0, 1], donde 0 es estar feliz y 1 estar enfadado e irse. Irá aumentando 0.10 cada vez, dado que se enfada más rápido que el cliente genérico.
Estos datos se modificarán atendiendo al comportamiento que esté teniendo el npc, por ejemplo, que tenga demasiada poca tolerancia y no acabe de comprar ningún cliente por esta razón.
Se ha realizado de forma similar al anterior: una SFMS.
Tacaño:
Es la variación 2 del cliente genérico. Este entra a la tienda, va a estanterías aleatorias cogiendo elementos, también aleatorios y cuando se canse, pagará y se irá de la tienda. Se enfadará únicamente con el dinero en la caja, el resto de los eventos (tienda sucia, esperar en la cola…) no le enfadan, a excepción de si no tiene hueco en la cola.
Tiene un presupuesto establecido, y su reacción en la caja dependerá de cuánto se pase de ese presupuesto:
En lo que respecta al comportamiento visual se va a comportar muy parecido al cliente normal, ya que la única diferencia es su reacción en la caja. Debido al tipo de demostración elegida al jugador de algunas reacciones o emociones de los clientes, más allá de su apariencia física y que no va a ser tan habitual como el cliente genérico se acompañará de sonido espacializado (de gritos) cuando suceda este comportamiento.
Se ha implementado un FSM.
El niño:
Entra, se mueve muy rápido, irá moviéndose a pasillos aleatorios manchando todo hasta que el jugador le eche de la tienda.
Si pasa cierto tiempo sin que el jugador le eche de la tienda, este irá aumentando la frecuencia de manchas en la tienda y su velocidad hasta que llegue a su límite (minuto y medio) y se vaya.
La frecuencia de manchas irá aumentando cada 30 segundos que pase en la tienda, pasando de 1 mancha en cada posición, a 1 en la posición y otra de camino, a 1 en la posición y dos en el camino.
Trabajador:
El trabajador tiene 3 labores que desarrollar: reponer estanterías, cobrar a los clientes en la caja y limpiar el suelo cuando esté sucio. Cualquiera de sus acciones puede verse interrumpida en cualquier momento por algún cliente, cuando la interrupción termine volverá con la tarea que estaba realizando.
La acción prioritaria siempre será atender en la caja, donde, si no tiene que hacer ninguna actividad (tienda limpia, nadie en la caja y todo repuesto), se irá a la caja a esperar a que vengan clientes
Su comportamiento se basa en una SFSM y HFSM
FSM primer nivel:
FSM segundo nivel:
La imagen representa la condición obligatoria para poder cambiar a ese estado, pero a la elección del estado, o la permanencia en el mismo, al que se cambie se hará de la siguiente forma:
En atender caja:
En el caso de limpiar y reponer: siguiendo con la norma establecida de que se cumpla la condición para que la transición suceda, tenemos las mismas situaciones:
Los valores elegidos podrán ser modificados si una vez implementado se observa un gran balance de las decisiones, como puede ser que esté mucho tiempo cobrando y el resto de las acciones no las haga, o se quede en un estado, aunque no tenga que hacer nada más en ese estado.
De esta manera, cabría la posibilidad de que desde un estado pudiera cambiar a otro o permanecer en el estado.
La representación visual al jugador de estados de los clientes tales como enfado, felicidad, duda, queja… se mostrará encima de los clientes, como sucede en los sims:
Telma es una señora de bien. Tiene dos hijas y un marido sepultado. A su edad está empezando a dolerle en la espalda, las piernas, las manos y en ocasiones en las cejas, pues el ceño fruncido y sus respectivas arrugas cuestan llevarlas todos los días.
Telma tenía una tienda. Era grande, coqueta y tenía una clientela asegurada, en definitiva, un negocio exitoso. El problema vino cuando sus manos ya no podían ni contar el dinero de la caja. Fue entonces cuando decidió deshacerse de todo. No habría más ropa que doblar, libros que colocar ni empleados que gritar.
Claro está que no quería que su negocio acabase enterrado bajo el polvo, así que empezó a susurrar a sus hijas. A Gemma le dijo que con la tienda conseguiría el dinero suficiente para comprarse aquella buena casa que vio a las afueras. A Emma simplemente le dijo que podría comprarse las chuminadas que quisiera. Aquello fue solo la semilla, pero no fue hasta que habló de herencias que sus hijas no se agarraron de los pelos para coger las llaves de la tienda.
Entonces construyó un muro y duplicó las llaves. Cada una de sus hijas regentaría una tienda, y la que consiguiese volver a florecer su negocio se llevaría con él la herencia que tanto ansiaban.
Telma es una mujer mayor cuyo marido murió hace años. Es una persona seria y recatada, educada en una familia de dinero y con sus costumbres bien arraigadas. Siempre ha sido independiente y capaz de regentar su negocio con éxito, pero los efectos de la edad le han limitado sus capacidades motrices, teniendo que jubilarse. Tiene personalidad y apariencia similar al personaje de Emily Gilmore, no manteniendo una relación afectuosa con sus hijas, sino más supervisora y controladora.
Gemma es una de las hermanas que el jugador podrá controlar. Tiene una personalidad seria y cansada, siempre consumida por todos los aspectos de su vida por querer tenerlo todo bajo control. Tiene el pelo corto por los hombros, oscuro con reflejos morados y un estilo simple y clásico, alisado casi a diario. Es la hermana mayor y por tanto tiene una necesidad superior de agradar y complacer a su madre. Tiene una relación complicada con su hermana, con quien se lleva pocos años y, por tanto, se compara con ella continuamente.
Emma es la hermana pequeña que el jugador podrá controlar. Tiene una personalidad mucho más desenfadada y aparentemente despreocupada, pero en realidad siente una desilusión e inquietud por no saber cómo llevar la vida. Siente que ha fracasado y que no ha conseguido cumplir los estándares que debería con su edad, sin embargo, se siente tan abrumada por estos pensamientos que no es capaz de ponerse a trabajar en dichos aspectos. Intenta mantener una apariencia y posición en la vida desinteresada como medida protectora para que su mundo no se le eche encima. Siente interés por su hermana y desearía llevarse mejor, pero la siente inaccesible y tampoco sabe cómo relacionarse con ella pues siempre la nota enfadada. Tiene una apariencia alegre, con el pelo ondulado teñido pelirrojo con las raíces oscuras asomando, y suele llevar ropa colorida en cierta medida.
La tienda que ambas hermanas regentará debe ser grande y simétrica, dividida por un muro. Las paredes exteriores serán cada una de los colores representativos de cada hermana (rosa y amarillo), y las interiores azules. En las vecindades se verán tiendas que hagan referencias a juegos realizados con anterioridad por el equipo de desarrollo.
Habrá mínimo cinco modelos de tienda diferentes que se elegirán aleatoriamente al principio de cada partida. Cada uno de estos tendrán zonas asignadas donde se podrán vender productos de distintos tipos: ropa, comida, entretenimiento y libros y papelería.
La estética general del juego sería cartoon, simple y acogedora. Tanto el escenario como los personajes mantienen una estética lowpoly destacada por su diseño sencillo y adorable. Este estilo se utiliza en contraste con la historia de familia desestructurada y la agresividad que suelen tener los juegos competitivos. Aparte de ser visualmente más interesante para el público objetivo, ofrece la posibilidad de simplificar los escenarios y personajes para evitar bajadas de rendimiento al lanzarlo en navegadores web.
Las hermanas Emma y Gemma, presentan una apariencia opuesta definida por sus respectivas personalidades.
Gemma siendo la más seria y responsable de las dos, muestra físicamente más formalidad que su hermana. Siempre viste casual, con una camiseta sencilla y unos vaqueros, pero con la dignidad propia de su madre. Tiene el pelo corto, liso y negro desde nacimiento y así se lo ha dejado. Es una persona algo irritable y que suele evitar los cambios bruscos.
Por otro lado, Emma es algo alocada y despreocupada. Tiene el pelo rizado, largo y teñido de rojo cobrizo, en contra de las opiniones de su madre ya que seguir las normas no es algo que le guste hacer. De las dos, también es la más expresiva, aunque a veces no le convenga serlo, por esa razón siempre viste con un mono gris y una camiseta blanca con rayas amarillas.
Referencias para Gemma:
Referencias para Emma:
Primeros bocetos:
Hoja de expresiones de Gemma:
Concepts de los modelos ingame de las hermanas:
La madre, Telma, es una señora regia. Tiene el ceño constantemente fruncido y el pelo corto platino. Se caracteriza por tener un rizo rebelde en el centro de la cara y pendientes dorados. Su forma debe ser triangular para representar la estabilidad y presencia que tiene al presentarse en una sala, y debe demostrar el dinero y el estilo adinerado que la representa. Una clara referencia para su diseño y personalidad es Emily Gilmore de Gilmore Girls.
Concepts:
Hoja de Expresiones:
No haría falta crear el modelo 3D ya que no va a aparecer dentro de este hasta el final y su aparición será en escenas dibujadas.
Para los clientes se ha decidido crear unos modelos generales para agilizar el proceso y añadir algún tipo de característica distintiva en alguno de ellos que cuentan con una mecánica única.
Turn around del modelo genérico
El escenario en el que se jugará deberá ser amplio y representar una tienda. Ambas tiendas deben estar conectadas pared con pared, pero sin poder pasar de una a otra. Tendrán estanterías y muebles para poder exponer los productos, y una caja registradora donde cobrar los clientes. Habrá mínimo 5 variaciones de tiendas con secciones diferentes, las paredes interiores serán azules y las exteriores rosas (para el host) y amarillas (para el cliente).
Un boceto de la primera tienda es el siguiente:
Los modelos deberán simple para no añadir sobrecarga de geometría y apoyar el estilo simple y adorable que se necesita.
Las hermanas dentro del juego mantendrán una apariencia similar a los clientes, pero diferenciada por sus modelos más llamativos. Además, sobre sus cabezas tendrán un señalador como el plumbob de los juegos de Los Sims.
Los modelos sin texturizar son los siguientes (Emma y Gemma):
Los clientes deberán ser diferenciables entre sí según los distintos arquetipos que representen. Además, deberá haber varias variaciones de colores y géneros de cada uno.
El primer modelo de tienda simple que permitirá vender comida y ropa sería:
El diagrama de flujo entre pantallas y durante una partida quedaría de la siguiente manera:
Un boceto de como irían los distintos menús sería:
Un boceto de cómo sería el menú de inicio sería:
Concepto por realizar.
Un boceto de cómo sería la escena de matchmaking sería el siguiente:
Un boceto de cómo se vería la escena de juego con la interfaz ingame sería:
Un boceto de cómo se vería la escena Game Over sería:
Concepto por realizar.
Concepto por realizar.
Concepto por realizar.
Hay dos temas diferenciados, uno para la parte de menú y otra ingame. El primero se caracteriza por ser una música tranquila que incite a jugar, el segundo es un poco más animado para no perder el objetivo del juego: una competición.
Música por concretar: sin derechos de distribución ni uso.
Los efectos de sonidos servirían como feedback auditivo para el jugador, sobre todo en ocasiones importantes, como puede ser: Que un cliente entra en la tienda, que los clientes empiezan a molestarse y a murmurar que se van a ir de la tienda, comprar un empleado nuevo.
Sin concretar: sin derechos de distribución ni uso.
Por concretar.
Para este hito debe tenerse el juego planteado y bien definidas las mecánicas cores del juego. Pueden existir errores, pero debe ser estable y estar bien concretado en el GDD. Además, se debe empezar con el marketing con la creación de redes sociales y tener preparada una página web que sirva como porfolio.
Para este hito se deben tener la mayoría de los assets definitivos y los bugs importantes corregidos. También se tiene que ver una evolución clara con respecto a la versión anterior en cuanto a mecánicas y estética.
El juego debe estar preparado para su lanzamiento, tanto por el equipo de producción como el de marketing. No debe existir ningún error crítico y tiene que haber una mejora considerable de jugabilidad /rejugabilidad, siendo un producto atractivo y listo para ser comercializado.
Para el lanzamiento se deberá organizar una última campaña de lanzamiento que involucre la publicación del juego. Esta se compondrá de varios anuncios en redes sociales y promociones que ayuden a dar a conocer al juego.
Tabla de percepciones cliente básico:
Nombre | Implementación | Acceso |
---|---|---|
Tiene la lista hecha | Cuando tenga la lista completa (el número de elementos sea mayor que 0) podrá comenzar su objetivo en la tienda | PULL |
Buscar estantería donde está el producto | Pide a un script (el encargado de gestionar la tienda: TiendaManager) la posición de qué estantería tiene ese producto | PUSH |
Tiene más productos que comprar | Consulta la extensión de la lista de la compra y mira si es mayor que 0 | PULL |
Puedo coger toda la cantidad de este producto | TiendaManager gestiona el coger elementos de una estantería, si no puede coger todos se le devuelve -1 | PUSH |
Tengo alguna duda de los productos | De forma aleatoria, dirá si un tiene duda o no (número aleatorio entre 0 y 1, false o true) | PULL |
Quién está cerca para preguntar | Calcula la distancia a cada trabajador y va al más cercano | PULL |
Está en destino | Comprueba la distancia a la posición a la que se le ha mandado | PULL |
Hay hueco en la cola | Le dice al TiendaManager que quiere ponerse a la cola y esta le devuelve la posición que le toca. Devuelve -1 si no tiene hueco | PUSH |
Puedo avanzar en la cola | Para el resto de los clientes de la cola se lanza un evento cuando alguno de los clientes haya abandonado su sitio | PUSH |
Estoy primero en la cola | Consulta su posición en la cola y mira si es 0 o no | PULL |
Hay cajero | Cuando haya alguien en la caja se lanza un evento para actualizar la variable del cliente | PUSH |
Puedo dar propina | Consulta su estado de ánimo y mira si puede darla o no | PULL |
Cuánto tiempo ha pasado | El cliente calcula su tiempo de espera, por ejemplo: espera mientras paga, antes de irse | PULL |
Estoy feliz / enfadado | Consulta su propio estado de ánimo y mira si ha cambiado en algún momento | PULL |
Me tengo que enfadar | Espera a recibir un evento que le cambie el estado de ánimo | PUSH |
He tocado un charco | Se lanza un evento que ralentice el movimiento del cliente al coger el charco | PUSH |
Tabla de acciones cliente básico:
Nombre | Implementación | Efecto |
---|---|---|
Andar | El navmesh se encarga de mover al agente a la posición que se le mande | El personaje se mueve hasta el destino |
Buscar estantería | Coge el primer elemento de la lista de la compra y le pide al TiendaManager la posición de esa estantería | |
Coger de la estantería | Le dice al TiendaManager la cantidad de productos y el nombre del producto que va a coger | El número de productos a coger se actualizará en el stock de la estantería. Nunca será menor a 0 |
Preguntar al empleado | Espera 2 segundos al lado del empleado, este ha interrumpido durante ese tiempo su tarea. | Interrumpe la tarea del empleado influyendo en la tienda |
Esperar turno en la cola | Espera en su posición en la cola hasta que este cambie | Se añade un cliente a la cola |
Pagar | Se actualiza el dinero del jugador, la UI del dinero, y espera el tiempo de cobro antes de irse | El dinero del jugador aumenta |
Enfadarse | Aumenta la variable de estado de ánimo del cliente acercándose al umbral del enfado. | Si este llega al límite, se va de la tienda. |
Dar propina | Si el cliente se mantiene feliz, pagará un 21% extra, a modo de propina, de lo que haya supuesto la compra | Aumenta aún más el dinero del jugador |
Tabla de percepciones Karen:
Como es una variación del anterior, las percepciones del anterior están marcadas en gris para diferenciarlo de las nuevas percepciones y facilitar la lectura.
Nombre | Implementación | Acceso |
---|---|---|
Tiene la lista hecha | Cuando tenga la lista completa (el número de elementos sea mayor que 0) podrá comenzar su objetivo en la tienda | PULL |
Buscar estantería donde está el producto | Pide a un script (el encargado de gestionar la tienda: TiendaManager) la posición de qué estantería tiene ese producto | PUSH |
Tiene más productos que comprar | Consulta la extensión de la lista de la compra y mira si es mayor que 0 | PULL |
Puedo coger toda la cantidad de este producto | TiendaManager gestiona el coger elementos de una estantería, si no puede coger todos se le devuelve -1 | PUSH |
Tengo alguna duda de los productos | De forma aleatoria, dirá si un tiene duda o no (número aleatorio entre 0 y 1, false o true) | PULL |
Está en destino | Comprueba la distancia a la posición a la que se le ha mandado | PULL |
Hay hueco en la cola | Le dice al TiendaManager que quiere ponerse a la cola y esta le devuelve la posición que le toca. Devuelve -1 si no tiene hueco | PUSH |
Puedo avanzar en la cola | Para el resto de los clientes de la cola se lanza un evento cuando alguno de los clientes haya abandonado su sitio | PUSH |
Estoy primero en la cola | Consulta su posición en la cola y mira si es 0 o no | PULL |
Hay cajero | Cuando haya alguien en la caja se lanza un evento para actualizar la variable del cliente | PUSH |
Puedo dar propina | Consulta su estado de ánimo y mira si puede darla o no | PULL |
Cuánto tiempo ha pasado | El cliente calcula su tiempo de espera, por ejemplo: espera mientras paga, antes de irse | PULL |
Estoy feliz / enfadado | Consulta su propio estado de ánimo y mira si ha cambiado en algún momento | PULL |
Me tengo que enfadar | Espera a recibir un evento que le cambie el estado de ánimo | PUSH |
He tocado un charco | Se lanza un evento que ralentice el movimiento del cliente al coger el charco | PUSH |
Quién está cerca para quejarse | Calcula la distancia a cada trabajador y va al más cercano | PULL |
Cuantos empleados hay | Pregunta los empleados trabajando para saber a quién ir a quejarse | PUSH |
Puedo quejarme | Comprueba si se ha enfadado y si está en una condición donde se puede enfadar (no está en la cola ni ha pagado todavía) | PULL |
Tabla de acciones Karen:
Nombre | Implementación | Efecto |
---|---|---|
Andar | El navmesh se encarga de mover al agente a la posición que se le mande | El personaje se mueve hasta el destino |
Buscar estantería | Coge el primer elemento de la lista de la compra y le pide al TiendaManager la posición de esa estantería | |
Coger de la estantería | Le dice al TiendaManager la cantidad de productos y el nombre del producto que va a coger | El número de productos a coger se actualizará en el stock de la estantería. Nunca será menor a 0 |
Esperar turno en la cola | Espera en su posición en la cola hasta que este cambie | Se añade un cliente a la cola |
Pagar | Se actualiza el dinero del jugador, la UI del dinero, y espera el tiempo de cobro antes de irse | El dinero del jugador aumenta |
Enfadarse | Aumenta la variable de estado de ánimo del cliente acercándose al umbral del enfado. | Si este llega al límite, se va de la tienda. |
Dar propina | Si el cliente se mantiene feliz, pagará un 21% extra, a modo de propina, de lo que haya supuesto la compra | Aumenta aún más el dinero del jugador |
Quejarse al empleado | Cuando se haya enfadado, espera 2 segundos al lado del empleado, este ha interrumpido durante ese tiempo su tarea. | Interrumpe la tarea del empleado influyendo en la tienda |
Tabla de percepciones Tacaño:
Tabla de percepciones:
Al igual que con Karen, las nuevas percepciones de este NPC estarán en blanco para facilitar la lectura.
Hay algunas percepciones del NPC básico que no necesita tener como, por ejemplo: tiene la lista de la compra hecha, puesto que este no tiene una lista, si no que tiene un presupuesto.
Por otro lado, hay algunas percepciones que comparte con el NPC general, pero la implementación es diferente, como es el caso de dar propina.
Nombre | Implementación | Acceso |
---|---|---|
Buscar estantería donde está el producto | Pide a un script (el encargado de gestionar la tienda: TiendaManager) la posición de qué estantería tiene ese producto | PUSH |
Tiene más productos que comprar | Consulta la extensión de la lista de la compra y mira si es mayor que 0 | PULL |
Puedo coger toda la cantidad de este producto | TiendaManager gestiona el coger elementos de una estantería, si no puede coger todos se le devuelve -1 | PUSH |
Tengo alguna duda de los productos | De forma aleatoria, dirá si un tiene duda o no (número aleatorio entre 0 y 1, false o true) | PULL |
Está en destino | Comprueba la distancia a la posición a la que se le ha mandado | PULL |
Hay hueco en la cola | Le dice al TiendaManager que quiere ponerse a la cola y esta le devuelve la posición que le toca. Devuelve -1 si no tiene hueco | PUSH |
Puedo avanzar en la cola | Para el resto de los clientes de la cola se lanza un evento cuando alguno de los clientes haya abandonado su sitio | PUSH |
Estoy primero en la cola | Consulta su posición en la cola y mira si es 0 o no | PULL |
Hay cajero | Cuando haya alguien en la caja se lanza un evento para actualizar la variable del cliente | PUSH |
Cuánto tiempo ha pasado | El cliente calcula su tiempo de espera, por ejemplo: espera mientras paga, antes de irse | PULL |
Me tengo que enfadar | Espera a recibir un evento que le cambie el estado de ánimo | PUSH |
He tocado un charco | Se lanza un evento que ralentice el movimiento del cliente al coger el charco | PUSH |
Tengo presupuesto | Comprueba si tiene un presupuesto establecido | PULL |
Cuánto ha sido mi compra | Comprueba cuánto le cuestan los productos que ha cogido | PULL |
Cuánto me ha sobrado | Comprueba si la cantidad de dinero comprada es menor que el presupuesto. Necesario para saber cuánta propina da | PULL |
Cuánto dinero me he pasado | Comprueba cuánto dinero se ha pasado del presupuesto inicial | PULL |
Puedo dar propina | Consulta cuánto dinero le ha sobrado | PULL |
Estoy enfadado | Si se ha pasado mucho dinero del presupuesto se enfada por completo y se va | PULL |
Tabla de acciones Tacaño:
Nombre | Implementación | Efecto |
---|---|---|
Andar | El navmesh se encarga de mover al agente a la posición que se le mande | El personaje se mueve hasta el destino |
Buscar estantería | Coge el primer elemento de la lista de la compra y le pide al TiendaManager la posición de esa estantería | |
Coger de la estantería | Le dice al TiendaManager la cantidad de productos y el nombre del producto que va a coger | El número de productos a coger se actualizará en el stock de la estantería. Nunca será menor a 0 |
Esperar turno en la cola | Espera en su posición en la cola hasta que este cambie | Se añade un cliente a la cola |
Pagar | Se actualiza el dinero del jugador, la UI del dinero, y espera el tiempo de cobro antes de irse | El dinero del jugador aumenta |
Enfadarse y quejarse / Hacer un escándalo | Si se enfada sucede un evento de sonido y espera en la caja hasta que haya acabado. | Se va sin pagar y sin comprar |
Dar propina | Si le ha sobrado dinero devuelve la diferencia entre el presupuesto y el precio de la compra | Aumenta aún más el dinero del jugador |
Tabla de percepciones del niño:
Nombre | Implementación | Acceso |
---|---|---|
Buscar punto donde ir | De una lista de checkpoints de posiciones donde puede ir elegirá uno aleatorio | PUSH |
Hay mancha en el punto | Una vez esté en el punto comprueba si ya hay una mancha o no (raycast en su posición) | PULL |
Me han echado | Recibirá un evento que le diga si ha sido echado de la tienda por el jugador. | PUSH |
Ha pasado el tiempo | Comprueba si ya ha pasado minuto y medio para irse o si ha pasado el tiempo para aumentar su velocidad | PULL |
Me puedo ir | Comprueba si reúne todos los requisitos para irse | PULL |
Aumento manchas por movimiento | Comprueba si reúne todos los requisitos para aumentar la cantidad de las manchas (no solo mancha en el destino si no también en el camino al destino) | PULL |
Tabla de acciones del niño:
Nombre | Implementación | Efecto |
---|---|---|
Andar | El navmesh se encarga de mover al agente a la posición que se le mande | El personaje se mueve hasta el destino |
Buscar punto aleatorio | Coge una posición aleatoria de la lista de puntos que puede visitar. Siempre será diferente del punto al que se encuentra | En ese punto aparecerá una mancha |
Manchar | Generará en un punto intermedio o en el destino final (según la frecuencia de mancha) una mancha | Ralentiza a los NPCs, los enfada y aumenta el % de suciedad de la tienda, y, por ende, entrará mucha menos gente |
Tabla de acciones Trabajador:
Nombre | Implementación | Acceso |
---|---|---|
Está la tienda sucia | Consulta el % de suciedad | PUSH |
Hay clientes en la cola | Consulta la extensión de la cola del TiendaManager | PUSH |
Estantería vacía | Recibe un evento cuando una estantería esté baja de suministros (menor que 8 unidades por producto) | PUSH |
Es interrumpido | Recibe un evento cuando es interrumpido | PUSH |
Sigo cobrando | Comprueba si sigue cobrando o si se va a otra a otra tarea siguiendo una fórmula | PULL |
Sigo limpiando | Comprueba que el % de suciedad no sea 0 o si se va a otra tarea de acuerdo con la fórmula | PULL |
Sigo reponiendo | Comprueba si quedan más estanterías que reponer o si se va a otra tarea siguiendo la fórmula | PULL |
Hay alguien cobrando | Consulta si no hay nadie cobrando para ir él | PUSH |
Tabla de percepciones Trabajador:
Nombre | Implementación | Efecto |
---|---|---|
Andar | El navmesh se encarga de mover al agente a la posición que se le mande | El personaje se mueve hasta el destino |
Reponer estantería | Va al almacén, coge la cantidad de producto que necesite rellenar la estantería y lo rellena. | El stock de la estantería aumenta y disminuye el del almacén |
Cobrar | Realiza una animación | Avanza la cola de los clientes |
Limpiar | Anda hacia la posición de la mancha y salta la animación | Disminuye el % de suciedad de la tienda |
Escuchar cliente | Espera quieto al lado del cliente a que acabe la interacción |
2