Lisp Game Jam ฤดูใบไม้ผลิ 2024
ผลการแข่งขัน Game Jam
- Lisp Game Jam ฤดูใบไม้ผลิ 2024 สิ้นสุดลงแล้ว
- มีการส่งเกมเข้าร่วมทั้งหมด 48 เกม ทำสถิติใหม่
- ผู้เข้าร่วมได้ใช้เวลาเล่นและให้คะแนนเกมของกันและกัน
สถานะการส่งผลงานตามภาษา
- 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%)
ความนิยมที่เพิ่มขึ้นของ Guile
- Guile ทำสถิติมีจำนวนผลงานส่งเข้ามามากที่สุดเป็นครั้งแรก
- ในบรรดาเกม Guile 15 เกม มี 11 เกมที่สร้างสำหรับเว็บโดยใช้ Hoot
- Hoot เป็นเครื่องมือที่คอมไพล์ Scheme ไปเป็น WebAssembly และพัฒนาโดย Spritely Institute
ความนิยมอย่างต่อเนื่องของ Fennel
- Fennel เป็น Lisp ที่คอมไพล์ไปเป็น Lua และยังคงได้รับความนิยมมาก
- เกม Fennel ส่วนใหญ่สร้างด้วย love2d
รูปแบบการใช้งาน Lisp
ใช้ Lisp เป็น “ไอซิ่ง”
- เป็นรูปแบบที่ใช้ Lisp เป็นภาษาสคริปต์บนโปรแกรมที่เขียนด้วยภาษาสแตติกอย่าง C, Rust เป็นต้น
- พัฒนาได้รวดเร็ว แต่ต้องอาศัยการผูกกับภาษาสแตติกอย่างแน่นแฟ้น
- ตัวอย่าง: Fennel + love2d, S7 + raylib
ใช้ Lisp เป็น “เค้ก”
- เป็นรูปแบบที่พัฒนาเกือบทั้งซอฟต์แวร์สแตกด้วย Lisp
- ใช้เวลาพัฒนานานกว่า แต่ให้การควบคุมและความยืดหยุ่นมากกว่า
- ตัวอย่าง: Guile + Chickadee, Hoot + HTML5 canvas
กรณีศึกษา
Fennel + love2d
- love2d เป็นโปรแกรม C++ ที่มี Lua interpreter ฝังมาในตัว จึงเข้ากันได้ดีกับ Fennel
- เกม Fennel ส่วนใหญ่ถูกนำไปเผยแพร่บนเว็บโดยใช้ love2d
S7 + raylib
- raylib เป็นไลบรารี C ที่สามารถจับคู่กับ S7 และนำไปเผยแพร่บนเว็บได้อย่างง่ายดาย
- GhostHop และ Life Predictor ใช้สแตกนี้
Guile + Chickadee
- Chickadee เป็นไลบรารีเกมสำหรับ Guile และส่วนใหญ่เขียนด้วย Scheme
- Turbo Racer 3000 และ Bloatrunner ใช้สแตกนี้
Hoot + HTML5 canvas
- Hoot เป็นเครื่องมือที่คอมไพล์ Scheme ไปเป็น WebAssembly และใช้ API ของ HTML5 canvas สำหรับการเรนเดอร์ 2D
- มี 11 เกมที่สร้างด้วย Hoot
สเปกตรัมระหว่างเค้ก/ไอซิ่ง
- แนวทางแบบเค้กให้การควบคุมและความยืดหยุ่นมากกว่า แต่ใช้เวลาพัฒนานานกว่า
- โปรเจกต์ Guix เป็นกรณีตัวอย่างที่ประสบความสำเร็จของแนวทางแบบเค้ก โดยใช้ Lisp อย่างเต็มที่เพื่อให้แฮ็กและปรับแต่งได้สูง
ความเห็นของ GN⁺
- ความยืดหยุ่นของ Lisp: Lisp มีอิมพลีเมนเทชันที่หลากหลาย ทำให้นักพัฒนาสามารถเลือกภาษาที่เหมาะกับความต้องการของตนได้
- ความง่ายในการเผยแพร่บนเว็บ: เครื่องมืออย่าง Hoot ทำให้สามารถนำเกมที่เขียนด้วย Lisp ไปเผยแพร่บนเว็บได้ง่าย
- เวลาพัฒนา: แนวทางแบบเค้กให้การควบคุมและความยืดหยุ่นมากกว่า แต่ก็อาจใช้เวลาพัฒนานาน
- ความเป็นไปได้ในอนาคต: โปรเจกต์อย่าง Pre-Scheme เปิดโอกาสให้พัฒนาซอฟต์แวร์สแตกด้วย Lisp ได้มากขึ้น
- การสนับสนุนจากชุมชน: โปรเจกต์อย่าง Guile ยังคงพัฒนาอย่างต่อเนื่องด้วยการสนับสนุนจากชุมชน
ยังไม่มีความคิดเห็น