Skip to content

Chia Sẻ Thủ Thuật

  • Sample Page

Chia Sẻ Thủ Thuật

  • Home » 
  • Thủ Thuật Máy Tính » 
  • Lưu trữ dữ liệu trong Pokémon Emerald: Khám phá dự án mon-fs độc đáo

Lưu trữ dữ liệu trong Pokémon Emerald: Khám phá dự án mon-fs độc đáo

By Administrator Tháng 8 18, 2025 0
Giao diện công cụ web mon-fs hiển thị thông tin Pokémon cần tạo để lưu trữ dữ liệu trong Pokémon Emerald
Table of Contents

Pokémon Emerald là một tựa game kinh điển, gợi lên vô vàn ký ức hoài niệm về những tựa game Pokémon cũ. Ngày nay, cộng đồng modding dành cho các phiên bản Pokémon đời đầu vẫn đang phát triển mạnh mẽ, liên tục tạo ra những bản chỉnh sửa do người hâm mộ phát triển, kéo dài tuổi thọ của game hàng thập kỷ. Tuy nhiên, một trong những điều thú vị nhất mà cộng đồng này đã làm được là khả năng lưu trữ một tệp tin bên trong Pokémon Emerald. Chính xác hơn, một tệp tin có kích thước lên tới 10.8 KB… và tôi đã thử nghiệm điều đó.

Để dễ hình dung, khi bạn mở một tệp tin trên máy tính của mình, dù đó là tài liệu văn bản, hình ảnh, hay thậm chí là trang web này, bạn đang tương tác với một tập hợp các cấu trúc dữ liệu mà máy tính của bạn hiểu cách diễn giải để hiển thị thông tin theo ý muốn. Với một trang web, bạn có thể dễ dàng thấy điều này bằng cách xem mã nguồn trang. Bạn sẽ thấy mã HTML mà trình duyệt của bạn biết cách đọc và hiển thị, tương tự như cách máy tính của bạn biết cách đọc dữ liệu bên trong tệp JPG để hiển thị hình ảnh.

Khái niệm trừu tượng này cho thấy, về cơ bản, bất kỳ thứ gì cũng có thể hoạt động như một “vật chứa” tệp tin, miễn là có một cách cấu trúc để dữ liệu có thể được lưu trữ và sau đó được truy xuất trong tương lai. Vì vậy, việc lưu trữ dữ liệu trong Pokémon Emerald là hoàn toàn khả thi… và tất cả là nhờ vào dự án mon-fs, nơi dữ liệu của bạn sẽ được mã hóa dưới dạng các Pokémon. Quá trình này khá phức tạp, chậm chạp, nhưng đây là một cách rất thú vị để giải thích cách dữ liệu được lưu trữ và gần như bất cứ thứ gì cũng có thể được sử dụng để chứa dữ liệu.

Pokémon ẩn chứa lượng lớn dữ liệu

Toàn bộ 68 bit dữ liệu trên mỗi Pokémon

Mỗi Pokémon trong game đều mang theo một lượng lớn dữ liệu được liên kết với chúng. Hãy xem xét các hình ảnh được ghi lại từ quá trình mã hóa một tệp tin vào bản lưu Emerald của tôi. Bản thân Pokémon, biệt danh của nó, giới tính, OT (Người huấn luyện gốc), ruy băng, loại bóng dùng để bắt, và điểm kinh nghiệm – tất cả đều là những giá trị mà người chơi có thể tác động, và đó chính xác là cách mon-fs hoạt động. Dự án này hoạt động ở hai chế độ: “Full” (Đầy đủ) và “Lite” (Tối giản).

  • Lite (Tối giản): Một tệp tin có dung lượng lên đến 3.2 KB có thể được lưu trữ trong game. Ở chế độ này, mọi Pokémon đều có thể được bắt và đặt tên mà không cần công cụ bên ngoài.
  • Full (Đầy đủ): Một tệp tin có dung lượng lên đến 10.8 KB có thể được lưu trữ, nhưng sẽ yêu cầu một trình chỉnh sửa file lưu (save editor) để hoạt động.

