arctic-3d

byLior Man

עם שחקן שאוכל לשחק בו

Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 4

Arctic-3D

Introduction

The Arctic-3D project aims to create an immersive 3D environment where users can explore and interact with a virtual city. This document outlines the system requirements necessary to develop and implement the Arctic-3D project.

System Overview

Arctic-3D is designed to provide users with a dynamic and interactive experience in a virtual city environment. The system will allow users to explore, complete tasks, and engage with various elements within the city. The project will leverage advanced 3D graphics and interactive technologies to create a realistic and engaging user experience.

Functional Requirements

  • As a Player, I should be able to explore the virtual city to discover new areas and elements.
  • As a Player, I should be able to complete tasks within the city to progress in the game.
  • As a Player, I should be able to interact with various objects and characters within the city.

User Personas

  • Player: The primary user who navigates the virtual city, completes tasks, and interacts with the environment.
Page 2 of 4

Core User Flows

  • Player logs into the game -> explores the city -> discovers tasks -> completes tasks -> unlocks new areas and features.

Visuals Colors and Theme

  • primary: #1E3A8A (Deep Blue)
  • primary_light: #3B82F6 (Sky Blue)
  • secondary: #F59E0B (Amber)
  • accent: #EF4444 (Vibrant Red)
  • highlight: #FBBF24 (Golden Yellow)
  • bg: #F3F4F6 (Light Gray)
  • surface: rgba(255, 255, 255, 0.8)
  • text: #111827 (Dark Gray)
  • text_muted: #6B7280 (Muted Gray)
  • border: rgba(209, 213, 219, 0.5)

Signature Design Concept

The Arctic-3D homepage will feature an interactive 3D cityscape that users can navigate using their mouse or touch gestures. The city will be rendered using @react-three/fiber and @react-three/drei to create a realistic and immersive environment. Users can click on buildings to zoom in and explore interiors, while hovering over streets and landmarks will provide additional information and interactive elements. The city will dynamically change from day to night, with lighting and ambient sounds adjusting accordingly, creating a living, breathing virtual world.

Page 3 of 4

Interaction Model & Motion Direction

  • Interaction Model: Parallax
    • The landing page will feature layered depth via scroll, with decorative elements translating at different speeds to create a sense of depth and immersion.
    • Internal pages will maintain a static layout for clarity and ease of navigation.

Non-Functional Requirements

  • The system should support high-resolution graphics and smooth animations.
  • The application must be responsive and accessible across various devices and screen sizes.
  • The system should ensure data security and user privacy.

Tech Stack

  • Frontend: React for Web
  • Backend: Python, FastAPI
  • Database: MySQL or MariaDB, using Alembic for migrations
  • 3D Rendering: @react-three/fiber, @react-three/drei

Assumptions and Constraints

  • The system will primarily target users in Israel, considering locale-specific defaults such as language and time zone.
  • The application will require a stable internet connection for optimal performance.
Page 4 of 4

Glossary

  • 3D Rendering: The process of generating a three-dimensional image from a model by means of computer programs.
  • Parallax: A visual effect where objects appear to move at different speeds based on their distance from the viewer.
  • React: A JavaScript library for building user interfaces.
  • FastAPI: A modern, fast (high-performance) web framework for building APIs with Python 3.6+ based on standard Python type hints.
Landing design preview
Landing: View Intro
Login: Sign In
Register: Create Account
Home: Enter City
City: Explore Areas
City: Discover Tasks
TaskList: View Tasks
City: Complete Task
City: Interact Objects
City: Interact NPCs
Rewards: Unlock Features
Profile: View Progress