Đưa logo DVD vào góc (2023)
(eieio.games)- Đây là một dự án biến “khoảnh khắc logo DVD chạm chính xác vào góc màn hình” mà ai cũng từng chờ đợi thời thơ ấu thành một game arcade PICO-8 dài 45 giây
- Nhờ phạm vi nhỏ, tập trung vào một trò đùa duy nhất, dự án giảm được độ phức tạp UI và gánh nặng sản xuất so với tác phẩm trước đó ReShape, đồng thời trở thành một thử nghiệm tốt để học PICO-8
- PICO-8 là một fantasy console nhiều ràng buộc, nơi cả xử lý va chạm lẫn particle đều phải tự làm, khiến ngay cả game nhỏ cũng có cảm giác nhất quán
- Sự bất tiện của trình soạn thảo code tích hợp được lách bằng extension
pico8-lscủa VS Code và cấu hìnhinclude code.pb, nhưng việc tìm kiếm tham chiếu ngôn ngữ vẫn còn là điểm tiếc nuối - Ngay cả cơ chế đơn giản cũng dễ giải thích và chia sẻ hơn nếu có chủ đề mạnh, còn các ràng buộc của PICO-8 giúp việc phát hành nguyên trạng một sản phẩm nhỏ trở nên dễ dàng
Game logo DVD dài 45 giây
- “Put the DVD Logo in the Corner” là một game hành động arcade ngắn, trong đó người chơi khiến logo DVD chạm vào góc màn hình
- Game được làm bằng PICO-8, thời gian phát triển là 4 ngày, từ 27/6 đến 30/6/2023
- Thời lượng chơi khoảng 45 giây; game được tạo ra xoay quanh một trò đùa và mong ước thời thơ ấu, không có ý định kéo dài hơn
- Game được phát hành trên itch, và code có thể xem trên GitHub
- Trải nghiệm bạn bè gửi điểm cao rất thú vị; tại thời điểm viết, điểm cao nhất của một người bạn là 21, còn điểm của nhà phát triển là 26
Game đầu tiên làm bằng PICO-8
- PICO-8 là một fantasy console, giống như trình giả lập cho một console không thực sự tồn tại
- Có các giới hạn về đồ họa, âm thanh, kích thước code và tốc độ xử lý mô phỏng console thập niên 1980
- Có thể tạo sprite, nhạc, hiệu ứng âm thanh và viết code ngay bên trong console
- Công cụ đơn giản và thô sơ hơn các game engine hiện đại
- Xử lý va chạm phải được thao tác trực tiếp ở mức pixel
- Hiệu ứng particle cũng phải được triển khai bằng cách tự vẽ pixel lên màn hình
- Sự đơn giản và các ràng buộc này tạo ra cảm giác tương đối nhất quán cho game PICO-8, đồng thời khiến người làm chấp nhận tích cực ý tưởng rằng ràng buộc sinh ra sáng tạo
- Một trong những game PICO-8 nổi tiếng nhất là phiên bản gốc của Celeste được làm trong một game jam
- Phiên bản PICO-8 của Celeste có thể chơi như một easter egg trong game chính thức
Trải nghiệm công cụ phát triển PICO-8
- PICO-8 bao gồm trình chỉnh sửa sprite, trình chỉnh sửa hiệu ứng âm thanh, trình chỉnh sửa nhạc và trình soạn thảo code
- Với trình chỉnh sửa sprite, tác giả nhớ Aseprite, nhưng việc có thể chỉnh sửa sprite trực tiếp trong PICO-8 là điểm tốt
- Trình chỉnh sửa hiệu ứng âm thanh ban đầu rất khó hiểu, nhưng sau khi xem video của Gruber, tác giả nhanh chóng quen với nó
- Trình chỉnh sửa nhạc không thật sự thuận tiện với một nhà phát triển quen chơi bằng bàn phím, nhưng tương đối trực quan
- Trình soạn thảo code là phần bất tiện nhất
- Ngay cả khi mở rộng chiều ngang trình soạn thảo, độ dài dòng không tăng lên mà chỉ làm phông chữ lớn hơn
- Nhóm phát triển PICO-8 đã chủ đích tạo ra một cảm giác console nhất định, và cách này phù hợp với mục đích đó, nhưng với tác giả thì khó chịu đựng
Quy trình viết code lách qua VS Code
- Để dùng VS Code thay cho trình soạn thảo code tích hợp, tác giả cài extension pico8-ls
- Extension này cung cấp tô màu cú pháp và tham chiếu API
- Trong file PICO-8 chính chỉ đặt
include code.pb, còn code thực tế được viết trongcode.pb - Cấu hình này cần thiết vì PICO-8 lưu code cùng dữ liệu sprite và nhạc trong cùng một file
- Tác giả không muốn chỉnh sửa cùng một file đồng thời trong VS Code và PICO-8
- Nhìn chung tác giả hài lòng với cách làm này, nhưng vẫn thiếu một cách dễ hơn để tìm kiếm tham chiếu ngôn ngữ PICO-8
- PICO-8 manual khó thực hiện kiểu tìm kiếm hạn chế chỉ theo tên hàm
Ràng buộc giúp phát hành game nhỏ dễ hơn
- Trong quá trình phát triển, nhiều ý tưởng mở rộng đã xuất hiện
- Thu thập token để tăng thời gian
- Nâng cấp TV hoặc logo DVD
- Kẻ địch cản trở logo
- Một hướng giống bản sao của Vampire Survivors
- Tác giả cho rằng nếu làm bằng Godot, có lẽ mình đã thử nhiều thôi thúc như vậy hơn
- Vì PICO-8 đơn giản, việc đưa một game rất nhỏ ở trạng thái hiện tại lên itch trở nên tự nhiên
- Sự đơn giản của PICO-8 hoạt động như một sự cho phép rằng việc tạo ra một sản phẩm đơn giản cũng là ổn
Chủ đề giúp game dễ giải thích hơn
- Với tư cách người chơi, tác giả thường bỏ qua cốt truyện hoặc chủ đề để tập trung vào cơ chế
- Khi còn nhỏ thì bỏ qua cutscene, và dù đã chơi Path of Exile hàng trăm giờ, tác giả nói rằng mình không thể giải thích câu chuyện
- Ngược lại, trong game yêu thích Outer Wilds, cả câu chuyện lẫn cơ chế đều quan trọng
- Khi làm game, tác giả từng nghĩ chủ đề không quá quan trọng
- ReShape TD và click, click, trick có cơ chế, nhưng khó giải thích đó là game về điều gì
- “Put the DVD Logo in the Corner” thì hoàn toàn ngược lại
- Cơ chế chỉ là “khiến một hình chữ nhật nhỏ chạm vào góc của một hình chữ nhật lớn”
- Bản thân cơ chế không quá hào hứng, nhưng nhờ chủ đề, việc giải thích game cho người khác trở thành phần thú vị nhất
- Tác giả muốn ghi nhớ điểm này khi làm game trong tương lai
Công việc tiếp theo
- Tác giả thích game này và việc làm việc với PICO-8, đồng thời muốn làm thêm những game nhỏ mang cảm giác arcade
- Sau đó, tác giả đang thử nghiệm ý tưởng tạo ra thứ gì đó chạy trong thanh địa chỉ Firefox bằng đặc tả OpenSearch
- Trong bản cập nhật ngày 5/7/2024, tác giả cho biết đã dùng OpenSearch để chạy Wordle trong thanh địa chỉ Firefox
1 bình luận
Các ý kiến trên Hacker News
Đọc về Recurse Center mà thấy bất ngờ. Trông giống như một dạng residency dành cho nghệ sĩ, nhưng cho lập trình viên
Tôi từng ở residency với tư cách nghệ sĩ, và nó giúp ích rất nhiều trong việc mở ra những góc nhìn mới. Ước gì trong khoa học cũng có nhiều cơ hội hơn để làm những việc tưởng như vô lý, tức là phi thương mại và không cạnh tranh. Có vẻ sẽ có lợi cho xã hội, hoặc ít nhất chắc chắn có ích cho những cá nhân may mắn được vào
https://www.recurse.com/
Ngay cả khi được nhận, bạn vẫn có thể hoãn cho đến khi thời điểm phù hợp, và nó miễn phí. Doanh thu đến từ giới thiệu việc làm, nhưng khi nộp đơn tôi đã nói rõ rằng mình không tìm việc
Điều lớn nhất Recurse làm cho tôi là kết nối tôi lại với gu của chính mình. Khi mới đến, tôi đang làm một game kiểu Flash khá bình thường, có điểm số và một chủ đề mờ nhạt, nhưng ở đó tôi đã đi theo hướng kỳ lạ hơn nhiều. Một trong những dự án đầu tiên của tôi là lạm dụng đặc tả OpenSearch để tạo Wordle chạy trong thanh địa chỉ Firefox
https://eieio.games/nonsense/implementing-wordle-in-the-fire...
Đó là nơi hoàn hảo để làm những thứ như vậy. Mọi người khích lệ, ủng hộ và quan tâm, nhờ đó tôi nhận ra rằng người khác cũng thấy hứng thú với kiểu công việc mà tôi thực sự muốn làm. Tôi nghĩ trong 12 tuần ở RC tôi đã phát hành 8 game, và nếu không có RC thì có lẽ tôi đã không bắt đầu làm những thứ như hiện nay. Chắc nhiều người cũng có trải nghiệm tương tự trong nhiều lĩnh vực kỹ thuật khác, không chỉ game. Cảm giác như tìm được product-market fit cho chính mối quan tâm của mình
RC cũng kết nối tôi với những người đang làm các việc tương tự. Cộng đồng lớn, tử tế và kỳ lạ theo nghĩa tốt. Nó giống như một workshop viết văn dành cho những người muốn lập trình và trở thành lập trình viên giỏi hơn
Có thể trông như tôi đang quảng bá RC quá mức, và đúng là vậy, nhưng tôi không được trả tiền, chỉ là một cựu học viên biết ơn. Hiện tôi vẫn đang viết những dòng này trong không gian của RC, thỉnh thoảng ghé qua để trò chuyện hoặc làm việc cùng các thành viên trong khóa
Đến giờ tôi vẫn khó chỉ ra chính xác vì sao mình không thấy nó có giá trị
Có lẽ là do địa điểm. New York City đắt đỏ, và dù tôi có tiền tiết kiệm để chịu được kỳ nghỉ không lương, rất nhiều thứ trông đắt một cách vô lý. Tiếng xấu rằng người New York không thân thiện cũng làm tăng cảm giác xa cách. Tôi đã nghe nhiều lời khen hết lời từ người khác, nhưng cũng như một số du khách cảm thấy mình không hoàn toàn được chào đón trong thành phố, tôi không hợp với môi trường của Recurse Center
Dù vậy, điểm tốt là một số resident và cựu học viên đã trở nên khá nổi tiếng trong ngành công nghệ. Nếu tình cờ gặp họ trong không gian đó, có thể dẫn đến những cuộc trò chuyện sâu sắc. Vào thời của tôi, có thể gặp những người như Robert Lefkowitz và Filippo Valsorda, và đó là trải nghiệm khá tuyệt
https://www.recurse.com/residents
https://www.linkedin.com/in/r0ml
https://filippo.io
School for Poetic Computation là một trường thử nghiệm hoạt động tại New York City và trực tuyến, hỗ trợ việc học xuyên qua nghệ thuật, code, phần cứng và lý thuyết phê bình. Đó là nơi để học và suy ngẫm về những gì đã học
https://youtu.be/QOtuX0jL85Y?si=Kwo8OZSYOVzoI-Uh
Một tham chiếu The Office không thể thiếu
Thật ra tôi cũng không rõ làm sao có thể chạm đúng góc chính xác được
Trong vài giây tôi tưởng mình có vấn đề
Tôi là dev. Thật vui khi thấy cái này lên trang nhất, đúng là một surprise thú vị. Rất vui vì mọi người đồng cảm, và cũng mong mọi người thử PICO-8
Nếu có câu hỏi tôi có thể trả lời. Kể từ đó tôi chưa hoàn thành game PICO-8 nào, và công việc của tôi đã trở nên kỳ lạ hơn, nhưng tôi nhớ PICO-8 và đang mày mò các ý tưởng Playdate và Picotron
https://news.ycombinator.com/item?id=40800869
Những thứ như thế này làm tôi thực sự thích PICO-8. Đây là một trong những môi trường lập trình vui nhất mà tôi từng dùng kể từ lần đầu khám phá ActionScript trong Macromedia Flash MX
Tôi muốn làm code, âm thanh và đồ họa bằng các editor hiện đại, độ phân giải cao, nhưng vẫn giữ nguyên các ràng buộc như độ phân giải, hiệu năng CPU và API
Cũng đáng nhắc đến câu chuyện này về nỗi đau tâm lý và xã hội khi logo DVD mãi không chạm vào góc màn hình: https://www.youtube.com/watch?v=_ws0QtAiiXQ
Nếu chỉ muốn xem screensaver thì tôi có một cái từng làm
https://stanchak.github.io/dvd/
Cái này chắc sẽ rất vui trên Playdate. Có thể dùng cái tay quay nhỏ để cho thời gian trôi, và nếu giữ đúng nhịp thì được cộng thêm điểm
Vừa làm xong nên còn khá cơ bản, nhưng cứ fork thoải mái
https://github.com/uguu-org/playdate-dvd
Pam khẳng định rằng khi ở một mình trong phòng họp, cô ấy đã thấy logo DVD chạm vào góc. Có vẻ bản thân cô ấy tin rằng mình đã thấy như vậy
Link chạy game trực tiếp: https://itseieio.itch.io/dvdlogo
Mã nguồn(PICO-8): https://github.com/nolenroyalty/put-the-dvd-logo-in-the-corn...
Thực sự rất vui, và phần giải thích về môi trường PICO-8 cũng hay. Tôi được 19 điểm, nhưng ở đoạn cuối có lẽ là nhờ may mắn