トップページgamedev
981コメント342KB

【0から】C言語でゲームを作る【スタート】

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001104/08/25 08:14ID:GyrQ+1pU
アイデアはあるけどプログラムその他ができない為に実現できない人、これから
C言語を勉強していきたい人、など

まったく0から覚えていこうというスレです。初歩的な質問から進行状況の報告、
こんなゲームを作りたいんだ、等の夢、妄想を語ってくれてもおkです。
みんなでモチベーションを高めて挫折しないようにがんばっていきましょう。

たまたま来た先輩方は、みんな初心者なので暖かい目で見守ってください。アドバイス
や質問に答えてくれる方は大歓迎です。
0931名前は開発中のものです。2005/05/27(金) 16:01:32ID:4cBN4A0V
C言語+APIでADVゲームを作っているのですが、
MCIで音楽ファイルを演奏している時としていない時で
処理のスピードが違ってしまいます。

例)・既読スキップ中に音楽を再生している時 ー> 高速

  ・既読スキップ中に音楽を再生していない時ー> 低速

  これは何が原因なんでしょうか?

参考)再生に使っている関数 => mciSendString()
   ループ再生      => コールバック関数のMM_MCINOTIFYメッセージを利用
0932名前は開発中のものです。2005/05/27(金) 23:51:37ID:q+kXv9mX
全くの想像でレスするけど、MCIを使っている間だけタイムスライシングの精度が上がってるってことはないかな…
起動時にtimeBeginPeriod(1);終了時にtimeEndPeriod(1);を入れてみるとどうなる?
09339312005/05/28(土) 13:48:19ID:p8S1zSGw
>起動時にtimeBeginPeriod(1);終了時にtimeEndPeriod(1);を入れてみるとどうなる?

変化なしでした。

ですが、音楽停止を無音のMIDIの再生にしてみたら結果として問題が解消しました。

09349322005/05/29(日) 02:26:59ID:J1NBtmQq
そりゃすまんかった
システムにかかる負荷をなるべく一定にしておこうって考えは対処療法としてはいいね。

