トップページgamedev
253コメント88KB

C言語でアクションゲームが作りたい

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/05/03 18:22ID:jHGxuzaQ
0002名前は開発中のものです。02/05/03 18:23ID:???
じゃぁ作れば?
=================終了=================
0003名前は開発中のものです。02/05/03 18:30ID:???
企画は総合発表&雑談スレッドに書いて下さい
このスレッドでまとまり次第、独立したプロジェクトスレッドを立てて下さい
(前触れの無いプロジェクトスレッドは削除対象となります)
0004名前は開発中のものです。02/05/03 18:46ID:???
>>1
これがやりたかったのか

Delphiでアクションゲームが作りたい!!
http://pc.2ch.net/test/read.cgi/tech/1019654975/
0005名前は開発中のものです。02/05/03 18:55ID:???
>>1
HSPにしとけ、まじで
0006名前は開発中のものです。02/05/03 19:46ID:???
ソレハシューティングデノハナシダロ
0007名前は開発中のものです。02/05/03 19:52ID:???
>>6
(゚Д゚)ハァ? 何言ってんだ?お前がシューティングしか作れないだけだろ
0008名前は開発中のものです。02/05/03 20:02ID:???
|
|,,∧
|゚Д゚ミ < >>1許せよ...ディスプレイの前で顔真っ赤なんだよ!!!!!ヴォケッ
|/
0009名前は開発中のものです。02/05/03 20:03ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0010名前は開発中のものです。02/05/03 20:14ID:???
>>4
そこCでもええんか
0011名前は開発中のものです。02/05/03 20:51ID:???
>>10
どういう意味だよ
0012名前は開発中のものです。02/05/03 20:58ID:???
>>11
そういう意味さ
0013名前は開発中のものです。02/05/03 21:08ID:???
>>12
いいんじゃないの?
0014名前は開発中のものです。02/05/03 22:21ID:???
あげ
0015名前は開発中のものです。02/05/03 22:26ID:???
あげんな(笑
0016名前は開発中のものです。02/05/03 22:31ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0017名前は開発中のものです。02/05/04 00:15ID:nKGEE6cA
ほい

10 CLS
20 SCREEN 3
30 PRINT "HELLO WORLD!!"
40 END
0018名前は開発中のものです。02/05/04 00:19ID:???
#include <stdio.h>

int main();

int main()
{
printf("hello world\n");
return(0);
}

ほい
0019名前は開発中のものです。02/05/04 01:33ID:???
#include <stdio.h>
#include <action.h>

int main(void)
{

printf("Hello ActionGame!\n");

RunMro(); /* スーパーマリヲ実行関数 */

return 0;
}


一丁上がり!
0020名前は開発中のものです。02/05/04 01:53ID:???
>>19
ごめんなさい。僕が作りたいのは3Dのネットゲームなのでマリオじゃダメです
0021名前は開発中のものです。02/05/04 02:12ID:???
>>1
今までゲーム作ったことあるのか?
無いんだったら小さいものからやってけ
0022名前は開発中のものです。02/05/04 02:14ID:???
とりあえず、コンソールのアドベンチャーゲームでも作っとけ。
0023名前は開発中のものです。02/05/04 02:27ID:???
と、言うか現在では逆にコンソールのアドベンチャーの方が造り辛いと思われ...
0024名前は開発中のものです。02/05/05 01:14ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0025名前は開発中のものです。02/05/05 23:20ID:???
/*無限シネヨサンプル*/

#include <stdio.h>

int main(void)
{

while(1){printf("厨房シネヨ\n");}

return 0;
}
0026名前は開発中のものです。02/05/06 12:37ID:???
a
0027名前は開発中のものです。02/05/06 12:52ID:???
>>25
改行ない方がカコイイ
0028名前は開発中のものです。02/05/06 13:59ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0029名前は開発中のものです。02/05/12 21:45ID:???
 
0030名前は開発中のものです。02/05/12 22:50ID:8Pk00WY.
http://science.2ch.net/test/read.cgi/doboku/1021190528/l50
0031名前は開発中のものです。02/05/13 06:37ID:???

            エッ!?ドレドレ??   ウワァ!!コレハヒドイスレダ!!



       ∧_∧∧_∧  ∧_∧ ∧_∧
       ( ・∀・);・∀・) (・∀・; )・∀・ )ボクニモミセテ
  (○) (   つ  U U )⊂   ⊂  ⊂ )
  ヽ|〃 (_)_)(⌒)|| ̄ ̄ ̄ ̄ ̄|__(_(_)
  ̄ ̄ ̄ ̄ ̄ ̄ ̄.|\||  VAIO  | ̄ ̄ ̄ ̄
            \,,|==========|
0032名前は開発中のものです。02/05/21 05:12ID:XHSDIsJI
HSPでダイレクトx使うにはどうしたらいいの?
0033名前は開発中のものです。02/05/22 13:30ID:uFabihEo
 スレ違い…でしょうか?えぇと、2Dのアクションでマップを
キャラの移動にあわせて横にスクロールさせるには
どのような処理をかければいいのでしょうか?
0034名前は開発中のものです。02/05/22 13:40ID:???
キャラ移動と逆の方にマップを移動
00353302/05/22 13:49ID:???
>>34さん
 うわ、動きましたよ。
どうもありがとうございます!
これから少し数値の補正をかけてみます!
0036名前は開発中のものです。02/05/22 17:35ID:aMw1or7U
>>35
スクロール以前に、固定画面のゲームいくつか作ったほうが身のため。
0037名前は開発中のものです。02/05/22 20:18ID:???
テキストモードで上スクロールだッ!
「逆スクロール」=下スクロールは高度な技だゾ!
0038名前は開発中のものです。02/05/22 20:54ID:???
>>1
作れば?
0039リアルヒッキー02/06/21 03:03ID:???
>>34
ああなるほど、言われてみれば簡単だが気が付かなかったよ
よーしパパ途中で放置してたゲームの続き作るぞー

たぶんすぐ挫折するけど
0040名前は開発中のものです。02/08/07 00:49ID:uvRO0azs
あの、まったくの初心者なんですけどCでゲームが作りたいです。
どういうことを勉強すればいいのでしょうか?
いろいろなサイトを見たけど、ゲームに結びつくようなことは書かれていませんでした。
0041名前は開発中のものです。02/08/07 00:51ID:???
>>40
検索の仕方を勉強しる
いろんなところに書いてあるぞ
0042名前は開発中のものです。02/08/07 01:01ID:???
>>40
何を勉強したらいいのかとか聞いてるようじゃ見込み無し
0043名前は開発中のものです。02/08/07 01:02ID:???
猫でもわかるプログラミング
ttp://www.kumei.ne.jp/c_lang/

山亀本舗
ttp://www.yamagame.com/
0044名前は開発中のものです。02/08/07 01:05ID:???
>>40
http://www.3dgamers.com/dl/games/quake2/Thirdparty/q2source-3.21.zip.html
0045名前は開発中のものです。02/08/07 03:23ID:???
>>43の「猫でも…」はなんでエディタをエジタってかいてるんだ?
0046名前は開発中のものです。02/08/07 04:52ID:5/IuBIvM
エジタ(・∀・)
0047名前は開発中のものです。02/08/07 05:11ID:???
>45
ローマ字でeditaでは? うちはエヂタになるけど。
COBOLerがいうエディッタよりはマシかと。
0048名前は開発中のものです。02/08/07 09:57ID:???
>>40
つーか本買え
0049名前は開発中のものです。02/08/07 10:23ID:???
editorだろ。
んで、ジジ臭い読みかたすりゃエジタ。
老人がTシャツを「てーしゃつ」って言うようなもんだ。
0050名前は開発中のものです。02/08/07 10:30ID:???
この場合は初心者がネットで探すよりも本を一冊買ってきたほうが
はるかに早く情報手に入れることができるだろうに…
0051名前は開発中のものです。02/08/07 11:31ID:???
>>49
老人がTシャツを「てーしゃつ」と発音するのは、
あの形状をアルファベットのTではなく、
漢字の「丁 (てい)」に見立てたものなんじゃないの?
Tが敵性語だったときの名残で。
0052名前は開発中のものです。02/08/07 11:40ID:???
オバハンがステンレスの事をステンレースって言うみたいなもんか
0053名前は開発中のものです。02/08/07 12:29ID:???
大阪のおばはんの場合
×ステンレス
×ステンレース
○ぼっこんぼっこんゆーやつ
0054fusiagesan ◆7oP.BAKA02/08/07 13:46ID:hFP19G/E
>>53
ワロタ
0055名前は開発中のものです。02/08/07 13:53ID:???
>>40 http://www.gametutorials.com/
0056名前は開発中のものです。02/08/07 19:54ID:???
>>51
由来なんてシランが、ジジ臭いことに変わりはあるまいw
0057名前は開発中のものです。02/08/07 23:04ID:???
Dをデーと読む由来も解説キボン
0058名前は開発中のものです。02/08/08 01:27ID:q1hbC62g
>>57
ドイツ語だろ。
0059名前は開発中のものです。02/08/08 01:33ID:00f86gEQ
明治〜大正期はイギリスの他、ドイツに習う分野も多かった影響だろう。

電話で聞き間違えやすい(例えばBとD)から、わざとデーと発音する場合もありますな。
0060名前は開発中のものです。02/08/08 07:22ID:???
ハクションゲーム
0061名前は開発中のものです。02/08/08 09:22ID:???
>>59
漏れの場合英語習う前までデーの方が英語らしい発音だと思ってたり。(w
0062名前は開発中のものです。02/08/08 10:20ID:z6PUmBpA
丁字路
0063名前は開発中のものです。02/08/08 14:26ID:???
マジンガー世代は Z=ゼット
0064名前は開発中のものです。02/08/08 23:19ID:???
簡単なアクションゲームだったら、経験から言って制御文、構造体(自己参照構造体含む。これ重要。)、
グラフィックの表示まで分かれば十分作れると思う。
まあ、本気で勉強すれば半年で、物分りの悪い人でも1年やればできると思うよ。
多分、以下のソースがなにやろうとしてるか分かれば制御文については大丈夫だと思う。
(もちろん実行しないで。2分ぐらいで作ったんでscanf使っててスマソ)

#include<stdio.h>

void main(void)
{
  int a,b,i,j
  a=1;
  b=0;
  i=0;
  scanf("%d",&j);
  while(i<j)
  {
    switch(i%2)
    {
      case 0:
        a+=b;
        printf("%d\n",a);
        i++;
        break;
      case 1:
        b+=a;
        printf("%d\n",b);
        i++;
        break;
    }
  }
}
0065名前は開発中のものです。02/08/08 23:21ID:???
変数の宣言の最後に「;」忘れた・・・鬱。
0066名前は開発中のものです。02/08/08 23:43ID:???
いまだにmainの戻り値をvoidにするヤシがいるのか

とか言ってみるテスト
0067名前は開発中のものです。02/08/09 00:31ID:???
>>66
そういう入門書が消えない限りは
0068名前は開発中のものです。02/08/11 00:50ID:PnUKFloM
あえ
0069名前は開発中のものです。02/08/11 00:57ID:???
>67
いや、2chで蔓延した可能性もあるぞ・・・
こうなると最初にvoid main(void)で本を書いた奴は責任重大だな。
0070名前は開発中のものです。02/08/11 02:26ID:???
どっちでもいいんじゃネーノ
0071名前は開発中のものです。02/08/11 02:55ID:???
>>70
http://game.2ch.net/test/read.cgi/gamedev/1028266779/119-120n
0072_02/08/11 19:46ID:???
>>64
天才プリグラマ
0073_02/08/11 20:03ID:???
二次元のマップって普通1次元配列でするよね?

X方向120、Y方向100のマップがあったら

$define MAPX 120
$define MAPY 100
$define MAP_SIZE MAPX*MAPY

int main(void) {

int map[MAP_SIZE];
int x=0,Y=0;

for(i=0;i<MAP_SIZE;i++) map[i]=0;
// もし X:54 Y:33 の位置に1を代入したければ
x=54; y=33;
map[x+(y*MAPX)]=1;





}

でいいんだよね??
2次元使ったほうがいいかいな?
0074名前は開発中のものです。02/08/11 20:08ID:???
1マス1オブジェクトなんてどうだろう?
0075名前は開発中のものです。02/08/11 20:12ID:???
>>73
うんいいよ。
0076名前は開発中のものです。02/08/11 23:35ID:YyqnVN0I
>>73
サイズが大きかったり可変長だったりすると配列ではなくalloc系で取得する
ことになるだろうし、1次元のほうがいいとおもう。
0077名前は開発中のものです。02/08/12 14:35ID:???
>>76
callocだと0クリアしてくれるから便利だよな
0078名前は開発中のものです。02/08/12 15:07ID:???
MAP面積がX:120 Y:100、ビュー面積(表示される面積)がX:16 Y:16。
map配列内には山や海などのイメージ番号が収納されている。
1ブロックの大きさが16*16ドットとするとブロック単位での全方向スクロールの処理は

$define MAPX 120
$define MAPY 100
$define VIEWX 16
$define VIEWY 16
$define MAP_SIZE MAPX*MAPY

int main(void) {
int i,m=0,x=0,y=0,map[MAP_SIZE]; // x,y変数はビューの左上を指す
while(1) {
m=key(); // key関数はテンキーからの入力を返す
if(m!=0) mapdraw(x,y,m); }
m=0; }

void mapdraw(int x,int y,int m) {
int nn;
if(m==8) y--;
if(m==6) x++;
if(m==2) y++;
if(m==4) x--;
for(i=0;i<VIEWY;i++) {
for(j=0;j<VIEWX;j++) {
nn=map[(x+j)+(y+(i*MAPX)];
put(img[nn],x+(j*16),y+(i*16)); // put関数はブロックを書く
} } }
でいいんじゃないかな?それよりもはよ、アクションゲーム作れや。1よ。
0079作れ02/08/12 15:17ID:1r6GcreU

1どっと単位でスクロールしたければ
ビュー画面より少し大きめのバックバッファ(裏画面)を作り、そこへブロックを配置する。
ようするにVIEWXとVIEWYの大きさをバックバッファ用に大きくしてやるだけ。
あとは元のビュー画面の大きさでクロップして表画面に出せば、はいおしまい。
楽勝だろ? さっさと作れ
0080作れ02/08/12 15:20ID:1r6GcreU
ちなみにエラールーチン入れとけよ(藁
X,Yが負なったり、(x+VIEWX)がMAPXをこえないようにするとか。
0081名前は開発中のものです。02/08/12 16:02ID:???
>>80
ンな事気にしてるんじゃねーよ。
この手の問題へのアプローチは3つある。

1 呼び出し側でチェックを入れる
2 呼び出された側でチェックを入れる
3 チェックしない(デバッグ段階でassertで潰す)

どれも間違いではない。
0082名前は開発中のものです。02/08/12 16:30ID:???
>>81
1だとプログラムが汚くなりませんか?
2が正しいと思います
0083名前は開発中のものです。02/08/12 17:06ID:???
>>82
1だと汚くなるっていうけど、
2でも返り値を見てエラー処理をしないといけない。
そもそも、この場合に範囲外の座標が与えられるというのは、
完全な論理エラー(バグ)なんで、取り除かなければいけないことを考えると、
チェックを入れるのは、正常なケースなら必要ないコードを入れると言うことなので、
assertしてしまうのが正しい。
0084名前は開発中のものです。02/08/12 17:51ID:???
>>82はアサートを知らない初心者と見た
0085名前は開発中のものです。02/08/12 18:06ID:???
>>83
どのみち、例外処理は必要だよ
assertはデバグ作業でしかつかえんし
0086名前は開発中のものです。02/08/12 18:07ID:???
>assertはデバグ作業でしかつかえんし
んなこたぁない。
0087名前は開発中のものです。02/09/06 05:44ID:???
どのみちassertなんて初心者をコケにする為の
道具でしかない。
0088名前は開発中のものです。02/09/06 22:21ID:???
>>87
それだけの道具ならわざわざJavaが新版に取り入れてくるはず無い
0089名前は開発中のものです。02/09/06 23:53ID:???
Java信奉派か・・・
0090名前は開発中のものです。02/09/13 21:35ID:???
Cとかからの移行組とのズレ摩擦を減らしただけとかではないのかな。
あんまりassertは重要視してない、ジブソの場合

命令全般にしても周りが使ってるものを優先的に使うが、
実質意味のない命令である事も多いわけだし
0091名前は開発中のものです。02/10/13 02:16ID:???
保守下げ
0092名前は開発中のものです。02/10/13 10:40ID:???
   ____
  /      ヽ
  / __A___|〆
  ヽ(____> 
   ノ从ハ)从〉   シュ シュ
   クノ ´∀`§へつ シュウリョウ〜♪
    √ ヽ@_X  .|
   /│    ヽ丿 ))
  /  \    |つ
/    ヽ__ノ
く        │
 ヾ=====┘
   し  し
                       〜完〜
0093名前は開発中のものです。02/10/13 12:20ID:???
とりあえずC++を覚えるべき。
0094名前は開発中のものです。02/10/13 13:28ID:???
C覚えたけど全然ゲームつくれない
0095名前は開発中のものです。02/10/14 12:45ID:???
>>とりあえずC++を覚えるべき。

知ったか君です。C++を覚えるのは目標です。

>>C覚えたけど全然ゲームつくれない

知ったか君です。足し算を覚えたのかな?
0096名前は開発中のものです。02/10/14 15:04ID:???
掛け算もファイルアクセスもソートも覚えた
次なにすりゃいいんだ?
お前が知ったかじゃなければ答えてくれ
0097名前は開発中のものです。02/10/14 17:23ID:???
JROGEみたいなものならできるはず。テキストゲームとか。
javascriptなら画像・サウンドも簡単に扱えますが重いです。

HSPはBASIC寄りなので、Cからは多少遠くなります。
しかしゲームを作るのは簡単です。
よほどの(処理速度を要求される)ゲームでも作らない限りはこれで良し。

vcならelを使えば簡単にゲームが作れます。
普通に使えばDirectX直接使用よりもややパフォーマンスは下がり
ますが、簡単に作れるには、変わり有りません。

bcbやbccでは多少扱いは難しいかもしれません。おおよそ可能ですが。

http://mikata.curiocube.com/oop/
ここを読めばプロパティ、メソッドなどのオブジェクト思考が分かり易いです。
http://www.asahi-net.or.jp/~yf8k-kbys/index.html
ここと併用すればC++の基礎が分かります。

もっともelでしたら、::の記号を気にしなければCのつもりで使えた筈です。
http://www3.justnet.ne.jp/~botchy/index.html
http://www.uri.sakura.ne.jp/~cosmic/yuno/main.html

命令は標準的なもの以外全て時代の変遷の影響を大きく受けます。
言語もどれがいつ廃れるかもわかりません。
0098名前は開発中のものです。02/10/14 19:44ID:???
DirectX使えるようになったよー。
記念下げ
0099名前は開発中のものです。02/10/15 17:45ID:j6LmSqrj
あげ
0100名前は開発中のものです。02/10/15 17:46ID:j6LmSqrj
そして100
0101名前は開発中のものです。02/10/15 21:28ID:S7By066D
>>96
C だとして、

libxml: Web 関連
SDL: マルチメディア関連、ゲーム制作
GTK+: アプリケーション一般
OpenGL(Mesa): 3D関連、ゲーム制作

好きなのを選ぶがよい。

洩れ的には先にアルゴリズムの本を一冊やっておくことを勧める。
010210102/10/15 21:31ID:S7By066D
スレのタイトル見たらCだった。(鬱

ちなみにワシは95ではない。
0103名前は開発中のものです。02/10/15 21:51ID:???
漏れら極悪非道の終了ブラザーズ!
クソスレは終わらせてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧   ∧_∧    END
 (・∀・∩)(∩・∀・)    ENDE
 (つ  丿 (   ⊂) FIN
  ( ヽノ   ヽ/  )   了
  し(_)   (_)J  完
0104エロい人02/10/16 04:59ID:oEmVn/CP
>>103
ぶっ死ろす!!
0105名前は開発中のものです。02/10/16 07:21ID:???
漏れら極悪非道の終了ブラザーズ!
クソスレは終わらせてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧   ∧_∧    END
 (・∀・∩)(∩・∀・)    ENDE
 (つ  丿 (   ⊂) FIN
  ( ヽノ   ヽ/  )   了
  し(_)   (_)J  完

0106名前は開発中のものです。02/11/25 21:11ID:GdbLUHO/
age
0107名前は開発中のものです。02/11/25 21:12ID:XfGdcqYm
         /´,,,.`ヽ
        (,´._ヾ、 )
         L_ "q 丿    もう・・・終りにしましょう・・・
          __`フ ~l."
       / / / ̄ヽ
       /〈" ''´ ~~/ミ)━・~~~      *このスレは終了いたしました*

0108名前は開発中のものです。02/12/17 14:58ID:k+UqhiHH
なんとなく保守してみるtest
0109北の国から ◆KI8qrx8iDI 03/03/09 20:26ID:VdwtYCdS
このスレは珍しくいいスレだな
ババシャツのくだりはワラタしw
一応議論もしていたみたいだし
0110名前は開発中のものです。03/05/29 11:44ID:xadUaM2+
まともだよね
Cがテーマだったりすると厨房は書きこまないのかな
0111名前は開発中のものです。03/05/29 12:35ID:O+uiTRB+
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0112名前は開発中のものです。03/05/31 04:55ID:PkStmXg/
現在、荒らしによってこの板の利用が困難になっているため、避難所を作成しています。
出来ればこちらに移動するのをお勧めします。

ゲ製作技術板(避難所)
http://bbs.gamdev.org/gamedev/


↓こんな感じにするのがお勧めです。
-----
9 名前:名無しさん@ゲムデヴ[] 投稿日:2003/05/28 21:33
とりあえずOpenJaneに登録した
0113名前は開発中のものです。03/05/31 04:59ID:UL2LgHsR
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0114名前は開発中のものです。03/06/02 02:35ID:bhePmfQ0
質問です。当方C言語を覚えて一月の初心者です。
アクションではなく小さい盤でやる将棋やチェスに似たボードゲームを作りたいのです。
C言語で20MB位ののデータベースを作り、それを参照しながら次の手を指していく
ようにしたいです。なんとかデータベースはできそうのですが、駒を動かすやり方は
これから勉強しないといけません。エキスパートの友人はC言語にAllegroをくみこめば
できるというのですが、Allegroって使いやすいのでしょうか。それとももしもっと
初心者にも簡単にできる方法を御存じでしたら教えてください。

1。簡単な言語で書いた盤上でマウスでうごかした敵(人間)の駒の位置をc言語で書いた
プログラムに入力。
2。C言語のプログラムがデータベースを探索し最善手を返す。
3。最善手を簡単な言語で書いた盤上に表示。
なんてことは可能でしょうか?
0115名前は開発中のものです。03/06/02 02:46ID:G5W2oll8
>>114
SDLはどう?

紹介、チュートリアル
http://www.libsdl.org/intro.jp/
イベントについて(マウスの移動やクリックイベントの例もある)
http://www.libsdl.org/intro.jp/usingevents.html

チュートリアルの内容が理解できれば、>>114のことくらいはすぐ出来るはず。


Allegroの方はよく知らないけど、リファレンスの和訳は、↓にある。
http://www.bekknet.ad.jp/~bero/docj/allegro/allegro.html

というか、>>114くらいなら、素直にWindowsのGDIでやればいいと思うんだが。
http://www.kumei.ne.jp/c_lang/index_sdk.html
0116名前は開発中のものです。03/06/02 03:00ID:bhePmfQ0
早速のレスありがとうございます。すべて新しい情報なのでゆっくり
比較してみます。SDKっていうのも初耳ですが、こちらVC++ではなく
Borlandのフリーのコンパイラを使ってますが、それでもできますか?
0117直リン03/06/02 03:11ID:lKkdz9eV
http://homepage.mac.com/yuuka20/
0118名前は開発中のものです。03/06/02 03:14ID:KqEYF/lM
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0119名前は開発中のものです。03/11/28 00:03ID:jkpDXt4l
FPSの設定ってどうやるの?
早すぎるのを60fpsに合わせるのはできたけど、遅いのを60fpsに合わせるのができない。
だれか教えてください
0120名前は開発中のものです。03/11/28 00:50ID:CwuFN/pR
描画をスキップさせる。
一般的に処理時間はゲームの処理<<<<描画処理だから。
ゲームの処理と描画処理を分離させてないなら、ご愁傷様。
0121名前は開発中のものです。04/03/10 17:39ID:pC7cF3IR
今、C言語とWindowsAPIでアクションゲームを作っているのですが、歩行のアニメーションが上手くいきません。
画像1の表示→タイマー→画像1のあった領域を背景で塗りつぶし→画像2の表示→タイマー・・・
という感じでやろうと思ったのですが、タイマーが上手く入れられません。
どなたかご教授お願いします。
0122名前は開発中のものです。04/03/10 17:43ID:wgtoYUbQ
こんな下がってるスレにひっそり質問しても誰も見てくれないよage
0123名前は開発中のものです。04/03/10 19:12ID:VROF09al
>>122
てかこの板さ、過疎のせいで生きてるスレが分かりにく杉
allage進行でもいい位(´_ゝ`)
0124名前は開発中のものです。04/03/10 23:02ID:V51Y5dwK
>>121
タイマ(WM_TIMER)は不安定なので普通ゲームには使わないぞ。
↓ここの1.4.1みたいに処理すべし。
http://www.microsoft.com/japan/msdn/academic/Articles/DirectX/01/

このままだとCPU100%使っちゃうから、elseブロックの中にSleepとかいれて
適当にウェイトを入れる。Sleepに食わせる値でFPS調節なんかもする。
調節の仕方はあちこちのページにかかれているので、検索してみるべし。
012512104/03/10 23:48ID:pC7cF3IR
>>122-124
レスありがとうございます。こんな感じにしたらできました。
void anime() {
static int count = 0; static DWORD fps_keep = 0;
if (GetTickCount() < fps_keep + 300) return;
fps_keep = GetTickCount(); 背景で塗りつぶし;
switch (count) {
case 0: 描画; count = 1; break;
case 1: 描画; count = 0; break;
}
}
CPUも100%にならなくなりました。教えて下さってありがとうございました。
0126デフォルトの名無しさん04/03/11 07:26ID:vbhBEofd
>119
いやまだ望みはあります。
描画関数は一つ(数個)でしょう?
フラグをセットして、セットして有れば画面に書かないで
戻るようにすればいいのです。これならプログラムの100カ所
から描画関数を呼んでても大丈夫だと思うけど。
0127名前は開発中のものです。04/11/14 00:45:18ID:x9zK3qma
まだこのスレを読んでもよくわからんが、将来のためにageとく
0128名前は開発中のものです。04/11/16 18:06:12ID:tsSmGNTS
ねーねー、Cやるのって金かかるの?
0129名前は開発中のものです。04/11/16 20:56:59ID:fcqxyC5l
>128
C言語プログラミングの流れ
 テキストエディタなどでプログラムコードを書く→ソースファイル
 ソースファイルをコンパイラを通してバイナリファイルを作成→オブジェクトファイル
 複数のオブジェクトファイルをリンカで一つの実行可能なファイルにする→実行可能ファイル

ツール
 つまりC言語でプログラムを作るのに必要なツールは
 エディタ、コンパイラ、リンカ
 コンパイラとリンカはほとんどセットになっているので、両方あわせてコンパイラと呼ぶことも多い
 他にもデバッグを支援してくれるデバッガというツールもある
 エディタ、コンパイラ、リンカ、デバッガ、その他の支援ツールを一つにまとめた統合開発環境(IDE)といわれるものもある

コンパイラ
 Windowsアプリケーションを作るとすれば
 無料コンパイラ:Mingw,BCC,Microsoft Visual C++ Toolkit 2003などなど
 有料IDE(コンパイラ込み):VisualC++.NET2003,Borland C++ Builderなど
 LinuxやFreeBSDなどのUNIX系ならコンパイラは迷うことなくGCC
0130名前は開発中のものです。04/11/16 20:57:26ID:fcqxyC5l
以下Windows前提

無料コンパイラについて
 無料コンパイラは基本的にコマンドラインからの使用が前提なので最低限のDOSコマンドは使える必要があるが
 フリーのGUIツールがある場合もある
 ほかにもmakefileというコンパイルの手順を記述するファイルの記述方法を覚える必要のものもある
 C言語の学習以前に覚えなければいけないものが結構多いので、そんな苦労は最小限にしたい香具師はやめとけ

VisualC++.NET2003
 略してVCという
 初心者にはVCがお勧め
 最初からGUI環境での開発ができる
 オールインワンなので必要なツールなどで悩む必要がない

ライブラリ
 Windows上で動作するゲームを作る為にはWindowsアプリケーション作成用のライブラリが必要
 もちろんVCは最初から何も考えなくてもついてるし、使える
 DirectXやOpenGLなどを使ったプログラムを作る為には、そのためのライブラリを入手し、
 コンパイラごとにそれぞれ設定する必要がある
 ゲーム用のフレームワークを提供するライブラリも存在する

以上のことを踏まえたうえでもチンプンカンプンな香具師はVC買っとけ
0131名前は開発中のものです。04/11/16 22:31:06ID:fHoL40sI
俺のお薦め無料セット

IDE,エディタ:BccDev
コンパイラ,リンカ:Boland C++ Compiler
デバッガ:Turbo Debugger
0132名前は開発中のものです。04/11/17 18:35:18ID:uDybUtmY
なんだなんだ、親切な人がいるもんだな。
ありがとう。ありがとう。
0133名前は開発中のものです。04/12/25 21:49:29ID:F3Xgd3GW
200番目記念
0134名前は開発中のものです。04/12/25 21:54:48ID:F3Xgd3GW
>>131氏のお勧めセットやっと揃えた記念カキコ
0135名前は開発中のものです。05/01/06 15:18:55ID:xxaj5Xlz
http://www.amazon.co.jp/exec/obidos/ASIN/B0002ERS18/250-3172619-1806610

学生の場合はコレを1つ買えばCでゲームを作ることができますか?
0136名前は開発中のものです。05/01/06 16:03:52ID:aURBdGiO
>>135
おk
0137名前は開発中のものです。05/01/06 19:00:33ID:DH17e0iN
書籍が一番金かかる
0138名前は開発中のものです。05/01/07 12:09:07ID:Xb185jAa
>>137
んだ。
書籍は金がかかるので、最低限をそろえて、
情報源はもっぱらインターネッツ。
英語を覚えりゃ収集できる情報量が増える。
0139名前は開発中のものです。05/01/24 01:54:46ID:AjUERDun
キーボードから入力を受付けるときに、
「キー連打」と「一定時間以上キー押しっぱなし」
を区別したいのですが、どうすればよいでしょうか?

kbhit()とgetch()を使ってキー入力を判断しているのですが、
私には今のところ、区別できません。

だれか教えてください。
よろしくお願いします。
0140名前は開発中のものです。05/01/24 19:31:50ID:XUv8bTeO
>>139
いまは、まだコンソール?
もし、そうならもう少し勉強を進めることに専念したほうがいいよ。
違うなら、その辺のWin32SDKの情報をあされば出てくると思う。
014113905/01/25 01:05:34ID:iPLtjYiU
>>140
OSはWindowsで、
言語はC言語です。

コマンドプロンプト上に'■'とかを出力して、
テトリスを作りました。(コンソールゲームというのですか?)
0142名前は開発中のものです。05/01/30 23:04:05ID:xPAo914a
>>139
釣りか?
釣りじゃないとしたら>>140をもう一回嫁。
分かりやすく言えば使おうとしてる関数がそもそも間違ってる。
DirectXやゲーム用ラッパーをまず探せ
0143名前は開発中のものです。05/01/31 00:05:35ID:cTfpobPf
アクションゲームをDirectX&C/C++で作ってるが結構しんどい。
始めて初めて分かるこの苦労。
今は2Dアクション作ってて3Dは全く触ってないんだが・・・
2Dとはやっぱり別物みたいだな。
2Dが理解できても3Dが理解できん。
つーか、サンプル見ても3Dはよく分からん。
流体力学研究所っつーサイトが結構面白かったが、
あのレベルになるまでにはどのくらいかかるのかねぇ。
0144名前は開発中のものです。05/01/31 01:04:28ID:dk4MRPJZ
>>143
定番
一生(ry
0145名前は開発中のものです。05/01/31 01:23:46ID:r9nuMyDU
>>139
キー連打と押しっぱなしを区別するには、変数を使って前回の状態を記憶し、
前回の状態が押してなくて、今回は押してたのなら、連打したことになる…、
というふうにする。
面倒くさいと思うかもしれないけど、みんなこうやってるのだよ
0146名前は開発中のものです。05/01/31 01:30:31ID:nsgwyZ8/
駄目な奴はいくら努力しても駄目
0147名前は開発中のものです。2005/03/24(木) 18:22:58ID:6s5fO40x
駄目な奴が言うと説得力あるぜ
0148名前は開発中のものです。2005/03/24(木) 18:24:20ID:KlKHFtG1
そんなことありません。
きっと、だれでも得意なことや不得意なことがあるはずです。
だから…たぶんゲームには向いていなかったのでしょう^^
0149名前は開発中のものです。2005/03/24(木) 19:58:13ID:6s5fO40x
ゲーム作りが駄目な奴も他の事で人に差をつければいいんだ
0150名前は開発中のものです。2005/11/04(金) 18:12:41ID:TRxG7fOu
あげます
0151名前は開発中のものです。2005/11/05(土) 23:33:58ID:O8Q9EzMN
過疎すれあげ
0152名前は開発中のものです。2005/11/06(日) 13:01:45ID:ahB8bn+L
あげてねーじゃんw
0153名前は開発中のものです。2005/11/06(日) 13:19:25ID:wdl0eUTl
過疎すれあげ
0154名前は開発中のものです。2005/11/06(日) 13:20:25ID:wdl0eUTl
この板は常時ageでもいい位だ人少な杉
0155名前は開発中のものです。2005/11/06(日) 13:22:53ID:wdl0eUTl
tasikaniw
0156名前は開発中のものです。2005/11/06(日) 16:31:58ID:2Jf1lcDI
」」
0157名前は開発中のものです。2005/11/07(月) 00:03:16ID:SXdAN7QW
バイトしてVC買おうとしてる俺が来ましたよ
0158名前は開発中のものです。2005/11/07(月) 05:33:20ID:asEGnyQY
かーちゃんに買ってもらうんだ!
0159名前は開発中のものです。2005/11/07(月) 19:46:38ID:2gRWCoRh
学生なら絶対thespoke版買うべき。
手続きが糞面倒いけどな
0160名前は開発中のものです。2005/11/07(月) 22:06:54ID:bxsN/QFE
>>129-131
一年ほど遅い横レスだがマジでthx
無茶苦茶助かる。

こういう情報が1番欲しい割りには1番探しにくい。
メーカーサイトみてもわけのわからん謳い文句ばっかで
その製品で何ができるのかさっぱりわからんかった。

なにから手をつけていいのか見当もつかなかったんで
ありがと
0161名前は開発中のものです。2005/11/08(火) 15:43:04ID:5sKvU1wF
>>160
こう言っちゃ何なんだけど、
その程度の情報自分で集められない&勉強出来ない時点で
プログラムには向いてない気ガス。
0162名前は開発中のものです。2005/11/08(火) 16:19:47ID:LsRBzfpu
と、いつも夢見ているだけの脳内プログラマが言っております。
0163名前は開発中のものです。2005/11/08(火) 17:05:27ID:qvd6Nhwx
煽りはよくないと思うの
0164名前は開発中のものです。2005/11/08(火) 19:12:47ID:NsoRYc4P
でもスレ活性化のためにときには必要だと思うの
0165名前は開発中のものです。2005/11/09(水) 23:42:07ID:EwnTVsdI
ほっしゅ
0166名前は開発中のものです。2005/11/11(金) 21:58:57ID:GCIYcnGs
2Dアクションなら BCC + DXライブラリ がいいよ
0167名前は開発中のものです。2005/11/14(月) 00:53:07ID:aU3971Di
いや、SDLだろう
0168名前は開発中のものです。2005/11/14(月) 23:07:34ID:aU3971Di
過疎スレあげ
0169名前は開発中のものです。2005/11/14(月) 23:08:03ID:aU3971Di
上げてなかったな
0170名前は開発中のものです。2005/11/16(水) 06:13:02ID:bP8OZfvZ
敵キャラの移動 コード

     //配列dirにランダムで値を入れて敵キャラの移動方向を決める
     dir[0] = rand()%5;

switch(dir[0]){
          case 0 : //UP
座標移動など;
break;
          case 1 : //DOWN
座標移動など;
break;
          case 2 : //RIGHT
座標移動など;
break;
          case 3 : //LEFT
座標移動など;
break;
          default;
break;
}

ズレるかもしれない
0171名前は開発中のものです。2005/11/20(日) 00:24:42ID:9sRgGKZA
dirってdirection?
0172名前は開発中のものです。2006/06/17(土) 00:12:18ID:spkZow+n
>>171
たぶんそうだな。
0173名前は開発中のものです。2006/09/22(金) 21:23:28ID:iYNT4fJm
よし作れ
0174名前は開発中のものです。2006/10/09(月) 15:45:40ID:BLAr7l82
捕手
0175親父2006/10/16(月) 06:54:24ID:rXTAsiwN
悪魔城ドラキュラ月下の夜想曲もどきを
作りたいんですが、まずはどうすればいいですか?
0176名前は開発中のものです。2006/10/16(月) 08:50:51ID:ETvWxTDe
directxまわりでつまづくと思う
0177親父2006/10/16(月) 10:47:00ID:977vydNH
そうか・・・
取り合えずやってみる
0178名前は開発中のものです。2006/10/17(火) 06:11:10ID:Ci2KLVBp
C言語でスプライトってどうやって使うんだ。
0179名前は開発中のものです。2006/10/17(火) 10:20:06ID:CFzZkzeR
C言語っつーか、Windows環境でのプログラミングが判らなかった俺だが
DXライブラリを知ってから、超簡単に2Dゲームプログラミングができるようになった。(ヘタレだが)

>>178にもお勧めしとく。
C言語っつーかDirectXだな。
スプライトは無いけど、普通の画像(BMP等)をスプライトと同様に扱える。
0180名前は開発中のものです。2006/10/26(木) 21:04:59ID:ssyUOzfl
>>178
Cなら、適当なメモリ領域をビットマップに見立てて自力で抜き色以外をピクセル転送。

Win32APIを使うとそのメモリ領域をDIBとして直接表示できる。
速度も32*32程度で数十個とか100個程度のパターンを表示するなら十分実用的。
0181名前は開発中のものです。2006/11/05(日) 00:03:28ID:7chgMelj
PS3でも買えば?
0182名前は開発中のものです。2006/11/06(月) 20:37:31ID:Yz3dksL2
とりあえずCはな〜んにもわからないけどゲーム作りたい人は、まずこれを買ってみるといいと思う。

ttp://www.amazon.co.jp/gp/product/4899771517/sr=8-1/qid=1162812879/ref=sr_1_1/503-3710014-7096713?ie=UTF8&s=books

『14歳からはじめるC言語わくわくゲームプログラミング教室 Windows98/2000/Me/XP対応』

中級者以上の人にはあんまり評判が良くないけど、とっかかりを作る上ではいいと思うの
0183名前は開発中のものです。2006/12/06(水) 00:06:35ID:KflH77ty
今買うなら>>135より
ttp://www.amazon.co.jp/gp/product/B000CSRIZ0/sr=1-1/qid=1165330998/ref=sr_1_1/503-7339295-7035903?ie=UTF8&s=software
か。
 確か>>135のはプロダクトキーが期限切れになってるはずだし。
0184名前は開発中のものです。2006/12/07(木) 21:52:16ID:SXyPw4fF
2003欲しいけどもう遅いんだよね・・ 
2005で作ったの2003で読み込めるないんだよね・・
0185名前は開発中のものです。2006/12/10(日) 05:04:22ID:aJXqrfUl
ゲーム作るにはダイレクトX使えばいいってのはわかるんだけど、
根本の仕組みが知りたいんだよね。

スプライトって、背景+窓というのを擬似的に表現しているだけで、
実際は単なるドットの集まりだよね。
でさ、例えばキャラが1ドット上に移動したとするじゃん。すると、
>キャラを1ドット上に表示+キャラの下にできた1ドットの隙間に背景表示
って処理をしなきゃならないと思うんだけど、
これって実際やってみるとすんげー重いのよ。
なんで昔のファミコンとかで、こんな重い処理ができたのか不思議でしょうがない。
キャラがなんであんなに素早く動くのかな〜。

根本をたどれば、ドット単位で表示ONOFFしてるだけのはずなのに、
スプライトとか魔法みたいなことができるのはおかしい。
おれはこれがいつまでもわからなくて、挫折をした。
0186名前は開発中のものです。2006/12/10(日) 05:15:37ID:kEK2MzKm
昔のファミコンはスプライトの仕組みが違いますがなにか?
0187名前は開発中のものです。2006/12/10(日) 10:09:20ID:xCPbM3oZ
>>185
ユーの言うスプライトは擬似的なものでPC98とかの世界だな。

2D系のゲームやX68kはスプライトを書き込む領域があり、
それらの表示位置を設定することも出来る。
これらを画面更新時に表示している。

毎フレーム指定色で画面を塗りつぶし、
しかるべき順番でポリゴンを描画している。
DirectXにスプライトは無く、DirectX上で動くスプライトは、
このポリゴンにテクスチャーを設定して擬似的に表現している。
一聞効率的な方法じゃ無いように聞こえるが、
グラフィックボードはそのような処理に最適なように設計されてるので問題無い。
ポリゴンに適した設計にする事が最優先で、
スプライト云々は主眼じゃない。





ここまで適当にレスできる俺は天才だと思う。
0188名前は開発中のものです。2006/12/10(日) 10:10:43ID:xCPbM3oZ
3番目の文はDirectXに関するものですだ…(まぁ読んで判るとは思うがw
01891852006/12/10(日) 21:13:19ID:aJXqrfUl
>>187
>これらを画面更新時に表示している。
キャラが動くごとに、背景を全描写してるってことだろうけど、それがとてつもなく重そうなんだよね。。
なんでファミコンで表現できたのか不思議。しかもキャラはたくさんいるし。

ダイレクトX使わずに、VC++のMFCでピクチャ表示機能使って
無理矢理キャラの動作をさせてみたことあるんだけど、やっぱ無理ありますな・・・
0190名前は開発中のものです。2006/12/10(日) 21:40:39ID:gmCAHMuv
> 重そう
寝言は実際DirectXを使ってからほざけ。
0191名前は開発中のものです。2006/12/10(日) 21:43:14ID:Kl/z74Au
>なんでファミコンで表現できたのか不思議。

いや、だから……ハード的にそういう機能を持ってるんだよ。

ついでに言うと、背景を全描写といっても、
ファミコンとかの場合、ドット単位じゃなくて8*8(だっけ?)のチップ単位。
だからチップパターンにそった背景しか描けない。けどメモリも少なくて済むし、データ書き換えも早い。
さらに言うと、背景が変わりでもしない限り、データを書き換える必要もない。
表示座標を変えるだけでスクロールする。
0192名前は開発中のものです。2006/12/17(日) 16:41:27ID:HQUKYlRt
今のパソコンにはスプライトというのはなくて、
グラフィック画面で全部まかなっているというのは、既出の通り。

そんな今のパソコンでは、ダブルバッファリングという技法が必須だよ。

実際には表示しない、裏の描画用画面のことで、
キャラクターたちを、まずその裏画面上に描く。
一通り全部描き終えたら、その裏画面の内容を
全部まとめて、BltやFlipなどで一気に表示画面上に表示する。
0193名前は開発中のものです。2006/12/17(日) 16:58:27ID:gEtDPOSL
ラスタースクロールはどうするんだ。
と思ったが、今のPCの性能じゃそんな事する必要もないかw
0194名前は開発中のものです。2006/12/17(日) 20:30:35ID:pCyciy5N
ラスタースクロールか・・・
背景描画時に、1ピクセルの行ごとに
ずらしながら裏画面に描くのかねぇ・・・?

それで、どれだけの速度を保てるかは
さすがにやったことないな。
0195名前は開発中のものです。2007/12/31(月) 01:08:01ID:DW0nBc61
hgdfhhdf



fhdfhdf




tsdtsd




hcvhcvxcxc




xzgfzxg


0196名前は開発中のものです。2007/12/31(月) 06:05:54ID:nIWs4m/L
晒しあげ
0197名前は開発中のものです。2008/03/05(水) 14:21:54ID:i3A4b+mI
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0198名前は開発中のものです。2008/03/05(水) 14:40:00ID:qwYlHq/j
スプライトのライブラリとかあるから、それ使った方が早い。
0199名前は開発中のものです。2008/03/05(水) 15:35:58ID:bokJt+04
   _,,....,,_  _人人人人人人人人人人人人人人人_
-''":::::::::::::`''>   ゆっくりしていってね!!!   <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ     __   _____   ______
 |::::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ レリイi (ヒ_]     ヒ_ン ).| .|、i .||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ   !Y!""  ,___,   "" 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'    L.',.   ヽ _ン    L」 ノ| .|
 (  ,ハ    ヽ _ン   人!      | ||ヽ、       ,イ| ||イ| /
,.ヘ,)、  )>,、 _____, ,.イ  ハ    レ ル` ー--─ ´ルレ レ´
0200名前は開発中のものです。2008/03/14(金) 10:33:18ID:a+sbD+vf
   _,,....,,_  _人人人人人人人人人人人人人人人_
-''":::::::::::::`''>   ゆっくりしていくね!!!   <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ     __   _____   ______
 |::::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ レリイi (ヒ_]     ヒ_ン ).| .|、i .||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ   !Y!""  ,___,   "" 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'    L.',.   ヽ _ン    L」 ノ| .|
 (  ,ハ    ヽ _ン   人!      | ||ヽ、       ,イ| ||イ| /
,.ヘ,)、  )>,、 _____, ,.イ  ハ    レ ル` ー--─ ´ルレ レ´
0201名前は開発中のものです。2008/03/18(火) 10:54:23ID:olLbUKca
あげ
0202名前は開発中のものです。2008/03/19(水) 11:55:05ID:DVv4kD76


           

























0203名前は開発中のものです。2008/03/23(日) 05:08:10ID:mWO5t8G1
   _,,....,,_  _人人人人人人人人人人人人人人人_
-''":::::::::::::`''>   ゆっくりしていってね!!!   <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ     __   _____   ______
 |::::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ レリイi (ヒ_]     ヒ_ン ).| .|、i .||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ   !Y!""  ,___,   "" 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'    L.',.   ヽ _ン    L」 ノ| .|
 (  ,ハ    ヽ _ン   人!      | ||ヽ、       ,イ| ||イ| /
,.ヘ,)、  )>,、 _____, ,.イ  ハ    レ ル` ー--─ ´ルレ レ´
0204名前は開発中のものです。2008/03/27(木) 13:57:01ID:6aFlAzKU
保守
0205名前は開発中のものです。2008/03/27(木) 15:02:50ID:vXrdy63U
      _,,....,,_
-''":::::::::::::`''
ヽ::::::::::::::::::::::::::`::..、
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ
 |::::ノ   ヽ、ヽr-r'"´  (.__
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ
,'  ノ   !'"    ,___,  "' i .レ'
 (  ,ハ    ヽ _ン   人!       本当にゆっくりしたい気持ちで…
,.ヘ,)、  )>,、 _____, ,.イ  ハ         胸がいっぱいなら…!
    /l ̄  '-~三~-'  ̄h
.   / |   レ兮y′/ l         どこであれゆっくりできる…!
  〈  く   ∨ l/ ,イ |
   \_,.>、    /,L..]]_           たとえそれが…
. 0ニニニ)而}ニニニニニ),リリニニ)
.   L| |_____|____| |          肉焦がし… 骨焼く…
    l | |._______| |  ,:
 ,  l \ヽ l  |   , '/  ;'            鉄板の上でもっ………!
 :, ____l_|_|_;_|_|___|_|__   ;
  |\゙;三三゙';三三三,;゙三三\ ;'
  |\\三三゙三ジジ三三,''三;'\,;'  ;'
  |、 \\三゙;三三ジジ・'三三三;\ ;
  0ト、\\\;'三三;'三三三;''三三,;'\
    \\\| 炎炎炎炎炎炎炎炎炎 |
      \\| 二I二二I二二I二二I二 |
       \LI二二I二二I二二I二二]]
        0]]            0]]
0206名前は開発中のものです。2008/04/07(月) 12:30:25ID:GXjnIAO6
0207名前は開発中のものです。2008/04/21(月) 20:42:44ID:dRtpsJPd
書き込みtest
0208名前は開発中のものです。2008/08/16(土) 23:56:41ID:TeL18Qem
ちょっと悩んでいるので質問
ロックマンのイメージでお願いします。

1.地面
平らならわかりやすい。
Y軸が任意の値になったらそこが地面。

しかし、凹凸がある。
自機が当たったら、前に進めないし、
弾が当たったら、弾は消えなければいけない。

この地面(凹凸)のデータを
どうやって持てばいいのか悩み中です。
みなさんどうやってますか?
0209名前は開発中のものです。2008/08/17(日) 00:01:34ID:3Mm4zQJB
>>208
接触してもダメージを受けない敵を配置して地面を作るとか。
02102082008/08/17(日) 00:28:31ID:1DXwyodU
>>209
ありがとうございます

地面もオブジェクトですか
・スクロールと同時にオブジェクトを移動
・地面グラフィックはオブジェクトもち
・地面データもオブジェクト出現だけに絞れる

自機に着地オブジェクト情報をもたせて・・・
・着地オブジェがなかったら全オブジェと着地判定
・着地オブジェがあったらそれと判定
 →乗っていたらそのまま
 →離れていたら着地オブジェを解除して、全オブジェと着地判定

こ、こんな感じですか
0211名前は開発中のものです。2008/08/17(日) 01:49:07ID:I7r3iinj
ふつーにマップチップ並べりゃええんでね?
02122082008/08/17(日) 12:20:41ID:1DXwyodU
>>211
キャラがチップ単位で動くような場合はいいのですが、
今回、移動不可チップの場所(座標)を特定する方法がよくわからないのです。
0213名前は開発中のものです。2008/08/17(日) 12:28:02ID:UMrLfjjO
計算をチップ単位にすりゃいいじゃん。
0214名前は開発中のものです。2008/08/17(日) 12:34:23ID:UMrLfjjO
0〜99の番号をつけた100人の子供がいます。
これを10人ずつの班に分けます。
0〜9番を0班、10〜19番を1班というように、9班まで作ります。

さて、X番の子は何班になるでしょう。
0215名前は開発中のものです。2008/08/17(日) 12:49:07ID:d7xV658j
>>214
10分のX班(小数点以下切捨て)
02162082008/08/17(日) 13:01:37ID:1DXwyodU
>>213
!?
ありがとうございます。
「チップ内でどこにいるか」を持てば、いけそうですか。

1.全オブジェ(自機、弾、敵)
・「どこのチップにいるか」情報を持つ
・「チップ内でどこにいるか」情報を持つ
・移動した場合、チップ移動判定をする

チップごとにオブジェリストを持っていて、
当たり判定は、同チップ内のオブジェ同士でだけよい

・・・いや、チップをまたがっている場合があるので、
「どのチップにいるか」は2個持たねば。

ちょっとどちらの方法がいいかテストしてみます。
0217名前は開発中のものです。2008/08/17(日) 22:23:17ID:d7xV658j
ワールド座標とスクリーン座標を別に用意しておいて、
画面に表示するときだけワールド座標をスクリーン座標に変換するとか。
0218名前は開発中のものです。2008/08/18(月) 16:02:07ID:V92q0CRD
PCゲーでオブジェって呼称用いるのに違和感があるなぁ

OBJ用のVRAM領域のあるような環境を想像してしまう
(ゲーム内オブジェクトとはまた意味が違うけど)
0219名前は開発中のものです。2008/08/18(月) 20:59:41ID:ZRBjOITm
マップチップのサイズを例えば16x16固定で、
仮想座標(0,0)からぴっちり敷き詰めるように並べるとする。
マップデータ自体は2次元配列で持てばよい。
チップの番号に対して,あらかじめ当たり判定があるかなど属性を定義しておく。

仮想座標上のあるキャラ(例えば矩形領域で(x1,y1)-(x2,y2)とする)が
どのチップ上にいるかどうかは (x1/16, y1/16)-(x2/16, y2/16) の
マップチップ座標(マップデータ配列)上の矩形領域を調べればよい。

チップ内でも詳細に当たり判定が必要な場合(坂道などを実現する場合?)には
チップ番号から適切な判定ルーチンを呼び出すテーブルなど作る。

キャラ同士の当たり判定はマップチップ当たり判定とは別の処理で行う。

こんな感じ?かなりいいかげんだが。
0220^−^2008/11/07(金) 21:44:34ID:/Qi4r6QU
あge
0221名前は開発中のものです。2009/06/21(日) 21:21:46ID:sjkKH3pT
ho
0222名前は開発中のものです。2009/06/28(日) 15:36:21ID:lrktbDqt
作って
0223名前は開発中のものです。2009/08/17(月) 12:13:08ID:0JGPIGpV
典型的スレ上げ
0224名前は開発中のものです。2009/08/18(火) 18:03:21ID:lhzLPooo
衝突判定について質問なんですがドラクエの場合1チップづつ動くので一回の判定で済みますが
スーパーマリオのような場合そうはいきませんよね。
それでマリオがいるところを2画面分づつ毎フレーム衝突判定することを考えました。
つまり2画面分のブロックすべて衝突判定するわけです。
このやり方はどうだろう?
0225名前は開発中のものです。2009/08/18(火) 18:08:05ID:YVeLHy0k
敵ならともかく、ブロックは動かないんだから、
普通はマップデータとして持つでしょ。

なら、マリオのいる場所のマップデータ参照すれば済むのでは。
0226名前は開発中のものです。2009/08/18(火) 19:40:27ID:lhzLPooo
だからドラクエならそれでできるけどスーパーマリオのようななめらかな動きでは
マリオの位置から参照なんてできません
0227名前は開発中のものです。2009/08/18(火) 21:03:39ID:8mT2+NG9
いいえできます
0228名前は開発中のものです。2009/08/18(火) 23:47:55ID:dvwJmgpU
例えば1チップが20×20ドットとすれば
マリオの座標が(154、64)とすれば
154/20 = 7, 64/20 = 3
でチップの座標で(7,3)−(8、4)の所に跨ってるってことが分かる
0229名前は開発中のものです。2009/08/19(水) 17:39:38ID:l0bcnLQE
>>228
おどろきっ
それで換算できるのね
ベリーサンキュ
0230名前は開発中のものです。2009/08/20(木) 18:23:59ID:ft0rBKBL
またまた質問なんですが
マリオがブロックにめりこんだとき上下左右のどの方向へ戻すかがむずかしいですよね。
ヒントをいただきたいです。
0231名前は開発中のものです。2009/08/20(木) 18:27:31ID:xSKyEsDB
マリオの進行方向の逆、じゃないか?
0232名前は開発中のものです。2009/08/20(木) 18:38:57ID:ft0rBKBL
そっか
マリオの進行方向のフラグを使えばいいわけですね?
0233名前は開発中のものです。2009/08/23(日) 23:29:51ID:G7YrcOaf
じつに奥深い
0234名前は開発中のものです。2009/08/27(木) 03:30:45ID:h69Q7bqc
マリオは偉大
0235名前は開発中のものです。2009/08/27(木) 15:22:13ID:47D9lhWh
>>231
画面端(進行方向と逆方向)の壁の穴にめり込んだときは
向きに関係なく右に流されるんじゃなかったか?
じゃないと画面端に流されて永久に戻ってこれなくなるぞ

単純に衝突判定したい場合とはちょっとシチュエーションが違うかもしれんけど・・
0236名前は開発中のものです。2009/08/28(金) 18:12:06ID:clFN1A0w
衝突はけっこうむずいな
ブロックをチップ単位でなくランダムに置いた場合はこのやり方でなく一画面づつ
判定しないとだめだろうな。
マリオのいる一画面分のブロックデータを毎フレーム抜いてこないといけない。
0237softbank221031124201.bbtec.net 2009/08/28(金) 20:32:09ID:t3Xl9opM
今時のゲームをCだけで完成させるのはむしろ難しい
とだけ言っておこう
0238名前は開発中のものです。2009/09/23(水) 09:49:57ID:wPxYdb/J
マリオの進行方向と逆に戻すロジックだけではできない場合もあるよな
0239名前は開発中のものです。2009/09/23(水) 12:19:55ID:fPSXilIR
まあそりゃゲームによる
0240名前は開発中のものです。2009/10/20(火) 17:12:20ID:mVqzm4Yz

0241名前は開発中のものです。2009/11/06(金) 21:58:43ID:aZlLerC2
フリーゲームクラシックに投票しよう。
もう日本のフリーゲームは糞ダサいつまらん見飽きた作りメンヘラの
ワンパターンゲーばかりでどうしようも無い。
アート性、知的さが皆無なのが特に問題だ。
変わった奴を演じれば、変わったゲームを作れるという下らない思い込みはよしておいた方がいいだろう。
大体そんなことをしてみてもちっとも芸術的じゃない、知的じゃない。こいつらアホどもは病んでるフリがカッコいいと
思い込んでるから本当にやっかいなんだ。
いかにもだが広い意味でガロ系と言われる漫画家の一部はグロい物を描いてアートだと言われているだろうが
ガロではないが氏賀・駕籠・サガノヘルマー辺りも人道から外れると判断される事にステータスを見出している作家だな。
もうそう言う作風をアートだとは思わんし、大して評価もしないがな
自分は変わっていますというのを前面に出していたのが20世紀の芸術家だった訳だ。
衒学ぶれば、ブルトン主導のシュルレアリスムの運動を筆頭として文学でもそう言う運動があったな。
だが現代は大衆社会で当然我々も大衆の一人、という事になるな。つまり多くの奴が少数派を気取る前に必ず多数派であって、
そこを認識しないのに前衛芸術でございと叛逆挑発を嘯く奴には何処か香具師の臭いを感じ取らざるを得なくなるだろうな
本当に上手いのが崩して描いているのではなく、根本的に絵が下手な奴はとにかく見飽きた。そしてなにより芸術的じゃない、知的じゃない。 とにかく下品なんだよ。アート的センスがないからごちゃごちゃして汚いし。
こんなの使うよりアニメ風萌え絵を使ったほうがまだいいくらいだ。
完全な糞ゲーの厨ゲーになる。そういう大失敗ゲームは腐るほどあるのだよ。
たまにやるのはいいけど、そんなのばっかだとがっかりするんだわ。
フリーゲームなんだから新しさと独創性を少しは出そう。同じようなゲームばっかやらすな。
副島隆彦を読め。総てユダヤの陰謀だ。
糞汚ねえ作りメンヘラ共をゴミ箱にぶち込め。

ttp://www.freegameclassic.com/contest.php?id=07
ttp://www.freegameclassic.com/vote.php
0242名前は開発中のものです。2009/11/08(日) 22:33:29ID:gQ1EYumM
総受け死ね
0243名前は開発中のものです。2010/01/11(月) 19:46:51ID:iBHSZgAH
PCゲーム制作において(大雑把な)小数を扱いたい場合
整数型にゲタをはかすより素直に浮動小数を使うほうがメジャーなんですかね?
0244名前は開発中のものです。2010/01/18(月) 22:11:58ID:7jxGgs5m
整数型にゲタをはかる方法教えてください。
0245名前は開発中のものです。2010/01/18(月) 23:53:22ID:KY+N9kEF
正しくは「整数型変数にゲタをはかせる」ですね
「ゲタをはかせる」の言い回しに説明はいらないでしょう
それとも固定小数と言った方がいいのでしょうか?
0246名前は開発中のものです。2010/01/24(日) 07:06:57ID:7unsPESO
>>243
FPUが標準で載ってなかった頃(80386とかi486)ならともかく
今は普通に浮動小数点数を使う。メリットがほぼ何も無いから。
0247名前は開発中のものです。2010/01/24(日) 11:45:21ID:NsFPdvE4
「何も無い」ではなく「ほぼ何も無い」の理由を教えて欲しいな。
0248名前は開発中のものです。2010/01/24(日) 12:10:41ID:dfptX4TC
過去のコード資産使うとか
0249名前は開発中のものです。2010/01/24(日) 18:55:21ID:XyEAfLKu
>>246
浮動小数点数を使う方が良いのですね
ありがとうございます
ソース書き直してきます。。。
0250名前は開発中のものです。2010/02/14(日) 10:16:23ID:01ksrop7
一応今でも固定少数は生き残ってるな。携帯JAVAとか。
使えなさ杉。
0251名前は開発中のものです。2010/03/28(日) 18:21:03ID:TsctO2kM
>>247
計算誤差の蓄積が致命的になるケースとかかね。
内部的に連続ではなく離散的に扱ったほうがいいケースはまれにある。

ゲーム関連だとオンライン同期とか長時間のシーケンス再生とかかね。
まぁこれもアルゴリズムの工夫とか計算式の見直しで対処できるけど
手段の一つとして固定少数、とかかなぁ・・・
0252 忍法帖【Lv=8,xxxP】 2011/09/05(月) 17:16:00.07ID:Lr7+AzeQ
長い時を越えレス
0253名前は開発中のものです。2011/09/09(金) 19:51:52.30ID:k3TsIYrn
age
■ このスレッドは過去ログ倉庫に格納されています