情報工学科(進学予定)の大学1年生で、専門的なことはまだやっていません。
1年のうちに趣味と学業をかねてプログラムを少しやっておこうと思い、
ビジュアルノベル系のゲームが好き、フォトショップなども使えることから
ノベルゲームを1から作ろうと前々から思っていました。
ですが、どの言語にするかきっちり定まらず、結果CとJavaの入門書を終えた段階にいます。
要はどっちつかずな状態です。
ちなみにプログラムのお勉強という意味合いも含め、NScripterなどは使うつもりはありません。
――初めはCをやっていたのですがCでGUIを扱うにはWin32API?なるものが必要だと知り、そして
Javaだと比較的簡単に扱えると知って、Javaをはじめ、
しかし今振り返ってみてCとJava、どちらにするか絞りきれません。
なにかアドバイスいただけたらと思います。
よろしくお願いいたします。
No.5ベストアンサー
- 回答日時:
ノベルゲームって、シナリオをC/C++やJavaで直接記述する事は少ないと思います。
これは、チームでの開発において、シナリオを担当する者がプログラミング言語で記述するのでは手間がかかりすぎてしまうのが理由だと思います。そこで、いわゆるオーサリングツール(Flashほど高度ではないにしても、そういうもの)を自作したり、スクリプトと呼ばれる比較的簡単な言語(NScripterというのは使った事が無いですが、名前から想像するとそういうものだと思う)で解りやすい形式で記述し、コンパイルしてシナリオデータを作成するわけです。
プログラムはそのデータを読み込んで再生する役割になります。java.exeがバイトコードを実行するのと同じような仕組みを自分で作成します。
そういう手順を踏襲するのであれば、オーサリングレベルではJavaを使い、実行環境はC/C++というのが面白そうです。
力業で絵を表示して文字を表示して音を出すの繰り返しよりも、切り離してしまった方が設計する力が身に付くと思いますし、C/C++とJavaは両方使えた方がいいと思いますので、お勧め出来ます。
個人的にはJavaCC等でコンパイラを作るのが面白そうだと思います。卒論にも使えそうなネタを盛り込んでいくのがいいんじゃないでしょうか。
No.4
- 回答日時:
>どちらにするか絞りきれません
Cが良いと思います。恐らく最も有益だろうからです。裏付け要素として、下記があります。
・今の主なゲーム開発現場(業務/家庭 用問わず)では、殆どCとC++が使われている
・R-grayさんが就職時も、上記環境はまず変わらないだろう事
尚そこそこCを習得出来たら、後は数学/物理の勉強により注力した方が有益でしょう。具体的には、
【数学】
・微積分(微分方程式の解法、ラプラス変換等)
・線形代数
・ベクトル解析
【物理】
・古典力学
・水/機械 力学(他の力学も役立つはず)
って感じです。私も勉強中ですが...。
どのゲーム会社も欲しがるソフト屋は、「数学や物理に秀で、それをソフトに活かせる人」です。何故なら大変だからです。そしてこの傾向も暫くは変わらないでしょう。
頑張って下さい。
数学物理はやはり大切なのですね。一応国立理系ということもあり
理数系の勉強は授業はもちろん、それなりに自習もしています。
頑張ります。
No.3
- 回答日時:
あなたが以下のどれに該当するのかわからないため、アドバイスもそれぞれ違うものになります。
その点を踏まえて読んでください。あなたは、
1.C言語かJavaを習得したい。ゲーム作成は習作という位置づけ。
2a.ゲームを作成したい。ゲームが作成できるならC言語でもJavaでもよい。
2b.ゲームを作成したい。ゲームを作成するのに言語は問わない。
あなたの具体的な回答としては、1か2aが容易に想像できます。
1では、さっさとどちらで行くか決めるべきです。そもそもWin32APIごときで躊躇しているのでは先は長いというべきなのですが。シナリオのブラッシュアップは、プログラムが出来てからでも遅くはない。
2aでは、先にシナリオのブラッシュアップをするべきです。最低限のシナリオ再生プログラムが出来たら、必要な機能が見えてくるはずなので、凝った演出などはそれからでも遅くはないです。
2bでは、2aの回答に加えて、VisualBasicなどのもっとGUIや文字列の取り扱いの楽な言語を選ぶことも選択肢に入ってきます。VisualBasicはWindows専用ではありますが、非常にメジャーな言語です。機種依存しないものとしては、Flashとactionscriptという組み合わせも配布に向いていることから普及してきてます。
No.2
- 回答日時:
単純にいえばCの方が高度な事ができる、といったところでしょうか。
Javaの場合、配布にはあまりむいていないかもしれません。
実行にJavaのランタイムが必要になってしまいます。(あと逆コンパイルされやすいです。)
Win32APIというのはOSが提供する機能です。ですから当然機種依存します。
逆にJavaは機種依存させないというポリシーがあるので、
このWin32APIを直接呼び出す事はできません。
ただ経験上いきなりCでゲームを作ろうとしても、なかなか思ったとおりに
はかどらないと思います。特にC(Windows)でGUIで組もうとしても
HWND?DC?、DIB?GDI?メッセージループ??という事になるでしょう。
そういう点でJavaのアプレットやswingを使った方が簡単には作れます。
#1さんのいわれるように両方やってみれば、それぞれのメリットがわかります。
とりあえず、それぞれの言語を自分なりに比較できるぐらいまでは両方やってみても
いいのでは?
単純ですが大雑把に2つの言語を比較すると
C言語
OS依存
高度な演出ができる
Java
Macでも動く(OS非依存)
あまり凝った事は出来ない
レスありがとうございます。
一番気にかかるのがやはりJREがないと動かない、配布に向かない、という
コトなんですよね。やはりいきなりCは大変ですか。
もっと要修行ですかね笑。
No.1
- 回答日時:
勉強のためにやってるんだったら両方やりなさい
すばやいレス、ありがとうございます。
―――確かに、情報方面へ向かうのなら尚更、C・Javaくらいは両方使えるべきだと思います。
ですが、”最初”というのはとても大事なことだと思うのです。
いずれ両方やるからどっちでもいい、というほど適当ではないと。
今の僕の頭の中は、
・CやJavaレベルにメジャーな言語で
・ノベルゲームを作りたい
・願わくばそれを他の人にもプレイしていただけるくらいのクォリティにはしたい
とかなりわがままな状態で、お勉強であると共にきっちりと作品を作りたいと思っているのです。
故に、一度、きっちりとどちらかに絞りきって片方に集中したいのです。
以上を踏まえ、これからもよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング プログラマの仕事内容 4 2022/08/13 00:34
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- IT・エンジニアリング c言語とjavaの需要について 3 2022/06/23 22:59
- Java プログラミングのプの字も知りませんが、プログラミングを勉強したいです。とりあえず、学ぶものを決めない 3 2022/11/04 13:10
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- Java JavaでWebページ作成 7 2023/07/21 21:09
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- C言語・C++・C# C#の基本文法が詳しく書かれている教科書的な本ありますか 2 2023/02/11 03:48
- 就職 先のことが不安すぎる(主に就職活動) 3 2023/06/27 09:37
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
COBOLで文字タイプを数字...
-
プログラムに書かれる"%"記号の...
-
vbaとc言語の関連性について
-
Transitional/ENとは
-
TO_CHARで小数点以下がある場合...
-
C++における継続行
-
QT(C++)の学習方法について
-
Excel VBAで文字化けする (英語...
-
パスカルケースの由来。
-
HTMLとC++で、どんなホームペー...
-
VCとVC++
-
UNITY Float型の接尾辞fって
-
C言語とhtmlの違いを どな...
-
COBOL のプログラマー人口って...
-
AIって何のソフトで作っている...
-
フォートランでいいのか?
-
プログラムははぜ小文字大文字...
-
COBOLでのNOT = の AND条件
-
Delphiの多言語化について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
プログラムに書かれる"%"記号の...
-
C言語とhtmlの違いを どな...
-
COBOLでのNOT = の AND条件
-
楽しくて最高のプログラミング...
-
Pythonって何を意識した言語な...
-
C#とC++とJavaが学べる書籍につ...
-
rpa化する言語としてら何があり...
-
最新のプログラム言語を学ぶに...
-
COBOLで文字タイプを数字...
-
質問失礼します。 プログラム言...
-
UNITY Float型の接尾辞fって
-
C++における継続行
-
TO_CHARで小数点以下がある場合...
-
C++ ってなんて読む?
-
VBSでDim、Private、Publicの違い
-
VBScriptで引数を省略したい場合
-
vbaとc言語の関連性について
-
VCとVC++
-
Excel VBAで文字化けする (英語...
おすすめ情報