Education2024

Shogi App - CeConV2.31

研究・AI対局・オンライン対戦を統合した、将棋学習向け多機能アプリ。

SwiftSpriteKitFirebaseWebSocketGIKOU AI APIUIKit
Shogi App - CeConV2.31

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

Shogi App - CeConV2.31 Shogi App - CeConV2.31 Shogi App - CeConV2.31 Shogi App - CeConV2.31