Page 1 of 5
System Requirements Document (SRD)
Project Name: emerald-game
1. Introduction
The emerald-game is a 3D multiplayer game inspired by the mechanics of "Among Us," but with a unique farming twist. Players take on the roles of farmers tasked with caring for farm animals while an evil farmer works to sabotage their efforts. The game is designed to be engaging, strategic, and fun, with a cartoonish art style to appeal to a wide audience. This document outlines the system requirements for the development of the emerald-game, ensuring clarity and alignment for all stakeholders.
2. System Overview
The emerald-game is a multiplayer game where players are divided into two teams: the Farmers and the Evil Farmer. The Farmers must work together to care for animals and complete tasks to win, while the Evil Farmer uses deception and sabotage to eliminate the animals and disrupt the Farmers' efforts. The game will feature:
- A 3D cartoonish environment.
- Distinct roles for players with unique abilities.
- Multiplayer functionality for up to 10 players per game.
- Cross-platform compatibility (PC and mobile).
- Real-time gameplay with dynamic interactions.
The game will be developed with a focus on fun, strategy, and replayability, ensuring an engaging experience for players.
3. Functional Requirements
- As a Farmer Healer, I should be able to heal injured animals.
- As a Farmer Helper, I should be able to complete tasks faster than other roles.
- As a Farmer Fighter, I should be able to protect animals and fend off sabotage attempts.
- As an Evil Farmer, I should be able to disguise myself as a cow, pig, chicken, or goat to sabotage the Farmers.
- As an Evil Farmer, I should be able to kill animals while disguised.
- As a Player, I should be able to join multiplayer games with up to 10 players.
- As a Player, I should be able to interact with the 3D environment to complete tasks or sabotage.
- As a Player, I should be able to communicate with other players via in-game chat or voice.
- As a Player, I should be able to vote to identify and eliminate the Evil Farmer.
- As a Player, I should be able to customize my character with different outfits and accessories.
Page 2 of 5
4. User Personas
Farmer Healer
- Role: Focuses on healing injured animals to keep them alive.
- Abilities: Can revive animals that have been poisoned or harmed.
Farmer Helper
- Role: Completes tasks faster than other roles to ensure the farm runs smoothly.
- Abilities: Increased task efficiency and speed.
Farmer Fighter
- Role: Protects animals and defends against sabotage attempts.
- Abilities: Can detect and counteract the Evil Farmer’s sabotage.
Evil Farmer
- Role: Sabotages the farm by disguising as animals and harming them.
- Abilities: Can transform into animals (cow, pig, chicken, goat) and poison or kill animals.
5. Visuals Colors and Theme
The emerald-game will feature a vibrant, cartoonish art style with the following color palette:
- Primary Colors:
- Green (#6AB547) for grass and farm elements.
- Blue (#87CEEB) for the sky and water.
- Brown (#8B4513) for soil, barns, and wooden structures.
- Accent Colors:
- Yellow (#FFD700) for highlights and sunny elements.
- Red (#FF6347) for barns, tools, and danger indicators.
- White (#FFFFFF) for animals and clouds.
The overall theme will be playful and lighthearted, with exaggerated proportions and whimsical designs for characters, animals, and the environment.
Page 3 of 5
6. Signature Design Concept
The emerald-game will feature a dynamic, interactive farmyard as the homepage/landing screen. Upon entering the game, players will see a lively 3D farm environment with animals roaming around, wind blowing through the grass, and a cheerful cartoonish sun moving across the sky.
Key features of the landing page:
- Interactive Animals: Players can click on animals to see them react with animations (e.g., cows mooing, chickens clucking, pigs rolling in the mud).
- Dynamic Day-Night Cycle: The farm environment will transition from day to night in real-time, with the sun setting and the moon rising.
- Role Selection Animation: When selecting a role, the character will appear in the center of the screen, performing a unique animation (e.g., the Farmer Healer holding a glowing potion, the Evil Farmer transforming into an animal).
- Background Music and Sound Effects: Cheerful, farm-themed music will play in the background, with sound effects like chirping birds, mooing cows, and rustling leaves.
This immersive and interactive landing page will set the tone for the game, drawing players into the whimsical world of the emerald-game.
7. Non-Functional Requirements
- The game must support up to 10 players in a single session.
- The game must run smoothly on both PC and mobile devices with a minimum of 30 FPS.
- The game should have a maximum load time of 5 seconds on modern devices.
- The game must support real-time multiplayer interactions with minimal latency (<100ms).
- The game must include robust security measures to prevent cheating or hacking.
- The game must comply with US data privacy regulations.
Page 4 of 5
8. Tech Stack
Frontend:
- React for web-based interfaces.
- React Native for mobile applications.
Backend:
- Python with FastAPI for server-side logic.
Database:
- MySQL for relational data storage (e.g., user accounts, game stats).
- MongoDB for storing game state and real-time data.
AI Models:
- GPT 5.2 for user-friendly responses in chat.
- Google Nano Banana for generating cartoonish animal animations.
AI Tools:
- Langchain for managing AI interactions.
- Litellm for LLM routing.
Orchestration:
- Docker and docker-compose for local development.
- Kubernetes for server-side orchestration and scaling.
9. Assumptions and Constraints
- The game will be developed for both PC and mobile platforms.
- The game will use a cartoonish art style to appeal to a broad audience.
- The Evil Farmer’s disguise ability will have no time limit, but there may be subtle visual cues to hint at their identity.
- The game will require an internet connection for multiplayer functionality.
- The maximum number of players per game is 10.
Page 5 of 5
10. Glossary
- Farmer Healer: A player role focused on healing injured animals.
- Farmer Helper: A player role focused on completing tasks efficiently.
- Farmer Fighter: A player role focused on protecting animals and countering sabotage.
- Evil Farmer: A player role focused on sabotaging the farm by disguising as animals and harming them.
- Disguise Mechanic: The ability of the Evil Farmer to transform into animals to deceive other players.
- Multiplayer: A game mode where multiple players can join and play together in real-time.
This document provides the foundation for the development of the emerald-game. Cam, let me know if there’s anything you’d like to add or modify!
No comments yet. Be the first!