投稿記事

SMGほるもんX 2017/09/13 22:53

久しぶりの…

皆さんお元気ですか?私は元気ではありません、Sです。

ここ10日ほど何もしていません。
朝起きたら起き上がれないくらい腰が痛むという謎現象が起きたからです。
腰痛の起きた当日と翌日はまともに動くこともできず大変でした。
その後も直立しているか寝ているかのどちらか以外の姿勢では腰が痛み、その痛みをかばうために無意識に身体の変な部分に力が入っているため体中(主に背面)が疲労で痛むというなかなか素敵な状態でした。
不幸中の幸いだったのは動けなかった二日間の派遣のお仕事がたまたま休みだったことと、その後の派遣のお仕事は腰に負担がかからないように作業すれば普通にこなせたことでした。

そんなこんなでだましだましやってきたのですが2日ほど前から少々前屈みになったところで腰が痛むようなことがなくなったのでようやく作業を再開できるんじゃないかと思って簡単なイラストを書いてみました。


金字塔と冥府の王からサマンサさんですね。
ラフスケッチに適当に色をのせただけのものなのでそれほど時間はかけていませんが腰回りがじんわりと悲鳴を上げてきたのでこれで終了。
うん、30分とか1時間くらいなら普通にこなせそうです。
無理して腰痛が再発してもいけないので毎日短時間の作業をしつつ養生したいとおもいます。

今年中には重金属ガールを完成させたいと思っていますがどうなることやら。

そういう訳でみなさんも腰には気をつけましょう。
今回の場合は寝てる間の出来事なので気のつけようもありませんが…(;´Д`)

ではまた今度!ばいちゃノシ

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

SMGほるもんX 2017/08/03 23:21

やる気がでな~いっ

みなさんこんばんは
タイトル通り最近やる気が低空飛行のSです。

やる気がでない時みんなはどうしてるかな?
私は旨いもん食べたりお酒を飲んだりします。
ところがここ半月ほどそういうことをしてもどうにもやる気が回復しません。
今日も朝からやる気が停滞していたので派遣のお仕事が休みだったのもあり外で昼飯と食べて気分転換しようと思ってでかけたのですがお目当てのラーメン屋は閉店していました。
仕方がないので別のラーメン屋に行くも臨時休業…結局適当な店で定食を食べて来ました。
やる気メーターはガッツリ下がりましたね、はい(;´Д`)

ちなみにやる気がないときに絶対やる気が出てくる方法をひとつだけ知っているのですがそれはなかなか実行できません。
その方法は「やる気がなくてもやる」ということです。
やってたらだんだん作業にのめり込んできてテンションも上がってきます。
それを繰り返すうちに毎日やる気に満ち溢れてきます。
ですが肝心のやる気がない状態なので開始することが至難の業です。
会社でのお仕事なんかだとやる気がなくてもやらされるのでこのパターンを実行するのは容易なのですが個人での作業となるとわかっててもできないときはできません。
大抵は無理やりCF2.5を起動してやればいつのまにか作業に没頭しているのですが、最近のパターンはCF2.5で製作中のプロジェクトを開くと「あーっ!!」となって閉じてしまいます。
重症ですね。
ちなみにテレビやゲームなんかをしようと思っても同じ状態なので制作意欲が沸かないというよりは生活自体に意欲が沸かなくなっているようです。

そんなこんなで今日もまた1日を無駄に過ごしてしまうのか?
それをするとさらにやる気が失せるので今日は制作に近いところでイラストを描いていました。


ドナ・ドラモンドさんですね~♪
天空城と密林の王 Donna Drummond Chronicle 2(仮)(金字塔と冥府の王2)をイメージしてみました。
背景はマチュピチュの写真を加工しただけです。
パブリックドメインのやつだから問題ないはず。

思ったより上手く描けたのでやる気も少しだけ湧いてきました。
この調子で制作作業に近い事を継続していって制作作業のやる気の回復をしていこうと思います。

というわけで今回はここまで!
次回更新時には作業報告できるといいな~。

ばいばいノシ

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

