Rebrand project and refresh title presentation

This commit is contained in:
Alexander Sellite 2026-08-25 17:14:12 -04:00
parent 17fef2c5d4
commit 7ae20789a9
138 changed files with 1511 additions and 1498 deletions

View file

@ -7,7 +7,7 @@ prove authorship or licensing.
## Ownership and credits
NETfishing is jointly owned, developed, and published by its creators,
straywild is jointly owned, developed, and published by its creators,
publicly credited as Voyager and Endeavour and operating collectively as the
independent team Woofmeow.
@ -31,7 +31,7 @@ independent team Woofmeow.
Voyager is also the original catalog porter credit in PortMaster metadata.
Third-party creators are credited with their individual records below. Those
credits do not imply endorsement of NETfishing, Woofmeow, or its owners.
credits do not imply endorsement of straywild, Woofmeow, or its owners.
## License map
@ -41,7 +41,7 @@ Do not describe the complete repository as covered only by the GPL.
| --- | --- |
| Project-owned software code, shaders, code-oriented scene/resource configuration, tests, build tooling, and server software | GPL-3.0-or-later; source-root `LICENSE` and packaged `GPL-3.0-or-later.txt` |
| Project-owned artwork, textures, models, animation, music, audio, narrative content, characters, and other creative assets | Source-root or packaged `ASSET-LICENSE.md` |
| NETfishing and Woofmeow names, logos, icons, and official identity | Source-root or packaged `TRADEMARKS.md` |
| straywild and Woofmeow names, logos, icons, and official identity | Source-root or packaged `TRADEMARKS.md` |
| Third-party engines, fonts, sounds, and other external material | Their original terms, recorded below and in adjacent license texts where applicable |
| Previously accepted or expressly invited outside contributions | Source-root `CONTRIBUTOR-TERMS.md` plus any separately signed agreement |
@ -50,22 +50,22 @@ the terms of their source material or generating code. Repository location
alone does not relicense third-party material.
The GPL permits study, modification, redistribution, and forks of covered
code. It does not grant rights to NETfishing creative assets or branding. The
NETfishing Asset License separately permits qualifying noncommercial add-on
Mods for official NETfishing software and narrowly scoped Contribution Forks
code. It does not grant rights to straywild creative assets or branding. The
straywild Asset License separately permits qualifying noncommercial add-on
Mods for official straywild software and narrowly scoped Contribution Forks
used to prepare changes for possible upstream inclusion. It does not permit
those assets to accompany independent code forks, clones, standalone games,
unrelated products, or general-purpose asset packs. A GPL fork that is not a
qualifying Contribution Fork must replace NETfishing assets and reserved
qualifying Contribution Fork must replace straywild assets and reserved
branding with independently licensed material and a distinct identity.
Project-wide code, asset, branding, or contributor-license changes require
written approval from both NETfishing owners under their private joint
written approval from both straywild owners under their private joint
ownership agreement.
## Godot Engine notice
NETfishing uses Godot Engine under the MIT License:
straywild uses Godot Engine under the MIT License:
> Copyright (c) 2014-present Godot Engine contributors.
> Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.
@ -103,7 +103,7 @@ FreeType for font rendering; portions are copyright The FreeType Project
Runtime file: `ui/fonts/seattle_avenue.otf`; source, hash, and original notice:
`ui/fonts/Seattle-Avenue-LICENSE.txt`.
Public-domain fonts are not governed by the NETfishing Asset License.
Public-domain fonts are not governed by the straywild Asset License.
## Intake policy
@ -122,7 +122,7 @@ owners' private project records. This public document should contain the
credits and license notices needed by recipients; it should not duplicate a
changing file inventory that can be derived from the repository itself.
NETfishing does not accept unsolicited contributions. For work expressly
straywild does not accept unsolicited contributions. For work expressly
invited by both Owners, maintainers must obtain affirmative agreement to the
source-root `CONTRIBUTOR-TERMS.md` and retain the written invitation and
agreement in a durable Project record.
@ -159,8 +159,8 @@ against the repository when this record was revised.
| Material | Runtime location | Credit or terms |
| --- | --- | --- |
| Kat animalese alphabet and number sounds | `sound/dialogue/animalese/alphanumeric/` | Project-processed derivatives of the original source voice recording supplied by NETfishing community member kat. |
| Kim animalese alphabet and number sounds | `sound/dialogue/animalese/kim/` | Project-processed derivatives of the original source voice recording supplied by NETfishing community member kim. |
| Kat animalese alphabet and number sounds | `sound/dialogue/animalese/alphanumeric/` | Project-processed derivatives of the original source voice recording supplied by straywild community member kat. |
| Kim animalese alphabet and number sounds | `sound/dialogue/animalese/kim/` | Project-processed derivatives of the original source voice recording supplied by straywild community member kim. |
| Tuffy font | `ui/fonts/Tuffy_Bold.otf` | Public-domain dedication in `ui/fonts/Tuffy-LICENSE.txt`. |
| Seattle Avenue font | `ui/fonts/seattle_avenue.otf` | Public-domain font by JLH Fonts; notice in `ui/fonts/Seattle-Avenue-LICENSE.txt`. |
| Fishing fight loop | `audio/sfx/fishing/fighting.wav` | Edited from “Spinning reel.wav” by Freesound user tosha73, sound 509902, CC0. |

