Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

DOOM study write-up: lineage survival vs linuxdoom across all ports + cross-language subsystem comparison (engine metric calibration)

オープン
#5,620 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
24/100
issue の種類
ドキュメント
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
c, cpp, csharp, go, java, python, rust, sql

調査の方向性

Start with tests/tools/doom_speedrun/manifest.csv, the existing round-1 survival.py and canonical.py, and the harness scan outputs. Port the scripts into the suggested tests/tools/doom_speedrun/lineage.py or tests/doom_crucible/ location, then define the documented lineage and cross-language metrics. Done means one pinned-corpus command regenerates every requested table, docs/research/doom-port-study.md reports only reproducible measurements, and each calibration finding is filed with evidence.

索引モデルが issue の本文から書いたものです。

説明

claim:nyx enhancement metrics needs:doom-corpus priority: medium scope:frontier

Goal

Produce the analysis the DOOM study was for: how much of id Software's 1997 linuxdoom survives in each port, how ports diverge, and how the same subsystems look across languages. It doubles as an engine check: are GitGalaxy's metrics comparable across languages? (If a Go or COBOL renderer scores wildly differently from the C original for the same algorithm, that is an engine calibration finding.)

Inputs

  • Corpus: tests/tools/doom_speedrun/manifest.csv (39 ports; moving to tests/doom_crucible/ with #5619) plus the ports added by the manifest-expansion issue (COBOL, Python, SQL, web...).
  • Round-1 method (16 ports, C-family only, engine a8510fc07), local on nyx at /srv/storage_16tb/projects/gitgalaxy/doom-study/scripts/survival.py + canonical.py: function bodies sliced by engine boundaries, normalised, sha1 + difflib similarity vs linuxdoom's 659 functions, per subsystem (renderer, playsim, menus, netcode, ...). Example result: chocolate-doom keeps 86.6% of linuxdoom function names, 35.1% exact bodies; doomretro 68.9% names, 0.2% exact.

Work

  1. Port the round-1 scripts into the repo as our own tool (tests/tools/doom_speedrun/lineage.py or under tests/doom_crucible/), reading the harness scans; rerun on all ports at current main.
  2. Lineage table: per port, survival of linuxdoom names / exact bodies / near (>=0.9) / derived (>=0.6), per subsystem; checked against each port's stated lineage in the manifest (does Chocolate -> Crispy -> inter-doom show monotone drift? do rewrites show ~0 exact bodies but high name survival?).
  3. Cross-language: map subsystems by file/function-name families (r_* renderer, p_* playsim, m_* menu...), then compare per subsystem across C / C++ / C# / Java / Go / Rust / COBOL / Python: function count, LOC, cyclomatic complexity, call fan-out. Report where the engine's metrics are comparable and where they are not, with the language-specific reason; file an engine issue for each calibration defect found.
  4. Write-up: docs/research/doom-port-study.md, measurements only (third-party policy: no code, no reconstructions, brief quotes with attribution), every number reproducible by one command; per-port clean-scan table before/after the fixes (round 2 585c243e9 -> current).

Acceptance

  • One command regenerates every table from the pinned corpus.
  • Lineage for all C-family ports + name-level lineage for the rewrites; cross-language subsystem table including at least C, C++, C#, Java, Go, Rust, and COBOL/Python once added.
  • Calibration findings filed as issues (or "none found", with the evidence).

Part of #5457.

🤖 Generated with Claude Code

主要言語
Python
スター
57
フォーク
11
平均マージ
1時間 41分
マージ済み PR(30日)
978

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

squid-protocol/gitgalaxy のほかの issue

squid-protocol/gitgalaxy の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。