今更ながらUnityを試してみた

以前から気にはなっていたんだけど手を付けていなかった、ゲーム開発の主流とも言えるUnityをちょっと試してみました。

超簡単にゲームが作れるっぽいので楽しみ。

まずは下記のサイトからUnityのアカウントを登録して、Unityをダウンロード

https://unity.com/ja

UnityHubSetupってのがダウンロードされて、開いてみるとそこからインストールできるらしい。

ここでアカウントログインして、色々出てくるけど進めていってインストール。

で、やっとこさ使えるようになって本見ながら作ってみた

ゲーセンでよく見かけるコインを落とすようなゲームですね。

単純だけどいつまでもやっていれる笑

「Unity5 ゲーム開発はじめの一歩」っていう本を参考にしました。

ということで、Unityを使ってみた感じ、超簡単に色々作れそう!と思いました。色んなパーツを配置して、それにC#のスクリプトで動きを与えるって感じ。

重力とかはUnityの設定で付けたり付けなかったりできるし、スクリプトは必要最小限で良い。

これから簡単なゲームを色々作ってみようと思います。

ではまた!

驚くほど簡単にWindows/Mac両対応のデスクトップアプリが作れた話

こんにちは。

ちょっと仕事でElectronというNode.jsのフレームワーク?を使ってツールを作ったのですが、これがなんとも簡単にWindowsもMacも対応できてすげーなって思ったので紹介します。

最初はElectronでツール作ってって言われて「?」って感じだったのですが、調べてみて驚愕でした。

ググってまず見つかったのが下記のサイト

“https://ics.media/entry/7298”

※なぜかリンクカードにするとログインポップアップが表示される為、わざと文字列化してます。URL直貼りで遷移してください。

Node.jsも使ったことなかったので、まずNode.jsからインストール。

書いてある通りにいくつかコマンド打ってファイル用意したら、動いた!

で、ここからがびっくり。1コマンドでパッケージングして実行ファイルを作成。特に何の設定もいらなかった!!

MacでWindowsの実行ファイルを作成するにはxquartzとwineっていうのが必要らしいので入れて、これも1コマンドで実行ファイル作成!!

すげー、すげー。確かにHTMLとJSだけで作ってるならブラウザの機能で動く訳やし、WindowsでもMacでも動くわな。

で、今回エクセルを操作しないといけないツールだったんですが、それもxlsxというパッケージをnpmでインストールしたらJSから操作できた!

でもxlsxはそこまで使い勝手は良くないかな。

まあできれば何でもいいや。

色々試行錯誤しながらツール完成。

よし、実行ファイル作って動かしてみよう。

あれ?動かない。デバッグ実行では動いていたのに。。。

上記URLのページの通りにパッケージングしていたことが原因でした。

参考にしたコマンドは

npx electron-packager src FirstApp –platform=darwin –arch=x64 –overwrite

だったんですが、これ、srcフォルダだけをパッケージングしてますね。

npmでインストールしたもの(xlsx等)はその一個上のnode_modulesってフォルダに保存されるようですので、「src」のところを「.」に変えたら上手く動くか?

動かない。。というか逆に何も表示されなくなって悪化している気がするんですが。

それもそのはず、上記ページではsrc内のpackage.jsonを読み込んで実行していた為、main.jsが動いていましたが、今回は./package.jsonを読み込んで動かしている為、index.jsを読み込もうとしていました。

./package.jsonのmainキーをmain.jsに変えたら動いた!

※パス参照位置が変わるので、相対パス指定しているところがあれば注意が必要です。

うん。よかった。

少し最後手こずったけど、でもかなり簡単に作れたなと思いました。

是非、Windows、Mac両方で動く必要のあるデスクトップアプリを作る時は試してみてください。

ではまた!

久々近況報告

こんにちは。

お久しぶりです。しばらく更新せずにすみません。

C言語のゲーム開発の案件が年末で終わり、1月なんもすることない、いぇーい!って感じだったんですが、
なんと同クライアントさんからRubyの案件頂きました。
1月中の短期案件ですが、初のWeb系の仕事なので、ワクワクドキドキ、不安もありつつやっています。
今のところなんとかやっていけているので、この調子で乗り切りたい!!