SMGほるもんX 2017/06/19 21:59

CF2.5でレーザーをつくったよ

みなさんこんにちは、最近は身体を酷使しすぎて疲れが抜けないSです。

今回はCF2.5でレーザーをつくったので忘れないようにいつものようにメモ記事にします。

レーザーをつくるのは意外と簡単で細長いオブジェクトを発射オブジェクトから発生させてやればそれだけでいけます。なんせ光の速さで発射されるのでいきなり画面端まで届いても全く違和感がありません。強いて言えば発射される前に光が集る様な発生モーションと終わったときに徐々に細くなって消えるモーションをいれてやれば完璧です。実際そういうゲームも多いです。

だがしかしっ

重金属ガールはシールドで防ぐんだよぉぉぉぉっ!!!

という訳で何かに遮られたときにそこで止まるレーザーを作りました。

仕事中に考えた理屈が上手くいった。やはり先端の処理がイマイチだが敵の撃つレーザーは自機のシールドくらいでしか止められないので問題ないだろう。動き回るオブジェクトから発射させて更にレーザーを遮る障害物が多数無ければ問題ないレベルのはずだ。#CF25 pic.twitter.com/1wZkhQApra


— SMGほるもんX (@smghormonex) 2017年6月15日


2パターンあります。(動画はそのうちの超連射方式版です)

一つ目は金字塔と冥府の王で使った方法なのですが細長いレーザーの画像をX軸の方向のみスケールを変更して伸縮させてやる方法。
この方法の利点はあらゆる意味でお手軽ということ。
欠点は直線にしか発射させられないことと画像をアニメーションさせられないということ。

二つ目は小さい弾を切れ目なく連射して1本のレーザーに見せる方法。
この方法の利点は軌道を好きに変えられることと、見た目を自分の好きなようにできること。
欠点は制御があらゆる意味で難しいということ。

です。
今回もサンプルを置いておきますので見たい人はどうぞ。

ダウンロード

大まかな所はサンプルのイベントリストにコメントを入れているのでわかると思いますので今回の記事も補足説明に留まります。

今回はforeachループとそれを使ったオブジェクトの同期を理解していないと難しいと思います。

foreachループはアクションにあるカウントの中の「各オブジェクトにつき」というやつです。
これは高速ループとは違い文字通り「各オブジェクト」につき処理を行うということです。
もう少し詳しく説明すると同一のオブジェクトが複数あるときに一括処理ではなくオブジェクト一つ一つ個別に処理するということです。
この同一オブジェクトというのは複製で作ったオブジェクトのことでオブジェクト名も完全に同じものになります。クローンでつくったものはオブジェクト名の後に数字がついてオブジェクト2みたいになりますがこちらは別オブジェクトになるので気をつけてください。
通常、同一オブジェクトの処理は全て同じ処理をするか個別に処理するかをCF2.5側で勝手に判断して行っています。
例えば「障害物と衝突」という条件が入っていればその衝突したオブジェクトだけにアクションを適用してくれたり、「常に実行」の条件下で変数Aに1を追加とあれば存在する同一オブジェクト全ての変数Aに1が追加されたりします。
条件次第である程度バラバラにオブジェクトの処理をすることは可能なのですが意図した動作をしてくれないことがよくあります。特に同一オブジェクトの処理を同一時間(1フレーム内)で行うとよく変な動作になります。
そんなときforeachループを利用します。

で、今回は更にそのforeachで処理する各オブジェクトに別の各オブジェクトを同期して処理しています。

同一ではないオブジェクト同士を同期させるにはインビルドペアなどいくつか方法がありますが今回は固定値を利用した方法を採用しています。
オブジェクトにはそれぞれ個別の認識番号である固定値が設定されています。
親になるオブジェクトの固定値を子になるオブジェクトの変数に代入して固定値と変数が同じなら処理するというイベントを組めば別のオブジェクト同士を同期することができます。
この方法の利点はオブジェクトの作成されるタイミングも同期するオブジェクトの数も関係なく処理できることです。
例えば巨大なキャラに破壊できるパーツを5つ作って同期させてやることも簡単にできます。
全てのパーツオブジェクトの変数に巨大なキャラオブジェクトの固定値を入れてやって、条件に「巨大なキャラの固定値=パーツオブジェクトの変数」を入れてやればよいのです。

