Tetris lười biếng
(lazytetris.com)- Lazy Tetris là một trò chơi tự động diễn ra khác với Tetris truyền thống, nơi người dùng không cần tự mình di chuyển các khối
- Người dùng có thể bắt đầu trò chơi chỉ với một cú nhấp chuột
- Thuật toán tìm vị trí tối ưu và tự động đặt các khối
- Giảm thiểu sự can thiệp của người dùng và mang lại trải nghiệm thiên về quan sát
- Khác với Tetris truyền thống, điểm đặc trưng là lối chơi thụ động
Giới thiệu về Lazy Tetris
Lazy Tetris là một trò chơi Tetris tự động mà người dùng không cần trực tiếp thao tác trong từng lượt.
Đặc điểm
- Giảm thiểu thao tác của người dùng
- Sau khi trò chơi bắt đầu, người dùng không cần tự điều khiển bằng các phím mũi tên mà game sẽ tự động diễn ra
- Sử dụng thuật toán tự động
- Thuật toán bên trong sẽ xác định vị trí tối ưu cho từng khối Tetris và đặt chúng
- Giao diện trực quan
- Có thể bắt đầu trò chơi chỉ với một lần nhấp vào nút "Start"
- Tập trung vào trải nghiệm quan sát
- Người dùng có được trải nghiệm theo dõi quá trình trò chơi tự vận hành
Điểm khác biệt so với Tetris truyền thống
- Khác với các trò chơi Tetris thông thường, không cần nhập lệnh để di chuyển hoặc xoay khối trực tiếp
- Toàn bộ quá trình chơi được tự động hóa, giúp dễ dàng hiểu được quá trình ra quyết định của thuật toán
Góc nhìn ứng dụng
- Đây là một nền tảng cho phép trải nghiệm khái niệm tối ưu hóa thuật toán và tự động hóa thông qua một trò chơi đơn giản
- Phù hợp để người mới học lập trình và thiết kế game sử dụng trong việc học các khái niệm tự động hóa
2 bình luận
Là nói hay là đánh rắm
Ý kiến trên Hacker News
Cảm ơn mọi người đã chơi và để lại những đề xuất, bình luận hay. Cuối tuần này rất có thể tôi sẽ thêm một số đề xuất: multi-bag thay vì hoàn toàn ngẫu nhiên, bỏ tự động xóa khi kết thúc game, làm trống hold khi reset game, đổi tên thành LAZY PUBLIC DOMAIN BLOCK GAME, v.v.
UX có lẽ cũng cần tốt hơn. Có những đề xuất đã được triển khai rồi, nhưng có vẻ chưa trực quan hoặc khó tìm
Nhấp vào ghost sẽ bật mảnh ghost. Cá nhân tôi không thích mảnh ghost nên luôn tắt, và vì đây là game của tôi nên mặc định cũng tắt
Chạm trái/phải để xoay trái/phải; phím mũi tên lên và Shift trên bàn phím cũng xoay trái/phải; Delete là UNDO, Enter là HOLD
Có thể kéo bằng cảm ứng hoặc kéo bằng chuột để di chuyển mảnh, cũng có thể kéo lên. Không cần nhấp trực tiếp vào mảnh, có thể kéo từ bất cứ đâu
Chạm hai ngón là DROP, tôi tự chơi như vậy và thấy rất đã. Chạm ba ngón là HOLD
Trên iOS, nếu lưu vào màn hình chính thì sẽ chơi như một app toàn màn hình
Khi làm “Tetris” (xóa bốn hàng cùng lúc), một nút quà bí mật sẽ xuất hiện, nhưng đó chỉ là liên kết tới sách của tôi. Vì mọi thứ tôi làm đều là trò moi tiền vô hồn mà
Vì khá lười nên tôi ngồi trên sofa, dùng điện thoại kết hợp rosebud.ai và ChatGPT để làm. Tối ưu hiệu năng thì phải mở laptop và tự làm, phần đó đúng là giống công việc thật nên tôi không thích lắm. Dù vậy vibe coding vẫn vui
Game này tôi làm cho chính mình để chơi theo cách tôi thích, và tôi rất vui khi người khác cũng thích
Tôi nhớ thường n là 4, m là 6. Dễ triển khai, hoạt động tốt và cũng không tạo cảm giác quá dễ đoán như single bag
Nếu nạp sẵn hai mảnh S và hai mảnh Z vào cửa sổ lúc đầu, có thể giảm xác suất chúng xuất hiện ở giai đoạn mở đầu, đỡ khó chịu hơn
Khi tới lần hold đầu tiên, tôi quên mất phím nên phải quay về màn hình chính để kiểm tra, và nhấp chuột vào “hold” thì không có gì xảy ra. Nếu có danh sách phím ở bên cạnh hoặc bên dưới “hold” thì tốt
Xem thử mẫu sách thấy có vẻ thú vị, có khi tôi sẽ mua thật. Trông cũng có thể làm thành game bài
Cũng tốt cho người có con. Có thể dừng ngang bất cứ lúc nào, rất tuyệt
Những thứ bạn làm thật sự rất vui. Xem cả thứ nhỏ kỳ quặc này do cùng một người làm nữa: https://passwordbasket.com :)
Nhân tiện, kết quả tốt nhất với thiết lập mặc định là Pa.s, sau đó tôi nổi cáu với một chuỗi không thể nhận ra và chơi lại
Và cũng làm tôi nhớ tới The Password Game:
https://news.ycombinator.com/item?id=36493715
Tôi chơi thử một lúc mà không thấy mảnh L nào xuất hiện. Có vẻ các mảnh được chọn ngẫu nhiên
Nếu muốn giảm stress hơn nữa, có thể dùng hệ thống single bag. Nó nằm ở cuối trang trong liên kết dưới đây
[1] https://strategywiki.org/wiki/Tetris/Pieces#L_piece
Nhân chuyện các bản triển khai Tetris khác thường, tôi đã làm một bản clone Tetris dựa trên cosmopolitan libc dành cho người dùng màn hình chữ nổi
Tức là các mảnh “rơi” theo chiều ngang, và các khối được render bằng chữ nổi Unicode
https://github.com/mlang/betris
Xin gửi lời cảm ơn lớn tới @jart. cosmo thật sự giúp ích rất nhiều cho công việc TUI đa nền tảng
Cuối cùng, khi đi đủ xa, tốc độ nhấn ‘lên’ không thắng nổi trọng lực, và trọng lực chiến thắng
Khi chơi, tôi có một suy nghĩ thú vị về việc thứ này liên hệ thế nào với công việc startup
Ngay cả khi đã loại bỏ ràng buộc thời gian và trọng lực, lại còn có undo, vẫn rất dễ đưa ra những lựa chọn duy trì cấu trúc nhưng để lại các khoảng trống khó lấp. Cuối cùng chúng dẫn tới đống lộn xộn khó dọn
Dù có thể nhìn trước phần nào, vẫn khó thoát khỏi tâm lý con người muốn sắp cấu trúc để chờ một mảnh cụ thể có thể đến hoặc không đến trong tương lai gần. Nó phần nào giống việc xây cho những khách hàng không tồn tại hoặc có thể sẽ chẳng bao giờ tới
Dù có mọi lợi thế, bạn vẫn có thể tự đẩy mình vào ngõ cụt và thất bại
Nếu dành thời gian quan sát, có rất nhiều điều học được từ game này
Dù vậy, khi cố chơi Tetris “toàn màn hình”, tôi đã tự giết mình. Không hiểu sao tôi luôn tìm được cách đưa stress trở lại
Tuy nhiên, để chơi kiểu đó thì tôi muốn có vài cải tiến
Đừng kết thúc game ngay khi một mảnh chạm hàng trên cùng; hãy cho tiếp tục miễn là vẫn còn chỗ để đặt. Vừa xem lại thì có vẻ không phải lúc nào cũng vậy, mà chỉ khi vị trí đặt mảnh tiếp theo không vừa
Ngay cả khi không còn chỗ, nếu vẫn còn hàng có thể xóa thì đừng kết thúc game. Game chỉ nên kết thúc khi hoàn toàn không còn hành động nào khả thi. Lý tưởng nhất là khi kết thúc game đừng tự động xóa sân chơi, hãy để người chơi ngắm kết quả, và thêm nút reset để xóa thủ công
Khi bắt đầu lại, có vẻ hold nên được làm trống. Hold lớn hơn cũng hay. Điểm số thì sao? Thư giãn không có nghĩa là không thể cạnh tranh
Áp lực thời gian tạo cảm giác stress với tôi, nhưng nếu có thời gian giải và sai cũng không mất tiến trình thì câu đố khó vẫn ổn
Trước khi game kết thúc, tôi đã lấp được 17 hàng mà không xóa một hàng nào. Có ai thắng được không? Chắc cần khá may mắn với các mảnh xuất hiện ở cuối :-)
Yêu cầu tính năng: để lười hơn nữa, sẽ tốt nếu cho xem trước vị trí mảnh sẽ hạ xuống như hình ghost
Tôi thích cách kéo mảnh xuống để đặt vào vị trí hơn. Việc mảnh đã xuống tận dưới và thả tay rồi mà vẫn phải bấm ‘drop’ riêng thì hơi khó chịu và không trực quan
Sẽ tốt nếu khi thả kéo lúc mảnh đang chạm đáy thì tự động drop
Dù vậy vẫn vui và thư giãn
Rất thích. Nó khiến tôi xem xét vai trò của áp lực thời gian trong game và vì sao việc tinh chỉnh nó lại là cốt lõi
Khi có quá nhiều thời gian, game dễ hơn rất nhiều, tới mức với tôi nó mất vui. Chính điểm đó lại rất hay
Wow, ý tưởng thật sự tuyệt vời. Điều khiển trên di động cũng có độ hoàn thiện rất cao
Không có các vấn đề như zoom ngẫu nhiên, chọn văn bản, cuộn kỳ lạ, và cảm giác như một app đã tải về