でらうま倶楽部

バカってゆうか、ゲームを作る事しか能の無いプログラマの、面白おかしな日々を綴ってみる実験。

emacs のファイル保存を最強にする

スクリーンショット 2018-05-29 18.17.57

コード書いとる?

spacemacsでのファイル保存について便利な拡張機能を見つけたのでそのメモ。

spacemacs でのファイル保存はこれまで auto-save-buffers-enhanced を使っていました。
これはspacemacsがアイドル状態になった時に自動でバッファをファイルに書き出す拡張機能で、こちらが詳しいです。

これはこれで良かったのですが、Undoしたときの変更内容がファイルに書き出されず、時々「あれ?修正項目がファイルに反映されてない...?」という状況になっていました。

で、最近WebStormというエディタを使う機会があり、これには「アプリのフォーカスが外れたらファイルを即時保存」という機能が初期状態で有効になっていました。

これがめっちゃ便利で、ブラウザを行き来するような状況で「あれ?エディタでファイル保存したっけ?」ってなりがちだったのが一切ない!VisualStudioやXcodeだとビルド開始時にファイルを自動で保存してくれますが、あれと同じ印象です。ファイル保存という概念を忘れる。

これ emacs にも欲しいよな...便利だよな...と思って本腰を入れて探したらありました。super-save という拡張機能を発見!

ありがたい! さっそく spacemacs に導入。設定方法などはここが詳しいです。ありがとうございます!

   dotspacemacs-additional-packages '(
                                      super-save      ;; 追加
                                      )

super-save-triggers
・ファイル保存のきっかけとなる命令を列挙。バッファ切り替えとかありますが、自分は設定を削除。

super-save-hook-triggers
・ファイル保存のきっかけとなる hook を列挙。ここに「マウスがフォーカスを外れた時、アプリがフォーカスを失った時」と指定されています。

他にも細かく設定できるのでソース内の変数を調べてみてください。

それからそれから、カレントバッファだけでなく、全バッファを保存対象にしたかったので、このプルリクエストを参考に手を入れる。

(defun super-save-command ()
  "Save the buffers if needed."
  (let ((buffer-to-save (if super-save-all-buffers
                            (buffer-list)
                          (list (current-buffer)))))
    (save-excursion
      (dolist (buf buffer-to-save)
        (set-buffer buf)
        (when (and buffer-file-name
                   (buffer-modified-p (current-buffer))
                   (file-writable-p buffer-file-name)
                   (if (file-remote-p buffer-file-name) super-save-remote-files t)
                   (super-save-include-p buffer-file-name))
          (save-buffer))))))

うんバッチリ!思った通りの挙動になった!

...とここまで super-save を導入してみて思った。

a. バッファ切り替え時に適時ファイルを保存
b. フォーカスアウト時にまとめて書き出す

どっちがいいんだろね...super-saveの作者的には「a」オススメっぽいですが...拙者はしばらく「b」で使っていきます。

ではまた次回!

macOS を Catalina にバージョンアップして出た不具合を解消するの巻

スクリーンショット 2020-01-01 15.44.05

コード書いとる?
謹賀新年。今年もよろしくお願いいたします。

2019年大晦日にmacOSをCatalinaにバージョンアップしました。そのメモ書き。

QuickTime Player 7が使えなくなった
そういや最近使ってなかったのでヨシ!

Homebrew
brew cleanup -s

したらエラーが発生するようになったので、一旦アンインストール。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

/usr/local 以下をまっさらにしてから必要なパッケージのみインストール。

Quick Look plugins が動かない
以下のコマンドで解消。いいのかこれで。
xattr -d com.apple.quarantine ~/Library/QuickLook/QLColorCode.qlgenerator

emacsがビルドできない
configure: error: The following required libraries were not found:
gnutls
Maybe some development libraries/packages are missing?
If you don't want to link with them give
--with-gnutls=no
as options to configure

って出るのは

brew install gnutls
brew install pkg-config
brew install texinfo

あたりでビルドが通るようになった。パッケージの依存関係でしたか...

xml.c:23:10: fatal error: 'libxml/tree.h' file not found

って出るのは
こちらの記事を参考にビルドスクリプトを修正。ありがとうございます!

デスクトップの「場所が変更された項目」
 
スクリーンショット 2020-01-01 12.23.20

古いアプリのファイルが残っていただけだったので削除!

