FC2ブログ

ギルド運営ゲームネタ

〇ゲーム配信
明日Path of Exileの新拡張がくるのでそれの配信をテストを兼ねてやってみます
ネットワークのラグどうとかが酷かったらやらない
ツイッチ配信ページ
何万年かぶりに来週面接なので喋る練習になるかなって

※追記
予想通り視聴者いなくてコメントは0でした・・・(多分、ちょっと覗いてスッと見るのやめた人は数人いたっぽい?)
やってみた感じとしては人がいないのは分かっていても見られているような緊張感があるので、例えどんだけ過疎ろうともプログラミング配信やるのはモチベ管理としてはわりと効果がありそうな気がしました
ネットワークのラグとかは気にならなかったけど、マイクの位置の関係でノイズとか発声とかがちょっとあれだったかも
明日以降はやるか分かりませんが、配信告知とかツイッターでした方が良いのかな?

〇新作案
経営ゲームはアイデアを詰めてたんですが、どうしてもFBSと差別化が難しいのと、焼き直しみたいになると制作モチベーションの維持がむずかしいってなりそうなのでギルド運営ゲームって感じにしようかなと企画し直す事にしますよ~

 UIとか操作方法全般はFBSを踏襲したりブラック度とかMPに相当するシステムとか雇用のあれこれとかノウハウやアイデアやら基本コンセプトはかなり流用する感じ

ダンジョンがあって、いくつかある冒険者ギルドの長になって活動して勝利条件を満たすのが目的
勝利条件は例えばお金をいくら貯めるとか、社会貢献度が一定以上とかダンジョン制覇とかそんな感じでモード毎に違うとか

ギルド員は戦闘メインだったり探索メインだったり拠点での生産や研究が得意とか武器経営ゲーに比べると従業員のパラメータにゲームデザインの幅が広くなるかな~って感じ
スポンサーサイト

プログラムの設計~

というわけで新作のコード設計などを進める

 最近の自分のコード設計は
・プログラム全体から参照するような変数と処理
・ゲームでの各場面
・各場面に存在するオブジェクト
みたいな感じに各ソースコードをフォルダに分けて、管理しています

1.プログラム全体から参照するような変数と処理
 各画像や音声などの読み込み処理
 列挙型の定義
 設定値やゲームの最高記録などの変数の定義
 データの保存
 設定の変更

 上のコードはSystemってフォルダに入れる。最近はどんなゲームでも上5つは固定で実装してる感じで、そこまで大きな設計上の変更は起こりにくい、変数や列挙型はどんどん増える。

2.ゲームでの各場面
 タイトル画面
 メインメニュー画面
 設定変更画面
 ゲーム難易度やモード設定画面
 セーブ&ロード画面
 メインゲーム画面
 
 こんな感じで各ゲームの場面毎にクラスを作って、Sceneってフォルダに入れてる。ゲームによってどんなクラスを作るかはまぁまぁ変わる。それぞれは独立しているので後から増えてもあまり問題は無い。
 メインゲーム画面とかはソースコードが肥大化しやすいのでその辺りはうまいことオブジェクトに処理を持たせるようにする。

3.各オブジェクト
 従業員
 職人
 店員
 装備品
 店
 店AI
 経営戦術
 ボタン
 つまみ
 選択ボタン
 ベース経営ウィンドウ
 雇用ウィンドウ etc
 ハンター
 ・・・

 各場面のメンバー変数として使う各種クラスをObjectってフォルダに入れている。何のクラスが必要かを考えていってゲームの設計と同時に仕様を固めていく。処理が肥大化したり、同じ処理が見られた場合はオブジェクトとしてコード書いて分割して何やっているかを分かりやすくする。
この分類の処理は基本的に初期の設計からソースコードが増えたり減ったりするし、種類も多く機能の分割やら設計でセンスが問われると思いました。

