Tetris perezoso
(lazytetris.com)- Lazy Tetris es un juego de avance automático que, a diferencia del Tetris tradicional, no requiere que el usuario mueva las piezas manualmente
- El usuario puede iniciar la partida con un solo clic
- El algoritmo encuentra la posición óptima y coloca las piezas automáticamente
- Minimiza la intervención del usuario y ofrece una experiencia centrada en la observación
- A diferencia del Tetris tradicional, se caracteriza por un juego pasivo
Introducción a Lazy Tetris
Lazy Tetris es un juego de Tetris automático en el que el usuario no necesita controlar cada movimiento por sí mismo.
Características
- Interacción mínima del usuario
- Una vez que empieza la partida, el juego avanza automáticamente sin que el usuario tenga que usar las teclas de dirección
- Uso de un algoritmo automático
- Un algoritmo interno determina la posición óptima para cada bloque de Tetris y lo coloca
- Interfaz intuitiva
- Es posible iniciar el juego con un solo clic en el botón "Start"
- Experiencia centrada en la observación
- El usuario obtiene la experiencia de observar cómo el juego avanza por sí solo
Diferencias con el Tetris tradicional
- A diferencia de un juego de Tetris común, no hace falta introducir comandos directos para mover o rotar los bloques
- Todo el proceso de juego está automatizado, lo que permite entender con facilidad cómo toma decisiones el algoritmo
Perspectiva de uso
- Es una plataforma donde se puede experimentar el concepto de optimización de algoritmos y automatización a través de un juego simple
- Es adecuada para que principiantes en programación y diseño de juegos la utilicen para aprender conceptos de automatización
2 comentarios
¿Qué demonios es esto?
Comentarios en Hacker News
Gracias a ustedes me divertí mucho jugando y me da gusto recibir buenas sugerencias y comentarios. Planeo agregar muchas de las sugerencias este fin de semana. Estoy pensando en cosas como varios sistemas de bag, desactivar el autolimpado al terminar la partida, limpiar el hold al reiniciar el juego, y cambiar el nombre del juego a LAZY PUBLIC DOMAIN BLOCK GAME. Siento que todavía tengo que mejorar más la UX. Ya hay muchas funciones implementadas, pero no se notan. Por ejemplo: al hacer clic en el ghost se activa o desactiva la ghost piece (a mí no me gusta, así que por defecto está apagada), al presionar izquierda y derecha se rota hacia esos lados, también se puede rotar con ↑ y Shift en el teclado, con Delete se hace UNDO, con Enter se hace HOLD, puedes mover bloques con toque o arrastre, se puede arrastrar desde cualquier parte, con doble toque con dos dedos haces DROP (eso se siente especialmente bien), con toque de tres dedos haces HOLD, y si lo guardas en la pantalla de inicio de iOS entra en modo app de pantalla completa. Si haces un Tetris (4 líneas de una vez), aparece un botón de regalo secreto, que en realidad es un enlace a mi libro (una monetización sin alma, jaja). Lo desarrollé en el sofá usando rosebud.ai y ChatGPT, y solo tuve que usar la laptop para optimizar el rendimiento, así que esa parte fue un poco pesada. Hice este juego a mi gusto, así que si a otras personas también les gusta, eso es lo mejor
multi bag se siente demasiado complejo. Podrías tomar ideas de TGM. Mantienes una ventana con los últimos n bloques que salieron (normalmente 4), eliges al azar hasta m veces (normalmente 6), y si sale uno que no está ya en la ventana, usas ese. Este método también es fácil de implementar y no es tan predecible como single bag. Además, si al principio metes por adelantado 2 S y 2 Z, también reduces la probabilidad de que ambos salgan seguidos al inicio
Me gusta que la ghost piece esté apagada por defecto. Se siente bien que hayas hecho tu propio juego. La función HOLD (tecla Enter) la descubrí hasta que fui a la pantalla principal. La parte donde haces clic con el mouse en HOLD y no responde fue un poco confusa. Estaría bien mostrar en distintos puntos de la pantalla una lista de teclas. También me dio risa que el regalo secreto por lograr un Tetris sea un enlace a tu libro. Viendo la muestra, parece que también podría funcionar como juego de cartas. Yo también creo que es un buen juego para jugar con niños. Es cómodo porque puedes detenerte en cualquier momento
Da una sensación divertida, como si fuera ese impulso de querer reinventar MS Excel
Lo que hiciste está realmente divertido. También hay otra cosa parecida a esto: https://passwordbasket.com
Nunca se me había ocurrido que un generador de contraseñas pudiera ser divertido. Ahora hasta esa experiencia me parece disfrutable
Creo que sería aún más divertido si la contraseña generada entrara de inmediato a la canasta. Y este sitio me recordó a The Password Game: https://news.ycombinator.com/item?id=36493715
Está buenísimo. Yo me estoy divirtiendo intentando generar literalmente "passwordpassword". En la configuración básica logré sacar hasta Pa.s, y después de eso solo fue una experiencia de todo tipo de cifrados, frustración y reinicios una y otra vez
Cuando “generé” la contraseña, me solté riendo sin darme cuenta. Es un trabajo muy bueno
Este tipo de feedback de verdad me da muchísima fuerza
Jugué un rato y no me salió ni una sola pieza L. Parece que usa un método de selección completamente aleatorio. Si quieres reducir aún más el estrés, también podrías usar un sistema single bag donde cada pieza sale una vez por ronda. Referencia: explicación de la pieza L de Tetris
Me parece una gran idea. Gracias por comentarlo. Planeo agregar la función multi bag
A mí tampoco me salió la pieza I, así que dejé un hueco de una casilla y seguí apilando líneas mientras esperaba. Al final, cuando por fin salió la I, se sintió increíblemente satisfactorio
Mientras jugaba, vi un parecido con trabajar en una startup. Incluso con límites de tiempo, gravedad y una función de UNDO, uno termina tomando decisiones que dejan huecos en la estructura que no son fáciles de rellenar. Esos huecos se quedan como residuos y luego se vuelven partes difíciles de resolver. Aunque uno intenta anticipar la siguiente pieza, por la psicología humana terminas construyendo la estructura con esperanza, aunque no tengas certeza de cuándo saldrá esa pieza. Se parece a una startup que va construyendo un producto para una audiencia arbitraria. Incluso con condiciones favorables, es fácil perderse o fracasar. Si lo observas con tiempo, hay mucho que aprender de este juego
Hay muchas implementaciones distintas de Tetris, pero yo tengo un clon de Tetris hecho para usuarios de Braille display, basado en cosmopolitan libc. Aquí los bloques “caen” horizontalmente, y para los bloques uso caracteres braille Unicode. https://github.com/mlang/betris La ventaja de la biblioteca cosmo ayuda mucho al construir una TUI multiplataforma
Sugerencia de función: para que se sienta aún más <i>flojo</i>, estaría bien tener una imagen ghost que muestre de antemano dónde va a tocar el bloque al bajar
Intenté hacer una implementación de Tetris en “pantalla completa” y otra vez terminé muriendo. Siempre encuentro la forma de volver a toparme con el estrés de alguna manera
Me da curiosidad por qué eso te estresa. Para mí, ir resolviendo el rompecabezas de llenar la pantalla es más bien divertido y relajante. Aunque sí hay algunas cosas que podría mejorar: en lugar de game over inmediato solo porque un bloque toque la fila superior, estaría bien poder seguir jugando mientras todavía haya algún lugar donde ponerlo (a veces sí deja seguir, así que supongo que solo termina cuando ya no hay espacio para colocar la siguiente pieza). Da un poco de pena que se acabe antes de vaciar las líneas restantes aunque todavía quede espacio. Me gustaría que el juego terminara solo cuando de verdad ya no se pueda hacer nada, y que en vez de autolimpieza hubiera también un botón de reinicio manual para poder contemplar un rato el resultado. También estaría bien que al hacer reset se inicializara el hold, y que el espacio de hold fuera más grande. También estaría bien tener puntuación. El descanso y la competencia pueden coexistir. A mí lo que me estresa es la presión del límite de tiempo, pero incluso si la dificultad del rompecabezas es alta, me resulta más cómodo poder pensar con calma y seguir avanzando aunque me equivoque. Como referencia, llegué a apilar hasta 17 líneas sin limpiar ninguna. Si la suerte siguiera acompañando hasta el final, quizá hasta se podría batir ese récord
Se siente como una metáfora bastante apropiada de la vida
También existe una versión de Tetris de juego de mesa. Yo también la juego con mi hijo de una manera parecida, de bajo estrés. Es multijugador, y las piezas que salen después se deciden sacando cartas. Lo único que echo de menos es que no se puede hacer la técnica de deslizar una pieza hacia un lado justo antes de tocar el suelo para encajarla. Aun así, es un juego que me gustaría recomendar
Yo prefiero arrastrar directamente los bloques hasta la posición que quiero, y eso de tener que volver a presionar el botón de 'drop' cuando ya está hasta abajo no me pareció intuitivo y fue un poco incómodo. Sería más cómodo si, cuando el bloque llegue abajo y sueltes el arrastre, se soltara automáticamente. Aun así, en general se siente divertido y relajante
El nombre "lazy" no le queda muy bien. Más bien low stress sería un nombre más apropiado. Lo disfruté mucho