- ๐ Overview
- ๐ฆ Features
- ๐ Structure
- ๐ป Installation
- ๐๏ธ Usage
- ๐ Hosting
- ๐ License
- ๐ Authors
The repository contains a Minimum Viable Product (MVP) of a 3D Tic Tac Toe game, named "ticstar-3d-tic-tac-toe". It features an interactive 3D game board rendered using React Three Fiber. The game logic is implemented with TypeScript, providing a visually engaging rendition of the classic game.
Feature | Description | |
---|---|---|
โ๏ธ | 3D Rendering | Implements 3D game elements (board, pieces) using Three.js and React Three Fiber for an immersive user experience. |
๐ฎ | Game Logic | Manages game state, move validation, win condition checking, and draw detection using TypeScript. |
๐จ | Animations | Includes animations for piece placement and hover effects using GSAP and Framer Motion. |
๐ฑ๏ธ | User Interaction | Allows users to interact with the 3D board via mouse clicks to place pieces. |
๐งฑ | Modular Design | The codebase follows a modular architecture with separate components for the board, cells, and pieces. |
๐งช | Unit Testing | Utilizes Jest for comprehensive unit tests of the game logic. |
๐จ | Styling | Styles the game interface using Tailwind CSS, providing a visually appealing and responsive design. |
๐ | Cross-Platform | Designed to be compatible across different web browsers and devices. |
๐ | Performance | Optimized for performance, leveraging efficient rendering and model loading techniques. |
โโ src
โโ components
โโ Board.tsx
โโ Cell.tsx
โโ Piece.tsx
โโ utils
โโ gameLogic.ts
โโ App.tsx
โโ main.tsx
โโ public
โโ assets
โโ models
โโ board.glb
โโ x.glb
โโ o.glb
โโ tests
โโ gameLogic.test.ts
โโ .env
โโ package.json
โโ README.md
โโ tsconfig.json
โโ tailwind.config.js
โโ .prettierrc.js
โโ jest.config.js
- Clone the repository:
git clone https://github.com/coslynx/ticstar-3d-tic-tac-toe.git cd ticstar-3d-tic-tac-toe
- Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Access the application:
- Web interface: http://localhost:5173
Tip
- 3D asset paths are configured using environment variables in
.env
. - Modify styling by editing the
tailwind.config.js
file.
- ๐ฎ Playing a move: Click on an empty cell to place an 'X'.
- ๐ Animations: Observe the scaling animation when a piece is placed on the board.
- ๐ก Hover effect: Hover over a cell to see it highlight, indicating it can be selected.
- Sign up or log in to Netlify.
- Connect your GitHub repository to Netlify.
- Configure the build settings:
- Build command:
npm run build
- Publish directory:
dist
- Build command:
- Deploy the site.
Provide a comprehensive list of all required environment variables, their purposes, and example values:
THREE_PUBLIC_PATH
: Base URL for accessing 3D assets. Example:/assets/models/
This MVP does not include a backend, therefore there are no API endpoints. All game logic and rendering are handled client-side.
Note
This Minimum Viable Product (MVP) is licensed under the GNU AGPLv3 license.
This MVP was entirely generated using artificial intelligence through CosLynx.com.
No human was directly involved in the coding process of the repository: ticstar-3d-tic-tac-toe
For any questions or concerns regarding this AI-generated MVP, please contact CosLynx at:
- Website: CosLynx.com
- Twitter: @CosLynxAI
Create Your Custom MVP in Minutes With CosLynxAI!
This project requires the following 3D model files that need to be created manually:
public/assets/models/board.glb
public/assets/models/x.glb
public/assets/models/o.glb
These placeholder files need to be replaced with actual binary 3D model files.