忍者ブログ

背伸びした視点のブログ


[PR]  2026 / 03 / 27 ( Fri )

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

りぐるんもみもみ  2011 / 05 / 09 ( Mon )

こんばんは。ぷりんおいしいですぽりです。



1.ぐるんぐるん


もいっちょイラストを描きました。

27bbe471.jpg


2ヶ月前に1枚イラストを描いたっきりにしようかとも思ってたのですが、今月号で最終回と聞いて居ても立ってもいられなくなりペンタブを握りしめました。
いつもイラスト関連はなんだかんだ言って逃げ腰なぽりも、今回だけはガチでやりたいと思い、かなり頑張りました。漫研所属の友人に添削を依頼したり、製作中ディレクトリの容量が170MBまで膨れあがるほどいろいろ描き込んだり。まあそれがクオリティアップにつながってるかと聞かれたら知りませんが。

二次創作はもとより、公式で頭の弱い子扱いされてたり、弾幕すら「簡単・きもい・参考にすべきじゃない」とボロクソ言われちゃってる彼女ですが、ぽりは大好きですよ?うん。



2.もみもみ

前エントリで欲しいと言っていたMinecraftですが、ついに買っちまいました。特に目的はなく広大な箱庭で冒険したり家を作ったりして生きるゲームです。
で、このゲーム、テクスチャーパックと言って地形やキャラクターのグラフィックを割と自由にいじることができます。


なのでちょいと触発されてテクスチャーを自作でいろいろ描いてみることにしました。


2011-05-09_03.57.34.jpg

Minecraftはゲーム中で狼が出てくるのですが、その狼を椛カラーにしてみました。あんまいじり過ぎると他のキャラから浮いてしまうのでこの程度のグラフィックいじりです。ちなみに設定としてはスカートなので後ろから見るとぱnごめんなんでもありません




3.げ、ゲーム製作もしてるんだからねっ!


ScreenShot_2011_0509_22_35_29.png
(クリックで原寸大 この画像自体は合成です。)

デバッグモードと通常モードを簡単に切り替えるようなシステムは結構面倒ですが、あればバグ探しが非常に楽になります。というか規模がでっかくなってくるとこういうシステム無いとバグなんて到底見つかりません。

拍手

PR

のーみそじっぷ  2011 / 04 / 29 ( Fri )

こんばんは。Minecraftすごく面白そうでやってみたいけどやったら最後、全ての時間が消し飛ぶ気がしてまだ手を出していないぽりです。サバイバルってオトコのコだよなあ


3.ウディタ小ネタ 圧縮テクニック


今回の内容は、前回言っていたとおり、処理速度と戦うための節約術の話です。つまりこの話は必死に学習したところでFPSがちょっと上がるだけの話。何か新しい事ができるわけでもありません。この話がよく分からなかったとしても何も心配する必要はないのです。

ということで大きく予防線を張ってから小ネタの話。



例えば、こんなコモンイベントを作るとします。

1:cself[0]に入力したフレーム数だけウエイトをする
2:ただし、ウエイト中に決定キーを押したらそこで中断



この処理自体はすごく簡単なものですね。


■回数付きループ [ このコモンEvセルフ0 ]回
|■ウェイト:1 フレーム
|■キー入力:このコモンEvセルフ変数10 / 決定(10)
|■条件分岐(変数): 【1】このコモンEvセルフ10が10と同じ
|-◇分岐: 【1】 [ このコモンEvセルフ10が10と同じ ]の場合↓
||■ループ中断
||■
|◇分岐終了◇
|■
◇ループここまで◇◇






さて、それじゃあこれを発展したこんな処理はどうやって作ればいいでしょうか。


3:どうせだからキャンセルキー・サブキーでも中断できるようにしよう
4:どうせだから[決定] [キャンセル] [サブ] [決定/キャンセル] [決定/サブ] [キャンセル/サブ] [決定/キャンセル/サブ]で中断方法は7択できるようにしよう




いきなり難易度が上がりましたね。まず何も考えずにこの処理を組むとこんな感じかな?

※cself[1]に中断させるキー選択肢[決定(1)][キャンセル(2)][サブ(4)][決定/キャンセル(3)][決定/サブ(5)][キャンセル/サブ(6)][決定/キャンセル/サブ(7)]です。なぜこんな謎の順番なのかは後々。


