마지막 석양

작성자

카테고리:

← 피드로
DEV Community · gulnur · 2026-06-21 개발(SW)

This is a submission for the June Solstice Game Jam

What I Built

The Last Sunset is a browser-based narrative survival game inspired by the June Solstice theme.

The concept explores a world where time itself is collapsing. Each day becomes shorter than the last, and the sun is gradually fading from existence. The player controls an autonomous AI archival unit tasked with preserving fragments of human civilization before the final sunset.

Instead of traditional combat or scoring systems, the game focuses on knowledge preservation. Players collect “data capsules” containing remnants of human history such as scientific discoveries, space exploration missions, and digital archives.

As the game progresses, the environment becomes increasingly unstable, reflecting the collapse of both time and memory.

Video Demo

Codepen:

Code

The project is built using:

  • Vanilla JavaScript (no frameworks)
  • HTML5 Canvas API for rendering
  • Custom game loop with time scaling
  • Procedural particle system for feedback effects
  • Dynamic day/night cycle with a shrinking sun mechanic

🔗 GitHub Repository:

🌅 The Last Sunset

A small narrative browser game inspired by the June Solstice.

In a world where the sun is slowly fading away, you play as an AI archive unit collecting fragments of human knowledge before the final sunset.

The Last Sunset Banner

🎮 Features

  • Dynamic day cycle
  • Shrinking sun mechanic
  • Knowledge capsule collection
  • Collapse Mode after Day 7
  • Multiple endings based on progress
  • Built with HTML5 Canvas and Vanilla JavaScript

🕹 Controls

Action Key Move Left A Move Right D Jump Space

🚀 Run Locally

git clone https://github.com/yourusername/the-last-sunset.git
cd the-last-sunset

Enter fullscreen mode Exit fullscreen mode

Start a local server:

python -m http.server

Enter fullscreen mode Exit fullscreen mode

Then open:

🛠 Tech Stack

  • HTML5
  • CSS3
  • JavaScript
  • Canvas API

🏆 Challenge

Created for the June Solstice Game Jam.

Preserve humanity’s knowledge before the last sunset.



Key systems include:

  • Collision detection (AABB)
  • Particle burst system for interactions
  • Screen shake and slow-motion effects
  • Narrative memory synthesis system
  • Collapse mode visual degradation system

How I Built It

I started with a simple canvas-based platformer and gradually evolved it into a narrative-driven experience.

The core design decision was to avoid traditional “win/lose” mechanics and instead focus on emergent storytelling through systems.

Key implementation steps:

Built a physics-based movement system (A/D + jump)
Added procedural spawning of “knowledge capsules”
Designed a dynamic time system where each day becomes shorter
Implemented a shrinking sun to visually represent entropy
Introduced a “collapse mode” after Day 7 where visual glitches and terminal corruption begin
Created a memory synthesis system that generates a final narrative based on collected data

To improve game feel, I added several “juice” effects:

Particle bursts on pickup
Camera shake on interaction
Slow-motion moment during collection
Terminal-style archival feedback

These small additions significantly improved immersion and emotional feedback.

Prize Category

🧠 Best Ode to Alan Turing

The game’s narrative structure is inspired by computational memory and symbolic reconstruction of information — concepts closely aligned with Alan Turing’s legacy.

The “memory synthesis system” at the end of the game reconstructs a final narrative from fragmented data, similar to how an intelligent system interprets incomplete information.

🤖 Best Google AI Usage

The concept of emergent storytelling and memory reconstruction was designed with AI-inspired thinking in mind.

The final system behaves like a simplified symbolic model that reconstructs meaning from partial inputs, similar to how modern AI systems generate coherent narratives from fragmented context.

원문에서 계속 ↗

추출 본문 · 출처: dev.to · https://dev.to/glnurltn/the-last-sunset-3g3e

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다