Sự khác biệt giữa hai chế độ này nằm ở lượng dữ liệu dễ dàng truy cập được bởi người dùng. Ví dụ, có 386 Pokémon trong Emerald, điều này có thể cho phép mã hóa 8 bit dữ liệu. Tuy nhiên, chỉ có 202 Pokémon có thể bắt được, và nếu tính cả những Pokémon chỉ có thể bắt một lần hoặc nhận qua trứng, con số này còn giảm đi nữa. Sau khi loại bỏ những Pokémon đó và cân nhắc yếu tố tiện lợi, số lượng này giảm xuống còn bốn Pokémon riêng biệt, cho phép lưu trữ hai bit dữ liệu. Bốn Pokémon này bao gồm:

  • Poochyena
  • Whismur
  • Taillow
  • Nincada

Cả bốn Pokémon này đều có thể bắt được trên Tuyến đường 116, và tất cả chúng đều có tỷ lệ xuất hiện từ 20% trở lên. Chúng cũng có tỷ lệ đồng đều là đực hoặc cái khi bắt gặp, cung cấp thêm một bit dữ liệu ngoài hai bit được cung cấp bởi chính loài Pokémon.

Cách tiếp cận này có thể đồng nghĩa với việc bạn không thể lưu trữ nhiều dữ liệu hơn, nhưng nó có nghĩa là việc một người thực sự bắt những Pokémon này, đặt tên đúng cách và đưa cho chúng những vật phẩm thích hợp để biểu thị dữ liệu thực sự trở nên dễ dàng hơn đáng kể. Đối với tên, điều này cung cấp 60 bit dữ liệu và sử dụng mọi ký tự tiếng Anh cùng hầu hết các ký hiệu. Khoảng trắng được loại trừ để dễ dàng nhập tên bằng tay hơn. Cuối cùng, vật phẩm mà Pokémon giữ cung cấp 5 bit dữ liệu, vì 32 vật phẩm có thể được mua rẻ trong game và đưa cho Pokémon giữ.

Tất cả những điều này mang lại cho chúng ta các điểm dữ liệu sau:

  • Loài: 2 bit
  • Tên: 60 bit
  • Giới tính: 1 bit
  • Vật phẩm giữ: 5 bit

Tổng cộng, điều này cung cấp 68 bit trên mỗi Pokémon. Với 419 ô trống có sẵn (ô cuối cùng sẽ cần được sử dụng để đệm dữ liệu), chúng ta có tổng cộng 28488 bit có thể sử dụng, tương đương với 3.561 KB.

Mã hóa tệp tin thành hàng loạt Pokémon

Thực hiện công việc một cách tỉ mỉ bằng tay

Giao diện công cụ web mon-fs hiển thị thông tin Pokémon cần tạo để lưu trữ dữ liệu trong Pokémon EmeraldGiao diện công cụ web mon-fs hiển thị thông tin Pokémon cần tạo để lưu trữ dữ liệu trong Pokémon Emerald

Có một tiện ích web đi kèm với mon-fs sẽ lấy một tệp tin và chỉ cho bạn các Pokémon bạn cần, các vật phẩm để cho chúng giữ và tên để đặt cho chúng. Bạn có thể lưu một tệp “pc.json” để phác thảo những yêu cầu này, và tệp này có thể được tải lên lại trang web tương tự để lấy lại tệp đầu ra. Như bạn có thể thấy ở hình trên, nó đưa ra các yêu cầu sau:

  • Poochyena: Đực, không giữ vật phẩm, tên “baaaaaaaaa”
  • Nincada: Đực, giữ X Accuracy, tên “aaaaaaaaaa”
  • Poochyena: Đực, giữ Full Heal, tên “aaaaaaaaaa”
  • Nincada: Cái, giữ Awakening, tên “g6n?Gizsvr”
  • Whismur: Đực, không giữ vật phẩm, tên “pRh/vBaCaa”
  • Poochyena: Đực, giữ Revive, tên “aaaaaaiwg6”
  • Whismur: Cái, không giữ vật phẩm, tên “qBcxefviaa”

