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
Nhờ mọi người mà tôi đã chơi rất vui, đồng thời rất mừng khi nhận được nhiều đề xuất và bình luận hay. Cuối tuần này tôi dự định sẽ bổ sung nhiều gợi ý. Tôi đang nghĩ tới những thứ như hệ thống nhiều bag, tắt tự động clear khi game over, xóa hold khi reset game, đổi tên game thành LAZY PUBLIC DOMAIN BLOCK GAME. Có lẽ tôi vẫn cần cải thiện UX thêm nữa. Nhiều tính năng thực ra đã có sẵn nhưng khó nhận ra. Ví dụ: bấm vào ghost để bật/tắt ghost piece (tôi ghét ghost piece nên mặc định là off), nhấn trái/phải để xoay trái/phải, phím ↑ và Shift trên bàn phím cũng dùng để xoay trái/phải, phím Delete để UNDO, Enter để HOLD, chạm hoặc kéo để di chuyển khối, có thể kéo từ bất kỳ đâu, chạm hai ngón để DROP (cái này sướng nhất), chạm ba ngón để HOLD, và nếu lưu vào màn hình chính trên iOS thì sẽ chạy ở chế độ ứng dụng toàn màn hình. Nếu tạo được Tetris (xóa 4 hàng cùng lúc) thì sẽ hiện nút quà bí mật, thực ra là link sách của tôi (một màn kiếm tiền vô hồn). Tôi đã làm game này khi ngồi trên sofa bằng rosebud.ai và ChatGPT, chỉ có tối ưu hiệu năng là phải dùng laptop nên hơi mệt. Đây là game tôi làm theo đúng gu của mình, nên nếu người khác cũng thích thì đó là điều tuyệt nhất
multi bag có cảm giác hơi phức tạp. Có thể tham khảo ý tưởng từ TGM. Giữ một cửa sổ gồm n khối gần nhất đã ra (thường là 4), rồi thử chọn ngẫu nhiên tối đa m lần (thường là 6), nếu ra khối chưa có trong cửa sổ thì dùng khối đó. Cách này cũng dễ triển khai và không dễ đoán như single bag. Ngoài ra, nếu lúc đầu cho sẵn 2 khối S và 2 khối Z vào hàng chờ thì cũng giảm được khả năng hai khối đó xuất hiện liên tiếp ở đầu game
Tôi thích việc ghost piece mặc định bị tắt. Trông đúng là một trò chơi mang đậm cá tính của riêng bạn. Tôi cũng chỉ biết có chức năng HOLD (phím Enter) sau khi vào màn hình Home. Việc bấm HOLD bằng chuột mà không có phản hồi gì hơi gây bối rối. Có lẽ nên hiển thị danh sách phím điều khiển ở vài chỗ trên màn hình. Chi tiết quà bí mật sau khi đạt Tetris hóa ra là link sách cũng rất buồn cười. Xem bản mẫu thì tôi nghĩ nó cũng có thể dùng như một game đánh bài. Tôi cũng thấy đây là kiểu game phù hợp để chơi cùng con nhỏ. Có thể dừng bất cứ lúc nào nên rất tiện
Nó truyền tới tôi một cảm giác vui nhộn như thể đang muốn làm lại MS Excel từ đầu
Thứ bạn làm thực sự rất vui. Còn có một cái khác khá giống thế này: https://passwordbasket.com
Tôi chưa từng nghĩ một trình tạo mật khẩu lại có thể vui đến vậy. Giờ thì tôi thấy ngay cả kiểu trải nghiệm đó cũng có thể đem lại niềm vui
Sẽ còn vui hơn nếu mật khẩu được tạo ra rơi thẳng vào cái giỏ. Và trang này cũng làm tôi nhớ tới The Password Game: https://news.ycombinator.com/item?id=36493715
Thật sự rất tuyệt. Tôi đang vui vẻ cố tạo nguyên xi "passwordpassword". Với thiết lập mặc định, tôi chỉ đi được tới Pa.s, rồi từ đó trở đi là đủ loại mã hóa và bực bội nên cứ reset lặp đi lặp lại
Khi "tạo" được mật khẩu, tôi đã vô thức cười lớn. Làm rất hay
Phản hồi biết ơn như vậy thực sự tiếp thêm động lực rất lớn cho tôi
Tôi chơi một lúc mà không thấy khối L xuất hiện lần nào. Có vẻ nó đang dùng cách chọn hoàn toàn ngẫu nhiên. Nếu muốn bớt căng thẳng hơn thì bạn cũng có thể dùng hệ single bag, nơi mỗi loại khối chỉ xuất hiện một lần trong mỗi lượt. Tham khảo: giải thích về mảnh L trong Tetris
Tôi nghĩ đó là một ý hay. Xin cảm ơn. Tôi có kế hoạch thêm tính năng multi bag
Tôi cũng từng không thấy khối I xuất hiện, nên cứ chừa sẵn một cột rồi xếp hàng chờ mãi. Đến lúc khối I hiện ra thì cảm giác cực kỳ đã
Khi chơi game này tôi thấy nó giống công việc startup. Dù có giới hạn thời gian, trọng lực và cả chức năng UNDO, ta vẫn đưa ra những lựa chọn để lại các lỗ hổng trong cấu trúc mà sau đó không dễ gì lấp kín. Những thứ đó tích tụ như tàn dư và về sau trở thành phần rất khó xử lý. Dù có đoán trước khối tiếp theo, về mặt tâm lý con người vẫn xây cấu trúc với hy vọng đó, ngay cả khi không hề chắc khối ấy sẽ tới lúc nào. Nó giống hệt hình ảnh startup xây sản phẩm cho một đám đông vô định. Dù có điều kiện thuận lợi, bạn vẫn rất dễ rơi vào ngõ cụt hoặc thất bại. Nếu dành thời gian quan sát, có rất nhiều điều để học từ trò chơi này
Có rất nhiều bản triển khai Tetris khác lạ, còn tôi thì có một bản clone Tetris dựa trên cosmopolitan libc dành cho người dùng màn hình Braille. Ở đây các khối "rơi" theo chiều ngang, và các khối dùng ký tự Braille Unicode. https://github.com/mlang/betris Điểm mạnh của thư viện cosmo giúp ích rất nhiều trong việc xây TUI đa nền tảng
Gợi ý tính năng: để tạo cảm giác <i>lười</i> hơn nữa, sẽ hay nếu có một hình ghost cho biết trước khối sẽ rơi xuống và chạm ở đâu
Tôi lại chết khi đang cố làm một bản Tetris "full screen". Tôi cứ luôn biết cách tìm lại căng thẳng bằng cách nào đó
Tôi tò mò vì sao bạn thấy nó căng thẳng. Với tôi, giải một trò xếp hình để lấp đầy màn hình lại là điều vui và thư giãn. Tuy vậy vẫn có vài chỗ có thể cải thiện: thay vì game over ngay khi khối chạm ô trên cùng, có lẽ nên cho chơi tiếp miễn là vẫn còn chỗ để đặt khối (đôi khi hình như game vẫn tiếp tục, chắc chỉ kết thúc khi khối tiếp theo không còn chỗ đặt). Sẽ hơi tiếc nếu không gian vẫn còn mà game đã kết thúc trước khi kịp dọn hết các hàng còn lại. Sẽ tốt hơn nếu chỉ kết thúc khi thực sự không thể làm gì nữa, và thay vì tự động clear thì nên có nút reset thủ công để ngắm kết quả thêm một lúc. Khi reset thì hold cũng nên được khởi tạo lại, và vùng hold có thể làm lớn hơn. Có thêm điểm số cũng hay. Nghỉ ngơi và cạnh tranh không loại trừ lẫn nhau. Tôi thấy áp lực giới hạn thời gian mới là thứ gây stress, còn độ khó puzzle có cao đến đâu thì nếu vẫn có thể suy nghĩ thong thả và lỡ sai cũng không bị dừng lại, tôi lại thấy dễ chịu hơn. Nhân tiện, tôi đã xếp được tới 17 hàng mà không clear hàng nào. Nếu vận may kéo dài tới cuối thì chắc còn có thể phá kỷ lục đó nữa
Cảm giác này như một ẩn dụ rất hợp cho cuộc đời
Cũng có phiên bản board game của Tetris. Tôi cũng đang chơi theo kiểu ít căng thẳng tương tự với con mình. Đây là game nhiều người chơi, và khối tiếp theo được quyết định bằng cách rút thẻ. Một điều hơi tiếc là không thể dùng kỹ thuật lách ngang khối vào khe ngay trước khi chạm đáy. Dù vậy vẫn là một trò tôi muốn giới thiệu
Tôi thích tự kéo khối vào đúng vị trí mình muốn hơn, và việc khi khối đã ở sát đáy mà vẫn phải bấm thêm nút 'drop' nữa thì không được trực quan lắm và hơi bất tiện. Nếu khi khối chạm đáy và thả tay kéo ra là nó tự rơi xuống luôn thì sẽ tiện hơn. Dù vậy nhìn chung vẫn vui và mang cảm giác chữa lành
Cái tên "lazy" có vẻ không hợp lắm. Có lẽ low stress sẽ đúng hơn. Tôi đã chơi rất vui