def METHOD_NAME() -> None:
    """Eventually refactor out of prepare."""
    global JOYSTICKS
    global FONTS
    global MUSIC
    global SFX
    global GFX
    global SCREEN
    global SCREEN_RECT
    import pygame as pg
    # Configure databases and locale
    from tuxemon.locale import T
    T.collect_languages(CONFIG.recompile_translations)
    from tuxemon.db import db
    db.load()
    logger.debug("pygame init")
    pg.init()
    pg.display.set_caption(CONFIG.window_caption)
    from tuxemon import platform
    if platform.android:
        fullscreen = pg.FULLSCREEN
    else:
        fullscreen = pg.FULLSCREEN if CONFIG.fullscreen else 0
    flags = pg.HWSURFACE | pg.DOUBLEBUF | fullscreen
    SCREEN = pg.display.set_mode(SCREEN_SIZE, flags)
    SCREEN_RECT = SCREEN.get_rect()
    # Disable the mouse cursor visibility
    pg.mouse.set_visible(not CONFIG.hide_mouse)
    # Set up any gamepads that we detect
    # The following event types will be generated by the joysticks:
    # JOYAXISMOTION JOYBALLMOTION JOYBUTTONDOWN JOYBUTTONUP JOYHATMOTION
    JOYSTICKS = list()
    pg.joystick.init()
    devices = [pg.joystick.Joystick(x) for x in range(pg.joystick.get_count())]
    # Initialize the individual joysticks themselves.
    for joystick in devices:
        name = joystick.get_name()
        print(f'Found joystick: "{name}"')
        blacklisted = any(i.match(name) for i in joystick_blacklist)
        if blacklisted:
            print(f'Ignoring joystick: "{name}"')
        else:
            print(f'Configuring joystick: "{name}"')
            joystick.init()
            JOYSTICKS.append(joystick)