プロエリソフト

個人でアプリを作っています

【プロエリウム2】日記 - Illustratorを始めた

最近の土日はIllustratorを勉強しています。

 

Illustrator(イラレ)とはAdobeのデザインソフトです。

学生でも単体で月1000円近くするので、いままではためらっていましたが、代わりにやろうと思っていた無料代替ソフトのInkscapeの情報が少ないのと、イラレの方がフォトショップと連携しやすそうなので、とりあえず体験版を触ってみました。

 

Creative Cloudアプリでダウンロードするところ、Appsタブが何故か消滅していて焦ったのですが、最終的に再インストールすることで治りました。

 

こういうソフトは動画で学ぶのがてっとり早いと思います。

幾つか海外のチュートリアルを漁ってなんとなくコツを掴んできました。

まだまだ時間がかかりますが、キャラを描いたりとは違って初心者でも便利な機能を使えばそれなりに見栄えの良い物が作れるところがいいですね。

 

f:id:proelisoft:20170702034337p:plain

 

イラレで作った形をフォトショップで加工してゲームで使うって感じでいいのかな。

 

【プロエリウム2】強化について

今回はプロエリウム2(仮)の強化についてです。

 

■前作の仕様

前作では、同名のカードを2枚、ベースと素材として選び強化することができました。

 

LVは0から始まり、1ずつ上がっていきます。

同レベル同士であれば、成功率100%

ベースに比べ、素材のレベルが低ければ低いほど成功率は下がります。

また強化にはコインが必要で、ベースのレベルが高いほど多くのコインが必要になります。

 

強化はLV.0から1レベル上るたびにパワーが「もとのパワー×0.1倍」増えます。しかしこのシステムはもとのパワーが高い方が有利で、レベルの上限がないので、際限無く強化できてしまいました。(ただし必要な素材は高くなるので大変ではある)

 

■今作の予定

強化なしでもいいと思いましたが、強化があった方が長く、楽しめると思ったので採用しています。ただし、全てのレベルが最大に引き上げられた状態で対戦できるモードも追加する予定です。

今作ではレアリティごとに最大レベルを設定し、レアリティが高いカードは少ない枚数で最大レベルに到達できるようにします。

また、パワーは「最大値-(最大レベル - 現在のレベル)」にしたいと思います。

 

レベルアップでスキル習得もありますが、最低レベルでもスキルを習得しているものが多めになります。

【プロエリソフト2(仮)】ここ最近やったこと

大学生活が始まり、部活に入ったりサークルに入ったりしていたらいつのまにか6月が終わってしまいそうで、本当に時の流れが早いです。時間を見つけて開発に時間を当てないと終わらないぞと、

というわけで最近の土日は完全にアプリ開発デーとなっております。

 

Unityでクライアント側はだいたい作り終え、「あとはサーバーを勉強するだけっしょ!」って意気込んでちょっと手をつけて見たものの、こいつがなかなかの厄介者

 

去年の4月くらいにPHPをいじったりしていたのですが、やっぱりTCGはリアルタイムオンライン対戦が必要だということで、Node.jsとSocket.ioというのがよさげやな、、というふわっとした感覚で勉強を始めてみました。

 

まあとりあえず一冊行っとくか、というわけでNodeクックブックという本を購入。

基本なにか初めるときはとりあえず一冊買ってます。

 

Nodeクックブック

Nodeクックブック

 

こいつ 

 

感想:クッソだるい

結構分厚く1/5くらい読んでやめました。

そこそこプログラミングやってきたし俺ならいけるっしょ!ってのりでいったら土日でたった30ページしか進みませんでした。

結構ソースコードが細切れで読みにくい構成になっていてしんどかったです。

途中からwebから本に載っているコードを公式サイトから取ってきて、眺めてコピペっていう勉強をしていたのですが、コピペでエラーってどういうことやねんってなって放置。

 

 とにかくサーバー言語初心者がイキって一冊めに買う本じゃねーというわけで、

 

ド安定、超定番の「ドットインストー

 

 感想:やっぱり最強

動画ってのが理解を促進させますね、本を読むという労力から解放されます。また、動画なんで巻き戻したり、人に聞き直したりする必要がないってのもメリット。

若干エラーが出てきて困りましたが、ググって解決

 

そして、Node.js入門に続いてSocket.io入門も視聴。

その辺りで、Cloud9(クラウドナイン)というサービスを発見。

 

こいつはかなり画期的です。普通はterminal等でごちゃごちゃ設定しなければならないものを、テンプレートをポチッと選ぶだけで、サーバー側言語の統合開発環境ができあがるというもの。環境構築の手間だけでなく、PCにはインストール不要でweb上で全てソースコードもかけてある程度のコード補完が付いています。初心者にとってこれほど手軽なものは存在しないでしょうw

 

