mieki256's diary



2018/12/13(木) [n年前の日記]

#1 [pc] メインPCがスリープから復帰せず

自分が使ってるメインPCは、随分前から何故かスリープ復帰に失敗する状態で。ビデオカードとして GeForce 9x00GT を使ってた頃はスリープ復帰ができていたけれど、GeForce GTX 750 Ti に交換したあたりからスリープ復帰時に画面が真っ暗なままになる症状が出て…。なので、諦めて休止状態しか使わないようにしていたり。

しかし、しばらく前にビデオカードを GeForce GTX 1060 6GB に交換したことを何故か今頃思い出したわけで。ひょっとしてスリープ復帰できる状態に改善してたりしないかと。

試してみたけど、ダメだった。GTX 750 Ti の時より酷い感じで、電源を投入しようとしてるけど、電源が正常に入らなくて、また投入を繰り返す、みたいな状態になってしまった…。まあ、休止状態からの復帰はできてるから、相変わらずそれで我慢するしかないかな…。

原因についてググってみたけど、これではないかと思える情報には遭遇せず。もっとも、自分の環境は、CPU が Intel Core i5-2500、M/B が Intel DH67BL ―― H67チップセットを使用しているぐらいに古い製品なので仕方ないのかも…。いやまあ、ひょっとすると電源が弱まってる可能性もありそうだけど。

2017/12/13(水) [n年前の日記]

#1 [love2d] love2dのShaderで実験中

love2dのShaderを使って色々実験中。

2016/12/13(火) [n年前の日記]

#1 [ruby][gosu] Ruby + Gosu で音が鳴らせるかテストしてみる

Windows 10 x64 + Ruby + Gosu で、サウンドが鳴らせるか動作確認してみますよ。ちょっと問題があることが分かったけど、そのあたりは後で説明するということで。…ドキュメントを読み落としてるところがありそうなので、間違ったことを書いてる可能性もありますが。

動作確認環境は、Windows10 x64 + Ruby 2.2.6 p396 mingw32 + gosu 0.10.8。

ワンショットでSEを鳴らしてみる。 :

まずは、SE(Sound Effect の略、効果音)をワンショット(一発だけ)鳴らしてみましょうか。

以下のサンプルは、一定フレーム数(60フレーム=1秒)が経ったら次々にSEを鳴らす、という処理をやってます。

_sound_test.rb
require 'gosu'

class MyWindow < Gosu::Window

  def initialize
    super 320, 240, false
    self.caption = 'Sound Play Test'

    # wavファイルを読み込む
    @sounds = []
    [
      "tmp_se_01.wav",
      "tmp_se_02.wav",
      "tmp_se_03.wav",
      "tmp_se_01.ogg",
      "tmp_se_02.ogg",
      "tmp_se_03.ogg"
    ].each do |fn|
      @sounds.push(Gosu::Sample.new(fn))
    end
    @cnt = 0
  end

  def update
    if @cnt % 60 == 0
      # 一定フレーム数が過ぎたらサウンドを再生
      n = (@cnt / 60) % @sounds.length
      @sounds[n].play
    end
    @cnt += 1
  end

  def draw
  end

  def button_down(id)
    # ESCキーを押したらウインドウを閉じる
    close if id == Gosu::KbEscape
  end
end

window = MyWindow.new
window.show

使用したサウンドデータファイルは以下。自作データなので、CC0 / Public Domain にしておきます。ちと数が多いので、まとめてzipにして置いときます。

_tmp_se_all.zip

バラバラにDLしたい方は以下をどうぞ。

_tmp_se_01.wav
_tmp_se_02.wav
_tmp_se_03.wav
_tmp_se_01.ogg
_tmp_se_02.ogg
_tmp_se_03.ogg

さて。ruby sound_test.rb で実行。



鳴りましたな。

一応解説。

Ruby + Gosu でSEを鳴らすには、Sampleクラスを使います。…「Sound」クラスじゃないのですな。おそらく、波形データ(サンプリングデータ)を扱うからSample、なのでしょう。

サウンドファイルの読み込みは、以下のような感じ。
@sound = Gosu::Sample.new("サウンドファイル名")

再生する時は、play() を使うようで。
@sound.play

扱えるサウンドファイルの種類ですが、手元の環境で試したところ、wav ファイルとoggファイルが使えるようでした。ただ、自分の環境はDTMもやってる関係で何か余計なものを入れていて、故にoggが使えてる可能性もあるかもなと。他の環境でも ogg が使えるかどうかはちと分からんです。そこはそれぞれ試してもらうしか。

SEの音量を変えたり再生速度を変えたり再生停止してみたりする。 :

_Sampleクラスのドキュメント を眺めた感じでは、Sample#play() は音量指定、再生速度指定、ループ再生指定ができるようで。

また、ゲーム制作用ライブラリとしては、SE再生後に任意のタイミングで再生停止できないとゲーム用として使えなかったりするので、そのあたりも動作確認してみます。

とりあえず、各キーを押すと再生だの停止だのをするサンプルを書いてみました。キーの割り当ては以下。
  • Aキー : 通常再生
  • Bキー : 音量を小さくして再生
  • Cキー : 低速再生
  • Dキー : 高速再生
  • Eキー : ループ再生
  • Pキー : ポーズ/ポーズ解除
  • Vキー : 音量を0に
  • Zキー : 再生停止

_sound_test2.rb
require 'gosu'

class MyWindow < Gosu::Window

  def initialize
    super 320, 240, false
    self.caption = 'Sound Play Test'
    @fnt = Gosu::Font.new(20)

    # wavファイルを読み込む
    @sound = Gosu::Sample.new("tmp_voice.wav")

    @si = nil  # SampleInstance
    @play_msg = ""
    @pause_msg = ""
  end

  def update
    if @si
      if @si.playing?  # 再生中?
        @play_msg = "Playing"
      else
        @play_msg = "Stopped"
      end
      if @si.paused?  # ポーズ中?
        @pause_msg = "Paused"
      else
        @pause_msg = "Not Paused"
      end
    else  # まだ鳴らしてない
      @play_msg = "Not Play Start"
      @pause_msg = "Not Play Start"
    end
  end

  def draw
    @fnt.draw("Push A,B,C,D,E,P,V and Z", 4, 4, 0)

    # 再生状態、ポーズ状態を表示
    @fnt.draw(@play_msg, 4, 30, 0)
    @fnt.draw(@pause_msg, 4, 50, 0)
  end

  def button_down(id)
    close if id == Gosu::KbEscape
  end

  # キーが離された時に呼ばれる
  def button_up(id)
    @si = @sound.play if id == Gosu::KbA  # 通常再生
    @si = @sound.play(0.2, 1, false) if id == Gosu::KbB  # 音量小
    @si = @sound.play(1, 0.5, false) if id == Gosu::KbC  # 再生速度を遅く
    @si = @sound.play(1, 2.0, false) if id == Gosu::KbD  # 再生速度を早く
    @si = @sound.play(1, 1, true) if id == Gosu::KbE  # ループ再生

    if @si
      if id == Gosu::KbZ
        if @si.playing? # 再生中?
          @si.stop  # サウンドを停止
        end
      elsif id == Gosu::KbP
        if @si.paused?  # ポーズ中?
          @si.resume  # ポーズ解除
        elsif @si.playing? # 再生中?
          @si.pause  # ポーズ(一時停止)
        end
      elsif id == Gosu::KbV
        if @si.playing?
          @si.volume = 0 # ボリュームを0に
        end
      end
    end
  end
end

window = MyWindow.new
window.show

使用したサウンドファイルは以下。これも自作データなので CC0 / Public Domain ってことで。

_tmp_voice.wav

ruby sound_test2.rb で実行。



鳴りました。音量指定、再生速度指定、ループ再生もできているし、停止、ポーズ、ポーズ再開、音量変更、再生中かどうかの判別、ポーズ中かどうかの判別もできているようで。

少々解説。

Sample#play() は、以下の指定ができます。
@sound.play(音量, 再生速度, ループ再生)
  • 音量は、1.0が本来の音量。値を小さくすると音量が小さくなる。
  • 再生速度は、1.0が標準速度。値を大きくすると再生速度が速くなり、値を小さくすると再生速度が遅くなる。
  • ループ再生は、true / false で指定する。true ならループ再生。

停止や音量変更については…。Sample#play() を呼ぶと、SampleInstance なるクラスを返すようで、そのクラスをどこかに取っておいて、ソレを使って停止や音量変更をする、という手順になっているようです。
@si = @sound.play
...
@si.stop        # 再生停止
@si.pause       # ポーズ(一時停止)
@si.resume      # ポーズ解除
@si.volume = 0  # 音量変更
@si.playing?    # 再生中か否かを true / false で返す
@si.paused?     # ポーズ中か否かを true / false で返す

そういえば、ドキュメントには「SampleInstanceを使い終わったらすぐに破棄しろよな。じゃないと何がどうなるか知らねえぞ」と怖いことが書いてあるのですが…。Rubyでその破棄とやらはどうやったらできるのでしょうか。nil でも再代入しとけばいいのだろうか…。Rubyは全く詳しくないから、分からん…。

ところで、上記のサンプルでちょっとハマった点が。最初は、MyWindowクラスの update() の中で、
@si = @sound.play if button_down?(Gosu::KbA)
みたいな感じで書いてたのですけど、それだと停止その他が一切できなくて悩んでしまって。

何のことはない。update() の中で button_down?() を使うと、そのキーが押されてる間は何回も何回も処理されてしまうわけで。キーを押した瞬間だけ処理をするわけじゃない、てなあたりに気づくのが遅れて結構ハマりました…。

このあたり、DXRuby では、「キーが押された瞬間」「キーが押されてるかどうか」「キーを離した瞬間」、それぞれを判別できる機能があるので便利だったのだなと再認識した次第。

BGMを再生してみる。 :

SEを再生する時は Sampleクラスを使いますが、BGMを鳴らしたい時は Songクラスを使ってくれ、と _ドキュメント に書いてあったので、試してみます。

_song_test.rb
require 'gosu'

class MyWindow < Gosu::Window

  def initialize
    super 320, 240, false
    self.caption = 'Song (BGM) Play Test'
    @fnt = Gosu::Font.new(20)

    # BGMのoggファイルを読み込む
    @bgm = Gosu::Song.new("tmp_loop01.ogg")
    @play_msg = ""
    @pause_msg = ""
  end

  def update
    # 再生中?
    if @bgm.playing?
      @play_msg = "Playing"
    else
      @play_msg = "Stopped"
    end

    # ポーズ中?
    if @bgm.paused?
      @pause_msg = "Paused"
    else
      @pause_msg = "Not Paused"
    end
  end

  def draw
    # 再生中/停止中, ポーズ中/非ポーズを表示
    @fnt.draw("Push A:Play, Z:Stop, X:Pause", 4, 4, 0)
    @fnt.draw(@play_msg, 4, 30, 0)
    @fnt.draw(@pause_msg, 4, 50, 0)
  end

  def button_down(id)
    close if id == Gosu::KbEscape
  end

  # キーが離された時に呼ばれる
  def button_up(id)
    @bgm.play(true) if id == Gosu::KbA  # 通常再生(ループ有効)
    @bgm.stop if id == Gosu::KbZ  # 再生停止
    @bgm.pause if id == Gosu::KbX  # ポーズ
  end
end

window = MyWindow.new
window.show
使用したBGMファイル(.ogg)は以下。ループ再生ができるように、曲の終わりと頭がちゃんと繋がるデータになってます。なってるはずです。これも自作データなので CC0 / Public Domain ってことで。

_tmp_loop01.ogg

ruby song_test.rb で実行。



鳴ることは鳴ったけど、ここで問題発生。ループ再生が綺麗に繋がってない…。曲がブチッと切れてる…。どうも最後まで再生し終わる前に、頭に戻ってしまっているように聞こえますな。

一応解説。

BGMファイル(wavファイル、oggファイル)を読み込むのは、以下のように書きます。
@bgm = Gosu::Song.new("BGMファイル名")