■条件分岐(変数): 【1】このコモンEvセルフ1<対応キー>が1と同じ 【2】このコモンEvセルフ1<対応キー>が2と同じ 【3】このコモンEvセルフ1<対応キー>が3と同じ
-◇分岐: 【1】 [ このコモンEvセルフ1<対応キー>が1と同じ ]の場合↓
|■変数操作: このコモンEvセルフ11<決定キー> = 1 + 0
|■
-◇分岐: 【2】 [ このコモンEvセルフ1<対応キー>が2と同じ ]の場合↓
|■変数操作: このコモンEvセルフ12<キャンセルキー> = 1 + 0
|■
-◇分岐: 【3】 [ このコモンEvセルフ1<対応キー>が3と同じ ]の場合↓
|■変数操作: このコモンEvセルフ11<決定キー> = 1 + 0
|■変数操作: このコモンEvセルフ12<キャンセルキー> = 1 + 0
|■
◇分岐終了◇
■条件分岐(変数): 【1】このコモンEvセルフ1<対応キー>が4と同じ 【2】このコモンEvセルフ1<対応キー>が5と同じ 【3】このコモンEvセルフ1<対応キー>が6と同じ
-◇分岐: 【1】 [ このコモンEvセルフ1<対応キー>が4と同じ ]の場合↓
|■変数操作: このコモンEvセルフ13<サブキー> = 1 + 0
|■
-◇分岐: 【2】 [ このコモンEvセルフ1<対応キー>が5と同じ ]の場合↓
|■変数操作: このコモンEvセルフ11<決定キー> = 1 + 0
|■変数操作: このコモンEvセルフ13<サブキー> = 1 + 0
|■
-◇分岐: 【3】 [ このコモンEvセルフ1<対応キー>が6と同じ ]の場合↓
|■変数操作: このコモンEvセルフ12<キャンセルキー> = 1 + 0
|■変数操作: このコモンEvセルフ13<サブキー> = 1 + 0
|■
◇分岐終了◇
■条件分岐(変数): 【1】このコモンEvセルフ1<対応キー>が7と同じ
-◇分岐: 【1】 [ このコモンEvセルフ1<対応キー>が7と同じ ]の場合↓
|■変数操作: このコモンEvセルフ11<決定キー> = 1 + 0
|■変数操作: このコモンEvセルフ12<キャンセルキー> = 1 + 0
|■変数操作: このコモンEvセルフ13<サブキー> = 1 + 0
|■
◇分岐終了◇
■回数付きループ [ このコモンEvセルフ0<WaitTime> ]回
|■ウェイト:1 フレーム
|■キー入力:このコモンEvセルフ変数10 / 決定(10) キャンセル(11) サブキー(12)
|■条件分岐(変数): 【1】このコモンEvセルフ10が10と同じ 【2】このコモンEvセルフ10が11と同じ 【3】このコモンEvセルフ10が12と同じ
|-◇分岐: 【1】 [ このコモンEvセルフ10が10と同じ ]の場合↓
||■条件分岐(変数): 【1】このコモンEvセルフ11<決定キー>が1と同じ
||-◇分岐: 【1】 [ このコモンEvセルフ11<決定キー>が1と同じ ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ このコモンEvセルフ10が11と同じ ]の場合↓
||■条件分岐(変数): 【1】このコモンEvセルフ12<キャンセルキー>が1と同じ
||-◇分岐: 【1】 [ このコモンEvセルフ12<キャンセルキー>が1と同じ ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■
|-◇分岐: 【3】 [ このコモンEvセルフ10が12と同じ ]の場合↓
||■条件分岐(変数): 【1】このコモンEvセルフ13<サブキー>が1と同じ
||-◇分岐: 【1】 [ このコモンEvセルフ13<サブキー>が1と同じ ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
◇ループここまで◇◇



わーこれはなげー

これでちゃんと動くので、これを完成としちゃっても別に問題はありません。特にウエイト処理を1フレームに複数入れる状況は理論上ありえませんので、別にここが長くても何ら影響はありません。ですが勉強のためにこの処理をとにかく短く書いてみましょう。



処理をとにかく短くするときに考えるべき部分は以下のとおり。

1.できるだけ条件分岐を作らない
2.できるだけ1つの計算・分岐に収まらないか考える
3.変数領域を節約しようとはあまり考えない(ちょっとしたことでも保存しておくと後々計算せずに呼び出すことがあるかもしれない)
4.処理を減らすアルゴリズムを考えるときに「ビット積」は地味に有用な場面が多い



さてこんな事を考えながら今のぽりが思いつく理論最短のキーウエイト処理を書いてみました。↑と全く同じ動きをするはずです。



※cself[1]に中断させるキー選択肢[決定(1)][キャンセル(2)][サブ(4)][決定/キャンセル(3)][決定/サブ(5)][キャンセル/サブ(6)][決定/キャンセル/サブ(7)]です。なぜこんな謎の順番なのかはビット積の処理のため。


■変数操作: このコモンEvセルフ12 = このコモンEvセルフ1<対応キー> 論理積 1
■変数操作: このコモンEvセルフ13 = このコモンEvセルフ1<対応キー> 論理積 2
■変数操作: このコモンEvセルフ14 = このコモンEvセルフ1<対応キー> 論理積 4
■回数付きループ [ このコモンEvセルフ0<WaitTime> ]回
|■ウェイト:1 フレーム
|■キー入力:このコモンEvセルフ変数10 / 決定(10) キャンセル(11) サブキー(12)
|■変数操作: このコモンEvセルフ10 += 1600002 + 0
|■変数操作: このコモンEvセルフ10 = V[このコモンEvセルフ10] + 0
|■条件分岐(変数): 【1】このコモンEvセルフ10が1以上
|-◇分岐: 【1】 [ このコモンEvセルフ10が1以上 ]の場合↓
||■ループ中断
||■
|◇分岐終了◇
|■
◇ループここまで◇◇




★簡単な解説★
6行目の「キー入力」処理によって、cself[10]には「決定キーが押されていたら10、キャンセルキーなら11、サブキーなら12、どれも押していなかったら0」が入ります。
その後2行の計算によって、cself[10]には「決定キーが押されていたらcself[12]の中身が、キャンセルキーならcself[13]の中身、サブキーならcself[14]の中身、どれも押していなかったらcself[2]の中身」が入ってます。
cself[2]は初めから何も処理してませんから必ず0。それ以外の3つには、1~3行目のビット積処理で「0または1,2,4」のどちらかが入っているので「指定した変数の中身が1以上か」を調べることによって分岐できます。
ビット積に関しては詳しい話を過去にしたのでこちらを参照。


わーめちゃくちゃ減ったー


基本的に条件分岐1個にかかる処理は、変数操作2~5個分とされています。この例の処理だと、最初のウエイトに入るまでの7つの条件分岐が3つのビット積に収まったのが大きく処理時間削減に役立ってます。





処理時間を減らすアルゴリズムの考え方はいろいろありますが、ぽりがよく使う考え方を紹介。


1.できるだけ条件分岐を作らない

「変数Xが0のとき変数YにAを代入、変数Xが1のとき変数YにBを代入」という処理、フラグ関連処理でよく使いますね。この処理に条件分岐は全くいりません。
Y=A+(B-A)*XでOK。


2.できるだけ1つの計算に収まらないか考える


例えば「変数Xが10以上15以下の時に分岐する」という処理、まあよくあるでしょう。これを実装するためには分岐を2つ使うのがベターですが、ドモルガンの法則により、この分岐は「変数Xが9以下でも16以上でもない時に分岐する」と書き換えることができます。これなら

■条件分岐(変数): 【1】このコモンEvセルフ10が9以下 【2】このコモンEvセルフ10が16以上
-◇分岐: 【1】 [ このコモンEvセルフ10が9以下 ]の場合↓
|■
-◇分岐: 【2】 [ このコモンEvセルフ10が16以上 ]の場合↓
|■
-◇上記以外
|▼ ここに処理を書く
|■
◇分岐終了◇


で条件分岐1つでOK。ウディタの条件分岐は1分岐が2つよりも2分岐が1つのほうがわずかに早くなるようです(ネタ元:だめだめはきだめ




主にこんな感じ。改めて言いますが、覚えたからって何か見た目が変わるわけじゃありません。完全な自己満足の世界です。でもある程度の製作ができるようになったら、自己満足に挑戦してみるのも趣味製作の醍醐味じゃあないかなー、って思うわけです。

拍手

常識的な非常識  2011 / 04 / 25 ( Mon )

こんばんは。コーヒーメーカー欲しいぽりです。




1.(まだ)ななしのげえむ


「とりあえず、主人公のグラフィックさえそれなりに完成していれば、それ以外が仮画像でもそれなりに見栄えする」という考えにより主人公グラフィックを先に描き描き。

ScreenShot_2011_0421_20_39_44.png


なんだか早くもGravity臭が漂い始めてきたのですが。







2.やっぱり許されなかったんやな

東方の新作をプレイ。

東方新作(体験版)ネタバレ注意
体験版とはいえ、公開して1~2週間のゲームのネタばれするのもアレだなあということで1クッション。悲しいぐらいに愛らしいね。

ゲーム内容に関しては、弾幕そのものはレベル低めに感じました。ただ新要素が、ねえ。ミスの8割が新要素アイテムを狙うときの事故でした。逆に言えば初めから狙わなければそう難しくなくクリアまで到達できそうです。


今回の作品もとても楽しかったです。毎度毎度かなり高い期待の中それに押し潰されず創り続けるってやっぱすげーなー、って思います。


おまけ(やっぱりネタバレ注意)



3.ウディタ小ネタ 圧縮テクニック


……を書こうと思ったのですが、もうギブアップ、ねむい!

ということで、この記事は数日以内に改めて書こうと思います。
具体的な内容は、「ウディタの処理速度と日々戦う方のための節約テクニック」です。つまりかなりウディタを使いこなした方向けのものでのっけから初心者置いてけぼりです。覚悟してください。

拍手

1年ぶりの感触  2011 / 04 / 18 ( Mon )

こんばんは。1時間早起きするために2時間早寝するぽりです。


1.メガネのいらない3D

実は最近3DSを買いました。うっはこれおもしれえ
で、テレビなりゲーム機なりで最近流行りつつある「裸眼立体視」。どうせだしやってみようか。


↓開始から2日後


t1.png
t2.png
(クリックで原寸大、平行法で立体視します。詳細はググるなりWikipediaなり)


http://u12.getuploader.com/pori0655/download/74/3DTest.zip



目が!目が!

立体視のゲーム製作をするときはめちゃくちゃ目が酷使されます。気軽な気持ちで立体視ゲー作ろうと思うと眼精疲労的な意味で本気で後悔するからやめておいたほうがいいよ。マジで。





2.次のゲーム?


ちょっとずつ製作は進んでいってます。



t3.png



まあ見て分かるような気がしますが、今作っているのはアクションです。ただのアクションではないだろうというのはお察し。



ただ、今回の作品は約1年ぶりにマウスを使わないゲームになりそうです。






い、1年!?

拍手

フリーにお金が関わるはなし  2011 / 04 / 09 ( Sat )

こんにちは。2日頑張ると3日やる気がなくなるぽりです。


1.次のゲーム?

製作も一段落したところで、気分で作りたい放題製作しています。いくつか作って、面白そうなのがあったら実際に製作開始するような感じ。


そうしてだいたいのコンセプトは決まったような感じがします。とりあえずまだ完全に仮画像ですが製作中画像貼り付け。

ScreenShot_2011_0407_03_24_53.png
(クリックで原寸大、全てが仮画像なので完成時には100%変わります)


まあもちろん仮にモノクロ画像を当てはめただけなので、雰囲気すら変わる可能性は大きいのですが、ぽりは過去にも何度か仮画像をそのまま本編で使用した前歴があるので完全にそうだと言い切れないのも現状。今だからバラしますが「plate」の主人公が犬なのはテストプレイ時の仮画像をそのまま使ったからです。








2.ちょっとアレな話 ―フリーゲーム作者のジレンマ

これはあんまり表立って言うようなお話でもないのですが、だからと言って忌避し続けたらこれからの同人ゲーム業界が決していい方向に向かわないであろうちょっとアレな話、お金の話です。アレなので続きは別ページにしておきますが、続きを読む前にちょっとだけ考えてほしい問題があります。


★Question:最近の3作品「Gravity」「MINIUCHI」「セトめで!」を作るのにかかったお金(製作費)はいったいいくらでしょう?


【制作費計算時の条件】
・製作者はぽり一人なので人件費とかはゼロ。
・電気料金・通信費・PC料金とかのインフラ費は考えない。あくまで「それぞれの作品を作るのに払ったお金」のみを計算



拍手

【え?フリーソフトのウディタで作ってるんだったら制作費0円だろ?[続き]】


プラグイン

サイト移動

メインページへ行く
背伸びした視点の日々
旧ブログへ行く
この視点の日々

ついったー

カレンダー

02 2026/03 04
S M T W T F S
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

プロフィール

HN:
ぽり0655
年齢:
36
性別:
男性
誕生日:
1989/04/16
自己紹介:
主に日記を書きながら、たまにゲームを作ったり作らなかったり。

最新記事

最新コメント

※ぽりが返信したコメントには、タイトル横にマークが付いています
[05/05 ALA1]
[07/28 MK]
[03/10 拍手したものです]
[12/25 NONAME]
[12/13 拍手したものです]

カテゴリー

ブログ内検索

アーカイブ

RSS

管理者専用