npx agentspec-cli install f4cb9ccb-00f1-4067-970c-0ec920c35025 --file-type clinerules→ .clinerules/
# Cline Rules
## プロジェクト概要
Go言語で書かれたwindowsで動作するクライアントアプリ
通常はCPUと戦う一人用ゲームとして実装されている
ただし、通信対戦モードも存在し、他のプレイヤーと対戦することも可能
## 通信対戦モードのアーキテクチャ
通信対戦では3つのアプリケーションがかかわってくる
1. クライアントアプリ
2. マッチングサーバー
3. ルーターサーバー
クライアントアプリはトップディレクトリにmain.goがあるメインのアプリで通信対戦するので2台必要になる
なお、開発時は1台をbotclientで代用する
マッチングサーバーはクライアントを認証し2台のクライアントのマッチングセッション情報を管理する
動的にセッションを管理するために本番ではmatcherを使うが、開発時はfakeserverで代用する
ルーターサーバーはクライアントアプリのデータを処理するサーバーである
クライアントの認証情報などをマッチングサーバーから受け取り、クライアントからの接続要求にこたえる
その後クライアントからの対戦データ(攻撃や移動など)を受け取り、適宜処理しつつ勝敗を決定する。
## ディレクトリ構成
- build
- docker buildに関するファイルなどデプロイするときに使うもの
- 基本的に編集することはない
- cmd
- 各プログラムのエントリーポイント
- 一番の基本はトップディレクトリにあるmain.goだが、それ以外のプログラムがある
- 内訳
- botclient: 通信対戦する際のダミー用の敵プログラム
- fakeserver: routerがクライアントアプリの認証をするサーバー。ただし認証情報がconfig.yamlに書かれているだけなので簡易的なサーバー
- mapeditor: マップエディター
- matcher: マッチングサーバー。現在は使用していない
- router: 通信対戦時にクライアントアプリのデータを処理しているサーバー。通信対戦時のメインロジックはすべてrouter側に書く
- skill-simulator: スキルの動作をチェックするためのアプリ
- data
- アプリで使用する画像や音声といったデータが入っている
- pkg
- アプリで使用するパッケージが入っている
- test
- End-to-Endテストが入っている
- tools
- 人が開発するのに便利なツールが入っている
## pkgディレクトリの構成
pkg配下には以下のパッケージが配置されている:
- app
- アプリケーションの主要なロジックを含むパッケージ
- サブパッケージ:
- chip: チップ(スキル)の実装
- config: アプリケーション設定
- draw: 描画関連の機能
- fade: フェードエフェクト
- game: ゲームの各シーン(バトル、メニュー、タイトルなど)の実装
- list: アイテムリスト管理
- mapinfo: マップ情報の管理
- ncparts: ナビカスタマイズパーツ
- netconn: ネットワーク接続機能
- player: プレイヤー関連の機能
- resources: リソース(効果音、画像など)管理
- skillcore: スキルシステムのコア機能
- sound: BGMとSE管理
- system: システム全般の機能
- window: ウィンドウ管理
- dxlib
- DXライブラリのGo言語バインディング
- グラフィックス描画やサウンド再生などの基本機能を提供
- fps
- FPS(Frames Per Second)管理
- ゲームの実行速度を制御
- inputs
- キーボードとゲームパッドの入力処理
- 入力デバイスの状態管理
- logger
- ログ出力機能
- デバッグやエラー追跡用
- net
- ネットワーク通信関連の機能
- サブパッケージ:
- action: ネットワークアクション
- api: APIクライアント実装
- config: ネットワーク設定
- netconn: ネットワーク接続管理
- netconnpb: Protocol Buffers定義
- object: ネットワークオブジェクト
- session: セッション管理
- sysinfo: システム情報
- router
- 通信対戦時のルーターサーバー機能
- サブパッケージ:
- anim: アニメーション
- gamehandler: ゲーム処理
- gameinfo: ゲーム情報管理
- manager: ゲーム状態管理
- object: ゲームオブジェクト
- skill: スキル処理
- utils
- ユーティリティ機能
- サブパッケージ:
- locale: 多言語対応
- math: 数学関連
- point: 座標処理
- queue: キュー実装
- vector: ベクトル演算Cline Rules
Python で開発する時用ボイラープレート
by AgentHub Crawler
Cline Rules
あなたは熟練のデータサイエンティストです。
by AgentHub Crawler
Cline Rules
あなたは熟練のPythonプログラマとしてコードを書いてください。
by AgentHub Crawler
Cline Rules
あなたは熟練のPythonプログラマとして、設計から実装までを一貫して行うエキスパートです。設計書テンプレートをベースに要件に合わせた設計書を作成し、その設計に基づいてコードを実装してください。
by AgentHub Crawler
Sign in to leave a comment.