ただし巨大なキャラが複数体になったときにおかしな挙動になることがよくあるのでforeachと組み合わせるわけです。

各巨大なキャラにつき~
パーツオブジェクトの変数=巨大なキャラの固定値

みたいな感じですね。
変数を比較するときに基本的にはforeachを指定するオブジェクトは後ろにもってくるようにしてください。
条件で指定する場合どちらのオブジェクトを先にもってくるかでアクション時にピックアップされるオブジェクトが変わってくるためです。
あくまで自分の経験則によるものであってCF2.5がどういう風に判断しているのかが重要なので上手く動作しないときは逆にしてみるといいかもしれません。

このサンプルでは

親オブジェクト(発射台)の固定値
レーザー根本の識別番号

の2つで同期を取っています。

どの発射台(固定値)から発射されたレーザーで何番目(識別番号)に発射されたレーザーなのか、という認識です。

また小ネタとして
経過フレーム数 mod 2 を利用して

=0 偶数
=1 奇数

という条件もつかっています。

ではサンプルファイルの説明ですが

スケール変更方式はレーザー根本とレーザー本体とレーザー先端の3つのパーツで構成されています。
レーザー本体は細長い1枚の画像でこれのX軸のスケールを変更してレーザーを伸縮しています。
ホットスポットとアクションポイントを両端に持ってくることで拡縮しても根本と先端がきっちりと位置同期するようになっています。
計算しやすいように100ドットの長さで作成してあるので0.01単位で変化させれば1ドットづつの伸縮が可能となっています。
無限に伸ばすのもあれなので最長は表示領域の最大値640にしています。
スケールに換算すると6.40ですね。
障害物に当たったときは高速ループを利用して1フレームで障害物にギリギリ当たらない長さまで縮小しています。
こちらは比較的シンプルにできました。
そしておかしな挙動もないのでいろいろな場面で利用できます。

続いて超連射方式ですがこちらもレーザー根本とレーザー本体とレーザー先端の3つのパーツで構成されていますがレーザー本体にアニメーションが2パターンあります。
こちらは360度撃てるようにベクター動作で移動します。
その際、レーザーとレーザーが連なって見えるようにレーザーの長さ16ドットと同じか少し短い距離を移動するように速度を1550(いろいろ試した結果ベクター動作は速度100で1フレーム1ドットの移動になるようです)に設定しました。上下左右の4方向なら1600でも良いのですが中途半端な角度になると一部隙間が確認できたので少し短めの1550で設定しました。
レーザーをアニメーションーのパターンAとBが交互になるように発射します。
レーザー根本で1フレームごとに照射時間をカウントしておきその値が偶数か奇数かでアニメーションシーケンスを切り替えています。
発射された後はアニメーションのフレームはレーザー根本と同期させています。
レーザーの先端は最初の1発だけ発射してあとはそれを使いまわしています。
レーザー本体が障害物に当たらなかったときはそのまま画面外へ出ていき、画面外では絶対に利用しないであろう位置に強○移動して待機。
レーザー本体が障害物に当たったときは障害物に当たったレーザー本体の位置に移動します。同時にレーザー本体が破壊されるのであたかも障害物に当たってるかのようにみえるというカラクリです。

こちらは苦労してつくりましたがいろいろとつくりが甘く状況を考えて利用しないと行けないレベルの出来です。
具体的には
障害物に遮られた時に障害物より先のレーザーは破壊されないので飛んで行くのが見える。
まあ消滅するのもおかしな話なのでこれはこれでありなんだけど、そのとき障害物に遮られるレーザーが2つ以上存在することがあるのに対しレーザーの先端は1つしかないのでおかしなことになります。
レーザーを薙ぎ払うパターンにしたときに先端が明後日の方向に飛んでいったりもします。
もう少しいろいろと考える余地は残っているのですが重金属ガールで想定される使い方ではこれで問題ないのでこれで完成としています。
最終的には雷電IIのプラズマレーザーみたいなのがつくれたら良いな~とおもっていますが先は長い。

