2 คะแนน โดย GN⁺ 2024-09-12 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

Holy smokes, I just released a MiniGolf game for Palm OS in 2024

เปิดตัวเกม MiniGolf ใหม่สำหรับ Palm OS

  • ฤดูร้อนนี้ได้เริ่มโปรเจกต์สร้างเกมใหม่สำหรับ Palm OS
  • หลังจากเขียนโค้ดเป็นช่วง ๆ ไม่ถึงสองเดือน ก็ยินดีที่จะได้ปล่อย "Captain's MiniGolf (v0.6)"
  • จุดเด่นหลักของเกมคือผู้ใช้สามารถสร้างเลเวลได้เอง
  • สามารถสร้างฐานข้อมูล level pack เพื่อแชร์กับผู้ใช้อื่นได้

วิธีเล่นเกม

  • แม้จะไม่มีอุปกรณ์ Palm OS ก็สามารถเล่นได้ตรงในเบราว์เซอร์ด้วยอีมูเลเตอร์ cloudpilot
  • มีทั้งไฟล์ดาวน์โหลดเกมและอีมูเลเตอร์ในเบราว์เซอร์ให้ใช้งาน

ความยากของการเขียนโค้ดบน Palm OS

  • ระหว่างเขียนโค้ดด้วยภาษา C มีข้อสังเกตบางอย่าง:
    • ไม่มีฟีเจอร์อำนวยความสะดวกแบบที่มีในภาษาโปรแกรมสมัยใหม่ จึงพลาดได้ง่าย
    • เกิด memory leak ได้บ่อย
    • การดีบักรูปร่าง polygon และวิถีการเคลื่อนที่ทำได้ยาก จึงได้ประโยชน์มากจาก debug build
  • การเขียนโค้ดยากขึ้นเพราะเอกสารของ Palm OS มีไม่มาก
  • ใช้เอกสารอ้างอิงสองอย่างต่อไปนี้:
    • The Palm OS Programmer Companion (ส่วนหนึ่งของ Palm OS SDK)
    • Palm OS Programming Bible
  • ยังอ้างอิงโค้ดเกม Palm OS ที่นักพัฒนาคนอื่นแชร์ไว้บน GitHub ด้วย

ทำไมต้องเป็น Palm OS?

  • อุปกรณ์ Palm OS แม้จะเรียบง่ายและสง่างาม แต่ก็ทำอะไรได้มากมาย
  • ข้อจำกัดเหล่านี้บังคับให้คิดอย่างสร้างสรรค์และมองหาวิธีแก้ปัญหาทางเลือก
  • บนมือถือสมัยใหม่ที่แรงมาก เราแทบไม่ต้องใส่ใจกับการ optimize โค้ด

บั๊กที่ทราบแล้ว

  • ลูกบอลอาจติดอยู่ในกำแพงได้
  • หากสร้างเลเวลที่มีกำแพง polygon แบบปิดอยู่ภายในกำแพงของสนามหลัก ระบบจะระบายสีพื้นหลัง/คอร์สได้ไม่ถูกต้อง

สิ่งที่ควรปรับปรุง

  • เพิ่มตัวเลือกการลบ/ย้ายเลเวล
  • เพิ่มตัวเลือกลบและแชร์ level pack (ตอนนี้ต้องใช้แอปภายนอกอย่าง FileZ)
  • ความละเอียดถูกล็อกไว้ที่ 160x160 (หรือ 320x320 บนอุปกรณ์ Palm OS 5 ความละเอียดสูง) จึงควรปรับให้เปลี่ยนตามขนาดหน้าจอแบบไดนามิก

การแบ่งปันคือความใส่ใจ

  • เผยแพร่ซอร์สโค้ดทั้งหมดของเกมนี้ภายใต้ไลเซนส์ GPL3
  • หวังว่าจะช่วยสร้างแรงบันดาลใจหรือเป็นประโยชน์ให้คนอื่นสร้างเกม Palm OS เพิ่มขึ้น
  • มีซอร์สโค้ดของ Captain's MiniGolf ให้ใช้งาน

สรุปโดย GN⁺

  • บทความนี้ปลุกความคิดถึงต่อ Palm OS และเน้นความสนุกของการหาทางแก้ปัญหาอย่างสร้างสรรค์ภายใต้ทรัพยากรที่จำกัด
  • ต่างจากอุปกรณ์สมัยใหม่ที่มีประสิทธิภาพสูง ข้อจำกัดของ Palm OS กลับท้าทายและเรียกร้องความคิดสร้างสรรค์จากนักพัฒนา
  • มีทั้งเอกสารอ้างอิงที่เป็นประโยชน์และซอร์สโค้ดสำหรับผู้ที่สนใจพัฒนาเกมบน Palm OS
  • โปรเจกต์ที่มีลักษณะใกล้เคียงกันที่แนะนำคือโปรเจกต์อีมูเลเตอร์อย่าง RetroArch