そんである程度わかったから実際にUnityと連携してみようってところで、socket.ioをUnityで使う方法を検索したところ、全部方法が違ってわからなかったので結構困りました。

色々探った結果、AssetStoreのBESTHttpというものが良さげだと。

f:id:proelisoft:20170626231022p:plain

決め手になったのは、Fight Leagueというソシャゲアプリのライセンスを見ていたら偶然みつけたことです。ソシャゲのライセンスを見て、使っているライブラリーを見るのは結構発見があるのでおすすめです。

 

値が張るなーと思いながら、購入。

実際に使って見たのですが、

 

感想:全然わっかんねー

クライアント側は詳しく書いているのですが、サーバー側のソースコードが載っていなかったことが購入後に判明しました。

多分こういう高級なアセットを買っちゃう人はサーバーのスペシャリストが手間を省くために買うのであってわざわざサーバーの処理まで公開する必要がないんでしょうね。

Http通信でグーグルにアクセスするくらいはできたのですが、Socket.ioのサーバーの処理が絶対にエラーが出て通信できないと6時間くらい検索や試行錯誤した結果、わからなかったので、フォーラムを遡って見ていったところ、「さっさと2.0に対応しろ^^」っていうのをようやく発見しました。

Socket.ioの最新バージョンに対応していないというクライアント側しかやったことのない人間が想定している範囲外の原因に、これがサーバー言語というものか...と勝手に感じました。

 

まあただのバージョン違いなだけで、クライアント側の実装はわかりやすかったです。

 問題はサーバーでした。基本的なことは公式に載っているのですが、細かいことまでは書かれていませんでした。具体的には、

・送信してきたユーザーでないユーザーをroomに入れる

・roomにいる人数を取得する

・ユーザーが所属しているroomを取得する

方法が結構バージョンによってちがったりしたので、面倒でした。

Unityなどであれば、コード補完機能などを利用して理解することもあるのですが、Javascriptという言語は全然型を指定しないようで、なかなか慣れないです。

 

書き出したら画面が完全に紫色になるUnityのバグに遭遇したり、BestHttpのデモがバグってたり、親のパソコンが死を迎えたりと色々ありましたがもうちょっとサーバーの知識を詰め込みつつ実装していきたいと思います。

 

では

 

 

 

 

 

 

 

 

 

 

 

【プロエリウム2】カードの効果について

プロエリウム2(仮)では効果がわかりやすくなりました。

効果はいくつかに分類されます。

 

■召喚時発動

召喚時に発動する能力です。

 

■手札発動

自分のSPがコストに足りている間、常に発動する能力です。

 

■戦場発動

戦場に存在する間、発動する能力です。

 

■キーワード能力

ステルスなど

 

 

召喚時発動の能力はこのゲームの基本となる効果です。この能力で、補助、妨害、強化などで有利に進めます。召喚した時に発動するので、タイミングが重要です。

 

手札発動の能力は手札にあるだけで常に発動するので、うまく使い強力なコンボを生み出したりすることが可能です。発動にはSPの確保が必要です。

 

戦場発動の能力は召喚時効果とは変わったユニークな能力が多くあります。

 

【プロエリウム2】新要素・状態異常

プロエリウム2(仮)では、新要素として状態異常が追加されます。

状態異常は付与するタイミングがとても重要です。

 

■凍結

凍結を受けたカードは、次のターンの終わりまで召喚ができなくなります。また、手札効果も発動できなくなります。

 

■拘束

拘束を受けたカードは、次の次のターンの終わりまで召喚ができなくなります。長い間召喚を封じる強力な状態異常ですが、手札効果は発動可能です。

 

■火傷

火傷を受けたカードは、次のターンの終わりに手札に残っていると破壊されます。

火傷を受けたカードはすぐに次のターンで召喚しないと破壊されてしまいます。



凍結の上位版が拘束というイメージです。

凍結は1ターンだけ召喚できなくすることができます。1ターンだけですが、相手の手札が4択しかない中で1択を潰すのはとても強力です。

火傷は手札発動の能力を持つカードに使うと効果的と思います。

 

【Unity】アセットラベルの追加方法

 

ラベルの画像をクリックし、

f:id:proelisoft:20170216220144p:plain

 

追加したいラベル名を入力し、Enterキーで追加されます。

f:id:proelisoft:20170216220152p:plain

 

f:id:proelisoft:20170216220157p:plain

 

またラベルの削除に関してですが、どこにも使われていないラベル名は自動的に削除されるようです。

 

初歩的なことかもしれませんが、探しても出てこなかったので無駄な時間を過ごしてしまいました、、、

初めての投稿ですが、参考になれば幸いです。