ばかおもちゃ本店:Youtube twitter:@sashimizakana Amazon.co.jpアソシエイト

2019年11月21日木曜日

コクヨのノートカバーがいい感じ

ノートカバー割といい。


これはコクヨのやつで、ツートンカラーのやつが古いVerで布地でできてて、灰色の方は新しいVerでポケット以外の部分は合皮になってる。合皮はそんなに安っぽくもないんだけど、個人的には古いVerのが好き。
ただ、ノートを閉じる部分が古いのだと細い紐なのが、新しいのでは太いバンドになってたり、中にポケットが追加されてたり機能面ではいい感じっぽい。あと500円くらい新しいほうが高い。
もともと筆箱とかあれこれ持ち歩きたくないので、ボールペンだけ差して適当にもっていくとメモ入れることもできるし、ややごつくなることで部屋の中で目立つようになるので見つけやすくて良い。
もっといろいろなメーカーのも試してみたい感じ。




2019年11月14日木曜日

文章を好きになりたい

いつの間にか書くのが嫌になっていた、というようなことを前に書いたけど、ではそもそもそんなに書いていて幸せなことというのがあったのかなとも思う。たとえば私は絵を描いていれば、本当に楽しいと思うことがしばしばあるし、プログラムを書いていても、その行為そのものでそれなりに面白いと思うことはある、けれども文章を書いているときにそれを感じたことってあったろうかと思う。
文章は書くたびにつながらない感じとか、重さが自分をみしみしと締め上げているような気がする。伝わらないのではないだろうか、みたいなことばかり考えている。そのせいなのかもしれないなとも思う。自分のことではなくて、人のことばかり気にして書いている。
絵で伝わって欲しいと思ったことはほとんどないし、プログラムはそもそも正しければ動くので、行為そのものの疑問を感じたりしないけど、書いているときは、それが正しいのかどうか、すぐに気持ちの中でぐるぐると迷い込んでしまっている気がする。
これを書いている今も、すでに自分の思っていることが書けてないんじゃないかとか、長すぎて鬱陶しいんじゃないかとか、そういうことを思い始めている。

不思議に書きたいという気持ちは常にある。そうして文章にして出していくことで、自分のどこかに風通しがよくなるような気がする。それがなければ、そこは腐っていってしまうような気がする。とはいえ、そういうことを書こうとすればするほど、書いて、消してを繰り返して余計に腐っている。嫌になる。
とはいえ、書かないなら、書いてしまえばいいじゃないかと思う。

書こうと思う。
書いて、特に伝わるかとか気にせず。
事実誰にも特に伝わらずとも、書くことを好きになりたい。

いつの間にか自分の絵が好きでたまらなくなったように、文章のことも好きでたまらなくなりたい。そうして、自分のための文章を書いていられればなと思う。いつでも出来て手軽なことが大好きだというのは、大変良いことだろうから。

2019年11月4日月曜日

普通にやってくこと

普通であったり、特に面白くなかったり、いつもどおり上手く行かないことに、がっかりせず、頑張らず、淡々とやる、みたいなことがきっと必要なのだなあ、と。
つまりもっともっと良くというのは一種の快楽依存みたいなもんで、時として過剰になるし、変わらないことに極端にがっかりしてしまったりするし、普通でええねん、普通にさほど成功しないくらいでええねん、と。
それを延々と積み重ねることで、運が良ければいつかどこかにたどり着くねん、と。
そういうことを、Super Hexagonをやりながら思った。
 

2019年9月25日水曜日

DefoldでゲームデータをJSONで読み込む

ProjectのCustom Resourcesに設定したフォルダ(ないしファイル)は、sys.load_resourceで読み込める。指定するのはゲームのルートからのパス。(/assets/dataとか)jsonで書いたファイルを用意して、json.decode(読み込んだデータ)とやればそのままテーブルで取得できる。

ゲームのシナリオファイルとか作るなら、そういうJSONを出力できるツールとか書けばいいかも。なんとなくそっちに手を出すと、それに凝りすぎてプロジェクト進捗が破綻するという匂いがするのでひとまず手書きでやってるけど、システム周りがだいたい出来たらNode.jsでブラウザから作れるツールみたいなもんでも作ろうかと思う。

2019年9月24日火曜日

Defoldで日本語のテキスト周りあれこれ

Defoldでも日本語のフォントを普通に使うことができる。
otfとかttfのファイルをassetsフォルダみたいなところに入れておいてからNew>fontで.fontファイルを作成すれば、ゲーム内部で利用できるようになる。フォントの大きさとか、字詰・アルファ・影の設定とかはここでやるっぽいので、fontファイルはスタイルみたいなもんだろうと思う。複数のスタイルを使うときはその分だけ作成すれば良さそう。
注意点としてはAll Charsというチェックを入れておかないと日本語フォントは入らない。

もうちょっと文字周りのことに触れておくと、Defold自体が利用する文字エンコードは多分UTF-8っぽいのだけど、適当に読む限りLuaは単純にバイト列として読むだけなのでエンコードの変換とかは特に行われない、つまり内部文字コードみたいなものを持たないっぽい。たしかこれはRubyなんかも同じような作りだったような気がするけど詳しくないので知らない。
で、Defold使っていて、シナリオデータをJSONとかで作ったりすると、当然読み込まれた文字はUTF-8になるわけだけど、よくあるテキストボックスに文字をぺぺぺってタイプライターみたいに打っていく表現をしようと思うと、文字を一文字ずつ切り分けるということが必要になります。

当然Luaにもstring.subみたいな文字を切り出す処理があるのでそれを使うわけですが、たぶん上述のような理由でLuaは文字がどんな感じで格納されているかに関知しないので、subは指定バイト数で文字を切り出す、という仕様。
UTF-8の場合雑に言うと、英数は1バイト、アクセントとかウムラウトみたいなのついてるのは2バイト、日本語等全角文字と古い絵文字っぽいものが3バイト、昨今の絵文字とその他あれこれが4バイトみたいになっています。ちなみにそれぞれが何バイトかは文字の先頭4ビットを見ればわかる。
つまり、そのままUTF-8を利用して文字単位で切り出そうとすると、(DefoldのLua5.1の場合)そういう処理を実装する必要があるわけですが、ちょっと面倒くさかったので、先頭1バイトだけ読んで読めなければ固定で3バイト分読むという方針で実装していたところ、ツイッターで教えてもらいました。


立て続けに二人に教えてもらいました。


どっちもライセンス表記見ると同じ人が書いたっぽく、後者の方が機能が多い。

で、これを New > Lua moduleとやって、コピペしてutf8.luaみたいな名前で保存して、require 'フォルダ名.utf8'とやれば、普通に使えるようになった。

そういうわけで、Defoldの利用者には大変親切な方が多いです。