mieki256's diary



2023/06/24() [n年前の日記]

#1 [pc] テキストエディタ上で計算してみたかった

Windows10 x64 22H2上で動くテキストエディタ上で、123+456=、みたいな数式を書いて計算してみたくなった。履歴をざっと眺めて把握できそうだから便利になるのではないかと想像したのだけど…。

xyzzyで試す :

xyzzy 0.2.2.253 上で、calc-mode (M-x calc) を使って少し作業してみたけど、これはどうもしっくりこない…。一応目的は果たせるのだけど、計算結果が次の行に表示されるあたりがどうも…。

ググっていたら、以下のページに遭遇。

_#xyzzy で その場で電卓計算してくれる - GitHub

calc-onthespot.l を導入することで、xyzzy上で書いてある数式の計算ができるらしい。が、xyzzy 0.2.2.253上で導入して試してみたら、「変数が定義されていません result-dsc」とエラーメッセージが表示されてしまった…。

サクラエディタで試す :

サクラエディタ 2.4.2.6048上で、計算マクロ for サクラエディタ Ver.1.00 を試してみた。

_計算マクロ for サクラエディタの詳細情報 : Vector ソフトを探す!

sacal100.lzh を入手して解凍すると、中に calc.js と readme.txt が入っていた。
  • calc.js を、サクラエディタの macrosフォルダにコピー。
  • サクラエディタの設定 → 共通設定 → マクロ。calc という名前で calc.js を登録。
  • サクラエディタの設定 → 共通設定 → キー割り当て。種別を「外部マクロ」にして、calc を選んで、右側でキー割り当てをする。
今回は、Alt + K に割り当ててみた。

「123+456=」と打ってみて、「=」の後ろにカーソルがある状態で、Alt + K を叩いたら、計算結果が入力された。イイ感じ。

Notepad++で試す :

Notepad++ 8.5.4 32bit版でも、NppCalc というプラグインが導入されていれば、xyzzy の calc-mode のようなことができるっぽい。

_NppCalc / Wiki / Home

ツールバー上の電卓っぽいアイコンをクリックすれば Calcモード相当に切り替わるので、「123+456」と打って Enter を叩けば、次の行に計算結果が表示される。

ただ、「123+456=」といった感じに打ってみても計算結果は出てこない模様。

「x:=123+456」と打ち込むと、xという変数に値を代入できるようだなと…。「:=」が代入の記号らしい。

自分の環境では Ctrl + SHift + C でモードの切り替えができるのだけど、これはデフォルトのキー割り当てなのかどうか…。記憶が怪しい…。

膨大な数の関数をサポートしているっぽいなと…。度からラジアンに変換する DegToRad() や、三角関数の sin(), cos() もあった。

余談。普段使ってる電卓アプリについて :

普段は Windows10 に標準で入ってる電卓(calc.exe) を使っているけれど、たまに SpeedCrunch 0.12 Portable を使ったりもしている。とメモ。

_SpeedCrunch

「a=123+456」といった感じで打ち込めば計算結果が変数に入って、次回の計算から「789+a」といった感じで利用できるので少し便利。

でも、考えてみたら、Ruby の irb や、Python の IDLE でも SpeedCrunch と似たようなことができそう…。

2022/06/24(金) [n年前の日記]

#1 [anime] 「トイ・ストーリー4」を視聴

TV放送されてたので視聴。初見。

フツーに面白かった。なんでも、1-3とはテーマが違っているとのことで一部で大不評だったらしいのだけど、自分はそのあたり特に気にならなかった。というかそういう面倒臭い話は日本の深夜アニメあたりでやってくれませんか、何もディズニーやPIXARアニメでやらんでも。

とりあえず、これでメインキャラの『呪縛』が解けて続編を作りやすくなったかなあ、めでたしめでたし。てな印象を受けた。基本的に子供部屋を舞台にして話を進めるという制約はキツかったはずで。実際、既存作でも、玩具達をどうにか子供部屋の外に出すべく四苦八苦してたわけで。たしか3の時点でも、スタッフさんが「この基本設定ではコレ以上話を作れない…どうしよう…」と悩んでた、てな話をどこかで見た記憶もあるし。その制約が今作を通じて消滅した ―― ようやく鎖から解き放たれたのだから、今後はもうちょっと『自由』に話を作れるはず。…作れるといいな。

それにしても、相変わらずCG技術がスゴイ…。いや、作業量もとんでもない…。画面に登場するものは、基本的には全て作ってるのだろうし…。3DCGだから今まで作ってきたものはライブラリ化できるメリットはあるだろうけど、それにしたって物量が…。

それはさておき。子供さん達の評価が気になるところ。子供さんが喜んで見ていたら、それはそれでひとまず良い出来のアニメと判断していいと思うのだよな…。そして、子供さんが喜んで見てるのに、おじさんおばさん達が眉をしかめて、やれテーマが云々と言い出して作品を叩いてるとしたら、それって結構大人げない光景だろうなと…。いやまあ、ディズニーやPIXARのアニメは大人も楽しめるからリターンが期待できるし、リターンが期待できるからこそリソースも際限なく投入できるわけで、故に大人達がブーブー言わない内容も常に求められてしまうのだろうけど。でも、まずは子供さんが楽しんでくれるかどうかが大事だろうと…。大人達は「ついでに」楽しめたらラッキーですね、ぐらいなもんで…。大人を楽しませることを優先しちゃったら、それはおかしいよな…。大人向けのアニメなんて山ほどあるんだからそっちを見ろよ、ただでさえ子供向けのアニメが少なくなってるのにコレ以上大人が子供からアニメを取り上げるんじゃねえよ、自分達が子供の頃はたくさんアニメを見せてもらってきたのだから今度は自分達が子供にアニメを見せてやる番だろう。てな感じのもやもやした気持ちもあったりするわけでして。

まあ、子供さんにとってもおそらく面白いアニメだったのではあるまいか。アクションシーンも多かったし。何より、自分が今遊んでる玩具だってひょっとすると今後世界に旅立って冒険するのかも、てな妄想は子供さんにとってかなり楽しいはず。子供さんの妄想が広がるのであれば、それはそれでおそらく良いアニメ、だったのではないかなあ…。まあ、自分は子供が居ないので実際のところは分からんですけど。とにかく子供さんが楽しんでくれてたらいいな、と…。

2021/06/24(木) [n年前の日記]

#1 [nitijyou] 自宅サーバ止めてました

雷が鳴ったので、14:30-19:40の間、自宅サーバ止めてました。申し訳ないです。

近くに落ちてはいないようだけど、ずっと鳴りっぱなしで、なんというか…。

#2 [love2d] love2dでマンホールっぽいADVの雛形を書いてみた

love2dを使って、 _マンホール だか _MYST だかっぽい感じのADVの雛形になりそうなものを書いてみた。環境は Windows10 x64 20H2 + love2d 11.3。

以下のような感じ。8bit時代からパソコンを触ってる人なら「ああ、ハイハイ。あのタイプね。懐かしいわ」と思うソレ。




ソースや画像一式は以下。

_advtest_20210624.zip

尚、JSONの解析処理に、以下のライブラリを利用させてもらいました。ありがたや。

_rxi/json.lua: A lightweight JSON library for Lua

一応、ソーススクリプトも別途置いておきます。

_main.lua
_conf.lua

基本的には、JSONデータファイルを読み込んで、そこに記述された画像ファイルを表示して、指定領域がマウスクリックされたら次のシーンに移行するだけのプログラムというか…。

JSONデータファイルは以下。

_data.json.txt