View file

@ -1,6 +1,6 @@
# Development reference
This is the authoritative reference for NETfishing architecture, engineering
This is the authoritative reference for straywild architecture, engineering
decisions, content policy, authoring, and validation.
## Architecture
@ -43,7 +43,7 @@ open host may publish a short-lived room lease, and the shared Join Game page
may browse compatible leases before handing the selected address back to the
existing direct ENet connection flow. The directory does not carry gameplay
traffic or become a gameplay authority. Its base URL comes from
`network/discovery/base_url`, with `NETFISHING_DISCOVERY_URL` available as a
`network/discovery/base_url`, with `straywild_DISCOVERY_URL` available as a
development/deployment override.
Friendships are local identity relationships shared across save slots. A live,
@ -261,7 +261,7 @@ copies of the entire customization catalog.
### Texture sampling
NETfishing artwork uses nearest-neighbor sampling. Do not enable linear,
straywild artwork uses nearest-neighbor sampling. Do not enable linear,
bilinear, trilinear, or anisotropic texture filtering. Shader samplers must
declare `filter_nearest`. The three canonical repeating terrain textures are
the sole mipmap exception: their projected shader uses nearest-filtered
@ -351,10 +351,10 @@ godot --headless --path . --script tests/fish_catalog_content_validation.gd
rm -rf -- "$test_root"
```
Do not point `NETFISHING_DATA_DIR` at an arbitrary empty directory; it is an
Do not point `straywild_DATA_DIR` at an arbitrary empty directory; it is an
explicit portable-data override and must identify a valid data root. The
PortMaster launcher is the narrow exception: it also sets
`NETFISHING_CREATE_DATA_DIR=1`, allowing the game to initialize its known empty
`straywild_CREATE_DATA_DIR=1`, allowing the game to initialize its known empty
external save directory on first launch.
Headless tests cannot prove visual alignment, mouse routing, shader appearance,

View file

@ -1,15 +1,15 @@
# PortMaster reference
NETfishing's PortMaster release is a canonical PortMaster package, not a
straywild's PortMaster release is a canonical PortMaster package, not a
version-named generic ZIP. The installer-facing archive must be named
`netfishing.zip`, and its root must contain exactly:
`straywild.zip`, and its root must contain exactly:
```text
NETfishing.sh
netfishing/
straywild.sh
straywild/
```
`port.json` belongs at `netfishing/port.json` in the distributable archive.
`port.json` belongs at `straywild/port.json` in the distributable archive.
The upstream source-submission layout keeps it beside the launcher and port
directory, but PortMaster's release builder relocates it into the declared
port directory. Do not copy the source-submission layout directly into a
@ -17,7 +17,7 @@ release ZIP.
HarbourMaster's installer also relocates recognized non-script files found at
an archive root into the detected port directory. That compatibility behavior
masked NETfishing's former root-level `port.json` during auto-install tests.
masked straywild's former root-level `port.json` during auto-install tests.
Directly extracting the same archive into `/ports` did not perform the repair.
Do not rely on installer relocation; build the distributable layout correctly.
@ -26,30 +26,30 @@ directory. The templates in `scripts/portmaster/` are authoritative.
## Release contract
- `port.json` uses schema version 4, names `netfishing.zip`, and marks the
- `port.json` uses schema version 4, names `straywild.zip`, and marks the
self-contained package ready to run.
- `NETfishing.sh` does not contain a `# PORTMASTER:` signature in the source or
- `straywild.sh` does not contain a `# PORTMASTER:` signature in the source or
distributable archive. HarbourMaster adds that installation marker when it
installs the port.
- The executable is `netfishing/NETfishing.aarch64`.
- The executable is `straywild/straywild.aarch64`.
- The package declares AArch64, two analog sticks, GLIBC 2.28, and
`weston_pkg_0.2.squashfs`.
- The launcher starts GPTOKEYB with the explicit `netfishing.gptk` no-op map.
- The launcher starts GPTOKEYB with the explicit `straywild.gptk` no-op map.
Every keyboard and mouse binding is disabled, leaving only GPTOKEYB's
device-specific force-quit chord while Godot and NETfishing's controller
device-specific force-quit chord while Godot and straywild's controller
mapping manager handle gameplay input. The explicit map also avoids the
anomalous controller behavior observed on ROCKNIX without a passthrough map.
- The launcher calls `pm_platform_helper` for the game executable after
starting GPTOKEYB and calls `pm_finish` after the game exits.
- NETfishing automatically creates player data for new installations under
`ports/saves/netfishing/` and does not present the in-game folder picker.
- straywild automatically creates player data for new installations under
`ports/saves/straywild/` and does not present the in-game folder picker.
- Existing installations with a selected data root keep that location when
upgraded. Device-local data, configuration, and cache remain under
`netfishing/conf/data`, `netfishing/conf/config`, and
`netfishing/conf/cache`.
`straywild/conf/data`, `straywild/conf/config`, and
`straywild/conf/cache`.
- The archive must not contain `conf/`, saves, identities, logs, source files,
`.git`, or `.godot` content.
- Release downloads must publish only the canonical `netfishing.zip` for this
- Release downloads must publish only the canonical `straywild.zip` for this
platform. Do not also publish a byte-identical versioned PortMaster ZIP;
HarbourMaster identifies the port by its canonical archive name and the
Forgejo release tag already supplies the version.
@ -67,7 +67,7 @@ The script deletes and regenerates the Linux ARM64 export, stages the package,
validates its structure, and writes:
```text
builds/v<project-version>/netfishing.zip
builds/v<project-version>/straywild.zip
```
`--package-only` is reserved for repackaging an already validated ARM64 export.
@ -83,7 +83,7 @@ bash scripts/build_portmaster.sh --package-only --hotfix
The hotfix keeps the game executable and PCK tied to the release tag while
recording the newer packaging commit separately in `BUILD-INFO.txt`. Replace
the release's existing `netfishing.zip`; never move the game release tag.
the release's existing `straywild.zip`; never move the game release tag.
## Local muOS installation
@ -93,22 +93,22 @@ The muOS auto-install directory is:
/mnt/mmc/MUOS/PortMaster/autoinstall/
```
For an explicit offline installation test, copy `netfishing.zip` to a temporary
For an explicit offline installation test, copy `straywild.zip` to a temporary
device directory and run:
```bash
/mnt/mmc/MUOS/PortMaster/harbourmaster \
--offline --no-check install ./netfishing.zip
--offline --no-check install ./straywild.zip
```
Before upgrading an existing installation, preserve
`/mnt/mmc/ports/netfishing/conf/` and `/mnt/mmc/ports/saves/netfishing/` on the
`/mnt/mmc/ports/straywild/conf/` and `/mnt/mmc/ports/saves/straywild/` on the
device. After installation:
1. Confirm the installed executable and PCK hashes match the staged release.
2. Confirm HarbourMaster added its `# PORTMASTER:` installation signature to
the installed launcher, then confirm the launcher starts GPTOKEYB with
`netfishing.gptk` and calls `pm_platform_helper` for the game executable.
`straywild.gptk` and calls `pm_platform_helper` for the game executable.
3. Confirm `conf/` and the external save directory were not replaced or
removed.
4. Launch the installed port through the normal muOS menu.
@ -117,7 +117,7 @@ device. After installation:
Start+Select on most devices.
Installing the public PortMaster catalog entry can still install an older
catalog build until the upstream `netfishing.zip` is updated. A local release
catalog build until the upstream `straywild.zip` is updated. A local release
test must install the generated local archive explicitly.
## Template provenance
@ -130,7 +130,7 @@ f24daae48f543b3a270a5aa46b5e73a31904bf0c7216d4c8a9e15a8dc48a5eed screenshot.png
```
The remaining catalog metadata assets were copied from the installed official
`netfishing.zip` package and are intentionally preserved byte-for-byte:
`straywild.zip` package and are intentionally preserved byte-for-byte:
```text
e2a9d132744684c67865c01eca027a8c9946b4c5a19da57c82f1af0373dc83b7 gameinfo.xml
@ -160,7 +160,7 @@ The device-verified Godot mapping is:
- left-stick click `b9`, left trigger `b10`, right trigger `b11`, right-stick click `b12`
- D-pad `h0`; left and right sticks `a0..a3`
`scripts/portmaster/NETfishing.sh` must replace the incompatible SDL2 entry
`scripts/portmaster/straywild.sh` must replace the incompatible SDL2 entry
with the Godot entry when that SDL2 GUID is selected. Do not append the two
entries with a newline. WestonPack reconstructs the wrapped game command
through a shell, so raw mapping values passed in that command can be split into
@ -169,14 +169,14 @@ this failure with the `GO-Super Gamepad` mapping. The outer Weston environment
also does not reliably preserve the corrected muOS mapping for the game.
Write the exact selected mapping to `conf/cache/controller_mapping.txt` before
starting Weston. Weston must launch `launch-netfishing.sh`, which reads that
starting Weston. Weston must launch `launch-straywild.sh`, which reads that
file, exports `SDL_GAMECONTROLLERCONFIG`, and immediately replaces itself with
the game process. This applies the mapping at the same point as the working
0.10.1 launcher without passing its raw text through WestonPack's command
reconstruction. Do not move the mapping back to either side of
`westonwrap.sh`.
Always pass `netfishing.gptk`, which explicitly unassigns every direct and
Always pass `straywild.gptk`, which explicitly unassigns every direct and
hotkey binding with GPTOKEYB's `\"` value. This keeps GPTOKEYB from injecting
keyboard or mouse events on top of Godot's native controller input and retains
the device-specific kill chord. Supplying the explicit passthrough map also
@ -209,8 +209,8 @@ The light profile passes these Godot options:
- `--max-fps 30`
- `--audio-output-latency 40`
It also passes `NETFISHING_PERFORMANCE_PROFILE=light` and
`NETFISHING_LOW_END=1`. The game renders the 3D world at 37.5% linear
It also passes `straywild_PERFORMANCE_PROFILE=light` and
`straywild_LOW_END=1`. The game renders the 3D world at 37.5% linear
resolution with nearest-neighbor scaling, reducing 3D pixel work by about 86%
while the separately rendered UI retains its canonical resolution. The light
profile also:
@ -244,7 +244,7 @@ omitted ambience or replace the micro textures with desktop-resolution assets.
The normal profile otherwise retains the full visual presentation.
To opt a capable device into the normal profile, create the persistent file
`netfishing/conf/performance_profile` containing exactly:
`straywild/conf/performance_profile` containing exactly:
```text
normal
@ -253,13 +253,13 @@ normal
On a typical muOS installation, the full path is:
```text
/mnt/mmc/ports/netfishing/conf/performance_profile
/mnt/mmc/ports/straywild/conf/performance_profile
```
Set the file to `light`, or remove it, to restore the default. An externally
provided `NETFISHING_PERFORMANCE_PROFILE=normal` or `light` environment value
provided `straywild_PERFORMANCE_PROFILE=normal` or `light` environment value
takes precedence over the persistent file. Invalid values safely fall back to
the light profile and are reported in `netfishing/log.txt`.
the light profile and are reported in `straywild/log.txt`.
Do not use Godot's low processor mode for the light profile. It reduces idle
CPU usage by sleeping between updates and is not a game-performance

View file

@ -1,10 +1,10 @@
NETfishing
straywild
v0.18.1-alpha
Alpha 0.18.1
Thank you for trying this early private playtest.
NETfishing is an early multiplayer fishing game. This alpha includes local
straywild is an early multiplayer fishing game. This alpha includes local
progression, player-hosted and dedicated multiplayer sessions, public room
discovery, and direct UDP connections. Expect rough edges and please keep a
backup of any save or identity data you care about.
@ -12,15 +12,15 @@ backup of any save or identity data you care about.
INSTALLATION
1. Extract the entire ZIP into a new folder.
2. Keep the executable and netfishing.pck together.
3. Launch netfishing.exe on Windows or netfishing on Linux.
2. Keep the executable and straywild.pck together.
3. Launch straywild.exe on Windows or straywild on Linux.
Windows may show a warning for an unsigned application. This private build is
not code signed. Only run a copy received from the playtest organizer.
Linux users may need to allow execution:
chmod +x netfishing
chmod +x straywild
CONTROLS

View file

@ -1,4 +1,4 @@
# NETfishing documentation
# straywild documentation
This directory is the single home for maintained project documentation.
Start here instead of searching feature, asset, world, or script directories
@ -17,10 +17,10 @@ for local README files.
## Related repositories
- [Discovery service API](https://forge.makearmy.io/woofmeow/netfishing-discovery-server/src/branch/main/docs/API.md)
- [Discovery service API](https://forge.makearmy.io/woofmeow/straywild-discovery-server/src/branch/main/docs/API.md)
stays with the service implementation and defines its versioned HTTP
contract.
- [Dedicated-server packaging](https://forge.makearmy.io/woofmeow/netfishing-dedicated-server/src/branch/main/README.md)
- [Dedicated-server packaging](https://forge.makearmy.io/woofmeow/straywild-dedicated-server/src/branch/main/README.md)
stays with its installer and update scripts. It consumes this repository's
attribution and legal notices from the exact pinned game commit instead of
maintaining copies.