Bây giờ, giả sử tôi bắt tất cả những Pokémon này, điều gì sẽ xảy ra tiếp theo? Làm thế nào để ai đó có thể lấy thông tin, chuyển cho người khác và để họ giải mã nó? Họ có thể sử dụng công cụ mon-fs mà bạn cung cấp ảnh chụp màn hình, sử dụng công nghệ OCR, và xuất ra tệp pc.json trở lại… hoặc người dùng khác có thể tải tệp lưu của bạn lên, nhập thủ công các chi tiết vào trang web, và giải mã tại chỗ.

Màn hình giải mã dữ liệu trên trang web mon-fs từ các Pokémon trong hộp PCMàn hình giải mã dữ liệu trên trang web mon-fs từ các Pokémon trong hộp PC

Dù bằng cách nào, bạn cũng sẽ phải thực hiện một quá trình tái tạo tệp tin một cách tỉ mỉ. Chưa kể đến việc đi ra ngoài và bắt các Pokémon cũng sẽ mất một thời gian, vì vậy đây không hẳn là một cách thực tế để chuyển tệp cho người khác.

Có một số giới hạn được đặt ra ở đây để giúp một người “bình thường” dễ dàng thực hiện điều này trong game với các công cụ có sẵn, mặc dù chế độ “Full” nâng cao giới hạn đáng kể. Ở chế độ này, dung lượng lưu trữ tăng lên 211 bit trên mỗi Pokémon, hoặc khoảng 11.05 KB. Tài liệu trên kho lưu trữ GitHub không nêu rõ lý do tại sao lại như vậy, nhưng chế độ “Full” trên trang web mon-fs tuyên bố rằng các tệp dưới 10.8 KB được đảm bảo sẽ hoạt động. Điều này có thể liên quan đến các giá trị đệm dữ liệu, nhưng tôi không chắc chắn.

Không thực sự hữu ích, nhưng cực kỳ thú vị

Thật khó để tưởng tượng việc dùng Pokémon Emerald để chia sẻ tệp tin

Các Pokémon đã được chèn vào hệ thống PC trong Pokémon Emerald bằng công cụ mon-fsCác Pokémon đã được chèn vào hệ thống PC trong Pokémon Emerald bằng công cụ mon-fs

Tôi đã thử chơi với một phiên bản mon-fs được xây dựng cục bộ để chèn Pokémon và đọc chúng ra khỏi tệp lưu game tại chỗ, và mặc dù việc chèn hoạt động, việc đọc lại thì không. Chương trình không đọc được luồng dữ liệu từ tệp lưu, và tôi cũng không thể khiến công cụ đọc ảnh chụp màn hình bằng OCR và chuyển đổi chúng theo cách đó hoạt động được. Tuy nhiên, việc nhập thủ công trên trang web mon-fs hoạt động, và một người thực sự tận tâm với việc chuyển tệp qua Pokémon có thể làm điều đó bằng tay.

Mặc dù dự án cụ thể này chắc chắn không thực tế đối với hầu hết mọi người, nhưng nó vẫn là một dự án thú vị. Bất kỳ trò chơi nào cho phép bất kỳ loại dữ liệu nào do người dùng kiểm soát về mặt kỹ thuật đều có thể được sử dụng theo cách này, và chúng ta đã thấy các kỹ thuật tương tự cho phép thực thi mã tùy ý trong nhiều trò chơi trước đây, bao gồm cả Pokémon Diamond và Pearl. Tất nhiên, những kỹ thuật này phức tạp hơn đáng kể so với việc chỉ tạo một cấu trúc được nhận dạng từ dữ liệu người dùng và diễn giải nó từ bên ngoài giới hạn của trò chơi.

Các loại khối len nhiều màu sắc trong Minecraft, minh họa cho việc lưu trữ dữ liệu bằng vật phẩmCác loại khối len nhiều màu sắc trong Minecraft, minh họa cho việc lưu trữ dữ liệu bằng vật phẩm