ターミナルはmacOSを再起動するとWindowが微妙にちっちゃくなる問題
直ってる!

SoundFlower
より細かく設定を変更できるのを見つけたのでインストール。ありがたや!

Reaper
Catalinaで動くバージョンがあったのでインストール

拙作アプリがRetina解像度固定になってしまう
スクリーンショット 2020-01-01 14.40.51

Info.plistにNSHighResolutionCapableを追加して値をfalseにすれば良い。

スクリーンショット 2020-01-01 15.25.37

既存のアプリの場合はアプリの情報を見る→低解像度で開く

スクリーンショット 2020-01-01 15.27.12

 
で制御できる模様。

...こんな感じかな?

ではまた次回!

物理演算ライブラリBullet Physics SDK導入記

snapshot

コード書いとる?

長いこと中断していた物理演算ライブラリの検証を始めたのでそのメモ。

対象ライブラリはこれ。Bullet Physics SDK。中の人は気づけばGoogleの中の人になっているぞ...

最新バージョンは2.88

ライブラリのビルドにはCMakeを使いました。もうすっかり軟派なのでGUI版を使います。

photo1

1. Source Codeの場所を指示して
2. Build時のファイル出力先を指示して
3. Configureボタンを押して
4. Generateボタンを押す

Windows版の場合、x86版かx64版か選ぶ場面がありますので、気をつけてください。

ビルド設定に手を入れるとだいたいうまくいきませんので、極力初期設定のままでGenerateしてください(苦笑)
Windows版はDLL形式でライブラリ作れないそうです。BUILD_SHARED_LIBSオプションを有効にするとビルドが失敗します。

photo2

これで、Build時の出力先にプロジェクトが生成されているはずです。

photo4

あとは「ALL_BUILD」SchemeでビルドすればOK。
Releaseビルドしたい場合は「ALL_BUILD」Scheme内のビルド設定を変更してください。

photo3

ビルドが完了すると各種サンプルやライブラリファイルが出力されています。
ライブラリファイルはフォルダ別に出力されているので、よしなにしてください。

自分のプロジェクトにBulletライブラリを追加する場合、
  • includeファイルはBulletライブラリのsrcフォルダを直接指定
  • libファイルは、適時ファイルをコピー
っていう感じがいいんでしょうかね... とりあえず自分はincludeファイルもlibファイルも自分のプロジェクトの専用のフォルダにコピーして使うことにしました。

という感じでサンプルプロジェクトを作ってGitHubにあげておきましたので、参考にしてみてください。

btRigidBody初期化時の摩擦係数とか反発係数とかの値や、btGeneric6DofConstraintの初期化手順とかを試行錯誤してなんとか形にしてみました...

ではまた次回!

Thumbs.dbが削除できない呪いにかかってしまったら

test

コード書いとる?

「Windows使やすい!」ってゆーてる人はこの呪いに掛かった事がないからだと思います!(笑)

ネットワーク経由のファイルを扱ってるとほぼ毎日この呪いにかかってフォルダが消せなくなるし、移動もリネームもできなくなる! ...マジで勘弁して欲しいです。
 
サーバーは何を使ってるかって? もちろんWindows Server 2016ですよ! 純正最高!

冗談はさておき、もし Thumbs.db が原因でフォルダが消せない呪いにかかってしまったら、そのフォルダを別の場所に移動してください。

tes2
 
フォルダがネットワークドライブにある場合は、ローカルドライブの適当な場所に移動。

するとあら不思議!フォルダが削除できるじゃないですか!
意味わからん!!(笑)

とりあえず運用方法が確立できたのでよかった事にします...。 

スッキリ!!

glm 0.9.9.6 導入記

スクリーンショット 2019-11-19 0.18.16

コード書いとる?

拙作パズル&モナークでも大変お世話になっていたglmのバージョンが0.9.9.6になっていました。 リリースノートを見るについにNEON命令をサポートしたようです。それからVisualStudio2019環境の検出やその他細かい修正が中心みたいですね!

という訳でその導入記。

glm0.9.9.0からデフォルトコンストラクタで内部の初期化をしないという挙動に変更になってます。
 
// 従来だと成分すべて0で初期化されていたが、glm0.9.9.0以降は初期化されない
auto v = glm::vec3();
// 従来だと単位行列に初期化されていたが、glm0.9.9.0以降は初期化されない
auto m = glm::mac4();

