• ベストアンサー

ライブラリをつかったらC++じゃなくなるのでは?

ゲーム制作で制作しやすくするため「ライブラリ」を使いますけど、どこれじゃ「○×ツクール」みたいで、本とのC++の腕が上達しないのではないでしょうか?C++のプログラムじゃなくなるのではなくなっちゃうのではないでしょうか? そしてもし、コンクールとか出品するとしたら他人が作ったように見られるのではないでしょうか?

  • nVIDIA
  • お礼率46% (520/1121)

質問者が選んだベストアンサー

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.4

ゲームのソースコードを貴方がC++で書いたなら、C++で作成した事になります。 ライブラリは仕事の一部を請け負ってくれるだけですよ。 その呼出や戻り値の受取りなどは自分で書かないと何もできません。 ゲームプログラムのアルゴリズム等は貴方が考えてソースを書く必要がありますからね。 >そしてもし、コンクールとか出品するとしたら他人が作ったように見られるのではないでしょうか? 公開する時は「○○のライブラリを使いました」と記述するのがマナーかと思います。 ライブラリだけではゲームソフトとは言えないので、ライブラリの能力をどれだけ発揮させたかというのも重要な所です。 同じライブラリでも、作者の能力次第で発想の乏しいソフトと、そうでない凄いソフトも作る事ができますからね。

nVIDIA
質問者

お礼

そういう見方がありましたね。出品時のマナーという貴重なアドバイスありがとうございます。大変勉強になりました。

その他の回答 (6)

回答No.7

ライブラリの規模にもよりますが、標準的なライブラリしか使っておらず、その他のライブラリは自分で作った(または特定のことをする場合は必ずそのライブラリを使うというぐらい標準的に使われるライブラリしか使っていない)という場合はそうは思われないと思います。 実際のところ、全部は作るのは時間と労力の無駄です。そんなことをするぐらいなら人の作ったライブラリを使ってより高度なソフトを作った方がいいでしょう(そしてそのソフトはまた誰かに利用されてもっと高度なものが作られるわけです)。そうしないと世の中発展しません。 しかし、学習したいのであればどんどんやった方がいいと思います。コンピュータの内部構造を知っていればいざというときに役に立ちます。また、詳しければ詳しいほど仕事の幅も広がります。

nVIDIA
質問者

お礼

ライブラリ作る時間があったならゲームついやした方が利口ですよね。ゲームとは別でC++やDirectXの研究・勉強のためにたまにライブラリいじってみるものいいいいかもしれません。ありがとうございました。

  • black2005
  • ベストアンサー率32% (1968/6046)
回答No.6

あなたが机を製作してコンクールに出品するとします。 机を製作するためには、木ネジや釘が必要です。 あなたは、木ネジや釘まで製作しますか? 木ネジや釘まで自作しないと、自作した机とは認めませんか? そんなことはありませんよね。 木ネジや釘は、市販品を買ってきますね。 木ネジや釘=ライブラリです。 使うことに躊躇する理由は、どこにもありません。

nVIDIA
質問者

お礼

いくらなんでも釘とか木ネジまでつくりませんよね(^^;)そのような人がいたら会いたいです。というわけでライブラリの本当の意味がよく分かりました。ありがとうございます。

  • rancers5
  • ベストアンサー率6% (3/43)
回答No.5

Cは元々機械に依存する部分をライブラリとして独立させ、 メインプログラムは他でも流用するという思考の元にあります。 故にライブラリを使うのは何ら問題ありませんよ。

  • lawson
  • ベストアンサー率44% (29/65)
回答No.3

>C++のプログラムじゃなくなるのではなくなっちゃうのではないでしょうか? 逆だと思います。 便利なものを使って、簡単に作るからC++ なんだと思います。 全部、自分で作るならC/アセンブリ言語で よいとおもいます。 楽をしたいからC++なんじゃないでしょうか? 発想が逆だと思いますよ。 >本とのC++の腕が上達しないのではないでしょうか? とありますが、 便利なものをどれだけうまく使いまわして、 良いゲームをどれだけ作れるか? そういうところを競う目的で参加したらいんじゃないでしょうか? C++の腕ってそういうことだと思いますが。

nVIDIA
質問者

お礼

