2016年11月06日

最近は内向きにモノ作りしていることが多いですね。

生後37年が経過しました。
そろそろ、おっさんの域など、もうだいぶ前に突入しています。

最近は内向きにモノ作りしていることが多いですね。
自分のソフト開発が、自分向けに特化しすぎるツールの開発だったり、自分だけがアクセス可能なサイト上での開発だったり。

先日も、最近の自作ソフトの使い方について、「改行コード変換」と、「コピペテキスト修飾除去」と、「マウスふるふる」について触れました。

改行コード変換」は、無効なコントロールコードの除去用に、「コピペテキスト修飾除去」は、修飾除去ではなく行単位の文字列加工(コピー⇒(自動加工)⇒ペーストというコンボ)に、「マウスふるふる」は、スクリーンセーバー&スリープ移行抑止(ゲームプレイしながら攻略サイトを見続けるため)に、それぞれ使っています。

この他に、自分向けのサービスとして、サーバ上のファイルに新規作成・置換・削除があったときに通知してくれる自分向けサービスとか。
自分の家族が生後何日目かをひたすら表示する自分向けサイトとか。
Yahoo!とか窓の杜とか、自分がよく閲覧するサイトからひたすらRSSを読出し、集約して提示する自分向けサイトとか、そんなようなのも作っていたりします。

そういえば最近、対外向けにやっていることといえば、Flashコンテンツの置換があります。
Google Chromeにしても、Firefoxにしても、Flashコンテンツを排除する方向に進んでいます。
セキュリティ的にも脆弱で、レガシーになってきて、いろいろと限界にきているFlashなので、その流れは重要なのですが、自サイトで構築してきたFlashコンテンツが表示できなくなるというのは、問題になります。

というか、iPhoneやiPadのSafariでは、Flashコンテンツは見られないわけで、その方向に進んでいるとか問題になるとかではなく、すでにだいぶ前から実害は出てきていると考えた方が良いです。

まぁそもそも、Flashで作られたコンテンツは、そのコンテンツそのものがレガシーなことが多く、いまさら更新するのも億劫なものだったりもします。例えば、「巫女ブラスター2」の宣伝ページとか。「神緒のべるず」のFlashゲームとか。

でも、これらが置いてけぼりを食らってしまうのも悲しいので、非Flashコンテンツへ置換することにしました。
巫女ブラスター2」の宣伝ページは、単なる画像上のリンクでしかないので、クリッカブルマップに置換しました。
神緒のべるず」のFlashゲームは、コンテンツ内容を維持したいならば「HTML5+JavaScript」で置換するのが適当ですが、全体として小説コンテンツであるということと、現在のコミカライズが10話まで到達する期待があること(その時までにコミカライズに耐えうるストーリーを構築しないといけない)を考慮し、ストーリーを新たに起こし直し、通常の新作小説コンテンツに置換しました。

挿絵は新しく、早希さんに描いてもらっています。
10wasi.jpg
▲前も載せましたが、新しい挿絵

そういえばこれが、僕の現在の唯一の同人活動ってことになりますかね。たまに、コミカライズ版頒布でコミティアにも売り子で行かせてもらっていたりしますし。細々と、ここら辺は続けて行けたらと思っています。


posted by ayacy at 00:00 | Comment(0) | TrackBack(0) | プログラミング

2016年11月03日

プログラミングはできるけど、電子回路の仕組みとかはわからないけど、

車の運転はしていても、車がどうやって動いているか、その詳細を事細かに知っている人は少数派かと思います。

特にアメリカだと、都市部と都市部を繋ぐ、何も無い道路だけの区間が多く、自力で修理できる能力を持っていなければならないことが多いのに対し、日本ではそういった事情がないため、自力で修理する方法を知らない人も多いと聞きます。
ちなみに僕は、運転免許は持っていますが、ここ10年ほど運転すらしていません。車の修理なんてもっての外ですね。

話が逸れましたけど、それと同じように、コンピュータを使うことはできるけど、コンピュータがどうやって動いているのかは知らない人も多いと思います。

この話は階層化できる話でして、例えばブラウザ上でゲームを楽しむ場合ですと、

@人間が見ている表層部分 (ゲームのアイディア、プレイヤーのテクニック)
AHTML5+JavaScript (スクリプト)
B機械語に翻訳されたプログラム (プログラム)
C電子回路
D古典物理の世界
E量子の世界

@人間が見ている表層部分は軽視して良いのかというと、これはこれで非常に大事なところです。
何せ、プレイヤーは表層の部分を見てお金を払うわけですからね。
ゲームを企画する人、プロデュースする人が、ゲーム制作陣の中で最も多くのお金をもらうケースが多いことからも分かるとおり、非常に重要な要素です。

また、ゲームのプレイもまた重要な要素であり、プレイする人があってこそのゲームだし、この人がお金を払ってくれないと or 課金してくれないと、話が始まりません。

ところで、これとは別のところに、ゲームの宣伝・営業とか、ゲームの販売チャネルいう、ゲームを成り立たせるための重要な分野も他にありますが、話がややこしくなるため、今回は除外しました。

Aスクリプトの部分。ゲームのアイディアを直接実現している部分とも言えます。Aで書かれた文字列を、B機械翻訳されたプログラム(HTML5+JavaScriptならブラウザのエンジンでしょうか)が実行することで動いています。プログラミングの知識が必要になってくるのは、このあたりでしょうね。

私がプログラマとして名乗っているのは、このAとかBの部分が好きだからでして、@CDについては興味が無かったり、苦手だったりします。Aができる人が@ができるとは限りませんし、@ができる人がAができるとは限りません。ABができる人がCもできるとは限りません。