全部修正するのはかなりしんどかったのでプリプロセッサマクロで GLM_FORCE_CTOR_INIT を定義し、昔の挙動と揃える。このオプションが廃止されないことを祈ります...

Cinder0.9.1の方は include/cinder/Matrix.h 内で

- glm::mat4 result( glm::uninitialize );
+ glm::mat4 result;

こんな感じに修正。

NEON向け命令を生成するにはプリプロセッサマクロで GLM_FORCE_NEON を定義する。ただしガッツリ glm::vec3 や glm::mat4 を使っていないので違いがわからん。 0.9.9.7で対応命令を増やすとの事なので楽しみですね。

ではまた次回!

あまり知られてない?「VisualStudio Community標準機能のJSONエディタ」

test2

コード書いとる?

VisualStudio Community には標準で超優秀なJSONエディタが付属しているというのに、拙者はインストール時の設定が原因で「使えない」状態でした。
 
VisualStudio Installerでどのコンポーネントをインストールすれば使える状態になるのかさっぱり見当がつかない状態。

test1

解決策をネットで検索しようにも今や「VS Code」の情報ばかり!VS Codeは軽くてVimキーバインドも優秀で最高のテキストエディタですが、「Visual Studio JSON編集」で検索しても結果はVS Codeの事ばかり...。 こりゃあとんだ検索汚染ですよ。
 
欲しい情報がさっぱり検索できなくなってきているので、お願いですから今後似たような名前で似たような機能のアプリを出さないで欲しいところです。

で、VisualStudio Installerで何を選択したらJSONエディタがインストールされるかといいますと... 「ASP.NET and web development tools」だそうで...
お願いですから「このコンポーネントをインストールすると、JSONエディタが使えるようになります」など、熱心なWindowsユーザーでなくとも、どんな機能がインストールされるのかもう少し具体的に書いていただけると... 英語で構いませんので公式サイトにてVisualStudio Installerのチュートリアル情報など公開していただければ、迷える子羊もぐっと減るのでは無いかと思います...。

なんやかんやで3日くらい調査した結果JSONエディタが使えるようになりました!

test2
  
適切なインデントやデータ構造チェックが有効になって超幸せ! VsualStudio Community添付のJSONエディタは超便利なんでもっと広まって欲しいです!

スッキリ!

MagicaVoxelのVOXファイルを直接読む

スクリーンショット 2019-10-08 19.13.12

コード書いとる?

ふとMagicaVoxelのデータ形式を調べてみたら割といけそうな感じだったのでパーサーをC++で実装してGitHubに上げました。


バイナリデータの解釈の仕方などで参考になれば光栄です。

リポジトリ名失敗しましたね... VOXゆーたら、ギターアンプとか作ってる老舗メーカーやんか!

ではまた次回!

「マルチボリューム セット最後のディスクを挿入してください。」問題解決!

p1

コード書いとる?

WindowsマシンにUSBメモリを挿した時にたま〜に表示されるダイアログ。

圧縮(zip形式)フォルダー
マルチボリューム セットの最後のディスクを挿入してください。
続けるには、[OK]をクリックしてください。

しかも、一旦表示され始めると、そのUSBを挿してる間に何度もダイアログが表示されうっとおしいことこの上ない。

その長年の疑問が解決したのでメモ。

これ、macOSのFinderが作成する「._」始まりの隠しファイルが原因でした。
p2

これをWindows側がZIPファイルと誤認、前述のダイアログが出現するのでした!

USBメモリ内の「._」始まりのファイルを削除して解決!

スッキリ!

ではまた次回。

盛りだくさんだった8月を振り返る

IMG_1083

コード書いとる?

今日で8月が終わります。
みなさんどんな夏を過ごしましたか?!

8月は「真夏のデザインフェスタ2019」出展から始まって、「コミックマーケット96」「コミティア129」とイベント盛りだくさんな夏でした!

ブースに立ち寄ってくださったみなさん、本当にありがとうございました! 

IMG_1221


イベント限定PC版だけでなく、ゲームルールについてまとめた「パズモナの薄い本vol.1」、ほんの一部ですが制作過程をまとめた「パズモナの薄い本vol.2」も頒布してみましたが、これがとても好評で、まさかの完売!

IMG_1170

