Overview
一人で研究、AI、オンラインプレイヤー機能を全て一つに。他にはない集約力。
実装の背景、主要機能、運用上の注意点をREADMEの読み味で整理しています。
Background
- プロジェクト: 将棋アプリ - CeConV2.31
- 目的: 短文サマリーではなく、再利用しやすい実装ドキュメントとして残す
- 方針: デモ向け説明よりも、実装意図と運用条件を優先
Key Features
ゲーム詳細
- 他のどんなアプリにもない、研究モード中の、棋譜保存や駒の自由配置のON/OFF機能
- オンラインでは、ルームを作成すると自動でチャットシステムに通知が出て参加可能
- アプリを閉じてしまっても、最後の盤面は保存される
- チャット(private,public)システム付きリアルタイムオンラインプレイヤー
- 技巧エンジンを使用したAI対戦モード(rest api の関係で、ややバグあり)
- 棋譜保存機能
- 盤面反転機能や、観戦モード(理論上は1000人同時視聴可能)
- 王手や2歩、など、将棋の基本ルールは網羅(千日手はルールが様々なので非対応)
- 研究モード中の、棋譜保存や駒の自由配置のON/OFF機能を追加したのと、オンライン・研究モード、AIを同時に実現したからバグが大量に発生した。全部直した私を誰か褒めてくれ。
Tech Stack
- Swift
- SpriteKit
- Firebase
- WebSocket
- GIKOU AI API
- UIKit
- CoreData
Implementation Notes
- 実装は速度優先で小さく回し、必要に応じて段階的に機能追加
- ユーザー体験を壊しやすい箇所(同期、権限、外部API制約)を先に固定
- 学習用途と実運用用途の境界を明示し、用途に応じて使い分ける設計
Links
Screenshots
