サイバー攻防体験ゲームCyship(サイシップ)

[Post:11/23/2018]

サイバーセキュリティを学ぼう!

Cyshipはサイバーセキュリティを学べるゲームです。

■ 制作意図・コンセプト
僕はゲーム中毒で不登校だった。学校の授業が退屈だった。
でも僕には僕の世界があって、表現したいモノがあった。
僕は30作以上のアプリを作り、市場に出した。
しかし、その作品がセキュリティ上の問題があると削除された。
だから僕は大学でセキュリティを学んだ。
そこで知った、セキュリティのあまりの面白さを。
しかし、セキュリティは小難しいばかりに、多くの人に面白さは伝わっていない。
僕は思った。セキュリティをゲームのように楽しく学べるものを作って、本当の面白さを伝えたい。
そしてできあがったものが、このCyship(サイシップ)だ。
コンピュータがわからなくても、セキュリティの攻防を体験しながら学べるCyship。
子供の頃に夢中になった戦艦バトル(Ship)×サイバーセキュリティの学習ソフト。
すべての人にセキュリティの面白さを届けるために。
すべての人の作品を危険から守り、奪われないために。

■ 制作プロセス
僕たちはアジャイル開発という、最小限の機能を持った作品を作り、ユーザのヒアリングを基に改善していく開発手法を取りました。
まず、8月にA4用紙をちぎってアナログのカードゲームを作りました。
紙の状態で何度もプレイし、セキュリティの専門家にもプレイしてもらい、ゲームバランスやルールを確定させました。
10月にはオンライン版を作り、中学生3名に使ってもらい意見をもらいました。
意見を元に大きく改良し、11月に高校生に、2月にはセキュリティコンテストSECCONで展示を行い、更に改良。
ゲームエンジンのUnityと、サーバーサイドはPHP言語を用いて開発しました。
AI vs AI機能では、ユーザーがブロックプログラミングでAIの思考ロジックを作れるようにしました。
また、具体的にサーバーが落とされた場合、登録されている相手の秘密画像が漏れることにより、情報漏えいの再現機能を作成しました。


■ コメント
Cyshipは、若手セキュリティイノベーター育成プログラムSecHack365の第一期生が中心となって作成した作品です。
SecHack365は、25歳以下の学生や社会人から公募選抜し、サイバーセキュリティに関するソフトウェア開発や研究、実験、発表をハッカソン形式で繰り返しながら、1年間かけてセキュリティ技術の研究、開発を本格的に学ぶプログラムです。
倍率7.6倍から選ばれた47名の中で、僕たちは最優秀の6チームに選ばれました。
2018年9月には、毎日新聞の一面で代表の北村とメンバーの川島、Cyshipが紹介されるなど、世間でのサイバーセキュリティに対する関心の高さも伺えます。
現在、2019年1月正式公開を目標に開発に勤しんでいます。

北村拓也

投稿者:
北村拓也

Play
:1,973
MyList
:1
Comment
:21

サイバー攻防体験ゲームCyship(サイシップ)

■ ゲームモード:
本サイトでプレイ可能なのは,【AI対戦】と【ローカルプレイヤー対戦】になります。
【AI対戦】 … 組み込みのAIとの対戦モードです。
作成AI対戦 … あなたと自作したAIが対戦するモードです。
AIvsAI … 自作AI同士の自動対戦モードです。
【ローカルプレイヤー対戦】 … 人間同士の対戦モードです。
AI対戦シミュレーター … TODO
デッキ作成 … ゲーム対戦で使用するカードのデッキを作成します。

■ パラメータ設定:

画面左上:プレイヤー1のプレイヤーID
「作成AI対戦」「AI vs AI」で使用
画面左下:プレイヤー1のAI ID
「作成AI対戦」「AI vs AI」で使用
画面右上:プレイヤー2のプレイヤーID
「AI vs AI」で使用
画面右下:プレイヤー2のAI ID
「AI vs AI」で使用


■ 共通ルール
〔初期状態〕 ゲーム開始時は次の状態が満たされます。
a. フィールドには16台のサーバーがあります。
b. 各プレイヤーに,4台ずつランダムでサーバーが割り当てられます。
c. デッキは12枚のカードで構成されています。
〔ターン〕 1ターンで1枚のカードを使用します。そのとき,カードの効果を適用させるサーバーをSelecting Sentencesします。
  a. 脆弱性スキャンカード:対象サーバーの脆弱性を全プレイヤーに開示します。
  b. 攻撃カード:カードに書かれている攻撃対象の脆弱性(A,B,C,D)が対象サーバーの脆弱性に含まれる場合に限り,対象サーバーを奪取します。
  c. 防御カード:対象サーバーの脆弱性のうち,カードに書かれている脆弱性(A,B,C,D)を対象サーバーから消すことができます。
〔ゲーム終了〕 次のどちらかの条件を満たすとゲームが終了し,勝敗が判定されます。
a. どちらかのプレイヤーの全サーバーが奪取される。
b. 2人のプレイヤーのデッキが0枚になる。
〔勝敗判定〕 自分のサーバーをより多く守り抜いたプレイヤーを勝者とします。

■ AI対戦
現在行動可能なプレイヤーが画面上部中央に表示されます。
「Return to the title」ボタンでゲームを終了し,タイトル画面に戻ります。
現在各プレイヤーが守りきっているサーバーの台数が画面右上に表示されます。
画面左に各サーバーの状態が表示されます。
カードの効果を適用するサーバーをSelecting Sentencesするには,このエリアにあるサーバーをClickします。
数字が黄色くなっているサーバーがあなたに割り当てられたサーバーです。
画面右のドロップダウンリストはデッキです。
画面右のメッセージボックスは,各ターンの出来事をログ出力するものです。
画面右下のプロンプト画面は,攻撃をイメージしたログが流れます。

■ローカルプレイヤー対戦(2人対戦)
各プレイヤーに割り当てられたホストを表示/非表示するボタンが画面右上にあります。確認後は非表示にするとよいでしょう。
現在どちらのプレイヤーのターンであるのかは,画面上部中央のボックスで「プレイヤー2」というように表示されます。自分のターンが終了したら操作を交代してください。
プレイ手順は共通ルール通りです。
■ローカルプレイヤー対戦手順
友達と遊んでみた感想。とても楽しい!!!
1.友達を誘う
2.「ローカルプレイヤー対戦」を選ぶ
3.後手はPCを見ないようにして,先手が「ホスト表示」を押し,自分のホスト番号を確認する。
今回後手は,ホスト番号を付箋に書きました。
4.先手は「ホスト非表示」を押し,後手はPCを見る
5.先手が行動(アクションを選び,サーバーをClickする)。
6.次に,先手がPCを見ないようにして,後手が「ホスト表示」を押し,自分のホスト番号を確認する。
7.後手は「ホスト非表示」を押し,先手はPCを見る
以降はホスト表示・非表示ボタンは使わずに,対戦する。

Delete or transfer publishing rights Peport Error to PLiCy

Iframe code