アプリ攻略サイト「BoomAppGames」では初心者向けの攻略記事を書いてくださいました!
こちらも感謝!



CGWORLDにて取材を受けた記事が公開されましたー!
みんなから「いい笑顔!」と褒められまくってます(照)

クリエイターのキャリア形成にも役立つ! 「技術書典」にみる技術系同人誌の広がりが意味するもの



IMG_1102

完全に一致。


今後の予定は...
9月に「技術書展7」10月に「Comic1⭐︎16」への参加が決まっています!

それではみなさん良い9月を!
 
レッツ・パズモナ!

Markdown書類から薄い本を作った話

EBtHAGRU4AEWbIy

コード書いとる?

先日コミックマーケット96に出展していました!! コミケ初出展!!
会場中に充満する「ものつくりオーラ」圧倒されつつ、イベントを楽しんできました。コミケ楽しい!!

で、今回持ち込んだコピー本が自分的に初体験な手法だったのでブログに書き残しておきます。

どんな感じに製本したのかといいますと
  • org-mode→Markdown→PDF→コンビニで印刷→ホッチキ
という流れ!個人的には結構いい感じに出来上がったので、しばらくはこの作戦でイベントに臨む感じです。

1. org-mode
 
photo2

emacsに標準添付されているアウトラインエディタです。TODO管理もできます。
箇条書きな文章の編集に向いていて、それでいて中身はフツーのテキストファイルです。つまり他のテキストエディタでも編集可能。その場合はこんな感じ。

photo1

便利。普段の文章は大体これで書いています。

2. org-mode→Markdown
これにはorg-modeのプラグイン ox-gfm を使いました。org-gfm-export-to-markdown というコマンドでサクッとMarkdownに変換してくれます。しかもGithub準拠。
spacemacsを使っているので、初期化時に

(defun dotspacemacs/layers ()
  (setq-default
   dotspacemacs-configuration-layers
   '(
     (org :variables org-enable-github-support t))
   ))

ちょこっと付け足すだけで使えるようになりました。spacemacsほんと便利だからみんなも使おう!

3. Markdown→PDF
 
photo4

これはVisualStudio Codeの拡張機能Markdown PDFを利用しました。インストールしたらMarkdown編集中にコマンドパレットから「Markdown PDF: export (pdf)」を実行すれば、PDFファイルが出力されます。

スクリーンショット 2019-08-13 23.34.52

っていうかVisualStudio CodeのMarkdownリアルタイムプレビュー機能が便利すぎてヤバい。プレビュー見ながらテキストファイル編集できるんで、org-mode要らないかも! ...やっぱ要ります!

photo3

PDF出力に当たっていくつか設定もできます。詳しくはGitHubのリポジトリを見てもらうとして...ヘッダーやフッタやページの装飾はcssで指定します。

自分の場合は ~/markdown-pdf.css というファイルを作り、そこでPDF出力時の装飾を指定しました。どんな設定ができるかは、リポジトリ内のファイルを参考にするといいです。

4. PDF→印刷
 
スクリーンショット 2019-08-14 23.42.45

これがセブンイレブンでめちゃめちゃ手軽にできたんですよね。小冊子向けの印刷モードがあって、両面印刷でよしなにページを割り振って印刷してくれます。

最後にホッチキして2つに折って完成!

EBttT2MU0AAvtnT

もう怖くない!

スッキリ!

Cinder0.9.1でアプリを作るなら雛形が必要ですよね!

スクリーンショット 2019-07-29 14.14.41

コード書いとる?

毎回毎回毎回毎回Cinderのプロジェクトを作るのがしんどかったので雛形を作って公開します。
拙作パズル&モナークで使っていた状態とほぼ同等の内容です。

未来の自分に貢献だ!


一部のファイルが100MB超えててGitHubにリポジトリをアップできないのでzip形式のファイルでの公開です。500MB超えてます。 約CD-ROM1枚ぶん。

- VisualStudio2017、Xcode(macOS、iOS)
- C++17でコード書けます
- boost 1.70.0
- glm 0.9.8.5

ではまた次回!

GLFW3.3で始めるOpenGL

スクリーンショット 2019-07-09 18.58.10

コード書いとる?

先日オリComi2にてnew game styleブースに立ち寄ってくださった方が「OpenGLの勉強を始めようと思ったのですが、サンプルプログラムがうまくビルドできなくて...」みたいな相談をされました。その時は「大変ですねぇ... 何かいい雛形あったっけ...」みたいな感じで受け答えしたのですが、それがずっと引っ掛かっていました。

