時代はUnityと言われました。マジですか?

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
桜井

時代はUnityと言われました。マジですか?

#1

投稿記事 by 桜井 » 2年前

「DXライブラリで出来てUnityに出来ないことは無い、
       しかもDXライブラリよりも簡単にゲームが作れる」
と知人に言い放たれました。
それは、ほんとですか?

少し話を聞いて下さい。
当方普段DXライブラリで2Dゲームを制作しています。
ファミコン風レトロゲームです。
私は5年ほど前にUnityを調べた時
3D制作しか視野に入れていない感じだったので
私は興味を持たなかったんですが

つい先日、知人に2Dゲームでも
今やUnityが作りやすいよ、と言われたわけです。

私は昔DirectXを勉強してその時に描画する面倒さを体感し、
その後DXライブラリを知って、
描画、画像管理等に超感激したのを覚えています。
例えばUnityでの2D画像描画は、このDXライブラリにも
勝るレベルに簡単なのでしょうか?
ひとつの画像をただ表示する話というよりは、
LoadDivGraphみたく分割管理する関数とか描画周りの話です。
Unityの画像分割管理はLoadDivGraph並に簡単ですか?

そして、これが一番お尋ねしたいのですが
UnityにDXライブラリで言うところの
MakeScreen、SetGraphMode、DrawExtendGraphの
代わりになるものはありますか?

例えば、解像度256×224の枠の中で16×16のキャラクタを
動かすゲームを制作する場合
用意する画像はそれらのサイズでも、
表示する時は拡大して表示しなければ話になりません。
私はDXライブラリで制作する時、
毎度MakeScreenでファミコン画面を制作し、
それをSetGraphModeにて拡大画面サイズにして
画像をDrawExtendGraphで拡大描画しております。

Unityでもそれは可能なんですか?Unityでは
自分で大きくした画像を用意する、みたいなイメージなんですが。
仮に拡大出来る関数があったとしても
ピクセル補完がグラフィックドライバ任せのボケボケになった様な
拡大描画とかになってませんか?

要は、レトロゲーム制作にもモッテコイなのかを知りたいです。
Unityを触っている方、教えて下さい。

桜井

Re: 時代はUnityと言われました。マジですか?

#2

投稿記事 by 桜井 » 2年前

「Unityでもドット絵のゲームは作れるよー」では無く(そんな事はわかってます)、
知りたいのは、ファミコンの解像度のまま、素材を用意し、画面座標を考え、
それを拡大した画面で描画して皆に提供する、ことが
Unityでも出来るのか?という感じです。
それが可能だとして、機転を利かせた無理矢理的な実行のか、
DXライブラリの様にそれをするために関数が用意されているのか、とか。

Pemphrēdō

Re: 時代はUnityと言われました。マジですか?

#3

投稿記事 by Pemphrēdō » 2年前

桜井 さんが書きました:しかもDXライブラリよりも簡単にゲームが作れる」
ほんとですか?
5年前に比べれば、2D機能もだいぶまともになってきましたので、
総合的に言えば「はい」ということになります。
色々細かい条件をつけると状況によっては、となってしまうかも。

結局のところアーキテクチャが違うので、あっちでは簡単にできたことが
こっちでは面倒、でもこっちを使うとあれはすごい簡単、とかは普通にあります。
桜井 さんが書きました:Unityの画像分割管理はLoadDivGraph並に簡単ですか?
分割するのは簡単です。
個々に名前もつけられます。自動で分割することもできますし、細かい分割の仕方も調整できます。
https://docs.unity3d.com/jp/540/Manual/ ... ditor.html
桜井 さんが書きました:MakeScreen、SetGraphMode、DrawExtendGraphの
代わりになるものはありますか?
処理として同じことを実現するのは簡単です。
コードを書く必要すらないと思われます。
桜井 さんが書きました:拡大描画とかになってませんか?
ドットをくっきり保ったまま、補完をかけずに大きく表示したい、
ということでしょうか?
フィルタを適切に設定して、整数ピクセルにフィットするように作ればならないと思います。
桜井 さんが書きました:知りたいのは、ファミコンの解像度のまま、素材を用意し、画面座標を考え、
それを拡大した画面で描画して皆に提供する
座標に関しては原点が違うので調整が必要でしょうし、制作の過程は人それぞれなので
細かいところは実際やってみてと比較しないと結論は出せませんが、
おそらく可能だと思います。
桜井 さんが書きました:レトロゲーム制作にもモッテコイ
ちょっとなんとも言えません。そういう統計があるわけでもないですし。

ただそうですね、細かいことは気にしないでレトロゲームを作ろう、となった時に
どっちを使うかということであれば、私ならUnityを選択すると思います。

初期の段階で全体の設計やレトロっぽくするための設定に苦労したとしても、
後々を考えると色々楽できたり発展できる可能性もありそうなので。

桜井

