nói dối e blog

Hành Trình Trò Chơi - Những Suy Ngẫm Về Lập Trình Của Tôi: Thông Tin Điều Chỉnh

Ngày hôm nay khi nhận được 8 cuốn sách mẫu từ nhà xuất bản, không khí vô cùng sôi động khi những cuốn sách được chia hết chỉ trong vài phút :). Về tổng thể chất lượng đóng bìa khá ổn, tuy nhiên khi lật xem qua tôi nhận thấy tồn tại một vài lỗi kỹ thuật nhỏ trong quá trình in ấn. Ban đầu tôi không quá quan tâm đến vấn đề này, nhưng suy nghĩ lại thấy cần phải lập một bảng danh sách lỗi đã phát hiện để bạn đọc tiện theo dõi. Như vậy sẽ giúp nhà xuất bản kịp thời chỉnh sửa trong lần tái bản tiếp theo. Rất mong nhận được sự chỉ giáo từ quý độc giả.

Hãy Hỗ Trợ Việc Biên Dịch Tệp Fx Cho Bjam

Từ lúc dự án mới bắt đầu, chúng tôi đã quyết định từ bỏ môi trường IDE Visual C++ để chuyển sang sử dụng công cụ build phù hợp hơn. Quá trình lựa chọn này đã tiêu tốn không ít thời gian và công sức của cả đội. Ban đầu chúng tôi thử dùng Makefile - công cụ phổ biến lúc bấy giờ, nhưng càng dùng càng thấy phức tạp, đặc biệt không phù hợp với đặc thù dự án của chúng tôi. Sau đó chuyển sang dùng Jam (trong quá trình này cũng từng thử nghiệm Apache Ant và vài công cụ khác nhưng không đi đến kết quả), dù phải dành nhiều thời gian học cách sử dụng do cú pháp hoàn toàn khác biệt so với ngôn ngữ C quen thuộc. Khi vừa mới làm quen được chút đỉnh thì đồng nghiệp lại đề xuất thử nghiệm bjam - lúc này mới vỡ lẽ vì sao cộng đồng Boost lại “đỉnh” đến vậy, họ đã biến cái công cụ nhỏ xinh Jam thành một hệ thống xây dựng vô cùng mạnh mẽ.

Khi Biên Tập Viên Cũng Trở Thành Trò Chơi

Khi biên tập viên cũng trở thành trò chơi

Khi biên tập viên cũng trở thành trò chơi

Khi biên tập viên cũng trở thành trò chơi

Khi trình soạn thảo trở thành trò chơi

Gần đây, nhóm chúng tôi bắt đầu một dự án mới: một trò chơi 2D, được phát triển song song với dự án 3D chính. Cách làm này giúp tối ưu hóa nguồn lực và tận dụng hiệu quả các công cụ hiện có. Công nghệ cho trò chơi 2D hiện đã rất trưởng thành, nên tôi kỳ vọng có thể hoàn thành dự án trong vòng hai đến ba tháng tới.

Lại Làm Bjam Buồn Một Lần Nữa

Tưởng tượng cảm giác thất vọng của tôi khi đến công ty vào buổi sáng và nghe đồng nghiệp báo tin dữ về lỗi syntax trong tập tin jamfile! Vấn đề nằm ở cách sử dụng yêu cầu dự án khi xây dựng cấu trúc thư viện tĩnh giữa các cấp thư mục. Cụ thể, khi tạo một thư viện tĩnh ở thư mục cấp cao mà muốn tham chiếu đến nó ở các thư mục cấp thấp hơn bằng cách khai báo lồng ghép trong từng cấp project thì hệ thống lại báo lỗi.

Máy Ảo Chỉ 12KB Thôi!

Hôm nay tích hợp thành công máy ảo script vào engine đang phát triển. Khi build theo định dạng nhị phân đa nền tảng mới, kích thước chỉ vỏn vẹn 12.6KB! :D Nhỏ gọn hơn rất nhiều so với Lua ^^ Mừng quá phải chill cái đã. Nếu chạy trên các hệ thống 16-bit hoặc 8-bit thời xưa, kích thước còn có thể thu nhỏ hơn nữa. Giá như mấy chục năm trước, khi không gian địa chỉ máy tính chỉ có 64KB thì còn tuyệt vời hơn nữa… thời đó là cơn ác mộng thực sự với các developer!

Một Phương Pháp "Tiểu Xảo" Để Triển Khai Lập Trình Hướng Đối Tượng Trong Ngôn Ngữ Kịch Bản

Ngày hôm nay, bộ biên dịch kịch bản mà tôi đang phát triển cùng với máy ảo phía trước đã hoàn thành toàn bộ. Đây là một thành tựu đáng tự hào! Giống như Lua, về kiểu dữ liệu phức tạp, tôi chỉ hỗ trợ duy nhất kiểu “table” - một cấu trúc dữ liệu đa năng có thể vừa đóng vai trò như mảng (array) vừa hoạt động như bản băm (hash map). Trong cộng đồng sử dụng Lua, nhiều người thường tận dụng table để mô phỏng các lớp (class). Tuy nhiên, Lua chỉ cung cấp một mức hỗ trợ rất hạn chế thông qua cú pháp đặc biệt: như tài liệu chính thức ghi nhận, đoạn mã function t.a.b.c:f (...) ... end sẽ được tự động chuyển đổi thành t.a.b.c.f = function (self, ...) ... end.

0%