1 điểm bởi GN⁺ 2024-02-21 | 1 bình luận | Chia sẻ qua WhatsApp

Giới thiệu về Castle Game Engine

  • Castle Game Engine là một engine game 3D và 2D đa nền tảng cho desktop, mobile và console.
  • Nó cung cấp trình chỉnh sửa trực quan mạnh mẽ và hỗ trợ nhiều định dạng khác nhau như glTF, X3D, Spine.
  • Có thể viết code nhanh và sạch với Pascal hiện đại, đồng thời miễn phí và mã nguồn mở.

Trình thiết kế trực quan và code mạnh

  • Qua trình chỉnh sửa trực quan, bạn có thể thiết kế game 3D và 2D cùng giao diện người dùng, rồi biên dịch và triển khai cùng một dự án trên các nền tảng khác nhau.
  • Có thể tích hợp với nhiều IDE như Lazarus, Delphi, Visual Studio Code.

Nhiều cách định nghĩa dữ liệu

  • Có thể định nghĩa dữ liệu bằng mô hình 3D, hoạt hình 2D và sprite sheet.
  • Dễ dàng tích hợp với các công cụ hay cửa hàng như Blender hoặc Sketchfab.

Hiệu ứng đồ họa

  • Có thể cấu hình nhiều hiệu ứng đồ họa như shader, bóng đổ, phản chiếu, render dựa trên vật lý, bump mapping, gamma correction.

Hỗ trợ đa nền tảng

  • Mục tiêu bao gồm các nền tảng desktop (Windows, Linux, macOS, v.v.), mobile (Android, iOS), và console (Nintendo Switch).
  • WebGL và Oculus (VR) cũng sẽ sớm được bổ sung vào các nền tảng mục tiêu.

Code sạch và nhanh

  • Sử dụng ngôn ngữ lập trình hướng đối tượng Object Pascal gốc (native).
  • Việc biên dịch và chạy nhanh là tính năng mặc định.

Mã nguồn mở và thân thiện với tích hợp liên tục

  • Engine này cung cấp công cụ thân thiện với CI, đồng thời hỗ trợ công cụ build qua dòng lệnh và hình ảnh Docker.
  • Cung cấp các file và tài liệu sẵn có để sử dụng với GitHub Actions, GitLab CI, Jenkins.

Tóm tắt tin tức mới nhất

  • Ngày 18 tháng 2 năm 2024: phát hành image Docker Slim mới.
  • Ngày 3 tháng 2 năm 2024: đóng góp gồm cung cấp dữ liệu cho HTTP PUT request, chuyển nhanh khả năng hiển thị của lớp Tiled, cải tiến API của thư viện C++.
  • Ngày 28 tháng 1 năm 2024: Ticoban, kéo thả trong editor, CastleGL-based dglOpenGL, cải tiến tester, thuộc tính RTTI tùy chỉnh trong Pascal.
  • Ngày 23 tháng 12 năm 2023: Merry Christmas, một số bản tóm tắt và cải tiến API.

Ý kiến của GN⁺

  • Castle Game Engine là engine game mạnh mẽ hỗ trợ nhiều nền tảng, nâng cao hiệu quả phát triển nhờ dùng ngôn ngữ Pascal hiện đại.
  • Nó là mã nguồn mở và cung cấp công cụ thân thiện với tích hợp liên tục và cộng tác, giúp thúc đẩy cộng đồng nhà phát triển.
  • Nhờ các hiệu ứng đồ họa hiện đại và trình thiết kế trực quan, nó cho phép thiết kế game và giao diện thân thiện với người dùng, trở thành lựa chọn hấp dẫn cho lập trình viên game.

