Game Jam Lisp mùa xuân 2024
Kết quả game jam
- Game Jam Lisp mùa xuân 2024 đã kết thúc.
- Tổng cộng có 48 trò chơi được gửi tham dự, lập kỷ lục mới.
- Những người tham gia đã có thời gian chơi và đánh giá trò chơi của nhau.
Tình hình bài dự thi theo ngôn ngữ
- Guile: 15 (31%)
- Fennel: 10 (21%)
- Clojure: 5 (10%)
- CL: 5 (10%)
- Racket: 4 (8%)
- Elisp: 4 (8%)
- S7: 3 (6%)
- Kawa: 1 (2%)
- Owl: 1 (2%)
Sự gia tăng phổ biến của Guile
- Đây là lần đầu tiên Guile ghi nhận số lượng bài dự thi nhiều nhất.
- Trong 15 trò chơi Guile, có 11 trò được tạo cho web bằng Hoot.
- Hoot là công cụ biên dịch Scheme sang WebAssembly, được phát triển bởi Spritely Institute.
Độ phổ biến bền vững của Fennel
- Fennel là một Lisp biên dịch sang Lua và vẫn rất phổ biến.
- Phần lớn trò chơi Fennel được tạo bằng love2d.
Các kiểu sử dụng Lisp
Dùng Lisp như "lớp phủ"
- Mô hình dùng Lisp làm ngôn ngữ script trên nền một chương trình viết bằng ngôn ngữ tĩnh như C, Rust.
- Có thể phát triển nhanh, nhưng đòi hỏi mức độ gắn kết chặt với ngôn ngữ tĩnh.
- Ví dụ: Fennel + love2d, S7 + raylib
Dùng Lisp như "chiếc bánh"
- Mô hình hiện thực phần lớn stack phần mềm bằng Lisp.
- Mất nhiều thời gian phát triển hơn, nhưng mang lại nhiều quyền kiểm soát và tính linh hoạt hơn.
- Ví dụ: Guile + Chickadee, Hoot + HTML5 canvas
Nghiên cứu trường hợp
Fennel + love2d
- love2d là một chương trình C++ tích hợp trình thông dịch Lua, nên rất phù hợp với Fennel.
- Phần lớn trò chơi Fennel được triển khai lên web bằng love2d.
S7 + raylib
- raylib là thư viện C, có thể kết hợp với S7 để dễ dàng triển khai lên web.
- GhostHop và Life Predictor sử dụng stack này.
Guile + Chickadee
- Chickadee là thư viện game cho Guile, phần lớn được viết bằng Scheme.
- Turbo Racer 3000 và Bloatrunner sử dụng stack này.
Hoot + HTML5 canvas
- Hoot là công cụ biên dịch Scheme sang WebAssembly, dùng API HTML5 canvas để thực hiện render 2D.
- Có 11 trò chơi được tạo bằng Hoot.
Phổ cake/icing
- Cách tiếp cận cake mang lại nhiều quyền kiểm soát và tính linh hoạt hơn, nhưng thời gian phát triển lâu hơn.
- Dự án Guix là một ví dụ thành công của cách tiếp cận cake, tối đa hóa việc sử dụng Lisp để mang lại khả năng hack cao.
Ý kiến của GN⁺
- Tính linh hoạt của Lisp: Lisp có nhiều implementation khác nhau, mang lại sự linh hoạt để nhà phát triển chọn ngôn ngữ phù hợp với nhu cầu của mình.
- Dễ triển khai lên web: Với các công cụ như Hoot, có thể dễ dàng đưa các trò chơi viết bằng Lisp lên web.
- Thời gian phát triển: Cách tiếp cận cake mang lại nhiều quyền kiểm soát và linh hoạt hơn, nhưng thời gian phát triển có thể kéo dài.
- Tiềm năng tương lai: Các dự án như Pre-Scheme mở ra khả năng hiện thực nhiều hơn của stack phần mềm bằng Lisp.
- Hỗ trợ cộng đồng: Các dự án như Guile tiếp tục phát triển nhờ sự hỗ trợ của cộng đồng.
Chưa có bình luận nào.