時代はUnityと言われました。Unityと言われました。時代はUnityと言われました。「DXライブラリで出来てUnityに出来ないことは無い、しかもDXライブラリよりも簡単にゲームが作れる」と知人に言い放たれました。それは、ほんとですか?少し話を聞いて下さい。当方普段DXライブラリで2Dゲームを制作しています。ファミコン風レトロゲームです。私は5年ほど前にUnityを調べた時3D制作しか視野に入れていない感じだったので私は興味を持たなかったんですがつい先日、知人に2Dゲームでも今やUnityが作りやすいよ、と言われたわけです。超感激したのを覚えています。Unityでの2D画像描画は、このDXライブラリにも勝るレベルに簡単なのでしょうか?ひとつの画像をただ表示する話というよりは、LoadDivGraphみたく分割管理する関数とか描画周りの話です。表示する時は拡大して表示しなければ話になりません。毎度MakeScreenでファミコン画面を制作し、それをSetGraphModeにて拡大画面サイズにして画像をDrawExtendGraphで拡大描画しております。Unityでもそれは可能なんですか?Unityでは自分で大きくした画像を用意する、みたいなイメージなんですが。仮に拡大出来る関数があったとしてもピクセル補完がグラフィックドライバ任せのボケボケになった様な拡大描画とかになってませんか?要は、レトロゲーム制作にもモッテコイなのかを知りたいです。Unityを触っている方、教えて下さい。時代はUnityと言われました。知りたいのは、ファミコンの解像度のまま、素材を用意し、画面座標を考え、それを拡大した画面で描画して皆に提供する、ことがUnityでも出来るのか?という感じです。それが可能だとして、機転を利かせた無理矢理的な実行のか、DXライブラリの様にそれをするために関数が用意されているのか、とか。時代はUnityと言われました。総合的に言えば「はい」ということになります。細かい条件をつけると状況によっては、となってしまうかも。結局のところアーキテクチャが違うので、あっちでは簡単にできたことがこっちでは面倒、でもこっちを使うとあれはすごい簡単、とかは普通にあります。Unityの画像分割管理はLoadDivGraph並に簡単ですか?分割するのは簡単です。個々に名前もつけられます。自動で分割することもできますし、細かい分割の仕方も調整できます。MakeScreen、SetGraphMode、DrawExtendGraphの代わりになるものはありますか?処理として同じことを実現するのは簡単です。コードを書く必要すらないと思われます。拡大描画とかになってませんか?ドットをくっきり保ったまま、補完をかけずに大きく表示したい、ということでしょうか?フィルタを適切に設定して、整数ピクセルにフィットするように作ればならないと思います。知りたいのは、ファミコンの解像度のまま、素材を用意し、画面座標を考え、それを拡大した画面で描画して皆に提供する座標に関しては原点が違うので調整が必要でしょうし、制作の過程は人それぞれなので細かいところは実際やってみてと比較しないと結論は出せませんが、おそらく可能だと思います。レトロゲーム制作にもモッテコイちょっとなんとも言えません。いう統計があるわけでもないですし。細かいことは気にしないでレトロゲームを作ろう、となった時にどっちを使うかということであれば、私ならUnityを選択すると思います。後々を考えると色々楽できたり発展できる可能性もありそうなので。時代はUnityと言われました。回答をありがとうございます。この掲示板では嫌がられる内容かと思っていたので回答があってほっとしました。ちなみにUnityではC#を言語としている、で間違いないですよね?自分はC、C++を使っていますのでUnityを利用するならまずはC#を覚える必要があると思います、、。勉強する順序的にはC#↓Unity4↓Unity5の流れで間違いないですか?Unity5は知人曰く、Unity4の有料機能が無料で追加されただけだ、と言ってました。参考とするサイトも書籍もまだ少ないのでUnity4を使えば?とも。(別にその知人はUnityマスターではありません、あくまでプログラミング雑学で知識があるだけで話をしているだけです。アンチDXライブラリでもありません)ただ自分で軽く調べた結果、2Dゲーム(しかもファミコン解像度レベル)を作る事しか頭に無い自分にとってはUnity5で大幅に追加された機能はどれも3Dゲーム用みたいな感じを受けました。して、自分にとってはUnity4の無料機能でじゅうぶん満足出来る状態なのかな、と。(例えばファミコン時代の集大成、アクション部門「スーパーマリオ3」、RPG部門「ドラクエ4」、アドベンチャー部門「メタルスレイダーグローリー」が作れる(作りやすい)なら、もうそれで十分満足なんです)どうですか、Unity4でじゅうぶんでしょうか?あと、Unityの専門用語っぽい「マテリアル」が理解出来ないですマテリアルを作る、使用する、とよく書いてますがマテリアルって、結局「ライブラリ」の事ですか?そうなれば、なんでわざわざマテリアルって呼ぶのかわかりません。時代はUnityと言われました。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の公式チュートリアルを読んでください。時代はUnityと言われました。一応、DXライブラリの使う意味を教えておきます。Unityの基本的な機能を使いこなした上で、更に高機能な事をやってみたいと思ったとします。スマートフォンで高度に最適化された3D描画をやりたい等など。いった高度な技術を使うには、Unityの内部構造等を知る必要があったり、3D描画の為の基本的な知識を知っておかなければいけません。Unityは簡単にゲームを作れる様にする為、そういった難しい部分を内部に隠蔽して簡単に操作出来る様に作られています。Unityのすっごく細かくて奥の方を操作するにはUnityだけの知識では操作する事が出来ません。するかと言えばDirectXやOpenGL等の低レベル(よりハードウェアに近いプログラムの事を低レベルと言います高レベルの極致がUnityです。)な知識が必要となります。それらのDirectXやOpenGLは初学者にとってはかなーーーーりハードルの高い学習となります。DXライブラリはそれらを学習する為の前段階のクッションとして作られた物だと解釈しています。DXライブラリを学習して、次に低レイヤーなDirectX等を学習していくと理解が早くなります。DirectXをマスターしたらUnityで超高度な技術を使う事が出来るといった次第です。将来ゲーム会社に入りたいとか、凄腕プログラマーになりたい等、高みを目指す事を考えていないのであれば、DXライブラリを使う理由はありません。単純にゲームを作りたいんだ!って言うだけであればUnityを使用しましょう。時代はUnityと言われました。2年前UnityはC#やjavascriptを使用しています。勉強する順序的にはC#↓Unity4↓Unity5の流れで間違いないですか?既にC言語を勉強なされているのであれば、C#はがっつりとは勉強しなくていいと思います。Unity4は触る必要はないと思います。Unity5か、Unity2017を使うことをお勧めします。あと、Unityの専門用語っぽい「マテリアル」が理解出来ないですマテリアルを作る、使用する、とよく書いてますがマテリアルって、結局「ライブラリ」の事ですか?そうなれば、なんでわざわざマテリアルって呼ぶのかわかりません。マテリアルはライブラリではありません。マテリアルとは、3Dモデルの用語の一つで、「モデル表面の反射率や粗さなど、描画設定の集まり」のことをいいます。ライブラリとは、「ある特定の機能を持ったコンピュータプログラムを他のプログラムから呼び出して利用できるように部品化し、そのようなプログラム部品を複数集めて一つのファイルに収納したもの」のことをいいます。個人的にUnityはブラックボックスの部分が多すぎて、嫌いです。デバッグとか面倒です。調べながらゲームを作っていくことになると思います。それよりは、既にCとC++を習得されているならDXライブラリを使って、ソースコードをガリガリ書いていく方が楽かなと思います(あくまで私個人の意見です。質問者さんがそうとは限りません)。時代はUnityと言われました。2年前[追記]一番大事な話を書き忘れていました。Unityの強みに関する話です。Unityにはアセットストアという、Unityユーザがゲームで使うための素材を共有しあうストアがあります。無料のものもありますし、有料のものもあります。Unityの一番の強みはこれだと思います。自分でゲームに使用する素材を全て用意出来るのであれば、DXライブラリをお勧めします。かっこいい絵が欲しいだとか、派手なエフェクトを導入したいなどの要望があるのであれば、Unityの使用をお勧めします。オフトピック※編集に制限時間が設けられたのは中々不便ですね・・・。独り言ですすみません。時代はUnityと言われました。2年前>>まくらカバーさん回答ありがとうございます。Unityを熟知されている方からの回答を頂けましたことに感謝します。Unity2017について調べてみましたが、今年リリースされただけあって為になるサイトや書籍がほぼ見つかりません。Unity公式チュートリアルも拝見しましたが貧弱すぎてびっくりしました。日本語のサイトは酷い、、が、英語サイトのチュートリアルも乏しいし、まあ英語びっしりなんで読む気にもなれませんでしたが、、。(というか、そもそも公式のチュートリアル動画もう古いですよね?現在では死に動画ですよね、あれらは)で、質問なんですがUnity2017を使うにあたり、Unity4の書籍でも役に立ちますか?Unity4を触るつもりは無いですが、Unity4向けの書籍を読むのは勉強になりませんか?それとも世に少なかろうとUnity5の書籍を探した方がまだ良いですか?というか、特に自分は2Dゲーム制作にしか興味がないのでUnity5やUnity2017に絞ると余計に物が少なく感じます。pygameみたいに日本じゃまだ浸透してないのかあって感じで正直、参ってます。>>sadora3さん回答ありがとうございます。Unityユーザがゲームで使うための素材を共有しあうストアがありますUnityの一番の強みはこれだと思います。自分で用意出来ますし、他人の素材を使う気になりません。派手なエフェクトも興味ないです。自分は8bitゲーム制作オンリーですので。DXライブラリを使って、ソースコードをガリガリ書いていく方が楽かなと思います実際自分でもそうだと思っています。現時点ではソースコードを書きなぐる方が早そうです。マルチプラットフォームというUnity最大の利点それが自分の中で大きいんです、いつまでもwin専用PCゲームという枠に縛られるのはちょっとキツいです。勉強さえすれば、自分の作ってるレベルのゲームがUnityではラクに作れそうな気配がありはしますから。時代はUnityと言われました。2年前でも正直、Unityの弱点もバシバシ教えてほしいかもですね。今のところUnityを誰も悪く言いませんので。いう意味ではsadora3さんの"Unityはブラックボックスの部分が多すぎて、嫌い”という言葉は興味深いです。具体的に聞かせてほしいですね。時代はUnityと言われました。桜井さんまくらカバーさんが仰っているように、まずは使ってみましょう。既出内容になりますが、正直今の時代「ゲームを作りたい」のであれば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を好みます。中身が隠蔽化されていたらそれ以上のことはできません。すべてコードが公開されていたら調べたり、カスタマイズすることが可能です。これはかなりのエキスパートにならないと恩恵を得ることはないでしょう。上でも言った通りまず使ってみましょう。時代はUnityと言われました。2年前Unityの弱みの一つ目として、sadora3さんが言われている通りブラックボックスな点ですね。私の回答でいう、//------------------------------------------そういった高度な技術を使うには、Unityの内部構造等を知る必要があったり、3D描画の為の基本的な知識を知っておかなければいけません。Unityは簡単にゲームを作れる様にする為、そういった難しい部分を内部に隠蔽して簡単に操作出来る様に作られています。Unityのすっごく細かくて奥の方を操作するにはUnityだけの知識では操作する事が出来ません。//------------------------------------------の事です。高度な技術を扱う時には、Unityのブラックボックスになっている部分が非常に厄介となりますが、2Dゲーム程度であれば気にする事は無いでしょう。ブラックボックスの部分を知りたい場合はUnityだけを勉強していると手が付けれなくなってしまいます。その為に、一旦DXライブラリと言うゲームプログラミングのチュートリアルを触ってから、DirectX等の本番ライブラリを触る事で理解する事が出来ます。弱点の二つ目としては、簡単にゲームを作る仕組みをUnityが提供している訳ですが、その仕組みに則った作り方をしなければいけません。事をしない限りその必要は無くUnityの機能だけでゲームを作る事が出来ます。言うか、素人がフリーダムな作り方をして修練目的でない限りメリットがありません。修練目的であれば是非どんどん使ってください。Unityの為の勉強が少なからず新規にやり直す必要はありますが、DXライブラリを使う為の勉強量と比べると非常に微々たる勉強量でUnityを用いる事が出来ます。弱点の三つ目は、Unity自体にバグがあった場合は自分自身でどうしようも無い点です。普通の人が触る部分に関しては多くのユーザーが触っている所と言う事なので、つまり、多くの人が触る部分はバグがあった際に大量の報告がUnity社に行くのですぐに修正されています。アマチュアが使う程度の部分にはほぼ不具合は存在しませんのでご安心を。弱点の四つ目は、ブラックボックス故に、ゲームプログラミングを楽しみたい人にとっては楽しめない点です。Unityはソースコードを書くまでもなく、クリックだけで作れてしまう事が沢山あります。そのクリックだけで作れてしまう事はブラックボックスとなっているので、その部分を自分で作りたいと思っている方や、知りたいと思っている方には向かないでしょう。・技術的に高度なプログラミングを要するゲームを作る。桜井さんは、ゲームを「作る事」が目的な様に見受けられましたので、Unityを強く推奨したいと思います。Unity2017からは2Dゲームのサポートもかなり手厚くなったので更にオススメです。慣れて来ると今までのソースコードの7,8割がクリック一発で実装出来てしまうので、どう考えてもUnityの方が早くゲームを作る事が出来ます。//==========================================================>>Unity5は知人曰く、>>Unity4の有料機能が無料で追加されただけだ、と言ってました。これは大きな間違えです。古いUnityを使うとUnity自体にバグが多く潜んでいる事があるのでオススメしません。後、古いUnityは誰も使っていないので質問等をしても分かる人が少ないです。//==========================================================>>しかし、マルチプラットフォームというUnity最大の利点>>それが自分の中で大きいんです、Unityの最大の利点は制作途中のゲームをリアルタイムに瞬時に確認する事が出来る点と、インスペクタ機能(多分分からないと思うからググって下さい。「ソースを書く→実行」だけで確認・調整が可能となります。制作における無駄な時間を省けるので、よりゲームの面白さ部分に注力して制作する事が出来ます。//==========================================================>>Unity2017について調べてみましたが、今年リリースされただけあって>>為になるサイトや書籍がほぼ見つかりません。Unity2017については、Unity5の機能に+αされたと言う形ですので、資料はUnity5の物で事足ります。書籍は期待してはいけません。誰も買わないのでまともな本がありません。サイトに関してDXライブラリよりかはかなり充実しているはずです。世界中の企業や個人で最も多く使われているゲームエンジンですので、資料が少ないはずがありません。検索の仕方が悪いのだと思われます。出来ればどうやって検索したのかを教えて頂けますでしょうか?//==========================================================>>Unity公式チュートリアルも拝見しましたが貧弱すぎてびっくりしました。hajiuni-jp初心者にとってはめちゃくちゃ充実した内容なはずですよ。こんな少ない情報だけで一通りのゲームを作れてしまうのがUnityです。)を必要に応じて読んでください。全部読むと一生かかるので、ゲームを作っていて詰まったらここを見れば9割方は解決するはずです。)や個人ブログ等を漁れば大抵のゲームは作れてしまいます。個人ブログはhttp://tsubakit1.hateblo.jp/https://tech-camp.in/note/technology/14874/あたりがオススメですかね。//==========================================================>>特に日本語のサイトは酷い、、が、英語サイトのチュートリアルも乏しいし、>>まあ英語びっしりなんで読む気にもなれませんでしたが、、。>>(というか、そもそも公式のチュートリアル動画もう古いですよね?>>現在では死に動画ですよね、あれらは)本当にちゃんと読みましたか?動画については先ほど確認しましたが、最新のUnityと見比べて全く問題はありませんでした。//==========================================================>>Unity2017を使うにあたり、Unity4の書籍でも役に立ちますか?全く役に立ちません。Unity4とUnity5以降は別物です。Unity5においても書籍は不要です。買うだけ本当に無駄な書籍しかありません。先ほどから言う通り書籍見るより公式やネット情報見る方が遥かに情報量が多いですし、しっかりしています。//==========================================================>>しかも動画じゃ日本人はまだ遊び感覚で触って簡単なゲーム作ってるばかりで、>>C#打つほどのUnity解説動画あげてるのは外人ばっかり、>>、、pygameみたいに日本じゃまだ浸透してないのかあって感じでむしろ日本の方がUnity浸透しています。毎年の様に日本でUnity専門の大規模なカンファレンスが開催されるくらいには浸透しています。動画に関してはUniteでググれば日本語で非常に高度な情報の動画が腐る程出てきます。Tokyoに行ってみるのも良いと思います。ちなみにどうでもいい情報ですが、プリキュアのエンディングムービーもUnityで作られてるくらいには浸透しています。ゲーム分野以外のアニメ分野等にもUnityが使われる時代です。長くなっちゃいましたが以上です。何度も言う様に、「ゲームを作りたいだけ」であればUnityが最適解と言うだけです。プログラムの勉強をしたいからゲームを作る場合は今までの言葉を全て忘れて、DXライブラリを使ってください。時代はUnityと言われました。2年前Dixqさんの回答が洗練されすぎててビビりました。