--------

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2014-09-12

【ウディタ】経路探索の開発

どうもです。
前回の進捗状況で書いた経路探索がある程度形になりました。
しかし、まだまだ開発段階であり、調整する面は多くあります。
記事だけでは説明しずらいので動画を作りました。

↓こちらです↓



結構長めの動画になってしまいました。12分強・・・。
動画作るのも久しぶりだったので一日潰れました。
bgm等はフリー素材を使用しております。感謝しております。

まだまだ経路探索については理解できてない面が多いかなと思います。
ですが、形にはなったので少し安心しました。
見ればわかるのですが、まだまだ全然動物らしくないです。
よく考えたら、動物は一マスずつ検証するなんてことはしません。

全部作り直すかも知れませんねぇ~・・・。

視界の概念も作りたいんですけど難しい計算式が入りそうなのでなかなか取り組めないでいます。
とにかく難しい!頑張りましょう
では今回はこの辺で終わります
スポンサーサイト
2014-08-25

第6回ウディコンお疲れ様でした。

先日、第6回ウディコンの結果が発表されました。 ウディコンについてはこちら→ ウディコンについて
ウディコンの結果についてはこちら→ ウディコンの結果発表

結果を見る際は注意してください、総合順位は下のほうに掲載されております。
しかし、ウディタを開発なさったSmoking Wolf氏も言ってますが、総合順位だけがすべてではなく、プレイヤーが面白いと思ったかどうかなので、プレイする際は読者さんの心をぐっとつかむような作品をお探しすることをお勧めします
その目安として、総合順位がある、と思ってください。

いやしかし、ウディコンに参加された全ての方々、大変お疲れ様でした。
また入賞された方々、本当におめでとうございます。
今年のウディコンも相当熱かったですね。

僕は、時間足らずに作品を完成させることができず、参加できなかったのですが、
前述にいらっしゃいましたWolf氏がウディコンを来年開催することを確約してくださったので、これは気合が入るというものです!
ゲームのほうもより磨き上げていきたいと思っています。
とりあえず、ちゃんとしたゲームにしたいですからね。

この日記も少し不定期すぎるのでなるべく定期的に更新できたらなと思います。
目標としては週1ペースくらいが良いと思います
毎日じゃあネタが浮かばないですし、かといって1週間よりのばすとあんま変わってない気がするのでそれくらいで。

1週間でゲームの進捗度も少しづつ見せていけたら最高です。
休みが終わるので、こんな宣言して大丈夫なのか不安なんですけどね。


さて、ウディコンのほうですが、上位陣がかなり常連さんが多い印象です。
今回からやっと、作品の投稿数や投票数が落ち着いてきたみたいですね。
詳しいことはウディコン結果発表ページの最下部の主催者様の総評を見ていただくと良いと思います。

またウディコンは来年も盛り上がりそうです。というか盛り上げたいです。
とにかくゲーム完成させてやってもらえるだけで凄く嬉しいと今からわかります。
っていうかウディコンに参加してる方々が羨ましいです。
やっぱ一般評価がもらえるので悪い評価で埋まったらどうしようという恐怖はあるかもしれませんが
正直何かしらの評価が来るだけでテンションMAXになります。もうなりたいです。

まぁ、それは来年の話です。いまは時間見つけてゲーム作るだけです。

しかし最近ゲーム製作が億劫です。
というのもアイデアが浮かんでも思考が停止してしまうのです。
うーん、うーん、と考えているうちにいったん横になりたくなって布団にGOしてしまい、
横になると頭が冴えるという変な性質を持っている僕は、そこであーだこーだと考えてひらめくのですが
巨悪な布団パワーにより深い眠りについてしまう。こんなループにはまってしまっているのです。
休みのぐーたらのせいで僕のオツムがびしょびしょです。

ゲ製は、昼間の自宅でやっても全く長続きしません。
ある程度の区切りまでいってしまうと一度席を離れてしまいます。
その時はちょっと休憩と思いながら離れるのですが、2時間近くは帰ってこないということがザラです。
これは勉強もそうですが、やる気がないときはとことんなくてたとえあったとしても一時的です。
これを長続きさせる方法は簡単です。
誘惑を近づけないことです。
まず、ネットという誘惑です。
インターネットにつながっているだけで作業なんてできるわけがありません。
作業用BGMちょっとだけ・・・といってyo○tubeやらニ○動へいくと、ページトップの動画に目移りし、この動画ちょっとだけ・・・と思って再生すると、関連動画にも気になる動画があって、そのままあれよこれよと言ってるまに時間が過ぎ去っていきます。ウディタのサボりタイマーも更新していきます。

ちなみに悲報ですが、先日僕が製作中のゲームのサボりタイマーが作業タイマーを上回りました。

