Những Ngày Ấy (Mười Tám) - nói dối e blog

Những Ngày Ấy (Mười Tám)

Những ngày tháng ấy (Phần mười tám)

Sau khi thu phí bản Đại Thoại 2, vì tôi không còn tham gia nhóm phát triển dự án này nữa nên cũng không còn nhiều ấn tượng sâu sắc. Tuy nhiên tôi vẫn thường quan tâm theo dõi. Nhớ lúc mới trở lại công ty vào tháng 10, trong kênh chat của game thường xuyên xuất hiện những lời kêu cứu của game thủ bị lừa đảo. Họ dùng tiền ảo trong game đổi lấy thẻ nạp điểm, nhưng luôn gặp phải tình trạng một bên thất hứa đơn phương.

Chúng tôi từng cân nhắc thêm vào điều khoản cấm giao dịch giữa vật phẩm ảo, tiền tệ ảo trong game với tiền thật vào thỏa thuận người dùng, giống như Blizzard đang làm với World of Warcraft ngày nay. Một trực giác mách bảo rằng khi tiền bạc thực sự tham gia vào game, bản thân trò chơi sẽ bị ảnh hưởng tiêu cực.

Tuy nhiên trực giác không phải lúc nào cũng đúng. Dù có thể dùng quy tắc lập trình để hạn chế chuyển nhượng vật phẩm ảo, nhưng điều này sẽ phá vỡ trải nghiệm game một cách nghiêm trọng. Giống như việc nước Mỹ từng ban hành lệnh cấm rượu nhưng cuối cùng không thể duy trì, thay vì cấm đoán triệt để, tốt hơn nên tạo điều kiện thuận lợi để dẫn dắt. Nhóm phát triển quyết định xây dựng một hệ thống giao dịch thẻ nạp điểm công bằng.

Hệ thống này bắt đầu thử nghiệm trên một máy chủ vào cuối tháng 10 năm 2002, sau đó nhanh chóng mở rộng toàn bộ máy chủ. Tôi rất ủng hộ sáng kiến này nhưng không trực tiếp tham gia về mặt kỹ thuật. Trong quá trình thảo luận, tôi chỉ nhấn mạnh một điểm duy nhất: nhất định phải đánh thuế trong quá trình giao dịch. Đề xuất này đã được nhanh chóng thông qua.

Ban đầu hệ thống giao dịch thẻ điểm không được đánh giá cao, không ai ngờ tới giá trị thực sự của nó. Đây chỉ là ý tưởng nảy sinh trong chốc lát của vài lập trình viên khi thấy nhu cầu của game thủ. Khi thiết kế và triển khai, hoàn toàn không tính đến việc thúc đẩy doanh thu game. Có lúc còn xuất hiện tin đồn game thủ thấy những thẻ điểm ký gửi được hệ thống “biến ra tiền” để mua lại. Thực tế điều này chưa từng xảy ra, nếu thật sự làm vậy cũng rất dễ bị phát hiện. Sau khi cân nhắc kỹ lưỡng, chúng tôi thấy không cần thiết phải làm như vậy.

Với sự hỗ trợ của hệ thống này, hệ thống kinh tế trong game đạt được trạng thái cân bằng ổn định hơn. Thực tế đã thúc đẩy sự phát triển của game. Công cụ tài chính có thể thúc đẩy kinh tế, và hệ thống giao dịch thẻ điểm chính là một công cụ tài chính đặc biệt như vậy - thứ không thể tồn tại trong xã hội thực nhưng lại là bổ sung vô cùng hữu ích cho xã hội ảo trong game online.

P/s: Vài năm sau, tôi quay lại nghiên cứu vấn đề này và viết một bài blog.

Dần dần tôi cũng hiểu rõ sự khác biệt giữa game online và game đơn thời xưa. Game online chú trọng hơn vào giao tiếp giữa con người với con người, thực chất là mô phỏng một xã hội. Sự ổn định và cân bằng của xã hội này là một quá trình động, không thể chỉ dựa vào thiết kế ban đầu. Hành vi con người không tuân theo khuôn mẫu cố định, đặc biệt là trong cộng đồng nhỏ hơn xã hội thực rất nhiều, quy luật càng bất định. Không có quy tắc game nào là vạn năng. Việc liên tục sửa đổi, bổ sung, điều chỉnh quy tắc chính là quá trình điều tiết động. Nhiều sản phẩm của chúng tôi và các đối thủ sau này thất bại một phần cũng vì không trải qua giai đoạn điều chỉnh này.

Vì không còn áp lực dự án, tôi tập trung vào nghiên cứu học tập những thứ thú vị. Vì yêu thích C++, phần lớn thời gian tôi dành cho ngôn ngữ này. Ví dụ như thư viện boost, đọc mã nguồn của nó trở thành một phần công việc chính.

Ban đầu tôi tìm hiểu boost.thread, vì trước đó từng đau đầu với độ phức tạp của lập trình đa luồng. Tôi tin rằng C++ có thể đưa ra giải pháp để giảm bớt độ phức tạp này. Thư viện thread được thiết kế tốt rất đáng tham khảo. Lúc đó tôi cũng trao đổi với Lý Tân - người kế nhiệm Hoàng Hiểu Đông trong nhóm Bong Bóng, họ đã từng thử nghiệm boost.thread trong dự án. Khi hỏi ý kiến, anh ấy nói phát hiện ra công cụ này còn chưa ổn định, tồn tại một số lỗi. Đến nay không thể xác định rõ những vấn đề nhóm Bong Bóng gặp phải có thực sự do boost.thread hay không. Tuy nhiên, việc gỡ lỗi thư viện mẫu C++ vốn đã khó khăn, điều này đã ảnh hưởng sâu sắc đến tiến độ phát triển thực tế.

Từ kho lưu trữ thư mục email về C++ của chúng tôi vào tháng 10/2002 có thể thấy nhiều chủ đề được quan tâm lúc bấy giờ. Tôi từng tìm hiểu boost.python, một trong số ít thành phần của boost cần biên dịch mới dùng được. Điều khiến tôi tò mò là tại sao lại là boost.python mà không phải boost.ruby. Có vẻ cộng đồng C++ thực sự yêu thích Python, điều này khiến tôi bắt đầu chú ý đến ngôn ngữ Python.

Boost.python rất thú vị, không chỉ ở việc nó làm được gì mà còn ở cách thức thực hiện. Ví dụ như phân loại con trỏ để Python có thể xử lý đúng vòng đời đối tượng C++, tránh lỗi con trỏ treo (dangling pointer). Boost.python cũng rất năng động, chỉ trong vài ngày tôi thử nghiệm, giao diện của nó đã được thay đổi hoàn toàn.

Vài hôm đó, Mạnh Nham từng phỏng vấn cha đẻ của C++ là Stroustrup tại Bắc Kinh. Trở về anh đăng một bài viết lên thư mục email C++, trong đó có đề cập đến Python: “Ông ấy (Stroustrup) cho rằng Python rất thú vị, nhưng nói Python là lựa chọn tốt nhất đồng hành cùng C++ thì hơi quá. Vì C++ vốn đã là lựa chọn tốt cho nhiều ngôn ngữ khác nhau. Quan trọng không phải ngôn ngữ nào xuất sắc hơn, mà là chọn công cụ phù hợp nhất để giải quyết vấn đề. C++ ít khi được dùng để xây dựng toàn bộ hệ thống, thường chỉ dùng cho các phần quan trọng, lúc này ông ấy khuyến khích kết hợp ngôn ngữ khác với C++. Trên thực tế, điều này đã được làm từ lâu.”

Cũng đáng chú ý là một số quan

0%