-
囲碁アプリの開発日記(14) そろそろゲーム画面をつくりたい2018.01.18 Thursday
-
ここ数日間は勉強モードを地道に作っていました。途中で一人合宿を挟んだりもしましたが進捗は芳しくなかったです。やはり短期的な達成目標がないと効果が出にくいですね・・・。一応、純碁がプレイできるまでのルール説明は一通り書き終えました。今回からスマホでも動かせるようなっています(UIはPC向けのため操作しにくいです)。
http://ken1shogi.sakura.ne.jp/Igo/igo.html
さて、順番通りに作ると次は石取りの練習モードなんですが、その前に純碁がプレイできるモードを作ろうと思います。何かしら遊べるモードを作らないと楽しくないです
-
囲碁アプリの開発日記(13) なんとなくそれっぽいものが2018.01.13 Saturday
-
盤面グラフィックに処理を追加して、任意の場所に石を置いたりアニメーションできるようにしました。
現在の進捗
http://ken1shogi.sakura.ne.jp/Igo/igo.html
これで勉強モードを作るための基本的なパーツはできました。さて、次はどうするか・・。
■勉強モードを1章から順番に作る
■勉強モード内のミニゲーム(練習モード)のシステムを作る
無難にこの辺ですかね〜。単純作業が多くてモチベがあがらないです・・。
■対局モードに手をつける
対局モードは作る分には楽しいですけど形にするまでかなり時間がかかりそうです。勉強モードが出来上がってから取り掛かりたい。
■作者の囲碁棋力アップの旅に出かける
どこか旅に出かけて、作者の囲碁棋力がアップするまで家に帰ってこれない縛りプレイをする(笑)。これはやってみたい!でも、息抜きですねこれは。開発じゃないです。
やっぱり、地道に少しずつかぁ〜〜〜〜。
-
囲碁アプリの開発日記(12) 地味な作業を少しずつ2018.01.12 Friday
-
勉強モードのメニュー選択やテキストの表示処理など色々追加しました。しかし、なかなか囲碁に関係するコードが書けません。少しずつモチベーションが下がってきているのを感じます
現在の進捗
http://ken1shogi.sakura.ne.jp/Igo/igo.html
グラフィックは適当に作ったものを貼り付けています。これもモチベーションが上がらない原因の一つかもしれませんね。綺麗なグラフィックにすれば見栄えも良くなるし達成感があると思います。ですが、一通り作らないとデザイナーさんに発注することができないし難しいです。今は耐えどころですね。次は囲碁の盤面に関するグラフィック処理を追加する予定です。
-
囲碁アプリの開発日記(11) Javascriptのお勉強2018.01.09 Tuesday
-
タイトル画面の背景画像やボタンの追加を行いました。最近のJavascriptは「class」が使えるんですね。初めて知りました。これなら比較的楽にプログラムできるような気がします。IEはサポート外になってしまいますけど仕方がないですね・・。次は勉強モードの基本UIを作る予定です。文章も考えないといけないですね。今回は英語も対応する予定なので、言語を切り替えらえるようにプログラムしておく必要があります。
ひとまずこんなところで。
-
囲碁アプリの開発日記(10) 盤面表示2018.01.07 Sunday
-
まずはGUIを作る部分から始めていきます。画面描画のライブラリは、現在流行っていて2D描画に適しているということでPixiJSを使うことにしました
PixiJS
こちらのチュートリアルが大変充実しています。
https://github.com/kittykatattack/learningPixi
チュートリアルを見ながら囲碁の盤面を描画することができました!
http://ken1shogi.sakura.ne.jp/Igo/igo.html
以上が進捗です
モチベーションが高くても技術が伴わないと進捗が乏しいですね。いや、ゆっくりでも良いので着実に進めていきましょう。頭の中では完成系が見えてきており良い初心者向けアプリになる予感がしています。あとは超今更ながらGitを使い始めました。
ちなみに前回のブログで書いた以下の課題についてですが、「初心者の致命的な悪手紹介!」みたいな感じで局面例を個別に紹介していけば解決できる気がしてきました。私がコンピュータと対局して負けた棋譜を有段者に添削してもらえば行けるかな?でも、この部分は自分でやり遂げたい気もします。
・1手目、2手目は定石に従って打つが、それ以降の手の根拠がよく分からない
・手筋を覚えても実戦でほとんど使えない
・自分の陣地だと思っていたところに、相手に打たれると対処の仕方が分からない
・自分で打ったどの手が敗因なのかよく分からない
-
囲碁アプリの開発日記(9) どこから手をつけるか2018.01.04 Thursday
-
まだ何の作業も行っていないわけですが、とりあえずブログだけでも書きます。今年はアウトプット多めを目標にしていますので。あとは囲碁アプリを作るにあたって有益なアドバイスをいただけたら嬉しいです
まずは、どういった流れで囲碁を覚えてもらうかを考えてみます。
■囲碁の超基本的な説明
互いに石を打つ、陣の大きさを競い合うゲームである等の簡単な説明をする
■石取りゲームの練習問題
相手の石を囲んだら取れる点について理解してもらう
■5路の純碁ゲーム
陣地の概念を理解してもらう(日本式or中国式ではなく純碁の定義で)
ゲームを成立させるために必要な最低限のルールを理解してもらう
■7〜9路の純碁ゲーム
少し盤面を広くして遊んでもらう
■中国式、日本式ルールの説明
■その他のルール
一通り打てるようになった後に覚えればよいルールはここで紹介
ここまでは割とすんなりと理解できると思います。そして今の私はこの辺りのレベルです。ここから普通の囲碁(9路)を楽しむまで何が足りないか?それをどうやって理解すれば良いかが課題です。
■何が足りないか?(私の場合)
・1手目、2手目は定石に従って打つが、それ以降の手の根拠がよく分からない
・手筋を覚えても実戦でほとんど使えない
・自分の陣地だと思っていたところに、相手に打たれると対処の仕方が分からない
・自分で打ったどの手が敗因なのかよく分からない
ひとまず思いついたものを挙げるとこれぐらいでしょうか。これを勉強するための補助機能をどうやって作るか…。囲碁の棋力も必要です。先が長そうです。
プログラム面もやる事がいっぱいです。どこから手を付ければよいか。
■HTML5でUI作成
盤面表示、説明テキスト、対局用など
■純碁のAI作成
モンテカルロ木探索?
■囲碁のAI作成
初心者に優しいAIを作らないといけない。勉強&検証が必要。
■アドバイス機能の開発
最善手、次善手を表示する
あらかじめ登録していた局面に対して、手動で入力したアドバイスを表示するなど
-
囲碁アプリの開発日記(8) リスタート2018.01.01 Monday
-
新年あけましておめでとうございます!ブログの内容は通常運転です(笑)
さて、今年は囲碁アプリの開発をメインで行くと決めたわけですが、その前に前回挫折した反省からしていこうと思います。過去のブログを見たところ、2016年4月〜7月の間に開発をしていたようです。私自身は囲碁のルールすらほとんど分からない状態から始めて9路を何となく打てるレベルまでになりました。ですが、まだ囲碁を楽しめるレベルには到達していません。プログラムに関しては、一から自分で実装するのは諦めてオープンソースのプログラムを使いました。Unityで動かすためにC#に移植して、ある程度形になったところで性能測定したら全然話にならないレベルで挫折しました。その後は他の優先度が高い作業に割り込まれている間にやる気がなくなってしまったという感じです。
何故挫折したかを考えてみました。
[成果物がなかなか公開できずモチベーションが下がった]
スマホのアプリで公開する場合、とりあえず動くものを作って後から改善するという方法が通用しません。一度ダウンロードしてつまらなければアンインストールされて終わりだからです。そのため、納得のいく完成版を作らないといつまでたっても公開できず、しかし形にならないと面白くないという悪循環にはまってしまいました。その反省を生かして今回はスマホではなくWebアプリで開発しようと思います。Webアプリなら動いた部分から公開することも可能ですし、HTML5の勉強にもなるので一石二鳥だと思います。
[囲碁を知らない人にどうやって説明すればよいか悩んだ]
当初は書籍や他のアプリで囲碁の勉強をして、自分が感じた不満点やノウハウをまとめて入門用囲碁アプリを作成する予定でした。既存のものに対する不満点はたくさんあったのですが、それをどうすれば分かりやすく説明できるかという部分で詰まってしまいました。特に地の判定方法が難しくうまく説明できずに挫折してしまいました。
開発をやり直す際もこの点が懸案でしたが、王銘エン9段が提唱された「純碁」というものが私の感じていた疑問を解消する素晴らしいものでした。囲碁を知らない初心者は初めから囲碁を覚えようとするのではなく、この純碁から覚えていけば良いと思います。
https://ja.wikipedia.org/wiki/純碁
[収益性に難がありやる気がなくなった]
囲碁アプリは苦労して作ってもダウンロード数や収益はあまり期待できません。そのため、開発のモチベーションが沸かないと他のアプリに手を入れてお金を稼ぐ事を優先したくなります。今はお金を稼ぐことより、新しい事に挑戦したい気持ちがあるのでその間に開発を進めていきたいです。また、期待できないといってもゼロではないので収益源の分散になるし多少のメリットはあると思います。
< 前のページ | 全 [1] ページ中 [1] ページを表示しています。 | 次のページ > |