게으른 테트리스
(lazytetris.com)- Lazy Tetris는 기존 테트리스와 달리 사용자가 직접 조각을 굴릴 필요 없는 자동 진행 게임임
- 사용자는 한 번의 클릭만으로 게임을 시작할 수 있음
- 알고리듬이 최적의 위치를 찾아 자동으로 조각을 배치함
- 사용자 개입을 최소화하며 관찰 위주의 경험 제공임
- 기존 테트리스와는 다르게 수동적 플레이가 특징임
Lazy Tetris 소개
Lazy Tetris는 사용자가 매번 직접 조작하지 않아도 되는 자동 테트리스 게임임.
특징
- 사용자 조작 최소화
- 게임 시작 후 사용자가 직접 방향키를 조작할 필요 없이 자동으로 게임 진행됨
- 자동 알고리듬 활용
- 내부 알고리듬이 각 테트리스 블록의 최적 위치를 판단해 배치함
- 직관적 인터페이스
- "Start" 버튼 클릭 한 번으로 게임 시작 가능함
- 관찰 경험 중심
- 사용자는 게임이 스스로 진행되는 과정을 지켜보는 경험을 얻음
기존 테트리스와의 차이점
- 일반적인 테트리스 게임과 달리 직접적인 블록 이동이나 회전 입력이 불필요함
- 전체 플레이 과정이 자동화되어 알고리듬의 의사결정 과정을 쉽게 이해 가능함
활용 관점
- 알고리듬 최적화 및 자동화의 개념을 단순한 게임을 통해 체험할 수 있는 플랫폼임
- 프로그래밍 및 게임 디자인 초보자가 자동화 개념 학습에 활용하기에 적합함
댓글과 토론
Hacker News 의견들
-
플레이해 주고 좋은 제안과 코멘트를 남겨줘서 고마움. 주말에 여러 제안을 추가할 가능성이 큼: 완전 무작위 대신 멀티 백, 게임 종료 시 자동 지우기 제거, 게임 리셋 시 홀드 비우기, 이름을 LAZY PUBLIC DOMAIN BLOCK GAME으로 변경 등
UX도 더 좋아져야 할 듯함. 이미 구현된 제안도 있는데 직관적이지 않거나 찾기 어려운 것 같음
고스트를 클릭하면 고스트 조각이 켜짐. 개인적으로 고스트 조각을 싫어해서 항상 끄고, 내 게임이라 기본값도 꺼져 있음
왼쪽/오른쪽을 탭하면 좌우 회전, 키보드 위쪽 화살표와 Shift도 좌우 회전, Delete는 UNDO, Enter는 HOLD임
터치 드래그나 클릭 드래그로 조각을 움직일 수 있고, 위로 끌 수도 있음. 조각을 직접 클릭할 필요 없이 어디서든 드래그 가능함
두 손가락 탭은 DROP이고, 직접 그렇게 플레이하는데 만족감이 큼. 세 손가락 탭은 HOLD임
iOS에서는 홈 화면에 저장하면 전체 화면 앱처럼 플레이될 것임
“Tetris”(한 번에 네 줄 제거)를 하면 비밀 선물 버튼이 나타나지만, 그냥 내 책 링크임. 내가 하는 모든 일이 영혼 없는 현금 갈취라서 그럼
게으른 편이라 소파에 앉아 휴대폰으로 rosebud.ai와 ChatGPT를 섞어 만들었음. 성능 최적화는 노트북을 켜서 직접 해야 했고, 그 부분은 진짜 일 같아서 별로였음. 그래도 바이브 코딩은 재미있음
이 게임은 내가 좋아하는 방식으로 플레이하려고 나를 위해 만든 것이고, 다른 사람들도 즐겼다니 기쁨- 멀티 백은 좀 과하게 복잡할 수 있음. TGM처럼 최근 n개 조각의 슬라이딩 창을 유지하고, 그 창에 없는 조각이 나올 때까지 m번 다시 뽑는 방식이 좋음
보통 n은 4, m은 6으로 알고 있음. 구현이 쉽고 잘 동작하며, 단일 백처럼 너무 예측 가능하게 느껴지지도 않음
처음에 S 두 개와 Z 두 개를 창에 미리 넣어두면 초반에 그 조각들이 나올 확률을 낮출 수 있어서 짜증이 줄어듦 - 나를 위해 만든 게임이고 남들이 좋아하면 좋은 것이라는 태도가 마음에 듦
첫 홀드까지 갔을 때 키를 잊어버려서 홈 화면으로 돌아가 확인해야 했고, 마우스로 “hold”를 클릭해도 아무 일도 안 일어났음. 옆이나 “hold” 아래에 키 목록이 있으면 좋겠음
책 샘플을 보니 재미있어 보여서 실제로 살지도 모르겠음. 카드 게임으로도 가능해 보임
아이가 있는 사람에게도 좋음. 중간에 그냥 멈출 수 있어서 훌륭함 - 이러다 MS Excel을 발명하고 싶은 것처럼 들림
- 버그: 드래그하다 보면 자주 선택된 텍스트가 생김. 읽어주기나 링크 만들기 옵션이 뜨고, 그 뒤로 페이지에서 더 이상 물체를 드래그할 수 없게 됨
- 공식 tetris.com의 조작 방식과 맞추는 게 좋을 듯함
- 멀티 백은 좀 과하게 복잡할 수 있음. TGM처럼 최근 n개 조각의 슬라이딩 창을 유지하고, 그 창에 없는 조각이 나올 때까지 m번 다시 뽑는 방식이 좋음
-
당신이 만든 것들은 정말 재미있음. 같은 사람이 만든 이 이상한 작은 것도 보셈: https://passwordbasket.com :)
- 비밀번호 생성기가 재미있을 수 있다고는 전혀 생각해 본 적이 없었는데 생각이 바뀜. 이제 비밀번호 생성기도 재미있어야 한다고 믿게 됨
- 너무 크게 웃어서 이웃에게 방해됐을까 걱정될 정도였음. 정말 훌륭함
- 훌륭함. “passwordpassword”라는 비밀번호를 생성하려고 시도하는 게 즐거움
참고로 기본 설정에서 가장 잘 나온 건 Pa.s였고, 그 뒤에는 알아볼 수 없는 문자열에 분노하며 재시작했음 - 정말 고마움. 세상에서 듣고 싶은 말은 그게 전부임
- 멋지고, 생성된 비밀번호의 문자들이 바로 바구니로 들어가면 더 멋질 듯함. 그냥 개인적인 의견임
그리고 The Password Game도 떠오름:
https://news.ycombinator.com/item?id=36493715
-
잠깐 플레이했는데 L 조각이 하나도 안 나왔음. 조각을 무작위 선택하는 듯함
스트레스를 더 줄이고 싶다면 단일 백 시스템을 쓸 수 있음. 아래 링크의 페이지 하단에 있음
[1] https://strategywiki.org/wiki/Tetris/Pieces#L_piece- 훌륭한 아이디어임. 공유해줘서 고맙고 멀티 백을 추가하겠음
- 나도 I 조각에서 같은 일이 있었고, 고집스럽게 한 칸짜리 빈틈을 두고 줄을 계속 쌓았음. 결국 I 조각들이 나와서 마무리했을 때 정말 만족스러웠음
-
특이한 테트리스 구현 이야기가 나온 김에, 점자 디스플레이 사용자를 위한 cosmopolitan libc 기반 테트리스 클론을 만들었음
즉 조각이 가로로 “떨어지고”, 블록은 유니코드 점자로 렌더링됨
https://github.com/mlang/betris
@jart에게 큰 감사를 보냄. cosmo는 크로스플랫폼 TUI 작업에 정말 큰 도움이 됨- 예전에 일반 테트리스와 비슷하지만 중력에 맞서 조각을 위로 움직일 수 있는 걸 만든 적이 있음. 실제로 게임 방식은 크게 달라지지 않음
결국 충분히 진행하면 ‘위’를 누르는 속도가 중력을 이기지 못하고, 중력이 승리함 - cosmo를 정말 좋아함. 개발해 준 @jart에게 고마움
- 예전에 일반 테트리스와 비슷하지만 중력에 맞서 조각을 위로 움직일 수 있는 걸 만든 적이 있음. 실제로 게임 방식은 크게 달라지지 않음
-
플레이하면서 이것이 스타트업의 일과 어떻게 맞닿아 있는지 흥미로운 생각이 들었음
시간과 중력의 제약이 사라지고 되돌리기도 있어도, 구조를 유지하긴 하지만 채우기 어려운 빈틈을 남기는 선택을 하기는 여전히 쉬움. 결국 제거하기 어려운 잡동사니로 이어짐
어느 정도 앞을 내다볼 수 있어도, 가까운 미래에 올 수도 있고 안 올 수도 있는 특정 조각을 기대하며 구조를 맞추려는 인간 심리에서 벗어나기 어려움. 존재하지 않거나 절대 오지 않을 수도 있는 고객을 위해 만드는 것과 어느 정도 비슷함
모든 이점이 있어도 스스로를 막다른 곳으로 몰아 실패할 수 있음
시간을 들여 관찰하면 이 게임에서 배울 게 많음 -
그래도 “전체 화면” 테트리스를 하려다 스스로 죽어버렸음. 어쩐지 항상 스트레스를 다시 추가하는 방법을 찾아내게 됨
- 왜 그게 스트레스인지 모르겠음. 화면을 어떻게 채울지 푸는 퍼즐은 재미있고 편안하게 느껴짐
다만 그런 플레이를 위해 몇 가지 개선이 있으면 좋겠음
조각이 맨 윗줄에 닿았다고 바로 게임을 끝내지 말고, 더 놓을 공간이 있는 한 계속할 수 있게 해줬으면 함. 방금 보니 항상 그러는 건 아닌 듯하고, 다음 조각이 놓일 위치에 맞지 않을 때만 그런 것 같음
더 이상 공간이 없더라도 아직 지울 수 있는 줄이 있으면 게임을 끝내지 않았으면 함. 가능한 행동이 전혀 없을 때만 게임이 끝나야 함. 이상적으로는 게임 종료 시 필드를 자동으로 지우지 말고 결과를 감상하게 해주고, 수동으로 지우는 리셋 버튼을 추가하면 좋겠음
다시 시작할 때 홀드는 비워지는 편이 맞아 보임. 더 큰 홀드도 좋겠음. 점수는 어떨까? 편안하다고 경쟁적일 수 없는 건 아님
시간 압박은 스트레스로 느끼지만, 풀 시간이 있고 실수해도 진행을 잃지 않는다면 어려운 퍼즐은 괜찮음
게임이 끝나기 전에 한 줄도 지우지 않고 17줄을 채웠음. 이길 수 있는 사람 있음? 마지막에 나오는 조각 운이 꽤 좋아야 할 것임 :-) - 어쩐지 삶에 대한 적절한 은유 같음
- 왜 그게 스트레스인지 모르겠음. 화면을 어떻게 채울지 푸는 퍼즐은 재미있고 편안하게 느껴짐
-
기능 요청: 더 게으르게 만들려면 조각이 착지할 위치를 고스트 이미지처럼 미리 보여주면 좋겠음
- 오른쪽에 고스트 토글이 있음
-
조각을 아래로 내려서 제자리에 놓는 방식이 더 좋았음. 이미 아래까지 내려가 있고 손을 뗀 조각에 대해 따로 ‘drop’을 눌러야 하는 건 약간 거슬리고 직관적이지 않았음
바닥에 닿은 상태에서 드래그를 놓으면 자동 드롭되면 좋겠음
그래도 재미있고 편안함 -
정말 좋음. 게임에서 시간 압박의 역할과 그 조율이 왜 핵심인지 살펴보게 해줌
시간이 너무 많으면 훨씬 쉬워져서 나에게는 재미가 없어질 정도였음. 그 점이 오히려 훌륭함 -
와, 정말 훌륭한 아이디어임. 모바일 조작도 완성도가 매우 높았음
무작위 확대, 텍스트 선택, 이상한 스크롤 같은 문제가 없었고, 다운로드한 앱처럼 느껴졌음