Contents
Taisei is an open clone of the Tōhō Project series. Tōhō is a one-man project ofshoot-em-up games set in an isolated world full of Japanese folklore.
Optional:
Optional:
You can find the source tarballs at theReleases section onGithub. Do not grab Github's auto-generated source archives, those do notcontain the required submodules. This only applies for versions v1.3 and above.
If you cloned Taisei from git, make sure the submodules are initialized:
git submodule init git submodule update
This step needs to be done just once, and can be skipped if you specified the--recursive
or --recurse-submodules
option when cloning.
Important: You should also run git submodule update
whenever you pull innew code, checkout another branch, etc. The pull
and checkout
helperscripts can do that for you automatically.
To build and install Taisei on *nix, just follow these steps:
cd /path/to/taisei/source mkdir build cd build meson --prefix=$yourprefix .. ninja ninja install
This will install game data to $prefix/share/taisei/
and build thispath statically into the executable. This might be a packagemaintainer’s choice. Alternatively you may want to add-Dinstall_relative=true
to get a relative structure like
$prefix/taisei $prefix/data/
install_relative
is always set when building for Windows.
The OpenGL ES 3.0 backend is not built by default. To enable it, do:
meson configure -Dr_gles30=true -Dshader_transpiler=true
See here for information on how to activate it.Alternatively, do this to make GLES 3.0 the default backend:
meson configure -Dr_default=gles30
The OpenGL ES 2.0 backend can be enabled similarly, using gles20
instead ofgles30
. However, it requires a few extensions to function correctly, mostnotably:
OES_depth_texture
or GL_ANGLE_depth_texture
OES_standard_derivatives
OES_vertex_array_object
EXT_frag_depth
EXT_instanced_arrays
or ANGLE_instanced_arrays
orNV_instanced_arrays
Taisei stores all data in a platform-specific directory:
%APPDATA%\taisei
$HOME/Library/Application Support/taisei
$XDG_DATA_HOME/taisei
or $HOME/.local/share/taisei
This is referred to as the Storage Directory. You can set the environmentvariable TAISEI_STORAGE_PATH
to override this behaviour.
Taisei uses SDL2's unified GameController API. This allows us to correctlysupport any device that SDL recognizes by default, while treating all of themthe same way. This also means that if your device is not supported by SDL, youwill not be able to use it unless you provide a custom mapping. If yourcontroller is listed in the settings menu, then you're fine. If not, read on.
An example mapping string looks like this:
03000000ba2200002010000001010000,Jess Technology USB Game Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,
There are a few ways to generate a custom mapping:
config/config.vdf
in yourSteam installation directory, and look for the SDL_GamepadBind
variable.It contains a list of SDL mappings separated by line breaks.Once you have your mapping, there are two ways to make Taisei use it:
gamecontrollerdb.txt
where your config, replays andscreenshots are, and put each mapping on a new line.SDL_GAMECONTROLLERCONFIG
,also separated by line breaks. Other games that use the GameController APIwill also pick them up.When you're done, please consider contributing your mappings toSDL,SDL_GameControllerDB,and us, sothat other people can benefit from your work.
Also note that we currently only handle input from analog axes and digitalbuttons. Hats, analog buttons, and anything more exotic will not work, unlessremapped.
If your sound becomes glitchy, and you encounter lot of console messages like:
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occurred
it seems like you possibly have broken ALSA configuration. This may be fixed byplaying with parameter values of pcm.dmixer.slave
option group in/etc/asound.conf
or wherever you have your ALSA configuration.Commenting period_time
, period_size
, buffer_size
, rate
may giveyou the first approach to what to do.