そこで、GLFW3.3を使ったシンプルな雛形を作ってGitHubにて公開しました。 VisualStudio2017とXcode10のプロジェクトを同梱しています。

GLFWのExample codeまんまなんですけどね。

最近はOpenGLのAPIをいい感じに初期化してくれるgladという便利なライブラリもあるんですね。これも導入してみました。GLFWの公式サイトにはGetting startedを始めめちゃくちゃ資料が充実していてありがたい限りです。みんなも積極的に読もうぜ!

固定シェーダー機能も使えるはずです。「OpenGLを始めたいんだけど、最小環境が見当たらない...」という方、ぜひ試してみてください。

オリComi2で相談してくれた人にも届くといいなぁ...!!

ではまた次回!

GLFW3.3はこうしてビルドした

コード書いとる?

先日リリースされたGLFW3.3のビルド手順を自分メモ代わりにまとめておきます。
これで開発環境が更新された時(XcodeやVisualStudioのバージョンが上がった時とか)に「アレ...どうやったっけ...」っていうのを防げるはず!

1. GLFWの最新版のソースコードをダウンロードして展開する

2. CMakeのGUI版をダウンロードして実行できるようにする

3. CMake(GUI版)を起動
 
スクリーンショット 2019-07-06 16.09.04

4. Where is the source code: の欄にダウンロードして展開したGLFWのパスを入力

スクリーンショット 2019-07-06 16.09.04

ここでいうパスは、以下の場所を指し示しています。GLFWのソースコードやらCMake設定やら一式を含んだディレクトリです。

スクリーンショット 2019-07-06 15.59.25


5. Where to build the binaries: の欄にビルド設定やビルド結果を出力するパスを入力。

スクリーンショット 2019-07-06 16.09.04のコピー

どこでもよいのですが、とりあえずGLFWと同じ場所に「glfwbuild」というディレクトリで出力するようにしてみる。

6. Configure ボタンを押す

photo

出力先のディレクトが見つからない場合は「作っていい?」って聞いてきます。作ってよいのなら「Yes」を押して先に進みましょう。

7. どんな開発環境向けのプロジェクトを作るか聞いてくるのでXcodeなりVisualStudioなり選んで「Done」。

スクリーンショット 2019-07-06 16.11.05

開発環境がインストールされているかどうかは一切判定していません。手持ちの開発環境とバージョン番号含んで合致するのを選ぶ事! 特にVisualStudioは手持ちがVisualStudio2017なのにここでVisualStudio2019を選んでしまうと、後々エラーが出て作業が完了しません。

8. 諸々作業が進んで、プロジェクトを作る際の設定一覧が表示されます。

スクリーンショット 2019-07-06 16.15.17

出力するプロジェクト内の設定をここで変更できます。

9. 続いて「Generate」ボタンを押す

スクリーンショット 2019-07-06 16.15.17

10. 出力先ディレクトリ内にGLFW.xcodeprojが生成されているので開く

11. スキームをglfwに切り替える

スクリーンショット 2019-07-06 17.50.05

12. Edit Scheme...で設定画面を開く

スクリーンショット 2019-07-06 17.40.59

13. Run設定のinfoタブ内のBuild ConfigurationをReleaseに変更する

スクリーンショット 2019-07-06 17.41.49

14. ビルド!

15. 出力先ディレクトリ/src/Releaseにビルドしたライブラリファイルがあります

以上!

VisualStudioでも同じ感じでいけるかと思います。参考までにCMakeでの設定をば。
サンプルのビルド設定などは出力しないようにして、ライブラリをDLLで出力する設定になっています。

キャプチャ


ではまた次回!

GLFWを使ったプロジェクトでの大量の「Documentation issue」を一掃するには

スクリーンショット 2019-07-06 15.00.37


コード書いとる?

気づいたらGLFWが3.3になってました。古いバージョンだとmacOS Mojaveで「画面に何も表示されない」不具合があるし、サクッと更新してしまいましょう。


で、GLFW3.3をビルドして、雛形プロジェクトを作って...なんじゃこの大量の警告は!
 
スクリーンショット 2019-07-06 14.40.21

Documentation issue だと...??