1 ความคิดเห็น

 
GN⁺ 2024-09-12
ความคิดเห็นจาก Hacker News
  • มีข้อเสนอให้เพิ่มแอนิเมชัน "ลูกบอลตกลงหลุม"

    • การได้เห็นลูกบอลลงหลุมจะช่วยให้รู้สึกถึงความสำเร็จ
  • มีข้อเสนอให้เพิ่มแอนิเมชันแสดงความยินดีสั้น ๆ ก่อนโหลดด่านถัดไป

    • ข้อความ "Loading" ดูกะทันหันจนให้ความรู้สึกเหมือนทำอะไรผิด
    • แสดงข้อความอย่าง "Nice!" และให้เห็นลูกบอลหายลงไปในหลุม
    • อาจแสดงกล่องโต้ตอบการโหลดสั้น ๆ หรือข้ามไปเลยก็ได้
  • แชร์ประสบการณ์พัฒนาเกมมินิกอล์ฟสำหรับ Macintosh ในยุค 1990

    • กำลังกู้คืนซอร์สโค้ดที่มีอายุ 35 ปี และสร้างดิสก์อิมเมจสำหรับอีมูเลเตอร์
    • ความพยายามครั้งแรกแบบขาวดำอยู่บน GitHub
    • ความพยายามครั้งที่สองแบบสีมีแผนจะรวมไว้ใน Volume 2
  • ความเห็นเรื่องประโยชน์ใช้สอยของไฟล์รันแบบโฮมบรูย้อนยุคอย่าง Palm OS

    • รันได้บนหลายแพลตฟอร์ม ใช้งานออฟไลน์ มีประสิทธิภาพ และไม่มีสิ่งรบกวน
    • เกมอย่าง Apotris เล่นได้บนคอนโซลและคอมพิวเตอร์หลายแบบโดยไม่ต้องติดตั้ง
    • ข้อดีของไฟล์ executable เดี่ยว: เวลาผ่านไปนานก็ยังสามารถรันได้
  • ความคิดถึง Palm IIIxe

    • การแจ้งเตือนมีน้อยและมีเฉพาะฟังก์ชันที่จำเป็น
    • ต้องใช้เวลาพอสมควรกว่าจะทำให้การแจ้งเตือนบน iPhone เงียบลงได้
    • Palm จะไม่ส่งการแจ้งเตือนหากผู้ใช้ไม่ได้ร้องขอ
    • ไม่ได้อยากกลับไปใช้ แต่ก็คิดถึงบางส่วน
  • ข้อเสนอให้แสดงลูกบอลตกลงหลุม

    • อาจช่วยเพิ่มความพึงพอใจของผู้เล่นได้
  • ความคิดถึง Palm LifeDrive

    • ทำหายไปตอนเปลี่ยนไปใช้ Blackberries
    • ในเวลานั้นมันเป็นอุปกรณ์ที่น่าทึ่งมาก
  • ความเห็นเกี่ยวกับปัญหาที่พบบ่อยในการพัฒนาเกม

    • ปัญหาอย่าง memory leak, การดีบัก ฯลฯ เป็นเรื่องที่พบได้ทั่วไป
    • เกมเอนจินอย่าง Unreal, Unity, Godot ช่วย abstract ปัญหาหลายอย่างออกไป
    • ถ้าพัฒนาเกมด้วย C, OpenGL และข้อจำกัดด้านหน่วยความจำ ก็อาจเจอปัญหาคล้ายกันได้
    • สนใจเรื่องการทำเลเวลเอดิเตอร์
  • ชื่นชมงานออกแบบศิลป์ของเกมมินิกอล์ฟ

    • รู้สึกว่าถ้ากลับทิศทางการควบคุมเมาส์น่าจะเป็นธรรมชาติกว่า
    • ถ้าเป็นแฟนเกม FOSS ขอแนะนำ Neverball และ Neverput
  • ความเห็นว่าเกมสนุกดีในอีมูเลเตอร์บนเบราว์เซอร์

    • มีข้อเสนอให้พอร์ตไปยัง Android, iOS และเบราว์เซอร์
    • สนุกมาก