JSONデータは、以下のような内容になっていて…。
{
    "Title": {
        "path": "imgs/img01.png",
        "start": 1,
        "area": [{
                "link": "Hall",
                "type": "rect",
                "pos": [561, 399, 718, 582]
            }
        ]
    },
    "Hall": {
        "path": "imgs/img02.png",
        "area": [{
                "link": "RoomYellow",
                "type": "poly",
                "pos": [80, 201, 310, 355, 308, 594, 84, 706]
            }, {
                "link": "RoomGreen",
                "type": "rect",
                "pos": [471, 378, 673, 564]
            }, {
                "link": "RoomBrown",
                "type": "poly",
                "pos": [1059, 337, 1231, 194, 1225, 706, 1059, 587]
            }
        ]
    },
    "RoomYellow": {
...(以下略)...

ざっと眺めれば、なんとなく分かるだろうけど。
てなわけで、以前妄想していた通り、「JSONを用意するだけで、そういうタイプのADVを作れますよ」みたいなソレは、その気になれば簡単に実現できそうだなと…。

課題。 :

色々課題も見えてきた。

まず、JSONデータを作るのが面倒臭い。こんなのをエディタで手打ちとか、やってられないよなと…。JSON作成ツールを作るべきだろうけど、どういう仕様なら簡単に作れそうな印象になるのだろうか。再生プログラムに編集・書き出し機能もつけておくのが妥当なのかな…。

もう一つ。こういうタイプのソレでゲームなんか作れるの? という根本的な疑問も。いやまあ、「こんなショボい仕様でゲームなんか作れるわけないだろ」派と、「全然余裕で作れるわ」派が居るとは思うけど…。

妄想。 :

課題と言うか、妄想だけど。マウスクリック領域にSE(効果音)の種類を指定出来たら雰囲気が出るかもなあ、とも。ドアをクリックしたら「ギイィ…」。階段をクリックしたら「タッタッタッタッ」。そういう音が鳴るだけでも印象は違ってくる予感。

シーンによってはループ動画を流してしまうのもアリかも。love2d の機能を調べたら、Ogg Theora 形式の動画ファイルなら再生できるらしいので、そういう仕様追加も不可能ではないのかもしれない。

_love.graphics.newVideo (日本語) - LOVE

動画再生ができれば、「夢見館の物語」っぽいのも作れるんじゃないかなあ、と…。

まあ、ゲームと言えば3DCGをリアルタイム描画するのが当たり前の昨今、今更こんなの作ってどうするのショボ過ぎるだろと言われそうだけど。ショボいが故に誰でも簡単に作れそう、という面には、また違った需要があったりしないか、と。

絵を描くのは大変だけど、写真を撮るのは誰でもできると思うので、スマホであちこちの写真を撮って適当に繋げたらゲームっぽいのができますよ、てな感じならイケたりしないかねえ、みたいな。分からんけど。

そういうソフトがあった記憶も。 :

昔、写真をクリックすると別の写真にズームで移行する感じで、バーチャルツアーっぽいWebコンテンツを作れるソフトがあった気がするのだけど。ググっても出てこないんだよな…。そういうコンテンツを目にして感心した記憶があるので、ソフト自体は存在してたはずなんだけど…。

もっとも、当時のことだから、Javaアプレットか Flash で再生してそうだし、仮に当時のコンテンツが残っていても、今のWebブラウザ上では表示すらできない可能性が高そう。

2020/06/24(水) [n年前の日記]

#1 [python] pythonを勉強中

先日書いた、CSVファイルを読み込んでhtmlを生成するPythonスクリプトを改良中。既存のhtmlも一緒に読み込んで、特定部分を書き換えて上書きするスクリプトにしたいなと。そこまで処理できれば、もうちょっと作業が楽になるはず。

SJISで書かれたhtmlを読み込んで、またSJISで上書きするあたりでハマるかなと思ってたけど、今のところ問題無く処理できているようで。昔は結構苦労したような気がするけど…。Pythonも改良されている、ということなのかな…。

2019/06/24(月) [n年前の日記]

#1 [anime] ビデオデッキのノイズ表現

ふと思い出したのでメモ。

先日、「MIX」というアニメを見ていたら、回想シーンで、4:3の映像、かつ、画面の下のほうに、チラチラと横線っぽいノイズが入っていて。

あっ、そうか、と。ビデオテープとビデオデッキの同期が取れてないときのノイズを再現していることに気づいて、感心してしまったり。たしかにそういうノイズもあった…。スタッフさんはよくまあ気づいたなあ、と。しかもそこまで再現して「昔の風景ですよ」と思わせるあたり、やることが細かいなあ、と。

映像ノイズと言うと、デジタル映像の場合はブロックノイズ、アナログ映像の場合は砂嵐、フィルムの場合はゴミだのなんだの、ぐらいしか思いつかなかったけど。ビデオ映像らしさを示すノイズもあったんだなと。まあ、その手のアレコレを意識できてる人はすぐに思い出せるのだろうけど、自分はすっかり忘れてたわけで。

そういうのを載せると、映像から受ける印象が違ってくるので、活用すべきですわな…。とにかく感心しました。演出さんの指示なのか、撮影さんの工夫なのかわからんけど、やりますなあ。

#2 [anime] ミノフスキー粒子の有無が気になる

NHKで放送されてる「機動戦士ガンダム THE ORIGIN」を一応視聴しているのだけれど。ちょっと引っ掛かったシーンがあって。

月の周辺で、シャアのザクが連邦の宇宙戦艦を次々に落としているシーンで、シャアとララァがTV電話で会話をしていたのだけど。

変だなと。ミノフスキー粒子の散布で通信障害が発生するという設定はどこに行ったのだろうと…。ガンダム世界なら、戦闘前に撒くもんだよなと…。

ミノフスキー粒子というのは、初期のガンダムシリーズにおいて、巨大人型ロボットも兵器として有効なんですよ、と理由付けするための設定で。ググった感じでは、以下の解説が分かり易いかなと…。

_岡田斗司夫の毎日ブロマガ「【ガンダム講座 第 10 回】ミノフスキー粒子とリアルな戦争との関係」:岡田斗司夫ゼミからのお知らせ:岡田斗司夫ゼミ(岡田斗司夫) - ニコニコチャンネル:社会・言論

ミノフスキー粒子無くして、兵器として活用できるMS(モビルスーツ)という概念は成立しないし、MSが成立しないなら当然ガンダムも出てこない。そのくらい大事な設定というか、作品世界の根底を支える設定なのだけど。

この有名な設定を、安彦良和総監督も、周囲のスタッフも、知らないわけがない。しかも、スタッフロールには安彦良和コンテと出ていたし。であるから、あのシーンは何か明確な意図を持って入れたシーンなのだろうなと。ボケたお爺ちゃんがうっかり入れちゃったシーンではないはずだ、と。

さてはアレかな。穏やかな見た目とは裏腹に、心中では常に全てに対して反発反抗反対しまくってきた安彦氏のことだから…。「あのミノフスキー粒子ってやつ、俺は大嫌いだったんだよ」「俺が元々考えてた設定では、モビルワーカーからモビルスーツに順当に進化して兵器としての有効性は実証された歴史になってるんだ。あんなインチキ物理学は要らねえ」てなノリなのだろうかと。だからフツーに戦闘中でもTV電話も使えると。この作品はそういう世界なんだ、富野ガンダムとは違うのだ、と主張をしているシーン、なのだろうか。

でも…。「THE ORIGIN」でも、以前の回で、「ミノフスキー濃度が高くて通信できません」みたいな台詞があったし。そもそも、ミノフスキー博士が堂々と出てきたりもしているし。1stよりも、よほど「ミノフスキー」に焦点を当てている、とすら言えるわけで。

たまたま濃度が薄かったからTV電話も使えた、という状況なのだろうか。しかし、あれだけ大規模な戦闘を行う場面で、濃度が薄かったらマズいよな。レーダーで位置を把握してミサイル打てばMSなんてたちまち…。

そういや連邦の戦闘機っぽいのがミサイルをバンバン撃ってたな…。それを華麗に避けたり、撃ち落としたりしつつ、戦績を挙げるシャアの図、だったような。もしかすると、ミノフスキー濃度が薄くてもシャアはとにかく強いんですよー、と伝えようとしたシーンなのだろうか。

それともアレかな。戦闘前に可愛い女の子とちょこっと会話するのってええやん、と。設定よりある種の浪漫を優先しました、みたいなソレかな。…浪漫なら仕方ないな! そういうことなら、そういうシーンを入れるべき。浪漫のほうが大事だし。

てな感じで、なんだかちょっとそのシーンが引っ掛かったりしました。とメモ。

2019/07/07追記。 :

考えてみたら、ミノフスキー粒子の散布如きでは通信障害なんて発生しない、という設定だったのかもしれない。1stでも、戦闘中に、戦艦側とMS側の間で、フツーに通信してたよな…。セイラさんやフラウ・ボウが、ホワイトベースの艦橋内で、ヘッドセットつけてアムロにあーだこーだ言ってたし。

しかしそうなると、「THE ORIGIN」内の、「ミノフスキー濃度が高くて通信できない」という台詞は何だったのか…。

でもまあ、濃度によってはそうなる時もあるのだと思いねえ、ぐらいの感じで眺めておけばいいのだろうか。

2018/06/24() [n年前の日記]

#1 [love2d] love2dのdrawについてのサンプル

love2d 11.1 + Windows10 x64 で、love.graphics.draw() について動作確認。

_love.graphics.draw - LOVE




基準点を指定すれば、指定座標を左上以外にできるし、回転や拡大縮小の基準点も任意の位置にすることができると分かった。

ソースと画像。 :

ソースは以下。

_main.lua
-- Draw Origin test 01

function love.load()
  img = love.graphics.newImage("box01_64x64.png")
  bgimg = love.graphics.newImage("gridbg.png")
  rotation = 0
  scale = 1.0
  scale_rot = 0
end

function love.update(dt)
  rotation = (rotation + 180 * dt) % 360
  scale_rot = (scale_rot + 180 * dt) % 360
  scale = 1.0 + 0.5 * math.cos(math.rad(scale_rot))
end

function love.draw()
  love.graphics.clear(0, 0, 0, 1.0)
  love.graphics.setColor(1.0, 1.0, 1.0, 1.0)
  love.graphics.draw(bgimg, 0, 0)

  local x = 64
  local y = 64 * 2
  local rot = math.rad(rotation)
  love.graphics.draw(img, x, y)

  x = x + 64 * 3
  love.graphics.draw(img, x, y, rot)

  x = x + 64 * 3
  local rot = math.rad(rotation)
  love.graphics.draw(img, x, y, 0, scale, scale)

  x = 64
  y = y + 64 * 3
  local ox, oy = img:getWidth() / 2, img:getHeight() / 2
  love.graphics.draw(img, x, y, 0, 1, 1, ox, oy)

  x = x + 64 * 3
  love.graphics.draw(img, x, y, rot, 1, 1, ox, oy)

  x = x + 64 * 3
  love.graphics.draw(img, x, y, 0, scale, scale, ox, oy)

  love.graphics.print(tostring(love.timer.getFPS()).." FPS", 10, 10)
end

function love.keypressed(key, isrepeat)
  if key == "escape" then
    -- ESC to exit
    love.event.quit()
  end
end

_conf.lua
function love.conf(t)
  t.window.width = 640
  t.window.height = 480
  t.window.title = "Draw Origin 01"
  t.window.vsync = 1

  -- t.window.fullscreen = false
  -- t.window.fullscreen = true
  -- t.window.fullscreentype = "exclusive"
end

使用画像は以下。

_box01_64x64.png
_gridbg.png

ソースと画像を同じフォルダに入れて、
love フォルダ名
で実行。

#2 [anime] 「ヒナまつり」最終回を視聴

ギャグマンガを原作としたアニメ「ヒナまつり」の最終回を視聴。

面白かった…。このアニメ、とにかく間の取り方が絶妙で、結果、笑える作品になってたなと。ボケに対して間髪入れずにツッコんだり、わざと妙な間を入れたり等、かなり気を配っている印象で。深夜アニメ群を眺めてると、せっかく脚本上ではボケとツッコミが用意されてるのに、どのシーンも同じ間・ベタッとしたテンポで会話させてしまうものが多かったりしてもったいないなと思ったりするのだけど、そういった雑な作品群とは一線を画す作り込みだったように感じたり。

視聴後、監督さんのインタビュー記事を目にして読んでみたら、やはり間やタイミングについてはかなりこだわっていたらしい。苦労した甲斐は十分にあったのでは、と思ったりもして。

2017/06/24() [n年前の日記]

#1 [windows] メールチェッカ NEMCHI がWindows10上で動作しない

Windows 10 Creators Update 適用後、メールチェッカ NEMCHI が正常動作しなくなって困っていたり。

謎のエラーダイアログが表示されるようになったので、一旦アンインストール → 設定ファイル(C:\Users\アカウント名\AppData\Roaming\A-tak)を削除 → 再インストールをしたのだけど。各アカウントの設定はできるし、メールチェックもできてるように見えつつも、そこからフィルタ設定をしようとすると何も言わずに落ちてしまったり、あるいは「resource fileがねえよ。セットアップが失敗してんじゃねえの」的エラーダイアログが表示されてしまう。

イベントビューアーで確認すると、mscrowks.dll で障害が発生してる、と表示されてる。

色々ググってみたけど…。そもそも、この NEMCHI というメールチェッカは、.NET Framework 1.1 を使用しているアプリ。そのあたりに問題がありそうな予感。
_Windows 10/8.1 で古い .NET Framework ツールを作動させるTips - ぼくんちのTV 別館

ということで、今まで動いてたことのほうが逆に不思議、てな気分になってきた。

代替アプリが見つからない。 :

しかし、代替アプリが見つからない…。何故か昨今、メールチェッカというジャンル自体が消滅寸前とでも言うか…。Web上で入手できるメールチェッカはえてして10年ぐらい前に作られたモノが多いけど、当然 Windows10が無かった時期に作られたバイナリなので、Windows10には非対応だったり、対応していても機能面がアレだったりで。

  • デスクトップ上で邪魔にならず。(タスクトレイに入ってくれるとありがたい)
  • メールが届いてるか否かを教えてくれるだけでいい。(件名の一覧表示等はしなくてもいい)
  • 件名に特定文字列が含まれてるモノはスルーする機能があれば…。
このあたりを満たしていてくれれば十分なんだけど…。

一部をWindows10のメールで置き換えた。 :

Windows10にはメールアプリが同梱されているけれど、ググってみた感じでは、ここ最近はそのメールアプリを使ってどうこうしている事例が多いように思えてきた。

せっかくだから、利用頻度が低い一部のアカウントについては、件のアプリを設定・利用して代替できないか試してみることに。いくつかのアカウントは、これでどうにかなりそうな気配。

しかし、件名でフィルタリングする機能はさすがについてないようで。

#2 [linux] Arch Linuxを試用してみたり

Arch Linux なるディストリを使うと自分が必要なパッケージだけインストールできるという話を見かけたので、VMware上でインストールして少し触ってみたり。

CUI で fdisk を使ってパーティションを切るところからやらないといかんのか…。2000年頃に戻った気分。もっとも、ネット経由でパッケージをガンガン入れていけるあたりはイイ感じ。

Debian や Ubuntu は apt-get を使ってパッケージをインストールしていくけど、Arch Linux の場合は pacman なるツールを使ってインストールしていく模様。

とりあえず、LXDE や Cinnamon を入れてデスクトップ環境が表示されるところまで設定したけど、HDDイメージは 6GB近くになって、結局フツー(?)に使おうとしたら、Ubuntu や Linux Mint を入れるのと変わらない状態になりそうだなと…。雰囲気は分かったので、HDDイメージごと削除。

2016/06/24(金) [n年前の日記]

#1 [pc] コマンドラインで使えるマジックパケット送信ツール

メインPC(Windows10 x64)から、コマンドラインで、WOL(Wake On Lan)のためのマジックパケット送信ができてないことに気がついたり。

一応、常用させてもらっているGUIツール、 _Wake on LAN for Windows からマジックパケットを送信すると、相手先のPCを起こすことができているのだけど。

しかし、コマンドラインツール相当で使える _MagicSend (MagicSend.exe)を使うと、何故か相手先が起こせない。ちなみに記述は以下の通り。
MagicSend.exe 00-1f-d0-cf-6c-96
MagicSend.exe 00-1F-D0-CF-6C-96

Windows7を使ってた頃は動作していた記憶があるのだけど…。Windows10にアップグレードしたから動かなくなったのだろうか。しかし、GUIツールから送ると起こせているのだから、NICのドライバが不具合を起こしてるとか、ドライバの設定がおかしいというわけではなさそう。

これがまたよく分からないことに、親父さんPC(Windows10 x64)上では MagicSend がフツーに使えている・相手先のPCを起こせているという…。どうやら自分のPC上でのみ不具合が起きてるらしい。何故。

とりあえず、他のコマンドラインツールもいくつか試してみることにした。

ちなみに、実験に使った相手先のPCは、先日 Lubuntu Linux 14.04 LTS をインストールしたPC。

_ WWOL(Windows WOL) :

wol.exe 192.168.1.255 00-1F-D0-CF-6C-96
これはOK。相手先が起きた。

ちなみに、例えば相手先のPCが 192.168.1.x のIPアドレスになるはずなら、wol 192.168.1.255 MACアドレス、と記述するらしい。

_MagicPacket.zip (MagicPacket.exe) :

MagicPacket.exe 00-1F-D0-CF-6C-96 192.168.1.255
これもOK。

_wol (RubyGems) :

_Wake On Lan についてのまとめ (リモートのマシンを起動) | TipsZone
wol -i 192.168.1.255 00:1F:D0:CF:6C:96
これもOK。

_WOL Util :

MagicPacket.exe 001FD0CF6C96
MagicPacket.exe 00-1F-D0-CF-6C-96
MagicPacket.exe 00:1F:D0:CF:6C:96
MagicPacket.exe 001fd0cf6c96
MagicPacket.exe 00-1f-d0-cf-6c-96
MagicPacket.exe 00:1f:d0:cf:6c:96
これはNG。相手先は起きてくれない。

もしかすると指定の仕方が間違ってるだけかもしれないけれど、readme.txt に記述例が載ってない上に、/? をつけて実行しても今一つよく分からないヘルプ表示だったので少し困った。ただ、MagicSend と同じ状態になって動作していない可能性も否定できないなと。

そんなわけで原因は分からないけど。 :

とりあえず、wwol.exe を使わせてもらって凌ぐことにした。

一応、手元で使ってる vbs (tvtest_exec.vbs) も貼っておくです。
' PT1機にMagic Packetを送信してからTVTestを起動する

Option Explicit

' Const wol_exec = "MagicSend\MagicSend.exe 00-25-22-18-9E-51"
Const wol_exec = "wwol\wol.exe 192.168.1.255 00-25-22-18-9E-51"

Const hostip = "192.168.1.28"
Const tvtest = "TVTest.exe"

Dim wsh
Set wsh = WScript.CreateObject("WScript.Shell")

Dim res
If fncPing(hostip) = False Then
    if MsgBox("チューナー機は起動していません。" & vbCr & "起動しますか?", _
              vbYesNo + vbQuestion) = vbYes then
        wsh.Run wol_exec, 2, True
        res = wsh.Popup("チューナー機を起動しました。" _
                        & vbCr & "5秒ほどお待ちください。", 4)
        If res = vbOK Then
            WScript.Sleep(5000)
        End If
    end If
Else
    res = wsh.Popup("チューナー機は既に起動しています。", 2)
End If

If fncPing(hostip) = False Then
    res = wsh.Popup("チューナー機が起動できませんでした。" _
                    & vbCr & "スクリプトを終了します。", 3)
    Set wsh = Nothing
    WScript.quit
End If

If MsgBox("TVTest を起動しますか?", vbYesNo + vbQuestion) = vbYes Then
    wsh.Run tvtest, , False
End If

Set wsh = Nothing
WScript.quit

' ping送信をする関数。
' 以下のページ内容をそのまま使わせてもらいました。
' Systemメモメモ: VBScriptでPing
' http://happy44s.blogspot.jp/2012/03/vbscriptping.html
Function fncPing(host)
Dim objWMI
Dim colItems
Dim objItem
Set objWMI = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMI.ExecQuery("select * from Win32_PingStatus where address ='" _
                                & host & "'")
For Each objItem In colItems
    If objItem.StatusCode = 0 Then
        fncPing = True
    Else
        fncPing = False
    End If
Next
Set objItem = Nothing
Set colItems = Nothing
Set objWMI = Nothing
End Function

#2 [pc] 200円PCケースにM/Bを入れ直してみた

CPU AMD Sempron 3100+ と M/B MSI K8MM-V を箱の中に入れっぱなし状態なのだけど。なんだかもったいないので、昔、100円ショップで買ったトレイ x 2 で作った、200円PCケースの中に入れ直してみたり。

とりあえず memtest86+ を実行してるけど、メモリのエラーは出てないっぽい。

メモリは1.5GB積んでた模様。2枚差してあるけど、おそらく、1GB + 512MB、ではないかと。最初に購入した際に 512MB 積んでいて、その後1GBを増設した、と日記に書いてあったから、そのまま両方載せたんじゃないかしらん。

全体の消費電力をワットチェッカーで測ってみたら、memtest86+ を実行してる状態で60W前後だった。消費電力が多いのか少ないのかはよく分からない。

いやまあ、今時のハードウェアと比べたら電気食ってるほうだよな…。例えば、 _第385回 Celeron N3150で省エネPC生活:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社 という記事によると、Intel N3150 なら高負荷時でも15W前後らしい。Sempron 3100+ は TDP 62W だから高負荷時になったらもっと食うはずで、処理能力は仮にトントンでも消費電力の点で、あえて今からコレを使う意味はどこにも無いよなと。

K8MM-Vについて調べ直し。 :

_MSI K8MM-V のカタログページを見る限り、メモリは最大で2GBまでしか積めないらしい。

また、デュアルチャネルの記述は無いので対応してない感じ。しかし、使用してる VIA K8M800 は、 _VIA、Athlon 64用統合チップセット「K8M800」 の記事内で「デュアルチャネルDDRメモリに対応」と書いてある。どういうことだろう。

_価格.com - 『メモリについて』 MSI K8MM-V のクチコミ掲示板_短命に終わった754・・・ - MSI MSI-K8MM-Vのレビュー | ジグソー を眺めて、なんとなく分かってきた。Socket754の頃はまだデュアルチャネル非対応、その後出てきたSocket939なら対応してる、ということなのか。

#3 [nitijyou] 自転車で買い物に

午後から雨が降るかもしれぬ、との天気予報だったので降らないうちにと。ダイソーでキャスターつきの台っぽい何かやブックスタンドや煙管を置けそうなプラケースを購入。ザ・ビッグで夜食その他を購入。

2015/06/24(水) [n年前の日記]

#1 [python] wxPython勉強中

とりあえず、画像をウインドウにドラッグアンドドロップするとダブルバッファで描画するスクリプトを書いてみたり。

実行するとこんな感じに。
sshot_wxpython01.png

# -*- mode: python; Encoding: utf-8; coding: utf-8 -*-

"""
画像ファイルをドラッグアンドドロップしてダブルバッファで表示してみるテスト

Windows7 x64 + Python 2.7.10 + wxPython 3.0.2.0 で確認。
"""

import wx

USE_BUFFERED_DC = True


class MyFileDropTarget(wx.FileDropTarget):

    """ドラッグアンドドロップ担当クラス"""

    def __init__(self, obj):
        """コンストラクタ"""
        wx.FileDropTarget.__init__(self)
        self.obj = obj  # ファイルのドロップ対象を覚えておく

    def OnDropFiles(self, x, y, filenames):
        """ファイルをドロップした時の処理"""
        self.obj.LoadImage(filenames)  # 親?の画像読み込みメソッドを呼ぶ


class MyFrame(wx.Frame):

    """ダブルバッファで表示するFrame"""

    def __init__(self, parent=None, title=""):
        """コンストラクタ"""

        wx.Frame.__init__(self, parent=parent, title=title, size=(800, 600))

        # PAINTイベント、SIZEイベントで呼ばれるメソッドを割り当てる
        self.Bind(wx.EVT_PAINT, self.OnPaint)
        self.Bind(wx.EVT_SIZE, self.OnSize)

        # 画像格納用リストを初期化
        self.imgs = []

        # 描画用バッファ初期化のために一度 OnSize() を呼ぶ
        self.OnSize()

        # ファイルドロップの対象をフレーム全体に
        self.droptarget = MyFileDropTarget(self)

        # ファイルドロップ受け入れを設定
        self.SetDropTarget(self.droptarget)

    def LoadImage(self, files):
        """D&Dされた画像をロードして描画"""
        for filepath in files:
            b = wx.Bitmap(filepath)
            self.imgs.append(b)

        self.UpdateDrawing()  # 描画更新

    def OnSize(self, event=None):
        """ウインドウサイズが変更された時に呼ばれる処理"""
        size = self.ClientSize  # クライアントのウインドウサイズを取得

        # ウインドウサイズで、空の描画用バッファ(bitmap)を作成
        self._buffer = wx.EmptyBitmap(*size)

        self.UpdateDrawing()  # 描画更新

    def UpdateDrawing(self):
        """描画更新"""
        dc = wx.MemoryDC()
        dc.SelectObject(self._buffer)

        self.Draw(dc)  # 描画

        del dc  # Update()が呼ばれる前に MemoryDC を削除しておく必要がある
        self.Refresh()
        self.Update()

    def OnPaint(self, event=None):
        """画面書き換え要求があった時に呼ばれる処理"""
        if USE_BUFFERED_DC:
            # ダブルバッファを使う場合
            dc = wx.BufferedPaintDC(self, self._buffer)
        else:
            # ダブルバッファを使わない場合
            dc = wx.PaintDC(self)
            dc.DrawBitmap(self._buffer, 0, 0, True)

    def Draw(self, dc):
        """描画処理。デバイスコンテキストを貰ってソレを使って処理"""
        dc.Clear()  # デバイスコンテキストでクリア

        # 画像を描画
        x, y = 0, 0
        for img in self.imgs:
            dc.SetPen(wx.Pen(wx.BLACK, 4))  # ペンを設定しないと描画できない
            dc.DrawBitmap(img, x, y, True) # 画像描画

            # 画像枠を描画
            dc.SetBrush(wx.TRANSPARENT_BRUSH) # 透明塗り潰し
            dc.SetPen(wx.Pen(wx.RED, 2)) # 赤い線を指定
            dc.DrawRectangle(x, y, img.Width, img.Height)
            x += 32
            y += 32

if __name__ == '__main__':
    # メイン処理
    app = wx.App(False)
    frame = MyFrame(None, "DnD Image display use Double Buffer")
    frame.Show()
    app.MainLoop()

後は、マウスカーソルの位置取得、マウスボタンを押した時の状態取得・イベント指定ができれば、画像のドラッグ移動もできるかなと。

#2 [anime] 「響け! ユーフォニアム」再オーディション回を視聴

「ユーフォニアム」は、吹奏楽をテーマにしたアニメ作品。どうしてもソロを吹きたいと思ってる、実力はそこそこある三年生と、抜群に上手いと設定されてる一年生が、吹奏楽部全員の前で演奏して、どちらがソロを吹くにふさわしいか全員で決める、というシチュエーション。

見ていて感心。実際に、それぞれの演奏をまるまる流して、視聴者にも判断してもらう作りになってて。そこそこ上手い演奏と、抜群に上手い(…けど学生だからプロ並みに聞こえたらそれもそれでおそらく困る)演奏、この2つを実際に流すわけだから…。これは難しいことをやってるなと。

例えばこれが小説や漫画の場合、実際に音を聞かせるわけにはいかないので…。それぞれがどんな演奏なのか、聴いてる人物達の反応をひたすら示していくことでシーンを成立させたりするわけで。

しかしアニメの場合、実際に音を聞かせることが可能なので、そういったシーンをどう見せるのか、方針を選択しなきゃいけない。小説や漫画と同じように、聴いたキャラの反応をひたすら見せて逃げてしまってもいいのだけど…。まあ、大抵のアニメはそうやって逃げるわけだけど…。 *1

例えば、「坂道のアポロン」では、漫画原作にあったらしい、聴いてる人達の反応・モノローグを一切排除する作りを選んでいて。「坂道のアポロン」の渡辺信一郎監督は、「アニメは音楽を扱えるのだから、そこで流れてるはずの音楽を実際に視聴者に聴かせて、視聴者も登場人物達と同じ気持ちにすることができるはずだ」と考え、あえてそういう作りにしたらしいのだけど。 *2

「ユーフォニアム」も、おそらく同じ方向を目指したのだろうと。小説や漫画に比べた時のアニメの強みは、音を扱えること。総合芸術が持つ、せっかくの強みを活かさない手は無いだろと。聴いた瞬間、視聴者も一瞬で理解するのがベストだと。音楽には、ソレができるだけの力があると。

でも、そのためには、「そこそこ上手い演奏」と「抜群に上手い演奏」を本当に用意しないといけない。視聴者が聴いて、「おお…上手いな」と思った直後、「あっ…これは格が違うかも…」と思えてくる二つの演奏。それを用意するのが結構難しいんじゃないかと思えたわけで。

これは音楽を担当する方々と、しっかり打ち合わせをしないと…。それぞれを誰に演奏してもらうか、あるいはどんな演奏をしてもらうのか、そのあたり結構悩みそうな気が。担当者にとっては腕の見せ所だけど、怖い仕事でもあるよなと。「さすが!」と言ってもらえるのか、「こんなもん…?」と言われてしまうのか…。

ということで、恐ろしいことしてるなあ、こういう取り組み方をしてる時点で、このスタッフは偉いなあ、と感心したのでした。「アポロン」を見た時も凄いと思ったけど、「ユーフォニアム」も負けず劣らず、「音楽」「演奏」とがっぷり組み合ってる。ような気がします。「総合芸術」を立派に作ってるなあ、と感じました。

最初の頃の、「これはひょっとして下手なのでは」という演奏。練習をしてきて「お。結構上手いんじゃね?」と思えてくる演奏。「どちらも上手いけど…強いて言えば…」な演奏。しかし、あくまで学生の演奏だし、ガンガン成長中の演奏なので、めちゃくちゃ上手かったら、それもそれでおかしい。それぞれを用意してバランスを取るのが大変そうだなと。
*1: 「逃げる」と書いてしまったけど、これはちょっと語弊があって。実際はそういう見せ方しか選べない場合がほとんどで…。例えば、アイドルアニメなら、そういう見せ方しかできないだろうと想像するわけで。聴いた瞬間に「あ、これはレベルが違う」と感じてしまったら、それはもうアイドル曲の範疇を超えた別ジャンルの曲になってしまう。しかし、ストーリーの関係で主人公達には「凄い」「これは敵わない」と思わせないといけないわけで。そんな時は登場人物の反応をひたすら見せて説明していく手しか使えないよなと。
*2: たしか、アニメスタイルのインタビュー記事でそういう感じの内容を語ってた記憶が…。「音楽と、聴いたキャラの表情を見せるだけで伝わるはず」とかそんな感じの…。

2014/06/24(火) [n年前の日記]

#1 [dxruby] DXRubyで円柱っぽいBG描画をしてみたり

円柱と言うか、パイプと言うか、スペースコロニー内部と言うか、そういう感じのBG描画を DXRuby の Shader を使って試してみたり。

こんな感じになりました。
pipe_bg_ss.gif

ソースは以下。

_pipebg.rb
require 'dxruby'

#
# パイプ内のような背景描画を行う
#
class PipeBg
  @@hlsl = <<EOS
  float sz;
  float r;
  float angle_max;
  float start_x;
  float start_y;
  texture tex0;

  sampler Samp = sampler_state {
    Texture =<tex0>;
    MinFilter = LINEAR;
    MagFilter = LINEAR;
    MipFilter = LINEAR;
    // MinFilter = POINT;
    // MagFilter = POINT;
    // MipFilter = POINT;
    AddressU = BORDER;
    AddressV = WRAP;
  };

  float4 PS(float2 input : TEXCOORD0) : COLOR0
  {
    input.x = (input.x - 0.5) * (r * cos(atan2(input.y - 0.5, sz))) / sz + start_x + 0.5;
    input.y = (atan2(input.y - 0.5, sz) / angle_max) + start_y;
    return tex2D( Samp, input );
  }

  technique {
    pass {
      PixelShader = compile ps_2_0 PS();
    }
  }
EOS

  attr_accessor :sz
  attr_accessor :r
  attr_accessor :angle_max
  attr_accessor :start_x
  attr_accessor :start_y
  attr_accessor :shader

  #
  # コンストラクタ
  #
  # @param [Number] sz スクリーンまでの距離
  # @param [Number] r 壁までの距離
  # @param [Number] start_x 初期位置 x
  # @param [Number] start_y 初期位置 y
  #
  def initialize(sz = 160, r = 280, start_x = 0.0, start_y = 0.0)
    self.sz = sz
    self.r = r
    self.start_x = start_x
    self.start_y = start_y

    core = Shader::Core.new(@@hlsl,{
                              :sz=>:float,
                              :r=>:float,
                              :angle_max=>:float,
                              :start_x=>:float,
                              :start_y=>:float
                            })
    self.shader = Shader.new(core)
    self.shader.sz = self.sz.to_f / (Window.height / 2)
    self.shader.r = self.r.to_f / (Window.width / 2)
    self.shader.start_x = self.start_x
    self.shader.start_y = self.start_y
    self.angle_max = Math.atan2(Window.height / 2, sz)
    # self.angle_max = 90.0 * Math::PI / 180.0
    self.shader.angle_max = self.angle_max
  end

  #
  # 描画開始位置を更新
  #
  # @param [Number] dx テクスチャ取得位置 x 増分(1.0より小さい値が望ましい)
  # @param [Number] dy テクスチャ取得位置 y 増分(1.0より小さい値が望ましい)
  #
  def update(dx, dy)
    self.start_x += dx
    self.start_y += dy
    self.shader.start_x = self.start_x
    self.shader.start_y = self.start_y
  end

  #
  # 描画
  #
  # @param [Number] x 描画位置 x
  # @param [Number] y 描画位置 y
  #
  def draw(x, y, img)
    Window.drawEx(x, y, img, :shader => self.shader)
  end
end


if $0 == __FILE__
  # ----------------------------------------
  # 使用例

  font = Font.new(14)

  img = Image.load("bg_960x480.png")
  bg = PipeBg.new(200, 360, 0.0, 0.0)

  Window.loop do
    break if Input.keyPush?(K_ESCAPE)
    bg.update(0.0, -0.005)
    bg.draw(-Window.width / 4, 0, img)

    s = "#{Window.real_fps.to_i} FPS CPU: #{Window.getLoad.to_i} % x = #{bg.start_x.to_i}"
    Window.drawFont(4, 4, s, font)
  end
end

使用画像も置いときます。画像サイズは 960x480ドット。

_bg_960x480.png

他のスクリプトからも呼び出せるようにしておきました。以下は使用例。

_pipebg_test_main.rb
#
# pipebg.rb の呼び出しテスト
#

require 'dxruby'
require_relative 'pipebg'

# 背景マップデータ
mapdata = [
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, nil, nil, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 2, 1, 1, 2, nil, nil, 2, 1, 2, 2, 2, 1, 1, 2, nil, nil, nil, 2, 1, 1, 1, 1, 1, 1, 1, 1, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 1, 2, nil, nil, 2, 1, nil, 2, 1, 2, nil, 1, 2, nil, nil, 2, 1, 2, nil, nil, 2, 1, 2, nil, nil, 2, 1, 2, nil, nil, nil, 2, 1, 3, 3, 3, 3, nil, nil, nil, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 2, nil, nil, 2, 1, nil, nil, 2, nil, nil, 1, 2, nil, nil, 2, 1, 2, nil, nil, 2, 1, 2, nil, 2, 1, 1, 1, 2, nil, 2, 1, 1, 3, 3, 3, 3, 3, nil, nil, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 2, nil, nil, 2, 1, nil, nil, 2, nil, nil, 1, 2, 2, 2, 1, 1, 2, nil, nil, 2, 1, 2, nil, nil, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, nil, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 1, 2, nil, nil, 2, 1, nil, 2, 1, 2, nil, 1, 2, nil, 2, 1, 1, 2, nil, nil, 2, 1, 2, nil, nil, 2, 1, 1, 1, 2, 1, nil, nil, nil, nil, 1, 3, 3, nil, nil, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 2, nil, nil, 2, 1, 1, 2, 2, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 1, nil, nil, nil, 3, 3, 3, nil, nil, nil, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, nil]
]

font = Font.new(14)

bg = PipeBg.new(160, 280)

imgs = Image.loadTiles("bg_chip.png", 4, 1, true)
star_bg = Image.load("bg_star.png")
rt = RenderTarget.new(64 * 15, 64 * 8)

bg_x, bg_y = 0, 0

Window.loop do
  break if Input.keyPush?(K_ESCAPE)

  # 星BG描画
  Window.drawTile(0, 0, [[0, 0]], [star_bg], bg_x / 3, 0, 2, 1)

  # ReanderTargetにタイルBGを描画
  rt.drawTile(0, 0, mapdata, imgs, bg_x, bg_y, 15, 8).update

  # RenderTarget を円柱のように描画
  bg.draw(-Window.width / 4, -32, rt)

  bg_x += 3
  bg_y += 2

  s = "#{Window.real_fps.to_i} FPS CPU: #{Window.getLoad.to_i} %"
  Window.drawFont(4, 4, s, font)
end

使用画像。

_bg_chip.png
_bg_star.png

以下のような感じの画面になります。
pipe_bg_ss_2.gif


ソースや画像のライセンスは、Public Domain / CC0 ってことで。

一応、マップデータ(Tiled形式。.tmx) その他も含めて、一式置いときます。

_pipe_bg_20140624.zip (120KB)

処理内容について。 :

どうやって実現したのか自分自身が忘れそうなので、考え方をメモ。

Shader (HLSL) で、Input.x と Input.y の値を変化させてやれば、こういう円柱っぽい表示ができるわけですが…。

とりあえず、横から見た図で考えてみるとして。
pipe_side_proj2.png
  • 原点 (0,0) が、視点。
  • スクリーンまでの距離が、sz。テキトーに決めておく。
  • 青い線で描かれた円が、壁に相当するところ。半径 r の円。

点B、原点、点A でできる角度 a は、アークタンジェントを使えば求められます。この場合は、atan2(sy, sz) で得られるはず。

この、角度 a を、テクスチャを参照する際のuv値 ―― Input.y を変化させる値としてそのまま利用すれば、y方向に関しては円柱っぽい見た目になりそうだなと。Input.y は、0,0〜1.0 の値を取るので、角度 a も 0,0〜1.0 に収まるように変換してやればいいわけで。

さらに、角度 a が分かれば、点Aを通る直線と円の交点、のz値も、r * cos(a) で求められます。z値が得られたら、各ラスターを横方向にどれだけ拡大縮小すればいいのか計算可能になるわけで。

今度は上から見た図で考えるとして。
pipe_top_proj.png
  • z値は ―― 図で言うところの pz 値は、r * cos(a) で得られた。
  • sz はテキトーに決めてある。
  • sx も HLSL内では Input.x として得られると分かってる。
後は px を求めるだけ。
sx : sz = px : pz
sz * px = sx * pz
px = sx * pz / sz
px が求まったら、それを Input.x に反映してやれば、拡大縮小ができるわけで。

注意点としては…。Input.x も Input.y も、0.0〜1.0 として得られるので、0.5 を引くことで、画面の中心が 0.0 になるようにしてから計算に使ってます。

また、Shader は、与えられた画像 or RenderTarget を円柱っぽく描画する処理しかしていません。スクロール処理は…。
  • テクスチャuv値をちょっと弄る。
  • もしくは、RenderTarget にスクロールした状態の画を描画しておいて、その RenderTarget を Shader に渡す。
という仕組みでやってます。

課題。 :

y値に応じてラスター単位で明るさを変えたら、もうちょっと見た目がリアルっぽくなるのかもしれず。

実装してみたものの。 :

この手の処理はどうやって実現していたのか、個人的に気になっていたので、今回一応試してみたものの。例えば Unityあたりを使うなら、円柱っぽいモデルを配置・回転させて、それで終わりだろうなと予想するわけで。

3D描画が当たり前の現代においては、こういう処理ができたからと言って、何に使えるのか、どこで使えるのかと言う問題があるなと…。

でもまあ、プログラマーにとっての頭の体操、プログラマー向けのパズル、としてならアリかなと…。

#2 [dxruby] マップエディタ Tiled でエクスポートしたjsonに対して処理

マップエディタ _Tiled Map Editor は、json ファイルでエクスポートすることもできるのだけど。その json ファイルを Ruby で読み込んで、DXRuby で使える形に変換して出力できないかなと。

とりあえず、レイヤー情報だけでも取り出せないか、少し実験。

_convtmxjson.rb
# マップエディタ Tiled でエクスポートした json から
# DXRuby用のマップデータを取り出してみるテスト

require 'json'
require 'pp'

if ARGV.size == 0
  puts "usage: ruby #{$0} json_file"
  exit
end

infile = ARGV[0]
unless File.file?(infile)
  puts "#{infile} not found"
  exit 1
end

d = JSON.parse(File.open(infile).read)

# レイヤー枚数分ループ
d["layers"].each do |layer|
  name = layer["name"]
  w = layer["width"].to_i
  h = layer["height"].to_i

  ndt = layer["data"].map {|c| (c == 0 or c== 1)? nil : (c - 1)}
  a = ndt.each_slice(w).to_a

  puts "# name=#{name},w=#{w},h=#{h}"
  puts "mapdata = ["
  a.each { |aa| puts "  #{aa}," }
  puts "]"
end

exit

使い方。
ruby convtmxjson.rb hoge.json
ruby convtmxjson.rb hoge.json > map.txt

例えば、以下のような json ファイルを読みこませると。

_bg.json
{ "height":8,
 "layers":[
        {
         "data":[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 2, 2, 3, 2, 2, 2, 3, 2, 3, 3, 3, 2, 2, 3, 1, 1, 3, 2, 3, 3, 3, 2, 2, 3, 1, 1, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 1, 1, 3, 2, 1, 3, 2, 3, 1, 2, 3, 1, 1, 3, 2, 3, 1, 1, 3, 2, 3, 1, 1, 3, 2, 3, 1, 1, 1, 3, 2, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 3, 2, 1, 1, 3, 1, 1, 2, 3, 1, 1, 3, 2, 3, 1, 1, 3, 2, 3, 1, 3, 2, 2, 2, 3, 1, 3, 2, 2, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 3, 2, 1, 1, 3, 1, 1, 2, 3, 3, 3, 2, 2, 3, 1, 1, 3, 2, 3, 1, 1, 3, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 1, 1, 3, 2, 1, 3, 2, 3, 1, 2, 3, 1, 3, 2, 2, 3, 1, 1, 3, 2, 3, 1, 1, 3, 2, 2, 2, 3, 2, 1, 1, 1, 1, 2, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 2, 2, 3, 2, 2, 2, 3, 2, 3, 1, 1, 3, 2, 2, 3, 3, 2, 2, 3, 3, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1],
         "height":8,
         "name":"layer1",
         "opacity":1,
         "type":"tilelayer",
         "visible":true,
         "width":60,
         "x":0,
         "y":0
        }],
 "orientation":"orthogonal",
 "properties":
    {

    },
 "tileheight":64,
 "tilesets":[
        {
         "firstgid":1,
         "image":"bg_chip.png",
         "imageheight":64,
         "imagewidth":256,
         "margin":0,
         "name":"bg_chip",
         "properties":
            {

            },
         "spacing":0,
         "tileheight":64,
         "tilewidth":64
        }],
 "tilewidth":64,
 "version":1,
 "width":60
}

以下のような出力結果に。
# name=layer1,w=60,h=8
mapdata = [
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, nil, nil, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 2, 1, 1, 2, nil, nil, 2, 1, 2, 2, 2, 1, 1, 2, nil, nil, nil, 2, 1, 1, 1, 1, 1, 1, 1, 1, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 1, 2, nil, nil, 2, 1, nil, 2, 1, 2, nil, 1, 2, nil, nil, 2, 1, 2, nil, nil, 2, 1, 2, nil, nil, 2, 1, 2, nil, nil, nil, 2, 1, 3, 3, 3, 3, nil, nil, nil, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 2, nil, nil, 2, 1, nil, nil, 2, nil, nil, 1, 2, nil, nil, 2, 1, 2, nil, nil, 2, 1, 2, nil, 2, 1, 1, 1, 2, nil, 2, 1, 1, 3, 3, 3, 3, 3, nil, nil, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 2, nil, nil, 2, 1, nil, nil, 2, nil, nil, 1, 2, 2, 2, 1, 1, 2, nil, nil, 2, 1, 2, nil, nil, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, nil, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 1, 2, nil, nil, 2, 1, nil, 2, 1, 2, nil, 1, 2, nil, 2, 1, 1, 2, nil, nil, 2, 1, 2, nil, nil, 2, 1, 1, 1, 2, 1, nil, nil, nil, nil, 1, 3, 3, nil, nil, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 2, nil, nil, 2, 1, 1, 2, 2, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 1, nil, nil, nil, 3, 3, 3, nil, nil, nil, nil, nil],
  [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, nil],
]

