2 điểm bởi GN⁺ 2024-06-03 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

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.

Chưa có bình luận nào.