first commit

This commit is contained in:
waifu 2023-12-01 15:03:01 -03:00
parent 6e09b2ac94
commit dcae27290a
103 changed files with 4465 additions and 0 deletions

8
.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
log.txt
traceback.txt
game/saves/*
game/cache/*
*.rpyc
*.rpym
*.rpymc

View File

@ -1,2 +1,14 @@
# federated-love
## How to play?
- You can get the executables for it [here](https://downloads.waifuism.life/)
- Or play right now over the browser over [here](https://novel.waifuism.life/)
## Running from source (or to develop)
- Download [renpy](https://www.renpy.org/) (We use 8.1, but other versions may work too)
- Clone/Download this repository
- Copy the whole folder into your projects folder
- Example: project.json would be in /home/myuser/RenPyProjects/federated-love
- Select the project and Launch it

BIN
game/audio/whoosh.mp3 Executable file

Binary file not shown.

80
game/chapter2.rpy Executable file
View File

@ -0,0 +1,80 @@
label chapter2:
scene fediverse
show pleroma smug with dissolve
"Dialogue and presentation of the fediverse"
jump exploration
label exploration:
if grumb_played and weeble_played:
menu:
"Where do you want to go?"
"bungle":
jump bungle
"FCE":
jump FCE
"I Want something different":
jump mastodon
else:
menu:
"bungle":
jump bungle
"FCE":
jump FCE
label bungle:
scene bg bungle
weeble "Placeholder dialogue"
python:
weeble_played = True
jump exploration
label FCE:
scene bg FCE
grumb "Placeholder dialogue"
python:
grumb_played = True
jump exploration
label mastodon:
scene bg mastodon
grumb "Right on"
"description of the events"
jump chapter3

7
game/chapter3.rpy Executable file
View File

@ -0,0 +1,7 @@
label chapter3:
#this is the ending
pause 20.0
return

474
game/gui.rpy Executable file
View File

@ -0,0 +1,474 @@
################################################################################
## Initialization
################################################################################
## The init offset statement causes the initialization statements in this file
## to run before init statements in any other file.
init offset = -2
## Calling gui.init resets the styles to sensible default values, and sets the
## width and height of the game.
init python:
gui.init(1920, 1080)
################################################################################
## GUI Configuration Variables
################################################################################
## Colors ######################################################################
##
## The colors of text in the interface.
## An accent color used throughout the interface to label and highlight text.
define gui.accent_color = '#cc6600'
## The color used for a text button when it is neither selected nor hovered.
define gui.idle_color = '#aaaaaa'
## The small color is used for small text, which needs to be brighter/darker to
## achieve the same effect.
define gui.idle_small_color = '#888888'
## The color that is used for buttons and bars that are hovered.
define gui.hover_color = '#cc6600'
## 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.
define gui.selected_color = '#555555'
## The color used for a text button when it cannot be selected.
define gui.insensitive_color = '#aaaaaa7f'
## 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 = '#e0a366'
define gui.hover_muted_color = '#eac199'
## The colors used for dialogue and menu choice text.
define gui.text_color = '#404040'
define gui.interface_text_color = '#404040'
## Fonts and Font Sizes ########################################################
## The font used for in-game text.
define gui.text_font = "DejaVuSans.ttf"
## The font used for character names.
define gui.name_text_font = "DejaVuSans.ttf"
## The font used for out-of-game text.
define gui.interface_text_font = "DejaVuSans.ttf"
## The size of normal dialogue text.
define gui.text_size = 33
## The size of character names.
define gui.name_text_size = 45
## The size of text in the game's user interface.
define gui.interface_text_size = 33
## The size of labels in the game's user interface.
define gui.label_text_size = 36
## The size of text on the notify screen.
define gui.notify_text_size = 24
## The size of the game's title.
define gui.title_text_size = 75
## Main and Game Menus #########################################################
## The images used for the main and game menus.
define gui.main_menu_background = "gui/main_menu.png"
define gui.game_menu_background = "gui/game_menu.png"
## Dialogue ####################################################################
##
## These variables control how dialogue is displayed on the screen one line at a
## time.
## The height of the textbox containing dialogue.
define gui.textbox_height = 278
## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is
## center, and 1.0 is the bottom.
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_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
## The width, height, and borders of the box containing the character's name, or
## None to automatically size it.
define gui.namebox_width = None
define gui.namebox_height = None
## The borders of the box containing the character's name, in left, top, right,
## bottom order.
define gui.namebox_borders = Borders(5, 5, 5, 5)
## If True, the background of the namebox will be tiled, if False, the
## background of the namebox will be scaled.
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_ypos = 75
## The maximum width of dialogue text, in pixels.
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
## Buttons #####################################################################
##
## These variables, along with the image files in gui/button, control aspects of
## how buttons are displayed.
## The width and height of a button, in pixels. If None, Ren'Py computes a size.
define gui.button_width = None
define gui.button_height = None
## The borders on each side of the button, in left, top, right, bottom order.
define gui.button_borders = Borders(6, 6, 6, 6)
## If True, the background image will be tiled. If False, the background image
## will be linearly scaled.
define gui.button_tile = False
## The font used by the button.
define gui.button_text_font = gui.interface_text_font
## The size of the text used by the button.
define gui.button_text_size = gui.interface_text_size
## The color of button text in various states.
define gui.button_text_idle_color = gui.idle_color
define gui.button_text_hover_color = gui.hover_color
define gui.button_text_selected_color = gui.selected_color
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
## These variables override settings for different kinds of buttons. Please see
## the gui documentation for the kinds of buttons available, and what each is
## used for.
##
## These customizations are used by the default interface:
define gui.radio_button_borders = Borders(27, 6, 6, 6)
define gui.check_button_borders = Borders(27, 6, 6, 6)
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_text_size = 21
define gui.quick_button_text_idle_color = gui.idle_small_color
define gui.quick_button_text_selected_color = gui.accent_color
## You can also add your own customizations, by adding properly-named variables.
## For example, you can uncomment the following line to set the width of a
## navigation button.
# define gui.navigation_button_width = 250
## Choice Buttons ##############################################################
##
## Choice buttons are used in the in-game menus.
define gui.choice_button_width = 1185
define gui.choice_button_height = None
define gui.choice_button_tile = False
define gui.choice_button_borders = Borders(150, 8, 150, 8)
define gui.choice_button_text_font = gui.text_font
define gui.choice_button_text_size = gui.text_size
define gui.choice_button_text_xalign = 0.5
define gui.choice_button_text_idle_color = "#cccccc"
define gui.choice_button_text_hover_color = "#ffffff"
define gui.choice_button_text_insensitive_color = "#444444"
## File Slot Buttons ###########################################################
##
## A file slot button is a special kind of button. It contains a thumbnail
## image, and text describing the contents of the save slot. A save slot uses
## image files in gui/button, like the other kinds of buttons.
## The save slot button.
define gui.slot_button_width = 414
define gui.slot_button_height = 309
define gui.slot_button_borders = Borders(15, 15, 15, 15)
define gui.slot_button_text_size = 21
define gui.slot_button_text_xalign = 0.5
define gui.slot_button_text_idle_color = gui.idle_small_color
define gui.slot_button_text_selected_idle_color = gui.selected_color
define gui.slot_button_text_selected_hover_color = gui.hover_color
## The width and height of thumbnails used by the save slots.
define config.thumbnail_width = 384
define config.thumbnail_height = 216
## The number of columns and rows in the grid of save slots.
define gui.file_slot_cols = 3
define gui.file_slot_rows = 2
## Positioning and Spacing #####################################################
##
## These variables control the positioning and spacing of various user interface
## elements.
## The position of the left side of the navigation buttons, relative to the left
## side of the screen.
define gui.navigation_xpos = 60
## The vertical position of the skip indicator.
define gui.skip_ypos = 15
## The vertical position of the notify screen.
define gui.notify_ypos = 68
## The spacing between menu choices.
define gui.choice_spacing = 33
## Buttons in the navigation section of the main and game menus.
define gui.navigation_spacing = 6
## Controls the amount of spacing between preferences.
define gui.pref_spacing = 15
## Controls the amount of spacing between preference buttons.
define gui.pref_button_spacing = 0
## The spacing between file page buttons.
define gui.page_spacing = 0
## The spacing between file slots.
define gui.slot_spacing = 15
## The position of the main menu text.
define gui.main_menu_text_xalign = 1.0
## Frames ######################################################################
##
## These variables control the look of frames that can contain user interface
## components when an overlay or window is not present.
## Generic frames.
define gui.frame_borders = Borders(6, 6, 6, 6)
## The frame that is used as part of the confirm screen.
define gui.confirm_frame_borders = Borders(60, 60, 60, 60)
## The frame that is used as part of the skip screen.
define gui.skip_frame_borders = Borders(24, 8, 75, 8)
## The frame that is used as part of the notify screen.
define gui.notify_frame_borders = Borders(24, 8, 60, 8)
## Should frame backgrounds be tiled?
define gui.frame_tile = False
## Bars, Scrollbars, and Sliders ###############################################
##
## These control the look and size of bars, scrollbars, and sliders.
##
## The default GUI only uses sliders and vertical scrollbars. All of the other
## bars are only used in creator-written screens.
## The height of horizontal bars, scrollbars, and sliders. The width of vertical
## bars, scrollbars, and sliders.
define gui.bar_size = 38
define gui.scrollbar_size = 18
define gui.slider_size = 38
## True if bar images should be tiled. False if they should be linearly scaled.
define gui.bar_tile = False
define gui.scrollbar_tile = False
define gui.slider_tile = False
## Horizontal borders.
define gui.bar_borders = Borders(6, 6, 6, 6)
define gui.scrollbar_borders = Borders(6, 6, 6, 6)
define gui.slider_borders = Borders(6, 6, 6, 6)
## Vertical borders.
define gui.vbar_borders = Borders(6, 6, 6, 6)
define gui.vscrollbar_borders = Borders(6, 6, 6, 6)
define gui.vslider_borders = Borders(6, 6, 6, 6)
## What to do with unscrollable scrollbars in the gui. "hide" hides them, while
## None shows them.
define gui.unscrollable = "hide"
## History #####################################################################
##
## The history screen displays dialogue that the player has already dismissed.
## The number of blocks of dialogue history Ren'Py will keep.
define config.history_length = 250
## The height of a history screen entry, or None to make the height variable at
## the cost of performance.
define gui.history_height = 210
## 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_ypos = 0
define gui.history_name_width = 233
define gui.history_name_xalign = 1.0
## The position, width, and alignment of the dialogue text.
define gui.history_text_xpos = 255
define gui.history_text_ypos = 3
define gui.history_text_width = 1110
define gui.history_text_xalign = 0.0
## NVL-Mode ####################################################################
##
## The NVL-mode screen displays the dialogue spoken by NVL-mode characters.
## The borders of the background of the NVL-mode background window.
define gui.nvl_borders = Borders(0, 15, 0, 30)
## The maximum number of NVL-mode entries Ren'Py will display. When more entries
## than this are to be show, the oldest entry will be removed.
define gui.nvl_list_length = 6
## The height of an NVL-mode entry. Set this to None to have the entries
## dynamically adjust height.
define gui.nvl_height = 173
## The spacing between NVL-mode entries when gui.nvl_height is None, and between
## NVL-mode entries and an NVL-mode menu.
define gui.nvl_spacing = 15
## The position, width, and alignment of the label giving the name of the
## speaking character.
define gui.nvl_name_xpos = 645
define gui.nvl_name_ypos = 0
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
## 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
## The position of nvl menu_buttons.
define gui.nvl_button_xpos = 675
define gui.nvl_button_xalign = 0.0
## Localization ################################################################
## This controls where a line break is permitted. The default is suitable
## for most languages. A list of available values can be found at https://
## www.renpy.org/doc/html/style_properties.html#style-property-language
define gui.language = "unicode"
################################################################################
## Mobile devices
################################################################################
init python:
## This increases the size of the quick buttons to make them easier to touch
## on tablets and phones.
@gui.variant
def touch():
gui.quick_button_borders = Borders(60, 21, 60, 0)
## This changes the size and spacing of various GUI elements to ensure they
## are easily visible on phones.
@gui.variant
def small():
## Font sizes.
gui.text_size = 45
gui.name_text_size = 54
gui.notify_text_size = 38
gui.interface_text_size = 45
gui.button_text_size = 45
gui.label_text_size = 51
## Adjust the location of the textbox.
gui.textbox_height = 360
gui.name_xpos = 120
gui.dialogue_xpos = 135
gui.dialogue_width = 1650
## Change the size and spacing of various things.
gui.slider_size = 54
gui.choice_button_width = 1860
gui.choice_button_text_size = 45
gui.navigation_spacing = 30
gui.pref_button_spacing = 15
gui.history_height = 285
gui.history_text_width = 1035
gui.quick_button_text_size = 30
## File button layout.
gui.file_slot_cols = 2
gui.file_slot_rows = 2
## NVL-mode.
gui.nvl_height = 255
gui.nvl_name_width = 458
gui.nvl_name_xpos = 488
gui.nvl_text_width = 1373
gui.nvl_text_xpos = 518
gui.nvl_text_ypos = 8
gui.nvl_thought_width = 1860
gui.nvl_thought_xpos = 30
gui.nvl_button_width = 1860
gui.nvl_button_xpos = 30

BIN
game/gui/bar/bottom.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 836 B

BIN
game/gui/bar/left.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 521 B

BIN
game/gui/bar/right.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 B

BIN
game/gui/bar/top.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
game/gui/frame.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

BIN
game/gui/game_menu.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
game/gui/main_menu.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 809 KiB

BIN
game/gui/namebox.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 B

BIN
game/gui/notify.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
game/gui/nvl.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
game/gui/overlay/confirm.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
game/gui/overlay/game_menu.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
game/gui/overlay/main_menu.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
game/gui/phone/bar/bottom.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 836 B

BIN
game/gui/phone/bar/left.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 521 B

BIN
game/gui/phone/bar/right.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 B

BIN
game/gui/phone/bar/top.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
game/gui/phone/nvl.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 704 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 703 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

BIN
game/gui/phone/textbox.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

BIN
game/gui/skip.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 523 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 B

BIN
game/gui/textbox.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
game/gui/window_icon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 KiB

BIN
game/images/pleroma handup.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

BIN
game/images/pleroma normal.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

BIN
game/images/pleroma smug.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

210
game/options.rpy Executable file
View File

@ -0,0 +1,210 @@
## This file contains options that can be changed to customize your game.
##
## Lines beginning with two '#' marks are comments, and you shouldn't uncomment
## them. Lines beginning with a single '#' mark are commented-out code, and you
## may want to uncomment them when appropriate.
## Basics ######################################################################
## A human-readable name of the game. This is used to set the default window
## title, and shows up in the interface and error reports.
##
## The _() surrounding the string marks it as eligible for translation.
define config.name = _("Federated love: I can\'t believe my instance is this cute!")
## Determines if the title given above is shown on the main menu screen. Set
## this to False to hide the title.
define gui.show_name = False
## The version of the game.
define config.version = "0.3"
## Text that is placed on the game's about screen. Place the text between the
## triple-quotes, and leave a blank line between paragraphs.
define gui.about = _p("""
""")
## A short name for the game used for executables and directories in the built
## distribution. This must be ASCII-only, and must not contain spaces, colons,
## or semicolons.
define build.name = "fedivn"
## Sounds and music ############################################################
## These three variables control, among other things, which mixers are shown
## to the player by default. Setting one of these to False will hide the
## appropriate mixer.
define config.has_sound = True
define config.has_music = True
define config.has_voice = True
## To allow the user to play a test sound on the sound or voice channel,
## uncomment a line below and use it to set a sample sound to play.
# define config.sample_sound = "sample-sound.ogg"
# define config.sample_voice = "sample-voice.ogg"
## Uncomment the following line to set an audio file that will be played while
## the player is at the main menu. This file will continue playing into the
## game, until it is stopped or another file is played.
define config.main_menu_music = "audio/main-menu.mp3"
define config.main_menu_music_fadein = 7.0
## Transitions #################################################################
##
## These variables set transitions that are used when certain events occur.
## Each variable should be set to a transition, or None to indicate that no
## transition should be used.
## Entering or exiting the game menu.
define config.enter_transition = dissolve
define config.exit_transition = dissolve
## Between screens of the game menu.
define config.intra_transition = dissolve
## A transition that is used after a game has been loaded.
define config.after_load_transition = None
## Used when entering the main menu after the game has ended.
define config.end_game_transition = dissolve
## A variable to set the transition used when the game starts does not exist.
## Instead, use a with statement after showing the initial scene.
## Window management ###########################################################
##
## This controls when the dialogue window is displayed. If "show", it is always
## displayed. If "hide", it is only displayed when dialogue is present. If
## "auto", the window is hidden before scene statements and shown again once
## dialogue is displayed.
##
## After the game has started, this can be changed with the "window show",
## "window hide", and "window auto" statements.
define config.window = "auto"
## Transitions used to show and hide the dialogue window
define config.window_show_transition = Dissolve(.2)
define config.window_hide_transition = Dissolve(.2)
## Preference defaults #########################################################
## Controls the default text speed. The default, 0, is infinite, while any other
## number is the number of characters per second to type out.
default preferences.text_cps = 0
## The default auto-forward delay. Larger numbers lead to longer waits, with 0
## to 30 being the valid range.
default preferences.afm_time = 15
## Save directory ##############################################################
##
## Controls the platform-specific place Ren'Py will place the save files for
## this game. The save files will be placed in:
##
## Windows: %APPDATA\RenPy\<config.save_directory>
##
## Macintosh: $HOME/Library/RenPy/<config.save_directory>
##
## Linux: $HOME/.renpy/<config.save_directory>
##
## This generally should not be changed, and if it is, should always be a
## literal string, not an expression.
define config.save_directory = "fedivn-1660136669"
## Icon ########################################################################
##
## The icon displayed on the taskbar or dock.
define config.window_icon = "gui/window_icon.png"
## Build configuration #########################################################
##
## This section controls how Ren'Py turns your project into distribution files.
init python:
## The following functions take file patterns. File patterns are case-
## insensitive, and matched against the path relative to the base directory,
## with and without a leading /. If multiple patterns match, the first is
## used.
##
## In a pattern:
##
## / is the directory separator.
##
## * matches all characters, except the directory separator.
##
## ** matches all characters, including the directory separator.
##
## For example, "*.txt" matches txt files in the base directory, "game/
## **.ogg" matches ogg files in the game directory or any of its
## subdirectories, and "**.psd" matches psd files anywhere in the project.
## Classify files as None to exclude them from the built distributions.
build.classify('**~', None)
build.classify('**.bak', None)
build.classify('**/.**', None)
build.classify('**/#**', None)
build.classify('**/thumbs.db', None)
## To archive files, classify them as 'archive'.
# build.classify('game/**.png', 'archive')
# build.classify('game/**.jpg', 'archive')
## Files matching documentation patterns are duplicated in a mac app build,
## so they appear in both the app and the zip file.
build.documentation('*.html')
build.documentation('*.txt')
## A Google Play license key is required to download expansion files and perform
## in-app purchases. It can be found on the "Services & APIs" page of the Google
## Play developer console.
# define build.google_play_key = "..."
## The username and project name associated with an itch.io project, separated
## by a slash.
# define build.itch_project = "renpytom/test-project"