コピーして、DXRuby スクリプトに貼り付ければOK。

しかしコレ、jsonファイルをDXRubyスクリプトから直接読み込んで使ったほうがいいのかも…? Ruby 1.9 以降は、jsonを扱うためのライブラリが標準添付されているらしいので、新規にライブラリをインストールする必要もなさそうだし。ただ、Tiled で毎回、json のエクスポート操作をするのが、ちょっと面倒臭い気もする。

#3 [pc][neta] OneDrive(SkyDrive)とGoogleドライブの同期ソフトをアンインストールした

_米Microsoft、無料で使えるOneDrive容量を15GBに -INTERNET Watch という記事を見かけたのだけど。はてブのコメントを眺めてたら、「OneDriveはエロ画像を入れてるとアカウント削除されるから気をつけろ」という話を見かけて、なんだか気になったわけで。

ググってみたら、実際そうらしく。利用規約に違反する画像を入れてるだけで、問答無用で何の連絡も無くアカウント削除されるそうで。

_MicrosoftのOneDrive、検閲されている模様。エロ画像をアップロードすると垢停止
_クラウドにエロ画像を上げると非公開であってもBANされることが判明 不便すぎワロタ
_やはり画像が原因か - Aruyo
_Windows8.1に統合されたSkyDriveに間違ってもエロ絵を入れてはいけない - 仮想と現実
_ITライフハック |突然のアカウントBANを防ぐ その便利さの裏にある危険「Google+」の設定を確認すべし
_え、この写真がポルノ扱い? 非公開なのに? Googleアカウントを停止された とあるユーザーの悲劇 - エキサイトニュース(1/2)
_tappli blog: Googleアカウントを消されてしまった話