そして、エンジニアとは別に、FXも始めました。
世間的なイメージで言えば、FXというと博打のようなイメージかもしれませんが、決して博打ではないです。

いや、結局運、というか上がるか下がるかを完全に予測することは出来ないんですが、資金管理やチャートシグナルを学んで行くことで、資金を増やしていくことはできると思っています。

なぜエンジニア一本に絞らないのか。

FXを始めたと言うともっと堅実にリスクなくエンジニア業に集中した方が良いのではないか、という声もあるのではないかと思います。
しかし、僕から言わせれば、なぜエンジニア業に集中する必要があるのか分かりません。それでは会社員の頃とあまり変わりません。

以前にも書きましたが、これからはプログラミングができて当たり前の世代が社会へ進出してきます。その時、会社という盾が無い自分は本当にやっていけるのか。もしかしたらやっていけないかもしれない。

そう考えれば、別の資金源を確保しておくことの方が堅実だと思いました。もちろん、エンジニア業も続けますし、他に資金源になりそうなものがあればそれもやっていけば良いと思っています。

なぜFXなのか

まず、将来的に会社を設立して人を雇ってソフトウェアを開発したいと考えた時に、どうしても必要となるのが「お金」。

そのお金はどのように調達するのか。考えられる方法はいくつかあります。

  1. 銀行に借りる
  2. 株式を発行して買い手を探す
  3. 1人で何かの事業で1発当てる
  4. 投資で今ある資金を何倍にもする

これぐらいしか大きなお金を生み出す方法ってないかなと思います。

1と2は人からお金を調達するので、事業内容に制限がかかることが考えられ、あまり取りたくない方法です。

3が出来たら一番良いですが、かなりハードルが高いです。何かの分野の先駆者になるしかないですし、それが実るまでの時間がどれぐらい必要なのかも分かりません。リスクが大きいです。

となれば、残された道は4の投資です。これは一見リスクがあるように見えますが、それは投資する人次第です。

しっかりとした資金管理をすれば、大きく損をすることはありません。

と言うか、投資怖いとかイメージあるけど、みんなお金が溜まってきたらマンション買ったり株買ったりして投資してるでしょ。

結局は皮肉なことにも投資が一番堅実にお金を大きく増やす方法なんです。結局はみんな投資家になるんです。

で、その中でも取り掛かりやすく、大幅な利益もあげやすいFX。きちんと勉強して損を小さく、利を大きく取っていけば、おそらく大丈夫。

でもやっぱり不安だから小さく始めてトレードに慣れて利益が出てきたら、取引量を大きくしていく予定です。

で、今日はYoutuberでもあるトレーダーのオーリーさんのセミナーに行ってきました。

オーリーさんと写真を撮って頂きました。

投資、と言うかチャートをもっと読めるようにならないとなと思いました。これからの予想とかも聞けてよかったです。

興味ある方はオーリーさんのYoutubeチャンネルをご覧ください↓

https://www.youtube.com/channel/UC8LyhlRFzh7h_w_eP081rpA

今日のところは以上です。

もう少し更新するようにします。。ではまた!

何から始めればいいか

こんにちは。

Xamarinやってます。

今は教科書に従って進めてます。
C#はいいんですが、XAML書くのがしんどいですね。

まあ大体わかりますが。

やっぱシミュレータがあるとワクワクしますね!

本とりあえず読んだらアプリ作ろっと。
誰か作って欲しいものないですか?

なんか色々アイデアはあるんだけど、形にできるかなー。
とりあえず、Bluetoothを使ってみたいなーと思っています。
あとはサーバーにデータ保存する系かー。

計画的には、
1.本で基本を学ぶ
2.簡単なゲームを作る
3.Bluetoothを使った相互通信をみる
4.サーバーと通信してみる
5.いい感じのアプリを作る

5だけふわっとしてるーwww
アイデアはあるんです。でも伏せときます。まだ出来るかわからないし。

ではまた!

Xamarin始めました

こんにちは。

Xamarin始めました。

前からMacにインストールはしてあったのですが、全然触ってませんでしたが、ようやく取り掛かります。
とりあえずプロジェクトを作ってシミュレータで動かしてみようと思ったのですが、、、

