{"id":19655148,"url":"https://github.com/manzdev/gallinerica","last_synced_at":"2025-04-28T18:30:48.230Z","repository":{"id":187446680,"uuid":"676626742","full_name":"ManzDev/gallinerica","owner":"ManzDev","description":"Gallinérica: ¡Gallinifica tus pollos!","archived":false,"fork":false,"pushed_at":"2023-10-23T23:27:02.000Z","size":4495,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-10-24T00:28:56.799Z","etag":null,"topics":["css","html","jam","javascript","numerica"],"latest_commit_sha":null,"homepage":"https://manzdev.github.io/gallinerica/","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/ManzDev.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}},"created_at":"2023-08-09T16:22:04.000Z","updated_at":"2023-10-24T00:28:57.542Z","dependencies_parsed_at":null,"dependency_job_id":"88a784ec-ae27-4103-ab8c-74ff8821c07e","html_url":"https://github.com/ManzDev/gallinerica","commit_stats":null,"previous_names":["manzdev/gallinerica"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManzDev%2Fgallinerica","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManzDev%2Fgallinerica/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManzDev%2Fgallinerica/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManzDev%2Fgallinerica/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ManzDev","download_url":"https://codeload.github.com/ManzDev/gallinerica/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224125342,"owners_count":17259862,"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":["css","html","jam","javascript","numerica"],"created_at":"2024-11-11T15:19:43.551Z","updated_at":"2024-11-11T15:19:44.426Z","avatar_url":"https://github.com/ManzDev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Gallinérica](sources/logo-gallinerica-x2.png)\n\n## ¿Qué es Gallinérica?\n\nGallinérica es un juego para Twitch, donde los streamers podrán colocar su canal y permitir que los espectadores jueguen. En este documento se habla más de la parte técnica, orientada para desarrolladores.\n\n\u003e Si quieres saber más sobre el juego (como jugador), visita la página de [Gallinérica en Itch.io](https://manzdev.itch.io/gallinerica).\n\n## ¿Con qué está desarrollado Gallinérica?\n\nGallinérica no está desarrollado con ningún motor de videojuegos ni framework. Si te interesa alguno te recomendaría [Phaser](https://phaser.io/) o [Godot](https://godotengine.org/). Se realizó como reto en Javascript vanilla, utilizando exclusivamente HTML, CSS y Javascript. Para aislar las funcionalidades, utilizamos WebComponents, que es una tecnología Javascript nativa.\n\nEsta desarrollado por [Manz](https://links.manz.dev/), gráficos diseñados por [BlurSoul_](https://twitter.com/blursoul_) y ayuda de maxi83c en diseño y código.\n\nTienes más información aquí:\n\n- HTML: https://lenguajehtml.com/html/\n- CSS: https://lenguajecss.com/css/\n- Javascript: https://lenguajejs.com/javascript/\n- WebComponents: https://lenguajejs.com/webcomponents/\n\n\n## ¿Dónde fue desarrollado Gallinérica?\n\nGallinérica es un juego que participa en la [JAM de Numérica](https://itch.io/jam/numerica-twitch-jam) de @RothioTome, donde hay que realizar un juego para Twitch similar a [Numérica](https://rothiotome.itch.io/numerica).\n\nEl juego se desarrolló durante 4 streams de Twitch, que de momento, puedes ver en mi canal de Youtube:\n\n### Día 1: Base del juego\n\n- Layout principal del juego (CSS)\n- Mecanismo de cintas transportadoras (Javascript)\n- Pollos moviendose en las cintas (Javascript/CSS)\n- Mecanismo de comunicación con Twitch (Javascript)\n\n![Gallinérica: Día 1 de Desarrollo](sources/screenshot-day-1.png)\n\n- Youtube: https://youtu.be/B7NIXdiA35g\n\n### Día 2: Mecánica principal\n\n- Implementación de tipos de pollos (CSS)\n- Mecanismo de comunicación con Twitch (Javascript)\n- Tabla de líderes del juego (Javascript)\n\n![Gallinérica: Día 2 de Desarrollo](sources/screenshot-day-2.png)\n\n- Youtube: https://youtu.be/CabQJ3sYkMQ\n\n### Día 3: Perfeccionamiento del juego\n\n- Niveles de dificultad (Javascript)\n- Rachas de pollos seguidos (Javascript/CSS)\n\n![Gallinérica: Día 3 de Desarrollo](sources/screenshot-day-3.png)\n\n- Youtube: https://youtu.be/k6i65SCt838\n\n### Día 4: Corrección de problemas y últimos detalles\n\n- Atardecer y amanecer: fondos mejorados (CSS/Javascript)\n- Estadísticas de pollos gallinificados/condenados\n- Añadido \"altar\" central de pollos\n- Niveles de dificultad perfeccionados (puedes puntuar negativo)\n- Modificación aleatoria de números en niveles altos\n\n![Gallinérica: Día 4 de Desarrollo](sources/screenshot-day-4.png)\n\n- Youtube: https://youtu.be/zWS61oeBVBM\n\n## Estructura del juego\n\nEl juego es open source, con licencia GPL y puedes modificarlo, ampliarlo o utilizarlo para aprender, sólo te pido que cites y menciones el original en el juego.\n\nSi quieres modificar el código, aquí va una ayudita de lo que utilizamos:\n\n- [Vite](https://lenguajejs.com/automatizadores/vite/guia-tutorial-inicial-de-vite/), como automatizador para gestionar el desarrollo, concretamente usamos [mkweb](https://manz.dev/software/mkweb/).\n- [gh-pages](https://www.npmjs.com/package/gh-pages) para el despliegue en GitHub Pages.\n- [ESLint](https://www.npmjs.com/package/eslint-config-manzdev) y [StyleLint](https://www.npmjs.com/package/stylelint-config-manzdev) para indicar errores de código.\n- [Aseprite](https://www.aseprite.org/) para el diseño del pixel art.\n\nLa estructura del juego es la siguiente:\n\n```\nEn src/components/:\n\n- BeltMachine.js        # Cintas transportadoras\n- ChickenBackground.js  # Fondo de transcurso del día\n- ChickenBoard.js       # Tabla de récords\n- ChickenCounter.js     # Estadísticas de pollos\n- ChickenNPC.js         # Pollos NPC de la cinta\n- ChickenPodium.js      # Pollos NPC de rachas\n- ChickenPool.js        # Contenido de la cinta transportadora\n- FlagSystem.js         # Sistema de rachas de pollos\n- GameScreen.js         # Pantalla principal del juego\n- HomeCabin.js          # Cabinas laterales del juego\n- NumberList.js         # Panel inferior de números\n- StopPlatform.js       # Altar central de pollo\n\nEn src/modules/:\n\n- difficulty.js         # Módulo que gestiona la dificultad del juego\n- icons.js              # Módulo que gestiona el panel de números\n- shuffle.js            # Módulo con el algoritmo Fisher-Yates\n\nEn src/sources/:\n\nAquí tienes todos los gráficos (originales incluidos) por cortesía de [BlurSoul_](https://twitter.com/blursoul_)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanzdev%2Fgallinerica","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanzdev%2Fgallinerica","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanzdev%2Fgallinerica/lists"}