fix bug when walking against a KDE panel
set max 60 ticks per second
remove debug print statement
This is a PoC "desktop pet" à la shimeji using ebitengine that runs on Windows, Linux, and macOS. It currently has these animations:
Idle
Dragging
Right-click
Walk
horizontallyHungry
animation will be
activated, during which dragging is disabled.Hungry
, right-click to start Feeding
animation and reset to the
normal idle state.Here's a demo video.
Fair warning: I'm a Go noob who mostly has no idea what he's doing. Read the source code at your own peril.
Download latest version from GitHub Releases.
Newer builds straight from master branch are also available as artifacts on GitHub and sourcehut:
GitHub requires logging in to download artifacts, while Sourcehut doesn't have macOS builds. Such is life.
Simply unzip then run the shark-windows.exe
or shark-linux
executable.
Since I'm not participating in Apple's $99/yr protection racket, macOS users will need to jump through some hoops to run this program:
Shark
app bundle.
(skip this step if you downloaded using Safari, which automatically unzips)Shark
app bundle into your Applications
folder.Shark
-> Open
. You'll see a warning pop-up saying this
application was created by an unverified developer (yours truly). Note: you
must right-click instead of double-clicking, because double-clicking will
open a different pop-up which hides the option to open the app.There's also Apple's official guide here.
In the future I might pay the $99 if I end up writing more macOS apps and this becomes enough of a nuisance. Maybe.
If run from a terminal, use the -h
argument to see available options.
Windows users can create a shortcut to save their desired options.
Here are the currently supported options:
-hungry int
The number of seconds it takes for Gura to go hungry (default 3600)
-size int
Size multiplier: make Gura as big as you want (default 1)
-stop int
Chance to stop walking, in % (default 40)
-walk int
Chance to start walking, in % (default 5)
-x int
X position on screen (default 9999)
-y int
Y position on screen (default 9999)
go build -tags ebitensinglethread -o dist/
./dist/
Alternatively, if you already have Go, you can run go run go.imnhan.com/shark@latest
to compile and run the latest version without
manually cloning the repo. You still need to install ebiten's dependencies
first though.
Apparently it should compile on FreeBSD too but I haven't tried that. Do let me know if it works on your FreeBSD desktop!
The sprites were graciously provided by Mee Way:
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.