オープンシビ1 – Civ1 のオープンソース再実装

2026/03/29 3:22

オープンシビ1 – Civ1 のオープンソース再実装

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

改善された概要

OpenCiv1 は、Sid Meier のクラシックゲーム Civilization I(1991)の完全に合法的でモダンなリライトです。C# で書かれ、MIT ライセンスの下で公開されています。本プロジェクトには著作権で保護されたアセットは含まれていません―プレイヤーはオリジナルゲームの合法的に所有したコピーから

.txt
.pic
および
.pal
ファイルを自ら用意する必要があります。全てのロジックは C# に書き直され、仮想 CPU エミュレーターを使用して元エンジンのアセンブリレベルの挙動を再現しています。

現在の状況: 必要なアセットファイルが提供されればコードはプレイ可能です。完全版はまだ公開されていません。

依存関係:

  • .NET Core 8 ランタイム(または SDK)
  • Windows 用 Visual C++ 2015‑2019 リダストリビュート

実行方法: コンパイル済み

OpenCiv1.exe
をインストールされた DOS Civilization ディレクトリにコピーし、実行します。

追加されたキーボードショートカット:

  • Alt D – デバッグモード
  • Alt P – 一時停止/再開
  • Alt 1/2/3 – 画面切替
  • Shift + ナビゲーションキー – マップスクロール(NumPad を置き換え)

貢献歓迎: テスト、擬似アセンブリを C# に翻訳、デフォルトまたはカスタムの視覚/音声テーマ(SVG/MIDI)の設計。

予定されるマイルストーン:

  1. 完全なプレイ可能性を達成し、コードを書き直し、アーカイブする。
  2. Razor ウェブインターフェース、高品質グラフィック/音声、ズーム機能、多言語サポート、マルチプレイヤー、チート、プラグイン機能を追加。

ゲームは元のルール・ロジック・見た目・感触(バグ修正済み)を保持します。ソースコードは

https://github.com/rajko-horvat/OpenCiv1
で入手可能です。ビルドには
dotnet build -c Debug
が必要です。

本文

概要

OpenCiv1 は、Sid Meier と Bruce Shelley の Civilization I(1991) をオープンソースで書き直したものです。


著作権に関する注意事項

  • コードは オリジナルの Civilization I ファイルを含んでいません。OpenCiv1 を動かすには、DOS版ゲームの合法的なコピーを所持している必要があります。
  • すべてのアセンブリコードは仮想 CPU でエミュレートされ、その他のコードは MIT ライセンス下でゼロから書き直されています。
  • グラフィック・音楽・テキストは最終リリース前に著作権フリーの素材へ完全に差し替えられます。

現状

ゲームは動作しますが、実行ディレクトリに自分で取得したオリジナルファイル(

*.txt
*.pic
*.pal
)を置く必要があります。


貢献方法

  1. 機能テスト – バグ報告や機能提案を行う。
  2. コード翻訳 – 擬似アセンブリからネイティブ C# へ変換する。詳細は Introduction to code translating を参照。
  3. テーマ設計 – “Default” のビジュアル/オーディオテーマ(SVG と MIDI/SoundFonts 推奨)を作成し、元の外観と音感を保つ。
  4. カスタムテーマ作成 – 上記と同様だが別風格で実装。

よくある質問

