しょうぎアプリ〜マスコットアプリ文化祭2016に向けて〜
2016/11/26(土)
プログラミング生放送勉強会 第45回@名古屋
You&I
ジコ、ショウカイ。
• H/N: You&I(読み:ユーアンドアイ)
• SNS: @you_and_i
• 出身: 生まれも育ちも名古屋市
• 年齢: 30代後半
• 本職: 商学部出身の職業プログラマ
• 言語: C++, C#他
• 所属: プログラミング生放送勉強会 名古屋支部長
名古屋アジャイル勉強会
わんくま同盟 名古屋勉強会 ディレクター
2しょうぎアプリ
プロ生ちゃんファンクラブの会員番号2番です
3しょうぎアプリ
プログラミング生放送勉強会について
回数 参加 回数 参加 回数 参加 回数 参加
第1回@渋谷 不参加 第14回@品川 不参加 第27回@品川 参加 第40回@金沢 参加
第2回@新宿 不参加 第15回@大阪 参加 第28回@仙台 参加 第41回@松山 参加
第3回@大阪 不参加 第16回@名古屋 参加 第29回@松山 参加 第42回@大阪 参加
第4回@名古屋 参加 第17回@品川 参加 第30回@名古屋 参加 第43回@DMM 参加?
第5回@新宿 不参加 第18回@大阪 参加 第31回@大阪 参加 第44回@熊本 参加
第6回@大阪 参加 第19回@品川 参加 第32回@GMO 参加 第45回@名古屋 参加
第7回@新宿 参加 第20回@品川 不参加 第33回@DMM 不参加
第8回@名古屋 参加 第21回@福岡 参加 第34回@松山 参加
第9回@大阪 参加 第22回@松山 参加 第35回@DMM 参加
第10回@品川 参加 第23回@大阪 参加 第36回@DMM 参加
第11回@大阪 不参加 第24回@名古屋 参加 第37回@福岡 参加
第12回@品川 参加 第25回@品川 不参加 第38回@名古屋 参加
第13回@愛媛 参加 第26回@大阪 不参加 第39回@DMM 不参加
4
名古屋支部長のこれまでの勉強会参加状況→29回中20回
しょうぎアプリ
Agenda
1. retrospective
2. research
3. programming???
4. summary
しょうぎアプリ 5
1. retrospective
しょうぎアプリ
しょうぎアプリ 6
1. retrospective
•マスコットアプリ文化祭2016
•https://mascot-apps-
contest.azurewebsites.net/2016/
•開催期間:2016/10/01〜2016/12/31
•皆さん、年末の締め切りに向けて、追い込み
入っていますか?
しょうぎアプリ 7
1. retrospective
•さて、去年はどうだったか?
当日のお楽しみ
しょうぎアプリ 8
1. retrospective
•そう、ノートPC壊していました。
•マスコットアプリ文化祭もアプリ提出していませ
んでした・・・。
しょうぎアプリ 9
1. retrospective
•さて、今年はどうなるか・・・?
しょうぎアプリ 10
反省しろ!
1. retrospective
さて、マスコットアプリ文化祭に向けてのアプリ制
作、まず何から手をつけましょうか?
何を作るか、アプリのアイデアをどうするか。
アプリといえば、やっぱり色々なアプリを中心に
話が進む「すぱこー」が浮かびました。
しょうぎアプリ 11
1. retrospective
まずは「すぱこー」をじっくりと読みます。
http://pronama.azurewebsites.net/web-comic/
しょうぎアプリ 12
1. retrospective
•皆さんアプリ開発していますか?
•アプリのアイデアはどのように得ていますか?
•「すぱこー」を読んでいて気がついたのは、先
程も書きましたが、やっぱり色々なアプリを中
心に話が進んでいくんですよね。
しょうぎアプリ 13
1. retrospective
•「すぱこー」を読んで閃いたのは、出てくるアプ
リを実際に作れば良いのでは?という単純明
快なものです。
•どんなアプリを作ろうかと考えるまでもなく、そこ
にもう答えはありました。
しょうぎアプリ 14
1. retrospective
•「すぱこー」ではどんなアプリが出てきているのか
を調査しましたのでご査収ください。
•https://goo.gl/PWgKFL
•本当は、アプリアイデアの再利用性を高める
為にパタン言語としてまとめたかったのですが、
ちょっと時間が取れませんでした。
しょうぎアプリ 15
1. retrospective
さて、今紹介したリストの中から、私もITエンジ
ニアの端くれとして、マスコットアプリ文化祭に提
出するアプリになりそうなものを検討したいと思
います。
しょうぎアプリ 16
2. research
しょうぎアプリ
しょうぎアプリ 17
2. research
•さて、すぱこーのアプリから何を実装するかです
が、既にセッションタイトルでネタバレしていまし
たね。
•タイトルにある通り「商議アプリ」を作成します。
•商議とは、相談することや協議を意味します。
しょうぎアプリ 18
2. research
•と冗談はさておき、すぱこーVer.43に出てきま
した、全部王様仕様の将棋ゲーム(=駒がす
べて王将の将棋)の作成について考えていき
たいと思います。
•http://pronama.azurewebsites.net/2015/12/
31/web-comic-spaco-43/
しょうぎアプリ 19
2. research
•アプリ開発における前提条件
•まず大前提として、面倒なので仕事以外であま
りプログラミングをしたくない。
• 仕事でもプログラミングしないで済ませる方法は考
えています。
•なるべくプログラミングしないでアプリ開発できない
か?
→OSS活用!
しょうぎアプリ 20
2. research
•OSSといえば、ソフトウェアライセンス
•Public Domain, GPL, LGPL, MIT, 修正BSD,
Apache V2.0, Creative Commons
• GPLの背景が知りたければ、「FLOSS」や「自由ソフト
ウェア運動」といったキーワードで検索してみましょう。
• 最近はそういう人めっきり目にしないですけどね
•CC0(Creative Commons Zero)で有名?なのは
だるやなぎ(@daruyanagi)ですね。
しょうぎアプリ 21
2. research
CC0のだるやなぎ(@daruyanagi)利用例
しょうぎアプリ 22
2. research
•OSSといえば、ソフトウェアライセンス(2)
•OSI(オープン ソース イニシアティブ)のOSI承認
オープンソースライセンスであるなら、利用条件が
明確です。
• MIT/修正BSDの場合、ドキュメントにも記述が必要
とか、業務で利用する場合の注意事項があります。
•独自のライセンスの場合は、条文をよく読む必
要があります。
しょうぎアプリ 23
2. research
•OSSといえば、ソフトウェアライセンス(3)
•詳細はこの書籍がよくまとまっていると思います。
•知って得する ソフトウェア特許・著作権
あまり真面目に考えるとアプリ公開する気が失せるのでやめましょう
しょうぎアプリ 24
2. research
•ゲーム仕様検討
•そもそも、私自身ここ20年以上将棋を指したこ
とがありません。
•将棋盤は9x9マス、将棋駒は8種類。
• 将棋のルールは大雑把には把握しています。
• 将棋って、王将を獲りに行くゲームですよね?
• 全部王将だと捨て駒できない?
• 先手が必ず勝ってしまう?
しょうぎアプリ 25
2. research
•将棋について
•最近は囲碁や将棋において、将棋電王戦など
のコンピュータによるものが話題になっていますね。
•ただ、話題になっているのは人工知能
(AI : Artificial Intelligence)の部分であって、その
フロントエンド側(将棋盤を表示する部分)は共
通化されています。
しょうぎアプリ 26
2. research
•コンピュータ将棋のフロントエンドについて
•将棋盤を表示するフロントエンド側の共通化は、
USIプロトコル(Universal Shogi Interface)が現在
は主流でしょうか。
• 対応するフロントエンドとしては「将棋所」
「ShogiGUI」などがあります。
•CSA通信プロトコルというものもあります。
しょうぎアプリ 27
2. research
•USIプロトコルに対応したフロントエンド2つは、
OSSではありません。
•あと、USIプロトコルに準拠する場合、全部王
様という根本的なルール変更に追従させられ
るのか否かは、プロトコル仕様をちゃんと読ま
ないと難しいです。
しょうぎアプリ 28
2. research
•USIプロトコルに対応するメリットとしては、UIと
AIの分離にありますが、今回作成する将棋
ゲームは正規のルールではありません。
•USIプロトコルに対応したとしても、既存AIがそ
のまま利用できるとは限らないです。
•まずはAIはなしで、交代で入力する方式で実
装を考えます。
しょうぎアプリ 29
2. research
•再度:将棋について
•そもそも9x9マスや8種類の駒に囚われすぎてい
ました。真面目に将棋したい訳ではありません。
•世の中にはミニ将棋と呼ばれる将棋もあります。
• どうぶつしょうぎ :3x4マス、4種類の駒
• 京都将棋 :5x5マス、5種類の駒
• 5五将棋 :5x5マス、6種類の駒
しょうぎアプリ 30
2. research
•調査結果まとめ
•実装
• なるべくプログラミングはしない
• OSSを探す(実装プラットフォームはOSSに合わせる)
• AIは流用難しいので、入力交代方式で対戦
•ルール
• フル将棋ではなくミニ将棋で考える
• ルールは単純に何れかの王将が獲られたら負けとす
る(先手がほぼ勝つ)
しょうぎアプリ 31
3. programming???
しょうぎアプリ
しょうぎアプリ 32
3. programming???
•さて、仕様もまとまり後は、改修対象のプログ
ラムが見つかれば、いざ解析&プログラミング
です。
しょうぎアプリ 33
3. programming???
•やさしい どうぶつしょうぎの作り方
•http://train.gomi.info/trainshogi/making/
•エクセル将棋館
•http://www.vector.co.jp/soft/win95/game/se
492365.html
しょうぎアプリ 34
4. summary
しょうぎアプリ
しょうぎアプリ 35
4. summary
•今回は「すぱこー」で出てきたアプリの中から全
部王様の将棋ゲームの制作について考えて
みました。
•自分の腕試しとして、何か作ってみるのも面
白いかなと思います。
•是非チャレンジしてみてください!
しょうぎアプリ 36
4. summary
•マスコットアプリ文化祭2016
•https://mascot-apps-
contest.azurewebsites.net/2016/
•開催期間:2016/10/01〜2016/12/31
しょうぎアプリ 37
4. summary
•もうすぐ師走ですね。
•師走といえばAKIBA PC Hotlineの「アキバで見
かけた萌えキャラコンテスト」ですね!
•2015年:3位
•2014年:2位
•2013年:5位
•12月上旬に始まったら是非応援よろしくお願
いします
しょうぎアプリ 38

しょうぎアプリ