非公開フォルダに入れていてもアカウント削除・アカウント停止されるなんて、酷い話だなと。

自分はその手の画像なんか入れてないつもりだけど、しかし全然安心できないよなと。と言うのも、その手の画像かどうか判別する作業は、コンピュータ上の画像認識プログラムを使ってやってるらしいので。であれば、ガンガン誤認識するだろうし、バグも残ってるはずだよなと。

例えば、 _相撲取りが光学合成エフェクトを出しながら戦うアニメgif などを、面白いからと、うっかり OneDrive や Google ドライブに保存してしまったら、Microsoft や Google のプログラムは「肌色成分が多いからコイツはエロ画像だ! けしからん!」と誤認識してアカウント削除しやがるだろうなと予想できるわけで。

ということで、そんな酷い目には会いたくないので、OneDrive も Googleドライブも、今後は画像保存場所として使わないことにしました。OneDrive と Googleドライブの同期ソフトを、メインPC上からアンインストール。

そもそも、Windowsをログオフする際、その手のソフトだけが妙に終了処理を遅らせていたりもしたので、これはこれで問題が一つ解消できたような気もしてきたり。

zipを置いておくとか、そういう用途なら使えるのかしら。でも、実はzipの中身まで検閲して、しかも誤認識したら嫌だなあ…。一体何が置けるんだよ。

余談。

_孫が水浴びしている写真をパソコンの中に保存したおじいさん、児童ポルノ単純所持の罪で警察に捕まり起訴される - GIGAZINE

家庭内でそういう目に会う児童が多いから、という事情があるのだろうけど。それにしてもこの世界はもう滅茶苦茶だなと思います。

2013/06/24(月) [n年前の日記]

#1 [prog] eclipseを立ち上げているとFirefoxのフォント表示がおかしくなるのだけど

ウチの環境だけかな…。Windows7 x64ですけど…。

#2 [ruby] Ruby勉強中

DXRubyを使って、以前書いたスクリプトをもう少し見た目ヨサゲな感じに作り直しているのだけれど。

xyzzy で書き始めたものの、なんだかしっくりこなくて。Ruby のバージョンを切り替えながら動作確認したいので、eclipse 上ではちと都合が悪く…。いや、コマンドプロンプトを起動して、スクリプト起動は別途行えばいいだけかもしれないけれど。

NetBeans だったら、Ruby 1.8.7 と Ruby 1.9.3 をプロジェクトのプロパティで切り替えて使えていた記憶もあるのだけど。もう一度、NetBeans を入れるかなあ…。

