11/15開催の『デジゲー博2015』に出展します!

 【※2015年11月13日 更新】

こんにちは。

ツイッターなどでちょろちょろと情報をつぶやいていますが、2015年11月15日(日)に秋葉原で開催されるデジゲー博2015に『tomeapp』として出展させていただきます!

つきましては展示予定内容をこちらで紹介しますので、興味を持たれた方は是非当日会場に足をお運びください!

ゲーム完成しなかったから、あるものでやるしかない・・・・・・!!

( ;´Д`)

展示内容(予定)

PRINCIPIA PERFECTUS のデモ展示

開発中の新作「PRINCIPIA PERFECTUS(プリンキピア・ペルフェクトゥス)」のデモを展示します。

プレイ可能なものにするか、動画再生にするかなどの詳細は現在検討中です。当日までの完成具合で判断します。

SS_Society SS_Main

サウンドトラックCD先行販売

ねずみハンターキャシーに引き続いて、本作の音楽は椎葉大翼さんに担当していただきました。本作ではなんと挿入される6曲すべてに新曲を提供していただきました!すごすぎる!

ゲーム本編の正式リリースに先駆けて、この椎葉大翼さんの新曲6曲を収録したサントラCDを先行販売いたします!すべて弦楽四重奏による生演奏です!やばい!!

12212476_430671150458220_1588844550_n

当日(11/15)は椎葉さん本人もブースに来ていただける予定ですので、ファンの方にはいろいろとすごいチャンスなのではないかと思います。

CDは現在台湾の工場で絶賛プレス中のはずです!間に合え!!(価格:1,000円)

【※2015年11月13日更新: CD間に合った模様です】

フライヤー配布(先着200名)

街中で配布する紙の広告のこと「フライヤー」って言うんですね。最近まで知りませんでした・・・。まあ宣伝です。ブースにいらしたらとりあえず持って行ってください。 omote ura

缶バッジ配布(先着100名)

展示物をいろいろ検討していたところ、物足りない気がしてきて急遽ノベリティーグッズに手を出しました。定番の缶バッジです! とりいそぎ4種類デザインして100個発注しましたが、まだ実物を見れておりません! Screen Shot 2015-11-06 at 11.57.05 AM 果たしてどんなものが出来てくるのかもわかりませんが、一応間に合う予定です。ニュートンはまだいいですが、ホイヘンスの缶バッジなどは少なくとも日本初のシロモノではないでしょうか。 ニュートン40個、その他3名各20個用意しますので、是非ブースにいらして、この謎のレアアイテムをゲットしてください!

【※2015年11月13日更新: 缶バッジ届きました】  

開催情報

イベント名:デジゲー博2015
日時:2015年11月15日(日)11:00~16:00
場所:秋葉原UDX2階 アキバ・スクエア
(※入場のために1,000円のカタログの購入が必要)
公式ホームページ:http://digigame-expo.org

digihaku-banner1

ブース情報

CircleCut

【サークル名】tomeapp
【代表者】TOME
【配置】C-06b
【ジャンル】シミュレーション

 

それではデジゲー博2015でお待ちしています!

 

奨学金完済したら何か送られてきた

こんにちは。

奨学金制度といえば、最近いろいろネガティブな声も聞かれますが、自分は学生時代に利用させていただき、ずいぶん助かりました。

先日13年間かかってようやく完済することができたので、記念の投稿です。

借りた時の状況

自分の場合は学部の卒業までは親のすねをかじっており、学部卒業後、一般企業に就職しました。しかしその後、会社やめたくなって進学を名目に退職した(苦笑)という経緯があります。

数年間社会人やって貯金も少しあったので、今度は自分で払おうと決意し、学費は自分で払っていました。しかし1年間生活してみて、結構苦しいことに気づいて、2年目に日本育英会(現:日本学生支援機構)様の制度の奨学金を申請し、支援を受けました。尚、残念ながら利子のある方(第二種奨学金)しかもらえなかった模様。(泣)

このような返済義務のあるものを奨学金と呼ぶのはよくないという人もいますが、自分のように成績があまりよくない学生にとっては、返済義務があっても支援していただけるのはありがたかったです!

それで1年間、合計120万円の奨学金をいただきました。自分の場合1年間しか借りなかったので合計額はおそらく比較的少額だと思います。

返済

卒業後、再度就職したので返済が始まりました。年利は0.7%とのことで、自分の場合は大体毎月8千円くらい返済していました。お金のことよくわかりませんが、新◯銀行カードローンのレ◯クが実質年利4.5%~18.0%と書かれているので、恐らくかなり低金利だと思います。

昔は「奨学金は踏み倒すもんだ」みたいな噂もあったのですが、自分はそんな度胸はなく、言われるがまま返済することにしました。(当たり前)

それから13年、口座引き落としにしているので、あんまり実感もないまま毎月毎月返済は続いていました。

そしていろいろありすぎましたが、月日は流れ・・・。

とうとう残額が0円になる日が来ました。

長かった・・・。

というわけで2015年9月の引き落としを持って、完済となりました。なったはず。

返済完了したら?

で、そのあと特に何も音沙汰なかったので「やっぱりお役所はドライだなあ」と思っていたのですが、11月に入って、何か来ました!

a

 

b

おお、「返還完了証」!

正直に生きてきたことが報われたようで、ちょっと嬉しいですね!

感想

借金返し終わっただけなんですが、すごい達成感でした。

踏み倒そうとしたこともありますが、いえ、ないです。返せてよかった・・・。

正直、一括返済とかもできなくはなかったんですけど、上記のようにこんなに低金利でお金借りれる機会はそうそうないだろうと思って、あえて繰上げ返済はしませんでした。

しかし13年間、いつも心のどこかに借金をしているという重みがありました。なので、精神的には一括返済した方がよかったかもしれません。こころだいじ。

さあ、あとは住宅ローンだ。(震え声)

サイン、コサインをインテルの CPU で計算すると少しバグっているらしい

こんにちは。

ちょっと前にどこかの偉い人が「女性にサイン、コサイン教えても仕方ない」ような発言をして炎上したのは記憶に新しいところです。面白いですね。

「女の子にサインコサイン教えて何になる」 鹿児島県知事の発言がネットで非難 発言撤回の会見動画も公開 – ねとらぼ
http://nlab.itmedia.co.jp/nl/articles/1508/28/news145.html 

「いやいやサイン、コサイン使うでしょ」という反論には完全に同意です。それはよいのですが、プログラマー的な視点で見れば「サイン、コサインはコンピュータでどうやって求めているか」を説明できてやっと安心(?)ではないでしょうか。

そこでちょっと復習と思って調べてみたら、なんかインテルのCPUのバグ?の話とか出てきてわけが分からなくなってきたので、まとめておきました。

sin(x) の求め方(基本)

理系の方は学校で習ったと思いますが、テーラー展開した多項式で求めるのが常套手段です。

例えばサインの値は、以下の多項式で表現できます。

Screen Shot 2015-10-21 at 10.26.30 AM

自然科学のための数学I/II(2014年度)- 琉球大学
http://www.phys.u-ryukyu.ac.jp/~maeno/sizensuugaku/lec11_sin.html

これを実際に計算するサンプルプログラムとかはネット上にごろごろしてるので、ここでは挑戦しません。ここでは、この計算が最近のコンピュータのどの部分で行われるかに注目してみます。

コンピュータのどの部分で計算しているのか

コンピュータで sin(x) の値を計算させるときは、昔も今も上記の多項式が使われているようです。(※他のアルゴリズムもありますがあまり使われていないらしい)

最近(と言っても 8087 にすでにあったようなので20年以上前から)はハードウエアレベルでその機能が提供されています。別の言い方をすると、sin(x) の値を求めるアセンブラ命令があるということです。インテルの x87 では FSIN, FCOS などです。

なので当然 sin(x) の実装にはこのアセンブラ命令 FSIN が使われていると思いますよね?

しかし念のため確認してみると意外な事実が判明しました。確認したのは GNU の C 標準ライブラリ glibc のソースで、バージョンは 2.22.90 です。

GNU C Library (glibc)

https://www.gnu.org/software/libc/

おそらく sin(x), cos(x), tan(x) とかはそのハードウエアのアセンブラ命令を叩くだけのはず。

sin(x) とかはアーキテクチャ依存の実装になるので、double __sin(double) の実装があちこちにあって悩ましいですが、とりあえず x86_64 アーキテクチャでは、

  • sysdeps/x86_64/fpu/multiarch/s_sin.c
  • sysdeps/ieee754/dbl-64/s_sin.c

の実装が有効のようです。すると、

<sysdeps/ieee754/dbl-64/s_sin.c>

Screen Shot 2015-10-21 at 1.11.21 PM

https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/ieee754/dbl-64/s_sin.c;hb=HEAD#l279

あ、あれ?

なんか思っていたのと違いますね・・・と言うか、完全にソフトウェア的に計算しています。

なんでハードウエアサポート使わないの?

せっかくハードウェアサポートがあるのに何で使わないんだろうか・・・。って思っていろいろ調べてみましたが、以下ページを見つけました。

Intel overstates FPU accuracy – 06/01/2013

http://notabs.org/fpuaccuracy/index.htm

Screen Shot 2015-10-21 at 1.17.29 PM

リンク先を見てみると「インテルの FPU (x87) のコサイン、タンジェント命令は、スペック通りの精度がでない場合がある。」と言った趣旨のことが書かれています。

また以下のページにも興味深いことが書いてあります。

How does C compute sin() and other math functions? – Stackoverflow

http://stackoverflow.com/questions/2284860/how-does-c-compute-sin-and-other-math-functions

Screen Shot 2015-10-21 at 2.35.57 PM

この質問に対する回答によると、「2011年の10月以降 x86-64の Linuxではこの(ソフトウェア)コードが使われており、明らかにFSINより速いSince October 2011, this is the code that actually runs when you call sin() on a typical x86-64 Linux system. It is apparently faster than the fsin assembly instruction.)」とのことです。

というわけで、現在かなり普及している x86_64 アーキテクチャー(Windowsも Mac も大部分が採用している)の CPU の三角関数命令 FSIN は、速度、精度などが問題視されており(少なくとも glibc では)、別途ソフトウェア的に実現されているようです。

他の実装ではどうなっているかは不明ですが、glibc での実装と似たようなことをやっているのではないかと思います。

インテルも大変なんだな・・・。

まとめ

  • サインなどの三角関数の値はテーラー展開を使用した有名な式を昔も今も使って計算していることが多い。
  • 20年以上昔から浮動小数点数演算用のFPU(コプロセッサー) には三角関数の値を計算する命令(ハードウェアサポート)がある。
  • しかしインテルの x86_64 系アーキテクチャーのこの命令は精度及び速度に問題があるらしく、少なくとも glibc 2.22 ではFPUのサイン命令は使っておらず、ソフトウェア的に計算しているらしい。

という感じでした。

何はともあれ glibc の sin 関数のソースは勉強になるので、数値計算に興味のある方には一度じっくり見てみることをおすすめします。

 

 

「性別」を表す変数名をアレにするのやめませんか?

こんにちは。

プログラマーあるあるだと思うのですが、人物を表すクラスなどをしばしば以下のように定義すると思います。

typedef _Person {
    char* name;  //名前
    int age;     //年齢
    int sex;     //性別 (0:男性 1:女性) <=== 恥ずかしい (><)
} Person;

 (※言語は何でもいいんですけど、とりあえず C で記述します)

「性別」って辞書で調べると「sex」って出てくるので、おおそうかとばかりにこれを変数名にしているコードが実に多いです。

いや間違いではないし、むしろ正しいのですが、個人的にはなんか恥ずかしくてどうしてもやりたくありません。

「sex = 1;」とか書きたくない。

「sex が 0 のとき・・・」とか読みたくない。

セクハラ認定されそう。

などなど不安でたまりせん。

そこで代案をいくつかあげましたのでプログラマーの皆さんにおかれては、今後そのようなコードを記述する際にはご検討ください。

代案1:そこだけローマ字にする

ぐぐってみると以下のようなコードを使っているサイトがありました。

typedef _Person {
    char* name;   //名前
    int age;      //年齢
    int seibetsu; //性別 (0:男性 1:女性) <===
} Person;

個人的には「これは無い」と思いますが、例の単語を使うよりはましな気もしました。しかしおすすめではありません。自分がコードレビューワーなら却下したいところです。

代案2:”gender” に置き換える

個人的なおすすめはこれ。”sex” という単語の代わりに “gender” (ジェンダー)と言う単語を使う方法です。ロジックはそのままなので簡単ですね。ちなみに weblio 様のサイトによると gender の意味は次の通り。

gender【名詞】
1【文法】 性.
2《口語》 (人の)性,性別,ジェンダー 《社会的,文化的意味づけをされた男女の差異》.

[weblio – http://ejje.weblio.jp/content/gender]

いろいろ調べてみると、gender は sex よりも「社会的な性」という意味で使われることが多いとか書かれてたりしますが、Wikipedia 様の「Sex and gender distinction」(2015年10月18日閲覧)という記事によると婉曲表現うんぬんとの解説があるので、今回の目的にも使えると思います。っていうか、自分は使います。

typedef _Person {
    char* name;   //名前
    int age;      //年齢
    int gender;   //性別 (0:男性 1:女性) <===
} Person;

「ジェンダーが0のとき〜」とか自然に読めます。やった!

代案3:男性であるかどうかのフラグに置き換える

これもいい方法です。「性別」ではなく「男性かどうか」のフラグに置き換える方法です。

typedef _Person {
    char* name;   //名前
    int age;      //年齢
    BOOL isMale;  //性別 (TRUE:男性 FALSE:女性) <===
} Person;

但し、こうすると「男性でも女性でもない」状態が表現できなくなります。それが必要な場面はそれほど多くはないと思いますが、昔自分がかかわった医療機器のコードでは、性別は「男性、女性、不明」と3つの値が取れるように定義されてました。

この方法にはもう1つ心配な点があります。それは「なんで真の時に男性を表すのですか?これは男尊女卑的ではないですか?」というクレームがどこからともなく来そうな予感がするところです。

それに備えてコードを以下の様にしておけばスキはありません。

typedef _Person {
    char* name;    //名前
    int age;       //年齢
    BOOL isFemale; //性別 (TRUE:女性 FALSE:男性) <===
} Person;

これなら真のときに女性を表すので妙なつっこみもできそうにないですね!

以上、真面目な提案なのでよろしくお願いいたします。

駅のホームにある非常ボタンを押したときの話(※適正使用)

こんにちは。

昨日、Yahoo!ニュースにこんな記事があったのですが、

非常ボタンで阪急電車を妨害 男2人を逮捕(毎日放送) – Yahoo!ニュース http://headlines.yahoo.co.jp/hl?a=20151015-00000019-mbsnewsv-l26

そう言えば自分もまだ会社員だった時代、非常ボタン押したことあります。もちろんニュースのようないたずらではなく、ちゃんと非常事態でした!

会社がJR豊田駅にあったので、朝自宅からJR中央線で豊田まで行ったときの話です。そのときのツイートしてたので、正確な日時がわかりました。2013年の6月11日だったようです。ツイート便利ですね。

自分は一番後ろの車両に乗るのが好きなので、その日も一番後ろの車両に乗っていて豊田で降りました。で、ホームの端から階段まで、(会社行きたくないので)ゆっくり歩いていました(笑)。そうしていると、自分の後ろの方でドスンと言う音がして続いて男性のうめき声がしました。

すぐに振り返ってみると、5〜60歳くらいのおじさんがホームの下に転落してました。周りに誰もいなかったので、突き落とされたとかではなく、一人で落ちたようです。間近で見たときに感じたのですが、ホームから線路上に落ちただけでも怪我してたと思います。音もそんな感じでした。

で、すぐに電車が来る雰囲気ではありませんでしたが、来てしまったらやばいです。ホームを見渡しても、近くには自分しかいない感じでした。

あ、なんかこれはやばい。あれ、駅員さん呼ばないと!非常ボタンだ!

って思って近くを見渡すと、5〜10メートルくらい離れたところにありました!非常ボタン!

結構こまめな間隔で設置してあるんですね。(※この画像は豊田駅のものではありません)

Emargency_train_stop_button

“Emargency train stop button”. Licensed under GFDL via Wikipedia – https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Emargency_train_stop_button.jpg#/media/File:Emargency_train_stop_button.jpg

迷っている時間はなかったので、押しました。

ボタンを押すと、ホーム全体に「ビーーーーー」と言う警報音が大音量で鳴り始めます。

これはずーっと鳴ってます。多分音を止める操作をするまで鳴り続けるのだと思います。

そうすると、どこからともなく多方面から駅員さんが駆け寄ってきました。ホーム上から2人(どこにいた?)くらいと、階段から2人くらい降りてきて、合計3〜4人来ました。

自分はそこから離れるといたずらだと思われたりするかもしれないので、駅員さんが来るのを待っていました。

で、駅員さんが「押された方ですか?」とか聞いてきて、押した理由とか言おうと思ったんですけど20メートルくらい先に人が転落していたので、指差しただけで全てが通じました。

幸い後続電車もすぐにはなく、駅員さんが2〜3人がかりで転落した人を助け上げていました。

助け上げ終わったくらいのときに警報音も鳴り止みました。

てっきり非常ボタンを押した人は駅員室に連れて行かれて、長々と事情聴取的なものがあるのかなあと思ってたんですが、ありませんでした。ただ、連絡先を教えて欲しいと言われたので携帯の電話番号だけ伝えました。確か名前は聞かれませんでした。個人的には貴重な経験だったので、むしろ名前聞いて欲しかったんですけど。

結局事情聴取もほぼ無かったので、午前中は会社サボれるかもと言う淡い期待は叶わず、普通に1日がスタートしました。JRからの電話も来ませんでした。

なおボタンを押した時の感触ですが、フニャフニャしてたのが印象的です。その時のツイート。

皆さんも危険を感じたらためらわずに押したほうがよいと思います。いたずらはだめですが!

水のトラブルがあったので業者呼んだら危うく別のトラブルに巻き込まれるところだった

こんにちは。

築10年のマンション住まいですが、先日洗面所の蛇口を閉めても水がちょろちょろ漏れていることに気づいたときの話です。

いわゆる「水のトラブル」というやつですかね。

業者さん呼んだんですけど、危うく「別のトラブル」に巻き込まれるところだったので、そのときの顛末を紹介します。皆さんもお気をつけください。

「水のトラブル」なので業者さん呼んだ

ある日、洗面所の蛇口を閉めても、水がちょろちょろと漏れていることに気づきました。

当時忙しかったこともありしばらく放置していたんですけど、だんだん漏れがひどくなってきたのでしかたなく業者さんを呼ぶことにしました。

自宅はさいたま市内なんですが、よくポストにこんな感じの広告が入ってます。マグネットになってるので、台所とかに貼り付けておきました。ついにこいつの出番が。

securedownload

(※重要)この写真の業者さんと本文の業者は関係ありません!その業者のやつは即刻捨てました!

たしか土曜日の昼ごろ電話したら、「本日の16時ごろに伺えます」とのことだったのでお願いしました。そして16時近くになって業者さんが到着。

早速洗面所の状況を見てもらうと、

「ああ、これは壊れてますね。とりあえず止めますね。」

と言って、洗面所の下の棚の部分を開くと、そこに隠し蛇口があってそこで止めてました。

考えてみれば当たり前な気もしますが、そんなとこに蛇口があって、手でひねればすぐ止められるんですね。恥ずかしいですが知りませんでした・・・。

securedownload-1

で、その業者さんが言うには、

「このメーカーは倒産している。いま自分の車にある別のメーカーのやつと総入れ替えすれば直せますがどうしますか?値段は8万円くらいです。」

とのことでした。

まさかの見積もり8万円

軽い気持ちで修理を頼んだつもりが、新品との交換で8万円!

なんか(この業者とは関係ない)テレビCMとか見てたので、元体操の選手みたいな人がニコニコしながら専用の工具でチョチョっと直してくれて8千円、とかいうのを期待してたので、びっくりしました。

こちらも人生経験多少あるおっさんなので、これは水道トラブルの緊急性につけこんだ手口ではないかと疑い始め、

「わかりました。お金がないので、ちょっと考えさせてください。」

と言って帰ってもらいました。

真剣に調べることにした

こちらとしては、洗面所の下に隠された蛇口を閉めればとりあえず水は止まることを教えてもらったので、緊急性は下がりました。

で、いろいろぐぐってみると、確かのこの水道メーカーMYMは、水道事業から撤退していたのですが、メンテナンスはKVKという別会社が引き継いで行っているようです。

securedownload-4

↑蛇口の下の方にメーカー名(MYM)が書いてありました。

自分で直せて4千円ですんだ・・・

長くなるので詳細は割愛しますが、これをドライバーなどで分解してみたところ、水漏れしている箇所がわかり、その部品をアマゾンで購入することができました。

アマゾン便利すぎ!!

KVK シングルレバーカートリッジ 【PZ110S】

41oRA6yTvML._SX425_

(※注意)似たようなパーツがたくさんあるので、購入する場合はよーーく調べてからにしてください!
レバーを上げたときに閉まるタイプと、下げたときに閉まるタイプもあったりします!

交換したら、直りました!

自分でやったので、部品代の4千円ですみました!8万円はひどい!

全部の業者がこんな感じなのかはわかりませんが、皆さんも水道トラブルの際はぼったくられないように気をつけてください!

会社やめたら出勤したくてたまらなくなった

こんにちは。

今年の初めに会社やめてから半年と少したったのですが、あれほど行きたくなかった会社に行きたくなってきました。

人間の心理とは不思議なものです。と言うか結局いまの状態から逃げ出したいだけなのかもしれませんが・・・。

せっかくなので経緯と現状についての報告です。会社辞めようかどうしようか検討している方などの参考になれば幸いです。

プロフィール

1973年生まれの42歳です。妻と4歳になる娘1人の3人家族。

今年3月に10年勤めた会社を辞めて現在起業準備中。(ただし再就職も捨てきれない)

会社を辞めた理由

前向きな理由と後向きな理由が相乗効果をもたらして辞めてしまいました。

後向きな理由は、会社の人も見ているかもしれないので控えめな表現にせざると得ませんが(苦笑)、仕事が忙しすぎて会社に行きたくなくなったからです。朝起きるのつらいし。

前向きな理由は、もともとフリーでいくつか公開していたゲームを商品化して勝負してみたいとずっと考えていたからです。最近はアプリとかで市場も広がっているという噂もありました。(その噂についてはまた長くなるのでここでは触れません・・)

会社やめて良かったこと

朝目覚ましをかけなくてもよくなったのが何気に一番うれしいです。

勤めてた会社はコアタイムの無いフレックスのような制度で、ミーティグが無い限り何時に出社しても良かったんですが、忙しくなってくると朝9時とか10時からのミーティングは普通なので、結局それに間に合うように目覚ましをかけて出勤しなければなりません。

しかし自分が朝弱いのが原因なのか、それとも最近ちょっと話題になった『午前10時前から働くことは「拷問に近い」と英研究 ネットは「今世紀最大級の重要な発見」と賛同 』のように、朝9時からの始業がそもそも無理があるのかわかりませんが、自分は毎朝つらかったです。

会社やめて良くなかったこと

おちんぎんがもらえなくなります。

まあ当たり前なんですけど、これにつきます。みんなお金のために働いているのです。自分もそうでした。

最近の生活

現在、自分のゲームを商品化すべく活動しています。

会社辞めた後、とりあえず2本アプリリリースしてみたんですけど、びっくりするほどダウンロードされてません。収入はほとんどありません。(泣)

生活費は、失業保険と貯金から出してます。今年いっぱいくらいは収入なくても大丈夫そうですが、その後はさすがにまずいです。

いま、社運(?)をかけて新作を開発中ですが、なかなかはかどっていません。この新作は、プログラムが自分、音楽とグラフィックはそれぞれ発注して制作してもらっているのですが、この自分担当のプログラム部分がはかどらない。

準備期間を経て、8月 始めくらいから開発しており、2ヶ月で完成の予定でした。ああ、だから9月いっぱいで完成の予定だったんですね。いま思い出しました・・・。

しかし本日10/14現在、まだ50%くらいしかできてないです。進捗ダメです。

予定では来月11/15に開催される展示会(デジゲー博)でパッケージ販売しようと思っていました。いろいろ調べたところ、パッケージにするには3週間〜1ヶ月くらい前に発注しない間に合わないようなので、そうすると今日くらいにすでに完成してないとダメだった。

しかたないのでパッケージ販売はあきらめて、どうしようかなあとか考えています・・・。

「出勤したくなった」の真意(1)

やっと本題です。

会社員時代は、朝早く出勤し終電まで会社にいることはよくありました。

今は、寝たいだけ寝て起きると10時とか11時だったりします。寝不足は頭の回転を悪くすると信じているので、それはいいんですが、その後自宅で机に向かうこともあれば、外出してスターバックスとかタリーズコーヒーとかで作業することもあります。

誰も管理してないので、気が乗らなかったら作業しません。というか、できません。

最初は「そのうちやる気でるよね。やる気でるまで待とう。」って思っていて、実際1日とかサボると次の日とかは結構やる気出てました。

最近は、なんかなかなかやる気が出なくなってきました。これはたぶんやばい。

会社員時代は、いやだったんですけど、進捗管理されてました。なので、いやだったんですけど、やる気がないからと言って手を動かさないわけにはいきません。いやでしたが。無理やりにでも手を動かせば進捗はあります。これが今の自分にはないんですよね。

「出勤したくなった」の真意(2)

会社員最後の2年間くらいは、20人くらいのソフトチームの開発リーダーをやってました。リーダーなんて向いてないんですけど、目立つのは好きでした。

そんなこともあって、会社での自分は多少輝いていました。たぶん。

なので、それがいいモチベーションになっていたようですね。頑張れている実感。

今の自分は、1人でやっているので、頑張れている実感がありません。計画通りにリリースしていけば、多少は結果も期待できると信じていますが、なんか頑張っても頑張らなくてもリリースするまでは反応もらえないんですよね。

なので、モチベーションが足りなくなっている気がひしひしとします。最近特に。やばい。

imgres

まとめ

というわけで、一人でずっと作業していると、

  • 管理されてないので、果てしなくサボれてしまう。これは楽だけど、やばい。
  • まわりに誰もいないと頑張れてるのか頑張れてないのかよくわかなくてモチベーションが下がってくる。

と言ったデメリットがあることを痛感しました。大丈夫かな、自分?

ちなみに、それなりの貯金をしてから辞めたのでお金の問題はまだ発生してません。しかしそれが逆にモチベーションを下げている気も少しだけします。

自分でもよくわかりませんが、たぶん「ちょっと会社行って管理されて、やる気を取り戻したい・・・」と感じているようです。

行きませんけど・・・。

 

Cocos2d-JS の Scale9Sprite で画像を伸縮する代わりにタイルする方法

こんにちは。

Cocos2d-x/JS では Scale9Sprite という、フレーム画像を9分割し、必要な大きさに応じて角や縁の比率を保ったまま伸縮してくれるクラスがあります。

これは非常に便利なのですが、元画像と使用サイズがあまりにも違いすぎると、伸縮が目立ってしまい、綺麗にならないことがあります。

そこで角や縁以外の画像を伸縮するのではなく、サイズはそのままで繰り返し配置(タイル)してみたところ、かなり改善したので、やったことをメモします。

尚、Cocos2d-x でもできるはずですが、JS のようにクラス継承ルールがゆるくない(private/protected 指定がある) ので、同じように簡単にできるかどうかは不明です。

確認した環境

Cocos2d-JS v3.2

Scale9SpriteTiled

既存の cc.Scale9Sprite を継承して “Scale9SpriteTiled” を作りました。Scale9Sprite が、各辺と中心部を伸縮するのに対して、この Scale9SpriteTiled では各画像をタイルすることで全体のサイズ変更を実現します。

Figure1

変更を少なく抑えるために現在の Scale9Sprite にべったり依存した実装をしたので Cocos2d-JS のバージョンが上がった際に動かなくなる可能性はありますが、まあ大丈夫でしょう・・。

 

<Scale9SpriteTiled.js>

_updatePositions というメソッドは、Scale9Sprite のサイズが変更された時に呼ばれるので、これをフックして必要な処理を行いました。

_top, _bottom, _left, _right, _centre というのは Scale9Sprite のおいて、9分割されたスプライトのそれぞれ 上、下、左、右、中央部分です。四隅に対しては何も変更する必要はありません。

_addChildInsteadOfScaling というメソッドで、各スプライトの拡大率 (scale) を元に、自分自身の画像を必要な数だけ複製してならべます。サイズがぴったりになることはまれなので、最後半端なサイズに対して cc.Sprite のコンストラクタに範囲を指定してサイズを合わせます。

最後、もともとの引き伸ばされているスプライトは不要なので、不可視にします。

使用例

実際に現在制作中のゲームに使用する予定の枠の素材でやってみます。

FrmDate

 元画像

これを Scale9Sprite と Scale9SpriteTiled で拡大した結果が以下の画像です。

 

Screen Shot 2015-10-13 at 11.57.16 AM

Scale9Sprite

 

Screen Shot 2015-10-13 at 11.57.24 AMScale9SpriteTiled

この画像では Scale9SpriteTiled のほうが綺麗になってますね!

以前『ネット上で公開されているコードをコピペする前に確認すべきこと』とか偉そうなことを書いたので名言しておきますが、この Scale9SpriteTiled.js は自由にコピペしてお使いください。その際、一声かけていただけると嬉しいですが、必須ではありません。

今回は以上です。

vim を less とか more の代わりに使うと便利

こんにちは。

久しぶりに小ネタ書きます。

プログラマーの皆さんはコマンドライン(ターミナル)で作業されることも多いと思いますが、コマンドの結果が長くて1画面に収まらない場合どうしているでしょうか?

「スクロールしてターミナルの履歴を見る」でもよいですけど、ターミナルの設定によっては見たい結果がバッファに残ってなかったりしますよね。あと検索できないのが辛い。

なので less とか more というコマンドに渡して見る方法が一般的なのではないでしょうか?
less だと “/” を押せば検索もできますし。

しかしこの less なんですけど、なんとなく vim っぽい操作性でありながら vim ではありません。

そこでいっそのこと vim を less の代わりに使えばいいのではと思いついて、5年くらい前からやってますが、いい感じなので紹介です。

「そんなの普通にやっている」という方はスルーしていただけるとありがたいです。

確認した環境

Max OS X Yosemite 10.10.5

やり方

vim はファイル名として “-” (マイナス記号) を指定すると、標準入力を編集対象にできます。また、vim は “view” という別名を持っていて、この名前で起動するとリードオンリーモードになります。

この2つのオプションを使えば vim を less の代わりのページャーとして使えます。具体的には、

$ ls | view -

などのようにします。

こうすれば、検索はもちろん、vim の機能がすべて使えるのでいろいろ便利です。

使用例

例えば Cocos2d-x のソースファイルの一覧を見たい場合、

$ cd cocos2d-x-3.8
$ find . | view -

このようにします。すると結果は以下のような感じになります。

Screen Shot 2015-10-10 at 12.54.03 PM

14,787行もでました。

しかしここは vim ですので、あとは何でもできます。例えばこのなかに “SpriteBatchNode” を含む行だけを残したい場合

:%!grep SpriteBatchNode

などと打てば、(「リードオンリーですよ」って警告は無視)

Screen Shot 2015-10-10 at 12.57.23 PM

となりました。
クラス SpriteBathcNode に関連する C++, JavaScript, lua のファイルが6件あったってことですかね。

さらに例えばファイル名は不要で、ディレクトのリストにしたい場合は、ここから

:%s/[^/]*$//

とかやって、

Screen Shot 2015-10-10 at 1.03.39 PM

重複した行は

:%!uniq

などで消せるので

Screen Shot 2015-10-10 at 1.05.31 PM

こうなりました。
これでディレクトリのリストができました。自由自在です!

上記のように結果を編集してしまうと終了時に怒られるので、結果が不要な場合は

:q!

のようにします。

というわけで vim を less の代わりに使うのはおすすめです。

組立式35倍の望遠鏡+iPhone6で月の写真撮ってみました

こんにちは。

科学史をテーマにしてゲームを作ったりしていますが、調査と称していろいろな分野のサイトを覗いています。

先日たまたまこんなサイトを見つけました。

星の手帖社
http://business3.plala.or.jp/starbook/

 

Screen-Shot-2015-10-03-at-11.16.40-AM

35倍の天体望遠鏡・・・、3千円・・・。

天体望遠鏡というと、何万円もするマニア向けのものだと思っていましたが、3千円くらいで35倍とか言う結構すごそうなのが買えるとは知りませんでした。

というわけで、気づいたらポチっていました。

組み立て

写真 2015-10-02 23 15 19

届いてからしばらく放置していたのですが、昨日やっとその気になったので開封!

写真 2015-10-02 23 24 27

レンズが4枚入っていていい感じ・・・。

尚、1枚に見えるレンズも、実際には2枚のレンズが貼り合わされてできている「アクロマートレンズ」(色収差低減レンズ)とのことです。アクロマートレンズは Wikipedia によると1729年ごろ発明されたものなので、ニュートンの時代にはなかったものです。そんな優れものがこんな安価なキットに含まれているとはいい時代になりました・・・。

組立は簡単です。工具もいらない。接着剤もいらない。

「10分で完成!」は看板に偽りなしです。

写真 2015-10-02 23 34 04

最後にシールを貼って完成!

写真 2015-10-02 23 41 46

三脚に乗せると結構それっぽい!

写真 2015-10-03 12 30 50

これで3,056円は安い!!

ひとつ注意点があります。カメラ用でもなんでもよいのですが、三脚は必須です三脚がないと手ぶれでまともに観測できません。三脚がない方は、2千円くらいのやつでいいので一緒に買いましょう。

観測

さっそく自宅のベランダに出て観測しました。

この日は2015年10月2日、場所はさいたま市某所です。

写真 2015-10-03 0 02 52

おお、結構よく見える!

せっかくだから iPhone6 で写真とれるかな〜と思い、特に固定などせず接眼レンズのところに iPhone 持って行ってパシャパシャ撮ってみました。

一番きれいに撮れてたのがこれ!

写真 2015-10-02 23 59 22

クレーターもしっかりと確認できますね!

4日前が「中秋の名月」だったので、満月に近いかなあ〜と思ったんですけど、すでに結構欠けていました。月の満ち欠けも速いんですね・・・。

満月の時に撮ればよかった・・・。

しかしこれは癖になりそう!

「倒立像」について

尚、この望遠鏡は「倒立像」です。上下左右逆さまに見えています。(逆さまにならない「正立像」の望遠鏡は、構造が少し複雑になるので少し高級品になります。)

上下は逆さまになるのはわかりやすいですが、左右はどうなの?とちょっとわかっていませんでしたが、ガソリンスタンドを見てみてわかりました。

写真 2015-10-02 23 53 50

ちょっと写真では見えにくいですが、「セルフ」と読めますよね。鏡像になっていないということは、上下だけでなく左右も逆になっているということですね。180度回転させれば日常的に見ている像になります。

感想

たったの3,056円(三脚お持ちでない方は+2,000円) でここまで見える望遠鏡が買えるとは知りませんでした。買って大正解。

iPhone のカメラを接眼レンズのところに持って行ったら結構きれいな写真が撮れたのも驚きです。専用の器具とか、画質にこだわらなければとりあえず必要なさそう。

説明書きによると「土星の輪の存在が確認できる」そうなので、天気の良い日に挑戦してみたいと思います!

 

1 3 4 5 6 7 10