- Scheme 85.8%
- C 7.8%
- Emacs Lisp 2.9%
- Makefile 1.8%
- M4 1%
- Other 0.7%
| baka | ||
| debian | ||
| doc | ||
| examples | ||
| po | ||
| scripts | ||
| tsukundere | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .mailmap | ||
| AUTHORS | ||
| ChangeLog | ||
| configure.ac | ||
| COPYING | ||
| COPYING.GPL | ||
| guix.scm | ||
| INSTALL | ||
| Makefile.am | ||
| NEWS | ||
| pre-inst-env.in | ||
| README | ||
| README.org | ||
| release | ||
| tsukundere.scm | ||
Tsukundere Visual Novel Engine
Tsukundere is a tool to help in the creation of Visual Novels using GNU Guile and Guile-SDL. Tsukundere is a portmanteau of the Japanese words 作る (tsukuru, to create) and ツンデレ (tsundere, a person initially acting hostile and becoming more friendly over time) and describes any author's love/hate relationship with their own work as they try to create something new and original.
Features
As of version 0.3.1, Tsukundere contains
- a simple game loop with swappable parts,
- an entity component system used to construct scenes, layers, and more,
- efficient asset loading and organization using PEG grammars,
- a script mechanism, that allows stepping and skipping,
- translations via
gettext - customizable loading and saving,
- preferences,
- history-based branching,
- input via keyboard or menus,
- rolling credits.
TODOs
See the issues page for a list of what is either not yet implemented or doesn't work as intended. Suggestions and patches are always welcome.
Installing
We recommend you use your distro package manager or GNU Guix to install Tsukundere. (Preferably, GNU Guix is your package manager.)
If you need a particular version to play some game that hasn't been updated in ages, you can use Guix' time machine or ad-hoc environments.
guix shell guile -f guix.scm
There are also CI-built packages for Debian Bullseye, Ubuntu Focal, and Ubuntu Jammy.
If none of the above serve your use case, however, you may want to really, really build Tsukundere from source.
Here's what you'll need:
- Guile 3.0.x, with x >= 2
- SDL2 (with SDL_image, SDL_mixer and SDL_ttf)
- Guile-SDL2, version 0.7.0 or 0.8.0
Note, that on some distributions (e.g. Debian), you may need to install
the -dev variants of Guile and SDL2. Also note, that you need all of the
above already for compiling Guile-SDL2. If, for instance, you are missing
SDL_image, Guile-SDL2 will be configured without it, and Tsukundere will
not find the (sdl2 image) module.
While building Tsukundere (and its dependencies), make sure that you set up
your environment variables correctly. In particular, ensure that
GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH include the places in which
already installed dependencies are located. On a typical Linux distribution,
this can be accomplished with the following:
export GUILE_LOAD_PATH="/usr/local/share/guile/site/3.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
export GUILE_LOAD_COMPILED_PATH="/usr/local/lib/guile/3.0/site-ccache${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
Once you have the above, you can run the GNU build system as usual with
autoreconf -vif
./configure [OPTION...]
make
[sudo] make install
Documentation
As of 0.2.1, you can run info tsukundere to read the manual.
License
Tsukundere is licensed under the LPGL version 3 or later. In short, this means that:
- modified versions of Tsukundere must be made available in the LGPL version 3 or later, or the GPL version 3 or later.
- Visual Novels created with it must display a notice, that they were created using Tsukundere, include the Tsukundere copyright notice if any copyrights are displayed, as well as include a copy of the GPL and the LGPL. Visual Novels distributed not in source form need to additionally provide install information as laid out under 4e of the LGPL.
Tsukundere is based on
- GNU Guile, version 3.0, licensed under LGPL version 3 or later,
- Guile-SDL2 by David Thompson, version 0.7.0, likewise, and
- Pango, version 1.44, licensed under the LGPL version 2.1 or later.