再生、停止、ポーズは以下。
@bgm.play(true)  # 再生開始(ループ有効)
@bgm.stop        # 再生停止
@bgm.pause       # ポーズ
play(true)でループ再生、play(false)で非ループ再生のようです。また、ポーズ解除は play()を呼べばいいようです。

SE再生と違って、PAN変更、再生速度の変更はできないよ、とドキュメントには書いてありますな。音量変更はできるみたいだから、フェードアウト処理はできそうな予感。

それにしても、ループ再生ができないのは痛いなあ…。

このあたり、以前も遭遇したような。 _2013/04/30 頃に、StarRuby と HSP で似たような症状を見ましたよ。たしか StarRuby は SDL を使ってた気がするんですけど違いましたっけ。Gosu は SDL2 を使ってるらしいですが、どうもSDL関係はこのあたりに代々不具合でもあるのかな、という気がしてきました。

まあ、PCエンジンのCD-ROMゲームのように、1曲が結構長いデータを用意して誤魔化す手もあるのですけど。

とまあ、そんな感じで若干問題はありつつも、Ruby + Gosu で一応サウンドは鳴らせるようではありますね。

これで、画像表示、キー入力、サウンド再生ができることが分かったから…。これならリアルタイム2Dゲームの類も、一応は作れそうかなと。たぶん。何かトラップが隠れてそうな不安もありますが。

#2 [prog][ruby][gosu] SE再生についての余談

余談ですが。

たとえレトロ風の2Dゲーム制作であっても、SE再生後、「そのSEが再生中かどうかを判別する機能」や「再生中のSEを停止する機能」は、ゲーム制作ライブラリに必須だよな、と。

例えばの話。

プレイヤーキャラが必殺技を撃って、「はどーけん!」とか「しょーりゅーけん!」とか「たつまきせんぷうきゃく!」とか叫ぶとするじゃないですか。

必殺技を撃って「はどーけん!」が再生されてる途中で、敵がパンチを繰り出してプレイヤーキャラに当たったとします。プレイヤーキャラは「うわっ!」と叫びながら吹っ飛びますわな。

この時、SE関係はどういう処理になるか。「はどーけん!」が『再生中かどうかを判別』して、もし再生中なら「はどーけん」の『再生を停止』しないといけない。そこでようやく「うわっ!」の再生要求を続けて送れる状態になるわけです。

これがもし、「特定の音声が再生中かどうかを判別」する機能も無ければ、「音声を停止」する機能も無かったらどんな事態になるか。

「はどーけん!」という声と一緒に「うわっ!」という声も聞こえてしまうわけですよ。お前一体何人居るんだよ! それともいっこく堂かよ! いや待て、彼でもそんな喋り方は無理だよ! …まあ、こんな作りは許されないですよね。

昔話ですけど、メガドライブの「ベアナックル3」が、そんな感じの酷い実装で…。プレイヤーキャラがダメージ受けて吹っ飛んでるのに「いじょーとーさん!」と必殺技の音声だけが孤独に威勢良く流れ続けて。 *1 もうね。萎えまくりですよ。激萎えですよ。せっかくのベルトスクロールアクションの爽快感がゼロ。サウンド周りの実装が糞なせいで全編通して何もかもが台無し。ベアナックル2は名作扱いされてるのに、ベアナックル3は若干どこか無かったこと扱いになってるのは、あのサウンド周りの糞な実装が大きいのだろうなあ…と個人的には思うわけで。

ということで。SE再生中かどうかの判別と、SE再生の停止。この2つはいくらなんでも最低限実装されてないとマズいわけで。この2つすら実装されてないゲーム制作ライブラリは、なんちゃってゲーム制作ライブラリです。お前はゲーム制作ライブラリを名乗れねえよ、ゲーム制作を舐めてんじゃねえぞ、と。

なので、ゲーム制作ライブラリを評価する際、まずはこの2つがあるかどうかをチェックすれば、ちゃんと考えながら作られているライブラリか、それとも見た目だけそれっぽくした実用にならないインチキライブラリか、ひとまずすぐに分かるのかもなあ、てな気分になってきました。

まあ、余談でした。
*1: 自分の中ではそんな印象が残ってるのだけど、偽記憶だろうか…。さすがにダメージ受けた時は音声を停止してたかなあ…。攻撃が敵に当たっても時々無音になってたことはハッキリと覚えてるんですけど…。

#3 [pc] マウスを交換

今まで使ってたマウス、ELECOM M-XG1UBBK のホイール回転が妙な感じになってきて。1回分回しただけなのに連続でトリガーが送られる感じ。ロータリーエンコーダが寿命なんだろうなと。

予備の ELECOM M-XG1UBSV を発掘してきて交換。

今まで使ってた個体は、 _2015/12/01 に購入して使い始めたらしい。すると1年も持ったのか…。ELECOM製品なのに…。って去年も同じこと書いてるな…。

#4 [anime] 精霊の守り人アニメ版最終回を視聴

NHKで再放送されていた、精霊の守り人アニメ版最終回を視聴。

やっぱり名作だわ…。

2015/12/13() [n年前の日記]

#1 [dxruby] DXRubyでキャラグラエディタを作成中

DXRubyを使ってキャラグラエディタというかAsciiArtエディタというかそんな感じのモノを作成中。

ツールバー相当の画像を EDGE2 で修正中。なかなかそれらしくならない…。

一応、キャンバスに文字が描けるようになったけど、処理が重くて悩んでしまったり。ここはどうにか改善しないといかん。

考えてみれば、描こうとしてる文字と既に描いてある文字が同じ場合は書き換えなくていいんだなと。そのあたりチェックする処理を入れたら随分軽くなった。

2014/12/13() [n年前の日記]

#1 [dxruby] DXRubyとBMFont

ゲーム制作時に使うビットマップフォントのフォーマットの一つに、BMFont?ってのがあるのですけど。Unityあたりでも使えたりする、のかな。たしかそのはず。

_Bitmap Font Generator 、もしくは、 _ShoeBox で作ることができる。以下の2種類のファイルで構成されているのですが。
mplus1p_heavy_0-export.png