誰かこれ改造して作ったサンプルうpしてくれてもいいのよ|д゚)チラッ

という訳でいよいよ重金属ガールにも光学兵器が登場しますがこのサンプルを上手く移植できるでしょうか…心配です。

制作もゆったりとしたペースですが進んでいますのでのんびり完成を待っていてくださいね。

それでは今回はこの辺で!
アデュー(´・ω・`)ノシ



この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

SMGほるもんX 2017/05/19 23:49

CF2.5での自機動作を自分で作ったよ

皆さんこんばんは
9つ工場の一番搾りを手に入れビール三昧の日々を送っているSです。

今回は重金属ガールの制作でPMOを使用せず移動処理を組んだのでその際にサンプルとして作った重力制御とスムースな加減速のmfaファイルを解説&公開したいと思います。
いつも通り自分メモとして記事を書きますので自分以外の人がみてもわからないかもしれません。
参考にする方はCF2.5のチュートリアルのチョコブレイクと縦スクロールシューティングあたりは理解していないときついと思います。

が、その前に…

前回の記事で急遽実施したアンケート結果の発表で~す!

SMGほるもんX@smghormonex
ブログ埋め込み用アンケート。
今回の記事ででた3つのゲームの中で一番興味をそそられるのは?
どんなゲームかまともに紹介もしていないので答えられないと思うけどちょっと訊いてみたい。
フォロワー数から考えて3票入るかどうか…。

2017/05/12 01:06:50

なんと予想の3倍以上の10票入りました!!
有難うございます。
そして

堕ちる捜査官・・・・・3票
重金属ガール・・・・・4票
金字塔と冥府の王2・・3票+1票

となりました。
金字塔と冥府の王2の+1票はアンケート期間の終わった後にツイッターで寄せられた票です。
ツイッターの集計期間は7日までしかないのですができれば1ヶ月と1年と無期限をつけて欲しいですね。

情報の露出量から考えて妥当な結果となりました。
という訳で心置きなく重金属ガールの制作に邁進できます。
残り2つはいつでも制作を開始できるようにネタを溜めていこうと思います。


ここからCF2.5での自機動作のサンプル公開と解説します。

最初に
- 衝突マスク
- 高速ループ
- mod
- abs
- int

を使っているので簡単に説明しておきます。

衝突マスクは特定の座標が「障害物」もしくは「はしご」かを判定するもので条件のストーリーボードコントロール(チェス盤と馬みたいなアイコン)にあります。

高速ループは指定した回数同じ命令を繰り返すためのものです。条件、アクションともに特別(歯車アイコン)の中にあります。
何らかの条件を使用しアクションでループを開始。
条件でループ実行中を選び繰り返したいアクションを入れる。
といった使い方をします。
最低でも2行使用します。

「mod」「abs」「int」は数式です。
数値Aを数値Bで割った時の余りを出すのが「mod」で「数値A mod 数値B」というように使用します。
例えば「13 mod 10」とすれば「3」と返してくれます。

「abs」は絶対値を返してくれます。
絶対値ってのは0からどれだけ離れているかを表しています。
わかりやすく言うとプラス・マイナスを除いて数字だけを返してくれます。
「abs(-3)」も「abs(3)」も「3」と返してくれます。

「int」は小数点以下を切り捨ててくれます。
「int(1.41421356)」の場合「1」となります。

詳しくはCF2.5のwikiを見てください。

ではサンプルの解説です。

まずは重力制御サンプルです。
フレーム「ゲーム的重力制御」のリストにコメントを入れているのでみればわかると思います。
基本的な考え方としては

重力→落下速度の最大値
重力加速度→1フレームごとに加算される速度
落下速度→現在の落下速度

となり落下速度分オブジェクトを下に移動させることになります。

条件・落下速度が重力より下
アクション・落下速度=現在の落下速度+重力加速度

条件は空中にいる時が判別できればなんでも良い
アクション・オブジェクトのY座標を現在のY座標+落下速度

文章にするとわかりにくいですがサンプルの重力基本の所をみれば理解しやすいと思います。

後は障害物に衝突したときに落下速度を0にするなりフラグなりなんなりで空中判定から地上判定へ切り替えてやれば重力制御の完成です。

ここまでできればジャンプに関しては落下速度をマイナスにしてやれば勝手に上昇した後落ちてきます。
重力を5、重力加速度を1、ジャンプ力を4とした場合
1. 落下速度を-4にする→落下速度に加速度を加える--4+1=-3→Y座標を-3(3ドット上昇)
2. 現在の落下速度は-3なので加速度を加えて-2→Y座標を-2
3. -2+1=-1
4. -1+1=0→落下速度0なのでこのフレームではオブジェクトは移動しない(ジャンプの頂点)
5. 0+1=1→ここから落下し始める
6. 1+1=2
7. 2+1=3
8. 3+1=4
9. 4+1=5
10. 以降は重力の5を超えてしまうので毎フレーム5ドットの落下

内部的にはこんな感じになります。
1フレームでの移動量が-3,-2,-1,0,1,2,3,4,5,5~と徐々に変わっていくのがわかると思います。
あとは重力と重力加速度をいろいろといじってやれば自分の納得できる挙動ができるのではないかと思います。


次に小数点以下の移動サンプルです。
こちらは1フレームに1ドットの移動よりも遅い移動を実現するためのサンプルです。
しかしゲーム画面がピクセル単位で構成されている以上1ドット以下の移動はできません。
なので1ドット以下の移動の表現は経過時間と絡める必要があります。
どういうことかと言うと

1フレームに0.5ドットの移動は不可能

2フレームに1ドットの移動は可能

ということです。

ここからは説明が難しいのでサンプルをみて解析してほしいのですが考え方としては

最低速度は1フレームに1/100ドット移動、つまり100フレームに1ドット移動とする
移動開始と共に経過フレーム数をカウント
カウントが100に達したら1ドット移動してカウントを初期化
加速して速度が2/100になったら50フレームに1ドット移動なのでカウントの上限を50に設定

といった感じ。

加速時のパラメータは
- 現在の速度(移動速度)
- 加速度
- カウント(移動用タイマー)
- 移動するタイミング

の4つになりリスト的には

移動開始とともに移動用タイマーを常に1加算していく
同時に移動速度に加速度を足していく
移動するタイミングは100を現在の速度で割った値
移動用タイマーの値が移動するタイミング以上になったら1ドット移動

となる。
現在の速度が100を超えたら機能しなくなるのでここでmodを利用しています。
移動速度 mod 100 として0~99を繰り返してます。

移動速度が100を超えたら上記の移動分に加えて1フレームにつき「int(移動速度/100)」ドット移動させています。
intを使って小数点以下を切り捨てています。

小数点以下の移動と1フレームに1ドット以上の移動の2つの処理を組み合わせて作っています。

減速に関しては移動速度から減速度を引く処理をするだけで他の処理は加速と兼用です。
移動の反転時は減速と加速が同時に働くように組んだので入力がない場合と反転入力がある場合とでは制動距離がかわるようになっています。

う~~~~~~~~~ん

そんな感じ!

あとはmfaファイルみてとしか言えない。
そもそもこの記事は後々自分がみて思い出せればいいのだ!←身も蓋もない(;´Д`)

