概要:
ホイールを再発明せずに C で「シック クライアント」ゲームをプログラミングできますか? それとも、弾丸を噛んでライブラリまたは SDK を使用する必要がありますか? 私は中程度の C プログラマーであり、ポインタ、データ構造、メモリ位置などを扱うことを恐れません。優れた「シッククライアント」ゲームを作成するために必要な制御が得られるのであれば。 ただし、使いやすさではなく、パワーとコントロールのために、高級言語とフレームワークを避けることを考えています。
いつかサイド プロジェクトとして 2D 格闘/プラットフォーム ゲームをいじることに興味があります。私は主に、Python、Ruby、PHP の経験を持つ Linux サーバーサイド プログラマーです。PyGameなど、これらの言語の一部には優れたフレームワークがあることを知っています。また、Air や .NET などで人々が成功を収めていることも認識していますが、いくつかの懸念があります。
- パフォーマンス: スクリプト言語は遅いことで有名です。リアルタイム ゲームを作成する場合は、可能な限り高速にしたいと考えています。
- 巨大なバイナリ: .NET などのフレームワークや Ruby などのスクリプト言語を使用すると、通常は必要のない大きな CLR やライブラリが生成されることがよくあります。私が作りたいゲームは小さくてシンプルです。その CLR はゲーム自体よりも大きくしたくありません!
- 余分なもの: 正直なところ、自分のコードをよりよく理解できるのであれば、大きなゲーム ライブラリの荷物を継承するという考えは好きではありません。
私はここで発明されていない症候群に非常にかかりやすいことを知っているので、この質問をしています. 私はいつもそれを自分でプログラムしたいと思っていますが、それは多くの時間を無駄にしていると確信しています. ただし、これは非常に頻繁にうまくいきます。たとえば、Rails (ORM と GUI ツールキットが組み込まれた非常に大きな Web プロジェクト フレームワーク) を使用する代わりに、 rackやSequelなどの小さな Ruby ツールの配列を組み合わせて使用しました。美しく。
だから、私はあなたに目を向けます、SOの専門家。私は素朴ですか?これが私がそれを見る方法です:
- Cを使用
- 短所
- プログラミング嫌いになりそう
- 車輪の再発明のリスクが高い
- 時間がかかりすぎて興味を失うリスクが高い
- 長所
- 実証済み - ほとんどの A リスト ゲームは C で行われます (これは今日でも正しいですか?)
- メモリ管理、速度、資産管理などを高度に制御でき、自分で処理できると信じています
- クラフトなし
- 短所
- フレームワークまたは SDK を使用する
- 短所
- 特大の成果物のリスク
- ゲーム開発のすべての面で元のライブラリの作成者に依存しています。必要な機能がない場合はどうなりますか? 自分でプログラムする必要がありますが、これは悪くはありませんが、そもそも高レベルのフレームワークを使用する目的を部分的に無効にします
- パフォーマンスの問題のリスクが高い
- 長所
- 開発時間を大幅に短縮
- メンテしやすいかも
- 一般的なパラダイムの再発明に時間を無駄にすることはありません
- 短所
このリストに他に何を追加できますか? それは純粋な判断の呼びかけですか、それとも誰かが私のために契約を結ぶことができますか? 本の提案を歓迎します。