前、ライブラリ使うと長簡単ですよ!C++私でもできちゃう という人がいたのでちょっと不安になったのです。ライブラリ使うとC++じゃなくなるのではと。でも、実際に使ってそうでもないですし結構Cの技術が求められます。考えすぎでした。どうもアドバイスありがとうございました。

  • yosi_yosi
  • ベストアンサー率35% (165/468)
回答No.2

どの程度のライブラリを使用するかによりますが.... たとえばライブラリを一切使わないソフトは作れると思いますか? Windowsでいえば、Win32APIやMFC、Direct-Xなどのライブラリを一切使わずにアプリ(ゲーム)を作れますか? あと同じものを苦労して時間を掛けるなんて、ナンセンスです。(標準ライブラリなどに含まれているものを必要も無いのに作り直すのは、労力の無駄といえます。) コンクールなども目的によるでしょう。ゲームの完成度だけを求めるのであれば、どれだけライブラリを使っていても問題ないでしょう。 逆にどのような処理を行っているだとかの、プログラミングセンスを問われるようであれば、あまり高度なライブラリを使わなければ良いだけです。

nVIDIA
質問者

お礼

昨年CG・MM検定・J検受けましたが、知的財産権のことを口すっぱく問われました。だから、他人の作ったものが少しでも含まれたら、オリジナルとは言えないと思ってコンクールとか出せないと思ったんです。 でも、問題は内容ですよね。時間も限られるし、ライブラリとか片っ端からやってたら何年かかるか分かりません。アドバイスありがとうございます。

  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.1

そんなこと言ったら、コンパイラから作らないと……もっと言うと機械語直書きじゃないとプログラミングと言えなくなるんじゃないですか? 最高の素材、最高の道具があったって、結局は使う人の腕次第です。

nVIDIA
質問者

お礼

そうですよね。チョコットアセンブラやりましたが、あれにはチョットまいりました。 理屈からいうと自分で言語開発するようなものになっちゃいますよね。 どうも、アドバイスありがとうございます。