さらに別の誘惑でいうと、携帯です。
スマホや携帯が横にあると、ついつい気になって触ってしまいがちです。
作業の手を止めることになってしまいます。

ほかにもさまざまな誘惑が襲ってきますが、やはり一番影響が大きいなと個人的に思うのがネット。
ネットさえ接続しなければ作業に関しては集中できるはず。
実際、このブログを書く作業もネットを介して作業を止めてしまっていることの一つでもあるのです。
そうだと考えれば、不定期更新だっていいじゃないか。定期更新なんてやめやめ。

もし、僕が定期的に更新できなかった場合、このような言い訳を考えています。
よろしくお願いします。
2014-08-06

【ウディタ】キー入力について2

どうも。
お久しぶりです。リルです
4ヶ月前にずいぶん興奮気味で記事にした「ウディコン」がすでに開催しています!
ウディコンとは僕がゲーム製作に使用しているソフト「ウディタ」のゲームコンテストのことです
通称:ウディコンなわけです。

まぁ、いったんウディコンの話は置いときます。
ずいぶん長引いてしまいましたが、前回の記事のキー入力について詳しく解説したいと思います。
キー入力のことがよくわからない人は、前回の記事を見てくださいね

ウディコン用のゲームを製作していてブログを更新できなかったのですが、確か議題は「一つの変数で基本キーと特定キー両方を取得できるようにする」とかだったような気がします。

そしてヒントとして「キーを離したかどうか監視する」みたいなことを書いた記憶があります。

実際には一つの変数で基本キーと特定キーの両方を取得することはできないわけですが、
それに似たような処理は作れるということで実践してみたいと思います。

まず、基本キーと特定キーを入力待ちにチェックを入れずに二つ取得しておきます。
キー入力1

ではもし、この時二つとも入力待ちにチェックを入れたとするとどうなるかやってみましょう
このような処理にしてみます。
キー入力2

この場合、決定キーを押したときにデバッグ画面に決定と文字が出れば成功
また、Aキーを押したときにデバッグ画面にAと文字が出れば成功です。

ちなみにデバッグとは作った処理が正しく実行されているか確認することをいいます。
ではやってみましょう。

まずは、決定を押してみてデバッグの反応をみます
キー入力3

はい。このようなデバッグになります。何も反応していないことがわかりますね。
これはAキーを押しただけでも同様です。同じコモン内に二つの入力待ちの変数を作ってしまうと
反応してくれなくなります。実はたまに反応するんですけど、これではゲーム操作になりませんよね。

ですが、僕はどうしても基本キーと特定キーを一つのコモンで取得したいのです。
しかし、入力待ちにチェックを入れないとキーを一回押したら一度のみ実行するということができません。
なので入力待ちなしで、キーを一回押したら一度のみ実行するということをしなければなりません。
そのためにはキーを離したか監視すればできるといいました。

ですがそもそも、キーを離すとはどういうことなのでしょうか。
これについて解説します。

キーを離すということはどういう状態になることかについてです。
まず、キーを押している間の変数に入力されている値を確認します。
先ほどの二つの変数で基本キー特定キーを入力待ちなしで取得している画面にて、
決定キーを押しっぱなしにした場合のデバッグを見てみますね。

この処理の状態で・・・
キー入力4

決定キーを押しっぱなしにすると・・・
キー入力5
このようにデバッグは決定を表す値10が連続して入力されます。

このまま押しっぱなしだった決定キーを離すと・・・
キー入力6

このようなデバッグになります。
いままで10を取得していた変数は0の値になるんですね。
つまりキーを離すということは押していたキーの値が0になるということなんです。

この10が0に変わった瞬間決定キーを離した瞬間なわけです。

これは決定キー限らずどのキーでも離すと値が0になります。
もともとキーを押していない状態が0なんですね。

では、どのようにキーが0になる瞬間を監視するか?
キーが0になる瞬間を監視するというのはキーを離したかどうかを監視する。これをもう少し具体的にいうと、「キーを押してる間はそれ以外の処理を実行しない」ということなんです。
これは、キーを押している間はキーを離したかどうかにのみ集中するということでもあります。
一つの事柄に集中できる便利な処理があります。

それは「ループ」です。

ループをしている間はそのループ内の処理にのみ集中しますよね?
これを利用します。

ループをするタイミングはキーを押した瞬間。
ループを中断するタイミングはキーを離した瞬間です。
ループしている間に押しているキーを離したかどうか。
決定キーの場合、10だった値が0になったかどうかを確認し続ければいいわけです。

そんなかんじの処理がこちらです。
キー入力7


薄い青で囲われている部分がループ内の処理になります。
この形ならば、入力待ちがなくても一回押したら一度きりの処理が可能になります。

別の変数をこんなふう並べちゃっても・・・(コモン行数内に収まらなかったのでコメント文は消してます。サーセン)
キー入力8


