Helps you being creative in V
63
stars
589
commits
C
primary language
May 18, 2026
updated
Aims to be an intuitive, opinionated and solid foundation for game development and creative coding written in V with which you can easily build and distribute small to medium sized 2D games or applications.
The shy project works both as a V module and a standalone CLI tool.
Please note that export and developing/building/running from some of these platforms are still work-in-progress, but we aim to support a wide range of targets like the following:
Windows, macOS, Linux, Raspberry PI, Android, Web (WASM/emscripten) and likely more.
-live flag.shy.once(...) or shy.every(...).sokol_gfx.h)shy export command.ui module
supporting custom UI items.The following points may turn you away from using shy at this point
in time so use shy at your own risk and expense.
shy.ui module's design goals can not currently be met 100% due to
very-hard-to-reproduce bugs in the V compiler - mileage may vary until these bugs are squashed.ui module matures.examples for guidance.shy currently depend on sdl and vab official V modules.
sdl
Due to V's package management being in it's infancy it is recommended to install
the sdl module via git:
git clone https://github.com/vlang/sdl.git ~/.vmodules/sdl
v ~/.vmodules/sdl/setup.vsh # this will try and detect the system installed version of SDL2
on Windows via cmd.exe:
git clone https://github.com/vlang/sdl.git %HOMEPATH%/.vmodules/sdl
git -C %HOMEPATH%/.vmodules/sdl checkout 2.26.0
The sdl dependency is needed for the default backend. It will likely
be moved to be part of another backend or opt-in once shy matures
but for now you'll need the SDL2 library at build and runtime.
vab
v install vab
vab is used by shy export and does not require you to have Java nor
the Android SDK/NDK installed. shy export need only vab to be installed as a module.
However if you intend to export your shy creations to the Android platform the aforementioned
dependencies are thus needed at runtime for vab to work.
git clone git@github.com:Larpon/shy.git ~/.vmodules/shy
v ~/.vmodules/shy # Builds the `shy` CLI tool
git clone git@github.com:Larpon/shy.git %USERPROFILE%/.vmodules/shy
v %USERPROFILE%\.vmodules\shy # Builds the `shy` CLI tool
You can symlink shy to your $PATH so it works as a global shell command.
sudo ln -s ~/.vmodules/shy/shy /usr/local/bin/shy
You can install tab completions for your shell by following the instructions here.
To enable game controller support shy needs to be built with
SDL2 version >= 2.26.0 in addition to the compile flag -d shy_gamepad.
C
75.5%
V
23.9%
Helps you being creative in V
63
stars
589
commits
C
primary language
May 18, 2026
updated
Aims to be an intuitive, opinionated and solid foundation for game development and creative coding written in V with which you can easily build and distribute small to medium sized 2D games or applications.
The shy project works both as a V module and a standalone CLI tool.
Please note that export and developing/building/running from some of these platforms are still work-in-progress, but we aim to support a wide range of targets like the following:
Windows, macOS, Linux, Raspberry PI, Android, Web (WASM/emscripten) and likely more.
-live flag.shy.once(...) or shy.every(...).sokol_gfx.h)shy export command.ui module
supporting custom UI items.The following points may turn you away from using shy at this point
in time so use shy at your own risk and expense.
shy.ui module's design goals can not currently be met 100% due to
very-hard-to-reproduce bugs in the V compiler - mileage may vary until these bugs are squashed.ui module matures.examples for guidance.shy currently depend on sdl and vab official V modules.
sdl
Due to V's package management being in it's infancy it is recommended to install
the sdl module via git:
git clone https://github.com/vlang/sdl.git ~/.vmodules/sdl
v ~/.vmodules/sdl/setup.vsh # this will try and detect the system installed version of SDL2
on Windows via cmd.exe:
git clone https://github.com/vlang/sdl.git %HOMEPATH%/.vmodules/sdl
git -C %HOMEPATH%/.vmodules/sdl checkout 2.26.0
The sdl dependency is needed for the default backend. It will likely
be moved to be part of another backend or opt-in once shy matures
but for now you'll need the SDL2 library at build and runtime.
vab
v install vab
vab is used by shy export and does not require you to have Java nor
the Android SDK/NDK installed. shy export need only vab to be installed as a module.
However if you intend to export your shy creations to the Android platform the aforementioned
dependencies are thus needed at runtime for vab to work.
git clone git@github.com:Larpon/shy.git ~/.vmodules/shy
v ~/.vmodules/shy # Builds the `shy` CLI tool
git clone git@github.com:Larpon/shy.git %USERPROFILE%/.vmodules/shy
v %USERPROFILE%\.vmodules\shy # Builds the `shy` CLI tool
You can symlink shy to your $PATH so it works as a global shell command.
sudo ln -s ~/.vmodules/shy/shy /usr/local/bin/shy
You can install tab completions for your shell by following the instructions here.
To enable game controller support shy needs to be built with
SDL2 version >= 2.26.0 in addition to the compile flag -d shy_gamepad.
C
75.5%
V
23.9%