ここから本文です

システムの製作は一人で、且つ、なるべく無費用でギャルゲーを作りたいと考えてい...

ちえさん

2018/3/2813:40:36

システムの製作は一人で、且つ、なるべく無費用でギャルゲーを作りたいと考えています。
基本的なノベルゲームに下記機能の付いたギャルゲを作りたいですが、どの分野を学べばいいのか分かりません。

初心者には無謀なのか、実は簡単なのかも分かりません。
イラスト・ストーリーは自作します。
身内または全体に、ウェブで公開または配信したいです。スマホでも動くゲームも視野に入れています。(難しいのであればスマホは断念します。)

付けたい機能

ストーリーの進め方
・入力はすべて選択制。主人公の場所移動による、ランダムでのイベントの発生。
メニューボタン
・セーブ、中断、ホームへ戻るなどの機能
・各キャラクターの親密度やステータスの確認
・過去のストーリーを再生できるアルバム機能
既存キャラに追加でオリジナルのキャラ作成機能
・キャラの名前、所属部活などのプロフィール、性格の数値化されたステータス調整。
・↑項目を選択していくことによってキャラが作成できるようにしたい。

作業環境:デスクトップパソコン、windows10、Chrome
製作期間:1、2年~あまり考えていない。

自分が楽しめて、かつ人にある程度楽しんでもらえるゲームが作りたいです。
高校の授業で少し触らせてもらった程度の初心者未満のJava知識があります。
(文字だけのラノベゲーが作れる程度)
変数や配列、フラグを使ったゲーム制作をしたいです。
簡略化した刀剣乱舞、艦コレ、英雄クロニクル、あんさんぶるスターズ、ラブプラス、(未プレイなので詳細は分かりませんが)のようなゲームを作りたいです。戦闘機能はつけません。ミニゲームも付けません。

経緯

プログラミングやゲーム製作についての知識に触れ始めたころ、こんなゲームを作りたい(ゲームシステム的な意味)が浮かび、それをいつか作りたいと思っていました。
きっかけはRPGMVを使った簡単なRPGを作っているときに、攻撃力などの変数を利用して親密度を作り、ギャルゲにできないかということでした。挑戦してみたところ、攻撃力、防御力などとしての変数なので、処理の自由さが足りなくなりました。
なんとなく知っていたJavaで作ってみようと思ったのですが、ゲーム画面の表示方法や公開方法、イラストの表示の仕方などがわかりませんでした。また、Javaを使ったゲームも少なく思えました。
フラッシュゲーム、ブラウザゲームの代表としてHTMLとJavascriptで作る事を検討してみましたが変数やフラグ機能がついているのでしょうか。完成作品を見ると吉里吉里などのノベルゲームと同じようなものしか作れないのかな、と疑問に思います。(HTML、cssの表面に触れただけでしっかり学んではいません)
吉里吉里などのノベルゲーム制作用フリーソフトを見てみると、ストーリーを進める、分岐を作る程度の処理が限界なようで、変数をつかった親密度の上昇ができないように思えました。(実際に触ってはいません)

可能か不可能かではなく、可能にするために必要な具体的な環境、学ぶべき技術をお願いします。
今は初心者ですが、上を目指して頑張ります。

補足このゲームを実現させるために一番最適な方法を教えていただきたいです。

今頭の中にあるゲームがプレイしたいんです。作りたいんです。
多くの意見お願いします。

タグにはプログラミングと付けてしまいましたが、手段は選んでいないので様々な方法をお待ちしております。

閲覧数:
209
回答数:
4
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

bas********さん

2018/3/2813:57:21

吉里吉里でも変数を使って親密度を上昇・減少させることはできた気がします。

私はやろうと思っていましたが、ゲームあまり作る気に慣れなかったのでやっていませんが、なんかのサイトにあった気がします。

http://www.ultrasync.net/dee/kr2helps/kag3doc/contents/Var.html

■ 「うざい! 黙れ!」と拒否る -> ポイント -10000
■ 「ありがとう!感謝する!」と頭を何度も下げる -> ポイント +10

みたいな感じで計算していけばいいはず。

JavaScriptはプログラミング言語です。
なので普通に変数がありますよ。ただ、表現方法が言語ごとに違うだけ。

私なら 吉里吉里等を使います。
Javaとかでも可能ですが、かなり大変です。( ある程度のスキルがあればいいですが、イラストの表示の仕方等もわからないならかなり厳しい道のりになりますし。 )

Javaなら、たぶん「Java 画像表示」等で検索すればいいはず。
これを位置を指定して、ひとつの画面に複数の画像が出るような感じになるかと思います。

>> 学ぶべき技術

知りません。だって、質問者様のレベルがどのぐらいなのかもわからないので。

場所移動系のノベルタイプのゲームで、吉里吉里を使っているのがいくつもあるようです。