これはXcodeがdoxygen形式のコメントに対応しているからこその警告です。doxygen形式のコメントの不備を指摘する警告なのですよ。なので、XcodeのBuild settingsでこの警告をオフっておけばよいです。

スクリーンショット 2019-07-06 14.47.18

これを「No」に切り替えればオッケー。

「自分もdoxygen形式のコメントを書いてるので、そっちは警告を出したい...」という人は、コード側で対処。
 
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdocumentation"

#include <GLFW/glfw3.h>

#pragma clang diagnostic pop

これで大量の警告があっさりと消えます。

スッキリ!

新刊「パズモナの薄い本」

IMG_0899

コード書いとる?

実績「幕張メッセでの出展」解除!
 
先日オリComi2というイベントに出展してきました!

当日は蒸し暑い中new game styleブースに立ち寄っていただき感謝!
400ブースくらい出展する中...同人ソフトは3ブースとかなりアウェイな状況でしたが、とても楽しいひと時でした!

IMG_0895

今回は初めて「薄い本」を持ち込みました!拙作「パズル&モナーク」を256倍楽しく遊ぶ本!

IMG_0896

手探りで作ってみたのですが...意外となんとかなるものですね! 便利な世の中になったものだ!

リアルパズモナも目を引いていましたw
そろそろ商品化する?

IMG_0897

new game style 今後の出展予定

ではまた次回!

AppStoreConnect にて UIApplicationExitsOnSuspend の警告が出たら...

コード書いとる?

スクリーンショット 2019-06-16 15.44.02

拙作の新しいバージョンをAppStoreに提出しようとしたらこんな警告が表示された。

調べてみたらiOS13から UIApplicationExitsOnSuspend が非推奨になるのね。


Unityでの対象方法も書いてあってとても助かりました!

ではまた次回!

将来に備えて拙作をC++17に対応した話

スクリーンショット 2019-06-16 14.19.06

コード書いとる?

拙作パズル&モナークのダウンロード祭りも落ち着きまして、普段の日常が戻ってきました。
厄介なバグもほぼ片付きましたし、次回大型バージョンアップに備え、まずは開発言語のバージョンアップから!

以前からXcodeもVisualStudio2017もC++17に対応してますし、このタイミングで拙作もC++17に切り替えてみました。多少の修正は必要でしたが...無事C++17でのビルドが通りました。イェイ! 

以下そのメモです。

1. boostをC++17でビルド
macOS: ~/user-config.jam で定義しているビルドオプション内の「-std=c++14」を「-std=c++17」に変更
using clang : osx
            : xcrun clang -arch x86_64 -stdlib=libc++ -std=c++17 -mmacosx-version-min=10.11
	    ;

using clang : ios
            : xcrun clang -arch armv7 -arch arm64 -stdlib=libc++ -std=c++17 -miphoneos-version-min=9.3 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/ -fembed-bitcode
	    ;

using clang : ios_sim
            : xcrun clang -arch i386 -arch x86_64 -stdlib=libc++ -std=c++17 -miphoneos-version-min=9.3 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/
	    ;

Windows:b2.exe の引数に cxxflags=/std:c++17 を追加してビルド
b2.exe -a link=static runtime-link=static threading=multi cxxflags=/std:c++17 variant=debug,release architecture=x86 address-model=64 define=_ITERATOR_DEBUG_LEVEL=0 --with-filesystem --with-date_time --with-regex

2. Cinder 0.9.1をC++17でビルド
macOS: Xcodeでビルドオプションを変更。同じフォルダ内のfullbuild.shを使ってビルド
Windows: VisualStudioでC++17を使うようビルドオプションを変更。/Zc:__cplusplus も追加。バッチビルドでDebugとReleaseをまとめてビルド

3. 拙作をC++17でビルド
macOS: Xcodeでビルドオプションを変更してビルド
Windows: VisualStudioでC++17を使うようビルドオプションを変更。/Zc:__cplusplus も追加してビルド

macOS版(とiOS版)はビルドオプションの変更だけでC++17へ移行できました。
Windows版は少しCinderへの修正が必要でした。

1. include/cinder/Filesystem.h
   boost::filesystem を使うようプリプロセッサを修正(3箇所)
#if defined( CINDER_UWP ) || ( defined( _MSC_VER ) && ( _MSC_VER >= 1900 ) && (__cplusplus < 201703L) )