Re: 時代はUnityと言われました。マジですか?

#4

投稿記事 by 桜井 » 2年前

>>Pemphrēdō
回答をありがとうございます。
正直、この掲示板では嫌がられる内容かと思っていたので
回答があってほっとしました。

ちなみにUnityではC#を言語としている、で間違いないですよね?
自分はC、C++を使っていますのでUnityを利用するなら
まずはC#を覚える必要があると思います、、。

勉強する順序的には
C#

Unity4

Unity5
の流れで間違いないですか?

Unity5は知人曰く、
Unity4の有料機能が無料で追加されただけだ、と言ってました。
参考とするサイトも書籍もまだ少ないのでUnity4を使えば?とも。
(別にその知人はUnityマスターではありません、
あくまでプログラミング雑学で知識があるだけで話をしているだけです。
アンチDXライブラリでもありません)

ただ自分で軽く調べた結果、
2Dゲーム(しかもファミコン解像度レベル)を作る事しか頭に無い自分にとっては
Unity5で大幅に追加された機能はどれも3Dゲーム用みたいな感じを受けました。
もしかして、自分にとってはUnity4の無料機能でじゅうぶん満足出来る状態なのかな、と。
(例えばファミコン時代の集大成、
アクション部門「スーパーマリオ3」、
RPG部門「ドラクエ4」、アドベンチャー部門「メタルスレイダーグローリー」が
作れる(作りやすい)なら、もうそれで十分満足なんです)
どうですか、Unity4でじゅうぶんでしょうか?

あと、Unityの専門用語っぽい「マテリアル」が理解出来ないです
マテリアルを作る、使用する、とよく書いてますが
マテリアルって、結局「ライブラリ」の事ですか?
そうなれば、なんでわざわざマテリアルって呼ぶのかわかりません。

まくらカバー

Re: 時代はUnityと言われました。マジですか?

#5

投稿記事 by まくらカバー » 2年前

ゲーム会社でUnityを使っている者です。

まずは迷う前に使ってみましょう。
機能の高さに驚かれると思います。
商業目的でなければ無料でほぼ全機能を用いる事が出来ます。

凄く簡単なゲームであればソースコードを書く必要すら無いくらい簡単にゲームを作る事が出来ます。
Unity5の後続である、Unity2017では2Dゲームを作る機能も大幅に強化されました。
「ゲームを作りたい」のであれば、Unityを使わずにDXライブラリを使う理由は無いと思われます。
正直、最新のUnityであれば出来ない事を探す方が難しいくらいに高機能で何でも出来ます。
描画や画像管理等もソースコードを書かずに出来ますし、LoadDivGraphもソースコード不要で実現できます。
MakeScreen、SetGraphMode、DrawExtendGraphあたりも、ソースコードを書かずに実現可能かと思われます。

C#はある程度の知識は必要ですが、C/C++を理解されているのであればUnity上で最低限使用出来るレベルまでの知識を習得するには一週間もかからないでしょう。
現状、Unity4を使用する必要はありません。Unity5はやりたきゃやればいいですけど(業務ではUnity5を使用しています。)、
アマチュア制作であれば最新のUnity2017を使用して全く問題はありません。

>>
Unity5は知人曰く、
Unity4の有料機能が無料で追加されただけだ、と言ってました。
参考とするサイトも書籍もまだ少ないのでUnity4を使えば?とも。

全くそんな事はありません。
書籍は確かに充実していないです。
何故かというと、書籍を読む必要が無いくらいに簡単にゲームを作れるんので、誰も買わないからです。
Unityの公式サイトのチュートリアルを読めば大体使えるはずです。
超高度なUnityの使い方になると、それなりに書籍もありますが、アマチュアではまず使わないでしょう。

>>
あと、Unityの専門用語っぽい「マテリアル」が理解出来ないです
マテリアルを作る、使用する、とよく書いてますが
マテリアルって、結局「ライブラリ」の事ですか?
そうなれば、なんでわざわざマテリアルって呼ぶのかわかりません。

マテリアルとは、材質と言う意味です。
例えば、プラスチックみたいな材質か、金属みたいな材質かで描画の手法は変わります。
その、描画の手法を当てはめる素材みたいな物がマテリアルと言います。
マテリアルと言う言葉は、Unityだけではなく3D業界では平常的に使われる言葉です。
まぁ、詳しい事はUnityの公式チュートリアルを読んでください。

まくらカバー

Re: 時代はUnityと言われました。マジですか?

#6

投稿記事 by まくらカバー » 2年前

一応、DXライブラリの使う意味を教えておきます。

例えば、Unityの基本的な機能を使いこなした上で、更に高機能な事をやってみたいと思ったとします。
例えば、シェーダーだったり、マルチパスターゲットレンダリングやフォワードプラスレンダリング、
更にはスマートフォンで高度に最適化された3D描画をやりたい等など。

