MetaCity is an immersive, decentralized city-builder game where players design, build, and manage their own virtual metropolis. Built with a modern web stack, it simulates blockchain concepts like NFTs for in-game assets and a DAO for governance, offering a unique blend of strategic gameplay and decentralized principles.
This project was bootstrapped with Firebase Studio.
- Dynamic City Building: Place various types of buildings, including residential, commercial, industrial, and parks.
- Resource Management: Balance key resources like Gold, Citizens, and Happiness to grow your city.
- NFT-based Assets: Every building and land parcel is simulated as an NFT, owned by the player.
- DAO Governance: Participate in a decentralized autonomous organization (DAO) to vote on proposals that shape the game's future.
- Simulated Marketplace: Buy and sell building NFTs with other players in an in-game marketplace.
- AI-Powered Gameplay:
- Dynamic News: An AI agent generates in-game news headlines based on real-world events, making the city feel alive.
- Generative Descriptions: Get unique, AI-generated descriptions for your buildings.
- Smart Tutorials: An AI-powered tutorial system provides contextual guidance based on your progress.
To get the development server running locally:
-
Install Dependencies:
npm install
-
Run the Development Server:
npm run dev
-
Open the Application: Open http://localhost:9002 in your browser to see the result.
You can start by editing src/app/page.tsx. The page auto-updates as you edit the file.
This project leverages a modern, powerful tech stack:
- Framework: Next.js (with App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: ShadCN UI
- AI Integration: Google's Genkit
- State Management: React Context &
useReducer
This is a starter project generated by Firebase Studio. Contributions and suggestions are welcome! Feel free to open an issue or submit a pull request to improve the game.
This project is a demonstration and uses simulated blockchain interactions. No real cryptocurrency is required to play.