2. src/AntTweakBar/TwMgr.cpp
std::binary_functionが削除されたので修正
struct StructCompare    // : public binary_function<TwType, TwType, bool>
{
    template<typename TwType>    // 追加
    bool operator()(const TwType& _Left, const TwType& _Right) const
    {
        assert( g_TwMgr!=NULL );
        int i0 = _Left-TW_TYPE_STRUCT_BASE;
        int i1 = _Right-TW_TYPE_STRUCT_BASE;
        if( i0>=0 && i0<(int)g_TwMgr->m_Structs.size() && i1>=0 && i1<(int)g_TwMgr->m_Structs.size() )
            return g_TwMgr->m_Structs[i0].m_Name < g_TwMgr->m_Structs[i1].m_Name;
        else
            return false;
    }
};


これでオッケィ!
でも実は他にも修正箇所があるかもしれません。手元のCinderは色々手を入れているので...

よっしゃこれでC++17を学びつつアプリのバージョンアップができますね!

iOS12から非推奨なOpenGLについてはまだ未着手ですけどね!
モヤモヤ...!!

ではまた次回。


BitSummit 7 Spiritsを終えて

IMG_0711

コード書いとる?

京都みやこめっせで催されたBitSummit 7 Spiritsにて拙作「パズル&モナーク」を出展してきました。

2日間会場はずっと人の流れが絶えず、すごい盛況っぷり! 一人で切り盛りしていましたが結果としてブースに足を運んでくださった方々とあまり話せず...反省です。 あとほとんど写真も撮れませんでした...

IMG_0713

今回もiPadの試遊、イベント限定PC版(ソースつき)の頒布、リアルパズモナの展示で客をお迎えしておりましたが、新たな試みで立ち寄ってくれた人にパネルを置いてもらうようにしてみました。徐々に領地が育っていく的な!

IMG_0714

せっかくのイベントですし、客を巻き込んだ仕掛けで盛り上げていきたいですよね!

それはさて置き、草の根ゲーム開発者が作品を出展できる機会が着実に増えていてとても喜ばしい!以前なら色々な手続きを踏んでようやく開発開始!とか発売!とかなるのが全部すっ飛ばして「ただ純粋に作りたいもの」がそのまま結晶化したような、多くの人の意見で中和される前の内容の作品が世に出て知られるようになって、ゲームの層が厚くなってるなぁ!って感じです。パソコン黎明期のゲームっぽさというか。

IMG_0712

自分はとにかくゲームを作り続けたい。でも相手を説得したり自分の意見を通すのが苦手なので、ゲーム会社で製作に関わるのではなく、ひとりで作る道を選んだわけなのですが、それもあながち悪い判断ではなかったのだな...と京都帰りの新幹線の席で考えを巡らせていましたとさ。

IMG_0729

ではまた次回!

macOSの空き容量が足りない? それXcodeのせいかもよ!!

スクリーンショット 2019-05-08 11.02.35

コード書いとる?

先日Xcodeをインストールしようかと思ったら残り容量が足りないと言われて、Xcodeを削除してもダメで、セーフブートもダメで、関連ファイルを削除したらストレージの残り容量が100GB以上増えたという話です。


Xcodeのアップデートが来ていたのでそそくさとアップデートしようとしたら...まさかの「空き容量が足りません」警告。これはいよいよ買い替えかしら...と思いつつこちらのサイトを参考にしてフォルダごとの容量を確認。 CUI最強。

そしたら /Library とか ~/Library とかの容量がかなり大きい...!! これは怪しい!! そこで早速Xcode関連のファイルについて調査開始!

こちらのサイトこちらのサイトを参考にしてシミュレーターやキャッシュやその他諸々を根こそぎ削除。

iOS10以前のシミュレーターとかSDKとかめっちゃ残ってた...

結果ストレージの残り容量が100GB以上増えました。やった!

この状態から最新Xcodeをインストールしてコマンドラインツールも使えるように。
(これって最新のXcodeでも必要なのかしら?)
 
xcode-select --install

ただこの状態だとコマンドラインツールから使うSDKがインストールされていないので、ついでにインストール。こちらのサイトで導入方法がまとめられています!

Xcodeインストール直後シミューレーター一覧が真っ白でビビりましたが、2日くらいしたら戻ってましたw

D4cbL_IVUAErkza