1514
game/screens.rpy Executable file

File diff suppressed because it is too large Load Diff

277
game/script.rpy Executable file
View File

@ -0,0 +1,277 @@

# Setting up the characters and their colours
define pleroma = Character("Pleroma", image="pleroma", who_color="#eda664")
define mc = Character("Unoriginal Main Character", who_color="#64abed")
define admin = Character("Administrator",who_color="#64abed")
define grumb = Character("Grumbulon", image="grumb",who_color="#e9a0d9")
define weeble = Character("Weeble", image="weeble",who_color="#64ed7b")
define lain = Character(name="Lain",who_color="#fcfcfc")
# A few variables needed along the game
default instance_name = "0"
default grumb_played = False
default weeble_played = False
# Music
default chill = "audio/chill.mp3"
default funny = "audio/funny.mp3"
default sad = "audio/sad.mp3"
default madness = "audio/madness.mp3"
# Sounds
default ding = "audio/ding.mp3"
default whoosh = "audio/whoosh.mp3"
default scratch = "audio/record-scratch.mp3"
init python:
import re
# simple url check so instances get checked before proceeding
def check_instance(instance):
try:
instance = re.findall(r'([\w\-_]+(?:(?:\.[\w\-_]+)+))([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?', instance)[0][0]
except Exception as e:
instance = "0"
return instance
# The game starts here.
label start:
stop music fadeout 5.0
scene bg startup
with fade
pause 4.0
lain "People use mastodon because they love the community. "
lain "People use pleroma because they love me."
pause 0.5
scene bg room with dissolve
pause 0.5
play music chill loop fadein 4.5
"You wake up in your bedroom earlier than usual."
"You turn to your nightstand to see the red glowing numbers on your clock that read 12:36 PM."
mc "Wow I'm up earlier than usual."
mc "Today is the day I setup a pleroma instance."
mc "I hope it's as cool as it sounds."
"You make your way way to your desk where you turn on your ThinkPad™ laptop."
scene bg desk with dissolve
pause 0.5
scene bg desk light with dissolve
pause 0.5
"You recall browsing the /g/ board earlier that week and seeing a thread on the fediverse."
"As a user put it:
Fediverse is a based decentralized schizo-esoteric lain-pilled free-speech alternative platform for chads too wired for the typical soy-liberal pronoun cuck safespaces that most NPCs use these days."
"You're not to sure what that means but the thread had a link to the pleroma install guide and you're already banned on twitter so you don't have anything to lose."
"With all the prerequisites done, you go down the list of instructions until you're asked to input a domain name."
mc "Hmmmm what was that domain I bought again?…"
jump instance_choice
label instance_choice:
$instance_name = renpy.input(prompt="URL: ")
$instance_name = str(check_instance(instance_name))
if instance_name == "0":
mc "Oops, that's not right, let's try again."
jump instance_choice
if instance_name == "waifuism.life":
mc "I'm not a weeb, what was it again?"
jump instance_choice
if instance_name == "bungle.online":
mc "No no, that one was taken."
jump instance_choice
if instance_name == "freecumextremist.com":
mc "Seriously? Nah nah, this isn't right that couldn't be."
jump instance_choice
mc "Oh that's right, [instance_name]."
"You start your pleroma instance and no errors pop up. You've done it!"
"You've successfully installed pleroma! Now you just need to create your account."
mc "I'll just keep it simple and name myself admin."
mc "Not like I had a more creative option"
#{MC's name changes to Admin}
"You put in [instance_name] into your Brave Browser and see your brand new instance."
scene bg desk pl #[Scene switches to a close up of the computer screen with the default pleroma page on it]
admin "Wow kinda looks like a more retro aesthetic twitter."
admin "Now let me test out this account."
"You log into your account and before you can do much else something weird happens."
show pleroma normal
with dissolve
stop music fadeout 1.0
play sound ding
show pleroma normal talk
with dissolve
pleroma "Greetings Admin-kun..."
show pleroma normal
with dissolve
menu:
"What the hell is this a bug?!":
pass
"Oh god I'm going schizo…":
pass
show pleroma normal smug
with dissolve
pause 0.5
show pleroma normal smug talk
with dissolve
pleroma "I'm sorry I didn't mean to scare you."
play music chill fadein 5.0
show pleroma normal talk
with dissolve
pleroma "You can call me Pleroma-Tan. I am the software your instance is running on."
show pleroma normal
with dissolve
admin "When I decided to join the fediverse and create an instance I didn't expect my software to be this.."
show pleroma normal smug talk
with dissolve
pleroma "…Cute?"
show pleroma normal
with dissolve
admin "W-w-weird!"
show pleroma handup talk
with dissolve
pleroma "No worries Admin-kun. The fediverse is very different from other social sites and I'm here to help you learn."
show pleroma handup
with dissolve
admin "And why do you keep calling me admin?"
show pleroma normal talk
with dissolve
pleroma "Isn't that your name on the account?"
pleroma "It wouldn't be wise to put your full name out on the fediverse or the internet in general."
show pleroma normal
with dissolve
admin "I suppose"
show pleroma normal talk
with dissolve
pleroma "Besides I don't need your full name…"
show pleroma normal smug talk
with dissolve
pleroma "Unless you want me to have your name, but I think you're supposed to buy me a ring first."
show pleroma smug
with dissolve
admin "What?!"
"You're not sure how to feel about all this. You just wanted a chill social media to post some memes on and now you have this weird fox lady saying embarrassing things."
show pleroma normal talk
with dissolve
pleroma "Anyway are you ready to join the fediverse?"
show pleroma normal
with dissolve
"You look at your screen skeptically. Why was there no mention of Pleroma-tan in the /g/ thread or the install documents? Is this a prank? Did you install the wrong thing? Everything about this just seemed very sketchy to you."
"On the other hand, this is probably the most female attention you've had in years so it wouldn't hurt to indulge a little bit. Besides it's just computer software. It's not real or anything."
admin "Sure I'm ready"
show pleroma hands grin
with dissolve
pleroma "Great!"
stop music fadeout 1.0
"..."
pause 1.5
play sound whoosh
scene bg enterfedi with vpunch
play music funny
" Before you could process what is happening, Pleroma-tan extends a hand out from the computer screen and grabs onto you."
"You let a scared yelp as she pulls you to the screen."
"Your adrenaline spikes as your mind is trying to process what is happening and how it's even possible."
"Despite all the shock you can't help but look down and think."
"Wow her hands are soft."
"End of chapter 1"
return
jump chapter2

50
game/tl/spanish/chapter2.rpy Executable file
View File

@ -0,0 +1,50 @@
# TODO: Translation updated at 2022-11-01 10:58
# game/chapter2.rpy:8
translate spanish chapter2_18c4439f:
# "Dialogue and presentation of the fediverse"
""
# game/chapter2.rpy:46
translate spanish bungle_51356580:
# weeble "Placeholder dialogue"
weeble ""
# game/chapter2.rpy:60
translate spanish FCE_0a809485:
# grumb "Placeholder dialogue"
grumb ""
# game/chapter2.rpy:73
translate spanish mastodon_0acd65a6:
# grumb "Right on"
grumb ""
# game/chapter2.rpy:75
translate spanish mastodon_5c3919c6:
# "description of the events"
""
translate spanish strings:
# game/chapter2.rpy:16
old "Where do you want to go?"
new ""
# game/chapter2.rpy:16
old "bungle"
new ""
# game/chapter2.rpy:16
old "FCE"
new ""
# game/chapter2.rpy:16
old "I Want something different"
new ""

1156
game/tl/spanish/common.rpy Executable file

File diff suppressed because it is too large Load Diff

8
game/tl/spanish/options.rpy Executable file
View File

@ -0,0 +1,8 @@
# TODO: Translation updated at 2022-11-01 10:58
translate spanish strings:
# game/options.rpy:15
old "Federated love: I can't believe my instance is this cute!"
new ""

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