ちなみにAの超人は、プログラミングのコンテスト等で、ある与えられた課題を、非常に短いステップ数で解ける仕組みを考えたりしているそうです。素人目に見てもすごいと思えるのは、例えば、489バイトのテトリスでしょうかね。読めなくても(読む必要はない)、すごいことは通じやすいかと。

Cは、最近、動画文化の普及で、よく目にするようになった部分のような気がします。
マリオメーカーで加算機を実現してみたり、プラレールで半加算器を設計してみたり、動画文化の普及があるから、見ている側の人間も楽しく見られるようになったと思います。

通常、こういうのは、CPUの小さな回路の中に大量に詰め込むものです。電子の粒が、マイクロメートルとかナノメートル級の小さな回路の中を進み、演算・読み出し・書き込みを実現します。C・・・つまり、先ほど見た、マリオメーカーによる加算機や、プラレールによる半加算器のような知識をたくさんの種類・たくさんの回数繰り返すことで、Bが成り立っているというのは知識としては知っているものの、直感ではなかなか理解しにくいものです。

この世界の話を聞いていると、「信号はせいぜい光の速さでしか伝わらない」という話も聞こえてきます。
1秒で地球を7周半する光ですら、この世界では「遅いモノ」扱いなんですね。
遅い信号を早く伝えるには、電子が通る経路(スタートからゴールの距離)を短くしてやる必要があるんでしょうけど、回路設計を小さくするにも限界があるとのこと。電気の通る線の幅を小さくすれば電圧を高めなければならないとか、発熱が激しくなるとか、電子が通ると磁力が漏れるとか、かつて科学の授業で聞いた知識が、だんだんと大きくなってきます。

CPU 1つ1つの速度に限界があるならば…と、空いた回路を効率的に使おうとするマルチスレッドのテクニックとか、あるいはCPUコアそのものを複数搭載して並列処理させてしまおうというマルチコアのテクニックとか、CPUの世界は、アイディアを詰め込むことで、まだまだ上を目指せそうです。
プロセッサの技術者の皆さんは、日々こうした、一つ上のアイディアを盛り込んでいくことで、がんばっているんだと思います。

Cを実現しているのがDの世界ですが、さっき出てきた電圧とか発熱とか磁力の発生とか、物理世界のルール(自然法則。仕組みや限界)そのものになってくるかと思います。プロセッサ技術者の皆さんががんばれるのも、電気を通すための新しい素子を科学者が作っているからでしょうね。

ところで、電子1粒の世界になってくると、古典物理的な効果よりは、むしろ量子物理的な効果の方が大きく出てくることもあると聞きます。たぶん、Eの世界が関わってくるのかと思いますが、まぁ、私にはよく分からないですね。ここら辺は。もしかしたら、全世界的にも、よく分からないけど使っている技術…なのかもしれません。

量子物理的な効果に期待した「量子コンピュータ」なるものもあると聞きますが、その原理は難しすぎてよくわかりません。


posted by ayacy at 08:20 | Comment(0) | TrackBack(0) | プログラミング

2016年10月19日

Windows 10の今後はどうなっていくのだろう?内部的な仕様変更頻発でソフト作者の苦労は増えるのか。

以前、いじくるつくーるの開発継続を断念するかどうか悩んでいたときのこと。こんなアドバイスを頂いたことがありました。

Windows 10になって以降は、細かいマイナーバージョンアップが繰り返されるだけで大きな変化はないから、頑張って1回、いじくるつくーるをWindows 10に対応させてしまえば、その後、メジャーバージョンアップの時に繰り返される、対応確認の苦労はしなくても済むのではないか?

と。

ただ先日、Windows 10にAnnivesary Updateを入れると、ログオン画面上でのNumLockキーの既定状態に関わるレジストリの動きが変わってしまうらしいという情報が立て続けに寄せられました。
これにより、一部の環境(?)で、いじくるつくーるやNumLockLockの動作に支障が生じているらしいです。

詳細は調査中で、ネット上の各記載を見ても、いくつか相矛盾するものがあること、また、自分の環境もWindows 10 Anniversary Update適用していますが、必ずしもネット上の各記載の情報が当てはまらないことから、事態を正確に掴むことが出来ておらず、とりあえずコレに関わるソフトウェアの改修については、しばらくやめておこうかなと思っています。

いじくるつくーるの開発継続を断念しているので修正は行いませんが、NumLockLockについても修正はしばらく見送ります。そもそも、各環境により動作が違うらしいので、どう修正したら良いかも分かりませんし。

そもそも、いじっているレジストリはWindowsの内部的な動作のものであり、マイクロソフト社としても、公式情報として発表しているわけでもないものをホイホイ勝手にいじられては困るのでしょうし。内部的な動きを変えたからといって苦情を言われても困るでしょうしね。

まぁ、ソフト作者としても、OSの内部的な動きがホイホイ変わると困るわけですけどね。正直な気持ちとしては、内部的な動きに関わるレジストリには、今後はあまり、お近づきになりたくないですね。

残念ながら、最初に書いたようなアドバイスは、全くの的外れだったように思います。マイナーアップデートは、これまでのメジャーアップデートよりも細かい間隔で行われるのでしょう。頑張って苦労して今日のバージョンに対応しても、明日のバージョンには対応できなくなる・・・なんてことも起きるのかも知れません。


続きを読む
posted by ayacy at 22:58 | Comment(0) | TrackBack(0) | プログラミング