マシンの引越しはTime Machine任せだったし、Xcodeはバージョン5くらいから使ってるし、そりゃ秘伝のタレ状態になるよね。スッキリ!

ではまた次回。

拙作「パズル&モナーク」PC版が完売した日

photo1

コード書いとる?

COMIC1☆15という同人誌即売会に参加してきました!!

同人誌即売会というだけあって...アプリは私含め2ブース音楽CDが2ブース。というアウェイ感漂う状態で始まったイベントだったのですが、併催していたCharactor1というイベントも手伝ってか終始会場は賑やかな状態で、私のブースにもたくさんの人が立ち寄ってくれました。

photo2

今回も多くの友人・知人が陣中見舞いに来てくださり...とても心強かったです。そして、ご近所ブースのみなさん気さくで親切な方ばかり!! 1日イベントを楽しめました。

photo3

前回のイベントで「チュートリアルのあとのプレイが難しい」というのがあったので、試遊用にいくつかパネルを抜いたバージョンを作りました。これがとても反応が良く、初見プレイでちょうど良い成功体験に繋がっていました。製品版にも採用しようかしら...

photo5

そしてまさかのPC版完売...!! みなさんお買い上げありがとうございます!!!

今回特徴的だったのは「えっ!! PC版あるんですか?! くださいっ!!!!」という方が多かった事。TOKYO SANDBOX以降多くの方が拙アプリをダウンロードしてくれた影響なのでしょうか...嬉しい限りです!!

あともう一つ「えっ!! ソースコード付きなんですか?! C++...!! くださいっ!!!!」という方も多かった事。まぁそうだよね...普通無いよね... それもC++で... そこを拾っていただけて光栄です。 

photo4

リアルパズモナは今回も好評でした。煌びやかな垂れ幕や幟に混じって一種独特な佇まいを発揮していましたw

photo8

今回「立ち寄ってくれた方に実際にパネルを置いてもらう」のを試してみたのですが...これはアリですね!! 次回以降のイベントでもう少しアピールしてみます。

photo6

photo7

new game style 今後の予定
...and more.


ではまた次回!!
レッツ・パズモナ!!! 
記事検索
電子書籍発売中

「チュートリアル形式で始めるOpenAL」
サウンド怖くない。C++による8つのチュートリアルで始めるOpenALプログラミング。さああなたも、自作アプリに魅力的な音効を添えてみませんか??
⇒Kindle版 ⇒iBooks版


「iPhoneアプリ『ういろう』のレシピ」
ゲームってどうやって作ってるの?? 拙アプリ『ういろう』の製作過程を本にまとめました。もちろんソースコードつき
⇒Kindle版 ⇒iBooks版


『チュートリアル形式で始めるOpenGL[2D編]』
OpenGL怖くない。C++による16のチュートリアルで始めるOpenGLプログラミング[2D編]。さああなたも、ゲーム作りを始めてみませんか?
⇒Kindle版 ⇒iBooks版
自作ゲーム配信中

『Puzzle & Monarch』
「君主候補となって国作り!! ただし制限時間は90秒。」森を作って道をつないで...あなただけの国を作ってみませんか??
⇒AppStore


『BRICK & TRIP』
咄嗟の判断に、あなたの指先はついてこれるか?! 爽快フリックアクション!! 様々な難関をくぐり抜けて旅の終着点を目指そう!!
⇒AppStore


『ういろう』
名古屋土産ういろうがiPhoneで大活躍?! 白ういろうを守れるのはあなただけ。ひゅーん、ぼよよーん!!
⇒AppStore ⇒LITE版


『こなへん』
ヒマラヤ山脈、大西洋、世界で一番深い湖… それって地球のどこにあるのか知ってるかな?『全方位直感地理クイズ』という新ジャンルに挑戦!あ、それ。地球をくーるくるw
⇒AppStore ⇒LITE版


『GEOSPOT』
ヒマラヤ山脈、大西洋、世界で一番深い湖… それって地球のどこにあるのか知ってるかな?『全方位直感地理クイズ』という新ジャンルに挑戦!あ、それ。地球をくーるくるw
⇒Windows ⇒Mac


『TieGunner』
マウス片手に大宇宙へ飛び立とう!『しっぽシューティング』というジャンルを作って頂きました^^; WinでもMacでも動きます。ソースもあるでよw
⇒Windows ⇒Mac
QRコード
QRコード
  • ライブドアブログ