#3 [zatta] 世の中にはマナーを創作することで飯を食べてる人達が居るのだと思う

生まれて此の方聞いたことが無い奇怪な食事マナーや、害ばかりで実が無い電子メールマナー等、珍妙なマナーを得意気に披露する女性の姿をたまに見かけるわけだけど。それらの内容を、「そうか、それがマナーなのか」と本気で思い込んで聞いてしまって実践したらいかんよなと。

というのも。そのあたりの人達は、日々、“マナーを新たに創作”して、読者・視聴者に「はぁ? そんなマナーがあるもんか!」とビックリ仰天してもらうことをお仕事にしてる人達なので…。昔からそういうマナーがあるわけじゃなくて、新作マナー、創作マナーなわけだから、頭から信じちゃいかんよなと。

「なんでそんな迷惑なことをするんだよ! やめてくれよ!」という気もしてくるけれど。別に、マナーを創作しちゃいかんという決まりが人の世にあるわけでもなく。例えば戦国時代にも、マナーを創作して大名に目をかけてもらった茶人等も居るわけで。よって、いつの時代も、マナーと自称する謎の所作を自身の創作物、かつ、自分が飯を食っていくための商品として世間に向けて売り込む人種が居るのだろう、と想像するわけですよ。

だから、マナーの創作は、別に否定されるべきことではなく。そもそも今普及してるマナーだって、誰かの“創作マナー”なわけで。

理に適っていて実利がある創作マナーなら、後世に残っていくけれど。あまりにも非合理的過ぎて、使うメリットが感じられない創作マナーは誰も守らず消滅していく。自然淘汰がそこにあるのだろうと。

てなわけで我々は、常に、その手の人種から実験台にされていることを意識しつつ、創作マナー・新作マナーの内容を吟味せねばならない立場に置かれているのであります。その手のマナー云々を見たら、その内容を信じてしまうのではなく、「ふむ。新作だな」と思うぐらいの心の余裕を持ちたいもの、でありますなと。

ちなみに。どうもこのへん、若い女性ばかりがその手の謎マナーを提示してくる印象があるのだけど。男性の場合は理屈で考えるから、男性が男性相手にソレをやってしまうと、そこにある非合理性に対してフルボッコ状態になり、結果、商品になりづらいのではないかと。しかし女性が女性相手にソレをやると、「へえ。そうなんだ。私もそのマナーを守らなきゃ」と理屈で考えずさほど疑わずに信じ込んでくれるから商品になりやすいのかなと。このあたり、雑誌等の占いコーナーあたりと共通する何かがありそうですが。

もっとも、 _永田町で流行った「朝鮮飲み」 の事例を鑑みると、男性であっても政治家だったら理屈で考えずに信じ込むタイプが多いのかもと。日本の政治家の頭の中は、女性のソレに近いのではないか、考えてみたら空気を読んで裏で意見調整ばかり延々繰り返す仕事だもの、女性ばかり集まった集団に近い部分もありそうだ、と思えてきたりもして。 *1
*1: ただ、「朝鮮飲み」は、「マイクに音を入れないためにやり始めた飲み方じゃないか?」という仮説もあるそうで…。そうなると話が違ってきますな…。でもまあ、やってたのは民主党議員が多かったという話が本当なら、その仮説は外れてそうだけど。

2012/06/24() [n年前の日記]

#1 [dtm] Domino+VSTHostを試用してみたり

Domino で VSTi を鳴らす解説記事を以前見かけた記憶があったので、この際試してみたり。Domino + MIDI Yoke + VSTHost + フリーのVSTi (Synth1、DSK mini DRUMZ 2) で実験。

インストール時の注意点。
試用した感想。デメリットに感じた点。 逆に、メリットと感じた点。 何より、無料で環境を揃えられるのが素晴らしい。音すら出せなかった Ubuntu Studio に比べたら、遊べるようになるまでの手間暇、導入の敷居は、はるかに低いわけで。これなら、小学生にもオススメできそう。…いや、ソフトのインストール作業を考えると、それはちょっと言い過ぎかしら。一度環境さえ揃えることができれば、ソフト上での操作に関しては問題なさそうだけど。

補足。 :

VSTHost 上で wav保存をしようとしたら、開けない wav が出来てしまった。ASIO を使うとそうなるっぽい。原因は不明。とりあえず、MME Microsoftサウンドマッパーにしたら、開ける wav で保存できた模様。なんだろな。

VSTHost 上の設定を保存する方法が分からず。とりあえず、Export Performance ... で保存して、毎回起動後に Import してる状態。

2011/06/24(金) [n年前の日記]

#1 [nitijyou] 体がだるい

まさか…。

2010/06/24(木) [n年前の日記]

#1 [nitijyou][pc] 自転車で買い物に行ってきた

珍しく晴れたので、自転車で。ケーズデンキとダイソーとリオンドールを回ってきた。

買ったものをメモ :

ケーズデンキで購入した品。
  • 電気ポットを掃除するらしいクエン酸とやら。
  • Canon iP4600用インクカートリッジ。BCI-320PGBK(顔料黒)。
  • Canon iP4600用インクカートリッジ。BCI-321BK(染料黒)。
  • インクジェットプリンタ用名前ラベル。ELECOM EDT-TNM2。耐水版。33面。
  • マウスパッド。サンワサプライ MPD-OP16BL。光学マウス対応品。色は水色。
名前ラベルは、Microsoft製ワイヤレスキーボード、Wireless Keyboard 3000 YMC-00008 のファンクションキー部分に貼り付けたい。件のキーボードは、キータッチやワイヤレス性能は悪くないのだけど、ファンクションキー部分の視認性が最悪で。各キーにキー種別ではなく謎のアイコンが印字されている上、「F1」「F2」等の表記はキーの上の本体部分に、背景色黒、文字色青で印字されているため、コントラストが低く照明の状態によってはまったく読めない。ということで、キーにシールを貼って改善するなら試してみたいなと。

マウスパッドは、2代前に使っていたモノが削れてきてしまったので。

今現在、マウスパッドは、SIGMA RefPad LMPBK を使っているのだけど。これは滑りもいいし、センサの読み取り具合も良いものの、時間が経つとどんどん反り返るという問題がある。今では右上部分が山のように丸まってしまい、そこにマウスのケーブルがこすれて、マウスを動かす際に抵抗を感じ、ちとイライラしている状態。良いマウスパッドなのに、もったいない。もう少しなんとかならなかったのだろうか…。

ダイソーで購入した品。
  • リピート結束バンド。50本入り。繰り返し使えるタイプらしい。
  • ツイストタイ。大。20個入り。G051、コード配線-E4。ひねるだけでコードを結束できる。
  • 防振・防音ゴム。12個入り。直径約1.8cm。家具-33。半球タイプ。お椀のように丸みを帯びた形。すべり止めに使える模様。
  • 振動防止ゴムパッド。10個入り。直径約2cm。家具-73。円形タイプ。円柱を切ったような形。すべり止めに使える。
  • 床キズ防止フェルト。24個入り。直径約2.5cm。家具-40。円形タイプ。円柱を切ったような形。「フェルトなので家具の移動もラクラク」と書いてある。
  • ザ・シール。ラミネートインデックス特大。G-92、シールNo.B-8。シールの上に、透明保護フィルムもついている。
  • ザ・玩具。折りたたみ式双眼鏡。玩具-屋外-33。
リピート結束バンドやツイストタイは、PC内部の各種ケーブルをまとめるのに使う予定。…しまった。リピート結束バンドは、以前買ったのが残ってた。完全に忘れてた。

ゴムパッドやフェルトパッドは、PCの底面に張って、床と空間を開けて若干の冷却効果を期待したり、移動しやすくするのに使う予定。

透明保護フィルムつきシールは、前述の、ELECOM 名前ラベルに使ってみたい。キーの上に貼ることができれば、印刷が汚れるのを多少は防止できそうな予感。

折りたたみ式双眼鏡は、少し工夫して立体視ビューワにならないかなと思って買ったのだけど。アレコレ折り曲げつつ覗いて試してみたものの、同じ場所が2つに見えてしまう。別々の場所が重なって見えてくれないとダメなわけで。失敗した。

リオンドールでは今日の夕食用に冷やし中華等を購入。

2009/06/24(水) [n年前の日記]

#1 [game] 某ゲームにちょっとハマってしまってマズイ

やっぱり3DCGの人体モデルを動かす技術を持ってないと、今時は、というより今後は完全にマズイ気がしてきた。2D表現でアニメ的なモノを実現しようとすると膨大な手作業を要求されるのが当たり前になってしまうので、どうも将来性がないように思えてしまう。いやまあ、モデル作成も、基本モーション作成も、膨大な手作業ではあるのだけど。そこから先に、プログラムによるモーションの自動生成・自動補間、という旨みがあるわけで…。

や、2D表現でも、新技術導入でどうにかならないか、とも夢想するのだけど。例えば、After Effects で2D絵を動かしてる事例など非常に気になってたりもして。アレってどういう仕組み・やり方で実現してるんだろう。そこだけ取り出して、人体パーツを動かすことに特化した仕様にして、別途ツール等にまとめられないものだろうか。と言っても、自分は元のやり方が判らないからアレなんだけど。

2008/06/24(火) [n年前の日記]

#1 [python] BG画像分割スクリプトをi18n対応に修正

日本語でメッセージが表示できるようになった。

長い文字列を数行に分けて書く方法がよくわからず。「"""〜"""」を使うべきだろうか。うーん。

2007/06/24() [n年前の日記]

#1 [zatta] _冷静になって考えてみよう。これがよその国だと考えてみよう。こんな取調べをする国に自国民を引き渡すか?

たしかになぁ。

2006/06/24() [n年前の日記]

#1 [iappli] ひたすらバグを取ってるというか

サーバとの通信でエラーが出ちゃってそもそもプレイが出来なくてバグチェッカー部隊(なのか?)が大激怒してるという報告がきて大慌て状態だったり。

サーバとやり取りすることが前提のアプリの場合は、ゲーム内容を固める・作る前に、まずはサーバとのやり取り部分を先行して固めないといかんなと思う今日この頃。サーバとのやり取り部分を入れただけでゲーム内容のほうが容量的にも入らなくなったりするし。…どうも食玩フィギュアを連想してしまう。どっちがお菓子でどっちがフィギュアなのかよくわからんけど。

#2 [web] CCが書かれたメールに対して返信すると

CCのアドレスにも返信されるのだろうか。それともそちらは返信されないのだろうか。調べてみると、返信する場合と返信しない場合があるという話を見かけたのだけど。それってどこで設定するのやろ。

OutlookExpress で、CC のアドレスにも送りたい場合、 _「返信」じゃなく「全員へ返信」を使う らしい。

_Thunderbird も OE と同じ なのか。

#3 [prog][web] _コミット - 通信用語の基礎知識

確約すること。トランザクションの終了。データベーストランザクションを確定させること。CVSでソースの更新をレポジトリに反映すること。

コミット - 通信用語の基礎知識 より


_トランザクションとは 【transaction】 ─ 意味・解説 : IT用語辞典 e-Words
関連する複数の処理を一つの処理単位としてまとめたもの。金融機関のコンピュータシステムにおける入出金処理のように、一連の作業を全体として一つの処理として管理するために用いる。

トランザクションとして管理された処理は「すべて成功」か「すべて失敗」のいずれかであることが保証される。例えば、資金移動システムをコンピュータで処理する場合、出金処理と入金処理は「どちらも成功」か「どちらも失敗」のどちらかであることが要求される。「出金に成功して入金に失敗」すると、出金された資金が宙に浮いてしまうからである。

このような場合に、出金と入金をまとめて1つのトランザクションとして管理し、どちらか一方が失敗したらもう片方も失敗させ、どちらも成功したときに初めて全体を成功と評価するのがトランザクション処理である。これを実現するシステムをTPモニタという。

トランザクションとは 【transaction】 ─ 意味・解説 : IT用語辞典 e-Words より

とあるところへアクセスする際のコマンド資料の中に「コミット通信」「トランザクション番号」なる単語があって :

何のことか判らなかったのだけど。どうやら、入金 or 出金のコマンドを送った後で、その「コミット通信」なるものを送らないと実際に処理がされないらしい。となると、トランザクション番号ってのはそのための一連の処理につける番号なんだろう。…単語の説明はともかく、手順ぐらいは資料に書いておいてほしかった。

入出金時のレスポンス値について説明がなくて困ってたりもして。サーバが変な動作をしてたり、回線がおかしくなってたりして変な値が送られてたら、お客様のお金が大変なことになる。そうならないための防止策として、アプリは「○○を△△して」と送り、サーバは「○○を△△するのか?」とレスポンス値を返し、アプリ側はその値を見て「よし、こちらの指示がちゃんと届いてる。OKや」と思ったらコミット通信をしてトランザクションとやらを終了する、という仕様にしてるのではないのかと想像するのだけど。どんな値が返ってくるのか不明では、アプリ側で対処ができない。おかしなことが起きてても、それを知る術がないから、問答無用でコミット通信を送るしかない。…なんでそのあたり書いてないのやと。これではアプリ制作者は「オラ知らね」モードで作るしかないではないか。

#4 [java][iappli] _この実験では GC によってガーベージを正しく回収できるかどうかをチェックする。

_[JavaHouse-Brewers:28002] Exact GC
_Mostly-Concurrent Mark & Sweep GC のアルゴリズム

複雑なのだな…。

#5 [iappli][java] 変数はスタック上に作られるのかな

携帯の java の場合、ブロック内で作った変数はスタック上に作られて(pushされて)、ブロックを抜けた段階で開放される(popされる)のであらうか。もし、そういう動作にはなってないとしたら、ブロック内で「どうせ一時的に使う変数だから」とガンガン変数を作ってるとメモリの断片化が起きて後になってから大きなメモリ領域を確保できなくなってしまう可能性があったりしないのかなと。であれば、どこかにグローバル変数でも作って、それを各ブロックで使いまわしたほうがよくなっちゃうかもしれない。とかそんな想像を。

オブジェクトはヒープにとられるとか、オート変数はスタックにとられるとか、そういう話もみかけた。であれば、ブロック内でガンガン変数を作っても大丈夫なのかな。

_スタックマシン - Wikipedia :

_@IT:チューニングのためのJavaVM講座(前編)

「JavaVMはスタックマシン」という一文を見かけて検索したもののなんか違う話みたいで。

2005/06/24(金) [n年前の日記]