どうしても無理なら 吉里吉里だと C++だったかJavaScriptだったか、なんらかの言語で機能を拡張できたはずです。

  • bas********さん

    2018/3/2818:48:49

    やはり吉里吉里あたりがいいかなと。

    吉里吉里がダメならそれ以外もありますよ。

    私のBlogですが。

    http://blog.livedoor.jp/crackstars/archives/4452190.html

    一応、プログラミングの中ではC#が楽らしいですが、それでも質問者さんのレベルと考えると...かなり厳しいと思います。

    なのでお勧めできません。

    どうしてもプログラミングっていうなら、「ビジュアルプロ倉民軍言語」で検索してみてください。

    もしかしたらいいのがヒットするはず。

    ( 好みは人それぞれなので、「コレがいい!」ッて言えないです。 )

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

awk********さん

編集あり2018/3/2901:58:59

仮にJavaを使うとしたら
JavaFXを使えばGUIと内部動作を分けることができます。(ボタンレイアウトにCSSもつかおうとおもえばつかえます。)

まず、ボタンやメニューはscene builderというものを使うことによってドラックアンドドロップでならべることができます。また、sceneを切り替えることで画面を遷移することができ、(画像表示はgetClass().getResource()でリソースとして受け取りjar にしたものを取り込み)

データ関連や操作はJava側で書きます
キャラ名や部活名の管理は外部ファイルに書き出してそれを読み取ってキャラとしてつくるという風にする。
characterクラスをつくりそれをインスタンス化し大量に呼び出して、キャラクター用のデータファイル(csvでもtxtでもいい)の内容を与える

◎characterクラスはint personalityやString club、String name int looks(キャラの画像IDや差分の分だけ見た目データは増える)などの設計図をもたせます。(これを呼びだして、キャラデータから読み取った値を代入する感じ)

ライブラリ(Java レーダーチャートで調べると出ます。)をダウンロードしてレーダーチャートを表示する場合はそれに使う引数も用意

また、スライダーのユーザー編集を不可にしてスライダーの針の位置をプログラム側から書き換えていまの気持ちがどっち側?みたいなのを示すなども方法としてはあります。(ゲージみたいなのを用意してそれを増減させる、ハートとかの画像の大小で表現、または、表示数でハートが8個ある状態でこのセリフ選ぶとイベントフラグ立てるなどもできておもしろい?…など)

オリジナルキャラデータの作成時はキャラデータに書き込むメソッドやクラスを作る(セリフは既存のものを使うか、ユーザー側に作ってもらうことになる)

ただし、オリキャラを作るとなるとストーリーが存在しないため言動を固定化できない分余計だるい(AI積めるわけではないので)

チャプターごとに使用キャラやセリフや背景を決めてsceneに与える

んで、sceneをチャプターごとに差し替え、これを複数キャラ分作る(中断用のフラグもいる)

セーブはチャプターの番号や中断フラグとそれぞれのキャラの親密度や、その他シナリオに関わるフラグを保存します(csvなどなん以下略)ファイル読み書き機能もいる。(チャプターは過去ストーリー振り返りのフラグにも使える)

ルート確定した後は他キャラが一気にモブになるならヒロインと主人公セリフ+モブとの掛け合いで済むので固定化も見込めるかな?

ギャルゲー=高級な紙芝居だからシナリオはある程度固定化しないと難しそう(オリキャラなんか特に難しい)

ちなみに、ボタンはボタンのidや、ボタンの名前を探してもし押されたのが
Button serif_negaだったら
event_flag--
friendship--
serif.setText()
Button serif_posiだったら
event_flag++
friendship++
serif.setText()
もしButton serif_neutralだったら
serif.setText()
という風にすればいいと思います。
(あくまで例なので、このままでは使えませんので、ラムダ式などで記述してください。)

ユーザー側から見えるボタンの外観はセリフのテキストや画像になるようにします。

みたいな感じでしょうか?

zin********さん

2018/3/2814:54:02

2年以上を想定してるなら可能性あるかもね。ただ これなら簡単ってのはないかもね。めちゃくちゃ難しいってほどでもないので、頑張れば作れるでしょう。プログラミング初心者なら基礎はしっかり覚えつつ、どの環境が作りやすいかを調査すればいい。それが吉里吉里Zなのか、cocos2d-xなのかUnityなのかそれは自分で探すものでしょ。どれでも可能だとは思うけどね。

プロフィール画像

カテゴリマスター

うどんさん

編集あり2018/3/2814:06:56

あなたはどれくらいJavaが出来るのですか?
1~100まで教えてたら教科書2冊分は必要。
到底知恵袋の回答欄で収まるものではない。
ただ教えてくださいというのは簡単だけど、教える側はあなたの現在の知識力がどこまであるのかわからなければ教えようがありません。

Javaで作ることは出来るからJavaを前提にお話しますが、Javaなのに作業環境がChromeなのはなぜですか?
JavaScriptと間違えてませんか?

ゲームからプログラミングに興味を持つ人に限っていきなりゲームを作ろうとします。
足し算も出来ないのにいきなり2次関数に挑戦するくらい無謀です。

ゲーム作りの本なんて半年先のお話です。
基礎の入門書を買い、せめて基礎を固めてからゲームプログラミングの本を買いましょう。

ゲームのプログラミングが業界では1番難しいんですよ?
見通しが甘すぎです。
意味を理解せずにそこらへんのサイトのコピペをすればそれなりのモノは出来ますけどね。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる