352 Views
February 07, 24
スライド概要
釧路高専 卒業研究最終発表で使ったスライドです
2/6 卒業研究最終発表 対戦型プラットフォーム CHaserの改良 情報工学分野5年 高橋研究室 髙本 凜
現在の問題 現在u-16プログラミングコンテストで使われている CHaserの対戦サーバーは ● セキュリティ上、ローカルネットワーク内での 対戦が現実的である ● マルチプラットフォームに対応していない 参加者が大会以外で対戦を行うことが難しくなっ ている
目的 オンラインで対戦を行えるようにすることで、 Chaserを体験する機会を増やし より多くの人々がプログラミングを学習できる 環境を構築する
CHaser 碁盤の目状のフィールドで参加者が作成したプログ ラム同士を戦わせる対戦型ゲームプラットフォーム 今回作成したサーバーでは使用できる命令は4命令4 方向の計16種類で, 1ターンに1命令実行できる
システム構成図
ユーザーとの通信 Web上でアクセスし、サインイン、サインアップ ● プライベートマッチの作成 ● トークンの取得 ● 対戦記録の閲覧 を行うことができる
競技クライアントとサーバーの通信 WebSocketを用いて通信を行う クライアントが接続を確認後サーバーは データベースに登録を行う 対戦開始後は行動と結果を交互に送り合い、 対戦を進める
ワーカーの役割 データベースから対戦相手の選択を行い、 対戦相手が見つかった場合サーバーに通知する
実装できたこと ● ● ● ● 対戦機能 対戦結果描画機能 アカウント管理機能 対戦一覧機能 の実装を完了した
対戦 動作
対戦記録一覧 対戦描画 動作
問題点 ● ワーカーノードの実装をできていないため、マッ チングシステムが不完全である ● プライベートマッチを考慮したテーブル構成にで きていないため、実装するにはデータベースの再 構築が必要になる ● クライアントライブラリがPythonのみしか用意で きていない
結果 未実装な部分は多くあるが、 必要最低限CHaserとして対戦ができるレベルの サーバーの作成は完了できた
展望 ● レーティングシステム等のユーザー体験をより充 実させるような機能 ● チュートリアルやボット戦といった初めてプログ ラミングに触れる人が始めやすくなる仕組み ● 目標にしていた2023年度の釧路大会では使用で きなかったが2024年度の釧路大会では使用でき るようにしたい
今後について プログラミングに興味を持った多くの人々が 楽しくプログラミングの学習を進めるために 活用していただけるよう開発を続けていきたい
ご清聴ありがとうございました