質問回答
C# を選んだ理由は?プラットフォーム非依存、セキュリティ・マネージド、安全性、人気度、モダンさ、豊富な API が利用できるからです。
OpenCiv1 はオリジナルとどう違うのか?コピーライト保護されたコード・アート・音声を避け、オンラインプレイやスケーラブルなグラフィック/オーディオ、プラグイン等の機能を追加。プラットフォーム非依存性と広範なユーザー層を目指しています。
ソースコードはオリジナルと同じになるか?いいえ。すべて MIT ライセンスで書き直しており、オリジナルのコードは残っていません。
OpenCiv1 は Freeciv と似るのか?まったく違います。ルール・機能・ビジュアル・オーディオはできる限りオリジナルに近づけています。
Civilization VII で Civ I が廃れたのか?多くの人が依然として初代ゲームを楽しんでいます。
追加キーボードショートカットはあるか?Alt + D – デバッグモード切替(旧 Shift‑56)。
Alt + P – 一時停止/再開。
Alt + 1/2/3 – 画面1–3 の表示/非表示。
マップスクロールは NumPad がなく、Shift + 矢印キーで行います。
必要な依存ライブラリは?.NET Core 8
Visual C++ 2015‑2019 Redistributable(Windows)
リリースの実行方法は?リリースファイルをインストール済み Civilization I ディレクトリへコピーし、
OpenCiv1.exe
を起動します。
ビルド手順は?
bash\ngit clone https://github.com/rajko-horvat/OpenCiv1   # あるいは -b <branch>\ncd OpenCiv1\ndotnet build -c Debug\n
\nVisual Studio 2022 Community をデバッグ用に使用し、オリジナルゲームが
c:\Dos\Civ1\
(Windows)または
~/Dos/Civ1/
(Linux)にあることを確認してください。

プロジェクトのマイルストーン

第一期 – 完全書き直し

  • 初期プレイ可能 を達成。
  • コード・機能・バグ修正は進行中。
  • 完成コードをアーカイブ予定。

第二期 – 大規模拡張

変更点維持されるもの
Razor(Web インターフェース & オンラインゲーム)への移植元のルールとロジック(バグ修正を除く)
原作に近い高品質グラフィック全体的な見た目・雰囲気
原作に近い高品質オーディオ
マップズーム、ダイアログ調整、多言語サポート、マルチプレイヤー、チートシステム、プラグイン対応

現在のスクリーンショット[画像を挿入]

同じ日のほかのニュース

一覧に戻る →

2026/03/29 2:39

GitLab の創業者は、会社を立ち上げることでがんと闘う

## Japanese Translation: **概要** 著者は、上部脊柱のT5椎骨に位置する腫瘍性骨肉腫との個人的な闘いを語ります。標準治療オプションを試みたものの適切な臨床試験が見つからない中で、著者は自身の状態に合わせた新しい診断手法と並行治療プロトコルを開発しました。また、「癌ジャーニーデッキ」と埋め込み型OpenAIフォーラムプレゼンテーションを作成し、この経験を記録しています。著者のアプローチはevenone.venturesに掲載されている企業によって支援され、さらにエリオット・ハーシュバーグによる著者の旅路についての包括的な記事や、ルクサンドラ氏が執筆した「The bureaucracy blocking the chance(機会を阻む官僚主義)」という患者優先医療実践を批判する作品も広い文脈に含まれます。治療データと詳細なタイムラインは、https://osteosarc.com/ で公開されており、データ概要ドキュメントや25 TBの読み取り可能なGoogle Cloudバケットが含まれています。著者は読者にメールリストへの登録を促し、更新情報を受け取れるよう案内しています。また、`cancer@sytse.com` で連絡を取ることもできます。

2026/03/29 5:39

CSSは終焉を迎える運命にあります。

