From c33ff59e7057f4d000df689d908852c8012e66ed Mon Sep 17 00:00:00 2001 From: adtpdn Date: Fri, 24 Apr 2026 02:59:54 +0800 Subject: [PATCH] feat: update readme --- README.md | 81 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 61 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 38f4ed2..321bcdf 100644 --- a/README.md +++ b/README.md @@ -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 `) 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.