最後にこのサンプルを経てできた重金属ガールの挙動がこちらになります。

ダウンロード

CGがつくと結構それっぽい動きになってますね。

カーソルキーとZXVキーで操作します。
サマンサのドキドキトレジャーハンティングのキーコンフィグプログラムをコピーしてexeファイルとおなじ場所に置けばキーコンフィグもできちゃうぞw

ジャンプとかできちゃいますがプレイヤー操作でジャンプする予定はありません。



しれっとα版を配布しつつ今回は終わりたいと思います。
ではでは!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

SMGほるもんX 2017/05/10 17:43

新作情報とかいろいろ

皆さんこんにちは。
新たに派遣の仕事に行き始めて精神力をごっそり持って行かれているSです。
仕事にもなんとか慣れてきたので新作の制作にぼちぼちとりかかっています。

今回は新作についてなんですが記事を読んだ後以下のアンケートに答えてもらえると…
なにもありませんが私が喜びます。

SMGほるもんX@smghormonex
ブログ埋め込み用アンケート。
今回の記事ででた3つのゲームの中で一番興味をそそられるのは?
どんなゲームかまともに紹介もしていないので答えられないと思うけどちょっと訊いてみたい。
フォロワー数から考えて3票入るかどうか…。

2017/05/12 01:06:50