そういった高度な技術を使うには、Unityの内部構造等を知る必要があったり、3D描画の為の基本的な知識を知っておかなければいけません。
しかし、Unityは簡単にゲームを作れる様にする為、そういった難しい部分を内部に隠蔽して簡単に操作出来る様に作られています。
なので、Unityのすっごく細かくて奥の方を操作するにはUnityだけの知識では操作する事が出来ません。

では、どうするかと言えばDirectXやOpenGL等の低レベル(よりハードウェアに近いプログラムの事を低レベルと言います高レベルの極致がUnityです。)な知識が必要となります。
そして、それらのDirectXやOpenGLは初学者にとってはかなーーーーりハードルの高い学習となります。
DXライブラリはそれらを学習する為の前段階のクッションとして作られた物だと解釈しています。
DXライブラリを学習して、次に低レイヤーなDirectX等を学習していくと理解が早くなります。
そして、DirectXをマスターしたらUnityで超高度な技術を使う事が出来るといった次第です。

なので、将来ゲーム会社に入りたいとか、凄腕プログラマーになりたい等、高みを目指す事を考えていないのであれば、
DXライブラリを使う理由はありません。
単純にゲームを作りたいんだ!って言うだけであればUnityを使用しましょう。

sadora3
記事: 175
登録日時: 7年前

Re: 時代はUnityと言われました。マジですか?

#7

投稿記事 by sadora3 » 2年前

UnityはC#やjavascriptを使用しています。
桜井 さんが書きました: 勉強する順序的には
C#

Unity4

Unity5
の流れで間違いないですか?
既にC言語を勉強なされているのであれば、C#はがっつりとは勉強しなくていいと思います。
Unity4は触る必要はないと思います。
Unity5か、Unity2017を使うことをお勧めします。
桜井 さんが書きました: あと、Unityの専門用語っぽい「マテリアル」が理解出来ないです
マテリアルを作る、使用する、とよく書いてますが
マテリアルって、結局「ライブラリ」の事ですか?
そうなれば、なんでわざわざマテリアルって呼ぶのかわかりません。
マテリアルはライブラリではありません。
マテリアルとは、3Dモデルの用語の一つで、「モデル表面の反射率や粗さなど、描画設定の集まり」のことをいいます。
ライブラリとは、「ある特定の機能を持ったコンピュータプログラムを他のプログラムから呼び出して利用できるように部品化し、そのようなプログラム部品を複数集めて一つのファイルに収納したもの」のことをいいます。


個人的にUnityはブラックボックスの部分が多すぎて、嫌いです。デバッグとか面倒です。色々調べながらゲームを作っていくことになると思います。
それよりは、既にCとC++を習得されているならDXライブラリを使って、ソースコードをガリガリ書いていく方が楽かなと思います(あくまで私個人の意見です。質問者さんがそうとは限りません)。

sadora3
記事: 175
登録日時: 7年前

Re: 時代はUnityと言われました。マジですか?

#8

投稿記事 by sadora3 » 2年前

[追記]
一番大事な話を書き忘れていました。Unityの強みに関する話です。
Unityにはアセットストアという、Unityユーザがゲームで使うための素材を共有しあうストアがあります。無料のものもありますし、有料のものもあります。
Unityの一番の強みはこれだと思います。
もしも自分でゲームに使用する素材を全て用意出来るのであれば、DXライブラリをお勧めします。
が、もっとかっこいい絵が欲しいだとか、派手なエフェクトを導入したいなどの要望があるのであれば、Unityの使用をお勧めします。

オフトピック
※編集に制限時間が設けられたのは中々不便ですね・・・。独り言ですすみません。

桜井

Re: 時代はUnityと言われました。マジですか?

#9

投稿記事 by 桜井 » 2年前

>>まくらカバーさん
回答ありがとうございます。
Unityを熟知されている方からの回答を頂けましたことに感謝します。

Unity2017について調べてみましたが、今年リリースされただけあって
為になるサイトや書籍がほぼ見つかりません。
Unity公式チュートリアルも拝見しましたが貧弱すぎてびっくりしました。
特に日本語のサイトは酷い、、が、英語サイトのチュートリアルも乏しいし、
まあ英語びっしりなんで読む気にもなれませんでしたが、、。
(というか、そもそも公式のチュートリアル動画もう古いですよね?
現在では死に動画ですよね、あれらは)

で、質問なんですが
Unity2017を使うにあたり、Unity4の書籍でも役に立ちますか?
Unity4を触るつもりは無いですが、
Unity4向けの書籍を読むのは勉強になりませんか?
それとも世に少なかろうとUnity5の書籍を探した方がまだ良いですか?
というか、特に自分は2Dゲーム制作にしか興味がないので
Unity5やUnity2017に絞ると余計に物が少なく感じます。

しかも動画じゃ日本人はまだ遊び感覚で触って簡単なゲーム作ってるばかりで、
C#打つほどのUnity解説動画あげてるのは外人ばっかり、
、、pygameみたいに日本じゃまだ浸透してないのかあって感じで
正直、参ってます。


