Giter Club home page Giter Club logo

the-last-link's Introduction

🔗 The last link

Juego realizado para la #js13k2020, el tema para está edición fue 404, el juego está basado en el popular juego denominado damas o checkers en inglés.

En este juego se cuenta con dos jugadores, cada uno con 12 fichas, las fichas se moverán digonalmente hacia adelante, una vez se llegue al campo del contrario la ficha se convertirá en un rey, permitiendo que se mueve en todas direcciones, igualmente de forma diagonal, cuando la ficha de un adversario se encuentra en una posición diagonal se podrá eliminar, siempre y cuando la posición siguiente se encuentra libre.

image

En esta versión de ese juego cada ficha está representada por un link, cada vez que se elimina un link se realiza un 404, es decir se ha eliminado la página y por consiguiente ya no está disponible 🤷‍♂️ es donde el tema aplica al juego 😅.

En está competencia existe la categoría de server, en la cual se entrega un proyecto el cual ya tiene configurado lo necesario para establecer una conexión en tiempo real, en este caso haciedo uso de la popular librería conocida como socket.io, la idea es que el juego comprimido en un acrhivo .zip no supere los 13KB, para este juego el archivo que contiene todo el juego y que pesa 13 KB, es el denominado dist.zip, los archivos comprimidos está ubicados en la carpeta public, de la misma forma los archivos no comprimidos del juego se encuetran en la carpeta public_uncompressed

🎮 Modalidades de Juego.

El juego cuenta con dos tipos de modalidades como son:

  • Offline: Que a la vez se componente de:

    • 📴 Play offline
    • 🕹 Play vs Bot
    • 🤖 Bot vs Bot
  • Online: De la misma forma se compone de:

    • 🌎 Play Online
    • 🤝 Play with a friend
    • 🎉 Party Mode

1️⃣ Offline.

En está modalidad toda la actividad del juego se lleva a cabo en el mismo dispotivo, gracias al uso de service workers, el juego puede funcionar offline, además de ser un PWA

📴 Play offline

offline

En esta modalidad la partida se llevará a cabo en el mismo dispositivo.

🕹 Play vs Bot

bot

En esta modalides competiremos vs un bot, es una modalidad que también sirve como práctica.

🤖 Bot vs Bot

botvbot

Está es una modalidad "especial", ya que sólo actuaremos como expectadores, fue útil en el momento de desarrollo, pero también es útil a manera de práctica, ya que se pueden ver movimientos que tal vez no salgan en las otras modalidades, además me pareció divertido dejarlo 😬

2️⃣ Online.

Está modalidad requiere conexión a internet, ya que se hará uso de websockets, se tienen las siguientes opciones:

🌎 Play Online

online

Esta modalidad nos permitirá inciar una partida con cualquier jugador que este conectado, se podría intepretar como una partida aleatoria, ya que se creará una sala con aquella persona que este disponible en ese momento, en esta partida además se encuenta con la opción de tener un "chat" a través de emojis, para así darle un toque social al juego, cada uno usuario tiene 10 segundos para realizar su movimiento, si no lo hace en este lapso de tiempo se hará un lanzamiento aleatorio.

🤝 Play with a friend

friend

Es una extensión de la modalidad anterior, pero en este caso se creará una sala privada, es decir, sólo aquellos usuarios que tengan el código de la sala podrán jugar la partida, se aplican las mismas funcionalidades de la modalidad anterior, contando con el mismo tiempo de lanzamiento y la capacidad de interactuar por medio de emojis.

🎉 Party Mode

party

Es una modalidad especial en la cual se busca que los dispositivos móviles se conviertan en controles remotos, en este caso sólo existirá un sólo tablero, el cual recibirá los movimientos dados por los jugadores a través de los "controles".

En está modalidad no existe el tiempo, ni interacción a través de emojis, ya que es una mezcla entre el funcionamiento offline en el cual se tiene un sólo tablero y el funcionamiento online, ya que se reuqiere conexión de internet, se busca que los jugadores se encuentre en el mismo sitio físicamente, a diferencia de las dos modalidades anteriores.

🏃‍♂️ Ejecución.

Este proyecto es un fork del proyecto original creado para está categoría, en este caso se requiere de NodeJS.

Instalación de dependencias.

npm i

Ejecución del proyecto

npm run start:dev

En este caso se el proyecto correrá en http://localhost:3000/

Nota:

Se recomiendo renombrar la carpeta public_uncompressed a public y ésta última ponerle otro nombre, para así ver los archivos sin compresión.

📦 Compresión de archivos.

Se utilizarán los siguientes herramientas para comprimir los archivos:

🔈 Sonidos.

Para los sonidos se uzó la librería ZzFX, la cual es una de las recomendadas entre los recursos de la competencia

📖 TO-DO

  • Escribir artículo postmortem
  • Compartir link de la entrada en la JS13k

👨🏻‍💻 Autor

the-last-link's People

Contributors

jorger avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.