え、ビルドエラー!!!?

空のプロジェクト作ってビルドしただけですよ!?
なんでそんなことなるの!?

混乱混乱混乱

なぜこんな初っ端からつまづかないといけないんだと思いながら見ていたら、どうやらiOSの方でエラーが出ているようでした。

で、色々ネットをみていたら、こんな記事がありました。

つまりxcodeの更新がうまくいっていない、というか完了していない!!!!
そういえば最近xcode開いてなかったなあ、と思いながら開いたら案の定インストールが始まりました。

インストール完了してからXamarinの方をビルドしたら成功しました。
先が思いやられますね。

ではまた!

一旦休憩

こんにちは。

今日からちょっと「かるーくRuby」の更新をストップします。
本当はProcとかThreadとかもうちょっと書きたかったんですが、続きはまた後日再開します。
まあ無理せず書ける時にって感じで。

で、今ちょっと自分の中でとても興味を惹かれているものが有って、何かというとXamarin(ザマリン)という環境?フレームワーク?で、C#でスマホアプリ(AndroidもiOSも)開発ができるというものです。

ちょっとこれでスマホアプリ作っていきたい!
C#で作れると言っても、iOS、Androidそれぞれの特有の部分(API等)は分かっていないといけないので、その辺りを作りながら勉強していけたらなあと思います。

で、何を作るかというと、まだ悩んでます。

簡単なものから始めるならやっぱりゲームかなあ。

動画配信アプリとかも作ってみたいですね。
サーバーとか管理しないといけないので、その辺りのコストも考慮しないといけないなあ。

誰か一緒に企画とかして作っていってくれないかなあ。
デザイナーさんとかいたら心強いな。
雇うとかはお金ないので無理なので、一緒に勉強がてらやってくれる都合のいい人がいいですね。笑

とりあえずXamarin触っていきます。
Xamarinの記事とかも書いていきまーす。

ではまた!

かるーくRuby #15 File

ファイル操作には組込みクラスのFileを使います。

openメソッドでファイルを開いて、closeメソッドで閉じます。
openにブロックを渡すと、ブロック実行後に自動でcloseしてくれるので、閉じわすれを防止になります。

本当に簡単な例だけ。

以前作ったdog.rbの中身を表示してます。
実行すると、

のような感じになります。
もうちょっと詳しくみたいけど、今日はここまで。

ではまた!

かるーくRuby #14 Comparable

今回はComparableについてです。

かるーくいきます。

以前、Enumerableをやりました。それと同じ感じで

こんな感じで組み込んで<=>を定義します。
年齢が大きい方が大、年齢が同じであれば名前順です。

そうすると<、>、==などが使えるようになります。

実行してみましょう。

合ってますよね?

ではまた!

かるーくRuby #13 モジュール

モジュール、見ていきましょう。

クラスと同じような感じですが、インスタンス化はできません。
便利な機能を集めたものと考えればいいのかな。

簡単な例として挨拶モジュールを定義してみます。

これをクラスに組み込むことで、挨拶を利用できます。
ここで重要なのは、モジュールでクラスで定義されるインスタンス変数を使っているということ。
こんなことができちゃいます。動的型付け言語だから。

ですが、組み込むクラスに@nameというインスタンス変数がないとエラーになるので注意です。

人間クラスを定義します。

ちゃんと@nameを定義します。

間違いないか確認します。

できてました。
Mix-inはもっと奥が深い気もするけど、基本はこんな感じで。

ではまた!

かるーくRuby #12 特異メソッド

今日は特異メソッドについて見てみます。

特異メソッドとは、クラスに定義されたインスタンスメソッドとは異なり、オブジェクト固有に持つことのできるメソッドです。
試してみましょう。

mouse_aとmouse_bはどちらもStringクラスのインスタンスです。
それぞれに独自のgreetメソッドを定義しています。

それぞれのクラスを呼ぶと、別の結果が出力されます。
つまり、Stringクラスではなく、インスタンスであるmouse_aとmouse_bそれぞれに別のgreetメソッドが定義されたということです。

使いどころが難しいですが、使いこなせるようになれたらいいな。

ではまた!