3.2 KiB
3.2 KiB
Tekton Dash Armageddon
🛠️ Developer Workflows
1. Creating a Skin Material
To create dynamic, color-maskable 3D materials for new character skins:
- Open the Skin Shader Generator tool in the editor:
res://scenes/tools/skin_shader_generator.tscn - Run the scene.
- Import your base albedo and mask textures.
- Use the UI to visualize UV overlays and adjust color channels (Red, Green, Blue, Alpha masks).
- Export the configured material as a
.tresfile into theassets/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.
- Copy the latest script: Open
server/nakama/tekton_admin.jslocally and copy its updated contents (including your new skin). - Connect to your VPS via SSH.
- Create/Edit the file on the remote server:
Paste the copied contents and save the file.
nano ~/tekton_admin.js # Or use micro (recommended): micro ~/tekton_admin.js - 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 rundocker psto find the Container ID for your Nakama server. - Copy the file into the Nakama container:
# Replace ed21ac5d442a with your actual Container ID docker cp ~/tekton_admin.js ed21ac5d442a:/nakama/data/modules/tekton_admin.js - 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:
- Document your changes in
CHANGELOG_DRAFT.mdusing player-friendly language. - Run the version generation script from the terminal:
(Use
python generate_version_json.py --bump patch--bump minoror--bump majorfor larger updates.) - Commit and push your changes to the
mainbranch on GitHub:git add . git commit -m "Release version X.Y.Z" git push origin main - The GitHub Actions Workflow (
deploy_patch.yml) will automatically detect the push, build the patch manifest (version.json), and deploy it to the publicgh-pagesbranch. - 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.