20 Commits
v0.0.1 ... 1.4

Author SHA1 Message Date
b672be28ee Update Jenkinsfile 2025-02-22 20:50:12 +02:00
fe8b0f41c1 Delete ‏‏renpy - קיצור דרך.lnk 2025-02-22 20:40:31 +02:00
2b40e273ed Some Minor additions + webp image conversion
more details in the release notes!
2025-02-09 11:36:38 +02:00
ceb983387a Merge branch 'main' of https://git.ruff.co.il/amai.ig/otomai 2025-02-05 13:24:24 +02:00
efc60b73ad All of the assets are finally here
description in release!
2025-02-05 13:23:35 +02:00
e033fd1488 Update Jenkinsfile 2025-01-25 18:23:20 +02:00
bde4926c5f Update Jenkinsfile 2025-01-25 18:22:29 +02:00
c69e1e7a29 Update Dockerfile 2025-01-25 17:54:13 +02:00
41d47fd6bd Update Jenkinsfile 2025-01-25 17:51:20 +02:00
3c30af0099 Add Jenkinsfile-prod 2025-01-25 17:49:15 +02:00
24b536857b Finished UI translation
check releases for info
2025-01-23 16:44:08 +02:00
682e0d660d Halfway Graphical Point Release
i put all of the details in the new release
2025-01-19 18:47:35 +02:00
5ba5cefd23 akai is done yayyy
and with that all of the main routes are done. next up will be putting all of the actual assets in and also the secret endings. wahoo
2025-01-12 17:37:18 +02:00
5496b76370 final part of shiro's route! akai route is next 2025-01-08 18:40:17 +02:00
c2348fa700 part 3 of shiro's route wahoo
next up are the endings. whoo
2025-01-07 15:00:26 +02:00
35c7ef0cb6 shiro route part 2
second part is done! probably will come back to it to see if we can bridge it in a nicer way. tomorrow we end this route (hopefully)
2025-01-06 22:53:58 +02:00
8f545fb137 got the hang of this
okay Now it should be working fine!! i think!! i hope!!
all of the new UI updates, aswell as the script being done up to aoi's route and a bit further (with the start to shiro's route). wahoo
2025-01-05 18:41:37 +02:00
061f9d23c1 test
god i hope this works
2025-01-05 18:33:23 +02:00
4b53ac3001 Update README.md 2024-10-07 13:01:05 +03:00
1f7a40d8a8 updated file url 2024-10-06 22:44:56 +03:00
224 changed files with 4998 additions and 249 deletions

3
.vs/ProjectSettings.json Normal file
View File

@@ -0,0 +1,3 @@
{
"CurrentProjectSetting": null
}

View File

@@ -0,0 +1,8 @@
{
"ExpandedNodes": [
"",
"\\game"
],
"SelectedNode": "\\game\\shiro_route.rpy",
"PreviewInSolutionExplorer": false
}

BIN
.vs/otomai/v16/.suo Normal file

Binary file not shown.

BIN
.vs/slnx.sqlite Normal file

Binary file not shown.

View File

@@ -1,2 +1,2 @@
FROM httpd:latest
COPY ./game-data/ /usr/local/apache2/htdocs
COPY ./game-data/ /usr/local/apache2/htdocs

31
Jenkinsfile vendored
View File

@@ -19,7 +19,7 @@ pipeline {
}
stage('Download Latest release') {
steps {
sh 'curl -LO https://git.ruff.co.il/amai.ig/otomai/releases/latest/download/Otomai-web.zip'
sh 'curl -LO https://git.ruff.co.il/amai.ig/otomai/releases/download/latest/Otomai-web.zip'
}
}
stage('Create web game directory') {
@@ -55,29 +55,14 @@ pipeline {
}
}
}
stage('Clean Old Container') {
steps {
catchError(buildResult: 'SUCCESS',message: 'Container doesn\'t exist on host, skipping...', stageResult: 'ABORTED') {
sh 'docker stop otomai'
sh 'docker rm otomai'
}
}
}
post {
success {
// Trigger the deployment job on success of the build
build job: 'otomai-prod', wait: false
}
stage('Run new container') {
steps {
script {
// Define registry credentials and image name
def registryCredentialsId = '7e506860-ca64-47bd-92a8-1a591dd12cba'
def imageName = 'git.ruff.co.il/amai.ig/otomai:latest'
// Login to registry
docker.withRegistry('https://git.ruff.co.il', registryCredentialsId) {
// Run container
docker.image(imageName).run('-p 10002:80 --name otomai')
}
}
}
failure {
echo "Build failed, deployment not triggered."
}
}
}

