“The scoreboard is reset. The Sixers are closing in. And now, the artifacts aren’t just scattered… they’re encoded.”
“Yo Gunter! We’ve uncovered a new vault buried deep in the OASIS—each world’s artifacts are encrypted in different formats. JSON files are the key, but they’re all formatted differently. IOI is sniffing around, and Parzival needs backup. We’re counting on you to decode, extract, and safeguard the truth.”
Welcome to your final challenge, Gunter. You are now a certified artifact archivist — a Filemaster. Your job is to create a covert command-line intelligence tool capable of parsing, managing, and recording changes across multiple game universes.
You’ll build a Python program that can:
Load data from wildly different JSON formats.
Let users add, search, and delete in-world game items.
Maintain a timestamped logbook (log.txt) of every action — a digital audit trail.
Hide an admin-only backdoor to reveal the full log… if the passcode is known.
Optionally export legendary-level loot to a master list for bonus XP.
Build a flexible Python application that:
🚀Lets the user select from multiple .json files (each representing a real-world game).
🔄Parses and displays data correctly based on the file’s structure.
🎮Lets users add and delete data.
✍️Saves changes to the correct JSON file.
📖Appends actions with timestamps to log.txt.
🧠Includes a secret menu option for reading the full log.
BONUS: Exports filtered data to new .json files for bonus XP.
This isn’t just another Python project. This is your trial by fire — a digital rite of passage inside the OASIS. Your mission is broken into three distinct tiers: Core, Advanced, and Master Gunter levels. Each stage unlocks more abilities, earns you higher XP, and—if you’re sharp enough—reveals secret Easter Eggs buried within the codebase.
Welcome to the frontlines. Core Gunters will prove their worth by completing essential tasks: loading and reading JSON files, displaying game data in world-specific formats, and letting users modify the archives. You’ll handle Pokémon balls, enchanted Minecraft gear, and Diablo amulets—all uniquely formatted. Finish this tier, and you’ll earn a guaranteed spot on the scoreboard, along with your first few credits and a key to the logbook.
Now things get serious. Advanced Gunters are entrusted with the logbook — a covert .txt file recording every add, edit, and deletion across the multiverse. You’ll also unlock powerful admin features, like searching the entire inventory and accessing a hidden menu—if you can crack the passcode. Complete this tier and you’ll gain advanced creds, access to restricted content, and maybe even a message from Anorak himself.
Only the boldest reach this level. Master Gunters go beyond the mission brief: implementing duplicate detection, building backup systems, exporting legendary and mythic items into a cross-game artifact vault, and generating dashboards worthy of Halliday’s analytics rig. These challenges are optional—but finishing them earns you elite status, secret lore, and Easter Eggs that may just carry over to the next mission...
Every step you complete increases your score, cred level, and the chance to unlock hidden narrative events and OASIS trivia woven into the logs and exports. Think of it like coding with XP boosts — the more you dive in, the more the game world responds.
You'll see the json files you need listed below. Copy the text and create those files in your directory
poke_data.json
minecraft_data.json
diablo_data.json
The rare_artifacts.json will be a file which will get the rare/unique items from each of the other games. You're responsible for writing this file yourself!
We're going to stay in the theme of Ready Player One, and visit the OASIS!! Get Ready!
Options: Pokemon Go, Diablo IV, Minecraft
Load the appropriate JSON file
Pokemon Go: flat list of item dictionaries
Diablo IV: nested dictionary with categories
Minecraft: UUID-keyed dictionary with attributes
Custom output per game world (see examples below)
Prompt the user for different fields based on the game selected
Append the data correctly into the loaded JSON structure
Use json.dump() with indent formatting and Unicode handling
Log should include timestamp, game name, item name, and action type
Remove an entry from the selected game's structure
Handle flat lists, nested lists, or key-based deletions
Log the deletion to log.txt
Search by item name (case-insensitive)
Show full info if found, or print a not-found message
Hidden option that asks for a passcode
If correct, print the entire log.txt file in readable format
Prompt user for a name when adding an item (store in JSON)
Check for existing item names before adding
Allow update or cancel if a duplicate is detected
Export all items of rarity Legendary, Mythic, or Epic to rare_artifacts.json
Include source_game, name, rarity, and key attributes
Show how many items exist per game
Bonus: count by category (e.g., legendary vs quest vs weapons)
Before saving changes, create a timestamped backup of the JSON file
Filename format: backup_<game>_YYYY-MM-DD.json
Fields: name, item_type, description, rarity, max_stack, effects[], usable_in_battle, usable_on_map, cost (pokecoins, usd)
Fields: name, type, description, rarity, level_required, class_restrictions[], effects[], flavor_text
Fields: uuid, item_id, custom_name, type, description, rarity, durability, max_durability, unbreakable, enchantments[], attributes{}
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
if os.path.exists(old_name):
os.remove(filename)
os.rename(old_name, new_name)