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

แนะนำ Castle Game Engine

  • Castle Game Engine เป็นเครื่องยนต์เกม 3D และ 2D แบบข้ามแพลตฟอร์มสำหรับแพลตฟอร์มเดสก์ท็อป มือถือ และคอนโซล
  • มอบตัวแก้ไขเชิงภาพ (visual editor) ที่ทรงพลัง และรองรับฟอร์แมตหลากหลาย เช่น glTF, X3D, Spine
  • ใช้ Pascal สมัยใหม่เพื่อเขียนโค้ดได้เร็วและสะอาด และยังเป็นโอเพนซอร์สฟรี

ตัวออกแบบเชิงภาพและโค้ดที่ทรงพลัง

  • ผ่านตัวแก้ไขเชิงภาพ คุณสามารถออกแบบเกม 3D และ 2D พร้อมอินเทอร์เฟซผู้ใช้ และ build และปรับใช้โปรเจกต์เดียวกันไปยังแพลตฟอร์มหลากหลายได้
  • รองรับการรวมเข้ากับ IDE ต่าง ๆ เช่น Lazarus, Delphi และ Visual Studio Code

วิธีการกำหนดข้อมูลหลายรูปแบบ

  • สามารถกำหนดข้อมูลด้วยโมเดล 3D, แอนิเมชัน 2D และ sprite sheet
  • รองรับการเชื่อมต่อกับเครื่องมือสร้างสรรค์หรือแหล่งจำหน่าย เช่น Blender และ Sketchfab ได้อย่างง่ายดาย

เอฟเฟกต์กราฟิก

  • คุณสามารถตั้งค่าเอฟเฟกต์กราฟิกหลากหลายได้ เช่น เอฟเฟกต์ shader, เงา, กระจก, การเรนเดอร์แบบพึ่งพิงฟิสิกส์, bump mapping และ gamma correction

รองรับหลายแพลตฟอร์ม

  • มุ่งเป้าหมายไปยังแพลตฟอร์มเดสก์ท็อปต่าง ๆ (เช่น Windows, Linux, macOS), มือถือ (Android, iOS) และคอนโซล (Nintendo Switch)
  • WebGL และ Oculus (VR) กำลังจะเพิ่มเข้ามาเป็นแพลตฟอร์มเป้าหมายในเร็ว ๆ นี้

โค้ดที่สะอาดและเร็ว

  • ใช้ภาษาโปรแกรมเชิงวัตถุเนทีฟที่ใช้ Object Pascal รุ่นใหม่
  • การ build และการรันที่รวดเร็วเป็นคุณสมบัติหลักตั้งแต่เริ่มต้น

โอเพนซอร์สและเป็นมิตรกับการทำ Continuous Integration

  • มีเครื่องมือที่เป็นมิตรกับการทำ CI และรองรับการใช้งาน command-line build tools และ Docker image
  • มีไฟล์และเอกสารพร้อมใช้งานสำหรับทำงานร่วมกับ GitHub Actions, GitLab CI และ Jenkins

สรุปข่าวล่าสุด

  • 18 กุมภาพันธ์ 2024: เปิดตัว Docker image แบบ Slim ใหม่
  • 3 กุมภาพันธ์ 2024: เพิ่มการให้บริการข้อมูลคำขอ HTTP PUT, การสลับการมองเห็นเลเยอร์ของ Tiled อย่างรวดเร็วขึ้น และการปรับปรุง API ของไลบรารี C++
  • 28 มกราคม 2024: ข่าวสารเกี่ยวกับ Ticoban, การลากบนตัวแก้ไข, dglOpenGL จาก CastleGL, การปรับปรุงระบบ tester และคุณสมบัติ RTTI แบบกำหนดเองใน Pascal
  • 23 ธันวาคม 2023: วันคริสต์มาสอันสดใส มีการสรุปข่าวเล็กน้อย และการปรับปรุง API