31
Jenkinsfile-prod Normal file
View File

@@ -0,0 +1,31 @@
pipeline {
agent {
label 'prod' // Runs on a node labeled 'prod'
}
stages {
stage('Clean Old Container') {
steps {
script {
catchError(buildResult: 'SUCCESS', message: 'Container doesn\'t exist on host, skipping...', stageResult: 'ABORTED') {
sh 'docker stop game-pod1'
sh 'docker rm game-pod1'
}
}
}
}
stage('Run new container in Production') {
steps {
script {
// Define registry credentials and image name
def registryCredentialsId = '7e506860-ca64-47bd-92a8-1a591dd12cba'
def imageName = 'git.ruff.co.il/amai.ig/otomai:latest'
// Login to registry and run container in prod environment
docker.withRegistry('https://git.ruff.co.il', registryCredentialsId) {
docker.image(imageName).run('-p 22443:80 --name game-pod1')
}
}
}
}
}
}

View File

@@ -1,2 +1,62 @@
# otomai
short amai visual novel
# Otomai: A Harucon Easter Egg ✨
**Otomai** is a short Ren'Py visual novel game created as a secret easter egg for the Israeli anime and sci-fi convention, Harucon.
This project is a single-player, narrative-driven experience built with the Ren'Py visual novel engine.
**Note:** This game is currently intended as a web experience running inside a Docker container.
### Features
* Short, interactive visual novel experience
* Original story and characters
* A fun (hopefully!) surprise for Harucon attendees
### Getting Started
**Prerequisites**
**For building the game from source**
* Python3 installed
* Ren'Py installed
**For running the game inside a docker container**
* Docker installed on your system. You can find installation instructions for your OS on the official Docker website: [https://www.docker.com/products/docker-desktop/](https://www.docker.com/products/docker-desktop/)
**Building the Game**
1. Clone this repository:
```
git clone https://git.ruff.co.il/amai.ig/otomai.git
```
2. Using Ren'Py, load the source and build for your desired platform.
3. Run the final compiled result.
**Running the game inside a docker container**
1. Pull the docker image:
```
docker pull git.ruff.co.il/amai.ig/otomai:latest
```
2. Start a container with port 5000 exposed:
```
docker run git.ruff.co.il/amai.ig/otomai:latest -p 5000:80 --name otomai
```
3. Open your web browser and navigate to `http://docker-host:5000`
This should launch the Otomai game within your web browser.
### Contributing
We welcome contributions to this project! If you'd like to help with development, please open a pull request on this repository.
### License
This project is licensed under the MIT License. See the `LICENSE` file for details.
### Contact
For any questions or feedback, feel free to open an issue on this repository.
We hope you enjoy your Otomai experience!

View File

@@ -2,13 +2,9 @@
errors listed below, and try again.
File "game/script.rpy", line 44: choice menuitem expects a non-empty block.
"אני גם אוהב פפסי":
^
File "game/script.rpy", line 47: Line is indented, but the preceding jump statement statement does not expect a block. Please check this line's indentation. You may have forgotten a colon (:).
"אני לא אוהב פפסי":
^
File "game/sprite_settings.rpy", line 157: group expects a non-empty block.
group sfx:
^
Ren'Py Version: Ren'Py 8.3.2.24090902
Sat Sep 28 09:59:45 2024
Tue Feb 4 11:52:33 2025

135
game/.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,135 @@
{
"files.exclude": {
"**/*.rpyc": true,
"**/*.rpa": true,
"**/*.rpymc": true,
"**/cache/": true
},
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": "renpy.meta.plain",
"settings": {
"fontStyle": ""
}
},
{
"scope": "renpy.meta.i",
"settings": {
"fontStyle": "italic"
}
},
{
"scope": "renpy.meta.b",
"settings": {
"fontStyle": "bold"
}
},
{
"scope": [
"renpy.meta.u",
"renpy.meta.a"
],
"settings": {
"fontStyle": "underline"
}
},
{
"scope": "renpy.meta.s",
"settings": {
"fontStyle": "strikethrough"
}
},
{
"scope": "renpy.meta.i renpy.meta.b",
"settings": {
"fontStyle": "italic bold"
}
},
{
"scope": "renpy.meta.i renpy.meta.u",
"settings": {
"fontStyle": "italic underline"
}
},
{
"scope": "renpy.meta.i renpy.meta.s",
"settings": {
"fontStyle": "italic strikethrough"
}
},
{
"scope": "renpy.meta.b renpy.meta.u",
"settings": {
"fontStyle": "bold underline"
}
},
{
"scope": "renpy.meta.b renpy.meta.s",
"settings": {
"fontStyle": "bold strikethrough"
}
},
{
"scope": "renpy.meta.u renpy.meta.s",
"settings": {
"fontStyle": "underline strikethrough"
}
},
{
"scope": "renpy.meta.i renpy.meta.b renpy.meta.u",
"settings": {
"fontStyle": "italic bold underline"
}
},
{
"scope": "renpy.meta.i renpy.meta.b renpy.meta.s",
"settings": {
"fontStyle": "italic bold strikethrough"
}
},
{
"scope": "renpy.meta.i renpy.meta.u renpy.meta.s",
"settings": {
"fontStyle": "italic underline strikethrough"
}
},
{
"scope": "renpy.meta.b renpy.meta.u renpy.meta.s",
"settings": {
"fontStyle": "bold underline strikethrough"
}
},
{
"scope": "renpy.meta.i renpy.meta.b renpy.meta.u renpy.meta.s",
"settings": {
"fontStyle": "italic bold underline strikethrough"
}
},
{
"scope": "renpy.meta.color.text",
"settings": {
"foreground": "#ffffff"
}
},
{
"scope": "renpy.meta.color.#fff",
"settings": {
"foreground": "#fff"
}
},
{
"scope": "renpy.meta.color.#ff0000",
"settings": {
"foreground": "#ff0000"
}
},
{
"scope": "renpy.meta.color.#5e9cff",
"settings": {
"foreground": "#5e9cff"
}
}
]
}
}