1 bình luận

 
GN⁺ 2024-02-21
Bình luận trên Hacker News
  • Ý kiến về ngôn ngữ Pascal

    • Một người dùng bày tỏ quan điểm tiêu cực về tính dễ đọc của Pascal. Dù các ngôn ngữ hiện đại thường được nhấn mạnh về tính an toàn, hỗ trợ đa nền tảng và thư viện, Pascal cũng được nói đến như dễ đọc hơn, nhưng họ cho rằng thực tế lại khó đọc hơn C. Vì cú pháp phải dùng từ ngữ đầy đủ, việc phân biệt giữa cấu trúc mã và mã thực tế đòi hỏi nhiều công sức hơn. Họ cho rằng cách thiết kế này thiếu hiệu quả và không tốt. Người này cảm thấy trang này có vẻ được viết khoảng 20 năm trước, khi đó các lý do như an toàn kiểu dữ liệu có lẽ quan trọng hơn.
    • Các liên kết liên quan gồm "Tại sao nên sử dụng Pascal?", "Làm quen với Object Pascal hiện đại", "Lộ trình Castle Game Engine", "Castle Game Engine: Động cơ game 3D và 2D đa nền tảng", "Phát hành Castle Game Engine 6.4 – nâng cấp vật lý, dịch vụ iOS, đường ống shader".
  • Ký ức về trải nghiệm dùng Pascal

    • Một người dùng khác nhớ lại thời điểm họ dùng Delphi khi học đại học năm 2001. Họ thấy việc lập trình với Delphi rất dễ vì từng có kỹ năng tốt, và lúc đó chỉ cần nhìn cú pháp var, begin, end, := đã nhận ra đây là ngôn ngữ thuộc nhóm Pascal. Công việc của họ chủ yếu là lưu dữ liệu tồn kho trong file nhị phân và dùng tìm kiếm nhị phân; khi đó phần này khá khó, nhưng ngày nay gần như đã là điều mặc định với các ngôn ngữ hiện đại. Họ xếp Pascal vào cùng nhóm với BASIC; hiện giờ không còn quan tâm đến việc dùng Pascal nữa, nhưng vẫn nghĩ vẫn còn nhiều người ủng hộ ngôn ngữ này.
  • So sánh Pascal và C

    • Một người dùng khác nói rằng thời trung học, Pascal là ngôn ngữ lập trình "nghiêm túc" đầu tiên mà họ học, nhưng sau khi học C thì họ không còn quay lại Pascal. C trông chuyên nghiệp, linh hoạt và gần phần cứng hơn, còn Pascal dường như thích hợp hơn cho phát triển ứng dụng GUI; tuy nhiên trên thực tế Pascal cũng có thể làm được tất cả những gì C làm được.
  • Quan điểm tích cực về việc dùng Pascal trong thời đại hiện nay

    • Một người dùng cảm thấy các nhà phát triển Pascal đang làm việc rất năng suất.
    • Một người dùng khác tiếc rằng Delphi đã được quản lý chưa tốt. Theo họ, Object Pascal là ngôn ngữ tuyệt vời: hiện tại gần như tạo mã máy gốc cho mọi nền tảng, và nhị phân đầu ra thì nhỏ và nhanh. Nó có thể nhanh hơn mã Python từ khoảng 100 đến 10.000 lần. Castle Game Engine là một dự án đồ sộ giúp làm game và ứng dụng 3D dễ dàng, và không phải sản phẩm di sản mà đang được phát triển rất năng động. Mormot cũng rất ấn tượng, vì bạn có thể xây dựng ứng dụng máy chủ dễ dàng bằng Object Pascal và Mormot. Mã máy chủ dựa trên Object Pascal có thể chạy đủ tốt ngay cả trên một máy chủ duy nhất, giúp giảm chi phí. Object Pascal thường bị nhớ tới như ngôn ngữ dành cho giáo dục, nhưng nó có các tính năng như RTTI (phản chiếu) mà các ngôn ngữ khác không có. Tuy nhiên, điểm chưa hiện đại là không tích hợp sẵn đa luồng/co-routine trong chính ngôn ngữ như Go. Bạn vẫn có thể biên dịch và chạy mã đã viết cách đây 40 năm; trong khi nhiều ngôn ngữ từng thịnh rồi mất dần, Pascal vẫn còn tồn tại. Trình chỉnh sửa trực quan của Castle Engine rất ấn tượng, và họ khuyên nên thử ngay cả khi bạn chưa quen với Object Pascal.
  • Ý kiến về Castle Game Engine

    • Một người dùng đã xem qua mã của Castle Game Engine và nói đã không thấy nhiều mã Pascal từ sau năm 2001. Họ nói rằng việc thêm tiền tố castle vào tên tệp không phải là ý tưởng hay vì làm cho việc nhận ra nội dung tệp khó hơn và khiến mọi tệp có vẻ giống nhau. Tuy nhiên, vì họ chưa từng viết mã Pascal trước đây nên không thể bình luận sâu về mã thực tế. Dù vậy, engine này nhìn rất ấn tượng.
  • Quan điểm cá nhân về ngôn ngữ Pascal

    • Một người dùng khác đã học và thỉnh thoảng dùng Pascal. Họ cho rằng nếu nói về kỹ năng lập trình thì không quá giỏi, nhưng ở vai trò quản lý sản phẩm thì đỡ tệ hơn. Họ cảm thấy FPC là một điển hình của kiểu "duct tape programming", và đây là tinh thần lập trình như vậy duy nhất họ từng thấy ở C#.
  • Ký ức về lập trình Pascal

    • Cuối cùng, một người dùng nhớ lại rằng quãng thời gian lập trình bằng Turbo/Borland Pascal là niềm vui nhất của họ. Hệ thống biên dịch Unit hoạt động rất tốt; quá trình biên dịch, sử dụng, chỉnh sửa và gỡ lỗi đều cực nhanh. Khi chuyển sang Delphi thì có điều gì đó bị mất đi, và họ cho rằng mọi người bắt đầu đi tìm nơi khác. Pascal đã giúp họ chuyển từ Apple Basic sang C/C++; đồng thời họ còn có cơ hội học hỏi qua việc dùng assembly nội tuyến.