#1 [zatta] _ダイジントンネル

_日本は上に行くほど「理系の物の考え方ができない人だらけになる」

なるほど…。それにしても、無塵服の必要性すら理解できない人達が各種決定権を握ってるというのは、絶望的な気持ちにさせられるなぁ…。

この記事へのツッコミ

近年、組織のトップは文系 by がんした    2005/06/29 00:11
官民組織に限らず、ってゆーか日本に限らず諸外国でも組織のトップは
開発とか技術畑の理系よりも弁護士とか計理士などの文系が着く琴が多いそな。
そうなると、組織運営が保守的&堅実方向になり、開発とか研究みたいな
曖昧で直接利益の上がらない部署は冷や飯食いになるそうな。辛いな。
まぁ、一般に対人関係が疎く、金銭感覚が鈍い理系経営者が増えたから、皆が幸せになれるものでもないが・・・。
ここはアレだ、東京工業大学理学部応用物理学科卒で在学中に「麻雀自動点数計算機」を
発明した経歴を持つバリバリの理系人『菅直人』氏に総理になってもらうしかないな。
http://d.hatena.ne.jp/keyword/%BF%FB%C4%BE%BF%CD

ロケットの話はねぇ、「予算不足」と軍事拡大を嫌う「アメリカの横やり」と
「野党の反対」が障害になってますなぁ。敗戦国は様々な制限が縛りがあって辛いわ。
Re: 近年、組織のトップは文系 by mieki256    2005/06/30 10:58
> 東京工業大学理学部応用物理学科卒で
> 在学中に「麻雀自動点数計算機」を発明した経歴を持つ
> バリバリの理系人『菅直人』氏に総理になってもらうしか

そんな経歴の持ち主だったのですか。>菅直人氏。知らなかった…
うむ。であれば菅直人氏にはぜひとも総理に…
でも官僚が軒並み文系だったりしたらあんまり変わらなかったりして。

#2 [web][prog] _flashのeclipse開発環境ビデオチュートリアル

_FlashExtensions - Extend Flash. Extend Skills. Extend Possibilities.

flashのopensource運動が急速に進展中らしい。気になる話。メモ。ていうか、Eclipse で FLASH開発ができる状況になっていたとは知らなかった。 _(via del.icio.us/otsune)

一通りビデオチュートリアルを見てみた :

インストール手順〜簡単なサンプル作成〜Eclipseの設定等、導入から事細かに解説していて好印象。映像で見ると、なんだか簡単にできそうな気がしてくるあたりが不思議。 *1

関係ないけど。英語の喋りを延々と聞いているだけであっという間に眠くなることに気がついてしまった自分なのでした。(;´Д`)

*1: もちろんその先がアレなのは重々承知。

#3 [pc] _激務のIT戦士を支援する最新デスク&チェア「Cruise&Atlas」

この姿勢は…。昔、会社で、先輩がやってたっけなぁ。自分もやりたいけど、今現在、足元にはPC-98とか昔の自作機とかがあるのでできない…。 _(via クロノス・クラウン)

#4 [anime][comic][neta] _世の中には、上手い下手という単語を単に自分の趣味に合わないと同義で使う頭の弱い方々がいるのはわかっているが

あー。そういうことだったのか。…最近、アニメ番組等の高レベルな作画に対し、「下手」云々のカキコをしてる人達が目につくことが多くて。「この人の目はどうなっているのだ」と首を捻っていたのだけど。なるほど、そういう意味で使われてたわけか。…もしかして、的確な日本語表現ができないあたり、それらの人々は外人さんだったりするのかもしれない。おそらくは、ジャパニメーションだのOTAKU道だのに最近興味を持ち始め、現在日本語を鋭意勉強中・海外からアクセス中の人々なのだ。嘘。 *1 _(via del.icio.us/otsune)

仮に「上手」「下手」が「好き」「嫌い」として使われることが大半な世の中になってしまったとして :

本来「上手」「下手」が持っていた意味を、どんな言葉で置きかえればいいのだろうなぁ…。日本語は変化していくものだから、そういう時代が来ないとは言い切れないし。うーん。

「匠」「素人」とか。…なんかしっくりこない。

*1: や。そのように思えば、傍目にはなんだか微笑ましい光景になるかもしれないなと。嘘。

この記事へのツッコミ

Re: 世の中には、上手い下手という単語を単に自分の趣味に合わないと同義で使う頭の弱い方々がいるのはわかっているが by けいと    2005/06/26 14:23
> 本来「上手」「下手」が持っていた意味を、どんな言葉で置きかえればいいのだろうなぁ

対象になるものがいろいろあるから、これ!っていうものはないけど、
「上手」⇔「下手」の置き換えとしては、
「美」⇔「醜」、「粋」⇔「野暮」、
「かっこいい」⇔「かっこわるい」・・・

こんなところかなぁ?

ここでいうところの「上手・下手」は「萌え・萎え」になってしまっている
っていうことなのかなぁ〜
Re: 世の中には、上手い下手という単語を単に自分の趣味に合わないと同義で使う頭の弱い方々がいるのはわかっているが by mieki256    2005/06/28 22:57
> 「美・醜」「粋・野暮」「かっこいい・かっこわるい」「萌え・萎え」

あ。いや。そうではなくて。
「好き・嫌い」の意味で使われる「上手・下手」を置換する案ではなくて…

技術的にどうなのか、という意味 = 本来の意味で使われる「上手・下手」を
置換する案としては何があるだろうなぁ、という話のつもりだったです。

「好き・嫌い」「萌え・萎え」という意味で「上手・下手」を使う人たちが、
使い方を改める可能性は少ないであろう気もしてるんですよね。
となるとおそらく、将来的にあり得るとすれば、
「上手・下手」を、単に「好き・嫌い」「萌え・萎え」として
使う人が大半になってしまった状況であろうと…。
「クラッカー」「Webページ」を、世間の人が「ハッカー」「ホームページ」
と呼んじゃってるような、そんな状況というか。

でもまあ、思いつかないんですけどね… >技術的にどうかという意味での「上手・下手」の置換案

#5 [web] _自分の中で考えて考えて、考えすぎて話が飛躍しちゃっているんだろうか

また、それとは別の話だが、掲示板やblogなどに寄せられる迷惑なコメント例として「書いた記事内容と全然関係ない(実際にはうっすらと話題は繋がっているのがポイント)ことについて長々と語られる。」ってのをしばしば見かける。
自分の中で考えて考えて、考えすぎて話が飛躍しちゃっているんだろうか。Aという話の先にBという話があるのでそれを踏まえてCを言ってみました、っていう A→Cへの飛躍。コメント書いた本人にしてみればA→(B)→Cという流れなのでごく自然な流れだと思っているんだろうが、本人以外の人にしてみれば A→Cとしか見えないので、見た人は「この人は何を言っているんだろう」と当惑してしまう。
それ、自分だ! Σ(´Д`;) …この日記は管理人自らそういう飛躍をやっちゃってるアレな日記な気が。でもまあ、そういうアレなWeb日記が世の中に1つぐらいあってもいいよな。

全然関係ないけど該当blogサービスのコメント欄にも「続きを読む」機能があれば問題解決かもしれないと思ったり :

や。 _元々の、長文コメント云々についての話 なのだけど。

