nói dối e blog

Những Vấn Đề Thiết Kế Tương Tác Trên Màn Hình Cảm Ứng

Trong quá trình phát triển game hiện tại, chúng tôi luôn ưu tiên thiết bị di động, tập trung vào các tương tác dành riêng cho màn hình cảm ứng. Nếu trong giai đoạn thử nghiệm chỉ sử dụng chuột trên máy tính, nhiều vấn đề tương tác quan trọng sẽ bị bỏ qua. Vì lý do này, công cụ phát triển nội bộ của chúng tôi đã đầu tư mạnh mẽ để đảm bảo tính “thấy được ngay lập tức” khi chỉnh sửa trực tiếp trên thiết bị di động. Chúng tôi khuyến khích các lập trình viên nên trực tiếp debug và điều chỉnh trên điện thoại, bởi cách này giúp phát hiện những lỗi khó nhận biết khi dùng chuột.

Kiến Trúc Lưu Trữ Chuỗi Gián Đoạn

Hầu hết các cấu trúc dữ liệu cơ bản đều có độ dài cố định, điều này khiến cho việc tối ưu quản lý bộ nhớ trở nên dễ dàng hơn nhiều. Tuy nhiên, chuỗi ký tự lại là một trường hợp đặc biệt. Quản lý bộ nhớ có bản chất hoàn toàn khác biệt so với quản lý các tài nguyên khác. Nó giống như việc cắt bánh kem - ta có thể dễ dàng cắt lấy phần cần thiết từ khối bánh nguyên vẹn, nhưng việc ghép nối các mảnh vụn đã qua sử dụng lại cực kỳ khó khăn. Hãy tưởng tượng một ví dụ cực đoan: nếu heap bộ nhớ 2GB bị phân bổ vài byte ở chính giữa mà không bao giờ giải phóng, khối bộ nhớ này sẽ vĩnh viễn bị chia cắt thành hai phần dưới 1GB. Điều này khiến việc phân bổ block 1GB sau đó trở nên không thể thực hiện.

Những Năm Tháng Vật Lộn Với Khô Mắt Và Viêm Kết Mạc

Suốt mấy năm qua, tôi luôn phải đối mặt với tình trạng khô mắt và viêm kết mạc. Trước đại dịch, mỗi lần tắm xong là đôi mắt lại đỏ ngầu, nhưng vì không ảnh hưởng nhiều đến sinh hoạt nên tôi chẳng mấy để tâm. Dần dần, mắt bắt đầu có cảm giác khô rát, mệt mỏi kéo dài. Những lúc nặng nhất, mí mắt như dính chặt vào nhau, khó mở ra được. Tệ nhất là khi lái xe - lúc mà mắt không thể nghỉ ngơi, cảm giác vô cùng khó chịu. Đến buổi tối, khi ánh sáng yếu đi, tầm nhìn xa trở nên mờ ảo như phủ sương.

Skynet 1.6.0 - Bản Cập Nhật Mùa Thu 2023

Trong nửa tháng vừa qua, do chính sách phòng dịch mới tại Quảng Châu, tôi đã làm việc tại nhà và tranh thủ hoàn thiện phiên bản Skynet 1.6.0 sau đúng một năm kể từ bản 1.5.0 ra mắt năm ngoái. Dù không mang đến những thay đổi đột phá, bản cập nhật lần này tập trung khắc phục hàng loạt lỗi nhỏ tích tụ trong quá trình sử dụng, đồng thời cập nhật toàn bộ các thư viện phụ trợ quan trọng như Lua và jemalloc lên phiên bản mới nhất.

Hành Trình Tiến Hóa Của Mô-Đun IO Trong Động Cơ Game

Mô-đun IO của động cơ game chúng tôi đã trải qua nhiều lần cải tiến và thay đổi trong suốt quá trình phát triển. Phiên bản đầu tiên ra đời từ hơn bốn năm trước, nhưng đến nay vẫn chưa có bản thiết kế cuối cùng. Một phần nguyên nhân xuất phát từ yêu cầu kỹ thuật đặc biệt: động cơ game có khả năng tự cập nhật qua mạng. Điều này khiến việc cập nhật chính động cơ phụ thuộc vào mô-đun IO, bao gồm cả việc cập nhật chính mô-đun IO đó. Đặc biệt hơn, động cơ còn xây dựng trên nền tảng khung Lua đa luồng ltask, trong khi bản thân ltask lại cần mô-đun IO để khởi động. Những yếu tố thiết kế này ra đời sau khi mô-đun IO được xây dựng, dẫn đến việc phải tái cấu trúc nhiều lần.

Hành Trình Vật Lộn Với IPv6 Của Đường Truyền Viễn Thông

Vào cuối tuần vừa rồi, tôi quyết định “đập đá” với việc tải BitTorrent tại nhà. Tuy nhiên, UPnP bỗng dưng không hoạt động được khiến tôi phải kiểm tra lại thiết bị quang mạng (modem quang).

Điều bất ngờ đầu tiên là hiện tại đường truyền của VNPT đã mặc định để modem quang đóng vai trò bộ định tuyến chính. Bộ phát wifi của tôi đang hoạt động như router cấp 2. Điều này đồng nghĩa với việc muốn kích hoạt UPnP hay DMZ, tôi phải cấu hình trực tiếp trên modem quang.

0%