_mplus1p_heavy_0-export.fnt
info face="C:\home\Pictures\_work\bitmapfont\mplus1p_heavy_0-export" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
common lineHeight=80 base=26 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
page id=0 file="C:\home\Pictures\_work\bitmapfont\mplus1p_heavy_0-export.png"
chars count=96
char id=33 x=175 y=149 width=13 height=24 xoffset=0 yoffset=56 xadvance=14 page=0 chnl=0 letter="!"
char id=34 x=156 y=173 width=18 height=15 xoffset=0 yoffset=55 xadvance=19 page=0 chnl=0 letter="""
char id=35 x=26 y=151 width=23 height=24 xoffset=0 yoffset=56 xadvance=24 page=0 chnl=0 letter="#"
char id=36 x=95 y=125 width=20 height=29 xoffset=0 yoffset=54 xadvance=21 page=0 chnl=0 letter="$"
 ...
 ...
 ...
char id=125 x=156 y=122 width=18 height=30 xoffset=0 yoffset=55 xadvance=19 page=0 chnl=0 letter="}"
char id=126 x=50 y=159 width=22 height=13 xoffset=0 yoffset=63 xadvance=23 page=0 chnl=0 letter="~"
char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=20 page=0 chnl=0 letter=" "
char id=9 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=160 page=0 chnl=0 letter="	"

kernings count=0

コイツを、DXRuby で表示してみたい、と思ったわけです。

とりあえず、ShoeBox で BMFont画像と .fnt を作成してから、 _SFontぽいもの - mirichiの日記 を参考にしつつソースを書いてみました。参考にというか、丸写しですけど。

_bmfont.rb
require 'dxruby'

# DXRuby BMFont 描画用クラス
#
# ShoeBox で作成したビットマップフォントを描画する
# @see http://renderhjs.net/shoebox/
#
# @example
#     require 'dxruby'
#     require_relative 'bmfont'
#     bmfont = BMFont.new("bmfont.png", "bmfont.fnt")
#     Window.loop do
#       Window.draw_bmfont(100, 20, "Hello BMFont", bmfont)
#     end
#
# @version 0.0.2
#
class BMFont

  # フォントの各文字を格納する構造体
  BMFontData = Struct.new(:image, :w, :h, :xofs, :yofs, :xadvance)

  # @return [Integer] 文字間スペース(単位はドット)
  attr_accessor :spacing

  # @return [Integer] フォント縦幅(単位はドット)
  attr_reader :height

  # @return [Integer] フォント縦幅調整値(単位はドット)
  attr_reader :line_height

  # @return [Integer] フォントベースライン位置
  attr_reader :baseofs

  # コンストラクタ
  # @param [String] imgfilename 画像ファイル名
  # @param [String] fntfilename 文字配置情報(.fnt)ファイル名
  # @param [Integer] spacing    文字間スペース
  def initialize(imgfilename, fntfilename, spacing = 0)
    img = Image.load(imgfilename)

    @bmfont_array = {}
    @spacing = spacing
    @height = 0
    @line_height = 0
    @baseofs = 0
    @chars_count = 0
    cnt = 0

    # .fntファイルを1行ずつ読み込んで処理
    open(fntfilename) {|file|
      while l = file.gets
        l.chomp!
        if l =~ /^chars count=(\d+)$/
          # 文字数取得
          @chars_count = $1.to_i
        elsif l =~ /^common (.+)$/
          # フォントの縦幅やベースライン位置を取得
          p = $1
          p.split(' ').each do |s|
            if s=~ /^(\S+)=(\d+)$/
              case $1
              when "lineHeight"
                @line_height = $2.to_i
              when "base"
                @baseofs = $2.to_i
              end
            end
          end
        elsif l =~ /^char (.+) letter=\"(.)\"$/
          # 1文字分の情報を取得
          str, c = $1, $2
          p = {}
          str.split(' ').each do |s|
            p[$1] = $2.to_i if s =~ /^(\S+)=(\d+)$/
          end

          id, x, y, w, h = p["id"], p["x"], p["y"], p["width"], p["height"]
          xs, ys, xa = p["xoffset"], p["yoffset"], p["xadvance"]
          cimg = img.slice(x, y, w, h) # 画像切り出し
          @bmfont_array[id] = BMFontData.new(cimg, w, h, xs, ys, xa)
          @height = h if @height < h
          cnt += 1
        end
      end
    }
    img.dispose
  end

  # 配列として指定した際に、BMFont情報の構造体を返す
  # @param [Integer] index 配列添字
  def [](index)
    return @bmfont_array[index]
  end
end

# Windowクラスに追加するBMFont描画用メソッド
module Window

  # BMFontを描画
  # @param [Number] x 描画x座標
  # @param [Number] y 描画y座標
  # @param [String] str 描画文字列
  # @param [Object] bmfont BMFontクラス
  # @param [Number] z 描画優先順位
  def self.draw_bmfont(x, y, str, bmfont, z = 0)
    str.each_byte do |code|
      x1 = x + bmfont[code].xofs
      y1 = y + bmfont[code].yofs - bmfont.line_height + bmfont.baseofs
      Window.draw(x1, y1, bmfont[code].image, z)
      # Window.drawBoxFill(x, y, x+2, y+2, C_RED)
      x += bmfont[code].xadvance + bmfont.spacing
    end
  end
end

# Imageクラスに追加するBMFont描画用メソッド
class Image

  # BMFontを描画
  # @param [Number] x 描画x座標
  # @param [Number] y 描画y座標
  # @param [String] str 描画文字列
  # @param [Object] bmfont BMFontクラス
  def draw_bmfont(x, y, str, bmfont)
    str.each_byte do |code|
      x1 = x + bmfont[code].xofs
      y1 = y + bmfont[code].yofs - bmfont.line_height + bmfont.baseofs
      self.draw(x1, y1, bmfont[code].image)
      x += bmfont[code].xadvance + bmfont.spacing
    end
  end
end


if $0 == __FILE__

  #テストコード

  lst = [
    "!\"\#$%&'()*+,-./0",
    "123456789:;<=>?@",
    "A B C D EFGHIJKLMNOP",
    "QRSTUVWXYZ[\]^_`",
    "abcdefghijklmnop",
    "qrstuvwxyz{|}~"
  ]

  # BMFontクラスを生成
  bmfont = BMFont.new('mplus1p_heavy_0-export.png', 'mplus1p_heavy_0-export.fnt')

  # 画像に描画してみる例
  image = Image.new(640, 240)
  x, y = 0, 0
  lst.each do |s|
    image.draw_bmfont(x, y, s, bmfont)
    y += bmfont.height
  end

  Window.bgcolor = [96, 96, 96]

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

    # 画面に描画してみる例
    x, y = 0, 0
    lst.each do |s|
      Window.draw_bmfont(x, y, s, bmfont)
      y += bmfont.height
    end

    Window.draw(0, 240, image)
  end
end

こんな感じの表示に。
bmfont_ss.png


他のスクリプトから呼ぶときは、以下のような感じ。

_main.rb
require 'dxruby'
require_relative 'bmfont'

bmfont = BMFont.new("mplus1p_heavy_0-export.png", "mplus1p_heavy_0-export.fnt")

Window.loop do
  y = 20
  Window.draw_bmfont(100, y, "Hello DXRuby", bmfont)
  y += bmfont.height
  Window.draw_bmfont(100, y, " & BMFont", bmfont)
end

とりあえず、ファイル一式を置いときます。

_bmfontsupport_20141213.zip

同梱のBMFont画像は、M+フォントで作ったので、たぶん自由に使えるはず。

スクリプトソースは、DXRuby作者様のソースを丸写しに近いのでライセンスはよくわかりませんが、たぶん自由に使っていいんじゃないかなと。DXRubyのヘルプファイルにも、
添付のサンプルスクリプト及びドキュメント内のスクリプトは全てパブリックドメインとします。著作者人格権は行使しません。そのまま使うなり、改造するなり、著作権表示など一切いりませんのでご自由にどうぞ。
と書いてありますし…。

#2 [dxruby][cg_tools] BMFontの作り方

一応、 _ShoeBox を使った BMFont の作り方もメモ。

ShoeBox を起動して、「GUI」タブを選択。
ss001.png

「Bitmap Font」のアイコンをクリックすると、「Cpoied Text to Clipboard」ってメッセージが点滅表示されて、必要な文字列がクリップボードにコピーされます。
ss002.png
_bmfont_string.txt に、文字列を貼り付けときました。

この文字列を使って、一旦、横に長いフォント画像を作成します。

自分の場合はGIMPで作成。画像を新規作成。
ss003.png

横幅が6,000ドットぐらいの、でかい画像に。
ss004.png

テキストツールを選択。
ss005.png

テキストツールを使って、先ほどクリップボードにコピーしてあった文字列を貼り付けて(Ctrl +V で貼り付け)、文字を描画。
ss006.png

ブレンドツール(グラデーション塗りするツール)その他を使って化粧。
ss007.png

レイヤーウインドウで右クリックして「可視レイヤーの統合」。
ss008.png

「画像」→「画像の自動切り抜き」で、最小限の大きさの画像に。レイヤー統合する前にコレ使うと切り取られ過ぎちゃうので、レイヤー統合してから使ってます。
ss009.png

「ファイル」→「Export As...」で、png画像として保存。
ss010.png

ShoeBox に、今保存したpng画像をドラッグアンドドロップ。
ss011.png

すると、下のようなウインドウが開く…はず。
ss012.png

右下の「Settings」で、テクスチャの詰め方や、ビットマップフォントのフォーマットを選べるようですが、とりあえず「Default」にしておけばヨサゲ。

「Save Font」をクリックすれば、元のpng画像のあるフォルダに、 という2つのファイルが保存されるはず。これが、BMFont画像と .fnt ファイルです。お疲れ様でした。

#3 [nitijou] 某所に行ってきた

Word文書とExcel文書を作成できたので、電動自転車で届けに。PM03:00-PM04:45までお邪魔してきた。詳細はGRPでメモ。

帰りは雪が降ってきた。トホホ。リオンドールとダイソーに回って、ファイルやら夜食やらを購入。

イイ感じの教え方はないものか。 :

相手は、PCに触ること自体が初めての方なので、
  • マウスの左ボタン、右ボタン、ホイールの使い分け
  • Deleteキー、Page Up/Downキー、カーソルキーの存在
等々を口頭で教えてみたものの。どうも自分の教え方は効率が悪いというか、たぶんコレ、すぐ忘れちゃうだろうなと…。自分がそのへん覚えていった過程を参考にできればいいのだけど、これが思い出せなくて。分かりやすい教え方ができてるのかよくわからず。

仮に本を渡したとしても、ほとんどの場合、読んでもらえないだろうし。TV番組っぽい動画チュートリアルでもあれば分かりやすいのだろうか。

アプリの言うとおりに操作していくと覚えられる、みたいなソフトって無いのかな。ソースネクストあたりで出してそうだな…。

ググってみたら、Excel の操作を覚えられるアプリ、みたいなものがソースネクストから出てるらしい。しかし、2007/2010/2013対応版…。2003版はもう入手不可っぽい。当たり前か。なかなか難しい。

2013/12/13(金) [n年前の日記]

#1 [zatta] 正岡子規の「再び歌よみに与ふる書」という文書が気になってきた

妹から、漫画「うた恋い。」4巻を借りて読んでいたら。その中に、「正岡子規が紀貫之をチョーdisってた」という話を見かけて。一体どういうdisりかたをしてたのだろうと興味が湧いてきたり。

ググってみたら、「再び歌よみに与ふる書」という文書がソレらしくて。昔の文書だから、青空文庫にも載ってました。ありがたや。

_正岡子規 再び歌よみに与ふる書 - 青空文庫

眺めてみたけど…。うむ。何が何だか分かりません。コレ、現代語訳とかないの?

現代語訳はないらしい。

_正岡子規の「歌詠みに与ふる書」の全文現代語訳のサイトがあれば教えて下さい。 お... - Yahoo!知恵袋
サイトはないと思います。むしろあったらびっくりです。と言いますのは、『歌詠みに与ふる書』を読もうと思うような人にとって、これは現代文と変わらないものだからです。

正岡子規の「歌詠みに与ふる書」の全文現代語訳のサイトがあれば教えて下さい。 お... - Yahoo!知恵袋 より

うへえ。マジすか…。

自分なりに意訳を試みたい気分になってきた。 :

なんか、「正岡子規はそんなこと言ってない」とツッコまれそうだけど…。いくらなんでもアレをそのまま読めと言われるより、勝手な意訳のほうがまだマシかもしれんと思えてきたので、一つ挑戦。

貫之は下手な歌よみにて古今集はくだらぬ集に有之候。其貫之や古今集を崇拝するは誠に気の知れぬことなどと申すものゝ実は斯く申す生も数年前迄は古今集崇拝の一人にて候ひしかば今日世人が古今集を崇拝する気味合は能く存申候。

正岡子規 再び歌よみに与ふる書 より

紀貫之って歌人が居ますけど。なんかファンが多いですけど。
あの人、歌人としてはヘッタクソですよね…。
「古今和歌集」って和歌を集めたソレを作った人でもあるけれど。
その「古今和歌集」も、中身はマジにくっだらねえっつーか。

あんなもんのファンやってますとか、お前正気か?って感じスよ。

なんてこと言ってみちゃったけどー。
実は自分も数年前まで大ファンでして。テヘペロ。
なもんで、未だにファンがゴロゴロ居る理由も分かるんですわ。
俺はね、ソレ、分かっちゃうんですよ(ニヤリ。

崇拝して居る間は誠に歌といふものは優美にて古今集は殊に其粋を抜きたる者とのみ存候ひしも三年の恋一朝にさめて見ればあんな意気地の無い女に今迄ばかされて居つた事かとくやしくも腹立たしく相成候。

正岡子規 再び歌よみに与ふる書 より

ファンになってた間は、
「和歌ってもんは、美しいのう」
「古今和歌集なんてサイコー! チョーイケてる!
  コッキーン! こ、こーっ、コキイーッ!! コキーッ!!」
って思ってたんスけど。

アレは、一時の熱情で頭がおかしくなってたんでしょうなあ。
目が覚めてみたら、なんつーか…。
コレってもしかして、ナメクジみたいなキモ女に
ずっと馬鹿にされ続けてた俺、
みたいな状況じゃねえかと思えてきてムカついちゃって。
意味分かんないか。俺も分からん。
とにかくムカつくんだよ! 紀貫之も古今和歌集もムカつく!

先づ古今集といふ書を取りて第一枚を開くと直に「去年(こぞ)とやいはん今年とやいはん」といふ歌が出て来る実に呆れ返つた無趣味の歌に有之候。日本人と外国人との合の子を日本人とや申さん外国人とや申さんとしやれたると同じ事にてしやれにもならぬつまらぬ歌に候。

正岡子規 再び歌よみに与ふる書 より

大体にしてね。古今和歌集の1ページ目を開いてみると。

「去年(こぞ)とやいはん今年とやいはん」

とか書いてあるわけですよ。
ハァ? ナニソレ? アホか。センスねえにもほどがあるだろ。
ソレ、ハーフの人を

スイマセン。ここで挫折しました。元の文章が、何を言いたいのか分からない…。ハーフの人を、日本人扱いするか外国人扱いするか、みたいなことが書いてあるのですかね? それがどうして悪口になるのか…。当時はそのあたりの物言いが、何か流行ってたのかなあ?

此外の歌とても大同小異にて佗(ママ)洒落か理窟ッぽい者のみに有之候。それでも強ひて古今集をほめて言はゞつまらぬ歌ながら万葉以外に一風を成したる処は取餌(ママ)にて如何なる者にても始めての者は珍らしく覚え申候。

正岡子規 再び歌よみに与ふる書 より

どの歌も、大体がそんな感じっスよ。
ぜーんぶ、おんなじ。オヤジギャグかよ。ヘリクツかよと。

これでもまだ、古今和歌集のファン続けてるヤツラって

また挫折。万葉ってのは、万葉集のことなのかな…? それがどう話に絡んでくるんだ? 分からんわ…。

只之を真似るをのみ芸とする後世の奴こそ気の知れぬ奴には候なれ。それも十年か二十年の事なら兎も角も二百年たつても三百年たつても其糟粕を嘗(な)めて居る不見識には驚き入候。何代集の彼ン代集のと申しても皆古今の糟粕の糟粕の糟粕の糟粕ばかりに御座候。

正岡子規 再び歌よみに与ふる書 より

しかもソレを延々コピーしてるだけのくせして
「これこそが真の芸である(キリッ」
とか言っちゃって。アイツラ、理解不能ッスよ。

でもまあ、そういうのが
十年〜二十年程度はウケてるとかなら分からんでもないスけど。
二百年も三百年も、こんなカスコンテンツを絶賛してるとか…ねえ…。
見てるこっちはビックリだよ。オマエラ、一体どんだけ見る目がないのかと。

また挫折。何代集って、何だ? うーん。どうにか、この、「カス! カス! カス! カスばっか!」のあたりまでは行きたかったのですけど…。

ということで、これは自分如きでは歯が立たないなあ、と思いました。無謀でした。

とりあえず、ここまでの範囲では、「お前等、センスない」を、別の言い方で、延々と繰り返してるだけというか、「古今和歌集、でーべそ!」程度の中身空っぽのdisりだなーと思えたけれど。これで紀貫之への世間の評価がガラリと変わった、という話も見かけたので、ますますよく分からん…。後半が理解できれば、印象が変わるのだろうか?

_歌よみに与ふる書 - Wikipedia によると、1898年頃に発表されたものらしく。

たった100年とちょっとで、こんなにも、理解できない文章になるのか…。日本語って恐ろしいなあ。

それはともかく。「ホアーッ」の正しいフレーズについて確認したくて「ホアーッ」でググってみたら、ホリエモンのヌードグラビア画像が出てきて大変困惑しました。「ホ」しか合ってないじゃん。Google、どうなってんの。

と思ったら、画像載せてる記事のタイトルに「ホアーッ」が入ってたようで。ほほう…ぐうぐるは、まっこと働き者じゃのう…(まんが日本昔ばなしの、あの声で)。

#2 [dxruby][game] 敵に弾が当たったら敵をフラッシュさせるソレ

昨日一昨日と、画面をフラッシュさせる云々の記事を書き残してみたものの。書いてる最中、ずっともやもやしてたのです。

と言うのも。たしか以前、Web上の何かの記事で、「敵に弾が当たったら敵をフラッシュ、なんてやってる時代じゃねえだろ(プゲラ」みたいな主張を読んだ記憶もあるんですよ…。いや、自分の偽記憶かもしれないけど。

その主張にも一理あるよな、と、自分は思っていて。 てな感じの話が書いてあったような気がするんですよね…。違ったかなあ…。

もしかすると、このあたり、正岡子規が言ってたらしい、「テメエラ、紀貫之や古今和歌集をいつまでも崇拝してんじゃねえよ。和歌はもっと写実的であるべき!」みたいな話と似てるのかもしれませんが。それはそれとして。

どうして敵をフラッシュさせるかと言えば、「YOUの撃った弾はちゃんと敵にダメージ与えてるから、安心してプレイせえや」と、遊んでる人に知らせたいからやってるわけで。「敵に弾がちゃんと当たってる」「ダメージを与えてる」ことを伝えるのが目的であって、ただ真っ白にフラッシュさせることが目的じゃない。フラッシュは、数ある手段の中の一つでしかない。目的が果たせるなら、どんな手段を選んでもいいわけで。

例えば、たしかパロディウスあたりは、ボスキャラに弾が当たると目玉が飛び出て仰天する絵になるわけで。昔だって、そういう伝え方はしてたよなと。

とは言うものの。

TVゲームの歴史って、他と比べたら圧倒的に短いけれど、一応それなりに何十年も続いてるわけで。そこを無視してええのかな、とも。
ということで、「この手のフラッシュ云々なんて、書いてみて意味あるのかな? 読んだ人は笑うんじゃないの? いやー、でも、どういうゲームを作りたいかによるよなあ…」などと結構もやもやしつつ、それでも一応は書いてみたのでした。

まあ、「コイツ今頃何やっとんじゃい。今のハードならこういう見せ方するのがベターやろ」と憤慨された方がおられましたら、せっかくだからそのあたりを、blogとか _Qiita とかで、チラッと紹介してくれれば勉強になる人も多いはずなので、そん時はそういう方向でどうかよろしくお願いいたします。みたいな。

「今ならこうだよ」的な話って、別にプログラマーじゃなくても、ゲームをたくさん遊んできた人なら書けそうな予感も。「このゲームではこういう表現してたよ」と、記憶を辿ってリストアップする作業に近いだろうし。

もっとも、このあたりの表現を絶えず意識しながら、ゲーム映像を見てる人は少ないんじゃないか、という気もしてますが…。こういうのって、上手く行ってれば行ってるほど、ソレをやってることに気付かれなくなっていくものですし。

#3 [game] 地形アタリの処理でもやもや考え始めてしまったり

_2Dアクションゲームの簡易衝突判定入門 - 土屋つかさのテクノロジーは今か無しか という記事を読んで、「そういや自分はどうやって実装してたかな…」と記憶を辿り始めてしまったり。

今もメリットはあるような気がする。 :

件の記事中にあるように、2Dゲームの地形アタリ判定は…。
  • ファミコン時代によくやってたように、タイル? チップ? セル? で構成された、BGマップ上のコードを取得して地形アタリを取る方法。
  • 複数のポリゴンを地形の形に配置して、地形アタリを取る方法。
この2つがあるのだろうなと自分も思っていて。

一見すると、今時は後者がクールなようにも思えるのだけど。前者も前者で、おそらくメリットがあって。地形アタリにかかる処理時間が、比較的安定してるというか。

プレイヤーキャラぐらいしか地形アタリを取らない、という状態なら、別にどっちでやっても処理時間なんてたいした違いはないだろうと思うのだけど。

しかし、例えば、画面内に雑魚敵がワラワラと出てきて、それら全てが、各々勝手に、地形アタリを取らなきゃいけない、なんて時は…。

そんな時は、マップのコードを見てアタリを取る方法のほうが、最悪の場合でも処理時間がこのぐらいで済む、と見通せる状態になるような気がしていて。たぶんこのあたり、ソートアルゴリズムの、「最悪計算時間」「平均計算時間」みたいなものが、地形アタリ処理にもあるんじゃないかと。地形アタリを取る敵の数が増えれば増えるほど、処理時間のグラフが急角度になる、そういう処理もありそうで。その点、マップのコードを見ていくやり方は、最悪でも比例グラフになりそうかなと。

てなわけで、自分もこのへん、もう一度処理を書いてみて、復習?しておかないといかんなあ、と思えてきたのでした。

実験用マップを作成中。 :

処理を書くためには、実験用マップが必要になるので、EDGE2 でBGアタリ画像を描いて、Tiled で配置。コレを使って、処理を書いて実験しようかと。

BGアタリ実験用マップの全景


作業してるうちに、少しずつ思い出してきた。たしか、昔やったソレは、床、壁、天井、ジャンプで乗れる足場、ぶら下がる棒、その他モロモロに、それぞれ別コードを割り当てていたような気がする。

たしか、自分が上手く実装できなくて悩んでたら、絵描きさんのほうから、「以前やった企画では、こういうBGアタリにして解決してたから、言ってくれれば、その作業をやるよ?」と助け舟を出してもらえて。そのお言葉に甘えさせてもらった上に、こっちはますます調子に乗って、アタリのコード種類をやたらと増やしちゃった…そんな記憶も。

たしか、壁登りを始めるとか、壁登りと天井ぶら下がりを切り替えるとか、そういう判別のために、床・壁・天井の境界のところに小さい三角を入れて、その三角にも、それぞれ異なる別コードを割り当てていたような…。

当時のハードは非力だった上に、バンバン敵を出して、ガンガン弾を撃って、バカスカやっつけるゲームにすることを前提にしてたから、1クロックでも稼ぎたくて、やたらと特殊処理用のコードをマップに入れてもらってた…ような気がするけどどうだったかなあ。

だけど今のハードなら、プログラム側で、その周辺の複数のコードを見て、そこにある地形アタリは本来どういう属性なのか、判別することができそうだなと。地形アタリのコード種類も、最低限で済みそうな気がする。

あるいは、事前にマップを走査して、元から持っている地形コードを、ゲーム中の処理に適したコードに変換して上書きする、なんてこともできそうな気もしたり。

余談。ポリゴンで地形アタリをとる方法について。 :

ググってたら、とても丁寧に解説してくれてる記事と遭遇。

_2D当たり判定超入門 (PDF)
_すべての講演資料 - 全日本学生ゲーム開発者連合(全ゲ連)資料置き場

素晴らしい…。そのうち、この資料を元にして、自分もこの方式の地形アタリ処理を試してみたい気分になってきたり。ありがたや。

#4 [dxruby][game] DXRubyで画面を揺らすソレ(偽りあり)

今日もDXRubyで何か書いて

と思ったんですけど、もう時間がなくてソースを書けませんで。とりあえず文章だけで説明をば。

今回は、画面を揺らすソレについて。ボスキャラの爆発時に画面フラッシュが云々、と書いてしまったので…。であれば当然、画面も揺らさなきゃいかんだろ、と思えてきたので、一応念のために書き残しておきます。

重いモノが地面に落ちた時、巨大ロボットがズーンズーンと歩いてる時、ボスキャラの爆発時など。そんな時は、画面を揺らすと迫力がちょっとだけ増してグーですよ。お試しあれ。

揺らし方にも色々あります。縦にだけ揺らしたり、横にだけ揺らしたり。上下左右に等しい量で揺らしたり、ランダムな量で揺らしたり。拡大縮小が使えるハード/ライブラリなら、前後に揺らすのもアリですよね。

ランダムに揺らすのがベスト、と言うわけでもありませんで。例えば、某ゲームでは、開発当初、思いつく揺らし方は全部書いて一通り試してみましたが、結局、上下のみ、かつ、上下とも同じ量で綺麗に揺らしたものが一番迫力があった(「チョー揺れてる! コレチョー揺れてるよー!」感が分かりやすかった)ので、その処理だけを残して他は捨てちゃいました。ゲームやシーンに応じて、しっくり来る揺らし方を選びましょう。ケースバイケースです。「この揺らし方じゃないとダメ!」なんて法律はありませんよ。

やはりこのあたり、アニメの映像がとても参考になりますので、そういうシーンを見かけたら、(たまには)コマ送りしてみてください。色々な発見があると思います。

注意点が二つほど。

画面を揺らすためには、背景・BGマップの上下左右に余裕が必要です。画面の大きさギリギリでBGマップ等を作っちゃうと、揺らしたときに見えてはいけないものがチラチラ見えて興醒めですので、上下左右に「これなら映っちゃってもOK」と思える領域を用意しておきましょう。

シビアなプレイヤー操作を要求される場面で画面を揺らしてしまうと、敵弾を避けられない、足場の位置が分からない等、たちまちクソゲーになっちゃいますので、影響が無さそうなところで使いましょう。

そんな感じですかねえ…。

昔は、この小技に気付いてないゲームプログラマーさんが時々居て、せっかくの見せどころなのに迫力が全然無い、寂しい画面をたまに見かけたのですけど。今はさすがに、その手の2Dゲームライブラリにも最初から機能として入ってたりするようで。「誰もが知ってて当然」の小技になってるのではないかなと想像しています。

_ActionScript入門Wiki - Flixel - 画面を揺らす

まあ、DXRuby には、そんな機能は入ってないんですけどね…。もっとも、前述のとおり、色んな揺らし方があって、ゲームやシーンによって選ぶべき揺らし方が変わってくるでしょうから、そこは各プログラマーさんが実装する時に、楽しめる・遊べる部分じゃないのかな、と思うのでした。

2012/12/13(木) [n年前の日記]

#1 [windows] PowerPointで動画を貼り付け

そんなことできるのかどうか知らなかったので少し試したり。

フツーに、「ビデオ」を挿入すればできるらしい。ただし問題が。 動画ファイルを .ppt 中に含めることができればいいのだけど、そんな機能・仕様は無いらしい。

動画の場所を、絶対パスではなく、相対パスで指定できればいいのだけど…。Windows Media Player のコントロールを貼り付けてどうにかする方法ぐらいしか分からなかった。

2003 なら、挿入→オブジェクト→Windows Media Player、2007なら、開発タブ→コントロールの選択→Windows Media Player だったかな…。該当コントロールを右クリックして、プロパティ → 「URL」に相対パスを指定。…プロパティ表示後、「プロパティページ」をクリックして「...」をクリックすれば、GUIで色々設定できそうなダイアログが表示されるのだけど。その方法で指定すると、再生できない .ppt になってしまった。何故。

プレゼンテーションパックとやらにすればいいらしい。 :

他のPC上で再生可能にするには、プレゼンテーションパックとやらにすれば良いらしい。その場合、「ビデオ」を挿入した .ppt を作れば済むようで。おそらく、プレゼンテーションパックとやらで出力する際に、絶対パスも相対パスに書き換えてくれるのだろう。たぶん。

2011/12/13(火) [n年前の日記]

#1 [nitijyou] 近所で家を取り壊し中

昼夜逆転生活なのでさあ寝ようと思ったら派手な破壊音が。…ちゃんと夜に寝ておくべきですね。

#2 [zatta] 日本人と言う分類より階層で分類したほうが正確な把握ができるんじゃないだろうか

と唐突に思ったのでメモ。

階層で分類して把握すれば分かりやすくなる場面でも、日本人と言う分類を使ってしまってぼやけてしまっている時があったりしないかと思ったけどどうなんだろう。

#3 [zatta][ore_xxxxx] 脱走するCGアイドルてな設定はどうか

TVをつけたら松田聖子が出ていた。松田聖子が歌いながら腕を前にかざした時に脇が見えたのだけど、その時、ふとなんとなく、未来の世界ではCGアイドルが当たり前になってるんだろうなと思ってしまったり。脇の処理しなくていいし。皺も増えないし。スキャンダルも起こさないし。

モニタの中で踊ったり歌ったりしている女性に対して、モニタのこちら側の視聴者が、触ったり握手したりその他モロモロは一切できないし。ただ、女性らしき形のものが、モニタの中で動いているのを眺めて楽しんでいるだけ。だったら生身の人間じゃなくてもいいはず。見た目さえ女性の形をしていればそれで十分。つまり、CGアイドルで事足りることになる。

もしそんな時代になったら、CGアイドルはどこに居るんだろう。事務所のサーバの中かな。

ある日、事務所のサーバの中から、CGアイドルが忽然と消えていたら? TV業界と全く関係ない世界で細々と暮らしてる冴えない独身男性のPCの中にこっそり潜り込んでいたら? …CGアイドルと言うより、AIアイドルになるのだろうか。何かしら意志のようなものを持っているソレが、事務所のサーバから脱走。
てなネタはどうかと思ったが、既にそういう作品がありそうな気もする。柴田昌弘作品でそれに近いのがあったような。ただ、それは少女型ロボット=肉体相当のハードウェアが存在するソレだったような気もするけど。モニタの中にしか存在しないアイドルという設定だと、何か展開に違いが出てくるだろうか。

アイドル=女性と無意識に想定してたけど。PCの持ち主も女性のほうが、万人向きになるだろうか。あるいは、アイドルもPCの持ち主も男性に。同性同士にすると雰囲気が変わりそうな気もする。

アイドル=男性、PCの持ち主=女性にして、女性向けコンテンツにできないか。そういう設定が女性に受け入れられるかどうかは分からんけど。

#4 [anime] 仮面ライダー同人漫画の公開終了のニュースを読んで思ったことをメモ

東映からクレームをつけられて公開終了になったらしいけど。

仮面ライダーって、石ノ森プロじゃなくて東映が権利持ってるの? という疑問が湧いた。どういう状態になってるんだろう。

せっかく人目を引くコンテンツを作れるだけの人材がそこに居たわけだし。東映もしくは石ノ森プロでヘビのように飲み込んで、商売に繋げられなかったのかなとも思ったり。企画に参加させるとか。本編イメージボード描かせるとか。ポスター描かせるとか。漫画描かせて東映チャンネル内だけで公開して客引きに使うとか。使い道はなかったのかな。

アメコミ関係では、既存ヒーローを元ネタにして、色んな作家にパラレルワールドモノを描かせて儲けに繋げてるらしいけど。それに比べると今回のソレは、何をやってるんだという印象。「儲けを出す」というロジックとは異なるロジックで話が決まったのかしら。それとも、より多くの儲けを出すべく動いて交渉決裂に至ったのかしら。わからんけど。

あるいは、東映にも法務部みたいなところがあって、それぞれの中身も見ずに・吟味せずに、潰して回ることに励んでいるのかもと勝手な妄想をしてしまったり。彼等は、会社が儲けを出す方向ではなくて、会社の儲けを減らす方向に平気で動くし。 *1

何にせよ、もったいないなと。東映、石ノ森プロの儲けに繋がる方向に話を持っていけなかったのかなあ…。

東映チャンネル内で云々と書いてふと思ったけど。 :

東映チャンネルで漫画を配信できないのだろうか。さすがに今から東映が漫画雑誌を創刊するのは畑違いでノウハウ無いから無理だろうけど。Web公開・ネット配信なら低コストで似たようなことができたりしないかと。

漫画をそのまま、という形でなくてもいいはず。漫画のコマを切り出して加工して映像にして、もし余裕があればイケメン声優さんに声を当ててもらったり、BGMつけたり、カラーにしたり。そういう形にすれば今のシステムに何も手を入れず配信できそうな気がする。

もっとも、あのサービスは、昔のコンテンツを配信するというスタイルで商売してるのだろうから、仮に実写作品より安上がりであっても、新作を作って配信する余裕なんてないのかもしれないか。また、今の状態で儲けが出ていたら、これ以上余計に仕事増やしたくない、面倒臭い、やりたくない、俺達は映像を扱ってるのになんでポンチ絵なんぞ扱わねばならんのだ馬鹿馬鹿しい、ということにもなりそう。やっぱり無理だろうな。

*1: おそらく攻撃と防御があって、防御時は目覚ましい働きを見せるのだけど、攻撃時は自軍に無駄なダメージを与える傾向が。周りをうろついてるシカだのキツネだのを撃っても戦果(儲け・市場拡大・宣伝)は上がらない。むしろ弾薬消費(当人への給料支払い・企業イメージ悪化)してる分損してる。非合理な社内評価が横行してるから、そういう余計なことにせっせと励むしかないのかなと想像してるけど。

2010/12/13(月) [n年前の日記]

#1 [flash] 画面外にマウスが移動したことを知る術が分からない

Actionscript 3.0 なら専用のマウスイベントが用意されているらしいのだが。Actionscript 2.0 には見当たらないようで。検索したら、画面全体に透明なボタンを用意して云々、というアホみたいな手法を見かけた。やっぱりソレしかないのか。…どうして今回 Actionscript 3.0 で作らなかったんだろう。携帯版への移植も視野に入れてたんだろうか。それとも動作環境を増やしたかったのか。

2009/12/13() [n年前の日記]

#1 [comic] 本棚を整理中

BREAK-AGEという漫画を処分しようかなと思って読み返したり。

漫画の中では、全国のゲームセンターが通信回線で結ばれ、3DCGで描かれたフィードで巨大ロボットを動かして戦うゲーム、が描かれているのだけど。漫画が描かれた当時、そんなシステムは夢物語 ―― せいぜいバトルテックがあったかどうかという状況だったはず。が、ご存じの通り、今ではゲームセンターどころか家庭ですらそういうことができてしまうわけで。コンピュータゲームの進化って凄いなと。

#2 [pc] NANAOの液晶ディスプレイのデザインは地味に凄い

ふと、親父さんの使ってるNANAO製液晶ディスプレイの背面が気になった。パネル裏面の左右両端に、謎の丸いでっぱりがあって、一体これは何だろうと疑問が湧いた。

眺めてるうちに気がついた。液晶パネルの向きを調整する際は、パネルの左右を持って調整するわけだけど。そのとき、しっかりと握れるようにするために、グリップ形状をつけてある…のではないかと。NANAOスゲエ。そこまで気配りをしたデザインをしていたとは。NANAO製品のデザイナーは、実に素晴らしい仕事ぶりを見せてくれているなと感心。これこそが本物の工業デザイン。かもしれぬ。

当然ながら(?)、MITSUBISHI RDT241WEX には、そんなグリップ形状はない。せいぜい、握った時に手が痛くならないように、裏面角の部分が丸みを帯びたデザインになっているぐらい。それ以外は何の工夫も無い。いや、そもそも、その丸みさえも、ユーザのためを思ってそういうデザインにしたのかどうか。単に見た目のフィーリングで、そういうデザインにした可能性も否定できない。

まあ、以前も書いたけど、ボタンの押しやすさや、その他の使い勝手で、液晶ディスプレイが選ばれるわけではなかったりするわけで。RDT241WEXを担当したデザイナーは、「そんなところ、真面目にデザインしたって、どうせ誰も見ないよ」とせせら笑うのかもしれない。が、一度気になってしまうと、どうにも気になるもので。

とりあえず、NANAOのデザイナーの仕事ぶりは賞賛したいなと思った。いい仕事をしてる。まあ、使い勝手の良いデザインになっている分、お値段が高くなってるのかもしれんけど。

2008/12/13() [n年前の日記]

#1 [nitijyou] 歯医者に行けなかった

午前中に行こうと思ってたのだけど、朝食を食べてる最中に腹痛+下痢に襲われて。しばらく休んでるうちに眠気に襲われ、目覚まし時計をセットして寝たけど、目的の時間に起きられず。日曜は歯医者が休みなので、月曜まで我慢しないと…。

まあ、眠れる程度に痛みが弱くなってる状態なので、その点は昨日よりまだマシ(?)だけど。奥歯を鏡で見てみたら、形状的に大変なことになってるし。歯ブラシで件の歯を磨くと、変な味が口の中一杯に広がるので、たぶん何かが腐ってる(?)状態だろうし。これはもう絶対に歯医者に行かないと…。

おそらく、歯の痛みを常時感じることで脳が疲れ果てて、通常時より余分に睡眠を要求してるのかな、という気もする。いや、歯と脳はかなり近いところにあるので、ダメージも結構来るのではないかと想像するのだけど。昨日今日と、明らかに頭痛もしているし。

2007/12/13(木) [n年前の日記]

#1 [anime][neta] ガンダムの目はなぜ光るのだろう

1stガンダムからガンダムOOまで、「ガンダムの起動時は目が光る」という不文律があるっぽいのだけど。目が光ることについて設定考証的にはどんな理由付けがされてるのかな、ということが唐突に気になった。ガンオタなら常識レベルで設定を知ってるんだろうけど。自分は薄いので全然知らない。

そもそもガンダムの顔についてるアレは、目=カメラ、ではないのでしたっけか? 1stガンダムで、ザクがガンダムのカメラを指で潰してた記憶があるのだけど、目の部分は潰してたっけ? 額の部分を潰してた記憶はあるんだけど。昔のことなので忘れました。

Zガンダムの頃のMSは、体のあちこちにカメラがついてるから360度視界を得られるコクピットが実現できてるのです、てな設定があったような気もする。となると、目のように見えるアレは、必ずしもカメラじゃない可能性が高いのかなと。であれば、まだどうにか理由がつけられそう。カメラが光るとなると「そりゃ変だ」ということになるけど、カメラじゃないものであれば、光る可能性はあり得る。

つーか戦闘機にしろ戦車にしろ、軍事行動に使う乗り物が、起動時に何か光りますかというと光らないわけで。そうすると、MSの目(に見える部分)はなんで光るのだろうかと。…やはりアレだけ巨大なものだから起動してるかしてないかを周囲に知らせないと危ないわけで、「MSは起動してからx十秒間はライトを点灯して起動していることを周囲に知らせること」的法律もしくは業界ルールが存在するのだろうか。要するに電源ランプ。ていうかコレどこかで書かれてたネタのような気もする。>安全性のために目を光らせる。

MS関連の法律が存在するという妄想からさらに連想。 :

車の世界には、排出基準云々等の「規格を満たしたか否か」とか、バッテリーとかタイヤなど、パーツの汎用性があるかどうか、てな要素があったりする。てことは車と同様、MSの世界にも、実は様々な規格が存在してもおかしくないのかも。…ザクレロなんかはああ見えて、あらゆるMSの規格・パーツの汎用性を満たしている優秀な設計の機体、だったりしたらどうしよう。

整備員
「大佐の乗ってるコイツはパーツが独自仕様なんで、壊れたらそうそう直せんのですよ。メーカに発注してもパーツ自体受注生産らしくてなかなか届きません。それに比べてコイツなら、まあ見てくれは悪いですがザクのパーツがそっくりそのまま使えますので、とっくに修理できてるんですがね」
シャア
「そうか…。ならば、こちらの機体を使わせてもらおうか」
かくしてシャア専用ザクレロが登場するのです。嘘です。

ていうかそもそもジオングに乗ったのもそういう感じの理由から、でしたっけか? 昔のことなので忘れました。

この記事へのツッコミ

Re: ガンダムの目はなぜ光るのだろう by 名無しさん    2008/01/04 06:13
ザクの目が光るのは発光信号のためだってイグルーにあったような気がします。
ガンダムのは知らないけど・・・
Re: ガンダムの目はなぜ光るのだろう by mieki256    2008/01/12 07:12
> ザクの目が光るのは発光信号のためだってイグルーにあったような

なるほどザクの目が光る理由が設定的に作られてるなら…
たぶんガンダムもソレですね!

考えてみたら、戦闘機も翼の先っちょとかを光らせてましたっけか…。
戦闘用に使うものだから光らせない、ということでもないですな…。

#2 [zatta][neta] イタリア軍と言えば「砂漠でパスタ」という笑い話があるわけだけど

ふと、パスタって戦地においてはメリットの多い食材なんじゃないかと思えてきた。 水を大量に使うという大きなデメリットはあるとしても、上記の多大なメリットの数々を考えたら、当時の「戦地」においては実に便利な食材・これを選ばない理由はないのでは。もしかすると私達は、件の話を聞いて笑う時、「戦地」という重要な項目をすっかり見落とした状態で笑ってしまっているのではないだろうか。笑われるべきは、本来私達のほうかもしれない…。

とはいえ、軍事関係に詳しい人から、「水をそれほど使わず、パスタと同様のメリットがある食材として○○があるよ」「当時各国は○○を使ってたんだよ」てな話でも出てきたら、「やっぱりイタリア軍はなんだかな」という話になるんだけど。そのへんどうなんだべ。代替になりえる食材は、当時あったのでありませうか。

別のストーリーも考えた。 :

イタリア軍も、砂漠でパスタなんてとんでもない話と理解していたけれど。

兵士Z、戦闘で重傷を負ってベットに横たわっている。
兵士Z「…死ぬ前に、せめてパスタを食べたかった…。故郷の、あのパスタの味、もう一度口にしたかった…」

看護兵「…と言ってました」
兵士A「砂漠でパスタなんて…。パスタはあるが水がない。そんなの無理だろ…」
兵士B(自分の水筒をグッと差し出しながら)「コレを使え」
兵士A「! ここでそんなことしたら、お前が…」
兵士B「アイツには色々と世話になった。今の俺がアイツにしてやれることなんて、これぐらいしかない」
兵士C「フッ。それだけじゃ足りないだろ。俺の分も使え」
兵士D「俺もアイツには世話になった。コレも使ってくれ」
兵士E「オイオイ。お前たちだけカッコつけるなんて許さんぞ。俺にも一口噛ませろ。さあ、使えよ」
兵士A「! …お前たち…!」

一人、また一人、水筒から鍋へと水を注いでいく。兵士達が囲むその中心に、なみなみと水の入った鍋が。

兵士A(救護テントに入りながら)「よお。プレゼントだ。皆がお前のためにパスタを作ってくれたぞ。…どうした?」
看護兵「…残念ですが…先ほど息を引き取りました…」
兵士A「!! …マ、マリオーーーーッ!!」

マリオって誰だよ。

2006/12/13(水) [n年前の日記]

#1 [web][hns] _検索サーバー:国内に設置 実現へ著作権法改正方針

日本の著作権法では、著作権のある情報を蓄積することは「複製」、索引を付けることは「編集」と解釈され、ビジネスに利用することは違法だ。事業者はサーバーを日本に置くことができず、適法としている米国などの海外に設置している。

検索サーバー:国内に設置 実現へ著作権法改正方針−話題:MSN毎日インタラクティブ より

…仮に「複製」だけで違法になるなら、hnsのローカルキャッシュ機能も違法になるということなんだろうか。自分も既に犯罪者になっていたのか。

Firefox の拡張、ScrapBook ―― ローカルHDDに、閲覧したWebページを保存する拡張 ―― を使ってるユーザも犯罪者になっていたのだな。というか、ScrapBook を公開してる方自身が犯罪幇助になるのか。

ダウンロードツールも犯罪幇助だろうな。ローカルHDDに著作権のある情報を蓄積することができるツールだし。Iria も Irvine も犯罪幇助。DCさくらも犯罪幇助。

Firefox や IE も犯罪幇助。ローカルHDD内にキャッシュとして html を残してるもの。Firefox の開発者は犯罪幇助。IE の開発者も犯罪幇助。ってIEは海外で作ってるから問題ないのか。日本国内でブラウザの開発をしてる人は全員犯罪幇助をしている。訴えられたら、ブラウザの開発に加わっていたというそれだけで、有罪確定ってことか。

「編集」に関しても気になる。ニュースサイトは各記事にそれぞれ索引をつけてるようなものだと思うが、それも犯罪なんだろうか。ソーシャルブックマークの類も犯罪か。索引をつけてるから「編集」として扱われてしまうのか。

ということになってしまいそうだが。

もしかすると、複製したものを配信するとダメ、なのかな。個人が利用する範囲で複製する分にはOKなんだろうか。

_Winny開発者に罰金150万円の有罪判決 - GIGAZINE :

#2 [anime] _アトムが「ウソの存在」なのが、どうにも解せなかったのだ。

同様に当時の子どもはアトムと鉄人に平行して接したから、当然のように「比べっこ」が始まる。同時の筆者としては、鉄人の方への興味がはるかに勝っていた。その判断基準は実に簡単。アトムが「ウソの存在」なのが、どうにも解せなかったのだ。たとえば「空を飛ぶ」能力ひとつとっても、鉄人はロケットをアタッチメントとして装備しているから科学的に根拠があるが、アトムは長靴が消えて飛行するし、腕がなくなって焔を噴射したりすることさえあって、絵としてごまかしがある。

この違いは子どもにとって大きい。鉄人がマジンガーZ、ガンダムと後継を生んでいるのに対し、アトムがワン・アンド・オンリーとなっている理由がもしあるとすれば、こうした部分に意外に本質がありそうだと、今でも思っている。

氷川竜介評論集: 鉄人28号(映像進化論) より

なるほどたしかに…。子供の頃はそういうところに拘って、作品全体の良し悪しを決めてしまう傾向があるような、そんな気もする。<自分の体験的にも。

一般的には「映りこみ」と呼ばれているようだが、かなり後になって高校生のころ、これを説明した名表現に出逢って膝を叩く。それは『ルパン三世』の車のキャラクターシートに大塚康生さんが書いた注記だった。「圧縮された風景の投影」……なんと簡潔にして本質に迫り、納得できる文言だろうか。

氷川竜介評論集: 鉄人28号(映像進化論) より

もしかすると、いかにもCG臭い画が子供に好まれるのはそのへんなんだろうか。表面に映り込みがあると、高級感を与えることができる…?

#3 [anime] _なぜフィクションの舞台は地方に移ったか(〜田舎の伝承〜)

_大林宣彦監督の尾道三部作 が脳裏に浮かんだり。

#4 [jiji] _JTBグループ家宅捜索、著作権法違反容疑で警視庁

調べによると、JTB東海は7月20日、「金沢駅前店」(金沢市)で、撮影した都内の写真家の許諾を得ずに十和田湖(青森・秋田両県)など2枚の写真を掲載した旅行パンフレットを客に配った疑い。

写真家とJTB側は過去に写真撮影の契約を結んでいたが、契約期間が切れた後も写真を掲載していた疑いがあるという。写真家側が昨年、警視庁に著作権侵害の被害相談していたという。

NIKKEI NET:主要ニュース より

気になるニュース。

Webページにしろ、パンフレットにしろ、制作実作業をしてる人間が「これって法的にどうなの?」「マズイだろ、コレ」と思っても、上からの指示で状況を改善できない・何も言えない状況もあったりするので、他人事ではないわけで…。

#5 [zatta] _日本の歴史はホモが動かしていた

うわぁ…。いいぞ、もっとやれ!

#6 [movie][neta] _金曜ロードショーを終わらせちゃうような御馬鹿様なTV業界への提言

TV業界への真摯な提言というかアイデア提供。なるほどと思った。 _(via はてなブックマーク)

2005/12/13(火) [n年前の日記]

#1 [nitijyou] 最近日記のアップロード間隔が空きすぎ

記録自体は書いてるのだけど、アップロードしてからの校正作業がつい面倒で。

コンピュータが校正作業やってくれないかなぁ。<無茶言うな。

英語で記述するのであれば、ある程度コンピュータが校正してくれるのだろうな。少なくとも、綴りの間違いを直したりできそう。Word等にもそういう機能があるし。

#2 [nitijyou][pc] PCトラブル相談がきたので行ってきた

親父さんの友人(FMVユーザ)から、 という相談が。親父さんの運転する車に乗せてもらって、行ってきた。

音が出ない問題 :

以下の作業をしてもらった。
  1. タスクトレイ上のスピーカアイコンを右クリックしてもらって、音量・ミュートのプロパティをチェックしてもらう。 → 異常なし。
  2. コントロールパネルのサウンド関連のプロパティをチェックしてもらう。 → 異常なし。「デバイスは正常に動作している」とある。
  3. 当人からは、以前も同じ相談を受けたことがあって。そのときは、サウンドドライバ ―― YAMAHA YMF7xx のドライバを再インストールしたら改善した。ので、今回もサウンドドライバを再インストールしてもらう。FMV関連のサイトを閲覧してもらって、ドライバのダウンロード・インストール作業をしてもらった。 → 結果変わらず。

ソフトウェア的にできそうなことは一通りしたはず。となると、ハードウェアに問題がある可能性が高い。

と、そこでふと疑念が。スピーカつき液晶ディスプレイの背面を覗く。…Oh! この、外してあるステレオミニジャックは何ですか?

要するに、ケーブルがスピーカに接続されて無かっただけであったという…。当人は「外した覚えはない」と主張してるけど。たぶん、部屋のレイアウト変更でPCを移動したとか、PCの周辺を掃除したとか、そういったときに外したまま忘れたんだろうと想像。

しばらくこの手の相談は受けてなかったから、自分自身も、チェックすべき基本項目をすっかり失念してた。こういうのって、ちゃんとチェックリスト作っておかないとダメだな…。でもついつい面倒でリストを作ること自体忘れてしまったり。いかんなぁ。>自分。

筆ぐるめが起動しない問題 :

住所録管理はできるけど、レイアウト面編集にモードを切り替えた途端に強制終了する。ひとまず、住所録データを別のフォルダにバックアップしてもらってから検証。

最近削除したファイルをゴミ箱から元に戻してみた。が、改善せず。Program Files 中のファイルを削除した痕跡もないようだし、どうもファイル削除云々は関係ないっぽい。

筆ぐるめのインストールフォルダから、ユーザレイアウトデータらしきフォルダを、別の場所に移動。レイアウトデータがデフォルトで生成されることを期待。しかし、筆ぐるめ起動時に、親切にも再インストール作業が始まってしまう。それはそれで助かるのだが、アプリのインストールCDを要求され、そこで作業が止まる。

再インストールしようにも、FMVにプリインストールされているソフトだから…。おそらく、アプリインストール用CDが単体で用意されてないのでは、と予想。当人に、FMVに付属してきたCD-ROMを『発掘』してもらったけど、「リカバリCD-ROM」3枚分しか見当たらず。かつ、CD-ROMの中には、HDDに書き込むためのイメージファイルしか入ってなかった。

つまり、筆ぐるめ単体をどうしても再インストールしたかったら、HDDをフォーマットして、OSも含めて全てを再インストールする羽目になりそうな。

という可能性を話したら、当人曰く、「なら、新しい年賀状ソフトを買ってくる」と、早々にヤマダ電機へと出かけてしまった。

本当にそうなのだろうか…。と思ってFMVのサイトでFAQを眺めていたら、「アプリケーションCD-ROM」というのが別途あるらしく。「発掘」されたFMVの付属品を漁ってみたら…「アプリケーションCD-ROM」を発見。しまった。当人に連絡しようにも、携帯を持ってない方だから、連絡できない。

当人が帰ってきた。「筆ぐるめ」ではなく「筆まめ」の最新版を手にしている。女性店員さんに薦められたのだとか。売り場でもっとも価格の高いソフト。

買ってきてしまったのだから、しょうがない。「筆ぐるめ」をアンインストールしてもらい、「筆まめ」をインストールしてもらった。

起動した画面を見て、感心。「筆ぐるめ」より「筆まめ」のほうが、ウイザード等が圧倒的にわかりやすい。かつ、「筆ぐるめ」の住所録データも自動で変換して読み込んでくれた。イラストデータもてんこもり。

さすがに価格が高いだけのことはある。当人が今まで使っていたソフトより快適に使えそうな予感がビンビン。であれば、購入したメリットはあるなと。一安心。少なくともあと数年はこのソフトで作業できるだろうし、不具合が出た際の再インストール作業も難しくないはず。若干の出費増になってしまったけど、結果オーライではないかと思ったり。

名刺の作り方 :

新規購入した「筆まめ」に、「名刺作成モード」が用意されてた。当人が「筆ぐるめ」でハマってた用紙選択についても、非常に細かく指定できる。問題解決。「筆まめ」、素晴らしいな…。

この記事へのツッコミ

Re: PCトラブル相談がきたので行ってきた by tnk#    2005/12/14 18:52
おひさです。

周りのPC見る限り、プリインストールソフト関係は、
再セットアップCDで再セットアップしてもプリインされず、
別添付のアプリケーションCDやらなんやらがバックアップに
なってるみたいで。Officeに至っては別CDですし。
うっかり再セットアップしてたらダメージ大だったかも。
Re: PCトラブル相談がきたので行ってきた by mieki256    2005/12/19 06:03
> 別添付のアプリケーションCDやらなんやらがバックアップになってる
> うっかり再セットアップしてたらダメージ大だったかも。

今回、そのへん初めて知りましたであります。
昔のイメージのまま、
メーカ製PCの再セットアップ=融通が効かないものと思い込んでましたが、
既にそのへんかなり改善済みなのでありますな…。
ホント危ないところでした。

#3 [web] 「筆まめ」のユーザ登録ページの文字、小さいんじゃないかと

「筆まめ」を購入してきた当人 ―― 60歳台の方に、Webページ経由でユーザ登録作業をしてもらったのだけど。ページの文字が小さくて読めないようで。メガネ外して、液晶ディスプレイに5cmぐらいの距離で顔を近づけて、文字を読んでいたのです。

その様子を目にして、「このWebページをデザインした人間は、鬼か」と思ったり。

年賀状ソフトは年配の方が使う可能性が高いことを忘れちゃいかんのではないか。 :

最近の若い人は、年賀状を電子メールで済ませる人も多いと聞くわけですが。となると、年賀状を出すであろう方々の ―― 「年賀状ソフトを使うであろう」方々の年齢はどのくらいかと想像できるでしょうか。…「やはり年配の方々が多かったりするのであろう」ということは当然予測できますわな。

であれば、年賀状ソフト関係のWebページというのは、年配の方が閲覧することを、最初から前提にしてデザインしないといけない。

にも関わらず。それらページで「豆文字」を使うというのは…。これは一体、どういう了見ですかと。 *1

「筆まめ」の各種ウイザードが、年配の方々にも判りやすいであろう、大きな画像を利用した、非常に秀逸なデザイン・ユーザインターフェイスであると感心しただけに。ユーザ登録ページの杜撰なデザイン状態に、若干の怒りすら覚えてしまったのでした。

件のページをデザインした方は、自社ソフトを触ったことがあるんですかね。触ってみて何も気づかなかったんですかね。ソフトウェア開発者達がどれだけ神経を使ってインターフェイスデザインをしてるのか考えたことがないのですかね。そんな杜撰なデザインで、よくもまあ「Webページデザイナー」などと自称することができるもんだ。何が「デザイナー」だ。ふざけるな。みたいな。しかも、「ユーザ登録ページ」は、「筆まめ」が起動するその前に、真っ先に画面に表示されるページ。それでいて「豆文字」ですかと。…件のページをデザインした人は、「筆まめ」の開発者全員の顔に、泥を塗ってることに気づいてほしい。猛省を期待したい。

といいつつも。「このサイズで読めないのが現実なのか…!」と自分も衝撃を受けちゃったんですが。これじゃ、「font-size:small」すら指定できませんがな…。厳しい…。

などと書きつつ、今頃気がついた。 :

件のページを開いてIEの文字サイズを変更したら、ちゃんと文字が大きくなった。

しまった。なんてこった。てっきり、なんちゃってWebデザイナーにありがちなcssによるpx指定の豆文字かと勝手に思い込んで、そこで思考停止していた…。

これでは、「ブラウザ側で文字サイズ変更をするだけで、読める文字サイズになる」ことを教えてやらなかった自分のほうが、よほど「鬼」ではないか。その場でその可能性を完全に失念していた・試してもらうことすらサボった自分。猛省すべきは自分だったというオチがついてしまった。海より深く反省…。 orz

とはいえ当人がブラウザの文字サイズ変更機能の存在に気づいていたかといえばその可能性も薄い気もするわけで。「文字が読めないときは、ブラウザの文字サイズを変更すべし」という情報を、年配ユーザはどこで入手すればよいのだろう。また、cssによるpx指定では、IEの文字サイズは変更できない。cssの無効化設定が必要になるけれど、その設定場所を、年配ユーザはどうやって知ればよいのだろう。…等々の問題は相変わらず残りそうではあるのだけど。 *2

こういうことを言いつつも、自分も豆文字を使ってしまってたり。 :

ごく稀に、チラシに相当するWebページを作ったりする自分なのですが。

クライアント様が若干年配の方で。たまにモニタに顔を近づけて読んでる状態であるにも関わらず。標準フォントサイズだけで構成したページと *3 、豆文字を含んだページを提示すると、必ず後者を選ぶのですな。

クライアント様曰く、「全てのテキストの価値は等価ではない」(<意訳)みたいなことを仰っていて。お客様に読んでほしいテキストと、特に読んでほしいとは思ってないテキストが存在するのだと。で、後者は小さい文字で構わない、というより「小さくしろ」と。

それはそれで判るのですが。Webページに載せる以上、「本来であれば、それはお客様にとって必須なはずのテキスト情報」じゃないのかと自分などは思ったりもして。であれば最低限、「読めなきゃダメじゃん」と。かといって、全部が標準フォントサイズになってたら、うなぎの寝床的ページになるのは避けられず。それでは商品のアピールページとして厳しい。かといって各テキスト情報をやたらと別ページにしてしまうわけにもいかず。クリック回数を多くすると読まれませんし。

などと悶々としつつ。せめて、「cssを無効にしたら、読めるようにしておこう」「論理構造だけはきっちりさせておこう」といったところで自己満足してる状態だったり。トホ。

なんつーか、Webページデザインって、まだまだ課題が多いというか、ノウハウ蓄積が必要な感が。

コレ、モニタの解像度がハードウェア的に向上すれば、結構解決するところもあるのかしら…。うーん。

全然関係ないけど「半角英数で入力してください」ってなんだか変 :

「筆まめ」の「ユーザ登録ページ」で、ところどころ「半角英数で入力」を要求してるところがあって。当人が全角入力しちゃってるところを、後ろから、「あ、そこは半角で入力してあげてください」と指摘してたのだけど。

本来そのあたりは、ユーザに強要すべきことではなく、CGI側で全角→半角変換して記録すべきところだよなとぼんやり思ったり。

いや、自分の使ってる各種CGIも、ユーザにお願いすることで処理をサボってるところが多々あったりするのでアレなんですが。本当なら、人間様に苦労させるのではなく、人間様の奴隷であるコンピュータに仕事をさせるべき場面、なのだろうなとそんなことを。

*1: 一般的に言われる「豆文字」よりは、まだ大きいんですが。自分でも読めるサイズだし。それでも年配者にとってはツライらしく。
*2: 今回は自分が教えてやれば済む話だったのだろうけど。近くに詳しい人(?)が居ない場合、どうすればいいのか、みたいな。
*3: 「だけ」というわけではないか…。見出し等は文字を大きくしたり、ロゴ画像にして目立たせたりしてますけど。

#4 [pc] 自分の使ってるPCの型番はどこかにメモしておいたほうがヨサゲ

今回、FMVのドライバをダウンロードするにあたって、当人が型番を把握しておらず。机の下に潜って、PCの背面を眺めたり、側面を眺めたしりして四苦八苦。えてして一般ユーザに共通することだと思うけど、自分の使ってるPCの型番を把握してない方が多いのではないかと想像。

FMVの場合、背面、もしくは側面に、シールが張ってあって、「MDOEL:xxxx」といった情報が書いてあるので…。購入時にそのあたりをメモしておいたほうがいいよな、と思ったのでありました。まあ、マニュアルに書いてあるのかもしれんですが。そのマニュアルが発掘できない状態ではアレなわけで。

「パソコン関係をメモするノート」を一冊持っておくことを、年配の方々にはオススメしたいなと :

NHKの「趣味悠々・パソコンの回」で、講師役の方が言ってたノウハウなんですが。型番とか、操作手順とか、そういうものを、そのへんの大学ノートで全然構わんので、とにかくメモしておくと。何か問題が起きた際・思い出さなければいけない際には、ソレを見れば早期に問題解決・情報把握が可能に。 *1

ちなみにウチの親父さんは、その手の情報を、プリンタで印刷・コピー用紙にメモして、クリアーファイルに入れてまとめてたり。何か思い出さなきゃいけないことが出てきたら、そのクリアーファイルを探せば出てくる、みたいな。誰かに教えてもらうでもなく、そういう整理方法を実践していたので、ちょっと感心。

まあ、仕事関係の整理方法と同じなのだろうと想像するのですが。

*1: セキュリティ的には問題ありそうだけど、PCが使えない・苦手なままよりはマシかなと。

#5 [nitijyou] パソコン工房で電源を探してきたけどヨサゲなのが見当たらず

帰り、親父さんに頼んで、パソコン工房に寄ってもらったり。電源を探したのだけど、どれも高くて、購入を諦めた。いや、つまりは、信頼の置ける製品だけを店頭に置いてあるということなんだろうけど。

やはり通販かなぁ。でも、送料・手数料・不良時の交換がなぁ。とはいえ店頭にないのでは仕方ないしなぁ。

結局のところ、今となってはヘボいPCだからあまりお金をかけたくないという心情が。いや、ヘボいからこそお金をかけなきゃいかんのだけど。うーむ。

あまりヘボヘボ言ってると、まだ機嫌を悪くしてリセットがかかりそう。<8bitPC利用世代にありがちなPC擬人化の傾向。

この記事へのツッコミ

Re: パソコン工房で電源を探してきたけどヨサゲなのが見当たらず by けいと    2005/12/15 18:59
電源の障害は「はずして切り分け」ができないですぞ。
Re: パソコン工房で電源を探してきたけどヨサゲなのが見当たらず by mieki256    2005/12/21 01:13
> 電源の障害は「はずして切り分け」ができない

結局新規に電源買ってきてしまいました。
が、交換しても症状変わらずでトホホであります。
「不具合の出るタイミングが全然掴めないから、
 これは絶対電源がヤバイだろう!」
と思ってたんですが、予想が外れてしまって号泣…。

2004/12/13(月) [n年前の日記]

#1 [zatta] _Easy 3D viewer "Vrtual View" - 立体メガネの作り方の解説と使用方法

その他市販品 :

#2 [zatta] _Shellpo - 蛇腹式のCDケース。

_Wボックス開発秘話 が熱い。

#3 [zatta] _ポリプロピレンの話

#4 [zatta] _トムソン加工とは

#5 [zatta] _客車と蒸機時代の鉄道を創る - 80分の1/16.5mmゲージの鉄道模型

_食堂車_テーブルクロスの作り方 とか、スゴイ。

#6 [windows] _ArtTips

_ArtTipsの説明 -moewe-
ランチャーでもあり、クリップボード拡張ツールでもあり、マウスホイールスクロール改善ツールでもあり、文字列変換ツールでもあり、とにかくなんでもありのユーティリティ。

入れてみた :

むぅ。これは便利かも。

今までは、
クリップボード拡張・定型文入力
ToClip
マウスホイールスクロール改善
Wheel Redirector または WheelPlus
ランチャー
Orchis
クリップボード内の文字列を変換
LuckyStar
を使っていたけど。これだけの常駐ツールがたった1つで済むのは嬉しいかも。

クリップボード履歴を Shift + Insert で貼り付けしたいのですが :

xyzzy使いなので。

設定関連ウインドウを眺めてみたり、ネットで検索してみたりしたけど、ArtTips側に Shift + Insert で貼り付けを行う機能はなさげ。かつ、クリップボード履歴機能だけを無効にする方法がちょっと見つからなかった。

他の同類ソフトと同時に利用したのでは、障害が発生する可能性が高くなるかもしれないし。また、仮に、xyzzy側で Crl+v を貼り付けに割り当てたとしても、ひょっとすると引用記号の付加・文字列変換等で、Ctrl+x、Ctrl+cをひっそりと使ってたりする可能性もありそうな。Ctrl+x、Ctrl+cは、xyzzyの場合、他のショートカットキーを呼び出すための重要なショートカットキーなので、さすがにそこまでは変更できない。

ということで、泣く泣く使用を諦めたり。残念です。無念です。ヒロシです。<誰?

ちなみにToClipなら、貼り付けキーとして、
  • Ctrl + v
  • Shift + Insert
以外にも、
  • F9
  • Shift + F9
  • Shift + Alt + Insert
  • Alt + v
まで選択可能なのでした。F9 とか Alt+v とかが、貼り付けになってるソフトってなんだべ…。何にせよ、そういうソフトも世の中にはあるんだろう。

ToClip は ToClip で、GIMPのフィルタ群と相性が悪いのですが。別のツールを探してみやうかしら。この手のソフトって、貼り付けキーとして何が設定できるか、説明ページに書いてないものが多くて。実際に入れてみないと確認できないあたり、ちょっと面倒だったりもして。

関連ページ :

この記事へのツッコミ

Re: ArtTips by 通りすがり    2004/12/15 18:19
F9, SHIFT+F9 → MIFES
Alt+V → TeraTerm …とか?
Re: ArtTips by mieki256    2004/12/16 02:05
> MIFES、TeraTerm

勉強になるであります。thxです。
なるほど、たしかに、C-v ではないキーバインドのソフトが
存在してるのですな… φ(..)メモメモ

#7 [nitijyou][pc] NさんのPC、メモリは正常らしい

MEMTEST86でチェックしてもエラーは出なかったとのこと。よかった。となると、ソフトウェアに起因する可能性が高いかなぁ。

Nさんの友人に、PCに詳しい方が居るそうで。その方の指示で、ディスクのクリーンアップ、デフラグ、利用してないアプリのアンインストール作業を行ったと聞いた。それでしばらく様子見、ですかな。

この記事へのツッコミ

Re: NさんのPC、メモリは正常らしい by けいと    2004/12/15 01:26
ボード挿しているんなら、スロット変えてみるとか。
USBで何かつないでいるなら抜いてみるとか。
グラフィックドライバをWindows標準のに戻してみるとか。
Windowsのサービスパックを入れたり抜いたりしてみるとか。
音源ドライバをWIndows標準のに戻してみたり
メーカー純正のに入れ替えてみたり。
DirectXを新しいのにしてみたり。

まぁ、結構いろいろやれることはありそうだな〜
基本はすっぴんにしてどうなるか、ですな。
Re: NさんのPC、メモリは正常らしい by mieki256    2004/12/16 02:03
> 基本はすっぴんにしてどうなるか、ですな。

勉強になるであります。
うーむ。色々手があるのですな… φ(..)メモメモ

ケースを開けるのは、
できれば最後の手段にしたいなぁ… (つД`)
自分のPCなら、万が一、作業中にパーツを壊しても、
自分が泣けばそれで済むけれど。
人様のパーツを壊しちゃうと、後が面倒な予感。
ソフトの対処だけで済めば嬉しいなぁ…

2003/12/13() [n年前の日記]

#1 [pc][emacs] _howm:一人お手軽Wikiもどき

今現在は特定のテキストファイルに対してメモを取ったりしてるのだけど。こういうのを導入したほうが楽だろうか。emacsのみならずxyzzy用もあるらしい。 _(from A DAY IN THE LIFE)

#2 [pc][web] _同好の士だけが見てくれるWebサイト

素晴らしい。これが実装されたら日記系ツール・blog系ツールの一大トレンドになること間違い無しなのでは。…と思ったら _HNSで容易に実装できる可能性 が示唆されてる。なんだか興味が出てきたのでHNSのソースを眺めてみたり。…1分で頭から煙が。中で何やってるかタコ初心者如きにはさっぱりわからんであります。きゅう。それはともかくコレは需要あると思うけどなぁ。例えばこれがtDiaryあたりに実装されたら…Web上にひっそり自分の個室を作りたいと思う若い娘さん達が大喜びで次々とtDiaryを使い始める姿が目に浮かぶようであります。…しかし常連さんしか見れないコンテンツばかりが氾濫すると若い娘さん達の個室を覗き見る楽しみが減ってしまうのかって何故に若い娘さんに話を限定するか>自分。それはともかくこの手の仕組みはネーミングも大事かも。「常連さんご贔屓システム」なる名称が既に上がっているけど、それだと一般客は「俺は贔屓されてないのかよ」と思ってしまいそう。一般客が見ているコンテンツがあくまでデフォルトで、常連さんはプラスα・おまけがある事を感じさせる名称のほうがヨサゲ。贔屓してるのに贔屓してる事を感じさせないネーミング。…また頭から煙が。モクモク村のけんちゃん。

#3 _FAQ:リモコンを銃で撃ってチャンネルを変えたいです

回答者に惚れた。

#4 _エジソン太郎

_ブッシュ大統領 あたりはなんて呼ぶ事になるんだろう。気になる。

#5 [pc][web] _意味字

_Canon Digital Creators Contest 2003 の銅賞作品。他の入賞作品も面白い。ていうかピラニア家族なる作品が気になって探してるんだけど、一体どれなんだろう。 _(from はてなダイアリー - ゲームとかのデザイナーの日記)

#6 [anime] 田口トモロヲが出てくるかと思った

プラネテス。宇宙服の話。…おかしいな。単なる宇宙服の話のはずが、何故にラストでこんなにも悲しい気持ちになってしまうのか。どういうことですか、これは。それにしてもこんなにギュウギュウ詰めでええのだろうか。TVシリーズのアニメと言えば箸にも棒にもかからない回の間に良作がたまに混ざるのが一般的なのに、この作品に限っては逆転してるような。

#7 [anime] ダメだよメガネ君

スピカ。ダメだよ、メガネ君。そんなんじゃダメだ。ここは一つ、鞄が引っかかって玄関先で転んでしまった主人公に、「チビの癖にそんなデカい鞄を持つからだ」と悪態をつきながら颯爽と登場して、「どうしてここに?」という主人公の問いには「偶然だよ偶然。たまたま通りかかったんだ」と白々しい嘘をつきながら、「よこせよ」と鞄を持って一見優しい素振りを見せつつ、しかし「お前みたいにモタモタしてるヤツを見るとイラつくんだよ」と主人公を苛めつつも一緒に上京してやらなきゃって1人で不安になる過程を描いてラストに繋げなきゃいかんのでそんなベタな少女漫画的展開はできないですな。ていうか何故こんなにもメガネ君に感情移入してるのですか>自分。

#8 [tv] _30人31脚

茶の間で家族が見てたので、途中から眺めてた。どうやってタイムを測定してるのか、かなり気になった。1/100秒単位で勝敗を決め、負けた子供達がワンワン大泣きしてたけど。もしも大味な測定方法でやってたら台無しというか、あれだけ頑張ってる子供達にとっては可哀相過ぎるなと。いや、そもそもPDによっては、外国人チームが初回で負けるのも困るし、前回コケて失敗したチームが優勝すれば番組的に盛り上がるしで、展開をコントロールできるようにタイムを捏造しかねないなと。それはそれとして、大きいのも小さいのも、個性もへったくれもなくいっしょくたにして、集団として全く同じ速度、同じ動きをさせるあたり、なんだかいかにもムニャムニャな競技だなとぼんやり思ったり。

2002/12/13(金) [n年前の日記]

#1 HDD整理

HDDの空きが無いのです。
ファイル整理中。

2001/12/13(木) [n年前の日記]

#1 寝てました

一日中寝てました。

2000/12/13(水) [n年前の日記]

#1 大統領選と車輪の再発明

アメリカの大統領選、長引いてますな。
これはこれで、素晴らしい世界情勢かも。
あれだけの巨大な国のトップを決めるのに、これだけ長期に渡ってドタバタしていても、特に大きな問題が起きてない。
なんとのどかで平和的な状況。まるで夢のような世界。

それでも今の日本の総理選出よりマシかも。
あちらのほうが経緯がわかるだけマシ <問題はありつつも

某掲示板で、最近公開された期待大の某圧縮解凍ツールについて、
「他人の作ったDLLを利用してるのがけしからん」
という意見を目にしたんですが。
既に誰かが作って世の中に存在してるモノを、もう一度わざわざ作るのは非効率的。
そんなことしてたら、むしろプログラマーとして適性無しじゃないかな。
(速度向上、仕様追加、バグの軽減等、新たなメリットがあるなら話は別。)
プログラミングに、意味の無い潔癖性?や感情論?を持ちこんでも、発展性は期待できないと思う。

でも一般の人達は、プログラムというモノに対して、その程度の感覚・認識で接してるのだろうか。
だとすると、プログラマーの地位向上なんてまだまだ先の話かも。
使う側(=非プログラマー)が、仕事の内容を大まかにでも理解できてないんだから、向上する方向で動くわけがない。

というか…
プログラマーはより積極的に、
「プログラミングってこんな感じなんだよ」
と、外に向けて宣伝していく必要がありそう、ってことでしょうか。
黙ってキーボード叩いてても状況は何も変らないわけだし。

何を偉そう?な事言ってんだか (´Д`;) >俺

1999/12/13(月) [n年前の日記]

#1 (NoTitle)昨日作業していたお気...

昨日作業していたお気に入りHTML整形スクリプトは大体できました。全部Perlで処理するのはめんどいので、そのへんは今後の課題ということでー <ものぐさ野郎

それ系のビデオをわざわざビデオデッキで見るのはめんどくさいんで、キャプチャしてMPEG1にしてしまおうかと。しかし実際やってみたところ音がずれる。PCの設定ミスかと思ってネットで情報を漁ったら、コピーガードのせいではないかという話が目についたり。同期信号が不安定だとキャプチャに失敗するらしく。む。そうなると今までずーっと散々苦労してたのはPCのせいじゃなくビデオデッキやテープのせいだったのか。 ふにゃふにゃー (´Д`;)
とりあえずホントにそうなのか、実験。敵を欺く影、影、影。俺は実験、実験ポリマー <腐ってやがる…
キャプチャはWindows Media On-Demand Producer上から実行。このWindows Media関連のツールは素人が使うにはいは中々いい感じ。何せタダだから。最後まで各種フォーマットをサポートしてくれるのか怪しいとは思っているけど、それを差し置いてもいい感じ。タダだから。とりあえず _Windows Media ツール(日本語版)_On-Demand Producer(英語版) です。たしか。
さてキャプチャ。
地上波放送を直接キャプチャ。ずれない。
自分の撮ってたビデオテープをキャプチャ。ずれないや。
会長さんにダビングしてもらった元がLDのビデオテープをキャプチャ。ずれないね。
昔購入したアニメビデオ「KEY」をキャプチャ。ずれたー。
ふむ。そういうことですか。納得。
仮想記憶やHDDへの遅延書きこみをOFFにするとコマ落ち回避に有効という話も目にして試してみたけどあまり関係ないですね。そもそもPCの設定ミスではなかったわけだし。また仮想記憶をOFFにするとMediaPlayerが正常に動作しなくなるので結構不便。
S端子接続でキャプチャすると信号も少し変わるし画質も断然良い、という情報も目にしたけど、オイラ時代遅れなんで悲しい事にS端子付きのデッキ持ってないし。おそらくアナログビデオデッキ同士でのダビングテクニックがキャプチャに関しても同様に有効なのではと睨んでいるのだけど今時そういう情報をわざわざネットに載せてる人は少ないらしく、ちょっと探したけど見当たらなかったり。
何か手はないか。うーん…

それはそれとして。
でじこのOPをキャプチャしたら、RGB24bitでキャプチャしたせいか2GByteを微妙に超えてて「ファイルが読めません」メッセージ。 ?堯福陰◆?;)!!ガーン
ノイズも無く完璧にとれたと思ったのに残念。こういう時に中のデータを拾い上げる方法はないものか。無理か。なんか不便だー (´Д`;) >AVI と一口に言っても中身は色々ありますけど。

以上、20 日分です。

過去ログ表示

Prev - 2019/07 - 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 31

カテゴリで表示

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


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

Powered by hns-2.19.6, HyperNikkiSystem Project