Skip to content

Artezon/Niko-Android

Repository files navigation

I made a fun little Android app with OneShot characters.

Character list:

  • Cat Niko
  • Happy Niko
  • Hello Penguin
  • Ram

To be added:

  • World Machine

Note

All assets belong to their original creators, primarily the developers of OneShot (Future Cat LLC)

Screenshots

Screenshots

Related projects

Desktop version can be found here, check it out!

Adding your own characters

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.

Currently adding characters requires rebuilding the app with Android Studio, though you don't need to edit the code.

Here's an easy guide:

  1. Fork and clone the repository.
  2. Locate the app/src/main/assets/characters directory. This is where character directories go.
  3. Create a new directory there and name it however you want. Its name will not appear in the app.
  4. Put there two images of a character: an idle image and a speaking image.
  5. Put there one or more sounds of a character.
  6. Create char.json file there. It must follow the JSON structure shown in the example below:
    {
      "name": "Cat Niko",
      "images": {
        "idle": {
          "file": "niko.png",
          "pixel_art": true
        },
        "speaking": {
          "file": "niko_pancakes.png",
          "pixel_art": true
        }
      },
      "sounds": [
        "cat_2.ogg",
        "cat_3.ogg",
        "meow.ogg",
        "cat_purr.ogg",
        "cat_purr_short.ogg"
      ],
      "sound_random_weights": [1, 1, 0.7, 0.2, 0.3],
      "pitch": [0.95, 1.05]
    }
    • name will be shown in "Select Character" menu.
    • 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.
    • 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.
    • sounds array must contain all sound file names relative to the json file (at least one audio file must be present).
    • 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.
    • 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].
  7. If you want to change app name, edit the app/src/main/res/values/strings.xml file.
  8. Build the app with Android Studio. Test your changes.

About

A silly Android app with OneShot characters

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages