/** * Starter Content Compatibility. * * @since 4.0.0 * @package Astra */ /** * Class Astre_Starter_Content */ class Astra_Starter_Content { public const HOME_SLUG = 'home'; public const ABOUT_SLUG = '#about'; public const SERVICES_SLUG = '#services'; public const REVIEWS_SLUG = '#reviews'; public const WHY_US_SLUG = '#whyus'; public const CONTACT_SLUG = '#contact'; /** * Constructor */ public function __construct() { $is_fresh_site = get_option( 'fresh_site' ); if ( ! $is_fresh_site ) { return; } // Adding post meta and inserting post. add_action( 'wp_insert_post', array( $this, 'register_listener', ), 3, 99 ); // Save astra settings into database. add_action( 'customize_save_after', array( $this, 'save_astra_settings', ), 10, 3 ); if ( ! is_customize_preview() ) { return; } // preview customizer values. add_filter( 'default_post_metadata', array( $this, 'starter_meta' ), 99, 3 ); add_filter( 'astra_theme_defaults', array( $this, 'theme_defaults' ) ); add_filter( 'astra_global_color_palette', array( $this, 'theme_color_palettes_defaults' ) ); } /** * Load default starter meta. * * @since 4.0.2 * @param mixed $value Value. * @param int $post_id Post id. * @param string $meta_key Meta key. * * @return string Meta value. */ public function starter_meta( $value, $post_id, $meta_key ) { if ( get_post_type( $post_id ) !== 'page' ) { return $value; } if ( 'site-content-layout' === $meta_key ) { return 'plain-container'; } if ( 'theme-transparent-header-meta' === $meta_key ) { return 'enabled'; } if ( 'site-sidebar-layout' === $meta_key ) { return 'no-sidebar'; } if ( 'site-post-title' === $meta_key ) { return 'disabled'; } return $value; } /** * Register listener to insert post. * * @since 4.0.0 * @param int $post_ID Post Id. * @param \WP_Post $post Post object. * @param bool $update Is update. */ public function register_listener( $post_ID, $post, $update ) { if ( $update ) { return; } $custom_draft_post_name = get_post_meta( $post_ID, '_customize_draft_post_name', true ); $is_from_starter_content = ! empty( $custom_draft_post_name ); if ( ! $is_from_starter_content ) { return; } if ( 'page' === $post->post_type ) { update_post_meta( $post_ID, 'site-content-layout', 'plain-container' ); update_post_meta( $post_ID, 'theme-transparent-header-meta', 'enabled' ); update_post_meta( $post_ID, 'site-sidebar-layout', 'no-sidebar' ); update_post_meta( $post_ID, 'site-post-title', 'disabled' ); } } /** * Get customizer json * * @since 4.0.0 * @return mixed value. */ public function get_customizer_json() { try { $request = wp_remote_get( ASTRA_THEME_URI . 'inc/compatibility/starter-content/astra-settings-export.json' ); } catch ( Exception $ex ) { $request = null; } if ( is_wp_error( $request ) ) { return false; // Bail early. } // @codingStandardsIgnoreStart /** * @psalm-suppress PossiblyNullReference * @psalm-suppress UndefinedMethod * @psalm-suppress PossiblyNullArrayAccess * @psalm-suppress PossiblyNullArgument * @psalm-suppress InvalidScalarArgument */ return json_decode( $request['body'], 1 ); // @codingStandardsIgnoreEnd } /** * Save Astra customizer settings into database. * * @since 4.0.0 */ public function save_astra_settings() { $settings = self::get_customizer_json(); // Delete existing dynamic CSS cache. delete_option( 'astra-settings' ); if ( ! empty( $settings['customizer-settings'] ) ) { foreach ( $settings['customizer-settings'] as $option => $value ) { update_option( $option, $value ); } } } /** * Load default astra settings. * * @since 4.0.0 * @param mixed $defaults defaults. * @return mixed value. */ public function theme_defaults( $defaults ) { $json = ''; $settings = self::get_customizer_json(); if ( ! empty( $settings['customizer-settings'] ) ) { $json = $settings['customizer-settings']['astra-settings']; } return $json ? $json : $defaults; } /** * Load default color palettes. * * @since 4.0.0 * @param mixed $defaults defaults. * @return mixed value. */ public function theme_color_palettes_defaults( $defaults ) { $json = ''; $settings = self::get_customizer_json(); if ( ! empty( $settings['customizer-settings'] ) ) { $json = $settings['customizer-settings']['astra-color-palettes']; } return $json ? $json : $defaults; } /** * Return starter content definition. * * @return mixed|void * @since 4.0.0 */ public function get() { $nav_items_header = array( 'home' => array( 'type' => 'post_type', 'object' => 'page', 'object_id' => '{{' . self::HOME_SLUG . '}}', ), 'about' => array( 'title' => __( 'Services', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::SERVICES_SLUG . '}}', ), 'services' => array( 'title' => __( 'About', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::ABOUT_SLUG . '}}', ), 'reviews' => array( 'title' => __( 'Reviews', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::REVIEWS_SLUG . '}}', ), 'faq' => array( 'title' => __( 'Why Us', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::WHY_US_SLUG . '}}', ), 'contact' => array( 'title' => __( 'Contact', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::CONTACT_SLUG . '}}', ), ); $content = array( 'attachments' => array( 'logo' => array( 'post_title' => _x( 'Logo', 'Theme starter content', 'astra' ), 'file' => 'inc/assets/images/starter-content/logo.png', ), ), 'theme_mods' => array( 'custom_logo' => '{{logo}}', ), 'nav_menus' => array( 'primary' => array( 'name' => esc_html__( 'Primary', 'astra' ), 'items' => $nav_items_header, ), 'mobile_menu' => array( 'name' => esc_html__( 'Primary', 'astra' ), 'items' => $nav_items_header, ), ), 'options' => array( 'page_on_front' => '{{' . self::HOME_SLUG . '}}', 'show_on_front' => 'page', ), 'posts' => array( self::HOME_SLUG => require ASTRA_THEME_DIR . 'inc/compatibility/starter-content/home.php', // PHPCS:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound ), ); return apply_filters( 'astra_starter_content', $content ); } } How Folklore Shapes Modern Game Themes - Bun Apeti - Burgers and more

How Folklore Shapes Modern Game Themes

Folklore, with its rich tapestry of stories, symbols, and archetypes, has long been a foundational element of cultural identity and storytelling. Its influence extends far beyond traditional oral tales, permeating modern game design where mythic structures shape player journeys. From the Hero’s Call to the Trials of the Trickster, folklore provides a timeless blueprint—one that games adapt into interactive narratives that resonate deeply with players.

Мифы в игровых мирах: Психологическая структура player’s journey

  1. Моифные аркетпы — Hero, Trickster, and Challenger — form the psychological backbone of the player’s arc. The Hero embodies the aspiration toward growth and mastery, confronting inner and outer conflicts that mirror universal human struggles. The Trickster disrupts complacency, introducing chaos and transformation, while the Challenger represents ultimate tests that catalyze personal evolution. Together, these archetypes generate internal tension and dynamic change, driving players through meaningful progression.
  2. Mythic trials embedded in gameplay—such as riddles, moral choices, or symbolic transformations—anchor key narrative milestones. These moments often coincide with progression points, reinforcing emotional stakes. For example, in *The Legend of Zelda*, Link’s journey reflects a Hero’s archetype, evolving from a sheltered youth into a sage warrior through repeated confrontations and revelations.
  3. From the moment a player enters a game world, mythology acts as an invisible architecture. The game’s setting, characters, and rules subtly echo folklore motifs, guiding behavior and expectations. This structure not only immerses players but also shapes their identity within the narrative, turning them from passive observers into active participants in a living myth.

Символная карта митов: от традиции к функциональному дизайну

  1. Classical myths evolve into gameplay systems: federations mirror tribal alliances, quests embody mythic quests, and world zones reflect symbolic realms. This translation from legend to mechanics enables rich, meaningful player experiences.
  2. Consider *Dark Souls*, where the cycle of death and rebirth echoes the mythic hero’s fall and resurrection. The game’s relentless difficulty and fragmented lore function as a modern ritual of trials, drawing players deeper into a mythos that rewards persistence and interpretation.
  3. In digital form, mythology becomes dynamic through algorithmic design. Legendary events are randomized yet coherent, ensuring each playthrough feels both unique and archetypally resonant. This fusion of tradition and technology creates a living narrative ecosystem where players uncover meaning through interaction.

Поэт algebraic: мифы как моторы повторяющегося player’s arc

  1. Mythic cycles—moral tests, recurring worlds, and fate’s intersecting paths—anchor player progression. The Hero’s journey unfolds through repeating patterns: fall, struggle, revelation, renewal—mirroring ancient storytelling patterns adapted for interactivity.
  2. UI design reinforces this rhythm. Progress indicators, such as evolving sigils or tiered skill trees, symbolize the Hero’s ascent, transforming abstract growth into visible, emotionally charged milestones.
  3. Emotionally, these cycles deepen connection. When players face familiar trials—like Judgment in *Dark Souls* or the Trial of Courage in *Hades*—they experience not just challenge, but transformation. Each success reinforces identity as a mythic figure, strengthening attachment and encouraging return.

Влияние митов на narratives agency: player as modern mythmaker

  1. Interactive gameplay transforms passive narrative consumption into active mythmaking. Players no longer follow a fixed story—they become creators of their own legend through choices, actions, and interpretations.
  2. Mechanics like ‘creating a modern myth’ empower players to shape outcomes, rewrite endings, and forge personal legend. In *Disco Elysium*, moral decisions and dialogue choices directly influence the protagonist’s identity and world, embodying the role of a mythic hero reborn through agency.
  3. This shift redefines the player’s role: from witness to co-author. The game becomes a collaborative myth, where player intent and narrative structure merge, reinforcing the idea that every journey is both personal and universal.
  4. >”Game is not just play—it is a ritual of becoming, where players step into myth to write their own truth.”

    Таблица: М selfs deviation from folklore to game design

    Oral tales, cultural legendsMythic archetypes & symbolic questsCore Narrative Foundation

    Hero, Trickster, SagePlayer as active hero, often customizableDynamic protagonists shaping story

    Quests, riddles, symbolic trialsBranching choices, procedural events, evolving systemsInteractive progression systemsPlayer-driven narrative evolution

    Receiver of storyCo-creator of legendAgent of mythic transformationMythic journey realized through action

    Aspect Traditional Folklore Modern Games Design Function
    Source Material
    Character Archetypes
    Mechanics
    Player Role

    Таблица: Митические циклы и эмоциональная аркетика

    Forces ethical reckoningDeepens character complexityReinforces narrative mystery and connection

    Lore markers, sigil upgradesSymbolic world zones, evolving abilitiesProgress indicators, mythic tokens

    Drives introspection and growthSustains engagement through familiarity and surpriseFosters attachment and meaningful repetition

    Cycle Type Moral Provocation Recurring Trials Fate’s Intersections
    Impact
    UI Representation
    Emotional Function

    Conclusion: Folklore is not merely a backdrop to games—it is their hidden architecture. By weaving mythic structures into gameplay, developers craft journeys that resonate deeply, transforming play into mythic experience. As players reshape legends through their choices, games become modern myths—alive, evolving, and eternally meaningful. To understand how folklore shapes game narratives is to see how stories themselves continue to grow, guided by the timeless power of the hero’s path.

    Return to the parent article: How Folklore Shapes Modern Game Themes

/** * Template part for displaying the footer info. * * @link https://codex.wordpress.org/Template_Hierarchy * * @package Astra * @since 1.0.0 */ ?>
Scroll to Top