Skip to content

Commit 148726a

Browse files
committed
Added readme
1 parent 9036b61 commit 148726a

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

README.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
I made a fun little Android app with OneShot characters.
2+
3+
Character list:
4+
- Cat Niko
5+
- Happy Niko
6+
- Hello Penguin
7+
- Ram
8+
9+
To be added:
10+
- World Machine
11+
<br>
12+
13+
> [!NOTE]
14+
> All assets belong to their original creators, primarily the developers of OneShot (Future Cat LLC)
15+
16+
##
17+
### Screenshots
18+
<img alt="Screenshots" src="https://github.com/user-attachments/assets/53aa2d2b-8aab-4f36-b1e8-e2addad8b9e0" />
19+
20+
##
21+
### Related projects
22+
Desktop version can be found [here](https://github.com/Artezon/NikoYippee), check it out!
23+
24+
25+
##
26+
### Adding your own characters
27+
**Everyone is encouraged to add new characters to the app!** You can create a version of this app featuring characters from entirely different media as well.
28+
29+
Currently adding characters requires rebuilding the app with Android Studio, though you don't need to edit the code.
30+
31+
Here's an easy guide:
32+
1. Fork and clone the repository.
33+
2. Locate the `app/src/main/assets/characters` directory. This is where character directories go.
34+
3. Create a new directory there and name it however you want. Its name will not appear in the app.
35+
4. Put there two images of a character: an idle image and a speaking image.
36+
5. Put there one or more sounds of a character.
37+
6. Create `char.json` file there. It must follow the JSON structure shown in the example below:
38+
```json
39+
{
40+
"name": "Cat Niko",
41+
"images": {
42+
"idle": {
43+
"file": "niko.png",
44+
"pixel_art": true
45+
},
46+
"speaking": {
47+
"file": "niko_pancakes.png",
48+
"pixel_art": true
49+
}
50+
},
51+
"sounds": [
52+
"cat_2.ogg",
53+
"cat_3.ogg",
54+
"meow.ogg",
55+
"cat_purr.ogg",
56+
"cat_purr_short.ogg"
57+
],
58+
"sound_random_weights": [1, 1, 0.7, 0.2, 0.3],
59+
"pitch": [0.95, 1.05]
60+
}
61+
```
62+
- `name` will be shown in "Select Character" menu.
63+
- `idle` image is shown by default, `speaking` is shown while app is playing a sound. `file` values must have image names relative to the json file.
64+
- `pixel_art` value determines the interpolation method. If true, nearest-neighbor interpolation is used for crisp edges on low resolution pixel art images, otherwise image is smooth.
65+
- `sounds` array must contain all sound file names relative to the json file (at least one audio file must be present).
66+
- `sound_random_weights` array determines the chances of getting each sound. If you have only one sound or you want all sounds to have equal probability, you can omit this array from json. If present, it must have the same length as the `sounds` array. It's not necessary for numbers to sum to 1.
67+
- `pitch` array can be absent, or have 1 or 2 numbers. If absent, pitch is not affected. If there's one number and it's not `1`, pitch is multiplied by that number. If there are 2 numbers, pitch is chosen randomly between them. They must be in ascending order [min, max], e.g. [0.9, 1.1].
68+
7. If you want to change app name, edit the `app/src/main/res/values/strings.xml` file.
69+
8. Build the app with Android Studio. Test your changes.

0 commit comments

Comments
 (0)