<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Puzzle on Left Jun</title>
        <link>/en/tags/puzzle/</link>
        <description>Recent content in Puzzle on Left Jun</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Tue, 10 Feb 2026 10:00:00 +0800</lastBuildDate><atom:link href="/en/tags/puzzle/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>Relativity of a Dot</title>
            <link>/en/projects/relativity-of-a-dot/</link>
            <pubDate>Tue, 10 Feb 2026 10:00:00 +0800</pubDate>
            <guid>/en/projects/relativity-of-a-dot/</guid>
            <description>&lt;img src=&#34;/&#34; alt=&#34;Featured image of post Relativity of a Dot&#34; /&gt;&lt;h2 id=&#34;overview&#34;&gt;Overview&#xA;&lt;/h2&gt;&lt;p&gt;This is a 2D / 3D switching puzzle prototype. I used it to test whether the same level could produce different solutions under different spatial rules.&lt;/p&gt;&#xA;&lt;p&gt;The idea came from the keyword &amp;ldquo;dot.&amp;rdquo; A dot can be a point in one dimension, a mark on a 2D plane, or a projection inside 3D space. I turned that idea into a spatial prototype where the player switches between 2D projection and 3D space to understand the same level through different rules.&lt;/p&gt;&#xA;&lt;h2 id=&#34;screenshots-and-mechanics&#34;&gt;Screenshots and Mechanics&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img src=&#34;/projects/relativity-of-a-dot/screenshot-2d-view.png&#34;&#xA;&#x9;width=&#34;2559&#34;&#xA;&#x9;height=&#34;1439&#34;&#xA;&#x9;loading=&#34;lazy&#34;&#xA;&#x9;&#xA;&#x9;&#x9;alt=&#34;2D view&#34;&#xA;&#x9;&#xA;&#x9;&#xA;&#x9;&#x9;class=&#34;gallery-image&#34; &#xA;&#x9;&#x9;data-flex-grow=&#34;177&#34;&#xA;&#x9;&#x9;data-flex-basis=&#34;426px&#34;&#xA;&#x9;&#xA;&gt;&lt;/p&gt;&#xA;&lt;p&gt;In 2D mode, the player sees a side-view projection of the level. Movement is constrained to one plane, and obstacles behave more like a traditional 2D puzzle.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;/projects/relativity-of-a-dot/screenshot-3d-view.png&#34;&#xA;&#x9;width=&#34;2559&#34;&#xA;&#x9;height=&#34;1439&#34;&#xA;&#x9;loading=&#34;lazy&#34;&#xA;&#x9;&#xA;&#x9;&#x9;alt=&#34;3D view&#34;&#xA;&#x9;&#xA;&#x9;&#xA;&#x9;&#x9;class=&#34;gallery-image&#34; &#xA;&#x9;&#x9;data-flex-grow=&#34;177&#34;&#xA;&#x9;&#x9;data-flex-basis=&#34;426px&#34;&#xA;&#x9;&#xA;&gt;&lt;/p&gt;&#xA;&lt;p&gt;After switching to 3D, the camera and movement rules change together. Structures that look like blockers in 2D can be reinterpreted through spatial depth.&lt;/p&gt;&#xA;&lt;h2 id=&#34;my-role&#34;&gt;My role&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Designed the mechanic and developed the prototype independently.&lt;/li&gt;&#xA;&lt;li&gt;Rapidly verified dimension switching, camera switching, and object-behavior synchronization.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;technical-implementation&#34;&gt;Technical implementation&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Used &lt;code&gt;DimensionManager&lt;/code&gt; to control dimension state, camera switching, and object behavior.&lt;/li&gt;&#xA;&lt;li&gt;Allowed the same player object to switch movement rules between 2D and 3D.&lt;/li&gt;&#xA;&lt;li&gt;Used collider switching and projected-position correction to make one scene support multiple solutions.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;system-structure&#34;&gt;System Structure&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Dimension switching: &lt;code&gt;DimensionManager&lt;/code&gt; controls 2D/3D state and synchronizes Cinemachine camera priority.&lt;/li&gt;&#xA;&lt;li&gt;Player control: &lt;code&gt;PlayerMove&lt;/code&gt;, &lt;code&gt;PlayerJump&lt;/code&gt;, &lt;code&gt;GroundCheck2D&lt;/code&gt;, and &lt;code&gt;GroundCheck3D&lt;/code&gt; handle movement, jumping, and grounded checks under two spatial rules.&lt;/li&gt;&#xA;&lt;li&gt;Spatial object rules: &lt;code&gt;DimensionObject&lt;/code&gt; enables different colliders depending on the current dimension and corrects projected player position in 2D mode.&lt;/li&gt;&#xA;&lt;li&gt;Menu and flow: start menu, pause menu, and basic flow control keep the prototype playable as a complete loop.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The prototype focuses on validating one clear chain: pressing &lt;code&gt;Tab&lt;/code&gt; changes the dimension state, switches the camera, changes movement axes, updates collision rules, and creates a new spatial solution inside the same level.&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Echoes of Time</title>
            <link>/en/projects/time-echo/</link>
            <pubDate>Thu, 20 Nov 2025 10:00:00 +0800</pubDate>
            <guid>/en/projects/time-echo/</guid>
            <description>&lt;img src=&#34;/&#34; alt=&#34;Featured image of post Echoes of Time&#34; /&gt;&lt;h2 id=&#34;overview&#34;&gt;Overview&#xA;&lt;/h2&gt;&lt;p&gt;Echoes of Time is a 2D narrative puzzle-platformer created for the 2025 Autumn Sanjiao Cup Game Jam. The player controls a cat-like mythical creature inspired by Huan from ancient Chinese mythology, traveling through ancient, modern, and future versions of the same place. Across the journey, the player collects instruments and melodies, eventually bringing the echoes of three eras into a future where music has disappeared.&lt;/p&gt;&#xA;&lt;p&gt;The central question of the project is: why does music matter, and what do humans lose when music vanishes? Our answer was expressed through both narrative and mechanics: music is not only sound, but also emotion, memory, cultural identity, and one of the most direct forms of human connection.&lt;/p&gt;&#xA;&lt;h2 id=&#34;world-and-theme&#34;&gt;World and Theme&#xA;&lt;/h2&gt;&lt;p&gt;The story takes place in a future where music has died. Technology has built towers higher and higher, while humans have gradually lost their sensitivity to their own inner lives. As a time-traveling Huan, the player returns to the past and the present to recover awe, remembrance, and the last hope of the future.&lt;/p&gt;&#xA;&lt;p&gt;The &amp;ldquo;echo&amp;rdquo; in the title has two meanings. It refers to music traveling across eras, and also to the way choices made in the past reshape the future. The protagonist does not simply save the world; they help people remember how to listen again.&lt;/p&gt;&#xA;&lt;h2 id=&#34;core-gameplay&#34;&gt;Core Gameplay&#xA;&lt;/h2&gt;&lt;p&gt;The game is built around three timelines of the same location. The ancient, modern, and future maps correspond spatially, but buildings, trees, roads, and towers change as time passes.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ancient era: cross the lake, enter the bamboo forest, collect Echo Bamboo, bring it to the ancient musician, craft a flute, and learn the melody of awe.&lt;/li&gt;&#xA;&lt;li&gt;Modern era: travel to a recent past, use nutrient fluid to save a dying tree, return to the present, climb the revived tree to reach a rooftop, collect a wooden guitar, and learn the melody of remembrance.&lt;/li&gt;&#xA;&lt;li&gt;Future era: search a cyberpunk wasteland tower for a robot core, repair the damaged robot, receive a tuner, climb to the top, and perform the final movement.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The platforming layer uses wall jumps, conditional double jumps, and timeline switching. Players need to read what changes and what remains in different eras, then alter the past to open paths in the present and future.&lt;/p&gt;&#xA;&lt;h2 id=&#34;screenshots-and-scenes&#34;&gt;Screenshots and Scenes&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img src=&#34;/projects/time-echo/screenshot-opening.png&#34;&#xA;&#x9;width=&#34;2559&#34;&#xA;&#x9;height=&#34;1438&#34;&#xA;&#x9;loading=&#34;lazy&#34;&#xA;&#x9;&#xA;&#x9;&#x9;alt=&#34;Opening setup&#34;&#xA;&#x9;&#xA;&#x9;&#xA;&#x9;&#x9;class=&#34;gallery-image&#34; &#xA;&#x9;&#x9;data-flex-grow=&#34;177&#34;&#xA;&#x9;&#x9;data-flex-basis=&#34;427px&#34;&#xA;&#x9;&#xA;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The opening image introduces the world in a quiet tone: music is disappearing together with humanity, and the protagonist Huan is the last guardian of sound.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;/projects/time-echo/screenshot-ancient-dialogue.png&#34;&#xA;&#x9;width=&#34;1586&#34;&#xA;&#x9;height=&#34;678&#34;&#xA;&#x9;loading=&#34;lazy&#34;&#xA;&#x9;&#xA;&#x9;&#x9;alt=&#34;Ancient musician dialogue&#34;&#xA;&#x9;&#xA;&#x9;&#xA;&#x9;&#x9;class=&#34;gallery-image&#34; &#xA;&#x9;&#x9;data-flex-grow=&#34;233&#34;&#xA;&#x9;&#x9;data-flex-basis=&#34;561px&#34;&#xA;&#x9;&#xA;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The ancient act connects the flute and musician to the theme of awe, tying music to nature, mountains, and older memories.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;/projects/time-echo/screenshot-ancient-platforming.png&#34;&#xA;&#x9;width=&#34;2559&#34;&#xA;&#x9;height=&#34;1439&#34;&#xA;&#x9;loading=&#34;lazy&#34;&#xA;&#x9;&#xA;&#x9;&#x9;alt=&#34;Ancient platforming scene&#34;&#xA;&#x9;&#xA;&#x9;&#xA;&#x9;&#x9;class=&#34;gallery-image&#34; &#xA;&#x9;&#x9;data-flex-grow=&#34;177&#34;&#xA;&#x9;&#x9;data-flex-basis=&#34;426px&#34;&#xA;&#x9;&#xA;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The ancient level uses ink-wash mountains, bamboo, clouds, and light platforms to create a poetic sense of movement.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;/projects/time-echo/screenshot-modern-scene.png&#34;&#xA;&#x9;width=&#34;2559&#34;&#xA;&#x9;height=&#34;1439&#34;&#xA;&#x9;loading=&#34;lazy&#34;&#xA;&#x9;&#xA;&#x9;&#x9;alt=&#34;Modern scene with guitarist&#34;&#xA;&#x9;&#xA;&#x9;&#xA;&#x9;&#x9;class=&#34;gallery-image&#34; &#xA;&#x9;&#x9;data-flex-grow=&#34;177&#34;&#xA;&#x9;&#x9;data-flex-basis=&#34;426px&#34;&#xA;&#x9;&#xA;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The modern act places the park, fountain, guitarist, and time gate in one scene, carrying the melody of remembrance.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;/projects/time-echo/screenshot-future-platforming.png&#34;&#xA;&#x9;width=&#34;2559&#34;&#xA;&#x9;height=&#34;1430&#34;&#xA;&#x9;loading=&#34;lazy&#34;&#xA;&#x9;&#xA;&#x9;&#x9;alt=&#34;Future tower platforming&#34;&#xA;&#x9;&#xA;&#x9;&#xA;&#x9;&#x9;class=&#34;gallery-image&#34; &#xA;&#x9;&#x9;data-flex-grow=&#34;178&#34;&#xA;&#x9;&#x9;data-flex-basis=&#34;429px&#34;&#xA;&#x9;&#xA;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The future act shifts into a darker cyberpunk space. Platforms and pipes create a colder, more oppressive contrast with the earlier eras.&lt;/p&gt;&#xA;&lt;h2 id=&#34;narrative-structure&#34;&gt;Narrative Structure&#xA;&lt;/h2&gt;&lt;p&gt;The three acts correspond to three forms of musical memory.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ancient musician and flute: music as awe, the first act of listening to nature and life.&lt;/li&gt;&#xA;&lt;li&gt;Modern guitarist Su Wang and wooden guitar: music as remembrance, connecting people with cities, old trees, and personal emotion.&lt;/li&gt;&#xA;&lt;li&gt;Future robot and tuner: music as hope, the last protocol left after civilization has nearly lost its voice.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In the ending, the ancient musician, modern songwriter, and future robot symbolically join the protagonist on top of the tower. The sounds of the past travel across the future city, awakening a heart that has gone cold.&lt;/p&gt;&#xA;&lt;h2 id=&#34;my-role&#34;&gt;My Role&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Served as lead designer and team coordinator, building the world setting, three-act structure, core mechanics, and level flow.&lt;/li&gt;&#xA;&lt;li&gt;Wrote the main design document, post-jam revised design document, character dialogue, ending narration, and art requirement documents.&lt;/li&gt;&#xA;&lt;li&gt;Translated the idea of &amp;ldquo;one place across three eras&amp;rdquo; into executable level layouts and asset lists.&lt;/li&gt;&#xA;&lt;li&gt;Coordinated programmers, artists, and musicians by clarifying character actions, scene assets, interactive props, and performance needs.&lt;/li&gt;&#xA;&lt;li&gt;Participated in debugging, map design, partial art support, and flow integration.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;technical-and-production-design&#34;&gt;Technical and Production Design&#xA;&lt;/h2&gt;&lt;p&gt;The project used Godot as the development environment. My design work focused on turning a complex time-travel concept into a structure that programmers and artists could implement quickly.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Broke down character behavior for programming: movement, wall jump, roll, conditional double jump, interaction triggers, and timeline switching.&lt;/li&gt;&#xA;&lt;li&gt;Broke down layered art assets: distant backgrounds, tileable ground, temporary platforms, characters, NPCs, key props, and interactive buildings.&lt;/li&gt;&#xA;&lt;li&gt;Designed transformation rules for the same location across eras, such as an ancient house becoming a modern villa and later a future tower.&lt;/li&gt;&#xA;&lt;li&gt;Built the &amp;ldquo;save the tree&amp;rdquo; puzzle as the core example: the player changes the tree&amp;rsquo;s fate in the past, returns to the present, and uses the revived branches to reach a previously inaccessible rooftop.&lt;/li&gt;&#xA;&lt;li&gt;Planned the final performance sequence: three instruments sound in order, echoes of past musicians appear, the robot joins with future electronic music, and the ending resolves into an orchestral finale.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;design-highlights&#34;&gt;Design Highlights&#xA;&lt;/h2&gt;&lt;p&gt;The most important design attempt in Echoes of Time was to make time travel feel like understanding the history of one place rather than simply loading three unrelated maps. The player sees a single space grow, change, and lose its voice across eras.&lt;/p&gt;&#xA;&lt;p&gt;The ancient lake and bamboo forest, the modern park and tree, and the future tower and robot form one emotional curve: awe in nature, remembrance in the city, and hope in a future ruin. Music ties these moments together as the thread between time, place, and human feeling.&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
