{"id":14990901,"url":"https://github.com/jorger/space4","last_synced_at":"2025-04-12T03:24:49.972Z","repository":{"id":150520496,"uuid":"397408341","full_name":"Jorger/Space4","owner":"Jorger","description":"🚀 Space4 game developed for the JS13K","archived":false,"fork":false,"pushed_at":"2022-09-07T16:46:50.000Z","size":566,"stargazers_count":5,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T23:01:47.030Z","etag":null,"topics":["game","html5","javascript","js13games2021","js13kgames"],"latest_commit_sha":null,"homepage":"https://space-four.herokuapp.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jorger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-17T22:40:54.000Z","updated_at":"2023-03-08T04:17:29.000Z","dependencies_parsed_at":"2023-06-10T11:45:31.142Z","dependency_job_id":null,"html_url":"https://github.com/Jorger/Space4","commit_stats":{"total_commits":35,"total_committers":1,"mean_commits":35.0,"dds":0.0,"last_synced_commit":"4dc61d112bc891d3829b0fec6012f0e7d2f12fc6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jorger%2FSpace4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jorger%2FSpace4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jorger%2FSpace4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jorger%2FSpace4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jorger","download_url":"https://codeload.github.com/Jorger/Space4/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248511094,"owners_count":21116353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game","html5","javascript","js13games2021","js13kgames"],"created_at":"2024-09-24T14:21:03.430Z","updated_at":"2025-04-12T03:24:49.947Z","avatar_url":"https://github.com/Jorger.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Space4\n\nSpace4 es un juego realizado para la edición 2021 de la [JS13k](https://js13kgames.com/), cuyo tema es [SPACE](https://medium.com/js13kgames/js13kgames-2021-has-started-aa9345fd9fdf).\n\nEn está competencia existe la categoría de [server](https://github.com/js13kGames/js13kserver), 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](https://socket.io/), \nla 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](https://github.com/Jorger/Space4/blob/main/dist.zip), los archivos comprimidos está ubicados en la carpeta [public](https://github.com/Jorger/Space4/tree/main/public), \nde la misma forma los archivos no comprimidos del juego se encuetran en la carpeta [public_uncompressed](https://github.com/Jorger/Space4/tree/main/public_uncompressed)\n\n## 📖 Reglas.\n\n![rules](https://user-images.githubusercontent.com/30050/132253862-68a2c735-48ca-4069-89b4-c993cfc0c512.png)\n\n* En un turno, un jugador toca una columna para dejar caer un \"meteoro\".\n* Los jugadores se turnan para colocar meteoros hasta que cada jugador obtenga cuatro de sus meteoros en una fila, columna o diagonal.\n* Cuando hay cuatro meteoros del mismo color seguidas, ese jugador gana!\n\n## 🎮 Modalidades de Juego.\n\nhttps://user-images.githubusercontent.com/30050/132251551-adf63d32-32f9-4c0c-84ae-928308ea36b9.mov\n\nEl juego cuenta con dos tipos de modalidades como son:\n\n* **1️⃣ Offline:** Que a la vez se componente de:\n\n  * 👽 Two Players\n  * 🤖 vs Bot\n  \n* **2️⃣ Online:** De la misma forma se compone de:\n\n  * 🌎 Play Online\n  * 🤝 Play with friends\n  \n\n## 1️⃣ Offline.\n\nEn está modalidad toda la actividad del juego se lleva a cabo en el mismo dispotivo, gracias al uso de [service workers](https://developers.google.com/web/fundamentals/primers/service-workers), el juego puede funcionar offline, además de ser un [PWA](https://web.dev/progressive-web-apps/)\n\n### 👽 Two Players\n\nEn esta modalidad la partida se llevará a cabo en el mismo dispositivo.\n\n### 🤖 vs Bot\n\nhttps://user-images.githubusercontent.com/30050/132251813-7c1fe309-de4a-44fb-887f-cae6e4baf36b.mov\n\nEn esta modalidad se competirá vs un bot, es una modalidad que también sirve como práctica, a la vez se cuenta con tres modos de dificultad.\n\n## 2️⃣ Online.\n\nEstá modalidad requiere conexión a internet, ya que se hará uso de [websockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API), se tienen las siguientes opciones:\n\n### 🌎 Play Online\n\n\n![online](https://user-images.githubusercontent.com/30050/132252445-30e41cbc-3770-4700-bf27-b27b9de5e791.gif)\n\nEsta 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\", para así darle un toque social al juego, cada uno usuario tiene 15 segundos para realizar su movimiento, si no lo hace en este lapso de tiempo se hará un lanzamiento aleatorio.\n\n\n### 🤝 Play with friends\n\n![friends](https://user-images.githubusercontent.com/30050/132252679-054f326c-74b3-4abe-bb82-23d921fb9429.gif)\n\n\nEs 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, \nse aplican las mismas funcionalidades de la modalidad anterior, contando con el mismo tiempo de lanzamiento y la capacidad de interactuar por medio de emojis.\n\nEn dispositivos móviles (y en algunos browsers en desktop) el usuario podrá usar la opción de [share nativa](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share), para compartir la url de la sala.\n\n## 🏃‍♂️ Ejecución.\n\nEste proyecto es un fork del [proyecto original](https://github.com/js13kGames/js13kserver) creado para está categoría, en este caso se requiere de NodeJS.\n\n### Instalación de dependencias.\n\n```\nnpm i\n```\n\n### Ejecución del proyecto\n\n```\nnpm run start:dev\n```\n\nEn este caso se el proyecto correrá en http://localhost:3000/\n\n**Nota:**\n\nSe recomiendo renombrar la carpeta `public_uncompressed` a `public` y ésta última ponerle otro nombre, para así ver los archivos sin compresión.\n\n\n## 📦 Compresión de archivos.\n\nSe utilizarán los siguientes herramientas para comprimir los archivos:\n\n* https://xem.github.io/terser-online/\n* https://csscompressor.com/\n* https://tinypng.com/\n* https://javascript-minifier.com/\n\n## 🔈 Sonidos.\n\nPara los sonidos se uzó la librería [ZzFX](https://github.com/KilledByAPixel/ZzFX), la cual es una de las recomendadas entre los [recursos](https://js13kgames.github.io/resources/) de la competencia\n\n# 👨🏻‍💻 Autor\n\n* Jorge Rubiano \n[@ostjh](https://twitter.com/ostjh)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjorger%2Fspace4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjorger%2Fspace4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjorger%2Fspace4/lists"}