第10回ぷちコン振り返り①
企画の事を考えていた時の事をメモリます
今回のぷちコンの企画は以下の点に注意して決めた
- 見た目の完成度を高めにすることを目標とする。
- あまり特殊なルール・ゲームにしない
- メインでは1画面で完結するような企画にする。
- 不慣れな技術が必要そうな企画にはしない。
見た目の完成度を高めにすることを目標とする。
いかにゲーム性が面白くても見た目の完成度が低いと関光が狭いゲームになってしまうと考えたため見た目の完成度をあげることを目標にして開発を行うことにした。
あまり特殊なルール・ゲームにしない
特殊なルールにすると面白さを見失いがちになり企画が定まらずゲームのベースができるまで時間がかかりがちになる、逆に堅く面白いルールであればベースを作り終えるまでの時間が短くなり、目標である見た目の完成度に力を入れることが比較的容易になる。
メインでは1画面で完結するような企画にする。
広いエリアを使用する企画にしてしまうとその分だけレベルデザインに時間を割く必要がある。 見た目の完成度を目的とすると広いエリアにするたびに負担が大きくなるためそれは避けた。
不慣れな技術が必要そうな企画にしはしない。
制作期間が1ケ月しかない(実際には1ケ月すべてぷちコンに費やせるわけではないのでもっと短い)ので不慣れな技術には手を出さないようにした。例えばネットワーク関連など。 これは不慣れな技術に手を出した結果システムを作り出すことにいっぱいいっぱいになってしまい見た目にまで手が回らなくなってしまう事を予想したからである。
おわり
長い文章を書くことが苦手なのでこのくらいでおわりにしよう・・・・ ②があるかはわかりませんが書くとしたらコードの部分かな?
【Unity2017.1.x】PC, Mac & Linux Standalone Twitterシェア機能を作る
初めに
自作ゲームをプレイしてもらうためにはまず人に認知してもらう必要があり、そのためにはシェア機能が大事だと感じたので Unityにおけるシェア機能の作り方を書く、その際につま付いた点もメモっておく。
以下の流れで書いて行きます
- コード
- ざっくりとした流れ
- つまづきポイント
作り方
シェア機能は各プラットフォームごとに実装の仕方が違う。 今回は「PC, Mac & Linux Standalone」対応のシェア機能作成方法を書き留めます。
コード
実際にUnity1weekで使用したコードを抜粋して掲載します。 大事なのは Application.OpenURLの箇所なのでその部分コピれば直ぐに実装できます。
public void Share() { // 投稿する内容の構築 string workURL = "https://sim-mokomo-shop.booth.pm"; StringBuilder builder = new StringBuilder(); builder.AppendLine($"ここから遊べるよ→{workURL}"); builder.AppendLine("#VoiceRock #unity1week"); string text = builder.ToString(); // 指定のURLを使い投稿 Application.OpenURL( "http://twitter.com/intent/tweet?text=" + WWW.EscapeURL( $"{text}" ) ); }
流れ
投稿する際の文字列を作る。
Application.OpenURLを用いてTwitter投稿画面を開く。
この際にtextパラメータにはあらかじめ決めておいた投稿の内容を渡しておく。
つまづきポイント
使用する関数に気をつける
指定のサイトを開く方法としていくつかネット上に方法が掲載されている。
- Application.ExternalEval
- Application.OpenURL
1.は Unity5.4.0以降はサポートしていない と書かれているので2.を使用する。
投稿文字列に気をつける
textパラメータに投稿されたい内容の文字列を埋め込む時にエスケープ処理を挟む必要がある。これは特定の文字について、例えば & < > 等がこれに該当する。
これらの文字を使っている文字列をそのままOpenURLに渡した場合サイトを開くことができなくなってしまう(何も起きない)
なので WWW.EscapeURLを用いてURLとして成立する事を保証する必要がある。
結果
適当なボタンに上記の関数を登録してボタンを押した時に実行させる事で Twitter投稿画面がひらけます💪