>>sadora3さん
回答ありがとうございます。
sadora3 さんが書きました: Unityユーザがゲームで使うための素材を共有しあうストアがあります
Unityの一番の強みはこれだと思います。
まったく興味ないですね。
自分で用意出来ますし、他人の素材を使う気になりません。
派手なエフェクトも興味ないです。
あくまで自分は8bitゲーム制作オンリーですので。
sadora3 さんが書きました:DXライブラリを使って、ソースコードをガリガリ書いていく方が楽かなと思います
実際自分でもそうだと思っています。
現時点ではソースコードを書きなぐる方が早そうです。
しかし、マルチプラットフォームというUnity最大の利点
それが自分の中で大きいんです、
いつまでもwin専用PCゲームという枠に縛られるのはちょっとキツいです。
そしてちゃんと勉強さえすれば、自分の作ってるレベルのゲームが
Unityではラクに作れそうな気配がありはしますから。

桜井

Re: 時代はUnityと言われました。マジですか?

#10

投稿記事 by 桜井 » 2年前

でも正直、Unityの弱点もバシバシ教えてほしいかもですね。
今のところUnityを誰も悪く言いませんので。

そういう意味ではsadora3さんの
"Unityはブラックボックスの部分が多すぎて、嫌い”という言葉は
興味深いです。
もう少し具体的に聞かせてほしいですね。

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 9年前
住所: 北海道札幌市
連絡を取る:

Re: 時代はUnityと言われました。マジですか?

#11

投稿記事 by Dixq (管理人) » 2年前

桜井さん

まくらカバーさんが仰っているように、まずは使ってみましょう。
既出内容になりますが、正直今の時代「ゲームを作りたい」のであればUnityを使わない理由はほぼ無いです。
上に出ていない強みとしては、なんといってもマルチプラットフォームですよね。
私はwindows用のゲームをC++で作るのが趣味ですが、仕事ではJavaでスマホアプリ開発するのが専門です。
なので、7年位前はwindows用のゲームとスマホで動くアプリを作ろうとしていましたが、作るのが大変でした。
DXライブラリはコアがDirectX、スマホはOpenGLなので、そもそも共通化できず、ほぼそれぞれ専用に作り直さなければなりません。
まずはOpenGLをラッピングしてDXライブラリ風のAPIのライブラリを作るところから当時始めました。
それが今やUnityでは同じプロジェクトから変換できないプラットフォームはあるのか?分からないほどです。
https://unity3d.com/jp/unity/features/multiplatform
ここに書いてあるだけ同じプロジェクトで出力できてしまうのです。

でも私がDXライブラリを愛用するのは動機が「ゲームが作りたい」よりも「プログラムソースコードが書きたい」だからです。
Unityでブラックボックス化されて隠蔽されている部分も全部自分で作りたいと思う奇行種なので、そうしています。
また、DXライブラリを利用する意味としては、龍神録2プログラミングの館で紹介している通り、
ゲーム制作を通じてC++の設計スキル向上やプログラミングスキル向上を目論むことができる点でしょうか。
ですので、プログラマーとして成長したいのであれば、DXライブラリという選択肢はあります。
ただ重なりますが、ゲームが作りたいだけなら
「時代はUnityと言われました。マジですか?」
と言われているようにその通りです。

桜井さんはブラックボックスに着目しているようですね。
凄腕プログラマーになると、ブラックボックスを嫌い、オープンソースを好みます。
windowsを嫌い、Linuxを好み、iOSを嫌い、Androidを好みます。
windowsやiOSのAPIに不具合があったときや、そのAPIをカスタマイズしたいとき、
中身が隠蔽化されていたらそれ以上のことはできません。
しかし、すべてコードが公開されていたら調べたり、カスタマイズすることが可能です。

ただこれはかなりのエキスパートにならないと恩恵を得ることはないでしょう。
上でも言った通りまず使ってみましょう。

まくらカバー

Re: 時代はUnityと言われました。マジですか?

#12

投稿記事 by まくらカバー » 2年前

Unityの弱みの一つ目として、sadora3さんが言われている通りブラックボックスな点ですね。
私の回答でいう、
//------------------------------------------
そういった高度な技術を使うには、Unityの内部構造等を知る必要があったり、3D描画の為の基本的な知識を知っておかなければいけません。
しかし、Unityは簡単にゲームを作れる様にする為、そういった難しい部分を内部に隠蔽して簡単に操作出来る様に作られています。
なので、Unityのすっごく細かくて奥の方を操作するにはUnityだけの知識では操作する事が出来ません。
//------------------------------------------
の事です。
高度な技術を扱う時には、Unityのブラックボックスになっている部分が非常に厄介となりますが、
2Dゲーム程度であれば気にする事は無いでしょう。
もし、ブラックボックスの部分を知りたい場合はUnityだけを勉強していると手が付けれなくなってしまいます。
その為に、一旦DXライブラリと言うゲームプログラミングのチュートリアルを触ってから、
DirectX等の本番ライブラリを触る事で理解する事が出来ます。

