ゲーム作ったり勉強したり

ゲーム作り

SmokingWOLFさんの片道勇者に触発されてゲーム作り中。
f:id:HIZ:20150302001137p:plain

・・・なんだけど、ちょっと遊んでると気になる点が多くてテコ入れ中。
現状でも全く別物だけど、最終的にはもっと別物になるかも。
というかローグライクじゃなくなるかも。

勉強

C++やっぱり諦めきれずにまた勉強中。


SlackのOpenFrameworksチーム(openframeworks_jp)で教えて貰ったlynda.comで勉強してます。

動画で学習できるサイト。
月額25ドルと結構な値段だけど分かりやすい解説とやたら幅広い分野に対応してて十分元が取れる感じ。
日本語版も始まったみたいだけどそっちはまだコンテンツ少なくてイマイチっぽい。そっちのが料金は安いけど。


Effective C++ 第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTI)

Effective C++ 第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTI)

あとEssential C++も読んでます。
C++て使える道具が沢山あるけど知らずに使うと爆発する道具も大量に混ざってる言語なのでこういうベストプラクティス教えてくれる本は必須ぽいです。
「純粋仮想関数(実装の無い関数)にも実装を書ける」とかベストプラクティスのはずなのに黒魔術感がすごい。独力でやってたら絶対気付かない。

JavaScriptに浮気中

最近、OpenFrameworksからp5jsに浮気中・・・

っていうか、一年くらいC++やってきて分かったけど、あれだ。
C++、趣味で使うにはしんどい。
一年使ってても分からないことが多すぎ。

機能は落ちるけどJavaScriptで作れるp5jsを試してみてる。
まだアルファ版のようで3D機能が無いのが辛いけど結構楽しい。

続きを読む

直列と並列

今、RPGを開発しようとしてるんですが、
戦闘シーンとかマップでのキャラ移動とか作ってみると
一応動くんだけどなんかしっくりこないものを感じてました。

その理由が最近なんとなく分かった気がする。


STGやアクションでは、
自機・敵・弾・アイテム等それぞれのオブジェクトは全て各々のタイミングで並列に動く。
自機がショットを撃ってショットが敵に当たるまでの間にも
自機も敵も動けるし、敵が爆発してもその間ゲームが止まったりはしない。*1


しかし、RPGでは、
多くの場合それぞれのオブジェクトは一つのタイムラインに沿って動く。
戦闘時、コマンドを入力している間ゲームは止まっていて、
コマンドを入力し終えるとキャラが行動を始め、演出が再生され、ダメージ処理される。*2
会話中は会話を読むことしかできず、ボタンを押すと次の会話・もしくは演出が再生され、
会話が完了すると、移動したりメニューを開けるようになる。


ここの違いを、今まで正しく認識できてなかった気がします。
STG的な並列処理でRPGを作ろうとしてた。

RPGにももちろん並列処理はあるんですけど、
STGやアクションと比べると圧倒的に直列処理が多い。

この直列処理を楽に管理する方法をうまいこと編み出せれば、
RPGも意外と楽につくれるんじゃないか・・・・・・と思ってます。

*1:そういう演出のゲームもあるけど

*2:ターン制の場合

エルミナージュ

エルミナージュ DS Remix ~闇の巫女と神々の指輪~

エルミナージュ DS Remix ~闇の巫女と神々の指輪~

やってます。なかなか楽しい。


馬小屋に泊まる前に回復魔法かけるとか装備するのにアイテム渡すとか
お金を分けたり集めたりとかまでWiz踏襲してるのがめんどくさいし,

最初のチュートリアルダンジョン超えたらいきなり
難易度バラバラの15個ほどのダンジョンが解放される超不親切設計なんですが、
なぜかペルソナQや世界樹の迷宮よりはまってます。


なんでかなーと考えたらいくつか思いつくんですが、
プレイヤーをほっといてくれることが一つの要因かなと思います。

サブイベントを例に挙げると、
ペルソナQではすごく丁度いいタイミングでレベルにあった
サブイベントが解放されるんですよね。
でそれをクリアすればこれまたレベルにあった丁度いい装備が手に入るようになってる。

となるとやらない理由が無いんですよ。
期限付きだったりもしますし、後回しにしづらい。

ブレイブリーデフォルト遊んだときも思ったんですけど、
サブイベントは確実にこなせてかつ有用なものが手に入る作りになってると、
ほとんどメインシナリオと感覚が変わらなくなりますね。


エルミナージュでは、
サブイベントが序盤に20個くらいウワッと追加されます。
難易度もバラバラで、どう考えても序盤じゃ無理なイベントも入ってる。
しかもいいものが手に入るのかどうかもよく分からない。*1

なのでとりあえず置いとける。
そのうちプレイに飽きたり詰まったりしたときにこなせばOK。
本当にサブという扱い。


プレイヤーを様々な趣向でおもてなしするペルソナQと、
プレイヤーを適当に遊べと突き放すエルミナージュ

自分に合うのはエルミナージュみたいです。

*1:一応フェイムというクリアに必須なアイテムは手に入るのですが、レベル上げの方が急務なのでそんなに欲しくない。

OpenFrameworksを使おう

こんにちは。4年半ほどゲームを出していないエセゲーム開発者のhizと言います。

その4年半はD言語OpenGLでのプリミティブなゲーム開発以外をやるためにUnity・ツクール・ウディタ・スクリプト言語とか色々試してたんですけど、最終的に一番やりたくなかったC++とOpenFrameworksというフレームワークの組み合わせに落ち着きつつあるのが最近の状況です。

C++と言えば人の精神を崩壊させる言語として有名ですが、OpenFrameworksはそのリスクを抑え、さらに強力な機能を提供してくれる中和剤の役目をしてくれます。

いいフレームワークなのでみんな使おう。

続きを読む