## Japanese Translation: この記事は、CSSのみでレンダリングを行い、ロジックには最小限のJavaScriptしか使用しない完全にプレイ可能なDOOM風ゲームをウェブブラウザ上で動かす方法を紹介しています。壁・床・天井・スプライト・弾道などを表現するために数千もの `<div>` 要素が生成され、各要素はカスタムプロパティとして生のDoom座標を保持し、CSS が `hypot()`(距離)や `atan2()`(角度)といった関数で幾何学を計算します。ワールドはプレイヤーの動きに逆行するように `translate3d` と `rotateY` で移動されますが、CSS にはカメラオブジェクトがないためです。 床は `rotateX(90deg)` で回転し、`clip-path`(または新しい `shape()` 関数)を使って任意の多角形や穴に切り取られます。テクスチャタイルはセクター全体にわたって背景位置をワールド座標に合わせて (`background-position: calc(var(--min-x)*-1px) …`) 配置されます。ドア、リフト、その他の動的要素はカスタムプロパティ上で CSS トランジションによってアニメーションし、JavaScript が状態属性を更新します。スプライトは `rotateY` でカメラに向き、`scaleX` で鏡像化したビルボードです。スプライトのアニメーションは CSS の `steps()` キーフレームで行い、攻撃・死亡フレーム用のデータ状態は JavaScript が供給します。弾道は CSS アニメーションで移動し、衝突検出はまだ JavaScript で処理されます。 照明はセクターごとに `filter: brightness(var(--light))` を使って全体的に適用され、ちらつくライトは `@property --light` を通じてアニメーションします。プロジェクトではアンカー位置決め、`@property`、および「ハッキー」な CSS‑のみのカリング手法(オフスクリーン要素を隠すために負の遅延でアニメーションを一時停止)といった実験的機能が採用されています。 数千もの 3D 転送された要素によるパフォーマンスは課題となり、著者は JavaScript で手動フラスタムカリングを実装し、条件付き `if()` のサポートが登場すれば将来的に純粋 CSS ソリューションへ移行する計画です。記事では Safari のビュー遷移による 3D フラット化、background‑image 再ラスター化の問題、コンポジタ不安定性などブラウザバグも文書化し、インラインスタイルやバグ報告といった回避策を紹介しています。 著者はより多くのロジックを純粋 CSS に移すことで JavaScript を完全に排除できる可能性があり、パフォーマンスをさらに向上させることを想定しています。成功すれば、このアプローチは軽量なブラウザベースゲームを刺激し、高度な CSS グラフィックス機能のサポートを促進し、重いエンジンを必要としない効率的なレンダリングが求められる開発者に利益をもたらすでしょう。

2026/03/27 23:39

オープンブースト・オン・モトローラ 88000プロセッサー

## Japanese Translation: (欠落している詳細を補完しつつ明瞭さを保つ)** ``` モトローラ 68000 ファミリーは、1990年代中頃のワークステーション(Apple、Amiga、Atari ST、Sun、HP、NeXT)や多くの産業用ボードで普及していました。 その RISC 後継機種である 88000(m88k)は、68k と PowerPC の間に導入されましたが、約 1994 年頃に期待された性能を提供できず廃止されました。m88k は二世代存在しました: • 88100 – 第1世代 CPU で、オプションの外部 88200 CMMU チップを搭載し、MVME180(20 MHz、2 本の CMMU)と MVME181 に使用されました。 • 88110 – 第2世代 CPU で、統合キャッシュ/MMU を備え、50 MHz を想定していましたが実際には約 40 MHz で販売されました。MVME187(25 MHz、デュアル CMMU、最大 64 MB)、MVME188(SMP、最大 4 CPU と 8 CMMU)、および MVME197 系列(セカンダリキャッシュ)に搭載されました。 VME バスは 32‑bit アドレス/データラインを備えたパッシブバックプレーンであり、複数ボードサポート、割り込みベクタ、オプションのスレーブマッピング、および終端要件があります。 OpenBSD のポートは 1995 年に MVME187 上で開始されました。Nivas Madhur、Steve Murphree、Marc Espie らの貢献は CVS マージ競合、アカウント停止(Theo de Raadt の関与)、GCC‑2.95 互換性問題、カーネルパニック(「align & align‑1」アサーション)および MVME188 上の不完全な SMP サポートに直面しました。ポートは 3.1‑beta スナップショットまで達成しましたが、ハードウェアエラー(VME バスロックアップ、DCAM2 コンフリクト、I²C フェイル)が未解決のまま残っています。 m88k アーキテクチャに関するドキュメントは、モトローラ AT&T System III/V、Data General DG/UX、Omron UniOS などのプロプライエタリ Unix バリアントと無料 CMU Mach コードから取得されました。メンテナー間の個人メール交換は協力、衝突解決、およびニッチなポートの保守課題を示しています。 MVME VME ボードおよび他の m88k システムのユーザーは、この OpenBSD ポートに安全性と安定性を依存しています。継続的なサポートがない場合、利用可能な OS を失うリスクがあり、新しいアーキテクチャへの移行が必要になるかもしれません。 ``` *改善された要約はすべての主要ポイントを反映し、不適切な推測を回避し、主旨を明確に提示し、曖昧または混乱を招く表現を排除しています。

オープンシビ1 – Civ1 のオープンソース再実装 | そっか~ニュース