デバッグではちゃんと決定キーを押したときは決定。Aキーを押したときはAと一回きり表示してくれます。

【決定キーを押したとき】
キー入力9
【Aキーを押したとき】
キー入力10

ここまで、長い文章を見てくださった方。お疲れ様です。
長文失礼いたしました。

ですが、実はこの処理にはまだ欠点があります。
長押し」に対応していません。

入力待ちの場合でも、決定キーやキャンセルキーは長押しできないんですが、矢印キーは長押しに対応しているんですね。
しかし、この処理はどの場合でも長押しができません。

この記事は長くなってしまっているので、いつか長押しに対応できる処理も紹介したいと思います。
といってもこの処理をいじることで長押しもできるようになります。
みなさんも挑戦してみてください。
ではでは。
2014-03-31

【ウディタ】キー入力について

どうもです。
ウディタのキー入力について、製作している段階で困ったことが生じたのでいろいろ考えたのですが、解決いたしました。
今回はその話をしたいと思います。

まず、僕が何に困ったかというと
ウディタのキー入力では、決定キーとキャンセルキーと同時に特定キーを取得できない
という点です。

何が言いたいかというと、ウディタではキー入力時、決定キーとキャンセルキーやサブキー、方向キーは一つの変数で取得できますが、決定キーなどと一緒に特定キーも取得したいときにそれができないということです。

↓決定キーなどの主要キーの取得とキーボード全キーの取得が別々のため、一つの変数で取得できない。
キー入力1

入力待ちのキーを取得する場合、二つの変数の入力待ちにチェックを入れて取得するとうまく動作しません。

では、入力待ちのチェックを外して二つ取得すればいいじゃんとなります。
キー入力11


確かに入力待ちのチェックを外して取得すると二つの変数に基本キーとキーボード全キーで入れてもちゃんと動作します。ですがここでさらに問題が発生します。

そもそも入力待ちというのは、キーを押したときにその動作が瞬間的に何回も続かないように制御するためのものです。
では実際に、キー入力の動作を確認してみましょう。
キー入力にチェックをいれた変数と入れない変数で動作の確認をします。
まず、チェックを入れてない変数のデバッグを確認してみましょう。
下のようにコモンを組んで決定キーを一回のみ押してみます。
キー入力3

するとデバッグはこうなります。
デバッグ2

このように、入力待ちにチェックを入れないとたった一回のみキーを押したつもりでも実際には何回も実行してしまいます。
では、入力待ちにチェックを入れた状態でさっきと同じことをしてみましょう。
キー入力4
この状態で決定キーを一回のみ押すと・・・
デバッグ1
このようなデバッグになります。

このように入力待ちとは瞬間的に何回も実行してしまうのを防ぐ処理です。
本来ならこの入力待ちにチェックを入れて基本キーとキーボード全キーを一つの変数で取得したいのですがそれができません。これは困りました・・・・・。

というのが僕が困ったことの内容です。
ウディタでゲーム製作してるとキー入力は必ずかかわってくるのでもしかしたら誰もが引っ掛かる問題かもしれません。
さて、みなさんならこの問題をどのように解決するでしょうか・・・?
僕はこの問題を解決するためにいろいろ考えたのですが、ある方法を思いつきました。
それは「入力待ちに似た処理をコモンで作る」というものです。
つまり、入力待ちにチェックを入れない状態で二つの変数でキーを取得し、一回キーを押したら何回も実行しないような処理を作る。ということです。

この、キーを一回押したらキーを一度のみ実行するようにするというのが「入力待ち」です。
ですが、じゃあどのように作ればいいんだ・・・?と悩んでいました。

ですがある時、ヒントになるような言葉をネット上で発見しました。
それは、

キーを離したかどうかを監視する

です。

つまり、押したキーを離したかどうかを監視して、キーを離したときに処理を実行すればいいわけです。
そうすれば入力待ちにチェックを入れなくても、入力待ちに似た動きになります。

なんとなく形はつかめるでしょうか?
次回はその処理の内容について記したいと思います。

なお、この処理はtwitterにて、多くの方にご助言を頂きました。
本当にありがとうございます。
また、今回の議題である「基本キーとキーボード全キーを入力待ち状態で両方実行できるようにする」というのは僕がやってる方法以外にもいろいろあると思います。僕がやってる方法はいろいろある方法の中の一つとして見ていただければと思います。

では今回はこれにて。
プロフィール

リル

Author:リル
どうも。
ウディタでゲ製してます。
リル(lilL)と申します。
リンクフリーですが、報告いただけるとありがたいです。
現製作中→「Animal Time」
Twitter : https://twitter.com/lilL76725976
Youtube : https://www.youtube.com/channel/UCZu
9eYaYrfBkzgUX1Msaajw

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
訪問感謝します!
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。