たしか tdiary はデフォルト設定でそうなってると聞いた記憶もあるし、 *1 hns もそのへん設定項目があった気もする。 *2 また、コメント欄 = 掲示板の一種として考えれば、2ch同様、「(省略されました・・全てを読むには〜」程度の機能があっても不自然じゃないような。となると本来責められるべきは長文コメントをカキコする人ではなく、長文コメントの表示について特に工夫をしていない blogサービス or blogツールだったりするのかもしれないとぼんやり思ったり。というか機械にできる・機械で改善できることは機械にさせてしまったほうがヨサゲ。利用者にルールを強要しなければ解決できない種類の話でもないような気もする。…結局のところ、blogツールにはまだまだ改良できる余地が残ってそう、という話なのかなぁ。

とか書いた後で気づいたけど元記事のコメント欄で
『tdiaryのツッコミみたいに 冒頭だけ表示するとか。』
と提案してる方が既に居ましたがな(爆) というか、「既にtdiaryが解決済みの過去の問題」と言えてしまうのかもしれない。

*1: 短いツッコミが愛とかなんとか…。<よく覚えてない。
*2: 自分は全文表示にしてるけど。

この記事へのツッコミ

Re: 自分の中で考えて考えて、考えすぎて話が飛躍しちゃっているんだろうか by けいと    2005/06/26 15:53
> この日記は管理人自らそういう飛躍をやっちゃってるアレな日記な気が。

飛躍することがわかっているし、わかってやっているので
私のブログタイトルが「あさってのほう」だったりするんですが^^;;
それはもっとあくどいのかなぁ〜

ブログなんてものが出る前もそうだったので
「風が吹けば桶屋が儲かる」なんていうタイトルをつけて以下略
Re: 自分の中で考えて考えて、考えすぎて話が飛躍しちゃっているんだろうか by mieki256    2005/06/28 23:01
> タイトルが「あさってのほう」

そういう意味が! それ、いいなぁ…

何かこう、日記の冒頭に、「このページはこれこれこういう種類の〜」等、
説明をつけておかんとなぁ、とは思いつつも。
未だヨサゲな一文が浮かばず先送り中の自分なのでした。(;´Д`)

#6 [zatta] _スケベ応用できるか否かがバーチャル技術の将来を決める

! 卓見ナリ。 _(via 渋谷系@シプヤ - コメントは85文字以内で)

でも、そっち方面への応用って実現性低いだろうなぁ… :

技術的な問題ではなく、おそらくは政治的圧力(?)が原因で。実現する前に『健全な市民の代表』様が出現して徹底的に潰されそうな気がする。何かこう、そっち方面への応用が肯定・賞賛されるような社会風潮を導き出すための有効な手段はないものであらうか。<寝言を言うな。

#7 [windows] _iTunesHelper、iPodService.exe を無効にする

QuickTime をインストールしたら常駐するようになってしまった。ので、解説を見ながら無効に。iTunesHelper は、窓の手を使って自動実行から除外。iPodService は、コントロールパネル → 管理ツール → サービスで、該当サービスを停止・無効に。

#8 [anime] 緊急時に無精ヒゲをはやしてる科特隊員てな描写はどうだろう

青ネクサスの最後の回を見ていて、一瞬、科特隊員の主人公が無精ヒゲをはやしてるように見えて、「おおっ」と思ったわけで。いや。はやしてなかったんだけど。要するに、基地から脱走してヒゲをそる暇もないし髭剃りも持ってくる余裕はなかっただろうと。それを考えると、無精ヒゲがはえてたらリアルさが少し増すかもなぁ、みたいな。

と思ったけど。別番組…ライダーヒビキで、修行中のヒビキおじさんが無精ヒゲをはやしてた記憶もあるような。既に描写として使えることに気づいていた特撮番組はあったのだな。…ていうかヒビキおじさんのは無精ヒゲじゃなくて別の理由で伸ばしてた可能性も高そうだけど。大河ドラマの撮影との兼ね合いとかそのへんで。

考えてみれば、ヒゲをはやした特撮ヒーローってカッコイイかもしれない。強そう・実戦経験が豊富に見える・頼りがいがありそう。みたいな。

#9 [anime] 青ネクサスの最後の回をビデオで見返し

怪獣とネクサスが組み合ったときに、水煙? 爆煙? を追加してたのに感心。迫力が増すなぁ。 *1

科特隊員4人がトリガーを同時にひいたことを画面分割を使って1カットで見せ、ネクサスとの連携を見せるカット。また、敵の攻撃を受けて2機が同時にやられたことを、やはり画面分割で見せるカット。上手い見せ方だなと感心。 *2
*1: 個人的には、ぶつかり合うソレと、カメラが本来あるであろうはずの位置・距離で、時間差で衝撃がカメラに伝わるとかそういう描写も欲しい気もしたり。…でも判りづらいか。
*2: 戦隊シリーズでは変身シーン等で当たり前のようにやってることだけど。この番組でそういう見せ方が見れるとは思ってなかったので。

#10 [anime] ジャスティライザー、オカマボスの回をビデオで見返し

冒頭のアウトドアなやり取りがなかなか。肉を焼くのに時計で正確に時間を測る黒の人。肉に怪しげなものをかけて食べようとするお姫様。…もし、この2人が付き合いだしたら、絶対に黒の人はお姫様にアレコレと口うるさく言うだろうなぁ。「どうしてそんなものをかけて食うんだ! もう我慢ならない! それは正しくない!」とか。ていうか黒の人っていつもプリプリ怒ってるイメージが。

アクションシーン。アスレチック関係の施設?を利用してのやり取りに感心。丸太の坂を転がって敵の攻撃を避けたり。天井に刀が刺さって攻撃できなかったり。考えるなぁ。また、敵の攻撃で、背中で滑りながら弾き飛ばされる赤の人の図にグッときてしまった。ワイヤー等で引っ張っているのだろうか。

#11 [anime] SEED2、新しい○○顔見せの回

なるほど、前作の主人公&前作の主役艦はそういうことにしたのか。イイ感じ。

そりゃヒッキーにならざるを得ないよなぁ>アスラン。…自分があの立場だったら、どう振舞うだろう。などと考えてたら自分の性格&組織というものに対する認識がちょっと嫌になった。 *1
*1: たぶん、仮面をかぶって「よくやったな!」とか言っちゃいそう。敵陣の真っ只中で迂闊なことは言えないし。…敵陣って、オイ。それは、つまり。

#12 [anime] BJ、島を買ってたBJの回

もしかして、今回のゲストキャラはトリトンなのかしら。仮にそうだとしたら、美少年には見えないデザインなのが残念。

ピノコが蟹に指を挟まれるシーン。ピノコの指って生身だっけ。それともBJが付け足したものだっけ。そんなことが気になってしまったり。…ピノコ誕生の回、アニメ化しないかな。無理か。

波が少年にかかる描写、及び、水中で呼吸ができなくなる描写がイイ感じ。…子供が夢中になって見ていたら、たぶん息苦しさを感じてドキドキしてくれるシーンだろうなと。

原画は日本人の名前ばかり。なのだけど。三文字の名前がズラリと並んでる回よりレベルが低いのはどういうことだらう。と思ったけど、SEROAなる名前が気になる。スタジオ名かしら。みたいだ。動画や仕上にも名前があるし。そこがアレだったのかしら。…何にせよ、三文字の名前が並ぶ回のほうが遜色がないということは。中国には異様にレベルが高いアニメスタジオがちゃんと存在してるということなんだろうな。

OP、EDをビデオで2、3回見直しているうちに :

なんだか結構合ってるような気もしてきた<オイ。や。映像そのものはカッコイイし、艶々してるし。OP曲の曲そのものはいかにも小室哲哉な感じで実は好みだし。歌詞は作品と合ってない気もするけど、一応最後のあたりで「いのち」云々が混ざってるし。ED曲は要するにピノコが色々やってる感じが出てればそれでいいのだろうし。うん。そんなに悪くない。気がしてきました。…まあ、ジャスティライザーの 2nd ED曲の「わいの わいの さーわげ」よりは遥かにマシだし。アレを聞いた瞬間は頭の中に「???」が大量発生。「どうしてこんな曲を?」みたいな。 *1

*1: や。「列島パーティ騎士(ナイト)」という曲らしいけど。検索した感じでは、結構人気はあったみたいだな…。

#13 [comic] LaLa、ひかわきょうこ先生の漫画が付録でついてる号を読んだ

おじゃる丸! 超絶美形8頭身おじゃる丸! しかも名前まで本当におじゃる丸! さらにバビル2世も真っ青の超能力を大披露! おじゃる丸なのに! 素晴らしい。や。おじゃる丸なんて名前じゃないけど、それに極めて近い名前。

おじゃる丸が少女漫画家の手にかかれば、これほど美しく、頼りがいのある男性に変貌を遂げるとは…。すると、アンパンマンや機関車トーマスも、少女漫画家がアレンジすれば、魅力的な外見に変貌を遂げるのかもしれない。と思ったが、それって「にざかな」作品にしかならない気もする…。

「にざかな」作品と言えば。今回もやってくれた。少女漫画雑誌で、まさかの 膀胱肥大をビジュアル化。いいぞ! もっとやれ! つーかどんな漫画や。だが、そこがいい。

#14 [game] セガとSONYと任天堂と勝ち組と負け組と旧来の資産と

ツッコミ欄で、
新たなメディア&フォーマットを作り続けたにも関わらず、旧来の文化を切り捨てて負け組に転じたセガ。方や、新機種ながら旧来のソフト資産を流用出来るハードを提供しつづけて来たソニーや任天堂の勝ち組
という喩えがあって。「個人的には逆のように思える」とレスをつけたのだけど。一応そのへんの内訳? 解説? をメモ。

結論から書くと、 …てな印象が。まあ、あくまで個人的な印象ですが。

以下、そのような印象を持っている理由をメモ。誤認・勘違い等があったらツッコミよろしくなのです。が、長いので読み飛ばし推奨でもありますです。

「ファミコン → スーパーファミコン」 vs 「マークIII・マスターシステム → メガドライブ」の時代 :

昔は、「任天堂 vs セガ (vs NEC)」の図式があったのだけど。 *1 当時販売されてた家庭用ゲーム機は、時期は微妙にずれるけど、大雑把には下のような感じで張り合ってたわけで。
任天堂 vs セガ (vs NEC)
任天堂セガ(NEC)
ファミコン(以下FC)マークIII・マスターシステムPCエンジン(以下PCE)
スーパーファミコン(以下SFC)メガドライブ(以下MD)
セガは、「マークIII・マスターシステム → MD」と移行したのですが。そのMDは、マークIII・マスターシステムのソフト資産を活かす方向で設計されていて。まあ、 _メガアダプター *2 *3 が販売されてたあたりから、それは明らかなんですが。ただ…。 例えば画面表示に関するスペックの弱さもその「互換性」に起因してる(らしい)のですな。 *4 要するに、「旧来のソフト資産を活かそうとした」ために、ちとアレになってしまったMD、という状況があったと。

対する任天堂は、「FC → SFC」への移行時、FCとの互換性を全く考えないスペックでSFCを出してきた。当時としては、これは結構暴挙で。既に膨大な数のFC用タイトルが存在していたのに、それらを、「全部なかったことにして、一からやろう」という姿勢を出してきたわけだから、ファミコンの普及ぶりを考えると正気の沙汰じゃない(?)。しかし結果は…
旧来のソフト資産を活かそうとして、ちとアレなハードを出したセガ
→ 国内では今一つな扱いに終始
旧来のソフト資産をバッサリ切り捨て、その時点で投入可能なベストなスペックのハードを出した任天堂
→ 国内で大人気
という図式に。そしてこの時点で、「旧来のソフト資産にこだわったら、負ける」という定説がゲーム業界に生まれてしまったという。<ホントかよ…。

もっとも、実際にはスペックだけの問題ではなく…。
  • MDのほうがSFCより先行して販売された。後から出てきたSFCのほうがスペック的に魅力的なのは当然。
  • SFCには「ドラクエ」「FF」等、ユーザをひきつけるタイトルがあった。
  • 任天堂には、「初心会」なる、問屋さんレベルでガッチリと陣営を固めるムニャムニャがあったとかなんとか。<よく知らない。
  • MDには大手ソフトメーカがなかなか参入しなかった。(というか「できなかった」のが正しいのかしら。任天堂から圧力加えられたら困るし…)
  • PCE or PCE + CD-ROM 陣営もまだまだ頑張ってた。
等々、他の要因もあっての勝敗で。また、それとは別に。アメリカ市場においては日本国内のソレとは全く状況が違ったわけで、国外も含めて見ると一概にセガが負けたと言えない状況ではあったり。 *5 まあ、そのへん単純ではないとは思うのですが。あくまで、「旧来のソフト資産を活かそうとしたか否か」だけに注目した場合は、「活かそうとした」セガのほうが、割に合わないことになったと言えるのではないかと。

「メガドライブ → セガサターン」 vs 「PlayStation」の時代 :

そして、いわゆる「次世代機戦争」 ―― 「セガ vs SONY (vs 松下)」の時代が到来。
セガ vs SONY (vs 松下)
セガSONY(松下)
メガドライブ(以下MD)なしなし
セガサターン(以下SS)PlayStation(以下PS)3DO
セガは、「MD → SS」への移行にあたって、MDの反省を活かしたのか、今度は全く旧機種との互換性を意識しない設計で出してきたのだけど。しかし、ここでも読み違いを。それまでのゲーム業界の、映像表現手法の定番 ―― 「スプライト+BG」による「2D表現」に重きをおいた・「2D表現」を発展させたハードだったわけで。つまりは、「旧来のフォーマット・文化」にこだわってしまったというか。

対するSONYのPSは、当時は夢物語に等しかった「ポリゴンによる3D表現」を「家庭用ゲーム機でも実現」することを押し出してきたハード。「旧来のフォーマット・文化」を完全否定するほどではないにせよ、それらに代わる次世代のフォーマット・文化を積極的にアピールしたというか。 *6 で、結果は…。
旧来の手法を活かそうとして、次代にはちとアレなハードを出したセガ
→ 時代の移り変わりの時期だったので、当初は結構健闘した…けど後半は苦戦
旧来の手法にこだわらず、次代の手法をユーザにプレゼンし得るハードを出してきたSONY
→ 最初の頃は不安がられてたけど、時代が変わってしまえば定番に
という図式に。

もっとも、これまたそんな単純な話ではないですが。PSは開発用のライブラリが充実してた *7 ・ライセンス云々の費用が任天堂に比べて安かった(らしい)ことでサードパーティの参入が容易だったことも関係ありそうだし。やはり「FF」を引き込んだことで勝負がついた気もするし。

それにしても。「バーチャレーシング」「バーチャファイター」と、3DCG時代の到来を予言するタイトルを自ら出しておきながら、家庭用ゲーム機では前時代の文化・発想に引きずられてしまうセガが、なんというかアレなのですが。

そういや、 _SUPER 32X の存在も関係があるようなないような。 *8 アメリカ市場でMD(GENESIS)がバカ売れしてたので、それら旧機種のシェアを活かそうとした…のだけどそれがSSの販売に関して足を引っ張った云々もどこかで見かけましたがそのへんはよく知らなかったり。何にせよ、そこでも「旧来の○○を活かそうと試みるセガ」の図があるような。

ということで…つまり…

ここぞというときに「旧来の○○」を活かそうという意識が鎌首をもたげて負け組になっちゃうセガ :

…という印象が個人的にはあるのでした。旧いモノを切り捨てるなんてとんでもない。重要なタイミングでは「旧来の○○」に他社よりよほどこだわってたセガ。墓穴を掘るぐらいに。<オイ。つまりは、ちょっと前までは「セガ=保守」「SONY・任天堂=革新」であったと。

まあ、体感ゲームとか、バーチャシリーズとか、せがた三四郎のCMとか、湯川専務のCMとか、そのへん革新的なものが多いので、「セガ = 革新的」な印象も同時にあるのですが。

もっとも、今現在は逆転…とまでは言わないけど、他社も旧来のソフト資産を活かす方向で動いてるみたいだし。PS2が、PS1の資産を活かそうとした時に、定説というか、時代が大きく変わったようにも思えるのでした。…そのへん、ハードのスペックが向上したことも関係あるのかもですな。昔は、互換性云々を意識すると足を引っ張る原因になるぐらい、スペック云々に関して余裕が無かったのだけど。今は、旧機種の動作をエミュレーションできるほどの高スペックな製品を、設計・投入可能になった…という事情があるのかなと想像してみたり。そして、一度そうなってしまうと、ユーザとしては「昔のソフトが遊べたほうが嬉しい」わけで。もはや、「旧来の資産を活かすか」「先進性を盛り込むか」、セールスポイントが二者択一の時代は終わったと思えたりもして。

ただ、今現在のそれら資産の活かし方だけを見て、「だからセガは負けた」と判断するのは違うのではないか…と、そんな気がしただけの話だったりするのですが。

ちなみに今現在のセガも旧来のソフト資産をそれなりに活かそうとしてるフシがあったり :

_セガゲーム本舗 とかありますし。MDのタイトルが、数百円で、ネット経由で楽しめる。このサービス、結構前からやってたはず。

旧来のソフト資産を、こういう形で、今現在もユーザが、“正規に”入手・利用できる手段を用意してるあたり、セガの試みを高く評価したかったりもして。ていうか、せっかく今まで大金かけて作ってきた商品群を、倉庫(?)の中で眠らせとくのはもったいないとも思うし。こういう仕組みでも、ちゃんと収益が上がってくれたらいいよなと。でないと、ユーザにとっては、非合法な手段でしか過去のソフトを入手できない悲しい状況になってしまうので。メーカにも儲けが出て、ユーザもゲームを楽しめる。それが一番ベストな状況だし。なんとか成功してほしいところ。や。もちろん任天堂の旧作ネット配信云々も。成功してほしいであります。

む。 _メガCDソフト も配信してるらしい。てことは容量的にSSのタイトルも配信できそうではあるなぁ…。

「CD-ROM関連」とか「ゲームボーイ vs ゲームギア」とか「DC」とか抜けてますな :

もしかすると、ゲームボーイ関連の互換性の持たせ方云々とか、SS → DC 移行時の SS の切り捨て方などを検証すると、また話が違ってくるのかもしれないなとぼんやり思ったりもするけれど。自分、そのへんまったく知らんので書けないのでした(爆)

*1: どちらかというと、任天堂 vs NEC だった気もするけど。
*2: _メガアダプタ - Wikipedia
*3: マークIIIのソフトをMDで動かせるオプション。
*4: 例えば、MDは色数が他機種に比べ極めてショボイのだけど。それは、マークIIIと互換性のある画面モードを用意したあたりが足を引っ張っちゃった…らしくて。何が原因でそうなっちゃったかは知らんのですが、色々邪推はできそう。別個にスペックを持てるだけのメモリ等を用意できなかったのかもしれないし(<当時はそのへん高いから…)、もしかするとマスターシステム等に使ってた表示関係のチップを発展させたらそうなっちゃったのかもしれないし。<SFCに先行することを考えると、あまり開発期間もかけていられないだろうし。…あくまで、根拠のない、自分の勝手な想像ですけど。
*5: たしかアメリカでは、SFC(SNES)よりMD(GENESIS)のほうが売れてた or 同じくらいの販売数だったとかなんとか。MDのほうが値段が安かったのがウケたとか、「ソニック」のスクロール速度がSFCに対する優位性をアピールしたとか(<実は「ソニック」のスクロール速度ってスペックとは関係ないんだけど…。「マリオ」と「ソニック」の比較CM映像が実状を知らない顧客には効果的だったとか聞いた記憶もあるけどホントかどうかは知らない) …理由は色々あるらしいですが。
*6: 「スプライトもBGも、全部ポリゴンでいいじゃん。ポリゴン以外はいらない」「その代わり、ポリゴンの描画だけはとにかく高速に!」という、それまでの家庭用ゲーム業界からしてみると革新的・意欲的というか、ある種不安さえ感じる発想で >PS。…そういえば、ハードの構成について、「SS = CISCっぽい」「PS = RISCっぽい」とか喩えられてた記憶もあるけど。必要になりそうな機能をとにかく全部ブチ込んだSSと、特定機能をひたすら洗練することにこだわったPS、みたいな。
*7: 後に出てきた Nintendo 64は、開発時の負担が大きすぎて苦戦したとかどこかで聞いた記憶も。
*8: MDに装着することで、MDにもポリゴン表示能力を持たせるというオプション。

2004/06/24(木) [n年前の日記]

#1 [zatta] _インチメジャー

インチには小数点は無かったのか。知らなかった…。

2003/06/24(火) [n年前の日記]

#1 [pc] _「片っ端から流して“神”になる」という人は、もう誰にも止められないので

こういうことをサラリと書くから、この人の記事って好き。

#2 [pc] _キノコの魔力

4個しか当てられない…悔しい…可愛い顔しておきながら人間様をこれほど悔しがらせるとは…クッ…このキノコ野郎め!

#3 _高校卒業時に恩師が言った。世の中には2種類の嘘がある。

例えばこういう事を言いたかったんだろうな、と読む度に思う。

#4 [digital] _「QUALIA」が生まれた背景

消費者不在は気のせいじゃなかった。 _(src)

#5 [pc] _自律系プログラム(2003/06/20)

面白い。これは面白い。ゲームプログラムではこの手のがゴロゴロ。多関節とか。今時多関節でもないか。

#6 _腕試し!あなたのセキュリティ知識をチェック

70点でした。HDDの問いでケアレスミス。おっちょこちょいだな自分。 _(src)

#7 _『埋め合せで手に入れられるもの』

グブッ…事例がモロにヒットした…。 _(src)

#8 _MSがゲーム事業の34人指名解雇

_パソナルーム と比べると、どっちがマシなんだろう。外資系だから云々って事でもないような…。 _(src)

#9 _朝鮮戦争は日本が起こしたと韓国の子供達は思ってる、らしい

間接的にはそうだろうけど、そういう意味で捉えてるわけではなさそう。

もっとも日本も、中学生だか高校生だかが、日本とアメリカが戦争してた事を知らなかったり、戦争してた事は知ってても日本が勝ったと思っていたりするそうだし。 *1 日本も韓国も同じだな。…違う。同じじゃない。日本の方が状況は悪い。韓国の若者は兵役があるから最悪でもその時に自国の歴史を知る可能性大。 *2 日本の方はお爺ちゃんになっても「日本が勝った」と思ってそう。知る機会が必ず用意されてるわけじゃ無いし。…法律でも作るか。修学旅行コースに必ず広島ドーム見学を盛り込む事。 _ドーム球場 じゃなくて _原爆ドーム のほうね。ややこしい。

「宇宙戦艦ヤマト」のヒットも、ある意味このへんに役立ってたかもしれない。太平洋戦争で海中深く沈んだ戦艦、という前知識がなければ発進シーンも面白さ半減。逆に言えば「ヤマト」を観た人なら何故そこに「大和」が沈んだかその経緯を知ってるはずだ。近代歴史教育の観点で見た場合、かの作品は非常に有意義なアニメ作品であった。…無理があるかな。でも、子供達が当時の状況に興味を持つキッカケにはなりえる可能性を秘めた作品だったようにも思う。さてどうだろう。 *3
*1: メジャー過ぎる話ですか。都市伝説の可能性も。しかし、歴史を教える際の時間配分の関係で近代は省略されてしまう事が多いし、大学入試対策でも近代は重要視されない(らしい)し、戦争体験者は当時の状況に関して口をつぐむ・話したがらない人が主流だろうし、核家族化で体験者と離れて暮らす状況がほとんどだし、体験者もかなり亡くなってるし、その手のTV番組・書籍を全く見ない層も居るだろうし、等を考えると笑って即座に否定できない。生活していく上で必須の知識でも無いし。
*2: 知らずに兵役に従事する脳天気はいくらなんでも居ないだろ。
*3: なんかコレ、どこかで読んだ感じも。G氏の掲示板? それとも2ch? 最近、どこまでが自分自身で出した考えか、わからなくなってる。自分は、人の考えた事や発表した事を、ただ蓄え、吐き出して、それを自分の考えと勘違いしてるだけではないのか。自信がない。とにかく記憶が怪しい。マズイな。

この記事へのツッコミ

Re: 朝鮮戦争は日本が起こしたと思ってる、らしい by がんした    2003/07/02 00:46
兵役があっても自国に有利な解釈と論理武装されるだけだから、
相互理解には程遠いのではないかと。アメリカの教科書なんざ
黒船来航に関して、不平等条約とか書かれておらず、
「アメリカのおかげで日本が近代国家になれた」みたいな書かれ方してるそうな。

そこらを考えると、日韓共催ワールドカップは、それなりに意味があったのかもしれんね。
http://japanese.joins.com/html/2003/0630/20030630162422100.html
Re: 朝鮮戦争は日本が起こしたと思ってる、らしい by mieki256    2003/07/02 01:30
たしかに、自国にとって都合のいい歴史ばかり教えられる場面が多い…。太平洋戦争だって被害者としての日本しか教えられてないような。日本も韓国もアメリカも、どこも同じですね。

まあ、「隣の国とは仲が悪い」のは世界中どこも同じでしょうから、相互理解なんて無理だろうなとも(爆) …理解がなくてもいいから、お互い損せず得する場面、共に切磋琢磨する場面が多くなればそれだけでいいじゃないか、とも思います。

そのワールドカップの話は興味が湧きました。見てる人はちゃんと見て評価してくれてるのだな…。

#10 _お前呼ばわりするその前の状態についても深く検証しなければ軽々しく判断は下せないだろうに

と思ったけど、「むかついた」だけでその人を「全否定」できるって生きる上では効率がいいのかも、とも思った。「結論(直感)」と「過程(論理)」のぶつかり合い。場面としてはありがちかも。

_正論と論理の飛躍 :

関係あるかな。ないかな。どうかな。

この記事へのツッコミ

Re: 深く検証しなければ判断は下せない by がんした    2003/07/02 01:05
「『お前』よばわり」なんて、男所帯の仕事場の場合、普通にあるけどなぁ。
別に、威張ってるとか怒ってるとかじゃなくて。
日記に出てきた元上司さんも、部下が女性の方なので気を使って、
今まで自粛してただけじゃないかなと、それが一回使っただけで
「あぶない奴」とか書かれちゃう。元上司の人に同情。

しかし、何でこうも女性の書いたテキスト文章って読みにくいかなー、
話し言葉の多用と自分の視点&感情がデフォで書かれてるから、状況把握がしづらい。
5回ぐらい読み直してやっと「『お前』よばわり」されたのが、
元の職場の先輩女性だと理解したよ。これでは元上司が怒るのも分かる気がする。
Re: 深く検証しなければ判断は下せない by mieki256    2003/07/02 01:46
そういや、女性だけの職場で、女性が女性に対して「お前」よばわりしてる図ってイメージできませんな…。男性ってやっぱりそのへんガラが悪いのだろうか(爆) まあ、ちょっとやそっとじゃ壊れないイメージがあるから、なのかな。(ハードウェア自体は逆なのに。男性のほうが脆弱なんだけどなぁ…。)

2002/06/24(月) [n年前の日記]

#1 ダメかもしれん

モニタがSTAR WARS状態から復帰せず。
画面サイズ小さくして位置ずらして無理矢理これ打ってますけど。
もうダメかもしれん。

そういや最近、このモニタ見てると目が異様に痛くなってくる。
なんか変なモノが出てるのかも。

2001/06/24() [n年前の日記]

#1 シュナの旅

らくがきリハビリ中。リハビリの為に、本棚のその手の本を引っ張り出したりして。たまたまその中に「シュナの旅」が。 _(長いので以下略)

今頃なんですけど、一時期チェーンメール化してたという、ドラえもんの最終回ネタ(のび太が科学者になるヤツ)の原文読みました。 _(長いので以下略)

#2 [anime] ドラえもん最終回

今頃なんですけど、一時期チェーンメール化してたという、ドラえもんの最終回ネタ(のび太が科学者になるヤツ)の原文読みました。話の筋は、以前弟から聞いてはいたんですが。
コレ、原文読むより、人づてに話を聞くほうがイメージ広がるなぁ。原文のほうはちと綺麗にまとめ過ぎ。

しかし、チェーンメール化したのは、作者にとって可哀相。
正当な評価を受けることなく、都市伝説程度にしか一般には認識されてないようだし。
肝心の作者のサイト、消えてるのが、またなんとも…
勘違いした大馬鹿者どもが、変な行動とって閉鎖に追い込んだのだろうか。
二次創作とは言え、せっかくの、良質の話を生み出せる貴重な才能を…
もったいないと言うか、悲惨と言うか。

この最終回ネタに激しくインスパイアされて、「ジュブナイル」という日本映画が作られたそうで。
興味が湧いてきた。どんな内容なんだろう。

#3 [anime] シュナの旅

らくがきリハビリ中。
リハビリの為に、本棚のその手の本を引っ張り出したりして。
たまたまその中に「シュナの旅」が。

読み返してみて、やはりジーンと。
さすが宮崎駿…

巻末に、「こんな地味な企画のアニメ化は認められるはずがない。故にこの形で映像化した」とのコメントが。
たしかに、当時の宮崎駿では無理だったと思う。
でも、今のネームバリューなら…
ヒット間違い無しだし、更に、近年の宮崎作品より素朴で大きな感動を、観客が得られるようにも思える。
ってことで、今でもアニメ化希望です。

でも、他作品へとネタを使いこんじゃってるし…
作者にとっては「過去のモノ」なんだろうな。
それに、今の宮崎駿がやったら…
たぶんゴテゴテ付け加えて、純朴さが失われる気もする。

2000/06/24() [n年前の日記]

#1 タッチおじさん

親父さんがワープロ専用機…いわゆる「タッチおじさん」、富士通製…を使ってるのですが。
こないだから、「フロッピーが読めない!」と言ってたのです。

修理に出したそうなのですが。
「異常なし」で戻ってきた。
でも、親父さんが試してみると、読めない。

それでまた修理に。
しかしまた、「異常なし」。

その話を聞いて、いくらなんでもそりゃ変だろう、と。
オイラも一緒に、フロッピーが読めるかどうか確認してみました。
ドライブはOKだけど、メディアがイカレてしまったのかな、とか思いつつ…

確かに読めないメディアがある。
でも同じ保存状況なのに、読めるメディアもたくさんある。
むむ〜?

なんのこたあない。
「タッチおじさん」は、フロッピーディスク毎に、文章用、年賀状用、デザイン用、etc、とデータの種類分けをしてるのですが。
それぞれのデータフロッピーは、それに対応するプログラムを起動してないと、読めない仕様になってるという…ただそれだけ。
そのプログラムと非対応のデータフロッピーをつっこむと、ひたすら、
「正しいフロッピーをセットしてください」
としか反応を返さないので、親父さんは「フロッピーが読めない!」と思っていたのです。

ハードもソフトもおかしくない。
おかしいのは、親父さんの操作。
どんなフロッピーでも「フロッピー操作」を選べば読めるもの、と思いこんでたことがトラブルの原因。

確かに、知識の無いユーザが触る機械ですから、とんちんかんなデータをガシガシ読み書きするのはマズイでしょうね。
また、関係無いデータのファイル名を表示するだけでも、ユーザが「文書名が見えるのに読めないぞ!」となるのが容易に予想できます。
ですから、こういう仕様であることは至極当然、とも思ったのですが。

…しかしですねぇ。
どうせ必ず、データフロッピーのデータ種類を毎回判別しているわけですから、
「これは○○○用のフロッピーです。XXXXでは読めません。正しいフロッピーをセットしてください」
といったメッセージ仕様にでもしとけば、こんなマヌーなトラブルは起きないのでは。
プログラムの処理内容を考えても、共通ルーチンに出来るでしょうし。
その機種で扱えるデータ種類も、仕様として確定してるわけだし。
難しい事とは思えない。

とりあえず。
知識をさほど持たないユーザ相手のメッセージ内容を考えるというのは、一苦労だろうな、と。
関連の仕事をしてる方、ホントご苦労様です。


それにしても。
「タッチおじさん」のタッチパネル導入。アレは正解。
親父さんの、タッチパネル操作と、PCのマウス操作を見比べて、つくづく「タッチパネルほど誰でも使える入力装置はないよな」と。
目の前にあるものを直接指差す…これほどわかりやすくて誰でもできる操作はありません。

PCの入力装置といえば、マウスですが。
マウスは、実はダメダメです。
PCに触った事の無い年配の方のマウス操作を一度目にすれば、絶対、「こりゃダメだ…」とわかります。
絶望感を持つ事、確実。
(「ダメ」というのは、利用者側の問題ではなく、マウスというインターフェイスの問題なので、その点誤解無きよう…)

もっと低コストで、簡便な入力装置、発明されないものですかね。
タッチパネルは、おそらくコストがなぁ。

こういったインターフェイスの不便さについては、3DCGやってる方なら日々感じてるのではないかな、とも。
3DCGの場合、入力のみならず、出力(作業時の画面表示)も、未だに、「これだ〜ッ!!」ってのが無いですよねぇ。

1999/06/24(木) [n年前の日記]

#1 (NoTitle) PM4:00起床。こんな...

PM4:00起床。こんなことでいいのか。否。じゃどうする。どうしよう…(オイ)

犬の毛がボワムシュボワムシュと抜けていく。どうもこの時期に、夏用の毛皮になっていくらしいです。
関係無いけど、犬が人間の言葉を喋ってくれたら嬉しいなぁ。「メシ!メシ!」「サンポ!サンポ!」「アソンデ!アソンデ!」とかそんな程度でいいから喋らんかな、などとしょーもない事を犬の頭をなでながらぼんやり思ってみたり。犬の脳に、コンピュータとかで補助脳を増設してそういう事できないかな。
…いや、犬に補助脳なんてもったいない。私が欲しいぞ。マジに。
誰か補助脳、作って〜(そりゃ無理だって (-_-;) )

メールを書いたり、掲示板にカキコする時、「『顔文字』とか『(笑)』とか入れて大丈夫かな…」なんて時々思ったりします。「ギャルゲー・エロゲーやるヤツは許せん!」って人がいるのと同様、「『顔文字』や『(笑)』を使うヤツは許せん!」って人もいるはずで、実は相手がそういう人だったらどないしょ、と不安になったり。(まあこういうモノに関しては、おそらくパソコン通信の草創期などに、きっと先人たちが色々と議論していると思うので、今更な話題なのかな、とも思いますが…私その頃パソコンから離れてたんで、全然知らないのよね (^^; )
ちなみに、私は『顔文字』や『(笑)』に関しては肯定派です。もう大好き。ナゼか? これらは自分の考えや感情を、もう一歩踏みこんで伝えよう、という姿勢の表れ、と常々思っているからです。実際同じ文章でも、『顔文字』等がつくだけで全然意味が変わりますし。せっかくより多くの情報を伝える方法があるのに、それを使わないのはもったいない。人間として、コミニュケーションに関するテクニックの習得に、絶えず貪欲でなければ。
とはいっても時々、知らない記号が出てきて「はて?」となったりすることもありますが…。でもそれは、知らない漢字や単語が文章に表れる、というのと同じようなもので、それほど目くじら立てることでもないだろうと。(もっとも漢字は辞書を見れば調べられますが、顔文字はそーゆーの普及してないか…)
それと、複雑な感情を『顔文字』一つで表現する…記号化してしまうのは問題がある、という反論もあるかも…。でも明らかに、使わないより使ったほうが情報量自体は増しているわけで。
…アレ…何が言いたかったんだっけ…? オチがないや。
…いつもか(爆)

以上、25 日分です。

過去ログ表示

Prev - 2024/04 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project