2017年4月27日木曜日

Xenko / その3

ようやく、Xenkoのプロジェクトが起動できた。

…というか、起動の一歩手前まで行った(笑)

昨日、大量のエラーが出ていたのだが、各種設定を見直して、
最低限のエラーだけが出るところまで修正。

その結果、Microsoft Biuld Tools の最新版が入ってないからでは?
という結論に。

ネットを探しまくって、ようやく、最新版をGET。
C#のToolsを入れてみたら、プロジェクトの作成は問題なくでき、
Xenkoが起動した(Unityっぽいツール画面が一瞬表示された)。

その後、

「Xenko Game Studio は動作を停止しました」

というあのウインドウが出てあえなく終了。
まだまだ先は長そうだ。

2017年4月25日火曜日

Xenko / その2

インストールについては、全く問題なく終了。
自動的にランチャーが起動し、最新バージョンのインストールも問題なく完了。

テンプレートやサンプルがたくさんあるが、
まずはサンプルゲームがあるので、そのプロジェクトを起動してみよう。



クソツールwww
サンプルの起動でこのエラー。
横のスクロールバーを見れば分かるとおり、大量のエラーですよ!

なにこれ。

その他のプロジェクトを作ろうとしても、全部このエラーが出る。
もうこの時点で、やる気0。

Unityはサクッとプロジェクト作れたぞ。

Unity、C#と来て…

Unityを触りつつ、C#のおさらいをやっている最中ですが。

新ゲームエンジンがリリースされました。

C#で開発できるオープンソースのゲームエンジン「Xenko」が4月25日にリリース。個人利用は無料で,Pro版も7月まで無償
http://www.4gamer.net/games/378/G037845/20170425022/

C#で開発できるゲームエンジン!
使いやすさ、機能性などで、どこまでUnityに対抗できるのか…?

早速インストール中。
以前触ったものでは、一応2Dも作ることはできたので、
その辺りも、Unityに対抗できそうではある。

ここまで広がったら、Unityでいいじゃないか、とも思うが、
Xenkoは、一応「オープンソース」らしいじゃないか。
つまり、バグFixやカスタマイズも自分で可能…なはず。

あ、.NET FRAMEWORK4.6.2を要求されたので、サクッとOKしたが、
これ、Cドライブに入るんじゃないか…。
容量が…。

…。
インストール完了。
Dドライブにインストールできたから、Cドライブは殆ど無傷だったが…。


いまどき、本当に16MBで済むんか?(笑)


ランチャーから、Xenkoを起動した直後の画面。
プロジェクトのテンプレートが並んでる!
2Dゲームっぽいのがないな。
TOP-DOWN RPGってのがそれかな?

センサーデバイスのサンプルや、物理系のサンプルもあるな。
Unityと違って、参考書がないから、YouTube漁ったりしないと、サッパリワカランね。


2017年4月22日土曜日

Visual C# / その2

とりあえず、簡単なフォームパーツを配置して、アプリを作ってみる。

以前(5年以上前)には、ボタンを押したら、45度回転するフォーム、なんてのが15分もかからず作れたし、実際今でも、超簡単だった。

…のだが。

なかなかに酷い罠にはまったので記録しておくことにした。

まず、基本である、Windowsフォームアプリのプロジェクトを作成する。


そして、ツールボックスから、必要なパーツを配置していく。


ここのまま作っていけば、問題はない。
…のだが。
例えば、ボタンを押したときの機能を作りたければ、ボタンをダブルクリックすると自動的にコードが挿入される。それはいい。

だがしかし。
なぜか、ラベルをダブルクリックしてもコードが挿入される。


正直、ラベルをクリックさせる仕様を作るヤツがアホなので、ラベルをクリックさせる必要は全く無いのに、この仕様。

しかも、配置したパーツから、一度「label1」を削除して、次のラベルを配置すると、
同じ「label1」という名前で配置される。
だが、それをダブルクリックして挿入されるコードは、


このように、違う名前で生成される!なんてこったい。
この画像で言うと、上の赤い四角のAPIは、全く使われないゴミコードだ。

しかし、こういうことを繰り返すと、どれがゴミコードか分からなくなることもあるはず。

で、ゴミコードじゃないコードを削除してしまうと…。


というエラー画面が表示され、結果、


パーツ配置がリセットされた!!


これを回避するには。
この部分を展開して、コードを全て表示。


各パーツに関するブロック内にある、一番下の部分。
この行とクリック処理のAPIを削除すれば、エラーが出ずに、コードを削除することができた。

配置したパーツがリセットに、ゴミコードを挿入…。
なんだこのツール…。


2017年4月19日水曜日

Visual C#学習中

学習中といっても…。
もう20年Javaをやっているので、内容はあっという間に頭に入っていく。

Java Swingを使って、パーツを配置していくのに比べたら、
Windowsのフォームの配置なんて、寝ながらできるレベル。

で、参考書として買ったのが、これなんだが…。



総ページ数800以上!
全ページフルカラーで、2016年10月1日初版!
Windowsアプリはもちろん、スマホアプリまで解説してくれて、3500円程度って安いジャン!!

と思って買ったのだが…。
正直ヤバイ。
最初は笑っていたのだが、だんだん腹が立ってきた(-_-メ)

