feat: update readme
This commit is contained in:
@@ -1,20 +1,61 @@
|
|||||||
```
|
# Tekton Dash Armageddon
|
||||||
- project.godot
|
|
||||||
- scenes/
|
|
||||||
- Main.tscn
|
## 🛠️ Developer Workflows
|
||||||
- Lobby.tscn
|
|
||||||
- Game.tscn
|
### 1. Creating a Skin Material
|
||||||
- Player.tscn
|
To create dynamic, color-maskable 3D materials for new character skins:
|
||||||
- Token.tscn
|
1. Open the **Skin Shader Generator** tool in the editor: `res://scenes/tools/skin_shader_generator.tscn`
|
||||||
- Board.tscn
|
2. Run the scene.
|
||||||
- scripts/
|
3. Import your base albedo and mask textures.
|
||||||
- Main.gd
|
4. Use the UI to visualize UV overlays and adjust color channels (Red, Green, Blue, Alpha masks).
|
||||||
- Lobby.gd
|
5. Export the configured material as a `.tres` file into the `assets/materials/skins/` directory.
|
||||||
- Game.gd
|
|
||||||
- Player.gd
|
### 2. Adding a Skin to the Shop
|
||||||
- Token.gd
|
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.
|
||||||
- Board.gd
|
|
||||||
- NetworkManager.gd
|
1. **Copy the latest script:** Open `server/nakama/tekton_admin.js` locally and copy its updated contents (including your new skin).
|
||||||
- assets/
|
2. **Connect to your VPS** via SSH.
|
||||||
- (3D models, textures, etc.)
|
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.
|
||||||
|
|||||||
Reference in New Issue
Block a user