Toàn bộ dự án này thật điên rồ, thú vị và nó có thể dạy cho bạn rất nhiều về cấu trúc dữ liệu và cách bất cứ thứ gì cũng có thể là một phần của cấu trúc dữ liệu nếu bạn có thể kiểm soát thứ tự và một số tham số của các mục được sử dụng để xây dựng mỗi “khối” dữ liệu. Để kết thúc với một ví dụ khác dễ hình dung hơn, người ta có thể làm điều này trong một trò chơi như Minecraft. Có 16 màu len trong Minecraft, và bạn có thể ánh xạ 0-F tới những màu đó, với log_2 của 16 nghĩa là chúng ta sẽ nhận được 4 bit lưu trữ trên mỗi khối đơn lẻ. Chỉ với 100 khối, bạn có thể đại diện cho 0.05 KB dữ liệu; đó không phải là nhiều, nhưng đó là một khái niệm tương tự như việc lưu trữ dữ liệu trong Pokémon Emerald. Một khối len trắng có thể đại diện cho 0000, len xám nhạt 0001, v.v.

Nếu bạn quan tâm đến việc thử nghiệm điều này, hãy xem kho lưu trữ GitHub của mon-fs và truy cập trang web mon-fs. Cả hai sẽ hướng dẫn bạn cách thiết lập và cấu hình nó cho riêng mình, đồng thời có thể cung cấp cho bạn một số ý tưởng về những nơi kỳ lạ khác mà bạn có thể lưu trữ dữ liệu, ẩn mình ngay trước mắt.


Tài liệu tham khảo:

  • Kho lưu trữ GitHub của mon-fs
  • Trang web mon-fs
Share
facebookShare on FacebooktwitterShare on TwitterpinterestShare on Pinterest
linkedinShare on LinkedinvkShare on VkredditShare on ReddittumblrShare on TumblrviadeoShare on ViadeobufferShare on BufferpocketShare on PocketwhatsappShare on WhatsappviberShare on ViberemailShare on EmailskypeShare on SkypediggShare on DiggmyspaceShare on MyspacebloggerShare on Blogger YahooMailShare on Yahoo mailtelegramShare on TelegramMessengerShare on Facebook Messenger gmailShare on GmailamazonShare on AmazonSMSShare on SMS
Post navigation
Previous post

Top 5 Game Bắn Súng Multiplayer Đỉnh Cao Trên Xbox 360 Mà Game Thủ Nên Trải Nghiệm Lại

Next post

Cập nhật Xbox tháng 4/2025: Mua & Chơi Game Dễ Hơn Bao Giờ Hết

Administrator

Related Posts

Categories Thủ Thuật Máy Tính Lưu trữ dữ liệu trong Pokémon Emerald: Khám phá dự án mon-fs độc đáo

Cân Bằng Hiệu Năng, Thẩm Mỹ và Ngân Sách Khi Lắp Ráp PC: Hướng Dẫn Toàn Diện

Categories Thủ Thuật Máy Tính Lưu trữ dữ liệu trong Pokémon Emerald: Khám phá dự án mon-fs độc đáo

DirectStorage: Tối Ưu Hiệu Suất Gaming PC Có Đáng Để Bạn Quan Tâm?

Categories Thủ Thuật Máy Tính Lưu trữ dữ liệu trong Pokémon Emerald: Khám phá dự án mon-fs độc đáo

Cách Khôi Phục Tính Năng Desktop Peek Trên Windows 11 Với Windhawk Mod

Leave a Comment Hủy

Recent Posts

  • Cân Bằng Hiệu Năng, Thẩm Mỹ và Ngân Sách Khi Lắp Ráp PC: Hướng Dẫn Toàn Diện
  • Xbox Developer_Direct 2025: Hé Lộ Những Tựa Game “Bom Tấn” Sắp Ra Mắt
  • Microsoft Ngừng Bán Phim Và Chương Trình TV: Tương Lai Nào Cho Nội Dung Đã Mua?
  • Sở Hữu Smart TV 4K Pioneer Xumo 55 Inch Giá Chỉ 200 USD: Ưu Đãi Không Thể Bỏ Lỡ
  • DirectStorage: Tối Ưu Hiệu Suất Gaming PC Có Đáng Để Bạn Quan Tâm?

Recent Comments

Không có bình luận nào để hiển thị.
Copyright © 2025 Chia Sẻ Thủ Thuật - Powered by Nevothemes.
Offcanvas
Offcanvas

  • Lost your password ?