・設計作業まとめ
 まずは何も書いてないソースコードだけ先に作り各ソースに処理書いていけば完成って状態になれば設計完了、実際には見落としだったり新しいアイデアを思いついたり、作ってみたら微妙だったりで新しい場面やオブジェクトが必要になるので、変更に強いコード設計の重要性がうんたらかんたら。
 先に設計をして各コードに何の処理を実装するか決めていれば複数人でも実装を並行して進める事も出来るんちゃいますかね?

・設計の時気をつける事
1.仕様変更への耐性
 作っている途中で企画の良くない点が明らかになったり、新しいアイデアを思いついたり、仕様に見落としがあったりで、仕様変更というものがそれなりに起こるため、仕様変更が面倒になるコードは良くないし、FBSとかはその辺りが色々ひどかった。
 仕様変更をしやすいコードの基本としては、機能を分割して変更の影響がどこに出るか分かりやすくする。どこで何の処理をしているか分かりやすくする。同じ処理は一箇所にまとめる。複数のアイディアがあって事前に仕様変更が想定出来る場合は処理の切り替えが可能な組み方にする等を気をつけます。
 すべてケースバイケースですが、経験的にどういう感じの仕様変更が起こりやすいかがわかってくると良い設計がしやすいので、何を作ろうとしているかの理解が大事だと思う。

2.分かりやすさ
 コードを書いていくと行数が何万行とかソースファイルの数が三桁とかになるので、わかりやすさはとても大事。
ファイル名をみただけで何の処理をしているか分かる。変数をみただけで何の変数か分かる。関数の処理を抽象化して何をしているか分かりやすくする、適切なコメントをつける。
 変数名を日本語にするのと、関数が肥大化したらサブルーチン的な感じにする、改行やらインデントやら変数の命名規則を守っていく等のコーディングレベルでの対策と、設計の段階で処理を適切に分割してクラスを定義する等設計レベルでの心がけが大事。

3.バグの耐性
 プログラムは複雑なので意図した通りに動かない状態になることはままあるので、不具合が起こりにくい、不具合が起こってもどこで不具合が起こっているか特定しやすい状態にするのが望ましい。
 不具合を起こりにくくするには、機能分割や単純な実装や分かりやすいコードを心がけてミスを起こりにくくする。特定しやすくするには機能を分割する、単体で機能テストを行いやすくする等を頑張りますが、どうあがいでもバグは起こると思うのでデバッグしやすいモードなんかを入れたりします。

4.作業を楽に
 例えば単体テストのコードをいっぱいかけばバグ耐性は高まるけど、単体テストのコードを書く時間で普通にデバッグした方が楽だったり、殆ど起こらないヒューマンエラーを無くすためのコードは書かないなどコードの品質を問題無いレベルで犠牲にしていく。誤差みたいな高速化のためのコードは書かない、例外処理はどうせ強制終了すればいいから書かない、定数データは直接打ち込まずに専用エディタやら表計算ソフトやらで管理等、色々楽していきます。

色々大変やで(´・@・)

10月になったので日記書く

