A Crafted a roguelite ASCII game using rot.js with a twist: a custom SVG renderer for Farcaster frames & saved world states. Unoptimized but scalable, it’s a playable demo with blockchain integration on the horizon.
Introduction FUD, short for Farcaster User Dungeons, is an innovative roguelite game developed for the ETH Global Hackathon. It represents a harmonious blend of traditional dungeon crawler elements with modern blockchain technology, bringing a unique gaming experience to both nostalgic players and contemporary enthusiasts of decentralized applications.
Game Concept FUD is built around the core mechanics of classic ASCII-themed dungeon crawlers, where players navigate through procedurally generated labyrinths filled with monsters, treasures, and intricate puzzles. The game employs ASCII art for its visual representation, paying homage to the early days of computer gaming while integrating modern gameplay mechanics and storytelling.
Gameplay FUD features a permadeath system, where players must mint a character NFT and carefully navigate dungeons with a character that has only one life. Character progression is achieved through acquiring skills, items, and power-ups found within the dungeons. The game's difficulty scales with the player's progression, offering a challenging yet rewarding experience. If user lost the NFT gets burn. (demo only implements gameplay and frame)
GPT For this project, I utilized the rot.js engine known for its ASCII game development capabilities. Since rot.js primarily supports canvas, I crafted a custom SVG renderer to visually represent the state of a Farcaster frame. Additionally, I managed to save each player's world state along with the PRNG, resulting in a compact yet unoptimized object. This approach hints at scalability potential. However, the current SVG rendering method lacks optimization; it processes each square individually rather than grouping similar squares, suggesting an area for enhancement. While the blockchain mechanism is not yet integrated, making this primarily a playable game demo, its addition should be straightforward in future developments.