uka.apple のすべての投稿

独創アプリ開発日記 211日目 MACでの開発環境構築

Mac上で.NET Core、Visual Studio Code(拡張機能C#)、OpenTK.NETCore、などなど入れて、 C#でOpenGL開発出来る環境を整えていきます。

https://www.microsoft.com/net/download/macos/buildから、macOS用の.NET Coreをダウンロードします。

インストールするには、ダウンロードしたpkgファイルを実行して、あとはインストーラに従うだけですね。

以下、動作確認用です。プロジェクト用のディレクトリを作成して、その中で実行します。”Hello World!”と表示されれば成功です。これはUbuntuの時と全く同じコマンドですね。


dotnet new console

console run

次はVisual Studio Codeです。https://code.visualstudio.com/downloadからmacOS用のVisual Studio Codeをダウンロードして、Applicationsフォルダに入れるだけですね。

コマンドラインから起動するには、一旦Visual Studio CodeをApplicationsフォルダから起動し、Shift(⇧)+Command(⌘)+Pを押してコマンドパレットを表示したのち、Shell Command と打って、表示されたShell Command: Install ‘code’ command in PATHを選べばOKです。これ以降、コマンドラインから code と打っても起動できるようになります。

あとは、Ubuntuでの環境構築時と同様に、https://minnano.app/support/2018/05/09/ubuntu-18-04-lts-opengl/の手順4から6を実行すれば、C#のプラグイン、nuget、OpenTK.NETCoreが使えるようになり、環境の準備が整います。ショートカットキーのCtrlがCommand(⌘)に変わるので注意してください。

Ubuntuよりmacの方が開発し易そうなので、macメインで開発して、動作確認用としてUbuntuや

憎っくきWindows

を使おうと思います。

開発用にPC新調しなくてよかった。iPhoneアプリ開発用にmac持ってましたからね。

いや〜、別OSで全く同じ開発環境使えるって感動するな〜。

強制アップデート機能付きで、セキュリティパッチと一緒に余分機能や情報収集用の更新プログラムをひっつけてアップデートしてくださる憎っくきWindows

に触る機会が減るし、とっても嬉しいです。

((⊂(`ω´∩) しゅっしゅっ

独創アプリ開発日記 210日目 Ubuntu環境の再構築

開発に使うUbuntuはVMWare上で動かしていたのですが、これだとWMWareのグラフィックドライバの制限でOpenGL3.0になってしまうようです。

OpenGLのバージョンは3.3を使いたいと考えているので、VMWareの仮想環境ではなく、直接PCにインストールしてUbuntuを動かす必要が出てきました。

そこで、今日はPCもう1台つくろうかと思い、PCパーツをあれこれ物色した結果、なんかいまいちそそるようなパーツがなくて新しく作る気になれませんでした。特にCPU。

はい、みんな思っていることですが口に出す人があまりいないので大きな文字で書きます。

CPUって進歩とまってるわ。ぜんぜん5年前のCPUで問題ない・・・最近は消費電力増やしてごり押しで性能あげてるだけだよね。AMDとの競争で爆熱化がすすみそう。爆熱電力馬鹿食いCPUはぜんぜん興味ありません。

あーすっきりした。え?新しい型でも低消費電力のCPUがある?いや、すでにそこそこ低消費電力のCPUつかってるから買っても同一電力消費当たりの性能がほとんど上がんなくてうれしくないんですよね・・・

で、買うのやめて、USBメモリにUbuntuインストールしてそこから起動すれば良いジャンとか考えて、READ/WRITEが400MB/SくらいのUSBメモリをWeb上で買いました。HDDよりぜんぜん速い!土日発送作業しないショップのようなので、新環境出来るのにしばらく時間がかかりそうです。

独創アプリ開発日記 209日目 環境に依存しないWindow

今私は、OSに依存しない開発環境の構築を目指しています。目指せ脱Windows10!Windows10嫌い。強制アップデート反対。無駄機能要らない。セキュリティパッチだけよこせ。

話を元に戻します。今私は、OSに依存しない開発環境の構築を目指しています。グラフィックを描画するOpenGLのコードはOSに依存しませんが、ウィンドウなどのUIに関しては、各OS固有のコードにどうしてもなってしまうと記憶していました。

が、OpenTKのGameWindowというクラスを使うと、OSに依存せずにUIを作成出来るという極秘情報を得ました!

いや、極秘情報じゃなくて、ぶっちゃけOpenTKでググりまくってたら出てきた情報なんですけど。

とりあえず今日はGameWindowに関して色々調べていました。あとは、開発するにあたってOpenGLのバージョンいくつを使うべきかを悩んでいました。Ubuntu18.04LTSの初期状態で入っていたバージョンの3.33.0でいいのかな?

独創アプリ開発日記 180〜208日目 プラットフォーム

はい、というわけでですね、読んでいる方は何がどういうわけかよくわからないと思うんですが、このブログは1日に1回必ず書く約束になっていて、書かないとしたら作者は死んでいることになっていたんですよね。

実は、この1ヶ月間は激動の1ヶ月間でですね、地球を離れ、辺境の惑星でロケットをつくっていたんです。
地球にいなかったわけですから、ある意味1ヶ月間死んでいたわけです。うん、約束は破っていないですね。

先日、無事ロケットを打ち上げて地球に帰還しましたので、今後の日々のブログ更新は復活予定です。まあ、まだ無限研究用工場建築作業が残っているのでたまに辺境の惑星に戻るかもしれませんが。

で、辺境の惑星で感動したことがあったのですが、この惑星は、WindowsとLinuxと、そしてMacでも、とても快適に高パフォーマンス!でさくさく動く惑星でして、スマホアプリばかり作っていた身としてはとても新鮮なものでした。LinuxやMacで動くのは感動したなぁ。もう、無駄新機能とバグ自動強制量産機能付のWindows10から脱出できるよヒャッホー。

次回作はいったんスマホを離れてWindows/Linux/Mac対応のマルチプラットフォーム対応にしようと思います。本当はブラウザ上で動くWebGLで作れれば一番楽な気がするのですが、まだパフォーマンスがいまいちだし、ブラウザいきなり落ちたりするし、特定のブラウザじゃなきゃ動かなかったりするし、操作性も悪い気がするんですよね。

Linux/Windows/Mac共通で、C#によりOpenGL開発が出来る環境を構築

昨日はUbuntu 18.04 LTSに.NET Core SDKをインストールしました。

本日は、この環境へVisual Studio Code と OpenTK.NETCoreをインストールしていきます。

目的は、Linux/Windows/Mac共通で、C#によりOpenGL開発が出来る環境を構築することです。

Ubuntuで構築していますが、今回構築した環境で書いたC#コードはWindowsやMacでも動くはずです。たぶん。動くはずだ。動くといいなあぁ。動かないかなぁ(希望)

1.https://code.visualstudio.com/downloadからVisual Studio Codeをダウンロードします。Linux(.deb)を選びます。

2.端末から以下を実行してVisual Studio Codeをインストールします。


sudo dpkg -i <ダウンロードしたファイル>.deb
sudo apt-get install -f # Install dependencies

3.端末から以下を実行してVisual Studio Code を立ち上げます。


code .

4.C#のプラグインをインストール

左側に並んでいる5個のアイコンのうち、一番下の「拡張機能」をクリックします。(Ctrl+Shift+Xでも可)
“C#”と打ち、表示された「C# for Visual Studio Code (powered by OmniSharp) Microsoft」をインストールします。

5.nugetをインストール

同じく「拡張機能」で “nuget” と打ちます。表示された「NuGet Package Manager」をインストールします

6.OpenTK.NETCoreをインストール

Ctrl+Shift+Pを押して “nuget” と打ちます。リストから「NuGet Package Manager: Add Package」を選択します。
続いて “OpenTK” と打ってリターンキーを押下します。表示されたリストから「OpenTK.NETCore」を選択します。すると、インストール可能なバージョンリストが表示されるので選びます。特に理由がなければいちばん新しいバージョンを選びます。

7.さあ!C#でOpenGL開発が可能な環境が出来ました!作ったコードはWindowsでもMacでも動くよ!

        *'“・* 。 
        |     `*。 
       ,。∩      *  
      + (´・ω・`) *。+゚ 
      `*。 ヽ、  つ *゚* 
       `・+。*・' ゚⊃ +゚ 
       ☆   ∪~ 。*゚ 
        `・+。*・ ゚ 

たぶんね!次回以降は実際にOpenGLのコードを書いて、そのコードがWindows/Macでも動くか検証していきます。

Ubuntu 18.04 LTS への.NET Core SDKインストール方法

Ubuntu 18.04 LTSが出たばかりで.NET Core SDKのインストール方法が公式に載ってなかったので、メモっときます。


sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF

sudo apt-key adv --keyserver packages.microsoft.com --recv-keys 52E16F86FEE04B979B07E28DB02C46DF417A0893

sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list'

sudo apt-get update

sudo apt-get install dotnet-sdk-2.1.105 

以下、動作確認用です。プロジェクト用のディレクトリを作成して、その中で実行します。”Hello World!”と表示されれば成功です。


dotnet new console

dotnet run

((⊂(`ω´∩) しゅっしゅっ

2018/5/19追記:

公式のインストール手順出ました。

Register Microsoft key and feed


$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
$ sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
$ wget -q https://packages.microsoft.com/config/ubuntu/18.04/prod.list 
$ sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

Install .NET SDK


$ sudo apt-get install apt-transport-https
$ sudo apt-get update
$ sudo apt-get install dotnet-sdk-2.1.200

独創アプリ開発日記 176〜179日目 次回アプリ構想その2

前回に引き続き、次のアプリのアイデア出しです。

・シミュレーションゲームである(SimCityなどに近い)

・マイクラのようなブロックで構成された世界である。ただし、マイクラのようなただっぴろい世界ではなく、特定の大きさを持つ浮遊大陸である。また、システムの複雑化を避けるためとりあえず高低差は無しとし、当面は平地の2Dフィールドのみとする。

・植物、昆虫、草食動物、肉食動物などが生息する。これらを個体と呼称する。

・個体は”生命の種”で生み出すことが出来る。任意のタイミングで個体を生み出すことが出来るが、個体を削除することは出来ない。環境を変えて、間接的に影響を与えるしかない。

・各個体はHPを持っており、植物は光合成で、昆虫や草食動物は植物を食べて、肉食動物は草食動物を食べてHPが増える。だいたい、植物を100個集めると草食動物が、草食動物を10匹集めると肉食動物が”生成”される。

・各個体は、それぞれ動作ロジックを持っている。(ねこマタの動作ロジックを高度化し、”関数”を作ってそれをサブルーチンのように呼び出せるようにする想定)。複製時、まれに一部ロジックが変化する。

・ロジックの変化により、より環境に適応するロジックならばその個体は増え、適さないロジックならばその個体は死滅する。

・自分のお気に入りの個体はストックすることができる。

・”生命の種”は一定時間で増える。また、各個体が一定時間ごとに生み出してくれる。強い個体ほど多く生み出す。

・ストックした個体を、他人の浮遊大陸に放つことができる。また、他人の浮遊大陸から個体を送り込まれることがある

・他人の浮遊大陸で個体を一定数以上にすると、”生命の種”を奪える。

・・・前に出したアイデアを、Factorioの考えを一部入れて強化した感じです。

これならパクリじゃない!

独創アプリ開発日記 175日目 次回アプリ構想

TextMangaも無事リリースしたし、次のアプリのアイデア出しです。

・アイデアその1

Factorioをパクって3D化する

・アイデアその2

食物連鎖を題材に、生産者(植物など)、消費者(草食動物など)、第2消費者(肉食動物など)などが生きる環境をシミュレーションする。システムはFactorioをパクる。植物を100個集めると草食動物が、草食動物を10匹集めると肉食動物が”生成”されるなど。

 
( ゚д゚) ・・・ 

自分で書いといてなんですが、一応、ほら、”独創”アプリを方針としてるんで・・・

Factorioをパクるのはちょっとまずいよなぁ・・・

独自の”食物連鎖”の部分のアイデアをもうちょっと膨らませて見たいと思います。

色々頭の中でアイデアがぐるぐる回っているんですが、それをシステムに落とし込む様子を思い浮かべたときに、何かゲームとして面白くないんじゃないか?と思うことの繰り返しなんですよね。しばらくはアイデアを文字にして、並べて見比べて色々検討したいと思います。

独創アプリ開発日記 174日目 開発者がクリアできないステージ

ねこマタに追加した新ステージ33ですが、いまだにクリア出来ません。

クリア出来ないけどリリースして良いですか?

・・・いやいやいやいや!ダメだよ!ダメだよ!!自分でクリア出来ないのに他人にやらせんなって話だよ!!!

開発者なんで、勝手に難易度下げれば簡単なんだけど、何か負けた気がする。もうちょっとでクリア出来そうなんだよなぁ・・・・

_(:3」∠)_

引き続き頑張ります。

なお、ステージ33と同時に、最小ステージ面積の対人戦ステージ”P”も同時リリース予定です。

独創アプリ開発日記 173日目 Split View

アプリ「TextManga」はiPadのSplitViewに対応しています。

開発時は特に意識していなかった!のですが、今確認したらちゃんと動いていました!!
すっかりSplitViewのこと忘れてたよ・・・ちゃんと動いてくれていてよかった。

        *’“・ 。*
        |     `*。
       ,。∩      * 
      + (´・ω・`) +゚*。
      `*。 ヽ、  つ **゚
       `・+。*・’ ゚⊃ +゚
       ☆   ∪~ *゚。
        `・。+*・ ゚ 

ブログ書きながら、簡単に貼り付けられます。便利。

⁽⁽٩(๑˃̶͈̀ ᗨ ˂̶͈́)۶⁾⁾