No Description https://typingfreaks.pleasantprogrammer.com/
Thomas Dy 1f93616734 Switch to ES modules and snowpack | 3 years ago | |
---|---|---|
.github | 3 years ago | |
assets | 3 years ago | |
scripts | 3 years ago | |
src | 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 | |
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.
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 a provided editor that's quite rough. It's main purpose is to help with
creating the lines
property of the levels. You can load a youtube or an audio
file and place marks to split the sections. Lyrics can be input in the text
areas. You can then export it to a JSON string which you can just paste into
levels.json
. You can also import from an existing JSON string to edit a level.
The project is a vanilla typescript project. Simply run:
npm install
npm run build