早いもので退職からもう半年ですよっと、休職期間が長かったから実感がないのがやばいヽ( ´◎`)丿

●就職
 受ける企業考えたり何かしたり、就職困難者扱いで失業保険を約一年も貰えるので焦ってもアレなんだけど、期間が減って焦りだすのもアレだよね

●ゲーム実況
 数年前からツイッチのゲーム実況を良く見てたりするんですが、喋ったりするのは病気直すのにも良さそうだし、一人でゲームするより楽しいのかもとか思って自分もやろうかなと思ったり(誰も見に来ない可能性がとてつもなく高いが)
 ただPCがノートでグラボも積んでないから買い換えないと多分無理なのよね、無職なのにPC新調してゲームしまくるのもなんか気が引けちゃうよね(´^◎^)

●経営ゲームネタ
個人的なメモ

・社長
 FBSだと社長はただのユニーク従業員だったけど、次はそれ以外にパッシブ能力やら専用戦略やら作ろっかな~
求人の詳細が分かるようになるとかの便利なヤツとか、雇える上限数が増えるみたいな終盤以降強いヤツとかそんな感じ細かい効果はおいおい考える感じ、ニューゲームが楽しめるドン!

・店員の雑用案
 職人は製造と開発を兼務出来るのに、店員が接客しか出来ないのはなんか寂しいし、店員は何もしてない時間が多くて暇そうなので、サブの仕事を色々考える
方式としてはサブの仕事の優先度を設定して接客してない場合はそれをする感じか
1.掃除
 店や周辺が汚れると集客力や評判が下がるので掃除する、閾値以下なら掃除させるとか、朝掃除させるとか?
プレイヤー的には対してやることも出来ることも変わらなさそうで地味
2.宣伝
 店前で宣伝活動したりビラを作ったり、街まで行くと店に帰ってくるのに時間がかかりそうなので店前のみか
頻繁に指示変えたい感じになりそうなのと、ややこしそうな気がするけど経営戦術で宣伝しなくて良い分分かりやすいか
3.品出し在庫補充
 客から買い取った素材を工房に運んだり、工房で完成した武器を店舗に運ぶ作業、これは職人も出来そう
店員を絞ると職人にも負担がかかる感じ、プレイヤー的にはやることあんま変わらない、働いてるな~感が増す
4.探検
 ダンジョンに行ってきて素材をとってこさせる、コンセプト崩壊不可避だしサブの仕事ではないな
5.戦術
 経営戦略の実行に割り当てる、職人の開発と対称的な感じ、これは個別指示か?
システム的にちょっとややこしそうなのと、職人にも出来そうなのがあれかな

1~3ぐらいをベースに考えるかね

・ハンター
 ハンター(仮)に素材とってこさせて、それで武器を作るのはいいとして、ダンジョンの仕組み、ハンターとの契約の仕組みうんたらで、ゲーム的に面白いのか、プレイヤー的にわかりやすいか、世界観的にしっくりくるのかうんたら色々でなかなかしっくりこない
主にハンターは雇用をどうするかと指示が出せるかをどうするかが大事かな
1.直接雇用
 プレイヤーが直接雇って月給払う、成長させる楽しみとか装備を与えたり編成を考える楽しみはありそう
プレイヤーのやることが増える、コンセプト的に合ってない気がする
2.外部委託契約
 店の常連ハンターと契約してとってきた素材を一括で買い取る、仲が悪くなると契約打ち切られたり、あるいは契約打ち切るとハンターの間で評判が悪くなる場合も
プレイヤーが介入出来る要素は控えめ、コンセプトには合う

 どっちも良さがあるけど、2のパターンで実装してどうしようもなければ後から差し替え可能な感じのプログラムの組み方かな
 探索場所の指示は細かくダンジョンのどこを探索しろって出せるとそれ前提の調整になって結局プレイヤーが面倒になってしまうだけのような気がするのですごく大雑把な指示or指示出来ないのどっちかで実装かな

・ダンジョン
 一層毎に複数の部屋があるダンジョンを潜っていく、部屋によって取れるアイテムが違う。魔法が無い世界感なのでワープ装置じゃなくて昇降機のロックを解除していく、ハンターが一杯いて待ち時間長そうだが昇降機待ちは無い不思議
 部屋をいくつも作るのは木が生えてたり、岩っぽかったり、金属っぽかったりで見た目で何取れるかわかりやすくできて見栄えも良く出来そうなのと、一層一部屋でそれやるとスクロールしまくる必要があるから一層に部屋をたくさんつくる
 ダンジョンが複数個あってどこに行くか選ばせる感じでもいいけど、絵的に一つのダンジョンをわらわらハンターが探索してるほうが面白そうかなって

 資源は深層ほど大量の資源を取れる、ややこしいので枯渇とかはしない
 複雑になるので序盤から終盤まで得られる資源の種類をあまり増やしたくないけど、強いキャラで深層を掘るメリットも無いとあかんよねってなるのでその辺りの折衷案
 月給制なら強力なパーティを育成する重要性が分かりやすいけど必要以上の在庫確保すればいいじゃんってなりそう、買い取り契約は弱いハンターでも人数を水増しすればなんとか出来るけどそのまま成長すると買い取り多くなりすぎて契約切ると評判悪化したりとかで楽しそう

・ハンターとの契約、素材の管理
 素材は最低補充数を設定すると毎朝購入して補充する、足りなかったら作業できなくなっちゃうけど補充しすぎると不要な在庫に運転資金を持っていかれるし保管コストもいくらかかかるぐらいのバランス
 ハンターは買い物をしたときに店に対する好感度と店員の何らかのステータスによって契約可能なリストに追加されて、そっから契約すると次の日から買い取り開始する

そろそろプログラム書き始めれるぐらいの方向性はまとまってきたかな?

新作の妄想など

○マスタコ
 ていうか大分前にDXライブラリがAndroid対応したそうなので、元のソースコードの操作関連の所をイジった方がより簡単に移植出来るじゃん?
 リメイク的な事も考えたけどそこまでいじりたい所もなかったし、残りの移植作業も考慮するとわざわざ全部書き直す手間もあるし、移植するならもうDXライブラリ利用でいいかなと、。STDWもショートカットキーめっちゃ多いのでそのまま移植すると操作性ひどいけどやれんことはないかな
 Macやらgnu/Linuxで動くとか、マスタコの拡張版みたいなの作るには旧コードでは無理だけどまぁしゃあない
今はやらないけど一応(´・@・)

○しゅうしょく
 履歴書とか経歴書は書いたので受ける企業を探したり面接の練習をしたりなどしてます、とりあえずの雇用保険が切れるまでに決まるよう頑張りませう

○しんさくのもうそう
 次作るとしたら不完全燃焼だったFBS系統のゲームを作るかな、あの手のゲームは遊ぶのも好きだし
 システムは刷新して大きく変えたいので、武器を作るには材料が必要にして、材料はハンターと契約して入手かハンター協会から買うかするようにしようかなと
 通常ハンターは手に入れた資源はハンター協会に10円で売って、ハンター協会はそれを色んな所に20円で売ってる感じ。そのためハンター協会から買うと割高になる、ただ供給が安定しているし欲しい量だけ買えるので在庫管理が楽。
 ハンターと契約して直接買い取る場合、ハンター協会が入らない分安く買えるし、流通しないような貴重品を買い取れる可能性もある、ただし全部買い取るのが原則になので素材が余ってしまう可能性がある、かといって契約ハンターが少ないと不足する素材を協会から買う必要が多くなるのでコスト削減が微妙になり、色々うまくやらないといけない。
 もしくは雇った従業員に探索させて素材を集めるデザインでも、この場合だと装備品の支給とか探索する場所の指定とかを結構コントロール出来る、このシステムだと在庫管理は楽そう。

 前者の方は細かいコントロールが難しいので面倒じゃないしゲームとしては面白いと思う、育成やハクスラ要素を濃くしたいなら後者の方が良い感じ。あんまり複雑にしたくないので前者の方向性を基本にするかな。

 ダンジョンは地下深くに続く感じのをつづら折りで進んでいくとかにして、視覚的にわかりやすいようにしようかな、どんどん掘り進んでる~とか、うわーボスになぎ倒されてる~wみたいな

 アイテムの種類は武器、防具、道具みたいな感じで増やす、ただカテゴリーを増やすと管理の大変になるので基本はそれぞれ3つ。3つあった集客属性(お買い得、かっこいい、つよさ)はよく分からなかったので統一する、なのでメインで量産するのは最低9種類で十分な感じ。

 製造と開発の仕組みは大きくは変えないけど中盤~終盤の操作が楽なように、装備品に誰を割り当てるか決めるんじゃなくて各アイテムについて在庫が何個以下なら製造するみたいな操作に変えようかなと、在庫不足してるのが複数ある場合は現在在庫/目標在庫が一番少ないのを作るとかそんな感じ。仕事がなくなると職人に不満が貯まったり人件費が無駄になる。
 開発の方はある程度機能していたけどけど、閃いたらとりあえず全部開発しとこうみたいな感じだったり、もうちょっとバランス調整しやすい作りにしたいリプレイ性はある程度確保した上で方向性を狙いやすくするような感じ、特にアイデアは無い

 店員と接客の方は店員の出来る事が少なかったので、接客以外に仕事を作ろうかな。素材の買い取り、ビラ配りみたいな宣伝活動させるとか、何か考える

 あとは人事関連だと店員⇔職人のコンバートを可能にするとか、店を改築しないと雇える上限が制限されるとか?
店員の基礎ステータスとパッシブスキルは全部見直して、もうちょっと個性付けたりリプレイ性を上げたりだとかする

 経営戦術の基本的な仕組みは以前と同じで良さそうだけど最大MPは上限なしで良さそうよく使い忘れて損するし溜めて有利な事もほぼ無い、個別の戦術の効果は1から考え直し

 シナリオは世界観とプロローグ的な所までにとどめて、寸劇みたいなのは廃止、一部には好評だったのかもしれないけども全体的には経営ゲーやりたい層ってそういうの求めてるわけではなく、作るのが想像以上に手間がかかって二度とやりたくないため(こっちが重要)、その代り最終目標とかはもっとはっきりわかりやすくしようかなと思います

 株はバランス調整が難しく全部確保が最強みたいになりやすいしプレイする側にもわかりにくいので廃止、代わりに択一式の戦術に似たようなのを作るとかで。
 借金は実質し放題だったので仕組みも変更、運転資金がなくなると倒産とか不渡り2回で倒産とかそういう感じにする。借入と返済は経営戦術で行い月末に利子を取られるとかにするのでMPがかかるというデメリットを増やす。廃止でもいいけど世界観的に欲しいし最初借金があってスタートみたいなのも良い

 モード開放はもっとわかりやすくするか、最初から選べるのめっちゃ増やしとくかのどっちか、ここを改善して欲しいって意見は結構多かったです、あとは低難易度モードと特に目標は与えられず自由にエンドレスで遊ぶモード欲しいってのもあった、難しいって反応は多かったけど、基本的な仕組みを理解するとCPUがワンパターンなので逆に簡単すぎるみたいな意見もそこそこ

しかし前も一回こういう事ブログに書いた気がするな(´・@・)

Android/(^o^)\

 いろいろサンプルとか探して試してみたけど、AndroidStudioでSDL動かない~
プログラミングだとあとどれぐらいで終わるかとかある程度予想がつくけど、こういうのは嵌るとどうしようもないしこのまま手探りでやり続けるのも不毛だし禿げそうなので、どっかの誰かが分かりやすい環境構築方法をまとめてくれるまで放置かな、だれかがやってくれるやろ、多分!
 そうなるとAndroidで動かないなら移植する理由も殆どないしマスコン移植版も凍結かな?プログラミングの感覚を取り戻すぐらいの事はできたしまぁええやろ(´・@・)
 次はどんなゲームでエターなるか・・・
プロフィール

(´・@・)

Author:(´・@・)
ゲームの製作日誌です
 コメントや拍手コメントは返したり返さなかったり

メール:mr.dagonn★gmail.com
★を@に変えて下さい

twitter(更新情報をつぶやくbot)
アカウント

●公開しているゲーム
Vector作者ページ

●アンケート
FBSアンケート

●製作中のゲームライブラリ
SDXフレームワーク

●自由ソフトウェア財団
[FSF Associate Member]

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
リンク