PCは2倍の性能を持っていれば2倍の処理速度を得られる仕組みだから、
どのマシンでも一定の速度で動かすには何らかの基準が必要なわけだけど、
何を使ってるのかな…
例:timeGetTime,GetTickCount,GetLocalTime,SetTimer,timeSetEvent
0935名前は開発中のものです。2005/05/29(日) 03:23:40ID:UFZ9c0zv
timeGetTimeだろうな。
そしてOSはWindows2000だろう?
0936名前は開発中のものです。2005/05/29(日) 15:20:34ID:HM+DBAqV
                    , -=- -─‐-、
                   _ ´-─ ¬く  ̄  ̄ミ- 、
                ,,,,/    _==-ミァ-─‐-、 \''''''''''''ー--、,,,,,_
            _,,,,-''"/  , ‐''"         \ \、_,,,ー''ゞ" `ゞ、
            -' "  /  /     /   |      \ ヽ     /"`
       _,,-''''''"""''''' / /  /   / /    ||  |  i  ヽ i    /
       ´"''、.    i /  / /  / / /    ||  ||  |│ |ノス  /
          '、   |//  / /___, -一ァ|  /! |ト、|│ | | く」/
            '、  |,-‐¬  ---┘'7 |!  ハ! |,、-┼十|!/\/\
          , -‐ ''"  し' '´_ /,ィ二l |ト、/!ヽト、\_ヽ!|!l\:..  /
       ,r/      __   ,イ|リ ヾハ! ヽ!  ,ィ⌒ヾミリノ/:::... \
      / ||ヽ  -'     / ̄ )` __      |ヒノ:} '` ,;\/\/
    ,r '   ヾ、  ,-、____ , イ ̄,r==-      ==-'  レ' /|  |
  / ヽ    `ーソ  ' | |ト、,ヘ ′""          "" / / || |
. /    \_  /  | ハ ヽ`゙'ヘ       ' '     / / | |  |       1000GET
           /   / / |  ヽ 川\      0     //! |  | |  |
        /    / / 八  \川| |`ト- .. __ , イ‐ァヘ |  | ||  |!
      /    / / /  \  \ 「`ー- 、    /  .〉  ト、|  ヽ、
     ,イ    /-─=¬ニヘ、_  \   厂\ 厂ヽ /!|   | `ー=ヘ
 -‐  ̄ /─ '  ̄     ├- ヽ\  \ノ\ \ 人 ハ!ヽ ||  |-┤ ヽ
      /          /!‐-- | |\   ト、_`ヽ oヽ  ト、!  ||  |‐┤- ヽ
  // 〉      __ /  ├‐-  ||  | 川-‐  | |  厂7! ハ!  ├:┤  ̄ヽ
  / / ー ─    ̄       ├‐- リ  || ハ!ヘ   | |  ト┤|/′ ヾ,┤   ゙i_
  ‐ '              〉‐-    | / /\ .|o | /ヽ/(′    ∨     \
09379312005/05/29(日) 18:02:33ID:Vbf61i0Z
すいませんっ!
timeBeginPeriod(1)を入れるとこ間違えてました(midi再生の後に入れてました……)。
プログラム起動の直後に入れたら効果ありました。

問題解決です。
>>932さん ありがとうございました。

ちなみに、OSはwinXP SP2でtimeGetTimeを使用しています。
0938名前は開発中のものです。2005/05/30(月) 07:26:22ID:5xrQILbp
プログラムのプの字も解らないのですが、一昨日より
ttp://www.plustarnet.com/aspil/Programming/
のサイトとにらめっこしながら必死でコーディングしている者です。

DirectXを使ったWindowsアプリケーションの段階でスケルトンプログラムの複雑さに面食らってしまい、途方に暮れている次第です。
ゲームプログラマのみなさんは全て理解した上で1から組んでいるんでしょうか?
もしよろしければどのように理解していったか教えていただけますか?
参考になったサイトなども教えていただければありがたいのですが。

サンプルプログラムを走らせることは出来ても仕組がサッパリ解らん・・・orz
0939名前は開発中のものです。2005/05/30(月) 07:43:03ID:ok+CHAeQ
最初はコピペとその改変だけで何とかしてって、
そのうちこれがこうなるのかとかこれにはこういう意味があったのかと気付いてくるので、
そこではじめてさらに細かく調べて正確に理解してった。
とにかく、継接ぎで作っていって段々慣れてくのがいい思う。
最初から全部正確に理解しようと思ったら、気力が持たない。
0940名前は開発中のものです。2005/05/30(月) 08:05:20ID:5xrQILbp
分かりました。論よりRUNですね。
片っ端からコンパイルしていくか・・・
0941名前は開発中のものです。2005/05/30(月) 15:42:32ID:Ws2Hpv4w
>>908はたぶんLSI Cの試食版のこと言ってんだろうな。
試食版はスモールモデルしか使えんのでコードが1セグメント=64KB以内に制限される。
まあそれ以前に特別な理由がない限りいまさら16ビット環境から始める理由ないけどな。
BCCとかあるし。
ちゃんとしたサイトならこういう説明書きがあってしかるべき。でないと初心者が路頭に迷う。
0942名前は開発中のものです。2005/06/01(水) 04:05:40ID:kXjumYBx
前々からあった素朴な疑問なんですが
結構あちこちにゲーム作成講座みたいなサイト見かけますが
CばかりでC++使ってないのか気になってるのですが
C++だとやはり速度とか問題あるのでしょうか?
0943名前は開発中のものです。2005/06/01(水) 18:52:35ID:saZh35ni
Cの方が簡単だから
0944名前は開発中のものです。2005/06/02(木) 00:32:30ID:9+58625i
>>942
C++の特徴を理解して作れば、問題無い。
0945名前は開発中のものです。2005/06/02(木) 08:35:10ID:fu9MEuhH
>>942
C++らしいコードを書くと、説明する部分以外のコードが長くなっちゃうからじゃないかな
ウィンドウ1つ開くにも基底クラスから作りたくなるし
0946名前は開発中のものです。2005/06/02(木) 10:31:10ID:gw+qmJXR
>>942
アクションFPS UnrealシリーズはC++で書かれてる。
ttp://unreal.epicgames.com/Downloads.htm

上手く使えばC++は十分使えるってことでしょうな。
下手だと悲惨なことになるだろうけどw
0947初心者2005/06/02(木) 23:41:55ID:pTE6li2K
演算処理やファイルを作成し、保存する事位までは出来るようになった
Macerですが、
ダイアログのレタリングや、色、形、ボタンやレイアウト後、
C言語演算を兼ねたアプリケーションの作成の仕方が分かりません。
今、得に一番困っているのがMac用の基本ダイアログのレタリングの
仕様というか操作というか作成の仕方が何処探しても見つけられません。
Finderの操作とかするのはC言語だけじゃムリポですか?
アップルスクリプトも調べてみましたが、そっちでは比較的簡単にできる様です。
でも、C言語でやりたい…。

後、Macではアプリの動作の基盤となってる言語って何なんでしょう?
C、C++、アップルスクリプト?意外にまるで思い付きませんが…。
09489472005/06/02(木) 23:45:16ID:pTE6li2K
概観を作成するだけならhtml等の文法をfprintfで保存する等が考えられますが、
それだとアプリの場合、リアルタイム進行できません…。

誰かヘルプplz!
0949名前は開発中のものです。2005/06/03(金) 00:17:37ID:/0TxFyfb
>947
Macは使ったことないがGUIならGTKとかあるんじゃねーの?
Mac GUI GTK とかでググってみたら?
0950名前は開発中のものです。2005/06/05(日) 12:02:53ID:8a9bO3HT
9かXかを言わないと誰も答えられないわな。
後段の質問に完結に回答するとXはC(Objective-C)、9はオブジェクトパスカル。
初心者ってことはXだよね?WebでCocoaはさっぱりを読むか、新しめのCocoa本を読んだ方がいいよ。
0951名前は開発中のものです。2005/06/07(火) 19:55:48ID:H1eQrEA5
まだ全然作りもしてないんだけど、セーブ、ロードをどうしよう。
巨大な構造体で変数の多くを管理(可変長のは後方に)したら
、セーブとロードと、覗き見防止は楽そうなんだけど、

作ってる途中はテキストでセーブロードのほうが楽そうだ
0952名前は開発中のものです。2005/06/08(水) 20:16:46ID:OzE03IZB
覗き見防止は普通に暗号化すればよい。
0953名前は開発中のものです。2005/06/08(水) 21:47:48ID:Of2e/T1F
>>947
AppleEvent使ってFinderを呼ぶってのじゃ駄目か?
てか、Mac板生けよ。その方が適切な回答が帰ってくると思うが。

>>950
おぶいぇーくとパスカルって何? 俺よく知らん。
TechNoteとかは7位から軒並みサンプルコードはCになってたが。
0954名前は開発中のものです。2005/06/09(木) 16:06:47ID:9QoumqfR
オブジェクトパスカル=Delphiの言語
0955名前は開発中のものです。2005/06/10(金) 01:12:55ID:v14kP8dv
>>954
thx。まかーには神託は分からんよぅ。
0956名前は開発中のものです。2005/06/22(水) 03:19:13ID:FbtieHMC
Delphiはあくまで「神託で有名な古代都市」であって、
ただ「神託」って言っちゃうとOracleのことかと思っちまうな、一瞬。
0957名前は開発中のものです。2005/06/30(木) 13:22:35ID:IIpZM7M1
うん、単語から考えるとまあそうなる
俺も同じ事考えた
0958Now_loading...774KB2005/07/05(火) 05:18:53ID:bJCO95nt
<TITLE>■■■</TITLE>
ってうつと
タイトルが■■■
になるよね。これもC言語なのか?
0959名前は開発中のものです。2005/07/05(火) 10:38:31ID:wlz1ucp6
誰か翻訳御願い。
0960名前は開発中のものです。2005/07/06(水) 01:08:08ID:eQiKeu9f
>>958
タグ。
0961名前は開発中のものです。2005/07/18(月) 16:02:25ID:h1jaU8og
>>88
欧州。今、朝で起きたとこw
0962名前は開発中のものです。2005/07/21(木) 00:01:18ID:a7MyAb+t
どこの誤爆よ
0963名前は開発中のものです。2005/08/10(水) 15:28:03ID:/XqiIfcc
ゲーム会社で現役でゲームのプログラミングしてる人ってどういう勉強をしてきたんだろう
0964名前は開発中のものです。2005/08/10(水) 22:20:06ID:husHK/lF
勉強って言っても、基本的にいつでも言語を使えるようにしておいて
毎日、少しづつ触っていれば、2,3年もすればある程度使い物になる

というか、楽器の演奏とか絵とかと一緒で、一朝一夕でなんとかなるもんでもないし、
毎日続けてればそれなりに何とかなるレベルにはなる
まぁ、そういうもん
0965名前は開発中のものです。2005/08/11(木) 23:27:29ID:m/1GL0hZ
つまりゲーム作りが好きで好きで堪らないような人ならそれなりに上手くなれるのか
0966名前は開発中のものです。2005/08/12(金) 00:38:26ID:HYPlHZXQ
「ひとつ賢くなる瞬間」の積み重ね
0967名前は開発中のものです。2005/08/12(金) 01:06:16ID:VJOXzMut
そりゃ、好きこそ物の上手なれって言うしな
0968名前は開発中のものです。2005/08/12(金) 03:56:35ID:uDTKVusU
C言語なんてまるでやった事が無かったけどSE見習として会社に雇われて
やりながら覚えてくれって話だったのに三ヶ月足らずで
「数ヶ月で一人で出来るようになると思ってたのに」
って言われてクビを切られた俺様の登場です
0969名前は開発中のものです。2005/08/12(金) 10:33:39ID:5fUYQzyJ
他の言語の経験が無けりゃ3ヶ月じゃ無理だわな
0970名前は開発中のものです。2005/08/12(金) 13:50:55ID:7ajmFuoA
>>968
うはー (ノω`)・゚・。 辛かったねぇ。
今なにやってるん?
0971名前は開発中のものです。2005/08/17(水) 16:37:24ID:14uyqvrt
ニートじゃない?
0972名前は開発中のものです。2005/08/20(土) 14:49:59ID:wc5z3o2/
独学で学ぶとC言語は使い物になるのに1年程度かかるからなぁ。
しかもその後オブジェクト指向勉強しないと、いまいち仕事に使えない。
C自体はオブジェクト指向をサポートしてないけど、構成考える時に役に立つ。
0973名前は開発中のものです。2005/08/20(土) 18:30:50ID:GIvSBwuo
なんか発狂しそう。
お前ら、いつまでたっても同じこと言ってんの。発展性ゼロ。

しかも、なに素人みたいなことばっか言ってんだよ、ったく。
0974名前は開発中のものです。2005/08/20(土) 20:03:30ID:wc5z3o2/
>>973
ではネタ振りどうぞ。素人じゃない人。
0975名前は開発中のものです。2005/08/20(土) 20:04:44ID:GIvSBwuo
>>974
バカですか?
ネタなんてそうそう教えるわけないじゃないですか。
まともな人間ならそうでしょう?
0976名前は開発中のものです。2005/08/20(土) 20:16:48ID:fLsVrcUY
まぁ、ぐだぐだ言っている暇があったら手を動かせってことだな
0977名前は開発中のものです。2005/08/20(土) 20:28:42ID:GIvSBwuo
>>976
そういうこと言う人は良くいるんですけれどね、大抵現場叩き上げの人ですね^^;
0978名前は開発中のものです。2005/08/20(土) 20:29:35ID:GIvSBwuo
もしくは、そういうことを言うのが真のプログラマーだ!かっこいい!
みたいに思う学生なのかな。
0979名前は開発中のものです。2005/08/20(土) 20:51:01ID:87uhhkVZ
スレ違いでそ
0980名前は開発中のものです。2005/08/20(土) 21:02:53ID:XIo//fIA
プログラマはプログラマ板いけよキモいんだよ
0981名前は開発中のものです。2005/08/20(土) 22:09:52ID:sAvwJjiD
q3のソースが公開されたわけだが
レス数が950を超えています。1000を超えると書き込みができなくなります。