弱点の二つ目としては、簡単にゲームを作る仕組みをUnityが提供している訳ですが、その仕組みに則った作り方をしなければいけません。
DXライブラリであれば、その仕組みから自分で作る事が出来るのでフリーダムな作り方をする事が出来ますが、
余程の事をしない限りその必要は無くUnityの機能だけでゲームを作る事が出来ます。
と言うか、素人がフリーダムな作り方をして修練目的でない限りメリットがありません。
修練目的であれば是非どんどん使ってください。
つまり、Unityの為の勉強が少なからず新規にやり直す必要はありますが、DXライブラリを使う為の勉強量と比べると非常に微々たる勉強量でUnityを用いる事が出来ます。

弱点の三つ目は、Unity自体にバグがあった場合は自分自身でどうしようも無い点です。
ただ、普通の人が触る部分に関しては多くのユーザーが触っている所と言う事なので、
つまり、多くの人が触る部分はバグがあった際に大量の報告がUnity社に行くのですぐに修正されています。
なので、アマチュアが使う程度の部分にはほぼ不具合は存在しませんのでご安心を。

弱点の四つ目は、ブラックボックス故に、ゲームプログラミングを楽しみたい人にとっては楽しめない点です。
Unityはソースコードを書くまでもなく、クリックだけで作れてしまう事が沢山あります。
当然そのクリックだけで作れてしまう事はブラックボックスとなっているので、
その部分を自分で作りたいと思っている方や、知りたいと思っている方には向かないでしょう。

とにかくまとめると、
★Unityを使うべきでない場合
・技術的に高度なプログラミングを要するゲームを作る。
・将来ゲーム業界の就職等を考えており、高度なプログラミングの勉強をしたいと考えている場合
・ゲームを「プログラム」を楽しみたい場合

★Unityを使うべき場合
・技術的に簡単なゲームを作る場合
・ゲーム業界の就職等を考えずに、趣味でゲームを作りたい場合
・ゲームを「作る事」を楽しみたい場合

★DXライブラリを使うべき場合
・ゲームプログラムの勉強をしたい場合
・ゲームを作る事が楽しいのではなく、プログラムする事が楽しい場合

桜井さんは、ゲームを「作る事」が目的な様に見受けられましたので、
Unityを強く推奨したいと思います。
更に、Unity2017からは2Dゲームのサポートもかなり手厚くなったので更にオススメです。

//==========================================================
>>DXライブラリを使って、ソースコードをガリガリ書いていく方が楽かなと思います

慣れるまでは、ソースコードをガリガリ書く方が早いと思われますが、
慣れて来ると今までのソースコードの7,8割がクリック一発で実装出来てしまうので、
どう考えてもUnityの方が早くゲームを作る事が出来ます。

//==========================================================
>>Unity5は知人曰く、
>>Unity4の有料機能が無料で追加されただけだ、と言ってました。

これは大きな間違えです。別物です。
古いUnityを使うとUnity自体にバグが多く潜んでいる事があるのでオススメしません。
後、古いUnityは誰も使っていないので質問等をしても分かる人が少ないです。

//==========================================================
>>しかし、マルチプラットフォームというUnity最大の利点
>>それが自分の中で大きいんです、

Unityの最大の利点は制作途中のゲームをリアルタイムに瞬時に確認する事が出来る点と、
インスペクタ機能(多分分からないと思うからググって下さい。)です。
DXライブラリだと、座標の指定やゲームバランス等を調整する際、
「ソースを書く→コンパイル→実行→チェックしたい所までゲームを進める」
と言う手順が必要となりますが、Unityの場合、
「ソースを書く→実行」
だけで確認・調整が可能となります。
つまり、制作における無駄な時間を省けるので、
よりゲームの面白さ部分に注力して制作する事が出来ます。

//==========================================================
>>Unity2017について調べてみましたが、今年リリースされただけあって
>>為になるサイトや書籍がほぼ見つかりません。

Unity2017については、Unity5の機能に+αされたと言う形ですので、資料はUnity5の物で事足ります。
書籍は期待してはいけません。誰も買わないのでまともな本がありません。
サイトに関してDXライブラリよりかはかなり充実しているはずです。
世界中の企業や個人で最も多く使われているゲームエンジンですので、資料が少ないはずがありません。
恐らく検索の仕方が悪いのだと思われます。出来ればどうやって検索したのかを教えて頂けますでしょうか?

//==========================================================
>>Unity公式チュートリアルも拝見しましたが貧弱すぎてびっくりしました。