関連するQ&A

  • DirectX用のライブラリを探しています

    DirectX用のライブラリを探しています プログラム関係の学校に行っているのですが、学校の作品制作でオリジナルのPCゲームを作ることになりました。ジャンルは弾幕のシューティングで、言語は調べたところゲーム制作はDirectXとC/C++が良いとのことでしたので「DirectXとC/C++」を使う予定です。 ですがDirectXを使うには少々問題がありまして、DirectXというものを一切触ったことがありませんので現在の知識では当然画像の描画すらできないんです。 さすがにそれではマズイのでDirectX用のライブラリを使おうかと思っています。そこで、DirectX用のライブラリでお勧めのものがあれば教えていただけたらなと思いまして、書き込みをさせていただきました。(実際に色々と試したいところなんですがそれほど時間も無いもので……) もし「こんなものがいいよ」というものをご存知であれば是非とも参考にさせていただきたいのでアドバイスをいただけると幸いです。よろしくお願い致します。 補足になりますが・・・ 作品制作ではライブラリに規制があり、ツクール系やHSPみたいな簡単に作れるものはNGという制限があります。 描画には2Dと3Dの両方を使います。 DirectXのバージョンはできればDirectX9…DirectX8くらいであると有難いです。 なにぶん勉強中のもので不足がございましたらその都度ご返信させていただきます。よろしくお願いします。

  • C++ライブラリの使い方について

    C++初心者です。ゲームプログラミングを学びたいと思い、 「ゲームプログラマになる前に覚えておきたい技術」という本で勉強を始めました。 この本には専用のライブラリが付属しており、それを使用することを前提としているのですが、 ライブラリの使い方がよく分かりません。 こちらの環境は、 OS : Mac OS X コンパイラ : GNU GCC です。 本に付属しているのは、拡張子が.libと.pdbのファイル群です。 調べてみたところ、.libのファイルはWindows環境で使用するもので、 UNIX系のOSでは拡張子は.aになるそうですが、 .libのファイルをMac OS Xで使えるでしょうか? もしできるなら、どのようにリンクしたらいいのかも教えて頂きたいです。

  • DXライブラリについて

    今、DXライブラリを使ってのゲーム制作をしています。 以前は、DrectXを使っての3Dゲーム制作を行っていたのですが、objectの配置の際に、Finalize関数を使って解放しないとメモリ破壊を起こすというのを学習しました。 今回のDXライブラリにおいても、同じような処理を施さなければならないのでしょうか? というのも。 適当に組んだプログラム(画像をいくつか読み込ませたうえ、キーボードで操作できるようなもの)をF5を押したまま数秒放置していたらブルースクリーン?が出てきて電源を強制終了する羽目になったので、今、怖くて触れない状況なのです。 (一応念のため補足)・・・DxLib_End(); は、打ち込んであります。 どなたか回答をお願い申し上げます。

  • C++とDirectXでゲームのライブラリを作りたい

    こんにちは、私は現在C++とDirectXを使ってゲームを作っています。 この夏に稚拙ながらライブラリをいくつか組んでみたのですがいかんせん経験不足と知識不足からなかなか納得のいくものができません。 インターネットなどでもDirectXの活用方法やC++の文法、デザインパターンなどのHPはよく見つけるのですがライブラリの組み方を説明しているページというのは見たことありません。 フリーのライブラリもいくつか見ましたがどれもレベルが高すぎてあまり参考にならず・・・ ライブラリの作り方を紹介しているHPや参考書などがあれば紹介していただきたいです。

  • ターボCのライブラリ追加方法

    現在、私はターボCでプログラムを作成しております。そこで質問なんですが、 VC++2010などのライブラリ追加方法はプロパティの中のVC++ディレクトリが有り、 そこでヘッダーとライブラリを追加できるのですが、 ターボCではどのようにすればライブラリとヘッダーの追加ができ、 その関数を利用できるかよろしくお願いします。

  • スタティックライブラリの使い方

    Linuxで使えるCのライブラリを落としてきたのですが、使ったことがないので戸惑っています。 パッケージは、makefile , .c , .h の3つで、makeするのはできました。で、ライブラリ.a が出力されまして、このファイルを使え!と説明書にはあるのですが、この先がよくわかりません。 とりあえず、出力されたライブラリを/usr/lib あたりに入れて、自作のプログラムで先ほどのライブラリのヘッダをインクロードするところまではできたのですが・・・。 コンパイルすると、/usr/bin/ld: cannot find -ライブラリ と出てしまいます。教えていただけますでしょうか。

  • DXライブラリの重さについて

    DXライブラリというライブラリを使って小規模なをプログラムをしてきたのですが、ここでシューティングゲームを作ろうと思いました。 そこで質問なのですが、60FPSで動作する2Dグラフィックの弾幕シューティングゲーム作成はDXライブラリでも十分な速度を得られるものなのでしょうか? また、他に使いやすいライブラリやAPIはないでしょうか? どなたか回答お願いします。

  • フリーのライブラリを使うことって

    今までCでのコンソールアプリケーションを作ったりはしていたのですが CでGUIアプリを作ったことはありません。 一方、HSPでシューティングゲームなどは作ったことがあります。 そろそろというか、Cでもグリグリ動くゲームを作ってみたくも win32APIの前に呆然、、、としていたのですが、 プロのゲームクリエイターの方もそこまで原始的な次元から作っているわけではなく 会社オリジナルの?ライブラリを使っていますよね。 なので私もフリーのライブラリを使ってみようかと思っているのですが 別に全然普通ですよね?(人様の作ったライブラリを使うことは邪道じゃないですよね?) なんというか、こういう世界の常識がまだわかっておらず。。。

  • C# ネット上に公開されているFFTライブラリを使いたい。

    FFT、IFFT(高速フーリエ変換)のプログラムを使いたいのですが、ネット上で公開されているのはCやC++で書かれたものばかりです。 そういう他の言語で書かれたものをC#でライブラリとして使うことは可能でしょうか? また、可能であればその方法を教えて下さい。

  • C/C++のプログラムについてお聞かせください

    こんばんわ 私はC/C++などの本を今読んで私なりに独学で勉強しているのですがなかなか頭に入りません。 なので簡単なゲームやC/C++などの本を読みながらプログラムを組んで理解していきたいのですがUNIXなどでソフトをダウンロードしたのですがインストールしても立ち上がりません。(プログラムから探す・・・)などと出るだけです。 ちなみに私のOSはWindows XPです。 どのようにすれば、プログラムを組める画面になるのですか? とてもやる気になっているのでどうか教えてください。よろしくお願い致します。

専門家に質問してみよう