Posted Articles

ゲーム制作's articles. (37)

sharp6 Nov/09/2024 18:57

大会イベントの実装

カードゲームもの(というよりホビーもの全般か)の漫画によくある「大会編」。
イレイズのシナリオでも、もちろん大会に挑戦するイベントがあります。
というわけで、それ用の画面を作成。
例によって試作画面なので、デザインについてはここから変更がかかる可能性は高いです。
(実際に勝ち進んで順位を上げていくところや勝敗による分岐処理まで出来上がっているんですが、動画にすると尺が長すぎるので今回はスクショ)


(※同キャラが2か所にいるのはデバッグ用にキャラをコピーしてNPCの数を水増ししているため)

さて、ここからは当分シナリオテキストの作成かな。とにかく物量があるので気合入れていかないといけません。

sharp6 Nov/04/2024 13:25

連戦モード画面実装

今日は連戦モード(NPCリーグ対戦)の画面作成。
ストーリーモードで作成したデッキを使ってNPCとリーグ戦形式で対戦するモードです。
ちなみにストーリーモードの方でも大会形式のイベントが発生するので、そこでもこのモードのシステムが流用される予定です。


今回のレイアウト適用を初めとして、Eraseでは進行上意図せずして「#6個人でモック(試作版)ゲーム作成」→「各分野で外注等をお願いして肉付けしていく」という制作の流れになったのですが、これが意外といいかもしれないと感じています。
企画担当とプログラム担当が分かれているとできない手法ですが、両方を兼ねている場合はモックを作りながら自在にゲームデザインや仕様を詰めることができるしアイデアを実現しやすい。他担当に伝えるのもモックをベースに資料を作ればいいので楽。
某C社は企画専任ポストを作らずにプログラマが兼務しているそうですが、多分このメリットを活かすためなんだろうなというのを感じています。

sharp6 Nov/02/2024 21:49

デッキ評価画面レイアウト

糸冬さんからデッキ評価画面の画面レイアウトが上がってきたのでUnityに実装しました。
クリア時のデッキが豪華であればあるほど評定が上がる仕組みです。
レアカードを手に入れるため、死地に赴くのだ……!
(基本的に危険の大きい探索ほどリターンも大きくなります)

sharp6 Oct/28/2024 18:55

リファクタリングと行動前・行動後イベント

先週はリファクタリング(プログラムの構造改善)と発注資料作成をやっていました。
発注資料のためにスクショを取ろうとする→バグに気付いてしまう→小手先で直すより一度該当箇所をリファクタリングして直しやすくする覚悟を固める
の流れ。
副産物として、行動選択前イベントや行動選択後イベントを実装しました。

それにしても、まだまだランダムイベントや連続イベント、探索イベントなんかの量が全然足りないので書きまくらないと……。(ちょこちょこ出るバグの修正とかゲームバランス調整もあるし、システム自体は完成してても先はまだまだ長い)

sharp6 Oct/23/2024 21:54

NintendoSwitchでも出したいよね(PlayerPrefsや入出力の分離設計)

今日はプログラミングの話。PlayerPrefsの分離について。

今回のゲームは最終的にニンテンドースイッチでも出したいと思っているので、データリポジトリを噛ませることで簡単にPlayerPrefsを取り除けるように設計しています(リポジトリパターンと呼ばれるヤツね)。ニンテンドースイッチ用ソフトはスマホアプリ同様にunityで開発できるので元々Unityで開発していれば比較的移植しやすいのですが、他プラットフォームと違ってplayerprefsが使えなかったり入出力回りが特殊だったりします。
(加えて、個人で任天堂のデベロッパー申請を受かるのは結構大変なので、申請がリジェクトされたらツテを頼らないといけないという問題がある)

さて、こういうデータ周りや入出力の設計を始めとするマルチプラットフォーム対応はアーキテクチャ(設計理論)の活躍しどころです。
整頓して粒度を細かく作っておくと、環境依存の因子を分離しやすくなります。
初心者~初級者のプログラマは動くことを優先して整頓を疎かにするので、移植や変更が入った時に地獄を見るのですよね。(昔の自分を振り返りながら)
特に対応プラットフォームを広げる野望がある場合はアーキテクチャを意識することを心がけましょう。最初は概念的にも簡単なMVCから自分のものにしていくとGOOD。
(まぁアーキテクチャは常に意識しといた方がいいんだけど、特にね)

移植を意識して開発する時は、データアクセスを直接行わずにリポジトリクラスを噛ませること、また入出力も専用クラスを用意しておくと移植時の修正箇所を限定することができて後々楽なので覚えておくと便利かも。

« 1 2 3 4 5 6 7

Search by Article Tags

Monthly Archive

Search by Exclusive Perks

Search Articles