No Description https://typingfreaks.pleasantprogrammer.com/
Thomas Dy a9df1d4def Allow loading the editor's config in the game directly | 3 years ago | |
---|---|---|
.github | 3 years ago | |
assets | 3 years ago | |
scripts | 3 years ago | |
src | 3 years ago | |
tests | 3 years ago | |
.gitignore | 3 years ago | |
LICENSE | 3 years ago | |
README.md | 3 years ago | |
package-lock.json | 3 years ago | |
package.json | 3 years ago | |
prettier.config.js | 3 years ago | |
snowpack.config.js | 3 years ago | |
tsconfig.json | 3 years ago |
This is a clone of an old flash game called TypingMania. It's a speed typing game where you type lyrics (typically in Japanese) in time with the song.
There are many differences from the original and full compatibility is not a goal.
You might also be interested in innocenat's clone.
The initial screen shows available songs. You can navigate left/right through folders and up/down through songs. Space or enter will select a song. Escape or backspace can be used to go back out.
Get the latest release and unzip it. Edit the levels.json
with your own
songs. Then simply serve it as a static site.
You can use the online editor for most changes. There are some minor things it doesn't support changing yet. In that case, you will have to edit it by hand.
The config is a simple JSON file with the following properties:
The following accept any CSS color
background
- the default backgroundbaseColor
- base color of all text and UI elementshighlightColor
- accent color mainly for selectionsThe following let you customize the sound effects by specifying files relative
to the index.html
. Defaults are provided so there's no need to modify them
unless you want to.
selectSound
- sound effect when navigatingdecideSound
- sound effect when entering a songThe levelSets
property describes the "folder" structure. It expects an array
of the following:
name
- name of the folderlevels
- an array of level dataLevel data has the following properties (a lot of the weird naming is inherited from TypingMania).
name
- name of the songcreator
- artist of the songgenre
- "genre" of the song, but can be used for anythingdifficulty
- a number to show beside the songaudio
- path to the audio file or a youtube videobackground
- path to an image to serve as the background, if not specified,
it shows the video otherwise just uses the default backgroundsongLink
- a link back to the source of the songlines
- array containing lyrics and timing dataLines contain the following properties:
kanji
- display lyrics of the song, has no effect on the gamekana
- the kana for the lyrics, this is what's used for the gamestart
- start time of the segment in secondsend
- end time of the segment in secondsIf audio
is not specified, lines
does not need to specify timing
information. It will just act like a normal untimed typing game.
If the levels.json
property in index.html
is changed to a folder instead, we
try to load the folder assuming it contains TypingMania data (settings.xml
,
folderlist.xml
, etc.). I haven't tested this extensively so there could be
incompatibilities.
There is an online editor available. It lets you create a full config from scratch and then download the JSON file.
For fast testing, it's also possible to go to try out the editor's config in the
game by appending ?from=editor
to the game URL. For the online editor, that
would be here. Note that this is all in browser, sharing the link with
someone else will simply error out.
The project is a vanilla typescript project. Simply run:
npm install
npm run build