ゲーム開発ではじめるPython3

工学社から「ゲーム開発ではじめるPython3」を出版しました。

ただ問題があって、工学社のサポートページにある「PygameSamples.zip」で解凍したフォルダ名の名前の変更が必要です。

https://www.kohgakusha.co.jp/support/pygame/

解凍して作成された「PygameSamples」フォルダ名を「PyGame」フォルダに名前を変更してください。

2Dと3Dの円の角度でsinとcosが逆

2Dと3Dで円周上の点の座標を求めるとき、XとYのベクトル、XとZのベクトルでsinとcosが逆になることに気づきましたか?

その原因は、2DではX軸にプラスの方向、つまり右方向が回転角度が0度になります。
それに対して3Dでは、Z軸に手前の方向が回転角度が0度になるからです。
本当は3DもX軸にプラスの方向を回転角度を0度にすべきかもしれません。

UrhoSharpのプロジェクト設定方法

「Xamarin」の「UrhoSharp」の設定方法を4つ紹介します。

①プロジェクトフォルダで「右クリックメニュー」の「オプション」メニューで、「ビルド」→「全般」→「ターゲットフレームワーク」→「.NET Portable」→「Change」ボタンを押し、「.NET Framework」「Windows 8 or later」「Windows Store apps(Windows 8)」「Xamarin全部」にチェックを入れ、それ以外のチェックは外します。
これで「UrhoSharpパッケージ」が追加できるようになります。

②3つのフォルダのそれぞれを「右クリックメニュー」で「追加」→「NuGetパッケージの追加」で、右上の検索窓に「UrhoSharp」を入力し、選択して「Add Package」ボタンを押します。

③Droidフォルダを「右クリックメニュー」の「オプション」メニューで、「実行」→「構成」→「Default」→「Intent」タブ→「明示的インテント」→「Activity」でActivityを指定すると、「Back」ボタンでActivityを終了できるようになります。

④iOSフォルダを「右クリックメニュー」の「オプション」メニューで、「ビルド」→「iOS Build」→「パッケージ」→「PNG画像の最適化」のチェックを外します。
これで「RGB(A)」→「BGR」で色が入れ替わらなくなります。

CocosSharpの戻るボタンと終了処理の問題

「CocosSharp」には重大な欠陥があります。
それはAndroidのバックボタンが使えないことと、終了処理ができないことです。
英語圏で調べると、Back Buttonは上書きできなくはないようですが、終了処理は駄目らしいです。

そこで解決策として「Xamarin.Forms」版の「CocosSharp」を使えば問題が無くなります。
ただラッパーの上にさらにラッパーしてるかもしれないので、CPUやGPUの負荷が大きいかもしれません。

でも「Xamarin.Forms」で「UI」が楽に実装できるので、ゲームに用途を限定しなければ、逆に役に立つ実装方法かもしれません。

ポエム「天国への階段」のホームページ

「天国への階段」という詩を考えたので、1ページだけですが詞を表現したインタラクティブなWebサイトを公開しました。


https://stairway.vixar.jp

悪人が地獄に堕ちるぐらいなら天国への階段を上ってやろう、と企む、芥川龍之介の「蜘蛛の糸」にインスパイアされてポエムを考えました。

天国から落ちるところまでプレイして欲しいです。

comicoで自作3D漫画「Rebirth」を公開

漫画を読んだり投稿できるWebサイト・スマホアプリの「comico」「comicoPLUS」に、自作3D漫画「Rebirth」を投稿しました。

Rebirth+
http://www.comico.jp/user/385237288/article/

物語は、アメリカ留学したヒロイン「サクラ」と謎の力を持つ主人公「ヒスト」が付き合っていたのですが、その間にマフィアのドン「ガイア」が現れ、地球の運命が左右されることに発展していく話です。

是非「オススメ」の「ハート」をクリックして下さい!

僕には何ができるか模索してて、試しにマンガを描いてみました。
でもマンガを書くのはあまり向いてないかなあ…。
だけど「失敗したってチャレンジしたってこと」なので、挑戦もせずに諦めるよりはマシだと思うことにします。

「Xamarin.iOS」で「Loop – 簡易ループシーケンサー」開発

超シンプルな作曲ツールのiOSアプリ「Loop 簡易ループシーケンサ」をApp Storeで公開しました。


https://xamarin.vixar.jp/ios/loop.html

以前までは、iOSとAndroidとWindowsでクロスプラットフォームする「Xamarin.Forms」を使ってアプリを作っていましたが、今回はiOS固有の機能を100%使える「Xamarin.iOS」を使って作成しました。
もちろんプログラミング言語は「C#」です。

今度は「Xamarin.iOS」と「Xamarin.Forms」のiOS固有の機能を使った入門書を執筆しようと、簡単なサンプルを開発しました。

PCブラウザ向けパズルゲーム「カラ消し」公開

Windows・Macのブラウザ上で動作するパズルゲーム「カラ消し」を公開しました。

erase
https://html5.vixar.jp/erase/

女の子を移動させた時、違う色の床だったら前にいた床が黒くなるので、黒い床に落ちないようにして下さい。
そうやって、全て真っ黒な床にしたらステージクリアできるパズルゲームです。

僕が2016年に作ったゲームの中で一番面白い自信があります。

Segmented Control FormsPluginとAndroidのバージョン

「NuGet」で取得できる「Segmented Control for Xamarin Forms 1.1.0」ですが、「Android API 15+」で使用できるとありますが、どうやらデバイスによっては動作しないようです。

segmentedcontrol
https://github.com/alexrainman/SegmentedControl

僕が試したのは「Android4.2(API 17)」の「Galaxy Nexus」ですが、エラーが出て動作しませんでした。
でも「Android 6.0(API 23)」のエミュレーターでは動作したので、「これは端末のバージョンに問題があるのでは?」と考え、親の「Android 4.4(API 19)」と「Android 5.0(API 21)」で試すとどちらも実行できました。
ただしAndroid 4.4では若干絵がずれていますが。
やはりAndroidも新しい機種を使わないと時代に乗り遅れるなあ、と思った次第です。

C#言語でスマホアプリ開発はUnityとXamarinで

シンプルなのにパワフルで人気のプログラミング言語「C#」を使って、iOSやAndroidやWindowsとの間でクロスプラットフォームするIDE(統合開発環境)を紹介します。

■2Dや3Dゲームを作るならゲームエンジン「Unity(ユニティ)」がオススメです。
http://unity3d.com/jp/
10万ドル未満の収入の個人でも会社でも無料版が使えます。
Windows版とMac版があります。

■ツールを作るなら「Xamarin(ザマリン)」がお勧めです。
https://www.xamarin.com
個人か、年商100万ドル未満の会社なら無料版が使えます。
Windows版とMac版があります。

どちらもC#言語も使えて、無料プランがあるのが嬉しいですね。