百万チェス盤:単一プロセスサーバーによる数百万の同時チェスゲーム処理

2025-07-16
百万チェス盤:単一プロセスサーバーによる数百万の同時チェスゲーム処理

著者は、1000×1000のチェス盤のグリッドが単一のグローバルゲームを形成するオンラインマルチプレイヤーチェスゲーム「百万チェス盤」を構築しました。各移動は、ターンがなく、盤間移動が許可されているため、瞬時に全体の盤面に影響を与えます。単一のGoプロセスで動作するこのゲームは、10日間で15万人以上のプレイヤーを引き付け、1500万以上の移動と数億件のクエリを処理しました。この記事では、ゲームのシステム設計、データ配信、プロトコル最適化、楽観的ロック、ロールバックメカニズムについて詳しく説明しています。著者は、パフォーマンスの最適化、アーキテクチャの選択、ゲームの規模とプレイヤーエクスペリエンスのバランスなど、学んだ教訓を共有しています。投稿は、感動的な規模の欠如など、設計上の欠陥に関する考察と、将来のゲーム開発計画で締めくくられています。

続きを読む
ゲーム

百万チェス盤:史上最もクレイジーな多人数同時プレイチェスゲーム

2025-04-28
百万チェス盤:史上最もクレイジーな多人数同時プレイチェスゲーム

開発者が「百万チェス盤」というウェブサイトを作成しました。その名のとおり、100万個のチェス盤があります!すべてのプレイヤーが同じ盤面を共有し、ターン制ではなく、瞬時に駒を動かすことができます。開発者は大きな技術的課題を克服し、バックエンドをGo言語(最初のGoプロジェクト!)で作成し、単一のライタースレッドと多数のリーダースレッドを使用し、楽観的ロックをコンカレンシー処理に用いています。このプロジェクトは技術的な偉業です。プレイして、これまでにない多人数同時プレイチェスを体験してください!

続きを読む

ブラウザタブでPongを実行

2025-02-20
ブラウザタブでPongを実行

開発者が巧みに240個のブラウザタブでPongを実行しました!AppleScriptを使ってタブグリッドを作成し、Web Workersで効率的なバックグラウンドアップデートを行い、Broadcast Channelでタブ間の通信を実現することで、タブのファビコンにゲームを描画しています。このプロジェクトは、ブラウザAPIの力と創造的な問題解決能力を示しています。

続きを読む

VimでBad Apple:6500個の正規表現と魔法

2025-01-12
VimでBad Apple:6500個の正規表現と魔法

この記事では、検索クエリのみを使用してVim内でBad Appleミュージックビデオをレンダリングした方法を説明しています。各フレームはバイナリピクセル配列に変換され、長方形に分割され、Vimの正規表現で表現されました。結果?6500個以上の正規表現を含むファイルで、Vimマクロを使用して順番に再生することでアニメーションが作成されます。この驚くべき偉業は、Vimの驚くべき機能と著者の優れたプログラミングスキルを示しています。

続きを読む
開発