feat: update readme

This commit is contained in:
2026-04-24 02:59:54 +08:00
parent 5a08db38de
commit c33ff59e70
+61 -20
View File
@@ -1,20 +1,61 @@
```
- project.godot
- scenes/
- Main.tscn
- Lobby.tscn
- Game.tscn
- Player.tscn
- Token.tscn
- Board.tscn
- scripts/
- Main.gd
- Lobby.gd
- Game.gd
- Player.gd
- Token.gd
- Board.gd
- NetworkManager.gd
- assets/
- (3D models, textures, etc.)
```
# Tekton Dash Armageddon
## 🛠️ Developer Workflows
### 1. Creating a Skin Material
To create dynamic, color-maskable 3D materials for new character skins:
1. Open the **Skin Shader Generator** tool in the editor: `res://scenes/tools/skin_shader_generator.tscn`
2. Run the scene.
3. Import your base albedo and mask textures.
4. Use the UI to visualize UV overlays and adjust color channels (Red, Green, Blue, Alpha masks).
5. Export the configured material as a `.tres` file into the `assets/materials/skins/` directory.
### 2. Adding a Skin to the Shop
Once your material is ready, you need to add it to the game's economy so players can buy and equip it. This is done by updating the Nakama backend module.
1. **Copy the latest script:** Open `server/nakama/tekton_admin.js` locally and copy its updated contents (including your new skin).
2. **Connect to your VPS** via SSH.
3. **Create/Edit the file on the remote server:**
```bash
nano ~/tekton_admin.js
# Or use micro (recommended): micro ~/tekton_admin.js
```
Paste the copied contents and save the file.
4. **Find your Nakama Container ID:**
It is highly recommended to use **lazydocker** to manage containers.
*(To install on Ubuntu: `curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash`)*
Open lazydocker or run `docker ps` to find the Container ID for your Nakama server.
5. **Copy the file into the Nakama container:**
```bash
# Replace ed21ac5d442a with your actual Container ID
docker cp ~/tekton_admin.js ed21ac5d442a:/nakama/data/modules/tekton_admin.js
```
6. **Restart the container** (via lazydocker or `docker restart <Container ID>`) for Nakama to load the new modules. Live game clients will fetch this new catalog automatically upon booting.
### 3. Pushing a New Version (Automated Patching)
When you're ready to deploy new features or assets to players:
1. Document your changes in `CHANGELOG_DRAFT.md` using player-friendly language.
2. Run the version generation script from the terminal:
```bash
python generate_version_json.py --bump patch
```
*(Use `--bump minor` or `--bump major` for larger updates.)*
3. Commit and push your changes to the `main` branch on GitHub:
```bash
git add .
git commit -m "Release version X.Y.Z"
git push origin main
```
4. The **GitHub Actions Workflow** (`deploy_patch.yml`) will automatically detect the push, build the patch manifest (`version.json`), and deploy it to the public `gh-pages` branch.
5. Live game clients will detect the new version on boot, download the updated files, and apply the patch seamlessly.
---
## 🚀 Ongoing Features (Incoming)
### 🎰 Gacha System Backend Editor
Currently in development: A dedicated backend editor tool (similar to `skin_catalog_editor.tscn`) specifically for managing the Gacha System.
- **Nakama Syncing:** Will allow developers to push updated gacha pools, rates, and fragment costs directly to Nakama Storage.
- **Dynamic Banners:** Will support updating specific slots on the gacha banner dynamically.
- **Seasonal Rotations:** Will introduce automated scheduling so banners rotate based on active seasons and automatically remove themselves when the season ends.