{
  "schema": "tesign-radar/item/1",
  "generated_at": "2026-09-22T07:26:19.753Z",
  "lang": "ko",
  "slug": "2049",
  "url": "https://tesign.com/item/2049/",
  "alternates": {
    "ko": {
      "html": "https://tesign.com/item/2049/",
      "json": "https://tesign.com/item/2049/index.json",
      "markdown": "https://tesign.com/item/2049/index.md"
    },
    "en": {
      "html": "https://tesign.com/en/item/2049/",
      "json": "https://tesign.com/en/item/2049/index.json",
      "markdown": "https://tesign.com/en/item/2049/index.md"
    }
  },
  "name": "2049 — Mines of Merge",
  "use_label": "2048과 지뢰찾기",
  "one_liner": "당신 자신이 타일이 되어 2048 규칙으로 밀리며 지뢰찾기처럼 숨은 지뢰를 피해 내려가는 브라우저 로그라이크.",
  "text": {
    "why": "2048은 숫자를 합치는 퍼즐이고 지뢰찾기는 위험을 추리하는 게임인데, 2049는 이 둘을 한 판에 합쳤다. 움직일 때마다 던전 전체가(나까지 포함해) 2048 규칙으로 밀리고, 그 사이 보이지 않는 지뢰가 벽처럼 서 있다. 옆 칸을 탐색하면 지뢰 위치가 숫자 단서로 드러난다.",
    "take": "두 익숙한 퍼즐의 규칙을 그대로 겹쳐 놓았을 뿐인데 완전히 새로운 게임처럼 느껴진다는 점이 재미있다.",
    "build": [
      "파이썬으로 만들었고 uv 하나로 의존성을 전부 관리한다. 같은 core.py가 터미널(uv run game)과 브라우저(uv run game-web, Pyodide로 파이썬을 웹어셈블리로 돌림) 양쪽에서 그대로 돌아간다. 최고 점수는 브라우저에서는 localStorage에, 터미널에서는 로컬 파일에 저장된다."
    ],
    "who": [
      {
        "role": "가볍게 즐길 브라우저 게임을 찾는 사람, 2048이나 지뢰찾기를 좋아했던 사람.",
        "situation": null
      }
    ],
    "start": [
      {
        "command": false,
        "text": "저장소의 'Play in the browser' 링크를 눌러 바로 해 본다."
      }
    ],
    "caveat": [
      "아직 막 공개된 개인 프로젝트(별 0개)라 균형 조정이나 버그가 남아 있을 수 있다."
    ]
  },
  "cta": {
    "type": "try",
    "label": "TRY",
    "url": "https://sekor.eu.org/2049"
  },
  "ready": "browser",
  "categories": [
    "games"
  ],
  "categories_confirmed": true,
  "tags": [
    "로그라이크",
    "2048",
    "지뢰찾기",
    "브라우저 게임"
  ],
  "platform": [
    "web",
    "cli"
  ],
  "license": {
    "spdx": "MIT",
    "scope": "permissive",
    "scope_text": "상업 이용·수정·재배포 가능. 저작권 고지는 유지.",
    "url": "https://spdx.org/licenses/MIT.html",
    "note": null,
    "open_source": true
  },
  "language": "Python",
  "source_urls": {
    "canonical": "https://sekor.eu.org/2049",
    "github": "https://github.com/skorotkiewicz/2049",
    "huggingface": null,
    "app_store": null,
    "sightings": [
      {
        "source": "showhn",
        "url": "https://github.com/skorotkiewicz/2049",
        "posted_at": "2026-09-16T04:06:35.000Z",
        "hn_url": "https://news.ycombinator.com/item?id=49721976"
      }
    ]
  },
  "numbers": {
    "as_of": "2026-09-22T03:00:00.000Z",
    "stars": 0,
    "stars_unit": "GitHub stars",
    "stars_checked_at": "2026-09-16T05:46:15.686Z",
    "stars_observed_since_check": 0,
    "star_delta_24h": null,
    "star_delta_7d": null,
    "star_delta_30d": null,
    "star_delta_unit": "GitHub stars gained in the window, GH Archive events summed to as_of",
    "spark_14d": [
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null
    ],
    "hf_likes": null,
    "hf_likes_observed_at": null,
    "hn_points": 1,
    "hn_points_observed_at": "2026-09-21T04:12:30.698Z",
    "store": null,
    "method": "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다."
  },
  "ranks": null,
  "activity": {
    "pushed_at": "2026-09-16T04:54:40.000Z",
    "owner_type": null,
    "open_issues": null,
    "contributors": null,
    "releases_count": null,
    "latest_release": null,
    "checked_at": null,
    "core_checked_at": "2026-09-16T05:46:15.686Z"
  },
  "signals": [
    {
      "kind": "new",
      "label": "신규",
      "value": "생성 0h 만에 포착"
    }
  ],
  "images": {
    "og": "https://tesign.com/img/2049-4d83d2f178.png",
    "cover": "https://tesign.com/img/2049-4d83d2f178.png",
    "cover_width": 2400,
    "cover_height": 1260,
    "gallery": [
      "https://tesign.com/img/2049-4d83d2f178.png"
    ],
    "alt": "2049 게임 화면. 어두운 던전 격자 위에 체력·힘·점수·깊이가 적혀 있고, 초록 내려가기 칸과 숫자 타일 몇 개가 보인다.",
    "tier": 1
  },
  "dates": {
    "first_seen_at": "2026-09-16T04:46:16.019Z",
    "source_created_at": "2026-09-16T04:06:35.000Z",
    "discovery_hours": 0.6613941666666666,
    "launch_signal_at": "2026-09-16T04:06:35.000Z",
    "kept_at": "2026-09-22T05:53:16.339Z",
    "first_published_at": "2026-09-22T05:53:16.495Z",
    "updated_at": "2026-09-22T05:53:16.446Z",
    "ingestion_mode": "live"
  },
  "notes": [
    "이 파일은 tesign.com 항목 페이지와 같은 빌드에서 같은 데이터로 만들어졌습니다. 소개 글은 편집자가 쓴 것이고, 숫자는 저장된 관측값입니다.",
    "JSON의 null은 관측하지 않았다는 뜻입니다 — 0이 아닙니다. 마크다운에서는 [확인 필요]로 적습니다.",
    "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다.",
    "요약이며 법적 조언이 아닙니다."
  ]
}