ความเห็นของ GN⁺

  • Castle Game Engine เป็นเครื่องยนต์เกมที่แข็งแกร่ง รองรับหลายแพลตฟอร์ม และเพิ่มประสิทธิภาพการพัฒนาได้ด้วยการใช้ Pascal สมัยใหม่
  • เป็นโอเพนซอร์ส และมีเครื่องมือที่รองรับการทำ continuous integration และการทำงานร่วมกันอย่างดี ช่วยกระตุ้นความร่วมมือในชุมชนนักพัฒนา
  • ด้วยเอฟเฟกต์กราฟิกล้ำสมัยและตัวแก้ไขเชิงภาพ ทำให้สามารถออกแบบเกมและอินเทอร์เฟซที่เป็นมิตรต่อผู้ใช้ได้ จึงเป็นทางเลือกที่น่าสนใจสำหรับนักพัฒนาเกม

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

 
GN⁺ 2024-02-21
ความคิดเห็นจาก Hacker News
  • ความคิดเห็นเกี่ยวกับภาษา Pascal

    • ผู้ใช้คนหนึ่งให้ความเห็นเชิงลบต่อความอ่านง่ายของภาษา Pascal แม้ว่าเมื่อเทียบกับภาษาใหม่ ๆ จำนวนมากที่มีความปลอดภัย การรองรับข้ามแพลตฟอร์ม และไลบรารี Pascal จะถูกยกย่องด้านความอ่านง่าย แต่จริง ๆ แล้วในทางปฏิบัติดูเหมือนอ่านยากกว่าภาษา C
    • เนื่องจากต้องใช้คำเต็มเพื่อแทนโครงสร้างไวยากรณ์ จึงต้องอาศัยความพยายามมากขึ้นในการแยกแยะโครงสร้างของโค้ดกับโค้ดจริง เขามองว่านี่เป็นสิ่งที่ไม่มีประสิทธิภาพและเป็นการออกแบบที่ไม่ดี
    • เขารู้สึกว่าหน้าบทความนี้น่าจะเขียนมากว่า 20 ปีก่อน และเชื่อว่าเมื่อสมัยนั้น เรื่องความปลอดภัยของชนิดข้อมูลมีความสำคัญมากกว่า
    • มีลิงก์ที่เกี่ยวข้อง ได้แก่ "ทำไมถึงใช้ Pascal?", "แนะนำ Object Pascal ยุคใหม่", "Roadmap ของ Castle Game Engine", "Castle Game Engine: เครื่องยนต์เกม 3D และ 2D แบบข้ามแพลตฟอร์ม", "เปิดตัว Castle Game Engine 6.4 – อัปเกรดระบบฟิสิกส์ บริการ iOS และ pipeline ของ shader"
  • ความทรงจำเกี่ยวกับการใช้ Pascal

    • ผู้ใช้คนหนึ่งรำลึกถึงประสบการณ์การใช้ Delphi ในช่วงมหาวิทยาลัยปี 2001 โดยยอมรับว่าในฐานะผู้ที่ถนัดการเขียนโค้ดดี เขาสามารถใช้ Delphi ได้ค่อนข้างง่าย และตอนนั้นเขาพอจะรู้ได้ทันทีว่ามันเป็นภาษาตระกูล Pascal จากไวยากรณ์อย่าง var, begin, end, :=
    • งานหลัก ๆ ในตอนนั้น เช่น การจัดเก็บข้อมูลสินค้าคงคลังลงไฟล์ไบนารีและการใช้งาน binary search พอ ๆ กับเป็นสิ่งที่ท้าทายสำหรับเขา แต่ในภาษาสมัยใหม่สิ่งเหล่านี้ถือว่าเป็นคุณสมบัติพื้นฐานไปแล้ว
    • เขาเทียบ Pascal กับกลุ่มเดียวกับ BASIC และแม้ปัจจุบันจะไม่ค่อยสนใจใช้งาน Pascal อีกแล้ว เขาก็ยังเชื่อว่ามีผู้ใช้ที่ปกป้อง Pascal อยู่มาก
  • การเปรียบเทียบภาษา Pascal และภาษา C

    • ผู้ใช้อีกคนหนึ่งเล่าว่าได้เรียนภาษาโปรแกรมเชิงจริงครั้งแรกตอนมัธยมปลายด้วย Pascal แต่หลังจากเรียนภาษา C แล้วก็หันหลังให้กับ Pascal ตั้งแต่นั้นมา
    • C ให้ความรู้สึกดูมืออาชีพ ยืดหยุ่น และใกล้ฮาร์ดแวร์กว่า ในขณะที่ Pascal ดูเหมาะกับการทำแอปพลิเคชัน GUI มากกว่า แต่จริง ๆ แล้ว Pascal ก็สามารถทำทุกอย่างที่ C ทำได้
  • มุมมองเชิงบวกต่อการใช้งาน Pascal ในปัจจุบัน

    • ผู้ใช้หนึ่งคนรู้สึกว่ากลุ่มนักพัฒนา Pascal ทำงานได้อย่างมีประสิทธิภาพมาก
    • มีผู้ใช้คนหนึ่งยังแสดงความเสียดายว่าการดูแลผลิตภัณฑ์ Delphi ทำได้ไม่ค่อยดี โดยชี้ว่า Object Pascal เป็นภาษาที่ยอดเยี่ยม และปัจจุบันสามารถสร้างโค้ดเนทีฟได้แทบทุกแพลตฟอร์ม บวกกับไบนารีที่ได้มักมีขนาดเล็กและรันได้เร็ว สามารถเร็วกว่ารหัส Python ได้ถึง 100 ถึง 10,000 เท่า
    • Castle Game Engine เป็นโครงการขนาดใหญ่ที่ทำให้การสร้างเกมและแอปพลิเคชัน 3D ได้ง่าย และไม่ใช่ซอฟต์แวร์แบบล้าสมัย เพราะกำลังพัฒนาอย่างแข็งขัน
    • Mormot ก็เป็นโครงการที่น่าประทับใจเช่นกัน และคุณสามารถสร้างแอปเซิร์ฟเวอร์ด้วย Object Pascal และ Mormot ได้อย่างง่ายดาย โค้ดเซิร์ฟเวอร์ที่ใช้ Object Pascal ยังสามารถรันได้แม้บนเซิร์ฟเวอร์เพียงเครื่องเดียว ซึ่งช่วยประหยัดต้นทุนได้
    • Object Pascal มักถูกจดจำเพียงในฐานะภาษาสำหรับการศึกษาเท่านั้น แต่กลับมีฟีเจอร์อย่าง RTTI (reflection) ที่ภาษาอื่น ๆ ไม่มี อย่างไรก็ตาม จุดที่ไม่ทันสมัยคือไม่มีการฝังคุณสมบัติ multithreading / coroutines ตรงในตัวเหมือน Go
    • เขาชี้ว่ารหัสที่เขียนเมื่อ 40 ปีก่อนยังคอมไพล์และรันได้ และในขณะที่หลายภาษาแค่ผ่านกระแสแฟชั่นแล้วเลือนหายไป Pascal ยังคงอยู่
    • เขาชื่นชมเครื่องมือแก้ไขแบบกราฟิกของ Castle Game Engine ว่าโดดเด่นมาก และยังแนะนำให้ลองใช้แม้ยังไม่คุ้นกับภาษา Object Pascal
  • ความเห็นเกี่ยวกับ Castle Game Engine

    • ผู้ใช้หนึ่งคนได้สำรวจโค้ดของ Castle Game Engine และระบุว่า ตั้งแต่ปี 2001 ก็แทบไม่เห็นโค้ด Pascal มากนักในสายงาน
    • เขาไม่ค่อยชอบการขึ้นต้นชื่อไฟล์ด้วยคำว่า "castle" เพราะทำให้ยากต่อการระบุว่าไฟล์นั้นเกี่ยวข้องกับอะไร และทำให้ไฟล์ทุกไฟล์ดูคล้ายกันหมด
    • อย่างไรก็ตาม ในการประเมินจริง เขายอมรับว่าตัวเองไม่เคยเขียนโค้ด Pascal มาก่อน จึงยังไม่สามารถให้ความเห็นเชิงเทคนิคในเชิงลึกได้
    • โดยรวมแล้วเขามองว่าเอ็นจิ้นนี้ดูเท่มาก
  • มุมมองส่วนตัวต่อภาษา Pascal

    • ผู้ใช้หนึ่งคนเรียนและใช้ Pascal บางครั้ง เขารู้สึกว่าตัวเองไม่ชำนาญในฐานะนักพัฒนามาก แต่ในฐานะ Product Manager กลับรู้สึกว่าดีกว่า
    • เขารู้สึกว่า FPC มีลักษณะเป็น "duct-tape programming" ที่แท้จริง และเชื่อว่าได้เห็นแนวคิดแบบนักพัฒนาชนิดนี้ร่วมกับ C# เท่านั้น
  • ความทรงจำเรื่องการเขียนโปรแกรมด้วย Pascal

    • คนสุดท้ายหนึ่งคนรำลึกถึงช่วงเวลาที่สนุกที่สุดซึ่งได้เขียนโปรแกรมด้วย Turbo/Borland Pascal
    • ระบบคอมไพล์แบบ "Unit" ทำงานได้ดีมาก และขั้นตอนการคอมไพล์ การใช้งาน การแก้ไข และการดีบักเป็นไปอย่างรวดเร็วมาก
    • เมื่อย้ายไป Delphi เขารู้สึกว่ามีบางอย่างหายไป และว่าคนจำนวนมากเริ่มค้นหาเส้นทางอื่นกันแล้ว
    • Pascal ช่วยให้เขาผ่านจาก Apple Basic สู่ C/C++ ได้ และยังให้โอกาสในการเรียนรู้ผ่าน inline assembly ด้วย