ここの事ですか?
https://unity3d.com/jp/learn/tutorials/ ... hajiuni-jp
初心者にとってはめちゃくちゃ充実した内容なはずですよ。
てか、こんな少ない情報だけで一通りのゲームを作れてしまうのがUnityです。
チュートリアルを全て読破した後は、このサイト( https://docs.unity3d.com/ja/current/Manual/index.html )
を必要に応じて読んでください。全部読むと一生かかるので、ゲームを作っていて詰まったらここを見れば9割方は解決するはずです。
後は、公式の関数リファレンス( https://docs.unity3d.com/ja/current/Scr ... index.html )
や個人ブログ等を漁れば大抵のゲームは作れてしまいます。
個人ブログは
http://tsubakit1.hateblo.jp/
https://tech-camp.in/note/technology/14874/
あたりがオススメですかね。

//==========================================================
>>特に日本語のサイトは酷い、、が、英語サイトのチュートリアルも乏しいし、
>>まあ英語びっしりなんで読む気にもなれませんでしたが、、。
>>(というか、そもそも公式のチュートリアル動画もう古いですよね?
>>現在では死に動画ですよね、あれらは)

本当にちゃんと読みましたか?
動画については先ほど確認しましたが、最新のUnityと見比べて全く問題はありませんでした。

//==========================================================
>>Unity2017を使うにあたり、Unity4の書籍でも役に立ちますか?

全く役に立ちません。
Unity4とUnity5以降は別物です。
Unity5においても書籍は不要です。買うだけ本当に無駄な書籍しかありません。
先ほどから言う通り書籍見るより公式やネット情報見る方が
遥かに情報量が多いですし、しっかりしています。

//==========================================================
>>しかも動画じゃ日本人はまだ遊び感覚で触って簡単なゲーム作ってるばかりで、
>>C#打つほどのUnity解説動画あげてるのは外人ばっかり、
>>、、pygameみたいに日本じゃまだ浸透してないのかあって感じで

むしろ日本の方がUnity浸透しています。
毎年の様に日本でUnity専門の大規模なカンファレンスが開催されるくらいには浸透しています。
ちゃんと調べましょう。
動画に関してはUniteでググれば日本語で非常に高度な情報の動画が腐る程出てきます。
多分初心者には厳しいと思われますが…Unityに慣れてきたら実際にUnite Tokyoに行ってみるのも良いと思います。
ちなみにどうでもいい情報ですが、プリキュアのエンディングムービーもUnityで作られてるくらいには浸透しています。
最早ゲーム分野以外のアニメ分野等にもUnityが使われる時代です。


かなり長くなっちゃいましたが以上です。
私はUnityをかなりゴリ押ししてますが、
何度も言う様に、「ゲームを作りたいだけ」であればUnityが最適解と言うだけです。
プログラムの勉強をしたいからゲームを作る場合は今までの言葉を全て忘れて、DXライブラリを使ってください。
ここ本当に重要なんで…

まくらカバー

Re: 時代はUnityと言われました。マジですか?

#13

投稿記事 by まくらカバー » 2年前

Dixqさんの回答が洗練されすぎててビビりました。
すみません。どうでもいいですね。

桜井

Re: 時代はUnityと言われました。マジですか?

#14

投稿記事 by 桜井 » 2年前

>>管理人さん、まくらカバーさん
回答をありがとうございます、勉強になります。
まくらカバー さんが書きました:簡単にゲームを作る仕組みをUnityが提供している訳ですが、その仕組みに則った作り方をしなければいけません。
DXライブラリであれば、その仕組みから自分で作る事が出来るのでフリーダムな作り方をする事が出来ますが、
それこそ、まさに私が最初から危惧している事なんです。
まくらカバーさんのいう「フリーダムな作り」がどこまで凝ったものかは
わかりませんが、私も一応、DXライブラリでソースコードを打ち
自分なりの組み立て方を作ってきました。

Unity、動画を確認したところ確かにゲームを作るのは簡単そうでした。
でも、簡単に作っているゲームはどれも簡単なゲームばかりでした。
(3Dは興味ないのでパスしてます)
グラフィックが派手なのでごまかされがちですが
公式チュートリアルの2Dゲーム自体、凝った内容ではありません。

Unityの2Dゲーム制作動画を見ると、どれも背景もキャラも
すべてのオブジェクトをスタンプの様にひとつひとつ配置してますよね。
もちろん、DXライブラリでソースコードをガリガリ書いて作っていようが
最終的に同じ動きや見てくれのゲームが出来たなら正直問題ないと思います。

しかし、例えば、外部(txt)ファイルを読み込み、
宣言した二次元配列に値をぶちこんでいき、
その二次元配列見て、割り振ったマップチップを描画する、
という事は、Unityでも出来るのですか?
そういう事をするために、そこでC#が活躍してくれるのでしょうか?
それとも、それすら必要なくなったのがUnityなのでしょうか?

C#を使える、ということは色々と凝ったことが出来ると思うのですが
まくらカバーさんは「Unityでは仕組みから自分で作る事が出来ない」と言ってます。
上記の配列からマップチップ表示って、ある意味仕組み、ですよね?
それも不可能ってことですか?

JonV

Re: 時代はUnityと言われました。マジですか?

#15

投稿記事 by JonV » 2年前

横から割り込み失礼します・・・
長い間DXライブラリをやっていて、一度Unityに移ってまたDXライブラリに戻った者です。
しかし、例えば、外部(txt)ファイルを読み込み、
宣言した二次元配列に値をぶちこんでいき、
その二次元配列見て、割り振ったマップチップを描画する、
という事は、Unityでも出来るのですか?
できます。C#のコーディング次第でできます。スタンプのように貼ることもできますし、DXライブラリのように、画像をコードから引っ張ってきて読み込んだデータで描画することもできます。
やる前は、Unityは簡単そうだけど、DXライブラリでできていたことが全然できないかもしれない、とか思っていたのですが・・・
ソースコードをオブジェクトごと分けて使ったりもしますが、
やろうと思えばDXライブラリのように一つや二つのソースコードで制御することもできます。
使い方次第です。

こんなことを言うのもあれですが、一度Unityを触ってみるとどんなものかわかるかもしれません。
(C++)DXライブラリをやっているのなら、Unityはすぐにでも理解出来ると思います。私の場合は、Unityでのゲームのつくり方がある程度わかってきたと感じたのは、始めてから二・三日(一日二時間くらい)くらいでした。(多少のC#の知識が必要ですが→しかし、C++を知っていればC#を学ぶのも苦ではないと思います)
もちろん作り方は異なります。しかし、使い方によってはDXライブラリのようにも使えます。
他の方々がおっしゃっているように、
変な言い方ですが、「DXライブラリで○○ができた。Unityではできるんだろうな・・・?」とかまをかけてみれば、ああ・・・そういう方法でできるのか・・・といった感じです。
そしてさらに、やっぱり扱いやすく、ゲームを作るまでのスピードはDXライブラリに比べるとかなり早いです。

私は、Unityをやってみて、その後DXライブラリに戻ったのですが、
Unityでのゲームの考え方をDXライブラリで生かせたりもします。

結局は、自分の使いたいもので作ればいいということです。
DXライブラリを使って作る、でもいいし、Unityで作る、でもいいですし。
JavaやJavaScriptを使うでもいいし、DirectXを直接使うでもいいと思います。

Windowsで縛られる、ということを気にされているのでしたら、さまざまな機種に対応する「OpenGL」という手もあります。

まくらカバー

Re: 時代はUnityと言われました。マジですか?

#16

投稿記事 by まくらカバー » 2年前

チュートリアルが凝ったゲームになるはず無いでしょう。
企業とかでも世界的に一番使われているゲームエンジンと言う事をお忘れなく。

飽くまでも設計が強制されるだけで何でも出来ますよ。
コンポーネント指向と言う設計思想さえ理解出来ればかなり幅が広がります。

桜井

Re: 時代はUnityと言われました。マジですか?

#17

投稿記事 by 桜井 » 2年前

>>JonVさん
ありがとうございます。
まさに貴方と同じ不安を抱いている状態でした。
貴方の言葉で、私もUnityを触る覚悟が持てました。
そんな貴方に最後に聞かせ頂きたいのですが
長い間DXライブラリをやっていて、一度Unityに移ってまたDXライブラリに戻った
なぜ、DXライブラリに戻ったのですか?

DXライブラリで再現してたことは出来る、
ゲームもDXライブラリより早く出来るならば
良いことばかりですよね??

それとも、ゲーム制作以外の理由で
今DXライブラリに戻っているとかですか?
それならもう私の不安要素は0になります!

良かったら、DXライブラリに戻った理由を
教え下さいませんか?

ISLe
記事: 2645
登録日時: 9年前
連絡を取る:

Re: 時代はUnityと言われました。マジですか?

#18

投稿記事 by ISLe » 2年前

「解像度256×224の枠の中で16×16のキャラクタ」のような具体的な数値を挙げているので、ゲームを作ることと同時にファミコンの環境に対しての関心も高いのではないかと想像します。

LoadDivGraphが便利だとおっしゃっているので、まだ先の話、あるいは無用なことかもしれませんが、ラスタースクロールやパレットアニメーションを実装しようというレベルになれば、DXライブラリでも不便なものです。

別に高度な技術を習得したいからでもなく、ゲームプログラマになりたいからでもなく、ただゲーム機が好きでゲーム機に興味があるだけ。
楽しんでいつのまにか高度な技術を学べるならそれでいいんじゃないですかね。

レトロゲームのハードレイヤーを抽象化できるくらいになれば、DXライブラリもUnityもただの選択肢のひとつですよ。

JonV

Re: 時代はUnityと言われました。マジですか?

#19

投稿記事 by JonV » 2年前

良かったら、DXライブラリに戻った理由を
教え下さいませんか?
なんでしょう・・・
そんなに深い理由はないのですが・・・

DXライブラリに戻ろうと思った一番のきっかけは、処理速度かもしれません。
私は3Dの方もやったのですが(3Dの話が多めになります・・・)、内容にもよりますが、うちのパソコン(4GB)ではかなり重めでして。

簡単な3Dアクションのようなものを作ってみたのですが、私の環境では40FPSを切りました(25~35)(画質設定はGood)。
(物理エンジンが動いているからというのもありますが)
時間単位で動かす(FixedUpdate)こともできるので実はそんなには気にならなくなるのですが、
ディレクショナルライトをつけて影をつけると、かなりカクカクとします(平均25FPSくらい)。
画質設定をFastestにするといっきに早く(40~50FPS)なりますが、頂点単位のラインティングになり、綺麗に行きません。
処理速度を向上させようとしても、描画の部分などはやはりブラックボックスで、いじりにくい部分があります。
(とはいっても、さすがはUnityだけあって、方法がまったくないというわけではなかったのですが)

私の場合フリーゲームで投稿しようと思っていたので、この処理速度じゃ・・・と思ったことですかね。

それから、やっぱり、UnityではUnityのやり方がある、ということでしょうか。
DXライブラリのやり方を引き継ぐことは可能ですが、それだとUnityでの最高のパフォーマンス(処理速度)を得られない場合もあります。
また3Dの話になって申し訳ないのですが、
パーティクルエフェクトなどは自分で計算して出していたのですが、Unityではもともと「パーティクル」という機能が存在します。
DXライブラリでやっていたようにUnityで出してみると、正確な比較はしていませんが、Unityの機能「パーティクル」を使った方がやや速そうでした(全体のFPSのみの比較)。
でも、言語が違えば、ツールが違えばやり方は当然ながら変わるので、そのあたりは慣れていくしかないです。
ただ、パフォーマンスを気にしなければ、DXライブラリのやり方を引き継げたりするので、Unityはかなりすごいです・・・。

それから、難しいことなのに簡単にできてしまうので、本当にいいんだろうか・・・?と思ったりしたことです。
影や反射などが標準でついていて、チェックボックスをつけたり、スライドバーをいじったりするだけで実現します。
ほかにも便利な機能などがいろいろついていて、中身を何も知らなくても簡単にできてしまいます。


2Dもやりましたが、処理速度に関しては2Dの方はそんなに気になりませんでした。
ただ、画像などいろいろなものが「ゲームオブジェクト」という単位になるので、
そのあたりの認識は、慣れが必要かもしれないです。
慣れれば、DXライブラリで扱っている画像のような感覚で使えると思います。
もちろん、Unityのやり方で(ぺたぺたはったり、オブジェクトごとスクリプトを分けたり)
しても面白いと思います。


と、長くなりましたが(すみません)、
でも個人的には、やっぱりDXライブラリを使ってゲームを作りたいなと思ったんです。
単なる趣味ですし、早く作りたいというのもないですし、
なんとなくDXライブラリを使いたいなと感じたくらいのものでしょうか。
好みの問題かもしれないです。
それから、今後Unityを使うかもしれないですし、
もう二度とUnityはやんねぇよ!!!と決めたわけではないです。


回答になっているでしょうか・・・?

桜井

Re: 時代はUnityと言われました。マジですか?

#20

投稿記事 by 桜井 » 2年前

このトピに書き込んでくださった皆さん、
ありがとうございました。自分はUnityに移行してみます。
DXライブラリはとても楽しかったのですし、
こんなに頑張ってきたのに移り変るのはなんとも寂しい気持ちですが
もともとゲームプログラマを目指しているわけでも、
ゲーム制作以外のプログラムに関心あるわけでも無い自分は
Unityで頑張る方が良さそうです。。
そう思わせてもらえたのは書き込んで頂いた皆さんのおかげです、
ありがとうございました。
自力でなんとか出来る様になってからはこの掲示板に来ることも
無くなっていたのですが今回相談させてもらって良かったです!

>>まくらカバーさん
為になるURLを教えてくださり、ありがとうございます。
それらからシッカリ勉強してみようと思います

>>JonVさん
大丈夫です、DXライブラリに戻った理由
十分伝わりました。ありがとうございます

>>ISLeさん
DXライブラリ新参者の私を当時鍛えてくださったのはまぎれも無く貴方です。
この数年、DXライブラリで制作したゲームをイベントで販売し続け、
通算七桁以上利益も出せました。タイトルは何本か作ったんですが
すべてのソースコードにはずっと貴方からの教えが活かされています。
トピ閉める前に偶然にも回答を頂け、感激しました。
この場でお礼を言わせて下さい。ありがとうございました。

返信

“C言語何でも質問掲示板” へ戻る