BIN
game/ARIAL.TTF Normal file

Binary file not shown.

BIN
game/Assistant-Bold.ttf Normal file

Binary file not shown.

BIN
game/Assistant-Light.ttf Normal file

Binary file not shown.

BIN
game/Assistant-Medium.ttf Normal file

Binary file not shown.

BIN
game/Assistant-Regular.ttf Normal file

Binary file not shown.

BIN
game/FreeMono.otf Normal file

Binary file not shown.

BIN
game/FreeSans.ttf Normal file

Binary file not shown.

Binary file not shown.

BIN
game/Monospace.ttf Normal file

Binary file not shown.

BIN
game/NotoSans-Regular.ttf Normal file

Binary file not shown.

BIN
game/NotoSansJP-Regular.ttf Normal file

Binary file not shown.

BIN
game/Rubik-Black.ttf Normal file

Binary file not shown.

BIN
game/Rubik-Bold.ttf Normal file

Binary file not shown.

BIN
game/Rubik-ExtraBold.ttf Normal file

Binary file not shown.

1367
game/akai_route.rpy Normal file

File diff suppressed because it is too large Load Diff

BIN
game/akai_route.rpyc Normal file

Binary file not shown.

1082
game/aoi_route.rpy Normal file

File diff suppressed because it is too large Load Diff

BIN
game/aoi_route.rpyc Normal file

Binary file not shown.

BIN
game/audio/bgm_amaidol.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
game/audio/bgm_crisis.mp3 Normal file

Binary file not shown.

Binary file not shown.

BIN
game/audio/bgm_magical.flac Normal file

Binary file not shown.

Binary file not shown.

BIN
game/audio/bgm_song_bad.mp3 Normal file

Binary file not shown.

Binary file not shown.

BIN
game/audio/bgm_weird.mp3 Normal file

Binary file not shown.

Binary file not shown.

BIN
game/audio/sfx_bump.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
game/audio/sfx_drumroll.mp3 Normal file

Binary file not shown.

BIN
game/audio/sfx_fixing.mp3 Normal file

Binary file not shown.

BIN
game/audio/sfx_gasp.mp3 Normal file

Binary file not shown.

BIN
game/audio/sfx_mic_drop.mp3 Normal file

Binary file not shown.

BIN
game/audio/sfx_phone.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
game/cache/shaders.txt vendored Normal file

Binary file not shown.

0
game/config.rpy Normal file
View File

BIN
game/config.rpyc Normal file

Binary file not shown.

75
game/gallery.rpy Normal file
View File

@@ -0,0 +1,75 @@
init python:
# Step 1. Create the gallery object.
g = Gallery()
g.locked_button = "button_gallery_locked"
# Step 2. Add buttons and images to the gallery.
# aoi good ending
g.button("סוף טוב אאוי")
g.condition("persistent.aoi_ending")
g.image("cg_aoi_good")
# aoi bad ending
g.button("סוף רע אאוי")
g.condition("persistent.aoi_ending_bad")
g.image("cg_aoi_bad")
# shiro good ending
g.button("סוף טוב שירו")
g.condition("persistent.shiro_ending")
g.image("cg_shiro_good")
# shiro bad ending
g.button("סוף רע שירו")
g.condition("persistent.shiro_ending_bad")
g.image("cg_shiro_bad")
# akai good ending
g.button("סוף טוב אקאי")
g.condition("persistent.akai_ending")
g.image("cg_akai_good")
# akai bad ending
g.button("סוף רע אקאי")
g.condition("persistent.akai_ending_bad")
g.image("cg_akai_bad")
# The transition used when switching images.
g.transition = dissolve
# Step 3. The gallery screen we use.
screen gallery:
# Ensure this replaces the main menu.
tag menu
# The background.
add "bg_contest_stage_front"
# A grid of buttons.
grid 3 3:
xfill True
yfill True
yoffset 80
# Call make_button to show a particular button.
add g.make_button("סוף טוב אאוי", "button_aoi_good", xalign=0.5, yalign=0.5, xzoom=0.1, yzoom=0.1)
add g.make_button("סוף רע אאוי", "button_aoi_bad", xalign=0.5, yalign=0.5, xzoom=0.1, yzoom=0.1)
add g.make_button("סוף טוב שירו", "button_shiro_good", xalign=0.5, yalign=0.5, xzoom=0.1,yzoom=0.1)
add g.make_button("סוף רע שירו", "button_shiro_bad", xalign=0.5, yalign=0.5, zoom=0.1)
add g.make_button("סוף טוב אקאי", "button_akai_good", xalign=0.5, yalign=0.5, zoom=0.1)
add g.make_button("סוף רע אקאי", "button_akai_bad", xalign=0.5, yalign=0.5, zoom=0.1)
# The screen is responsible for returning to the main menu. It could also
# navigate to other gallery screens.
textbutton "חזור" action Return() xalign 0.5 yalign 0.8

BIN
game/gallery.rpyc Normal file

Binary file not shown.

View File

