Skip to content

taisei-project/taisei

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

Resource files are no longer packaged and preloaded all in advance.
Instead, they are downloaded while the game is running.

The implementation is less than ideal, but it works. Resources are
requested on demand and cached into IDBFS. Unfortunately, since the
resource system was not designed with web-style asynchrony in mind and
we aren't ready for threads either, we have no way to do any useful work
while a required file is downloading. To somewhat offset that, we also
pre-fetch files that were not requested yet. The pre-fetching is limited
to 4 files at a time, which seems to be a reasonable compromise between
throughput and cold-cache load latency on slow connections. Also
unfortunately, it's dumb as rocks: we have no way of knowing which files
we will actually be needing soon, so the pre-fetching is done in
whatever order the files were indexed.

Possibly the easiest way to improve this system would be to bundle (and
compress) all of the tiny text files together to alleviate the overhead
of hundreds of HTTP requests.
e2c0282

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Oct 8, 2020

Taisei Project

Taisei Project icon

Introduction

About Taisei Project

Taisei Project is an open source fan-game set in the world of Tōhō Project. It is a top-down vertical-scrolling curtain fire shooting game (STG), also known as a "bullet hell" or "danmaku." STGs are fast-paced games focused around pattern recognition and mastery through practice.

Taisei Project is highly portable, and is written in C11, using SDL2 with an OpenGL renderer. It is officially supported on Windows, Linux, macOS, and through WebGL-enabled browsers such as Firefox and Chromium-based browsers (Chrome, Edge, etc). It can also be compiled for a number of other operating systems.

For gameplay screenshots, see our website.

For gameplay instructions, read this.

For the story, read this. (Spoiler warning!)

About Tōhō Project

Tōhō Project is an indie game series (also known as "doujin" in Japanese) known for its ensemble cast of characters and memorable soundtracks. It is produced by and large by a single artist known as ZUN, and has a permissive license which allows for indie derivative works such as Taisei Project to legally exist.

Taisei is not a "clone" of Tōhō, and tells an original story with its own music, art, gameplay mechanics, and codebase. While some familiarity with Tōhō is helpful, the gameplay can be enjoyed on its own without prior knowledge of the series.

For more information on dōjin culture, click here.

Installation

You can find precompiled binaries of the complete game on the Releases page on GitHub, available for Windows (x86/x64), Linux, and macOS.

An experimental build for Nintendo Switch (homebrew) also exists (use at your own risk).

You can also play our experimental WebGL build through your web browser here. (Chromium-based browsers and Firefox supported.)

Source Code & Development

Obtaining Source Code

Source

We recommend fetching the source code using git:

git clone --recurse-submodules https://github.com/taisei-project/taisei

You should also run git submodule update whenever you pull in new code, checkout another branch, or perform any git actions. The ./pull and ./checkout helper scripts can do that for you automatically.

Archive

⚠️ NOTE: Due to the way GitHub packages source code, the Download ZIP link on the main repo does not work.

This is due to the fact that GitHub does not package submodules alongside source code when it automatically generates .zip files. We've instead created those archives manually, and you MUST download the archive from the Releases page.

Compiling Source Code

Currently, we recommend building Taisei on a POSIX-like system (Linux, macOS, etc).

While Taisei is highly configurable, the easiest way to compile the code for your host machine is:

meson setup build/
meson compile -C build/
meson install -C build/

See the Building doc for more information on how to build Taisei, and its list of dependencies.

Replays, Screenshots, and Settings Locations

Taisei stores all data in a platform-specific directory:

  • On Windows, this will probably be %APPDATA%\taisei
  • On macOS, it's $HOME/Library/Application Support/taisei
  • On Linux, *BSD, and most other Unix-like systems, it's $XDG_DATA_HOME/taisei or $HOME/.local/share/taisei

This is referred to as the Storage Directory. You can set the environment variable TAISEI_STORAGE_PATH to override this behaviour.

Troubleshooting

Documentation for many topics, including development and game controller support, can be found in our docs section.

Feel free to open up an issue if you run into any issues with compiling or running Taisei.

Contact