mieki256's diary



2017/04/30() [n年前の日記]

#1 [dxruby][gimp][python] ドット絵モドキ生成スクリプトの結果画像をDXRubyで描画して雰囲気を確認してみたり

_昨日生成したドット絵モドキ画像 を、DXRubyで描画してみて、どんな感じの画面になりそうか確認してみたり。



意外と悪くない、ような気もする。それぞれが動くと一つ一つの質の悪さも結構誤魔化せてしまうのかも。

確認に使ったソースは以下。画像は、 _0000.png を使用。

_test_draw.rb
# Tiny pixelart draw test with Ruby + DXRuby

require 'dxruby'

class MySprite < Sprite

  def initialize(x, y, img)
    super(x, y, img)
    @dx = rand(-0.5..0.5)
    @dy = rand(1..4)
    self.z = @dy * 2
  end

  def update
    super
    self.x += @dx
    self.y += @dy
    @dx *= -1 if self.x < 0 or self.x >= Window.width - self.image.width
    self.vanish if self.y > Window.height
  end
end

imgs = Image.loadTiles("0000.png", 16, 16)
sprs = []
cnt = 0

Window.resize(800, 600)
Window.loop do
  break if Input.keyPush?(K_ESCAPE)

  if cnt % 2 == 0
    w = imgs[0].width
    x = rand() * (Window.width - w * 1.2)
    y = -64
    sprs.push(MySprite.new(x, y, imgs[rand(imgs.size)]))
  end

  Sprite.update(sprs)
  Sprite.draw(sprs)
  Sprite.clean(sprs)

  cnt += 1
end

「なんだよ事前に画像作っておいて読み込んでるだけかよダッセー。その場で自動生成ぐらいしろよ」と思う人も出てくるだろうか…。一応、 _Ruby + cairo(rcairo) で生成してDXRubyで描画する例 もアップしてありますので組み合わせればそういうこともできるんじゃないかな…。ただ、おそらく生成時間が1/60秒では済まない予感も。Rubyは遅いので、というかこの場合使ってるcairoという描画ライブラリがちょっと遅いというか。

「コレのどこがドット絵だよテメーなめとんのか」と思った人はもっとナイスなアルゴリズムを考案してみてほしいなと…。コレは単に、ランダムな位置にランダムな色でグラデ塗りを置いてるだけ、だったりするけど、例えばダンジョン生成等のアルゴリズムを応用して矩形や円の繋がり方・隣接の仕方を調整できればもっとそれらしくなりそうな予感も。ていうか、 _Pixel Ship Generator がソレに近いアルゴリズムらしいけど結構それっぽく見えるというか。そんな感じで色々な案が思いつくんじゃないか、と。

もっとも、こういうのって使い道自体が思いつかないという問題が…。何に使えるんだコレ。

以上です。

過去ログ表示

Prev - 2017/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