@@ -27,17 +27,17 @@ define config.check_conflicting_properties = True
## The colors of text in the interface.
## An accent color used throughout the interface to label and highlight text.
define gui.accent_color = '#990000'
define gui.accent_color = '#834a96'
## The color used for a text button when it is neither selected nor hovered.
define gui.idle_color = '#707070'
define gui.idle_color = '#ffffff'
## The small color is used for small text, which needs to be brighter/darker to
## achieve the same effect.
define gui.idle_small_color = '#606060'
define gui.idle_small_color = '#e2e2e2'
## The color that is used for buttons and bars that are hovered.
define gui.hover_color = '#990000'
define gui.hover_color = '#834a96'
## The color used for a text button when it is selected but not focused. A
## button is selected if it is the current screen or preference value.
@@ -48,24 +48,24 @@ define gui.insensitive_color = '#7070707f'
## Colors used for the portions of bars that are not filled in. These are not
## used directly, but are used when re-generating bar image files.
define gui.muted_color = '#c16666'
define gui.hover_muted_color = '#d69999'
define gui.muted_color = '#834a96'
define gui.hover_muted_color = '#9c5fb0'
## The colors used for dialogue and menu choice text.
define gui.text_color = '#404040'
define gui.interface_text_color = '#404040'
define gui.text_color = '#ffffff'
define gui.interface_text_color = '#858585'
## Fonts and Font Sizes ########################################################
## The font used for in-game text.
define gui.text_font = "DejaVuSans.ttf"
define gui.text_font = "Assistant-Regular.ttf"
## The font used for character names.
define gui.name_text_font = "DejaVuSans.ttf"
define gui.name_text_font = "Rubik-ExtraBold.ttf"
## The font used for out-of-game text.
define gui.interface_text_font = "DejaVuSans.ttf"
define gui.interface_text_font = "Assistant-Bold.ttf"
## The size of normal dialogue text.
define gui.text_size = 33
@@ -108,12 +108,12 @@ define gui.textbox_yalign = 1.0
## The placement of the speaking character's name, relative to the textbox.
## These can be a whole number of pixels from the left or top, or 0.5 to center.
define gui.name_xpos = 360
define gui.name_xpos = 0.82
define gui.name_ypos = 0
## The horizontal alignment of the character's name. This can be 0.0 for left-
## aligned, 0.5 for centered, and 1.0 for right-aligned.
define gui.name_xalign = 0.0
define gui.name_xalign = 1.0
## The width, height, and borders of the box containing the character's name, or
## None to automatically size it.
@@ -132,7 +132,7 @@ define gui.namebox_tile = False
## The placement of dialogue relative to the textbox. These can be a whole
## number of pixels relative to the left or top side of the textbox, or 0.5 to
## center.
define gui.dialogue_xpos = 402
define gui.dialogue_xpos = 0.75
define gui.dialogue_ypos = 75
## The maximum width of dialogue text, in pixels.
@@ -140,7 +140,7 @@ define gui.dialogue_width = 1116
## The horizontal alignment of the dialogue text. This can be 0.0 for left-
## aligned, 0.5 for centered, and 1.0 for right-aligned.
define gui.dialogue_text_xalign = 0.0
define gui.dialogue_text_xalign = 1.0
## Buttons #####################################################################
@@ -173,7 +173,7 @@ define gui.button_text_insensitive_color = gui.insensitive_color
## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0
## is right).
define gui.button_text_xalign = 0.0
define gui.button_text_xalign = 1.0
## These variables override settings for different kinds of buttons. Please see
@@ -190,7 +190,7 @@ define gui.confirm_button_text_xalign = 0.5
define gui.page_button_borders = Borders(15, 6, 15, 6)
define gui.quick_button_borders = Borders(15, 6, 15, 0)
define gui.quick_button_borders = Borders(15, 6, 15, 5)
define gui.quick_button_text_size = 21
define gui.quick_button_text_idle_color = gui.idle_small_color
define gui.quick_button_text_selected_color = gui.accent_color
@@ -250,7 +250,7 @@ define gui.file_slot_rows = 2
## The position of the left side of the navigation buttons, relative to the left
## side of the screen.
define gui.navigation_xpos = 60
define gui.navigation_xpos = 1630
## The vertical position of the skip indicator.
define gui.skip_ypos = 15
@@ -350,16 +350,16 @@ define gui.history_spacing = 0
## The position, width, and alignment of the label giving the name of the
## speaking character.
define gui.history_name_xpos = 233
define gui.history_name_xpos = 1100
define gui.history_name_ypos = 0
define gui.history_name_width = 233
define gui.history_name_xalign = 1.0
define gui.history_name_xalign = 0.0
## The position, width, and alignment of the dialogue text.
define gui.history_text_xpos = 255
define gui.history_text_xpos = 1078
define gui.history_text_ypos = 3
define gui.history_text_width = 1110
define gui.history_text_xalign = 0.0
define gui.history_text_xalign = 1.0
## NVL-Mode ####################################################################
@@ -389,17 +389,17 @@ define gui.nvl_name_width = 225
define gui.nvl_name_xalign = 1.0
## The position, width, and alignment of the dialogue text.
define gui.nvl_text_xpos = 675
define gui.nvl_text_ypos = 12
define gui.nvl_text_width = 885
define gui.nvl_text_xalign = 0.0
define gui.nvl_text_xpos = 1400
define gui.nvl_text_ypos = 40
define gui.nvl_text_width = 1000
define gui.nvl_text_xalign = 1.0
## The position, width, and alignment of nvl_thought text (the text said by the
## nvl_narrator character.)
define gui.nvl_thought_xpos = 360
define gui.nvl_thought_ypos = 0
define gui.nvl_thought_width = 1170
define gui.nvl_thought_xalign = 0.0
define gui.nvl_thought_xalign = 1.0
## The position of nvl menu_buttons.
define gui.nvl_button_xpos = 675
@@ -443,8 +443,8 @@ init python:
## Adjust the location of the textbox.
gui.textbox_height = 360
gui.name_xpos = 120
gui.dialogue_xpos = 135
gui.name_xpos = 1815
gui.dialogue_xpos = 1775
gui.dialogue_width = 1650
## Change the size and spacing of various things.
@@ -457,7 +457,7 @@ init python:
gui.pref_button_spacing = 15
gui.history_height = 285
gui.history_text_width = 1035
gui.history_text_width = 800
gui.quick_button_text_size = 30

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 916 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 916 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 860 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 464 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 804 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 802 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 803 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 802 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 521 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 520 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 838 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 836 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 50 KiB

BIN
game/images/akai_base.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Some files were not shown because too many files have changed in this diff Show More