Dushi — Gemstone Trading Simulation
A full-stack gemstone trading simulation featuring blind auctions, stone processing, dynamic appraisal, and a data-driven game economy built with ASP.NET Core, Unity, and PostgreSQL.
Status
Period
Category

Dushi is a full-stack gemstone trading simulation game that recreates the uncertainty, risk, and decision-making involved in the rough-stone market. Players acquire unidentified stones through blind bidding, choose how to process them, estimate their potential value, and sell them through different market channels.
The project focuses on building a game economy in which every decision has measurable consequences. A stone may be opened, cut, polished, or turned into a finished product, but each additional step introduces cost and risk. Players must balance incomplete information, processing expenses, market conditions, and expected returns before deciding whether to continue investing or sell.
Overview
Core Gameplay:
- Blind auctions for unidentified rough stones
- Competitive bidding and purchase settlement
- Stone processing, including window opening, cutting, polishing, and setting
- Dynamic appraisal based on stone properties and processing results
- Inventory and ownership management
- Direct resale, consignment, auction, and market transactions
- Wallet balances, transaction records, and operation history
- Configurable probability, pricing, and economic rules
Stone results can be reconstructed from deterministic seeds, allowing the system to reproduce outcomes consistently while keeping the underlying attributes hidden from the player. Game rules are versioned separately so that balancing changes do not invalidate existing stones or saved data.
System Design:
- Backend-first architecture with dedicated domain layer
- ASP.NET Core Minimal APIs with PostgreSQL and SQLite
- Unity 6 client SDK for game-backend communication
- Deterministic stone generation from seeds
- Versioned game rules for safe balancing updates
- Automated testing, economic simulation, and deployment scripts
- Database migration, backup, and recovery scripts
Engineering Highlights:
- Automated tests, economic simulation tools, database integrity checks
- Deployment scripts and backup workflows
- Separate runtime libraries for Unity integration
- Designed for future expansion: additional stone categories, advanced appraisal, player-to-player trading, market events, richer auction mechanics, data-driven balancing
Technology Stack:
- C# and .NET
- ASP.NET Core Minimal APIs
- Unity 6
- PostgreSQL and SQLite
- HTML, CSS, and JavaScript
- RESTful API architecture
- xUnit automated testing
- Linux deployment with systemd
- Database migration, backup, and recovery scripts
Background
Detailed project background and motivation will be documented here.
Technical Architecture
System architecture, data flow, and technical decisions will be documented here.