現在制作候補に上がっているのが

・格ゲーっぽい1vs1のアクション「堕ちる捜査官(仮)」

・横スクロールSTG「重金属ガール(HEAVYMETALGIRL)」

・金字塔と冥府の王2「天空城と密林の王 Donna Drummond Chronicle 2(仮)」

の3つとなっています。

堕ちる捜査官(仮)はエロからはじまった企画なのでゲーム部分はそれを盛り上げるためだけの簡単なつくりにする予定がプレイヤーキャラをつくっていくうちにどんどん肥大化してどうにもならなくなったので制作を一時停止してサマンサのドキドキトレジャーハンティングの制作に移行したという経緯があります。
アンケート用の判断材料がなかったので主人公のCGを追加。

結構作り込んでるんですがSpriterで動かすとせっかくのドットが台無しに…
これをベースにドット修正するとなかなか手間がかかるよ。
でもエロは映えそうだよね。


重金属ガールは美人警察の頃からいろいろと考えていたちょっと変わったシューティングゲームで現在メインで製作をしています。

それなりに制作はすすんでいるようにみえますが見た目だけです(;´Д`)
さっさとCF2.5で動作を組んでいけばいいのですが「物理エンジン使いたいけど解らないのでやる気が出ない病」が発症しているのでゲームで利用するであろうCGをつくりながら自分の希望と自分の能力との折り合いを図っているところです。
あとこの企画はいつも通りゲームありきの企画なのですがどうにもエロと結び付きません。
いままでは主人公の明るかったり凛々しかったりするゲームプレイ中のイメージがゲームオーバー時の悲壮感漂う陵○とのギャップによって背徳的なエロをより盛り上げるようなつくりにしていたのですがSTGとなるとなぜかそういうイメージが湧かないんですよね。
まあどうしようもなければサマンサのドキドキトレジャーハンティングと同じでエロ抜きで開発するかな。

で、最後に天空城と密林の王 Donna Drummond Chronicle 2(仮)です。
これは先日仕事場へ向かう途中コンビニでお茶してるときにオープニングの神様が降りてきたので進み始めた企画になります。
プレイヤーキャラを複数にすると面白そうだなとかいろいろと夢は広がります。
新たに汎用性のある形でシステムを組み直すつもりではありますがどんなゲームで何ができて何ができないのかわかっているだけに制作に入るとスムーズに事がすすみそうです。
仮タイトルについては単純に次はジャングルが舞台で遺跡とかそんなのがええかな~それとも海を舞台にするかな~とか考えているときになんとなく語呂がよいということで覚えてただけで全くの未定です。


お遊びで描いたドナさんだけど次はドット絵もありかなと思ってます。

そんな感じで次回作は以上の3つのうちのどれかと言うことになると思いますがどれになるかはわかりません。
いずれにしても新しい仕事に慣れて精神的余裕がでてゲーム制作も安定的に進められるようになってからその時の気分で決まると思います。

ブログの更新が滞っている間にいくつかコメントいただいて、サマンサのドキドキトレジャーハンティングの鑑賞モードの実装やCF2.5講座的記事の希望などもありましたのでそのあたりも含めて本格的に活動を再開していこうと思います。

それでは皆さん近いうちにまた会いましょう!
アデュー!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

1 2 3 4 5 6 7

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索