自分の制作物でお金を稼いでみるプロジェクト
前置き
100%自分だけで作ったもので何かお金を稼ぐっていうのをフリーランス中になにかしらやってみたかった。
仕事も多少なれてきたので少しづつやっていく!
販売できそうな場所
思い浮かぶ選択肢
- GooglePlay / AppStore
- Steam
- AssetStore
- 即売会 (コミケ, デジゲー博, GameMarket, Maker Faire)
- 電子書籍
作成できそうなコンテンツ
当面の方針
高く売ることや需要があるものを売ることは、まずは考えずに、第二ステップでやっていきたい まずはできるだけハードルを低くして、カジュアルにつくれそうなものを作っていく方針。
NextAction
作れそうなもの/作りたいものアイデア出しをする ある程度の数 (100~) 揃ったら次のステップで詳細に詰めていく
とりあえず雑にアイデア帳
試行14
下調べメモ game market
申し込み
2次
- 申し込み開始:【8月10日(金)】
- 申し込み締切:【8月21日(火) 23:59】
A1
- 6,480円
- 90x100 (cm)
- 出店参加者: 3
その他
- カタログ入稿
制作費
- ??
TODO - とりあえず、10個ぐらいなんか考える
試行12
write code every day試す
John Resig - Write Code Every Day
ルール
- 毎日コーディングする
- 有意義なコードにする.
- すべてのコーディングは24時以前に行う
- すべてのコードはgithubにpushする
試行11
台湾旅行行った!
試行10
EnumSelection v1.0.0 をリリースしました! 🎉
どうゆうやつ?
複数のenumを一つのfieldで管理 & unity editor上で表示できます!
便利な機能とか
どのenumにするかを選ばせるpopupをcategoryとして制限できます。
enum宣言時
[EnumSelectionEnable(Category = "MyCategory")] public enum Sample { Value1, Value2, }
利用時
public class Demo : MonoBehaviour { [EnumSelectionOption(Category = "MyCategory")] public EnumSelection Value; }
parseも超簡単
// EnumSelection Value; var value1 = this.Value.GetEnum<Sample>(); var value2 = this.Value.GetEnum(typeof(Sample)); var value3 = this.Value.GetEnum(); // automatically parse enum by stored class name & assembly name
どうやって保存してる?
SkillSlot: - AssemblyName: Assembly-CSharp ClassName: Sample.AttackSkill ClassValue: DamageMutiply - AssemblyName: Assembly-CSharp ClassName: Sample.DefenceSkill ClassValue: DamageDivide - AssemblyName: Assembly-CSharp ClassName: Sample.MagicSkill((ここに脚注を書きます)) ClassValue: SpeedUp
Assembly名とclass名, enumの値を文字列で保存しています. 読み出すときにstring => enumの変換をする感じ。 enumの順序変えられても安全な設計に倒している
以上です!
🌟 ください!
試行回数9
Unity 2018.1 のguidかぶりに注意
Unity 2018.1 で新しくプロジェクトを作成した際に、 Scenes/SampleScene.unity
が作成され自動的に初期シーンとして開かれるようになりました。
とても便利な機能なのですが、unitypackageをexportする際には注意が必要です。
Default guid of Scenes.meta & SampleScene.unity.meta is same on every project in Unity 2018.1. So be aware of conflicting guid when you export library project. #unity3d
— mattak (@mustankatti) 2018年5月24日
はまったところ
こんな感じの構造のunitypackageをexportしたかったのですが、新規作成したプロジェクトでimportしてみると下記のようなimport画面に...
ExamplesディレクトリがScenesディレクトリに、 EnumSelectionDemo.unity
が SampleScene.unity
に認識されてしまっています.
なぜおきるのか?
unitypackageの実態はzipファイルなので、これを解凍してみるとその理由がわかります。
.unitypackage
=> .zip
に変更して、解凍してます.
guidをdirectoryとして、3つのファイルが各ディレクトリに保存されています
<guid>/asset
<guid>/asset.meta
<guid>/pathname
詳しくは下記のような感じ
- asset は実態ファイル (Sample.csのようなファイルがそのまま).
- asset.meta は対応するunityのmetaファイル.
- pathname は展開先のそのままのパスが1行書き込まれているだけ (例:
Assets/Plugins/EnumSelection/Editor/EnumSelectionDrawer.cs
)
この情報を元に.unitypackageはimportされるのですが、ここでexportした際のguidが展開先のプロジェクトのguidと一致しているとそのファイル もしくはフォルダが上書きされるという仕組みです.
つまり、今回は2つのguidがかぶっていたためにimportの認識がおかしくなっているように見えたというわけです
- Scenes.meta のguid == Examples.meta のguid
- SampleScene.unity.meta のguid == EnumSelection.unity.meta のguid
UnityEditor上でファイルやフォルダをリネームするとguidは保持したままにしてくれるので、SampleScene.unityとScenesのguidが別プロジェクトでも一致してしまっていたというわけです。
注意
通常はguidがかぶるような危険性はほぼ確率的には起こり得ないと思うのですが、Unityのデフォルトで生成される Scenes.meta と SampleScene.unity.metaはすべての新規プロジェクトで一致してしまうのでライブラリを作ってexportする際には気をつけてください..
下手をすると今後世界中のライブラリでguidの衝突が起きる可能性があるという感じです。
多分テンプレートからコピペするようなUnityの実装なので、guidを動的に生成するようにfixしてくれればこの問題はなくなると思うのですが、一旦修正されるまではexportする際のguidには注意が必要そうです.
あとでissueおくろう..
試行 8