何がヤバイって、誤字・脱字・解説ミスが多いのなんの。
プログラム初心者向けなので、いわゆる変数や四則演算から解説しているのだが。

たとえば、73ページの以下のコード。

int x;
x = 1;

int y;
y = x;
y = 10;

Console.WriteLine(x);
Console.WriteLine(y);

これで、コンソールに、xの値として100が表示されます
なんて、書いてあるんだぜ。

109ページから、簡単なサンプルとして、金額に対する消費税金額を求めるプログラムの解説が始まる。
115ページのコードでは、確かに消費税率として、0.08という定数が書かれているのだが、次のキャプチャ画像では、50000円に対する消費税額が2500円になっている。

この時点で、この本が消費税率5%のときに書かれたものであることが分かる。
消費税が8%になったのは、2014年1月。
2016年10月初版って、最大3年近く掛かってますねぇ。それでこの内容。

他にも、消費税を切り捨てじゃなく、四捨五入にしたい場合は、この後のHINTを見てね!と書いてあるが、そんなHINTがなかったり…。

配列についての説明で、194ページに、

privateint[] array = new int[5];

という謎の型が登場し、197ページのコード解説では、

praivateint[] array = new int[5];

と、綴りすら間違えてるレベル。
ここで、怒りのブログ投稿ですよ(苦笑)

いやホント、もっともっと多いのよ!
解説がおかしかったり、日本語になってなかったり…。

本気で、乱丁・落丁として、取り替えて欲しいんですけど。

2017年4月15日土曜日

Cドライブ容量不足問題

PCでよく遭遇する問題の1つ、Cドライブの容量問題。

購入時スペックで、Cドライブは45GB。
多くはないので、出来るだけDドライブを活用してきたのだが、
最近はもう限界。

先日導入したUnityで完全に埋まってしまった。
Unityのために、なんとか3GBは確保し、Unity自体Dドライブにインストールしたのに、なぜがCドライブが1GB程度まで消費される。

もうダメぽ。

というわけで、

DiskInfo

このツールを使って、Cドライブを解析。
無駄に容量を食ってる箇所を探し出して、対処しようと試みる。

結果。
AndroidStudioで使用している、AndroidのSDKフォルダが、それ単体で、11GBも浪費していることが発覚。

とくに、API-23は、Android-TV、Android-Wearと使いもしないようなもので、1GBも使われていた。

というわけで、これらをDドライブに移動し、Cドライブの同じ場所にシンボリックリンクを張ってみた。

AndroidStudioも問題なく使用できた。
こまごまとしたファイル整理をするつもりだったが、1フォルダの移動で済むとは。


2017年4月14日金曜日

SVNを自宅にも導入したみた。

仕事では、ファイル管理として、svnを使用していたが、自宅での開発では手動バックアップのみ。

だったので、自宅にもsvnを導入してみる。

参考にしたのは、こちら。
http://ameblo.jp/k-freedom7/entry-11946273611.html

自宅用で使うのは自分ひとりだし、PC1台しかないので、apacheは不要。
特に面倒な設定はなく、サクッと導入。

問題なく導入できた。
だが、PC1台で、履歴を管理するとなると、HDDの容量の問題がでてくる。
というわけで、Googleドライブをネットワークドライブとして、アクセスできるようにしてみたくなる。

多分、これでできるんじゃないか、と妄想中。

結果、失敗

原因はまだ突き止めていないのだが、とにかく転送が遅い
サンプルで作ったUnityのプロジェクトを svnにインポートしてみたのだが…。
5時間かけて、400KBしか転送できなかった!
いまどき、キロバイトだぞ…。

一体何が原因なのか…。
svnを使わずに、割り当てたドライブにそのまま放り込んでも、同じくらい遅いので、根本的な何かが悪いようだ。



2017年4月2日日曜日

Unity学習中 / その2

ふらっとUnityをやってみようと思い(遅いわ)、ただ今参考書を元に、サンプルを作成中。
参考書はこれ。



本屋にたまたま合ったのがコレ、というのが選出の理由。
とりあえず、半分(5章)までは制覇。
ページ数的には、半分くらい。

内容も、カラーでキャプチャ画像が豊富なので、分かりやすい反面、
大部分が画像、というページは、逆に見づらい気もする。

説明の仕方もゲームを心がけており、HPゲージ付ゲームのサンプルで、
HPゲージが、円形ゲージなところは、さすがと言える。
 
初心者向けなので、プログラムの基本の変数や分岐、配列などから解説しているのだが、その割りに、細かいミスがあるところは気になる。

例えば、1秒ごとに矢を発生させるサンプルで、

if ( deltaTime > span ) 

というプログラムに対し、「経過時間が1秒以上」と説明してる点。

「以上」なら、

if ( deltaTime >= span )

が正しい。
クラスのメンバー変数についての説明で、
使用するときは、

this.score

という風に、thisを付けた方がバグを減らせると書いてある。
それ自体は間違いではないのだが、どうせなら、

int mScore;

と、メンバー変数は、mで始めるという、ルールもコラムレベルで良いから、書いていて欲しい。

ちなみに、この参考書のサンプルプログラムでは、
メンバー変数は全て、mはついていない。

それはともかく。
5章までで一通りゲームが作れる基礎(Prefabまで)はできた。
次章のシーン切り替えをマスターできれば、ひと段落だな。