5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

シューティングゲーム製作技術総合 17機目

1 :名前は開発中のものです。:2008/11/27(木) 10:18:19 ID:bBI1A+d5
ゲームプログラマなら誰もが通る、もしくは、通った道。青春の香り?
それは「シューティングゲーム製作」・・・。

このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!

ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。

過去スレ,関連スレは >>2-3で。

2 :名前は開発中のものです。:2008/11/27(木) 10:19:45 ID:bBI1A+d5
■過去スレ
16機目 http://pc11.2ch.net/test/read.cgi/gamedev/1217601153/
15機目 http://pc11.2ch.net/test/read.cgi/gamedev/1203303740/
14機目 http://pc11.2ch.net/test/read.cgi/gamedev/1184110374/
13機目 http://pc11.2ch.net/test/read.cgi/gamedev/1173188370/
12機目 http://pc11.2ch.net/test/read.cgi/gamedev/1154792197/
11機目 http://pc8.2ch.net/test/read.cgi/gamedev/1149422610/
10機目 http://pc8.2ch.net/test/read.cgi/gamedev/1143038992/
9機目 http://pc8.2ch.net/test/read.cgi/gamedev/1134236719/
8機目 http://pc8.2ch.net/test/read.cgi/gamedev/1120669295/
7機目 http://pc8.2ch.net/test/read.cgi/gamedev/1110815882/
6機目 http://pc5.2ch.net/test/read.cgi/gamedev/1105176011/
5機目 http://pc5.2ch.net/test/read.cgi/gamedev/1098034919/
4機目 http://pc5.2ch.net/test/read.cgi/gamedev/1092048824/
3機目 http://pc5.2ch.net/test/read.cgi/gamedev/1087339516/
2機目 http://pc5.2ch.net/test/read.cgi/gamedev/1073736474/

初代スレ http://bbs.gamdev.org/test/read.cgi/gamedev/1056635103/ (リンク切れ)


3 :名前は開発中のものです。:2008/11/27(木) 10:24:21 ID:bBI1A+d5
■関連スレ
シューティングツクールXPを待ち続けるスレ Part7
http://pc11.2ch.net/test/read.cgi/gamedev/1214383534/
■他
WIKI(シューティングゲーム製作技術総合)
http://gamdev.org/w/?%5B%5B%A5%B7%A5%E5%A1%BC%A5%C6%A5%A3%A5%F3%A5%B0%A5%B2%A1%BC%A5%E0%C0%BD%BA%EE%B5%BB%BD%D1%C1%ED%B9%E7%5D%5D (リンク切れ)
シューティングゲーム製作技術総合スレまとめページ
http://pcstg.s59.xrea.com/tech.html
SHOOTING GAME TKOOL WIKI(製作支援用Wikiとろだ)
http://www.esc-j.net/stg/

4 :名前は開発中のものです。:2008/11/27(木) 12:58:19 ID:NF92lj+o
1乙

ついでにサイト紹介

game-develop.com wiki (日本語)(ゲ製サポートサイト)
http://wiki.game-develop.com/

Game Development Wiki (英語)
http://wiki.gamedev.net/index.php/Main_Page


5 :名前は開発中のものです。:2008/11/27(木) 13:07:04 ID:OnF6Vv6S
>作れる奴ならpixiv使って捜してみるといいんでないか?
>気に入った絵師に要旨説明してみて気が向いたのなら描いて貰えばいいさ
垢停止喰らう可能性あるぞ

絵描きじゃない奴が、絵描きに絵の依頼しまくったせいで(便利屋か何かと勘違い)
運営が警告だしてる&そういうのが来たら報告してくれってコメント出してる

6 :名前は開発中のものです。:2008/11/27(木) 13:51:40 ID:GXzkFLd5
何処の誤爆だw

7 :名前は開発中のものです。:2008/11/27(木) 14:01:24 ID:NF92lj+o
今分かった。前スレ>>991への返答か。

> 991 名前:名前は開発中のものです。 :2008/11/26(水) 12:32:24 ID:eQ2qyl1s
> 立ち絵とかドット絵とかメカ絵とかロゴとか
> 作れる奴ならpixiv使って捜してみるといいんでないか?
> 気に入った絵師に要旨説明してみて気が向いたのなら描いて貰えばいいさ
>
>
>
> だが俺はせっかくだからこの自作絵を選ぶぜ!
>

8 :名前は開発中のものです。:2008/11/27(木) 18:04:41 ID:qhfz4pyj
オレはドット絵とプログラムはできるけど音楽スキルが0だぜ
ドット絵手法の半分は単なる技術だから
プログラム覚えられる人なら方法さえわかればある程度さまになるよ
それ以上はやっぱりセンスが必要になるんだけど素人目には大差なかったりするし

まあそもそも絵が描けるなら縮小で十分
ほとんどの人はドット絵じゃなくても小さくてそれなりに動く絵であれば満足しちゃう
東方のドット絵(笑)とか、CAVEのプリレンダをドット絵という人もいるし

9 :名前は開発中のものです。:2008/11/28(金) 03:46:24 ID:KldWeE2f
ドットとはいえ絵の手法の半分を技術と言えるなら
音楽制作も半分くらいは技術な気がする

10 :名前は開発中のものです。:2008/11/28(金) 07:49:09 ID:KleY5CDo
キーボードとマウスだけじゃ音楽作るのきついかな…

11 :名前は開発中のものです。:2008/11/28(金) 10:16:29 ID:4/FNR5J1
無理って事はないだろー…



…ないよな?出来るよな!?
折角サウンドブラスター詰んでるのに更に音源買ってくるとか無駄過ぎる

12 :名前は開発中のものです。:2008/11/28(金) 10:55:51 ID:52lJ7S9r
俺はマウスとキーボード(音の出ない方)だけで音楽作ってるよ。midi -> mp3/ogg みたいな感じで
うまいかどうかは別にして。
それでゲーム作ってるかどうかも別にして。

13 :名前は開発中のものです。:2008/11/28(金) 13:44:52 ID:WPSA6p6i
PCのキーボードだけでも音楽作れるよ

14 :名前は開発中のものです。:2008/11/28(金) 15:19:30 ID:KleY5CDo
じゃあどんなソフトウェア使ってる?
出来ればフリーで済ませたいんだが、他に選択肢がないならシェアも考える。

15 :名前は開発中のものです。:2008/11/28(金) 15:41:43 ID:4uQNjZ7Z
ピスコラ

16 :名前は開発中のものです。:2008/11/28(金) 15:44:13 ID:52lJ7S9r
俺は「Rosegarden」でMIDIデータ作って、
「Timidity」でMIDIをwavに変換して、
「Audacity」でボリューム調整(リミッタかけたり)して、
「Lame」でMP3に変換してる


17 :名前は開発中のものです。:2008/11/28(金) 15:56:40 ID:WPSA6p6i
俺はCubaseAI4。わりと本格的なDAWのお試し版的存在。
趣味で買ったシンセのバンドル品なのでソフト自体は無料。

ちなみにキーボードだけってのはMML使用のつもりで書いた
便利だけど、まったく音楽わからんて人だと辛いかも
↓TSS Clipboard Player
http://www.geocities.jp/tsstutorial/

↓テキスト音楽「サクラ」
http://oto.chu.jp/

18 :名前は開発中のものです。:2008/11/28(金) 16:13:50 ID:D0sU4zPj
DTM全然わかんないんだけど、ゲームのBGMつってもWindows標準の音源じゃ厳しいよね?
音源は買ってきたりすんの?

19 :名前は開発中のものです。:2008/11/28(金) 16:40:09 ID:52lJ7S9r
VSTiとかはよくわからないけれど、
Timidity(ソフトウェアシンセ)の場合、フリーのサウンドフォントとかGUSパッチと呼ばれる音源データを組み込んで
自分好みの音源を作るね

20 :名前は開発中のものです。:2008/11/28(金) 17:30:08 ID:WPSA6p6i
DS-10とかで作ってみるのも面白いかもなあ

21 :名前は開発中のものです。:2008/11/28(金) 19:34:22 ID:t77+K4Qg
TSS Clipboard Player、サクラ、DS-10あたりは割と好み
慣れは必要だが、やってれば自然と慣れる、ともいえる
自分にあったのを見つけるのがいいね

22 :名前は開発中のものです。:2008/11/28(金) 19:57:26 ID:l8Arvniz
フリーの音源でYAHAMA S-YXG50とかあって、Windows標準音源よりはましな感じ。

23 :名前は開発中のものです。:2008/11/28(金) 20:12:28 ID:GrD/suOS
MODで。

24 :名前は開発中のものです。:2008/11/29(土) 07:40:53 ID:aOEXqSTu
ゲーム会社にシューティングのソース送ったが見事に落ちた
会社はいったいどこを見て判断してるんだ?

25 :名前は開発中のものです。:2008/11/29(土) 09:09:20 ID:TGBwHUAT
>24
市場と、会社の経営状況?

26 :名前は開発中のものです。:2008/11/29(土) 10:05:11 ID:127xggHf
人間性

27 :名前は開発中のものです。:2008/11/29(土) 10:13:12 ID:aOEXqSTu
>>26
書類選考だけで
履歴書、職務経歴書、ゲームのサンプルなんだが

28 :名前は開発中のものです。:2008/11/29(土) 11:10:07 ID:h7HjEADx
>>27
普通に考えれば、必要とされてるレベルのサンプルじゃなかったか
求めているゲームの方向性とは違ったんだろう。

他に考えられるのは、ソースが汚かったりとか、志望動機が曖昧だったとか
あとは、今時はあまり無いだろうが学歴とか・・・まぁ、色々考えられるわな。

29 :名前は開発中のものです。:2008/11/29(土) 12:09:49 ID:TJBw5l6X
サンプルが2DSTGなら落とされても仕方ないと思うが・・・

30 :名前は開発中のものです。:2008/11/29(土) 13:29:56 ID:aOEXqSTu
>>29
ではなんで
http://codezine.jp/article/detail/297?p=2
こんなレベルの奴が存在するんだ?

31 :名前は開発中のものです。:2008/11/29(土) 13:44:10 ID:i5utwT1q
いまいち話が見えん私怨か?何がいいたいかわからん

32 :名前は開発中のものです。:2008/11/29(土) 13:57:15 ID:SLx1sFCD
2DSTGなめんなよー

33 :名前は開発中のものです。:2008/11/29(土) 14:26:29 ID:FF6JRkLN
日本語できないプログラマは困るぞ

34 :名前は開発中のものです。:2008/11/29(土) 15:44:19 ID:aOEXqSTu
http://codezine.jp/article/detail/297?p=2
ここのサイトのサンプルのレベルのひどすぎなのに
なんでこんなレベルで堂々と職にありつけれるものなのかと

35 :名前は開発中のものです。:2008/11/29(土) 15:50:58 ID:TJBw5l6X
その記事書いた人のプロフィールみたら学生って書いてるけど?
落ちた理由は君もひどいからだろ
あとサンプルは3Dのほうがいいぞ

36 :名前は開発中のものです。:2008/11/29(土) 16:22:47 ID:HP/HD9Nf
知り合いはそのサイトのサンプルよりひどいレベルの2DSTGでゲーム会社受かってたな。
要は人間性とか、コードが読みやすいかとか細かい点じゃねーの?

37 :名前は開発中のものです。:2008/11/29(土) 17:20:42 ID:FF6JRkLN
>>34
少なくともお前みたいなやつと一緒に仕事するのはイヤだわ

そう思われたんじゃね

38 :名前は開発中のものです。:2008/11/29(土) 17:38:50 ID:YG/nnvd7
困ったことに運もあるだろうし

39 :名前は開発中のものです。:2008/11/29(土) 17:46:08 ID:Eekqkzu5
やってるだけマシだわ。

やる気有ります、でもやったことありません

なんて言うヤツに会うたびにニコニコ対応だよ。
自分達の客にはなるかも知れないから。

でも一瞬、目に殺気が出るのは仕方ないよな。


40 :名前は開発中のものです。:2008/11/29(土) 19:11:55 ID:ILks9SPX
>>34のサイトの具体的に何がひどいのか俺に教えてくれ…。
タスクシステムはさっぱりわからん。

41 :名前は開発中のものです。:2008/11/30(日) 14:58:37 ID:xaWdbSt6
ゲームなんか送って来てもソースコードなんか見てない件

42 :名前は開発中のものです。:2008/11/30(日) 15:56:45 ID:6ounYqlB
ゲーム見て興味があったらソースを見る感じ。

43 :名前は開発中のものです。:2008/11/30(日) 19:58:42 ID:bxRgwoYM
3Dできない俺はどうすればいいんだ?
次の世代のごにょごにょをしろとでも言うのか?







いやあああああああああああああああああああああああああ
妊娠しちゃうぅぅぅぅぅぅぅっぅぅぅぅぅl

44 :名前は開発中のものです。:2008/11/30(日) 20:46:32 ID:O5396ILY
2Dのゲーム作ればいいじゃないか

45 :名前は開発中のものです。:2008/11/30(日) 23:19:41 ID:/cJYqZ7X
文字キャラゲーでいいじゃないか

46 :名前は開発中のものです。:2008/11/30(日) 23:24:26 ID:nCoEhEuv
3Dでイケないは錯覚だな。それは「やらない」の積み重ねで「イケなくなる」だけ。リハビリすれば治る

ゲー専新卒の子だって無理やり調教して近代化改修&魔改造しまくればCG Worldの倉●●●女史の
連載記事を見せるだけで反射的に劣情を催す程度のサンディーソルジャーに生まれ変わる


47 :名前は開発中のものです。:2008/12/02(火) 08:32:31 ID:nvUf7O5w
チュートリアルかサンプルがあればいいんだけどなぁ
前はあったみたいだが最近は探してもない

48 :名前は開発中のものです。:2008/12/04(木) 07:11:46 ID:S+8J4F9z
60フレームってどうやって維持してるんですかね?

49 :名前は開発中のものです。:2008/12/04(木) 09:57:54 ID:RX5lX7pK
DirectX使ってれば、PresentParameterを適切に設定すれば勝手に。

使ってない場合は、適当にスレッドをスリープさせる関数で規定の時間がたつまで待つ。
保持しておいた手前の時刻と、現在の時刻の差がが1/60≒0.01667=ONE_FRAME秒以上になるまで↑を行う。

MainProcess()
{
  // さまざまな処理。
  while(ONE_FRAME <= currentTick - previousTick)
  {
    スレッドを一定時間休ませる関数を呼び出す。
  }
   previousTick = currentTick;
}

50 :名前は開発中のものです。:2008/12/04(木) 10:32:38 ID:S+8J4F9z
>>49
う〜ん、それでやってるんですけど
64フレームになるんですよね

51 :名前は開発中のものです。:2008/12/04(木) 14:09:43 ID:E2f1q3SU
16msでループさせて62.5fpsになるなら分かるが、
なんで64fpsになるんだよw

52 :名前は開発中のものです。:2008/12/04(木) 14:15:37 ID:+ofge7Nr
リフレッシュレートが、、、って72とか75は見るけど60台の半端なのはあまり見ないな

53 :名前は開発中のものです。:2008/12/04(木) 15:52:17 ID:Nh7ZPiuX
マルチコアCPUだとウェイト上手くいかないこと無い?

54 :名前は開発中のものです。:2008/12/05(金) 04:57:35 ID:fBcFOFeO
ttp://www1.axfc.net/uploader/He/so/166478
キーワード:pepsi
作ってみたんだけど フレームレートが64になる

15ms WaitForSingleObjectEx で待ってるんだけど
小数点は切り捨てられるからね
どうしたらいいものかね?

55 :名前は開発中のものです。:2008/12/05(金) 09:58:42 ID:tEf/k/KB
ならんな。
環境変えて試してみては。

56 :名前は開発中のものです。:2008/12/05(金) 11:50:55 ID:hRMAknNE
どこ見れば良いの?
とりあえず64/60とかなってるから64fpsなんかな
CPUを強制シングルコア駆動にしてみてよ

57 :名前は開発中のものです。:2008/12/05(金) 15:55:13 ID:fBcFOFeO
>>56
だね 64/60 で 60フレーム設定 現在64フレームだね
シングルコアtって何よ?

58 :名前は開発中のものです。:2008/12/05(金) 16:12:45 ID:4NitJN/J
Pen3 1.4G Win2k でも64/60だったわ

59 :名前は開発中のものです。:2008/12/05(金) 19:59:29 ID:ZfABNNJG
>>54
これ、ウィンドウのサイズで最前面に表示してないか?
その辺から直したほうが良いと思われ。

60 :名前は開発中のものです。:2008/12/05(金) 21:40:00 ID:fBcFOFeO
>>59
ハックでもするの?

61 :名前は開発中のものです。:2008/12/05(金) 21:41:59 ID:fBcFOFeO
てゆうか話それてるね
60フレームを維持する方法を尋ねてるんだけど

62 :名前は開発中のものです。:2008/12/05(金) 21:50:10 ID:AxRmjaFz
exeで分かるかよ
ソース出して

63 :名前は開発中のものです。:2008/12/05(金) 22:41:03 ID:U4VbVISL
まさか常に15msスリープさせてるとかw

64 :名前は開発中のものです。:2008/12/05(金) 23:07:03 ID:qKCCDEgC
YanesdkのFpsTimerクラスが参考になるんじゃないかと。
まああの下品なソースを読むのは若干骨が折れるが…。
それ以前の話のような気もしないでもないけど。

65 :名前は開発中のものです。:2008/12/06(土) 02:24:23 ID:9zJigpxT
表示されるFPSってどうやって算出してる?
場合によっては、そこの誤差もありうる。

66 :名前は開発中のものです。:2008/12/06(土) 03:29:58 ID:sMLDT9HD
統括すると
「話にならん。出直せ」
ってレベルかね

67 :名前は開発中のものです。:2008/12/06(土) 06:55:09 ID:BzG1EzMf
そだね
総合的にレスすると
「おまえはできるのか?出直せ」
口だけ野郎
ってレベルだね ここ

68 :名前は開発中のものです。:2008/12/06(土) 08:44:13 ID:sONJGBwB
該当部分のソースを出せば良いだけなのにな。
見られるのが恥ずかしい系なのかね。
よほどのことがない限り他人のソースなんて頼んだって見てもらえないわけで、
ソース晒して問題指摘して貰えるなんてむしろありがたいことだと思うんだが…。

69 :名前は開発中のものです。:2008/12/06(土) 09:03:43 ID:ivlrqt8m
>>67
馬鹿に構ってねぇでさっさとソース晒せボケ
答えようがねーだろが
死ね

70 :名前は開発中のものです。:2008/12/06(土) 09:19:45 ID:sMLDT9HD
>67が本人の弁かどうかは知らんが、
54は何が問題かすらよくわかってない初心者っぽいんでいくつか書いてやるか。
・リソースいらん
・てかゲームパートいらん
・DirectXもいらん。てかまともに制御できてねーなら無理スンナ。
・WaitForSingleObject"Ex"の意味分かって使ってんのか?

タイマーでウェイトするだけならGDIでやっとけ。
そんで100行くらいでFPS計測表示するだけのコード書いて晒せ。
これ書き上げる間に自分で問題点みつける可能性もある。

71 :名前は開発中のものです。:2008/12/06(土) 09:22:45 ID:BzG1EzMf
核心つかれると逆ギレですね
わかります

72 :名前は開発中のものです。:2008/12/06(土) 09:41:58 ID:BzG1EzMf
>>70
>・リソースいらん
リソースの意味わかってるの?意味不明

>・てかゲームパートいらん
ゲームパートって何?意味不明

>・DirectXもいらん。てかまともに制御できてねーなら無理スンナ。
フレームレートの話してるだけ
誰もDirectXだとは言ってない 意味不明

>・WaitForSingleObject"Ex"の意味分かって使ってんのか?
MSDN読めないの?理解不能

あんた自身が理解不能
消えてくれ

73 :名前は開発中のものです。:2008/12/06(土) 10:24:19 ID:BzG1EzMf
分かりました!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
がんばります!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


74 :名前は開発中のものです。:2008/12/06(土) 10:25:16 ID:BzG1EzMf
単細胞は楽でいいねぇ

75 :名前は開発中のものです。:2008/12/06(土) 11:31:53 ID:KtxxCzfi
ゲ板は今日もまったり

76 :名前は開発中のものです。:2008/12/06(土) 11:40:23 ID:43KxfJBJ
よっぽど痛いところを突かれたんだな。

77 :名前は開発中のものです。:2008/12/06(土) 13:22:16 ID:d6vIii//
一人で大暴れ、か

78 :名前は開発中のものです。:2008/12/06(土) 13:44:13 ID:ivlrqt8m
マジキチ

79 :名前は開発中のものです。:2008/12/06(土) 14:18:35 ID:BzG1EzMf
ジュワゲットしてきたYO!
lsメンに何気なしに「ジュワが欲しくなってきた」ってかるーく言ったら「よし、じゃあ行こうwww」ってノリで、最初赤二人で海蛇に出陣。
現地で仲良くなった赤さんをls勧誘し、お互いに一度ジュワに乙されてから、「ガチロで組みましょうwww」って協定。
赤3でグラバイ3枚のスリップマラソンやるも、いいところで雑魚湧いてアボン。その後外人に/grinされて大笑いされたあとに優雅にとられて終わったw
抽選時間を記録し、一度ログアウトで昼寝してから夜、エイン前に今度はlsにも早朝と違って人がいて、みんなでわらわら集まってくれて6人で張り込み。
エインいかなきゃまずい、限界時間だしとりあえず諦めるかーってなった瞬間に「【見つけました!】戻ってこいバカども!!」( ゚∀)キタ!!( ゚∀゚ )キタ━━━

最初、強化ろくにしないで釣っちゃって前衛さん蝉がはがれまくりがあぶなかったけどなんとか持ち直してそのあとは安定して削り。
無事、念願のジュワをゲット!!


80 :名前は開発中のものです。:2008/12/06(土) 14:25:36 ID:RvirWTCn
何がどうなっているのかわからない

81 :名前は開発中のものです。:2008/12/06(土) 15:10:06 ID:Yy/w7j5Z
>>79
意味はわからんがFF11やってる事だけはわかった

82 :名前は開発中のものです。:2008/12/06(土) 15:11:25 ID:d+fN4aMe
ソースを出したくないよっぽどの理由があるんだろう
FPSの制御なんかググればいっぱい出るだろうからそっちを参考にしては?

83 :名前は開発中のものです。:2008/12/06(土) 15:34:41 ID:BzG1EzMf
1000/60=16.6666666666

小数点切り捨てられ16msウェイトになり
16x60=960
にならんかね?

84 :名前は開発中のものです。:2008/12/06(土) 16:44:30 ID:ivlrqt8m
いいからソース出せ障害者

85 :名前は開発中のものです。:2008/12/06(土) 17:07:18 ID:GenZdgF3
こんな基地外の相手をしてやるなんて、みんな優しいなあ

86 :名前は開発中のものです。:2008/12/06(土) 17:52:44 ID:gmil0f30
もてあそばれとるだけ。
放置しとけ。

・64fpsになるのはタイトル画面だけだ。
・最前面は直せ。

87 :名前は開発中のものです。:2008/12/06(土) 18:57:26 ID:BzG1EzMf
           .,☆、
        .R-‐i'''''''''''i''''‐Я
       ○@○ @ .入'''''''○
      .|\__| \ / ◇V.. .|
      .|_, ─';;;;;;;;;;;;;;;;;;'─..../_
     /;;;O;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`ヽ.
    /;;;;;;;o;;;;;;;;/;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;;;;i  メタルクイーンカワイソス…
   |;;;;;;;;;;;;;;;;;;;;;;;;;●;;;;(__人_);;●;;;;|
    !;;;;;;;;;;;;;;;;///;;;;;;;;;;;;;;;;;;;;;;;;///;;ノ
    丶. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ノ
      ``'''‐‐--------‐‐'''~

88 :名前は開発中のものです。:2008/12/06(土) 23:12:24 ID:ivlrqt8m
ソース晒せ蛆虫

89 :名前は開発中のものです。:2008/12/06(土) 23:21:08 ID:8zCwMYDf
ほれソース。
while(true)
{
//目標処理時間の取得
long limit = System.currentTimeMillis() + 16;

(処理)
//目標時間より処理した時間を差っぴく
long wait = limit - System.currentTimeMillis();

if (wait > 0) Thread.sleep(wait);//待つ
}

90 :名前は開発中のものです。:2008/12/06(土) 23:27:05 ID:RvirWTCn
うーん、特に問題は無いように見える

91 :名前は開発中のものです。:2008/12/06(土) 23:53:56 ID:8zCwMYDf
そりゃそうだ。問題のあるソースじゃなくて俺の使ってるソースだもん。

92 :名前は開発中のものです。:2008/12/06(土) 23:57:34 ID:d+fN4aMe
俺は1秒単位で作ってる
>>89みたいなのだとFPSを上げれば上げるほど誤差がでるから

if( (1〜1000の経過ミリ秒) < (この1秒間での更新回数)*1000/60) )
  wait(( この1秒間での更新回数)*1000/60) - (1〜1000の経過ミリ秒) );

みたいな

93 :名前は開発中のものです。:2008/12/07(日) 01:20:05 ID:nT4ceVXH
>>89
それは少し問題がある。
Windowsでは一番下のifからループの最初に戻るまでに時間がかかる可能性がある。
また、Sleepは指定した時間で戻る保証がない。遅れる可能性がある。

基本的にループ内で時間を取得するのは1ヶ所にしないとダメ。

94 :名前は開発中のものです。:2008/12/07(日) 08:49:50 ID:CrWGaene
解決したな

95 :名前は開発中のものです。:2008/12/07(日) 11:40:55 ID:MnGKoZXg
ってかWindows環境なら何も考えずにDirectX使っとけばよくね??

96 :名前は開発中のものです。:2008/12/07(日) 21:15:48 ID:YhkzdsGX
directX使うと何が良いのか分からんが、
少なからずリアルタイムループ制御の技術は身につけて置いて損は無いだろう。
……本当にリアルタイムなのかどうかはさておき

97 :名前は開発中のものです。:2008/12/08(月) 02:42:41 ID:u3e7IEjo
素人の俺にDirectX以外を使う理由を教えテレ


98 :名前は開発中のものです。:2008/12/08(月) 11:02:44 ID:xkZWgcaE
>>97
素人プレイヤーにDirectXなどという得体のしれないランタイムを
長時間かけてインストールさせる作業を強制できるだろうか

99 :名前は開発中のものです。:2008/12/08(月) 12:12:53 ID:tNegh1fp
いまどき何言ってんだ

100 :名前は開発中のものです。:2008/12/08(月) 12:34:13 ID:xkZWgcaE
なんつーかFlashもAdobe Readerもインスコすんのめんどくさいと感じるようになった
あと定期的にバグ修正版が出るWEBブラウザを更新するのもめんどい

101 :名前は開発中のものです。:2008/12/08(月) 13:16:08 ID:espLlLLx
Windows 7はCPU上でDirectX 10を実行可能
とあるので、そのうち DirectX が Windows 自体にインストール済みになる
時代が来るので、初心者は気にしなくていい時代がくる
と予測

102 :名前は開発中のものです。:2008/12/08(月) 13:18:05 ID:espLlLLx
てか、Windows98 には DirectX5が自動で入ってるので
3Dゲーでもしない限り気にしなくていい気がスルー

103 :名前は開発中のものです。:2008/12/08(月) 13:30:04 ID:xkZWgcaE
>>101
不景気で大量に失業者が増えるので、Windows7搭載PCを買えない人が続出して、
思ったほど普及しないと予測

>>102
Windows98でネットなんかつなぐなと言いたい
Microsoftのサポート切れるわ、Javaのサポート外だわ、ウィルスバスターのサポート外だわ
良いこと無い

104 :名前は開発中のものです。:2008/12/08(月) 13:47:28 ID:espLlLLx
>>103
てことはLinuxの出番ですか?
まぁサポート料でウハウハなんですが

105 :名前は開発中のものです。:2008/12/08(月) 14:00:39 ID:tNegh1fp
もうwin98でなんかテストもしないなw

106 :名前は開発中のものです。:2008/12/08(月) 14:30:03 ID:txNXu5ct
>>98
どっちにしろPCゲームプレイしたいなら
いつかはDirectXインストールしなきゃならんだろ

107 :名前は開発中のものです。:2008/12/08(月) 14:46:11 ID:xkZWgcaE
>>104
macも忘れないであげてください

>>106
そんときゃもう素人プレイヤーじゃないだろうからいいや

108 :名前は開発中のものです。:2008/12/08(月) 15:34:15 ID:tNegh1fp
東方とかこんだけ流行ってんだしDirectX前提で良いじゃないw

109 :名前は開発中のものです。:2008/12/08(月) 15:43:31 ID:rjxQpxpY
最近、東方と聞くとくりからの絵しか浮かびません

110 :名前は開発中のものです。:2008/12/08(月) 16:41:04 ID:txNXu5ct
>>107
訳分からん

111 :名前は開発中のものです。:2008/12/08(月) 17:59:35 ID:xkZWgcaE
うーん、やっぱWindows環境ならDirectXはインストールしてあたりまえの時代なのかね。


112 :名前は開発中のものです。:2008/12/08(月) 18:18:21 ID:bxJJH0Tb
少なくとも俺はそう思ってる。

113 :名前は開発中のものです。:2008/12/08(月) 19:41:44 ID:8qLAhPDR
むしろ俺はいかにしてMDXをインストールしてもらうかに悩んでいる。

114 :名前は開発中のものです。:2008/12/08(月) 20:01:13 ID:xkZWgcaE
>>113
動作要件に書いとくしか無いんじゃね。

*nix系のソフトのインストールマニュアルを見ても、
「○○が既にインストールされている必要があります」みたいなのがずらりと並んでたりするしなあ

115 :名前は開発中のものです。:2008/12/08(月) 20:59:19 ID:9DrHGdXM
Winで作っているゲームでDirectXを使わない意味がわからん
しょぼゲーしか作れないじゃん

116 :名前は開発中のものです。:2008/12/08(月) 22:03:31 ID:espLlLLx
>>115
それもそうだね
GDI自作するよりもDirectX使った方が早いし、
MSお墨付きだし

Macは・・・すまん
Javaが盛り上がってきたら作成されるかもしれん

117 :名前は開発中のものです。:2008/12/08(月) 23:05:43 ID:MfS7g7PZ
もうmacの事は忘れてやれよ

118 :名前は開発中のものです。:2008/12/08(月) 23:14:36 ID:9DrHGdXM
Macなんてどうでもいいだろ
あんなの情報弱者が買うハードだ

119 :名前は開発中のものです。:2008/12/08(月) 23:35:13 ID:+S7O52E1
妬まれ慣れしたリア充のマカーとして一言言わせてもらえば
ゲームが好きでマカーやってる人間は用途に応じてハード買い揃える程度の可処分所得があるので
心配してもらわなくても結構ですの。BIOSHOCKとDEADSPACEのためにゲーマー仕様のノートPCくらい持ってますの

コールドスリープから目覚めたてのID:xkZWgcaEは速やかに永眠モードに戻るか速やかに社会復帰に努めなさい。
まずはOpengGL&GLSL&各GPUベンダーの拡張命令セットを使えるようになれ。話はそれからだ

120 :名前は開発中のものです。:2008/12/08(月) 23:36:46 ID:u3e7IEjo
別にMac嫌いじゃないけどわざわざMac用に作っても
苦労の割に需要が見込めんだろう

121 :名前は開発中のものです。:2008/12/08(月) 23:43:15 ID:+S7O52E1
MAC持ってるならSDLでサクっと作ればいいと思うよ

122 :名前は開発中のものです。:2008/12/08(月) 23:47:52 ID:xkZWgcaE
>>119
SDLいいよ、SDL。Windows/Mac/*nix対応だし。

123 :名前は開発中のものです。:2008/12/08(月) 23:51:47 ID:9DrHGdXM
>>119
ちっとも慣れてないじゃんww

妬んでるんじゃなくて、哀れんでるんだよ

あぁ。マッキントッシュのイメージ戦略に載っちゃったんだね・・・・と。
まじで今のマックは欠片も羨ましくない
昔のフォトショップとかイラストレーターがWinよりも先に出てた時ならまだしも

そういう選民思想みたいなの振りかざして、上から見るのは寒いから辞めた方がいいよ?

124 :名前は開発中のものです。:2008/12/08(月) 23:59:50 ID:QMJ/R6ZH
Mac(ノート)所有者は増えてるぞ。
Unixユーザ(というか開発者)が買ってるからw


125 :名前は開発中のものです。:2008/12/09(火) 00:03:14 ID:FH6Ed4rz
まあ、ゲーマーがファミコンやプレステを買う感覚でWindows/DirectX環境を揃えてくれるなら、
それに準拠した製品を作るのが商売としては賢い戦略だろうな。

Flashとかはまた別物かな。

126 :名前は開発中のものです。:2008/12/09(火) 00:09:40 ID:sF7Fv4my
>>113
落ち着け、普通ならDirectx画はいってる環境なら勝手に入ってる。
別途入れるソフトが必要なのはXNAだ

127 :名前は開発中のものです。:2008/12/09(火) 00:18:42 ID:UUSX3J9x
>>126
俺の知識が古いのかもしれんが、MDXは標準インストールではなかったはず。

128 :名前は開発中のものです。:2008/12/09(火) 00:25:56 ID:WtrXFULJ
>>97
たしか窓の世界ではサポート期限が切れたWinMeとWin2kでさえDirectX7相当(だっけ?)標準搭載。
WinXPならDirectX8辺りを標準搭載。
2008年末現在、どんなウンコ窓PCのオンボGPUでも固定機能パイプラインくらい搭載してる。
今更CreateDIBSectionとか(旧WinGに相当する関数群?)に固執するメリットは絶無だろ
あるいは何らかの特殊な緊縛プレイ(demo用のソフトレンダラー組む)とか


129 :名前は開発中のものです。:2008/12/09(火) 00:31:41 ID:FH6Ed4rz
>>128
つまりDirectX7相当の機能だけ使って作りましょうってこと?

130 :名前は開発中のものです。:2008/12/09(火) 00:42:56 ID:WtrXFULJ
>>129
DirectXインスコさせたくねーとかいう天邪鬼ユーザーに配慮したいとかいう人がいたから
そこまで言うなら「固定機能パイプライン必須」程度を下限にしとけばいんじゃねって話

131 :名前は開発中のものです。:2008/12/09(火) 00:47:20 ID:RPj0CwyC
>>129
なんでそうなるんだよ

132 :名前は開発中のものです。:2008/12/09(火) 02:05:46 ID:4JCb9FOv
Win2kのサポート自体は……サポート自体はまだ打ち切られていないんだよ……うわぁぁぁん!

133 :名前は開発中のものです。:2008/12/09(火) 02:18:31 ID:RPj0CwyC
まあ現状XPで動けば良いや程度にしか思ってない

134 :名前は開発中のものです。:2008/12/09(火) 10:15:17 ID:S3aTmjvE
初心者なんですが、弾が連続的に描画されないのですが、どうしたらいいのでしょうか?
参考のページを教えていただけると幸いです
ボタンを押すと発射、while(pos.y>0)でくくると、最初とpos.y=0の時の中間が描かれません。どうすればいいのでしょうか?

135 :名前は開発中のものです。:2008/12/09(火) 10:39:31 ID:wTdUmZMK
よくわからんが、0でダメなら−1でいいんじゃね?

136 :名前は開発中のものです。:2008/12/09(火) 10:52:00 ID:wTdUmZMK
あー、よくわからんのに書くもんじゃないな
すまん、無視してくれ

137 :名前は開発中のものです。:2008/12/09(火) 11:05:00 ID:S3aTmjvE
whileの中は加速度とかの計算式だけで描画関数は入っていません

138 :名前は開発中のものです。:2008/12/09(火) 11:13:10 ID:UXQm+qSa
>>137
じゃあ表示されないのは当たり前だろ
whileでくくるんじゃなくてボタンを押したときは弾を生成する処理だけをする
メインループで弾が存在したら弾を1コマ進めて表示する処理をし、
画面街に飛び出たら消滅させる処理をする

139 :名前は開発中のものです。:2008/12/09(火) 11:16:34 ID:wTdUmZMK
とりあえず、ここおススメ
http://dixq.net/s/

俺もこれ見てシューティング作ってる

140 :名前は開発中のものです。:2008/12/09(火) 11:42:00 ID:8b11EtKt
>>134
日本語を勉強するか
プログラムを勉強するか
数学を勉強するか
どれかを選べばいいと思う

141 :名前は開発中のものです。:2008/12/09(火) 11:43:28 ID:S3aTmjvE
ありがとうございます。全然理解できない;;
写っぱなしの弾をボタン一回で継続的に動かしたいだけなのに・・・・;;

142 :名前は開発中のものです。:2008/12/09(火) 12:04:01 ID:LlY86N04
OpenGLはビデオチップによって速度が違いすぎるのが難点だなー。
RadeonXPress200上で開発して60Fps出てたのがたまたまRadeonHD4850で動かしてみたら一桁まで落ちるので、
何でかと思ったら行列スタックや属性スタックの操作が極端に重かったみたいで、判るのに苦労した。

143 :名前は開発中のものです。:2008/12/09(火) 12:06:37 ID:PL50HxGw
理解できないのはこっちだw

具合が悪いんですけど、何の病気でしょうか?

と訊かれただけで、あんたは何の病気かわかるのか?

144 :名前は開発中のものです。:2008/12/09(火) 12:13:39 ID:8b11EtKt
まともに相手しても
さらに質問が返ってくるに25000ガバス

145 :名前は開発中のものです。:2008/12/09(火) 12:43:33 ID:S3aTmjvE
ここにいる奴って日本語を勉強しろとか煽られて育ってきたかわいそうな奴ばっかなんだねw

146 :名前は開発中のものです。:2008/12/09(火) 12:48:07 ID:wTdUmZMK
なんだ釣りか

147 :名前は開発中のものです。:2008/12/09(火) 12:49:16 ID:S3aTmjvE
日本語理解できてないのはお前らだww頭悪すぎだろww

148 :名前は開発中のものです。:2008/12/09(火) 13:18:17 ID:4JCb9FOv
なんだ、釣りだったのか

149 :名前は開発中のものです。:2008/12/09(火) 13:20:23 ID:FH6Ed4rz
>>134
whileでくくった中に描画する処理を書けばいいんじゃね。

while ( pos.y > 0 ) {

  === 移動の処理 ===

  === 描画の処理 ===

  ===その他の処理 ===
}

150 :名前は開発中のものです。:2008/12/09(火) 13:29:24 ID:S3aTmjvE
底辺プログラマーとか自分が先輩からやられたことを必死にやり返してくるからなwww
しかも2ちゃんでwww

151 :名前は開発中のものです。:2008/12/09(火) 14:48:12 ID:PI3BaNiE



152 :名前は開発中のものです。:2008/12/09(火) 16:52:36 ID:fFSBTS/4
うわーいおれもまぜてまぜてー

153 :名前は開発中のものです。:2008/12/09(火) 16:57:20 ID:Sb5wMSbY
なんか1982年頃のBASICでできたインベーダーゲームで
弾を撃つと弾以外のキャラの動きが全て止まるゲームを思い出した

154 :名前は開発中のものです。:2008/12/09(火) 16:59:45 ID:8b11EtKt
それが分かってて来るのか・・・

155 :名前は開発中のものです。:2008/12/09(火) 17:11:18 ID:M91LEl8M
2CHの鏡なスレだなw

156 :名前は開発中のものです。:2008/12/09(火) 17:29:23 ID:8b11EtKt
ああ、釣りだったか・・・

157 :名前は開発中のものです。:2008/12/09(火) 17:37:06 ID:PI3BaNiE
な釣
あ釣

158 :名前は開発中のものです。:2008/12/09(火) 18:08:52 ID:VNydxNb7
グラディウスのダブルのようなショットを作ったら、上ばっかり→両方に→下ばっかり→両方→・・・
というような波が出来てしまうんですが、満遍なく発射するにはどうしたらよいんでしょうか。
現状は、ショットの要求があったときに、あいている弾があったら発射するという感じにやっています。

159 :名前は開発中のものです。:2008/12/09(火) 18:16:35 ID:Sb5wMSbY
>>158
それぐらい自分で考えられないでゲームは完成するのか?w不安だよw
どうとでもできるだろ

160 :名前は開発中のものです。:2008/12/09(火) 18:26:30 ID:IEG5htND
>>158
>現状は、ショットの要求があったときに、あいている弾があったら発射するという感じにやっています。

それで問題ない気がするけどな。
上と下の両方に同時に要求してるわけじゃないのかな?

ちょっと邪道かもしれないけど、ダブルショットの要求があった時に、
「2つ空き」があるかどうか確かめて、なければ撃たない、
あれば両方撃つ、って形でいけるんじゃない?


161 :名前は開発中のものです。:2008/12/09(火) 18:43:45 ID:VNydxNb7
>>159
すいません。確かにどうとでもなるんですが、あのシンプルなショットに
そんな面倒な処理があるのか?という思いがありまして。

>>160
要求は同時に出しています。
行順の問題かとも思って、発射するごとに行を入れ替えたりも試したんですが。
2つ空きのほうは、元々画面内の弾数が多くなくて避けたいので、ちょっと煩雑でも自己流で書こうと思います。

ありがとうございました。

162 :名前は開発中のものです。:2008/12/09(火) 19:18:46 ID:IEG5htND
面倒な処理じゃないと思うし、
やり方が間違ってるんじゃないのなら
単にバグが潜んでるだけかもしれないよ。

163 :名前は開発中のものです。:2008/12/09(火) 19:30:26 ID:8b11EtKt
嫌味だよ
気づけ

164 :名前は開発中のものです。:2008/12/09(火) 20:34:56 ID:FH6Ed4rz
>>161
2つ確保するつもりが、ポインタを1つ分しか進めてなくて、弾が次々と上書きされてたりしてな。

165 :名前は開発中のものです。:2008/12/09(火) 23:06:18 ID:lVmIafHS
知らんが、C#とかjavaなら空いてる弾幕のことなど考えずに
弾丸リスト.add(上向き弾);
弾丸リスト.add(下向き弾);
でやるもんだし、C++でも似たような実装は可能だろ?
とりあえず、Cでやりたいんなら連結リストを実装することから始めてみればいいんじゃないか。



166 :名前は開発中のものです。:2008/12/10(水) 16:37:24 ID:Cps9vI6c
ゲームの状態(タイトル画面とか、シューティング中とか)でメッセージハンドラを
SetWindowLong関数やSetWindowLongPtr関数で変更するのってありかな?

メッセージハンドラ中にswitch文とか煩雑かなーと思うわけですが

なんか一般的な方法ってあるんですかね?

167 :名前は開発中のものです。:2008/12/11(木) 00:30:52 ID:SwlibDem
そこでタスクシステムですよ

168 :名前は開発中のものです。:2008/12/11(木) 01:09:07 ID:Tl9RQtTK
ゲームの状態が変わってもメッセージハンドラの中身を変える必要が無い仕様を考えた方が楽かも

169 :名前は開発中のものです。:2008/12/11(木) 05:41:33 ID:Gzl7Lfi5
>>165
この板で自分以外にC#をC#系スレ以外でいってる人はじめてみた・・・ちょっと感動だ。


170 :名前は開発中のものです。:2008/12/11(木) 10:13:54 ID:tNsh0a9k
>>166
単一のウィンドウプロシージャーからディスパッチすればいいと思う

171 :名前は開発中のものです。:2008/12/11(木) 10:17:05 ID:7h0mUefC
166です

シューティングゲームプログラミング(松浦著)では、タスククラスからシーンクラスを派生させて、
タスクリストの1つとしてシーンを作成していた

その仕様はわかるんだけれど、シューティングゲームに限らずたとえばRPGだった場合、
メニュー画面とか、どうなっているのかなーと思った次第

メニュートップ→魔法→だれの?→どの魔法→魔法対象

みたいに新しいメニューが生まれてくるじゃない
これもタスクリストに1つ1つ書くのかなーって、疑問に思ってる

172 :名前は開発中のものです。:2008/12/11(木) 11:04:32 ID:1D8jgOIG
>>171
RPGはまだ手を出してないが
俺だったら states などに状態を入れて
switchで分けるかもな

タスクシステムって、マルチスレッドとかでもならない限り
威力発揮しなくね?

173 :名前は開発中のものです。:2008/12/11(木) 16:02:40 ID:1D8jgOIG
素粒子を処理しようとしてるんだけど
これもタスクシステムでできるかな?

174 :名前は開発中のものです。:2008/12/11(木) 16:07:14 ID:1D8jgOIG
人工知能を並列処理しながら
X透過線のデータをXLSファイルに出力しつつ
リアルタイムに表示するシステムのライブラリを作ってるんだ

175 :名前は開発中のものです。:2008/12/11(木) 17:05:49 ID:1D8jgOIG
草薙の剣を手に入れてこれから黒を倒そうとするところで
いつもこける
そしてずっと俺のターンになるバグがでます
製品版だし、DirectXもバージョン合ってるのに
なぜ動作しないんでしょうか?
OSはVistaです

176 :名前は開発中のものです。:2008/12/11(木) 17:07:41 ID:1D8jgOIG
誤爆

どこの院かバレるじゃねぇかw
誰か消してくれ

177 :名前は開発中のものです。:2008/12/11(木) 17:20:48 ID:e6R1e+p8
興味ないから問題なす

178 :名前は開発中のものです。:2008/12/11(木) 17:27:02 ID:jeJaub+T
晒しage

179 :名前は開発中のものです。:2008/12/11(木) 17:52:07 ID:jDESsGSy
>>171
タスクリストなんて言う名前で呼んでるから見えなくなってるだけで、
実体はアルゴリズムのエントリポイント(一般的には関数ポインタとか)の連結リストを順番に呼び出していく機構でしかないわけだから、
同じようにアルゴリズムのスタックの一番上だけを実行するような機構を用意すれば良いわけだ。

void Menu()
{

}

void MagicSelect()
{

180 :名前は開発中のものです。:2008/12/11(木) 17:56:00 ID:jDESsGSy
あふん

void Menu()
{
if(hoge)Push(MagicSelect);
}

void MagicSelect()
{
// 同
}

void Who()
{
// 同
}



void SelectTarget()
{
// スタックをクリアして次のキャラとか、戦闘開始とか
}

実際どう実装するのが一般的かはしらんけど私はこうしてるな。
RPGは作ったこと無いけど。

181 :名前は開発中のものです。:2008/12/11(木) 20:11:08 ID:IWquCMNP
>>166
STGってOSのGUIサービスを使わなくてもへっちゃら平気なことが多いから
そういう場合、OSのメッセージシステムも関心の外にあったりする。↓仮想コード
winmain(){
  try{
    //ゲーム環境構築
    //D3D,SOUND,INPUT,USERDATA,ワーカースレッド生成,etc
    boost::shared_ptr<GAMEENV> gameenv(new GAMEENV(gamemain));
    // メインスレッドはWM_QUITされるまでグルグル回ってろ
    while(1){
      GetMessageとかうんたらかんたら
      …
    }
  }catch(...){;}
}
gamemain(){   // 自由です。HSPerにとっては水を得たお魚状態
  try{
    boost::scoped_ptr<SCENE> logo(new LOGO(gameenv));    //ロゴ画面
    boost::scoped_ptr<SCENE> demo(new DEMO(gameenv));   //デモ画面
    (…後略…)
    http://pc11.2ch.net/test/read.cgi/gamedev/1226199100/174-
}

STGのシーン遷移は超単純だからコードにベタ書きしたほうが分かりやすかったりする
RPGみたいに複雑なシーン遷移をするならSCENEのツリーとかSCENEのグラフが要るね
こういうのは可視化・エディットできるGUIツールがあると便利だね。ツクール大好き

>>172-176
>どこの院かバレる
(・∀・)病院ダロ。カエレ

182 :名前は開発中のものです。:2008/12/11(木) 20:22:48 ID:1D8jgOIG
>>181
ほぅほぅほぅ ホーホケキョ
リンク先はオブジェクト指向ですねぇ
しかし、私がSTGの状態遷移に一番ややこしいStrategy Patternを使っていたのは内緒だ

183 :名前は開発中のものです。:2008/12/11(木) 20:32:19 ID:1D8jgOIG
>>181
しかしですね
結局 switch文使ってるじゃないですか
これが気に入らなくてねストラテジーパターンに走ったんですが、
さらに汎用性のある基本オブジェクトの作成、つまり基本設計ですかね
でつまづき
CGameクラス作ってシングルトンパターンは楽勝だったんですけど
テンプレートメソッドパターンがなかなかのつわものでしてね
そうこうしているうちに、ワケワカメになってしまってね
結局 デザパタ一切使わない ピュアなC/C++になってしまったんですよ
そして、人生でもつまづいてね
あーいたたた

184 :名前は開発中のものです。:2008/12/11(木) 20:46:44 ID:1D8jgOIG
で、だよ 他のスレからの引用で申し訳ないが
case TITLEOPTIONTYPE_GAMESTART:         //ゲームスタート
        try{ //STAGEEXCEPTIONTYPE_GAMEOVERという例外を投げるまでゲーム続行
          stage1->Run();stage2->Run();stage3->Run();stage4->Run();
          stage5->Run();stage6->Run();stage7->Run();stage8->Run();
          ending->Run();                     //エンディング画面再生
        }
これの
stage1->Run();
stage2->Run();
とあるが
空の処理を回すのが気に入らない

185 :名前は開発中のものです。:2008/12/11(木) 20:48:07 ID:1D8jgOIG
そんなに空の処理をするのが好きなら
Observerパターンで監視しろっつーの
と俺が言ってみるテスト















まぁ、増えるのは複雑さだけなんですけどねorz

186 :名前は開発中のものです。:2008/12/11(木) 21:02:17 ID:IWquCMNP
>>181
あ、gamemain中のgameenvだけど、これは適当にgamemainの引数でひっぱってきてね

187 :名前は開発中のものです。:2008/12/11(木) 21:08:33 ID:IWquCMNP
>>184-185
HSPerのSTGは一面から始まってプレイヤーが生残する限りエンディングまで一本道で進むよ
順次処理を静的に記述してるだけだよ

>>174のコードに空の処理なんか無いよ

188 :名前は開発中のものです。:2008/12/11(木) 21:49:08 ID:jrEtBQbk
例外を制御に使うのはいかがなものか

189 :名前は開発中のものです。:2008/12/11(木) 21:56:55 ID:1D8jgOIG
>>187
ん?
タイマーの処理が加わってないからよくわからん
もっと深く

>>188
デバックに便利
配列のアクセス違反とは一発でわかる

190 :名前は開発中のものです。:2008/12/11(木) 21:57:51 ID:1D8jgOIG
double ang;e[350];
とかいて
angle[-30];
とかアクセスしてたのよ
お分かりうふん

191 :名前は開発中のものです。:2008/12/11(木) 22:08:42 ID:ZMWk7FR2
ひとつだけ言えることがあるとすれば、キモい

192 :名前は開発中のものです。:2008/12/11(木) 22:12:17 ID:1D8jgOIG
>>191
そんなことを言いにくる
アナタの神経を疑う

193 :名前は開発中のものです。:2008/12/11(木) 22:20:10 ID:PzlRgt6s
いや、まじでキモい

194 :名前は開発中のものです。:2008/12/11(木) 22:24:20 ID:ReLxUK+G
最近ここマジキチ率高いな

195 :名前は開発中のものです。:2008/12/11(木) 22:36:56 ID:IWquCMNP
>>188
フロー制御の条件分岐に例外機構を使うのはお行儀悪い子だよね
「こんなゲームも一発クリアできないプレイヤーは想定外」
ということで例外機構を使ってみたんだ
同人活動するときは何にも考えずにゲラゲラ笑いながら遊んで作ってるんだ。しかたないね

ID:1D8jgOIGが怖いです。病院が逃げるそうなので僕も逃げます。バイバイ

196 :名前は開発中のものです。:2008/12/11(木) 22:39:55 ID:1D8jgOIG
くやしいのうwwwwwwwwくやしいのうwwwwwwwww
小学生^q^
幼稚園児
オモロー

197 :名前は開発中のものです。:2008/12/11(木) 22:46:11 ID:1D8jgOIG
反論できない
やったことがない
理解できない
   → キチガイ


   R   O   M   さ   せ   た   結   果   が   こ   れ   だ   よ   !   !   !

198 :名前は開発中のものです。:2008/12/11(木) 22:49:09 ID:1D8jgOIG
次は
「マジキチ」
で埋め尽くされます

貫太郎飴だなおまえらってw
きんもー

199 :名前は開発中のものです。:2008/12/11(木) 23:05:03 ID:qUtH+lGr
な釣
あ釣

200 :名前は開発中のものです。:2008/12/11(木) 23:06:50 ID:PzlRgt6s
そりゃ人生もつまづくわな

201 :名前は開発中のものです。:2008/12/11(木) 23:07:30 ID:qUtH+lGr
そして懲りもせずいつもの連投君に釣られる君ら

202 :名前は開発中のものです。:2008/12/11(木) 23:08:20 ID:Tl9RQtTK
シューティングゲームの作り方講座を書いていたはずなのに、
気がついたらテトリスを作ろうとしていた。
これはチャチななんとかうんたらかんたら


203 :名前は開発中のものです。:2008/12/11(木) 23:32:02 ID:66P3Ue94
よく分からんが、デザパタじゃなくてもダイアログって概念でメッセージ受け取り機構は実現できら
javaで書くと
まず
public interface messListener{
public void onMessage(ハンドル);
}で、
public abstract class dialog imprements messListener{
}こんな感じで規定クラスdialogを定義。
次にタイトル画面の実装。
public class title extends dialog{
public void onMessage(ハンドル){
タイトル画面のハンドル処理;
}}次にゲーム画面の実装。
public class game extends dialog{
public void onMessage(ハンドル){
ゲーム画面のハンドル処理;
}}
で、プログラムはこんな感じ
public class prog implements ハンドルリスナー{
private static messageListener 最上位ダイアログ;
protected void onウィンドウメッセージ(メッセージ){
最上位ダイアログ.onMessage(メッセージ);}





204 :名前は開発中のものです。:2008/12/11(木) 23:45:53 ID:66P3Ue94
続き。
画面をせんいするために、専用のコントローラーを作成する。
public interface switchCon{
public void gamestart();
public void gameover();

で、このコントローラーをさっきの に反映させて、ダイアログクラスはswitchConを持たせるようにする。
public abstract class dialog{
protected switchCon parent;
public dialog(switchCon){
parent=switchCon;
}}で、親は
public class prog implements messListener,switchCon{
private dialog title=new title(this);
private dialog game=new game(this);
public void gamestart(){
this.最上位ダイアログ=game;

public void gameover(){
this.最上位ダイアログ=title;
}}
こんな感じでswitch文を消せるぞ。

205 :名前は開発中のものです。:2008/12/12(金) 00:05:33 ID:QbHMYd89
こんなのがいるからデザインパターンヲタが嫌悪されるんだな

206 :名前は開発中のものです。:2008/12/12(金) 00:22:38 ID:VZzcTBSK
デザインパターンヲタってなんだい?

207 :名前は開発中のものです。:2008/12/12(金) 00:47:19 ID:Clw3+x9U
最近コルーチンとかファイバに感動して使いまくってる
yieldさいこー

208 :名前は開発中のものです。:2008/12/12(金) 07:35:46 ID:WDwvXEG9
オ、オ、オブジェクト指向最高ぉぉぉぉ!!!
テンプレートメソッドでジャネレータプログラミングして
ファクトリーパターンで大量生産バグも大量wwwwwwww
プロトタイプでいくらでの客ごまかせるし
デコレータで後からいくらでも追加可能なオブジェクト大量
上司に見られそうなところはストラテジーでワケワカメにして
ソースを提出したら
「君はシングルトンパターンだね」って言われたwwwwwww

209 :名前は開発中のものです。:2008/12/12(金) 07:39:51 ID:WDwvXEG9
デザインパターンなんて何年前の技術だよ
うんこもれちゃうぅぅぅぅぅ

210 :名前は開発中のものです。:2008/12/12(金) 08:29:54 ID:TDR4iWlC
うん。大丈夫。俺だけはまともだ

211 :名前は開発中のものです。:2008/12/12(金) 08:59:45 ID:7Vhx53Ep
タダシン元気だったか

212 :名前は開発中のものです。:2008/12/12(金) 10:01:07 ID:KS0mry8G
タダシンとか懐かしすぎる

213 :名前は開発中のものです。:2008/12/12(金) 11:51:40 ID:jEMz4U5E
新参で頭おかしいのが来たか年齢層が下がったか
今日びシューティングなんておっさんしか作ってないのかと思ったが
10代20代のがきんちょもつくってんのかね

214 :名前は開発中のものです。:2008/12/12(金) 13:38:31 ID:9YG19P1/
いつもの彼だろ

215 :名前は開発中のものです。:2008/12/13(土) 06:42:10 ID:/PbeHoQk
893だったか

216 :名前は開発中のものです。:2008/12/13(土) 12:14:21 ID:kDyXwhQ1
俺じゃないよ

217 :名前は開発中のものです。:2008/12/13(土) 14:52:20 ID:/PbeHoQk
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Runaway();

218 :名前は開発中のものです。:2008/12/13(土) 15:50:33 ID:/PbeHoQk
グラフィッカー来たらと思ったら
自称プログラマの揚げ足取り野郎だった
ちょ〜っと辛口コメントしただけで消えやがった
士ね

219 :名前は開発中のものです。:2008/12/13(土) 16:08:01 ID:DkCmDL9z
何の話だよ

220 :名前は開発中のものです。:2008/12/13(土) 16:47:13 ID:/PbeHoQk
>>219
http://jun.2chan.net:81/b/src/1229154418067.jpg

221 :名前は開発中のものです。:2008/12/13(土) 17:51:58 ID:nI3aVzuF
そろそろメモリアロケータの話をするべきだ

222 :名前は開発中のものです。:2008/12/13(土) 17:57:14 ID:2kHwy9mM
>>220
何の話だ

223 :名前は開発中のものです。:2008/12/13(土) 18:40:29 ID:bE3YPBnE
いつものお話です

224 :名前は開発中のものです。:2008/12/14(日) 16:47:21 ID:nnJ/0oba
javascriptでSTGを作ろうとしたのだが、やっぱり重い(´・ω・`)
すんごい作りかけだが、ちょっと晒してみます。
http://www.csync.net/service/file/view.cgi?id=1229240355 (解凍:starman)

225 :名前は開発中のものです。:2008/12/14(日) 19:08:12 ID:zWg8gBHj
頑張ってんなおいw

226 :名前は開発中のものです。:2008/12/15(月) 00:56:14 ID:nHX6b6vV
描画についての質問。
弾幕を描画するときって基本的にどうやるべき?
おいらの場合はbulletクラスにdrawableインターフェイスくっつけてるけど、これって本来正しくないよな?
一般的にはどうやるんだべさな。一番効率が良い方法とか教えてけれ。

227 : ◆PSPI/D/D3o :2008/12/15(月) 01:38:17 ID:VhKuPzAs
クラスがよくわからん俺はループで弾の構造体一個一個調べて存在する奴を表示してる

228 :名前は開発中のものです。:2008/12/15(月) 09:30:22 ID:fyQ9eFTJ
俺の場合、描画する際には弾幕かどうか関係ない。
画像をもつオブジェクトはWindowオブジェクトに描画オブジェクトを登録して
Windowオブジェクトは定期的に登録された描画オブジェクトを全部描画してる。


229 :名前は開発中のものです。:2008/12/15(月) 20:19:12 ID:1MzMGffR
>>226
俺も似たような方法かな。
drawableインターフェースのリストを表示優先度別に持って
順番に描画処理を実行。
ちなみに俺も弾幕かどうかは区別していない。

230 :名前は開発中のものです。:2008/12/16(火) 06:57:54 ID:THHYYLqB
オブジェクトのソートとかを考えたほうがいいな
同じ画像はまとめて描画するのが基本だから
もうやってるならそれでいいが

231 :名前は開発中のものです。:2008/12/16(火) 21:36:45 ID:xxIGjXbe
60fpsでソートw
でも、実際のところコスト的にはどうなんだろう。
Z軸をソートすることで表示されなくなるスプライトは描画しないようにしようって話だよな?
でも、そのためにNxとか計算してたら確実に赤字のような。
何fpsごとに、とかやっても意味のない処理だし。

232 :名前は開発中のものです。:2008/12/16(火) 23:29:56 ID:aSVdIEfv
>>224
矢印キーを押すとブラウザのスクロールバーが動いちゃうぜ。
うちのノートパソコンなら問題なく60で動いた。

233 :名前は開発中のものです。:2008/12/16(火) 23:52:42 ID:aSVdIEfv
ってこっちのレスはおまけだ

みんなソートとか速度とか考えるよなー
うちはどうやって動作処理を記述すれば上手くいくのかさっぱり過ぎて結局強引なコードを書くんだよな。

最近接に対しての誘導とか、インスタンスのリストが必要だから管理クラスと相互参照にしちゃうし、
プレイヤーの情報表示とか、そのためのインスタンスを作ってプレイヤーのインスタンスを保持させてるし、
なーんか後で修正しようがない感じになってしまう。
本とここら辺の上手い管理方法ってないのかね?

>>231
半透明使うとZソートしないと変になっちゃうぜ








234 :名前は開発中のものです。:2008/12/17(水) 01:24:40 ID:0Pd0RxhV
>>230が言うソートって、使う画像ごとにソートして
キャッシュのヒット率を上げましょうって意味でしょ。

と、2D前提の俺は思った。

235 :名前は開発中のものです。:2008/12/17(水) 20:44:43 ID:Yu9nmAqi
>>231
> 60fpsでソートw
> でも、実際のところコスト的にはどうなんだろう。

wとかどうなんだろうもへったくれも何も
サクっと実験すればすぐ結論は出ると思うんだけど
なんでやんないんだろう。HSPerな俺でも変だと思う

描画するものをrand()とかで適当にシャッフルして
つまりマテリアルの順番をバラバラにして
つまりテクスチャもレンダリングステートもシェーダも何もかもバラバラにして
描画するだけ。ね、簡単でしょ

> Z軸をソートすることで表示されなくなるスプライトは描画しないようにしようって話だよな?

>>230はそんなこと書いてないと思うんだよね

236 :名前は開発中のものです。:2008/12/17(水) 21:13:03 ID:Kx3CWuJW
ソートなのになんでバラすんだ?

237 :名前は開発中のものです。:2008/12/17(水) 21:39:24 ID:Yu9nmAqi
マテリアルソートする意味が分かると思うの

238 :名前は開発中のものです。:2008/12/17(水) 21:41:47 ID:Yu9nmAqi
>つまりテクスチャもレンダリングステートもシェーダも何もかもバラバラにして

これ順番をバラバラにするってことね。ステート切り替えしまくった場合と
ある程度まとめた場合の比較をすればマテリアルソートすることの
意味が理解できると思うの

239 :名前は開発中のものです。:2008/12/17(水) 22:37:27 ID:iw2fEQZz
>>235
ロクにベンチマークテストもしないで根拠レスなことグダグダ言う奴っているよな
先入観だけで意味の無い最適化したり逆に必要なところで何もしなかったり



240 :名前は開発中のものです。:2008/12/17(水) 23:05:17 ID:Z0+SOnp7
>先入観だけで意味の無い最適化したり逆に必要なところで何もしなかったり

俺の事だな。

241 :名前は開発中のものです。:2008/12/17(水) 23:26:50 ID:jSJuJ/S7
>>237-238
YUTORI最下層シミュレータにかけたところ以下のような出力結果が出たぜー( ・∀ ・)♪

  「なんでやんないんだろう」
        ↓
  [YUTORI最下層変換]
        ↓
  「なんでソートしないんだろう」

「なんで実験しないんだろう」にはならないらしいぜ。YUTORI最下層ってすごいだろ。配慮しろよ

242 :名前は開発中のものです。:2008/12/17(水) 23:32:50 ID:Kx3CWuJW
ソートありとなしを比較するのにバラバラにする必要はないだろ

243 :名前は開発中のものです。:2008/12/17(水) 23:38:16 ID:jSJuJ/S7
タ○○○○○ムとか使ってる知能障害プログラマのコードを
簡易にエミュレートするには有効だと思うよ

244 :名前は開発中のものです。:2008/12/17(水) 23:42:27 ID:Yu9nmAqi
嫌な予感がするので僕は逃げます。バイバイ

245 :名前は開発中のものです。:2008/12/17(水) 23:43:48 ID:Kx3CWuJW
言いたいことが分らない
ていうかSTGで描画するのにソートって意味あるのか?

246 :名前は開発中のものです。:2008/12/17(水) 23:51:53 ID:j5po2Z2/
タムリンビーム?

247 :名前は開発中のものです。:2008/12/17(水) 23:52:27 ID:IrN9kYXf
いつまでやってんのお前ら

248 :名前は開発中のものです。:2008/12/18(木) 00:03:27 ID:ngcbnL8q
まぁ ID:xxIGjXbe = ID:Kx3CWuJW なわけだが。臭いで分かるだろ
今日も彼は元気ってことだ。よかったなお前ら

249 :名前は開発中のものです。:2008/12/18(木) 05:57:52 ID:cp3Q3c0h
祖母「地獄巡りの片道切符は貴様らの命で買ってもらおう」

250 :名前は開発中のものです。:2008/12/18(木) 05:58:30 ID:cp3Q3c0h
誤爆 祖母ろスレと間違えた

251 :名前は開発中のものです。:2008/12/18(木) 06:26:04 ID:3f8yaJHa
なんだそれw

252 :名前は開発中のものです。:2008/12/18(木) 13:02:45 ID:RBRbpCNL
なんか家庭問題平和的解決STGとかそんなのを連想したがこれ以上はやめておく

253 :名前は開発中のものです。:2008/12/18(木) 16:03:34 ID:jTA930xc
文化祭の出し物に家族計画STGというものを展示したら三者面談
大人って汚いよなーっておもた

254 :名前は開発中のものです。:2008/12/18(木) 16:15:20 ID:6J6Zh9g6
どっかで聞いたなその話ww

255 :名前は開発中のものです。:2008/12/18(木) 21:45:07 ID:aoTycjO5
Direct3D直叩きで作ってるやつ減ってるなあ
もうちょっと勉強しようぜ

256 :名前は開発中のものです。:2008/12/18(木) 22:05:15 ID:N/4dA9YH
それを突き詰めるとカーネルから作れという話になるわけだが
システム弄りに熱を上げるよりゲームに精を出そうぜ

257 :名前は開発中のものです。:2008/12/19(金) 00:11:23 ID:1hgxtZAX
HSP直叩きで作ってるやつ減ってるなあ
みんなもうちょっと玉葱の勉強しようぜ!



ハードウェア⇔デバイスドライバ⇔ダイレクトサンディー⇔アプリ  (だいたいあってる)
GPUを隠蔽したインターフェース相手に直叩きって言えるなら
僕だって毎晩E3Dを直叩きしてるんだからねってGDAlgorithms-listで叫んでいいはず

哂われたら>>255の所為

258 :名前は開発中のものです。:2008/12/19(金) 00:15:14 ID:nHSI00R2
自分のパソコンでしか動かないゲーム作ってもなーってのはあるな。
ハードに近付けば近付くほど、その傾向が高くなる。

259 :名前は開発中のものです。:2008/12/19(金) 07:59:20 ID:H3IwsSUC
dirfct3Dに手を出そうとしてるがマイクロソフト公式解説の時点で既にアバババ゙なレベルで難解ねコレ

260 :名前は開発中のものです。:2008/12/19(金) 10:39:32 ID:5kd3ludm
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=dirfct3D&num=50

261 :名前は開発中のものです。:2008/12/20(土) 12:41:00 ID:L1HxTdft
DrawIndexedPrimitiveUP最強伝説

262 :名前は開発中のものです。:2008/12/20(土) 12:45:27 ID:YE9FCgVX
OGREとIrrlihtという3Dエンジンがあってだな

263 :名前は開発中のものです。:2008/12/28(日) 02:55:22 ID:fJQKz6W8
>>259
いきなり公式解説はきつくない?
DirectXの本でCDつきのを1冊買ってきてサンプルいじってある程度
理解してから公式みるとかをお勧めする

264 :名前は開発中のものです。:2008/12/28(日) 08:14:01 ID:YXHvuVkA
>>263
公式は絶望的なのでそうするよ!

265 :名前は開発中のものです。:2009/01/01(木) 17:24:36 ID:ltM6YgTq
“砂漠の女王”をテーマにした質素な衣装 
http://contents.oricon.co.jp/upimg/news/20081230/61682_200812300341752001230620377c.jpg
http://contents.oricon.co.jp/upimg/news/20081230/61682_200812300297266001230620377c.jpg
http://contents.oricon.co.jp/upimg/news/20081230/61682_200812300349984001230620377c.jpg

266 :名前は開発中のものです。:2009/01/01(木) 23:19:12 ID:FIs8DZhM
どこのラスボスですか

267 :名前は開発中のものです。:2009/01/01(木) 23:28:42 ID:6YUsPd07
>266
んー…… ぱろでぃうす?

268 :名前は開発中のものです。:2009/01/02(金) 00:05:09 ID:1UwFDDbr
ガルーダIIとか

269 :名前は開発中のものです。:2009/01/02(金) 04:07:59 ID:qbyqKLbA
こんな動画があったりする。

【生かして】もし弾幕STGのラスボスが小林幸子だったら【帰さん】
http://www.nicovideo.jp/watch/sm5646733


270 :名前は開発中のものです。:2009/01/02(金) 04:20:29 ID:TfxriBg+
鼻水噴射したw

271 :名前は開発中のものです。:2009/01/02(金) 17:06:49 ID:2fVT2icX
>>256
キモさから見てR-TYPEあたりかな

272 :名前は開発中のものです。:2009/01/03(土) 20:02:39 ID:2WWeLwqZ
東方風神録みたいな円形のボムってどう実装すればいいんだ?

273 :名前は開発中のものです。:2009/01/03(土) 20:03:55 ID:u8o0v/Vp
気にせず矩形判定

274 :名前は開発中のものです。:2009/01/03(土) 20:30:08 ID:m8+AG4EB
円同士なら距離で判定

275 :名前は開発中のものです。:2009/01/03(土) 20:42:50 ID:2WWeLwqZ
>>273-274
あーいやそれはわかるんだがあんな感じのエフェクトって入れるの忘れてた

276 :名前は開発中のものです。:2009/01/03(土) 23:36:52 ID:WL8Ra5wy
PrimitiveType.TriangleFanを使ったらできないかな。

277 :名前は開発中のものです。:2009/01/04(日) 00:55:41 ID:iRIf9nnw
見たこと無いから間違ってるかも知れんが
円の画像を拡大縮小すればいいんでねぇの?

278 :名前は開発中のものです。:2009/01/04(日) 01:12:01 ID:286vebya
>>276
ポリゴンそのものを円形にする必要があるの?

279 :名前は開発中のものです。:2009/01/04(日) 02:37:24 ID:mE4zeWub
どんな絵か判らんが普通に円の絵を板ポリに貼るだけじゃないのか

280 :名前は開発中のものです。:2009/01/04(日) 04:49:12 ID:342MFaiV
>>175
見た感じ、紫、白ともに画像は同一。
輪自体はかなり高速に回転してるけどグラフィック自体はアニメーションしてないっぽい。
白い輪は途中で2枚の回転方向が異なる円形画像が重なるようにしてるっぽい。
輪の線の太さは変わらず半径だけ増えてるから変形は単純な拡大縮小ではないけど、多分スケール操作か連番画像。

281 :名前は開発中のものです。:2009/01/04(日) 04:52:09 ID:342MFaiV
安価ミス>>275

282 :名前は開発中のものです。:2009/01/04(日) 07:07:50 ID:A48anJ+N
>>280
んじゃ最終的な大きさになるテクスチャを縮小した状態から大きくしてなおかつ
1枚絵を高速回転してるわけか

283 :名前は開発中のものです。:2009/01/04(日) 11:54:26 ID:626OHoem
>輪の線の太さは変わらず半径だけ増えてるから変形は単純な拡大縮小ではないけど、
単純に輪郭画像と輪郭の太さ分小さい画像の重ね合わせじゃないかね?
単純に重ね合わせると違和感があるのでアルファブレンドなり加算合成なり・・・
実物見たこと無いから(略


284 :名前は開発中のものです。:2009/01/04(日) 11:58:07 ID:YqDPoRid
>>282
素材抜き出したらそれっぽいのが1つあったが真っすぐな線だった。
あれを円状にしてるのかな

285 :名前は開発中のものです。:2009/01/04(日) 19:39:03 ID:342MFaiV
ってことは直交座標から極座標に変換してるでFAっぽいね
昨日(というか今日)似たような画像を作ろうと試したときレタッチソフトのフィルタでXYRT変換使ったから、
プログラム上でそれが出来ればわざわざ円形の画像を使う必要もないってことか

286 :名前は開発中のものです。:2009/01/04(日) 19:50:08 ID:rNc3nTBq
そこでTriangleFanをだな。

287 :名前は開発中のものです。:2009/01/05(月) 11:31:40 ID:mG4OZtVg
>>285
kwsk

288 :名前は開発中のものです。:2009/01/05(月) 17:30:37 ID:Lp4/o7ME
オブジェクト指向で作っていたが
構造体で作った方が牢固で、保守的で、頑丈なものができそうな気がするんだが
どうだろうか?

289 : ◆Fp.xSEIREI :2009/01/05(月) 17:36:20 ID:61TWp3Uz
全部構造体で作ってる俺が通るぜヒャッハー

290 :名前は開発中のものです。:2009/01/05(月) 20:13:08 ID:NpAsIYET
>>289
通るだけかよw
所感も書いてけYO

291 : ◆Fp.xSEIREI :2009/01/05(月) 20:21:20 ID:61TWp3Uz
おぶじぇくと嗜好とかクラスとかわけわからんが構造体だけで何も困ってないぜ(・∀・)

でおk?

292 :名前は開発中のものです。:2009/01/05(月) 20:32:37 ID:UP4QdJRg
個人で作るなら(プログラマが1人なら)オブジェクト指向である必然性は無い。

293 :名前は開発中のものです。:2009/01/05(月) 20:45:15 ID:Q9h5Nd6t
オブジェクト指向と構造体は並べて比較できるものではないと思うが。

294 :名前は開発中のものです。:2009/01/05(月) 21:01:01 ID:Lp4/o7ME
そうなのか?
やはり難しいことを先にやっていたようだ
どおりで完成しないわけだ
構造体楽だね♪

295 :名前は開発中のものです。:2009/01/06(火) 02:12:01 ID:BIH/S8bQ
グラディウスXの芋ステージを真似てみようと勢いで作ってみたが、
判定処理が複雑になりすぎ+処理重すぎでまともに動かないorz

・岩1つ1つを背景と判定するために座標変換
・プレイヤーやショット、空中の敵も背景との判定の為に座標変換

スムーズにはいかないな…。

296 :名前は開発中のものです。:2009/01/06(火) 03:03:01 ID:lygLfbkU
>>287
詳しく・・・といわれても。
適当にぎざぎざ引いた線を左右が循環するようにして、そのあとフィルタを使用しただけだが。
photoshop(elementだが・・・)でやった。
大抵のレタッチソフトは座標変換操作するフィルタはデフォであるか、プラグインがあるんでない?

直交座標を極座標に変形するってことに対してなら、
元のY軸の値を原点からの距離、元のX軸の値を方向にするような変換でしょ。
ぐぐって上に出てきたページの真ん中あたりに直感的に理解できる図がある。
ttp://pkunto.akuma.to/atelier/filter/no1.htm

297 :名前は開発中のものです。:2009/01/06(火) 08:30:15 ID:3goLI8kZ
>>291
おk
俺もそーしてみるかな

298 :名前は開発中のものです。:2009/01/06(火) 09:00:46 ID:xH3medab
ま〜わる〜ま〜わる〜よ〜
ソースはまわる〜
コメントーアウトーくりかえ〜し
今日は消された コメント達も
いずれコミットされて動きだ〜すよ〜

299 :名前は開発中のものです。:2009/01/07(水) 00:37:24 ID:dIlqsnyP
>>295
>座標変換

座標の整数化とビット右シフトはやってんの?
当たり判定グリッドの単位マス当たりドット数を、2の倍数にしておく必要があるが。

300 :名前は開発中のものです。:2009/01/07(水) 01:56:25 ID:xahHjft8
>>295
参考になりそう?
ttp://marupeke296.com/COLSmp_2D_No9_QuadTree_Imp.html

座標変換なんて一つのオブジェクトに1回で済むんだから
まず考えるのはあたり判定回数を減らすことだと思う。

>>299のはもっとシビアに最適化しなきゃいけない場合にするものだと思う。

301 :名前は開発中のものです。:2009/01/07(水) 01:56:40 ID:RoDN07wS
>>299
いや、普通にfloatで行列使ってやっているw
岩は丸判定、背景はあたり判定用のポリゴンでクソ真面目に計算しているから
処理が重いのは当然かww
バスクリンステージも後々再現してみようと思ってたので背景に判定ポリゴン使って、
カメラのZ軸回転にも対応できる形にしていったつもりだが、
処理の高速化とか全く考えていなかったorz

302 :名前は開発中のものです。:2009/01/08(木) 17:20:35 ID:LE+aMQpC
>>299
それ2の倍数ではなく2の冪乗だと思う


303 :299:2009/01/08(木) 20:43:25 ID:FVMUmd1O
>>302
ううっ、恥ずかしい。累乗だった。

>>301
ひょっとしてレイ使って当たり判定やってんの?

304 :299:2009/01/08(木) 21:10:15 ID:FVMUmd1O
つーか、日本語不自由でもPC言語不自由じゃなかったら問題解決だべ。
ゴラアヽ(`Д´)ノカカッテコイヤ!

305 :名前は開発中のものです。:2009/01/08(木) 23:40:32 ID:hjhgOuWK
>>303
まぁそんな感じだな。
判定用ポリゴンもできる限り少なくしたつもりだが、
そもそもグラXとかの判定って全く違う考え方でやっているとしか思えないな…
あれだけの物量の判定やっているんだから何かごまかしているとは思うんだが、
簡易的な処理方法が俺には思いつかないorz
座標変換処理だけでかなりの処理負荷だしなぁ。

306 :名前は開発中のものです。:2009/01/09(金) 08:05:19 ID:5mIhsbR7
>>304
A = {a | a∈2^n, ∀n∈N}
B = {b | b∈2n, ∀n∈N}

この2つはまったく別の集合だよな
数学の言葉で記述すればいいんだから、日本語が不自由ってのは言い訳にできない

307 :名前は開発中のものです。:2009/01/09(金) 10:24:29 ID:yPsQiCUo
>>306
なんか、顔文字に見えるのは俺だけか
ニダって感じのやつが手を横に伸ばしてるみたいな

308 :名前は開発中のものです。:2009/01/09(金) 21:32:08 ID:qlgyo294
>>307
大丈夫
俺もだ

309 :299:2009/01/09(金) 22:24:08 ID:jRkwlo0g
>>306
横で、お主が昔飼っていたペットが「昔この2本足に虐待されていた!」と憤っているぞ。

>2つはまったく別の集合    ('ー`)フムフム
> ↓
>数学の言葉で記述すればいい  ('ー`)フムフム
> ↓
> ↓
> ↓
>∴日本語が不自由ってのは言い訳にできない  ('A`)???

('A`)・・・

('∀`)!!!→日本語不自由でも○○言語不自由じゃなかったら問題解決

310 :名前は開発中のものです。:2009/01/11(日) 17:19:25 ID:7Z5jM2VY
>>308
あるよ。
以上。
↓次の方どうぞ

311 :名前は開発中のものです。:2009/01/11(日) 18:55:37 ID:7t9eOtH/
ひつぜん-せい 0 【必然性】
(1)そうなる以外にありえないこと。

312 :名前は開発中のものです。:2009/01/11(日) 23:38:57 ID:shDRgwES
東方のDirect3Dの描画範囲って本当に640×480?
どうやっても1024×768のディスプレイであそこまで綺麗に画像が映らない・・・
何か特別なパラメータの設定でもあるのかな?
誰か情報あったらきぼん。

313 :名前は開発中のものです。:2009/01/12(月) 00:19:51 ID:GIadNQrK
>>312
文章の意味がよく分からんが

東方よりも大きい解像度で自作ゲームを作ってるけど
あそこまで画面を綺麗にできないってこと?

それでも綺麗の定義がよく分からけど

314 :名前は開発中のものです。:2009/01/12(月) 01:00:55 ID:1n7V9OY/
いえ、Direct3Dの描画サイズは640×480で作っています。
それを1024×768のフルスクリーンで表示しても
同じ640×480の東方に対して画像などの粗が目立つ気がするんです。
東方も若干ぼやけてますがその1.5倍くらいぼやけて見えるんですよね、、、

315 :名前は開発中のものです。:2009/01/12(月) 01:13:35 ID:kLt2gAb1
じゃあ、東方はビットマップとかをあらかじめ大きめに作っておいて、
それを縮小表示してるのかもね。

解像度を小さくする理由としては、動作速度を稼ぐためとかが挙げられる

316 :名前は開発中のものです。:2009/01/12(月) 01:14:41 ID:kLt2gAb1
>動作速度を稼ぐ
俺のことなんですけどね。

317 :名前は開発中のものです。:2009/01/12(月) 01:51:27 ID:GIadNQrK
グラボのアンチエイリアス機能が画面全体に効いてたりして

318 :名前は開発中のものです。:2009/01/12(月) 09:43:09 ID:8kpUJMIm
開発中はグラボの機能カットするなんて基本…>312はやってないかもしれんな

319 :名前は開発中のものです。:2009/01/12(月) 20:05:51 ID:uZxavI2u
ち、違う!俺はやってない!

320 :名前は開発中のものです。:2009/01/13(火) 18:44:36 ID:nk2yEPDW
話は署で聞くから

321 :名前は開発中のものです。:2009/01/14(水) 08:47:38 ID:t2+2vepU
>>319 が「やれ」とほのめかしたんです(TT)

322 :名前は開発中のものです。:2009/01/14(水) 11:58:08 ID:FlGhDI92
グラボの機能カットしない男のひとって…

323 :名前は開発中のものです。:2009/01/14(水) 12:26:04 ID:t2+2vepU
私のグラボは最新です!!

324 :名前は開発中のものです。:2009/01/14(水) 21:03:42 ID:Z9wb8pAX
ちょっと質問。
C/C++系などメモリ破棄を自前でやる言語使ってる人で、
メモリ管理ってどうしてる?
・デフォルトのmalloc/newに丸投げ
・配列+空きインデックス管理
・大き目の領域を取ってその中を自前で管理
・その他(併用とか)

最初自分で工夫しようと思ったけど、デフォルトのnewでもそんなに困らん気がしてきた。


325 :名前は開発中のものです。:2009/01/14(水) 21:33:56 ID:lgzfaO0G
困ったら別の方法を模索すればいいんじゃね?

326 :名前は開発中のものです。:2009/01/14(水) 21:51:51 ID:yw67XO87
new使ってるけど、
newで作ったものは全部プールしておいて後で使いまわすからという理由で
どうにもdeleteしている形跡が無いという
不思議な仕様になった。

もったいない精神は偉大である

327 :名前は開発中のものです。:2009/01/14(水) 23:32:25 ID:DxGJXt39
つスマートポインタ

328 :名前は開発中のものです。:2009/01/15(木) 01:55:30 ID:JeQw1zKV
>>324
C++ならnewで作っておいて、パフォーマンスに問題があれば
newを自分で定義すりゃいいんだよ。
グローバルなnewもクラス固有のnewも、自分で再定義できる。

329 :名前は開発中のものです。:2009/01/22(木) 01:33:23 ID:3/DQX7/Y
ふつーに初期処理でnewして、ふつーに終了処理でdeleteするだけっすよ
ゲーム中では絶対new/deleteしない。あらかじめコンテナにプールしとく

330 :名前は開発中のものです。:2009/01/28(水) 17:57:25 ID:5+1qMjEp
>>306
>A = {a | a∈2^n, ∀n∈N}
>B = {b | b∈2n, ∀n∈N}
数学科の俺から見ると、このA,Bは数学の言葉としては全く意味が通らない。
おそらく、2のベキ乗全体の集合をA, 2の倍数全体の集合をBと書いた
つもりなのだろうが、全然そうなっていない。

「a∈2^n」は「aは2^nという集合の元である」という意味であり、
「b∈2n」は「bは2nという集合の元である」という意味になる。
この言い回しは意味不明。2^nも2nも、集合ではなく自然数だから。
ついでに、「∀n∈N」の部分もおかしい。なんで∀なの?∃だろ?
正しくはこうだ。
A={a|a=2^n,∃n∈N}
B={b|b=2n,∃n∈N}

>数学の言葉で記述すればいいんだから、日本語が不自由ってのは言い訳にできない
数学の言葉に不自由な輩がそんなこと言ってもな。

331 :名前は開発中のものです。:2009/01/28(水) 19:36:50 ID:aHGsam3F
何を言ってるのか判りません(*´∀`)

332 :名前は開発中のものです。:2009/01/28(水) 19:53:02 ID:JDa3+sU9
>>330
うむ、分かるぜ。俺も数学科なので。

333 :名前は開発中のものです。:2009/01/28(水) 20:17:07 ID:jU6T6L7v
せっかく数学に長けているのなら
>おそらく、2のベキ乗全体の集合をA, 2の倍数全体の集合をBと
の時点で止めて間違いを訂正をするだけにすればよかったのにな
数学科「だから」意味が通らないなんて明らかにおかしいだろう

334 :名前は開発中のものです。:2009/01/28(水) 20:26:02 ID:5+1qMjEp
>>333
何が言いたいのか分からん。

>の時点で止めて間違いを訂正をするだけにすればよかったのにな
330は まさに「訂正するだけ」にしているのだが。

>数学科「だから」意味が通らないなんて明らかにおかしいだろう
何が言いたいのか不明。
数学科だから意味が通らないのではなく、
「数学の言葉としては意味が通らない」と言っている。

335 :名前は開発中のものです。:2009/01/28(水) 20:45:23 ID:aHGsam3F
理屈っぽい奴だのう…

336 :名前は開発中のものです。:2009/01/28(水) 20:58:47 ID:jU6T6L7v
>>334
簡潔にまとめるなら「変に煽るな」だな
不明不明連呼したり最後に煽ったりしなくてもいいだろってことだよ

337 :名前は開発中のものです。:2009/01/28(水) 21:04:18 ID:fzZ5GsXa
Cライクに書いたほうがここのやつらは理解できると思うぞ

338 :名前は開発中のものです。:2009/01/28(水) 21:25:20 ID:5+1qMjEp
>>336
そうだな。最後の一文は無い方がいいな。スマン。

339 :名前は開発中のものです。:2009/01/28(水) 22:35:15 ID:S/z1HGjh
理屈っぽくなくちゃ数学科ではやってられないんじゃね?
(情報科もたいがいだが)

340 :名前は開発中のものです。:2009/01/29(木) 06:36:45 ID:GL+e0Tao
ああ、∀ がどうしても顔文字の一部分にしか映らない・・・

341 :名前は開発中のものです。:2009/01/29(木) 07:39:59 ID:HssP4OCR
マタリいこうぜ

342 :名前は開発中のものです。:2009/01/29(木) 21:04:30 ID:tEunSzsz
そうそう

343 :名前は開発中のものです。:2009/01/30(金) 18:01:38 ID:TG53Q3u1
現在開発中なのですが オブジェクト指向でいくか構造体でいくかで悩んでいます

オブジェクト指向
・ソースの量が増え、複雑になる
・再利用しやすい

構造体
・ソースが読みやすい
・エラーの発見が遅れる

といった点がありますが他の方の意見も聞きたいです
ちなみにひとりでの開発となります

344 :名前は開発中のものです。:2009/01/30(金) 19:16:23 ID:Wfa7Ajy1
オブジェクト指向だからソースの量が増えるなんてことは無いし、
また再利用しやすいなんてことも無い。再利用しやすいのならソースの量は減るはず。

自分のスキルにあわせて作りゃいいんじゃないの。

345 :名前は開発中のものです。:2009/01/30(金) 20:09:26 ID:h1LyQerr
例えば、ライフゲームの1セル1セルをオブジェクトにしたら、只の馬鹿だろうな。


結局、オブジェクト指向で造るのだが。
 画面上の敵弾の配列を持ったオブジェクトとか考えて、
この配列に対して、前進・衝突と描画とを一致させる。
衝突したら、イベントを爆発エフェクトのマネージャーに渡す。

これを継承して誘導弾の配列を持ったオブジェクトなんかも造れる。

346 :名前は開発中のものです。:2009/01/30(金) 21:07:07 ID:rGGs7k+/
馬鹿と言われた気がして来ました

347 :名前は開発中のものです。:2009/01/30(金) 22:13:01 ID:h1LyQerr
俺だけじゃなくて良かったよ。

348 :名前は開発中のものです。:2009/01/31(土) 00:53:17 ID:chB/xLS8
漫才自重ww

349 :名前は開発中のものです。:2009/01/31(土) 02:34:13 ID:reoFZLyJ
>>345
くわしく

350 :名前は開発中のものです。:2009/01/31(土) 12:47:05 ID:o/pl2w7I
>>343
まずは色々作ってみたほうがいいんじゃね?

351 :名前は開発中のものです。:2009/02/01(日) 00:23:50 ID:RhyejPYt
過去すれ見たんだけど
超連射の効果音って勝手にパクっていいの?

352 :名前は開発中のものです。:2009/02/01(日) 00:29:33 ID:7hOuLO4j
何言ってんの?

353 :名前は開発中のものです。:2009/02/01(日) 00:58:38 ID:HD8VEBR/
久々に来てみたらなんだ
数学厨の亀レス煽りとライフゲーム漫才だけかよ

354 :名前は開発中のものです。:2009/02/03(火) 19:11:55 ID:QCnjXzK6
全ステージ全オブジェクトの画像をゲーム初めによみこんだらまずい?
どれくらいまでなら大丈夫?

355 :名前は開発中のものです。:2009/02/03(火) 20:09:33 ID:jxpi8Mbc
VRAMから逆算するか実際に実験してみろとしか

356 :名前は開発中のものです。:2009/02/06(金) 21:26:38 ID:UrMJj4p/
オブジェクト指向だとソースの量が増え
クラスなど管理することが増えるので
手間がかかるし、覚えておくのも大変で、後から追加するときなども
いちいち解析しないと追加できないので、そこで悩んでいる

そこで構造体で関数と構造体だけにし、クラスを排除し、簡素化し、楽にゲーム製作にいどもとしているんだが
どうだろうか?

357 :名前は開発中のものです。:2009/02/06(金) 21:38:38 ID:H/Ui7lv7
関数型言語だな

358 :名前は開発中のものです。:2009/02/06(金) 21:53:35 ID:KL5bquCP
いいんじゃね?
メンテのしやすさで俺は構造体使ってるよ
今の時代パフォーマンスなんてそれほど変わらないんだし
自分が見やすいかどうかが最重要

359 :名前は開発中のものです。:2009/02/06(金) 22:18:14 ID:jk9lWcsB
適材適所で使い分けられたら良いと思う

360 :名前は開発中のものです。:2009/02/06(金) 23:43:11 ID:27IGqo7d
>>356

C++ vs 純粋C

ということかな?

361 :名前は開発中のものです。:2009/02/06(金) 23:54:10 ID:TAltxXAk
というか>>356がオブジェクト指向を理解していないだけな気が。

362 :名前は開発中のものです。:2009/02/07(土) 00:02:41 ID:PRstJ7Nj
プログラムはスクリプト読み込めるように作っとけば適当でよくね?
再利用とか考えるより、効率よくステージを作る方法考えたほうがいいよ

プログラムのバグ潰しはモチベーション下がるから
ソースコードあんまいじらない仕組みを初めに一気に作るべし

363 :名前は開発中のものです。:2009/02/07(土) 00:12:07 ID:qvO9PNvj
>>362
>効率よくステージを作る方法考えたほうがいいよ
同意。

しかし、
気の利いたギミックの汎用的量産フレームワークの発想に取り憑かれると、
いかんともしがたくならね?

364 :名前は開発中のものです。:2009/02/07(土) 08:53:56 ID:7s0KpNz2
>効率よくステージを作る方法考えたほうがいいよ
ステージ構成やプログラム設計をきちんとやらないと破綻するよね?
そこで どの方法がベストなのか悩んでいるんだが

365 :名前は開発中のものです。:2009/02/07(土) 12:55:48 ID:TnMoqfDe
ステージエディタ最重要
作りこみの効率が大幅に変わる

366 :名前は開発中のものです。:2009/02/07(土) 16:59:02 ID:XPWWKT8C
俺も素人だから良く分からないけど、
>>356のオブジェクト指向うんぬんって話とステージ作りの効率化って関係ある話なの?
というか相反する要素じゃないと思うんだけど
あとオブジェクト指向って要は対象がその処理をやるっていうイメージでしょ
大規模になるほどオブジェクト指向でやっといた方がいいと思うんだけどどう?

詳しい人間違ってたら訂正頼む

367 :名前は開発中のものです。:2009/02/07(土) 18:31:45 ID:Sui9BRnn
>>365
うp!

368 :名前は開発中のものです。:2009/02/07(土) 18:43:37 ID:Sui9BRnn
俺は基本グローバルな構造体で、ソースコード分けるために無理やりクラス作ってる感じ
ステージ、敵、弾の定義は多分一番普通なやつ


set 敵の種類 X座標 Y座標
set 敵の種類 X座標 Y座標
sleep 待機時間
set 敵の種類 X座標 Y座標
sleep 待機時間

こんなのが書いてあるのを配列に読み込んで設置とスリープを繰り返す
敵(弾)もほぼ同じだけど移動部と攻撃部を同時に実行してく
画像ファイル名、当たり判定の大きさ等もヘッダに書いとく


//移動 (sleepの間は増加量を変えないで動き続ける)
move 角度 速度
sleep 待機時間
move 角度 速度
sleep 待機時間
・・・
//攻撃
sleep 待機時間
nway WAY数
sleep 待機時間
make 敵の種類(特殊な動きをする弾(敵)をだす)
・・・

369 :名前は開発中のものです。:2009/02/07(土) 18:54:15 ID:TD1JXYnJ
面はいいけど
敵が未だにできない。
ソースコード直。

370 :名前は開発中のものです。:2009/02/07(土) 19:05:31 ID:PPweItha
うpってこんな感じかと思った。
ttp://a-draw.com/contents/uploader2/src/up3255.jpg.html

371 :名前は開発中のものです。:2009/02/07(土) 20:18:51 ID:aITFKn0s
真面目に見ようと思ってるのに、どうしても左上の眉に目が行く

372 :名前は開発中のものです。:2009/02/07(土) 20:27:56 ID:PPweItha
ここは半角板じゃあらへんで。 つ>>371

何となくスレに出てくる単語を繋いだら、過去に弄ってた物と一致した気がした。
・ライフゲーム(1セルオブジェクト)
・スクリプト
・汎用的量産フレームワーク(意味不w)
・sleep 待機時間

373 :名前は開発中のものです。:2009/02/08(日) 10:42:03 ID:LVw4EUev
>>356
まー。継承を使わないなら無理にクラスを使う必要はないよ。
そもそも継承自体も適切な使用をしないと返って煩雑になるだけだし。
JavaやC#は構造体がなかったり、参照型の構造体が定義できなかったりするからクラスになるけど。

374 :名前は開発中のものです。:2009/02/08(日) 11:45:38 ID:x6XD/8wC
その言い方だと誤解しやすいぞw
Javaには構造体が無くて、C#には値型として構造体がある。

375 :名前は開発中のものです。:2009/02/08(日) 18:41:46 ID:ZAK2gUTB
お前らのステージエディタ見せろ

376 :名前は開発中のものです。:2009/02/08(日) 22:16:40 ID:Pn0RyiLu
まずお前が見せてくれ
話題としては興味ある

377 :名前は開発中のものです。:2009/02/08(日) 23:50:03 ID:OdbXdqqn
上の話の流れから言って、>>365ぐらいしか作って無くない?

例えば、手打ちの俺はこんなことしてる。
1.pause機能を加える。
 ・トリガーとなる時間(ステージ開始からのフレーム数なんなり)を表示。
 ・pause中だけマウスカーソルを表示させて、オブジェクトと重なったらVSのbreakが掛かるようにする。
 ・break中に、識別番号やら座標やらを取得。
2. 1.の情報を元にテキストエディタで追加。
3. Cut&Try

この作業を肩代わりしてくれるツールをGUIとかで作るの?

378 :名前は開発中のものです。:2009/02/09(月) 00:16:04 ID:UkCGE4Ld
よし、じゃあ俺のやり方を教えよう。
俺はMS-Excel2007でステージエディタを作っている。
キャラのプレビュー画像を用意して、MS-Excelの図形で表示させたりしている。

他の奴もエディタ問題の解決法教えれ。

379 :名前は開発中のものです。:2009/02/09(月) 00:27:55 ID:bnEG9l2P
今、ちょろっとやってみたんだけど、csvじゃ無いんだな。
うちがoffice 2003だからダメなのかもしれんが。

380 :名前は開発中のものです。:2009/02/09(月) 00:30:18 ID:UkCGE4Ld
>>379
csvってカンマ区切りのことだよな。
出力データの話か?
出力ファイル形式は何でもいいんじゃねえの。

381 :名前は開発中のものです。:2009/02/09(月) 00:38:41 ID:bnEG9l2P
>>出力ファイル形式は何でもいいんじゃねえの。
何でも読めるゲームアプリ作ってるなら苦労は無いわなw

csvでは、セル情報と共に画像も消えるので残念だ。
ちょっとマクロを挟んでから出力させるか、xls読ませれば良いだけで、
Excellの各種機能が使えるのは楽かも。

382 :名前は開発中のものです。:2009/02/09(月) 00:42:13 ID:DhOAYtpm
>>368みたくスクリプト使ってる人も多いんでね?俺もスクリプト派。

383 :名前は開発中のものです。:2009/02/09(月) 00:46:11 ID:UkCGE4Ld
まあ好きにやってくれ。

384 :名前は開発中のものです。:2009/02/09(月) 00:48:38 ID:UkCGE4Ld
>>381
>>383

385 :名前は開発中のものです。:2009/02/09(月) 01:07:16 ID:UkCGE4Ld
>>382
スクリプト直編集だと、位置の調整が面倒臭くね?
スクリプト編集→実行して画面確認→スクリプト修正→・・・
みたいにならね?

386 :名前は開発中のものです。:2009/02/09(月) 01:36:05 ID:yfVHrkfT
あれ?だれか来たみたいだ
こんな時間にだれだろう?

387 :377:2009/02/09(月) 16:42:57 ID:bnEG9l2P
>>スクリプト編集→実行して画面確認→スクリプト修正→・・・
ないないw

 ゲームエンジンの作り方は人それぞれだけど、
大概のエンジンでbreak中に座標書き換えたら
敵とかアイテムとかテレポートするよな?

 一時停止中に良いと思える位置まで微調整して、その座標をメモって
軽く逆算すればスクロールインする時間も求まってるよね?

388 :名前は開発中のものです。:2009/02/09(月) 18:09:48 ID:wk3y2YCS
DirectX学習中のものです。こういう初心者の質問は他でやるべきですかね。

弾の描画で困っています。
下の画像、左が自作のもので右が弾幕風のものです。
http://blog-imgs-24.fc2.com/f/r/o/frontiersman/WS000008.jpg

どちらも角度を指定して弾を発射する処理を行っているのですが、
弾幕風のように滑らかな表示ではなく、いやにガクガクした動きになってしまいます。
ドット単位でしか表示できないみたいなのですが、DrawPrimitiveで描画すること自体が間違っているのでしょうか?
それとも何らかの工夫を施しているのでしょうか?

判断に必要な情報があれば指定してください。お願いします

389 :名前は開発中のものです。:2009/02/09(月) 18:44:24 ID:bnEG9l2P
俺が生粋のDirectXユーザーじゃ無いので、余り助けにならないかも知れないが…、

画像を見た感じ、小数点以下を切り捨てて居るように見える。
DrawPrimitive()というか、固定機能で射影行列無しなら、
800x600の画面中なら、(370.5f,423.1f)なんて座標も行ける。

 次問題なのはエフェクト ステートのSetSamplerStateだが、こっか
らさきはググッた方が速いな。

390 :名前は開発中のものです。:2009/02/09(月) 18:58:43 ID:bnEG9l2P
最後、これはJavaやC++のboost.とかforeachのある環境だけなので、余計なお世話だけど、

 画面外に出た弾を消など配列の長さが変わったりすると、foreachが途中で止まって
しまい、直線に並ばない事があった。

それならこういう画像にならないハズだが。

391 :名前は開発中のものです。:2009/02/09(月) 19:45:29 ID:sWcYFprK
>>388
座標をintでやってるとかじゃない?
つーかこういうときはソースを上げたほうが回答しやすいと思うよ

392 :388:2009/02/09(月) 20:09:43 ID:wk3y2YCS
SetupTexSamplerState( g_pD3DDevice , kTSS_LINEAR );を使って
線型補間を行ったところうまくいきました。
本のサンプルでは見栄えが変わる程度にしか書いてなかったこともあって、完全に見落としてました。
皆さまありがとうございました。

393 :名前は開発中のものです。:2009/02/09(月) 20:18:57 ID:bnEG9l2P
>SetupTexSamplerState に一致する情報は見つかりませんでした。
ttp://www.google.com/search?client=opera&rls=ja&q=SetupTexSamplerState&sourceid=opera&ie=utf-8&oe=utf-8
世界は広いなw
頑張ってください。

394 :388:2009/02/09(月) 20:39:06 ID:wk3y2YCS
オリジナルの関数だった。。
g_pD3DDevice->SetSamplerState( 0 , D3DSAMP_MIPFILTER , D3DTEXF_LINEAR );
g_pD3DDevice->SetSamplerState( 0 , D3DSAMP_MAGFILTER , D3DTEXF_LINEAR );
g_pD3DDevice->SetSamplerState( 0 , D3DSAMP_MINFILTER , D3DTEXF_LINEAR );
中身はこれですね。。手つかずの部分を改造してきます

395 :名前は開発中のものです。:2009/02/09(月) 21:03:49 ID:UkCGE4Ld
>>387
必ずしも一回で位置が確定するわけじゃないだろ。
結局、
>>スクリプト編集→実行して画面確認→スクリプト修正→・・・
となると思うが?間に起動位置逆算の作業も入るのか。
俺はそういうやり方は煩雑で、成果としての遊びの質を下げると思うな。
ま、好きにやればいいと思うが。

396 :名前は開発中のものです。:2009/02/09(月) 21:10:23 ID:bnEG9l2P
>>実行して画面確認
が 一時停止とbreak中の座標書き換えで収まる。
と書いて居る。

そう読めないのがよく解らない。

397 :名前は開発中のものです。:2009/02/09(月) 21:21:41 ID:UkCGE4Ld
>>396
「一時停止とbreak中の座標書き換えで収まる」位置を、1回決めたとして、
それが最後まで修正されることはないのか?
画面見て、やっぱもうちょっとこっち寄りの方がいいなとか思ったら、
逆算して、スクリプト編集するんだろ。

398 :377:2009/02/09(月) 21:28:01 ID:bnEG9l2P
>>377
>例えば、手打ちの俺はこんなことしてる。
>1.pause機能を加える。
> ・トリガーとなる時間(ステージ開始からのフレーム数なんなり)を表示。
> ・pause中だけマウスカーソルを表示させて、オブジェクトと重なったらVSのbreakが掛かるようにする。
> ・break中に、識別番号やら座標やらを取得。

一時停止(pause)とbreakは別なの。
一時停止(pause)中にF5押す度に、ウォッチ式を書き換えた新しい位置にキャラ動かして画面に表示されるの。
何百回くりかえしても良いの。 一時停止(pause)を切るまで。

人の書いてる事を婉曲させないで。
俺も君のアプリはxlsが読めるらしいと書いたのは悪かったよ。 現実はどうしてるの?



399 :名前は開発中のものです。:2009/02/09(月) 21:29:49 ID:5etf/h8/
俺が詳しくないのもあるが、いまいち>>378のやり方が良く分からない
エクセルで敵や弾の画像を表示させてみるってこと?
そもそもステージエディタってのが具体的にどういうのを指すのか
>>368みたいなスクリプトを用意するってのなら分かるんだが

400 :379,381:2009/02/09(月) 21:36:38 ID:bnEG9l2P
>>399
俺は普通に、マップチップを並べるのと同様に、敵を並べると思った。
yのマス数が、経過時間やスクロールした距離の類を兼ねる。

まーこれでは敵が横から出られないのだが。

401 :名前は開発中のものです。:2009/02/09(月) 21:46:11 ID:UkCGE4Ld
>>398
>一時停止(pause)を切るまで。
一時停止を切った後、そして他のスクリプトを追加した後、
あらためて出現仕様の再設定とか、全くしないということか?
まあ、好きにやればいいと思うよ、と婉曲的コメント。

>>399
雑誌の攻略記事とかで、エリア全体の写真をつなげているのとかあるじゃん。
俺のはあんな感じだよ。
登録は、エリア領域中のセルを選択しておいて、マクロでスクリプト自動算出。
MS-Excelファイル自体がDBも兼ねている。
つまりエリア全体表示シートとは別に、スクリプトを蓄えておくDBシートも含んでいる。
DBシートに蓄積されたスクリプトも、マクロでファイル出力。
だいたい、こんな説明でイメージつくだろ。

402 :名前は開発中のものです。:2009/02/09(月) 22:00:33 ID:bnEG9l2P
>>377>>387が理解できたなら、それ以上でもそれ以下でもない。
pause機能を一個加えるだけで楽になる。

そして同様の使い勝手と得るステージエディタを作るコストを
考えればわりとお得だろ。

403 :名前は開発中のものです。:2009/02/09(月) 22:40:34 ID:5etf/h8/
>>401
大分分かった(と思う)
あくまで概要は、だけど

なんていうかステージエディタは用途に応じて作ればいいんじゃないかな
>>377のやり方は>>378の作るゲームのステージを作るには満足できないかもしれないけど
>>377のゲームのステージ作りでは必要な要件を全部満たしてるかもしれないし
というかまずスクリプトの設定項目自体は共有できてるのか?
「スクリプト直編集だとこうだけどエディタを作れば〜」っていう具体例があればエディタが必要な理由もわかりやすいけど

404 :名前は開発中のものです。:2009/02/10(火) 00:20:51 ID:qUfow+xK
要は効率化のためにプログラムを起動したまま作りこみたい場面を修正→リロード(繰り返し)を出来るようにしたいってことだろ?
デバッグモードとしてゲームプログラム内に組み込むか
単独機能としてエディタを作るか
ってだけだろどっちでもいいだろ

405 :名前は開発中のものです。:2009/02/10(火) 00:25:04 ID:VGS9ROFY
なんか、シューティングゲーム制作とかすらない話かもしれないけど

 SPI適性検査で、ステートマシーンの出来損ないみたいのが出題されて
それでプログラマ適正とか見るじゃん
 仮でも自称でも俺たち適正ある事になってるのだから、
スクリプト直打ちが出来てもおかしくないんじゃない?

逆に、デザイナーさんや企画屋さんに、スクリプト直打ちをやらせたら
ダメだよな
実際がどうであれ、タテマエ上は俺たちよか適正無いハズなんだからw

406 :名前は開発中のものです。:2009/02/10(火) 04:32:24 ID:NKgyET51
対人折衝能力が無い奴が大がかりなエディタを作っているとは、哀れ哀れ

407 :名前は開発中のものです。:2009/02/11(水) 13:07:05 ID:Kvh4MNNp
>>401を見た後に、
「俺はそういうやり方は煩雑で、成果としての遊びの質を下げると思うな」
を読むと、「貴方のお幸せをお祈りさせてください」とか言う奴と同じぐらいウザイ

408 :名前は開発中のものです。:2009/02/11(水) 13:57:52 ID:JH3NL0i2
>>407
ウザいってな、お前。
神経過敏になっていて受け止めるのが面倒だったやつを、軽くあしらっただけだろ。
そんなことより、お前も自分のやり方、教えたれや。

409 :名前は開発中のものです。:2009/02/11(水) 15:04:15 ID:IjqNV9Xj
俺は本体をある程度作りこんでから、それを改造してステージエディタにするな
面の全体をスクロールで見れるようにして、敵の出現位置をドラッグ&ドロップで指定とか
右クリで動作指定とかできるようにしてる。

410 :名前は開発中のものです。:2009/02/11(水) 15:12:32 ID:RH/pNw1y
俺はステージエディタを作るところまでに到ってない。
スクリプトをマクロ化したり、分割したりすることでステージをいくつかのシーンでわけて、
そのシーンごとに編集/実行/チェックしてる。

411 :名前は開発中のものです。:2009/02/11(水) 16:57:37 ID:JH3NL0i2
>>409
へー、すごいな。
マウス操作用のGUIとかも実装してるんだ。
素直に感心する。
実装する楽な方法でもあるのかな。

412 :名前は開発中のものです。:2009/02/11(水) 17:44:12 ID:Kvh4MNNp
GUIはあんまりオススメしない。
ttp://kissho.xii.jp/1/src/1jyou64475.png
これだけの事だぞ?

あと.NET環境では、DebuggerDisplayAttributeてな物もある。
C#以外で使えるかは俺も知らないが。

413 :名前は開発中のものです。:2009/02/12(木) 04:54:58 ID:HuC0E2qn
雑魚が壁を縫って飛んだり戦車が通路に沿って動いたりとかラクにやりたい

414 :名前は開発中のものです。:2009/02/13(金) 07:54:14 ID:oFXgw1Nt
>>413
仕様書と企画書と見積書を用意する

415 :名前は開発中のものです。:2009/02/13(金) 11:53:04 ID:pHputrQz
>>413
その手のが一番めんどくさいよな

416 :名前は開発中のものです。:2009/02/13(金) 17:14:23 ID:oFXgw1Nt
>>415
できないんですね

417 :名前は開発中のものです。:2009/02/13(金) 17:30:31 ID:pHputrQz
うn

418 :名前は開発中のものです。:2009/02/13(金) 17:38:48 ID:oFXgw1Nt
>>417
できないのになんでここに存在するのですか?
不愉快です 目障りです うざいです キチガイです 変態です 犯罪者です パチスロ野老です つりバカです 自称看護士です 天才です ただのかまってちゃんです
どれだろう・・・

419 :名前は開発中のものです。:2009/02/13(金) 17:39:24 ID:oFXgw1Nt
ああ、チャネラーか

420 :名前は開発中のものです。:2009/02/14(土) 04:13:53 ID:laLZtnFH
>>413
http://www.oreilly.co.jp/books/9784873113395/

421 :名前は開発中のものです。:2009/02/14(土) 11:47:40 ID:vRGYLE5m
俺はただのロリコンだから変態とかではない

422 :名前は開発中のものです。:2009/02/14(土) 12:43:29 ID:QQ2nxpEw
>>413

背景マップチップに移動可能方向を記録しておくとか。
ランダム的な移動はできなくなるけど。

423 :名前は開発中のものです。:2009/02/14(土) 14:43:57 ID:qZdpuHPD
>>420
もっと可愛い動物にしてほしいよなぁ。

424 :名前は開発中のものです。:2009/02/15(日) 13:09:26 ID:Dxahh6fk
いつも仕事に追われる人、空振りする人の心理要因とは?
・根拠のない自信家タイプ 「でも面倒なことをするのは嫌だ!」

425 :名前は開発中のものです。:2009/02/15(日) 16:22:06 ID:tR0MjMr5
なんだいきなり

426 :名前は開発中のものです。:2009/02/16(月) 03:10:44 ID:T5yphQCp

釣れるかテスト
ttp://park10.wakwak.com/~pinevill/hurui.htm
ttp://museum.ipsj.or.jp/index.html


427 :名前は開発中のものです。:2009/02/16(月) 19:14:48 ID:rvoDST9+
とあるサークルで参加しているんだが
原稿読んだ後 みんなの意見をやりとりしているところで


>私からの感想としては 色々意見のやりとりをされているようですが 細かい部分ばかりに目がいき
>作品が完成しないようなことになるのが心配です

相手
すみません。分かりやすく言ってももらいたいです

こいつにはなんと言えばいいんだ?

428 :名前は開発中のものです。:2009/02/16(月) 19:16:32 ID:4/bpjxRj
あんたらには一生かかっても完成は無理

と言いたんだな?

429 :名前は開発中のものです。:2009/02/16(月) 19:29:55 ID:rvoDST9+
>>428
ほぅ

430 :名前は開発中のものです。:2009/02/16(月) 19:47:09 ID:rvoDST9+
続きがあるんだが

相手
まだ、全員の意見が聞けていないのですが話として受け入れてもらえているなら僕が悪かった
テキストを書き直すことが次ぎやることだと思っています

 あと、他のみなさんが作業しやすいように「ここでどんな絵や音楽」とかの
指示も含めたものを渡すことを考えています

ライター志望らしい

察するに自分の作った話以外の話はうけつけないといった感じだろうか?
ちなみに俺が監督役なんだが・・・
チーム複数あって まわしにまわされ俺のところにきたわけだが・・・

431 :名前は開発中のものです。:2009/02/16(月) 19:56:31 ID:QDa0Dd4U
ライター志望ってことは作画や作曲は他の誰かがやることになるのかな

432 :名前は開発中のものです。:2009/02/16(月) 20:02:47 ID:rvoDST9+
ですね

433 :名前は開発中のものです。:2009/02/16(月) 20:25:59 ID:+pDjhIxK
ライター志望を騙った企画厨だととっくに気づいているくせに
責任者の任にありながら自分の手は汚したくないというわけだ

お気に召すままに

434 :名前は開発中のものです。:2009/02/16(月) 20:57:59 ID:v8/Dmn+5
シューティング作るのにまず話って何?
絵や音楽のためのイメージを伝える程度の設定がありゃ良いじゃん

435 :名前は開発中のものです。:2009/02/16(月) 20:59:59 ID:Dzp3qjMZ
なんつーか「設定を見せるために作った東方」がイメージ的に近い気がする

436 :名前は開発中のものです。:2009/02/16(月) 21:24:19 ID:ESv7ONQX
A
>私からの感想としては 色々意見のやりとりをされているようですが 細かい部分ばかりに目がいき
>作品が完成しないようなことになるのが心配です

B
すみません。分かりやすく言ってももらいたいです

日本語難しいお(^ω^)

437 :名前は開発中のものです。:2009/02/16(月) 21:25:58 ID:ESv7ONQX
This is a pen.

sorry I can't understand "This is a pen"
please more Easy English so I can understand

438 :名前は開発中のものです。:2009/02/16(月) 22:01:55 ID:IeM6pdqh
どうした? 何か悲しいことでもあったのか?

439 :名前は開発中のものです。:2009/02/16(月) 22:02:05 ID:v8/Dmn+5
つーか427は説明不足すぎていまいち分からない

440 :名前は開発中のものです。:2009/02/16(月) 23:03:57 ID:IeM6pdqh
解るか、解らないか関係無しに、
微塵もシューティングゲーム制作の話を含んでないと思う

441 :名前は開発中のものです。:2009/02/17(火) 11:16:36 ID:poWcmntA
スレ間違えたんじゃないのかと思った

442 :名前は開発中のものです。:2009/02/18(水) 01:16:23 ID:qK/6+jb1
めちゃくちゃすれ違いだがw

もし俺が監督役なら、
「とりあえず、最後まで動くものつくるから」
といって、C++の本を渡す。勉強しないできない奴ならクビ。

もし万が一、勉強できたけど、気に食わないやつなら
データ構造、アルゴリズム、グラフィック、DirectX、ウィンドウズの仕組み
スクリプト言語、ゲーム理論、プロジェクトの管理とかがある。

完成をお祈りしてます。
俺がプログラマなら、周りが協力的でないとダッシュで逃げる。

443 :名前は開発中のものです。:2009/02/18(水) 01:31:11 ID:oZM6UfPG
とりあえず作るゲームのジャンルを間違えてる

444 :名前は開発中のものです。:2009/02/18(水) 02:41:19 ID:N2AJcuUt
結局427はどこ行った

445 :名前は開発中のものです。:2009/02/18(水) 13:03:03 ID:zgIgX6Kz
たすけて
とりあえずインベーダーみたいなの作りたいけど、
なにすればいいか全然わからん。
まずウインドウを出すことから?

446 :名前は開発中のものです。:2009/02/18(水) 13:09:58 ID:Qa2Ts/xF
ウィンドウ出してすらいないんじゃインベーダーとか言う段階ですらないんじゃ?

447 :445:2009/02/18(水) 15:59:11 ID:zgIgX6Kz
>>446
図書館でC++の本かりてきたけど、
ほんとまったくもってサッパリっス…。

いちおうまっくらなウインドウがでた。ヤッター。

448 :名前は開発中のものです。:2009/02/18(水) 16:07:36 ID:3CHup1rU
>>447
ttp://dixq.net/rp/
今はこんな便利なページが有るんだぞ
よかったなオマエ

俺が始めたこr(r

449 :名前は開発中のものです。:2009/02/18(水) 16:24:07 ID:S+V2AhP4
数学の知識がないと碌な実装が思いつかないというのを思い知らされた

450 :名前は開発中のものです。:2009/02/18(水) 18:43:11 ID:BB0vZWp7
ゲーム作り始めたころの俺に言いたい
@ライブラリ使え
A高速化は気にするな
Bswitchはスペルにtが入っている
Cエラーのときに表示される行は間違ってることがある
D何作るか紙に書き出さないとPCつけたって何もできない

451 :名前は開発中のものです。:2009/02/18(水) 19:00:28 ID:8RfH69wb
>>448
すげえ、こんな隠れ開発系サイトがあったとは!

452 :名前は開発中のものです。:2009/02/18(水) 19:01:22 ID:Qa2Ts/xF
>Bswitchはスペルにtが入っている
ワロタw

453 :名前は開発中のものです。:2009/02/18(水) 19:05:35 ID:lR+DK7Mz
switchのスペル間違えるとエラー出るから問題ないだろう。
default:はスペル間違えるても昔は警告も何も出なかった。
今は出るのかな?

454 :451:2009/02/18(水) 19:09:56 ID:8RfH69wb
とおもったらDxLib使っているのかな?がっかり。

455 :名前は開発中のものです。:2009/02/18(水) 19:11:11 ID:kpSn3EPE
> Bswitchはスペルにtが入っている
間違えねーよw

456 :427:2009/02/18(水) 19:12:04 ID:JWJnZY9H
>>444
意見だしたらシカトときたよ
ダメだなこいつ

>>454
DxLib使ってる奴もいれば使ってない奴もいる
てゆうか2chに晒さんでくれ
これ以上問題児はお断りだ

457 :名前は開発中のものです。:2009/02/18(水) 19:45:09 ID:qVfs6OAd
ここはお前の日記帳だ 思う存分書け

458 :名前は開発中のものです。:2009/02/18(水) 20:01:02 ID:Qa2Ts/xF
>>456
意味が判らない

459 :名前は開発中のものです。:2009/02/18(水) 20:02:23 ID:QIsP53cb
>>448
前から思うんだが、この人、ところどころ実装がヘタクソな部分があるよね。

460 :名前は開発中のものです。:2009/02/18(水) 20:07:19 ID:3CHup1rU
>>458
こういうことじゃね?

>これ以上問題児(※自称監督役含む)はお断りだ

461 :名前は開発中のものです。:2009/02/18(水) 20:27:15 ID:vHBUlQLw
>>459
そういうなよ、ソース公開してくれる人がいなくなるぞ。
ソース晒さない達人プログラマより、
ソース晒す普通プログラマのほうがありがたいし尊敬する。

462 :名前は開発中のものです。:2009/02/18(水) 20:52:03 ID:3CHup1rU
>>459
そこしか見ないで使い物にならない奴が出来上がったら、嘲笑してやれば良い
『全ての初心者、つまり子供達に画一の最高の教育を受けさせなければならない』
なんて言い出したら、真っ赤な社会主義者だぜw

俺も人のことを言えないぐらいのコードを書くので、ケント・ベックなんか読んだりしてる

463 :445:2009/02/18(水) 22:14:14 ID:zgIgX6Kz
>>448
右も左もよくわからなかったけど、今日一日で作り方の流れがすこしわかりました。
バンザイ。具体的にどんな感じにするか考えます。

初心者でスレ汚しすいませんでした。

464 :名前は開発中のものです。:2009/02/19(木) 00:53:16 ID:wF1ji2YX
すまんかった。

465 :名前は開発中のものです。:2009/02/19(木) 01:48:14 ID:i7IeHH1V
>>448
1、ウィンドウの表示
2、入力装置から値の受け取り
3、メニュー画面、ゲーム画面の遷移
4、自機や敵等、オブジェクトの表示
5、当たり判定とオブジェクトの破壊処理
6、敵とか背景とか時間で追加されるものをがんばる
7、音楽をならす
8、点数とか、自機のパワーアップとか
9、バランス調整

作成する手順だと、こんな感じだと思う。
とりあえず最低でも6まではつくるんだ。
作ってるといろんな問題がでてまずこける。
こけた後、立ち上がれないと何時までも完成しない。

466 :名前は開発中のものです。:2009/02/19(木) 03:52:29 ID:QlGxmjpQ
STGの得点って、やりこむごとに上がってかなきゃいけないもんだけど

アイテム  撃ち込み  カスリ  弾吸収  パーツ破壊  残り時間、残機、ボム、撃墜率、ノーボムボーナス

特殊なの含めてこれ以外にどんな稼ぎがある?

467 :名前は開発中のものです。:2009/02/19(木) 04:04:16 ID:SOzX/XuN
被るのもあるが、早回し、位置取り、ノーボム、ノーショット、パワーダウン、、、
リスクを冒すとボーナス、ってんならそれこそキリが無いくらいあると思うが
なんか新しいもん考えろと言われれば適当に思いつくぞw

468 :名前は開発中のものです。:2009/02/19(木) 04:40:29 ID:MM+pkkVR
近づいて倒すオメガボーナス

469 :名前は開発中のものです。:2009/02/19(木) 08:13:31 ID:/z/A7Jjs
ボーナスといえば、ラザロが合体する前に破壊、左右のデライラを同時に破壊、だろうが!

470 :名前は開発中のものです。:2009/02/19(木) 11:12:18 ID:C/f3fnJW
>>466
あと基本的なものだと命中率やチェーン(コンボ数)があるね

471 :名前は開発中のものです。:2009/02/19(木) 11:25:52 ID:MOJZyTZD
最近のは大往生あたりから、弾がいっぱいでるやつが多くなったんで
避ける楽しみというよりも、覚えて動かせたときのよる
ビーマニのような楽しさにかわりつつあるんで
単純に避けて、潰すといったようなやつが同人でつくってほしいわ。



472 :名前は開発中のものです。:2009/02/19(木) 11:36:33 ID:bmcMiRjn
弾がいっぱいでてもやることは同じだが

ケイブシューに関して言えば東亜シューと避けの理屈はだいたい一緒だよ

473 :名前は開発中のものです。:2009/02/19(木) 13:28:04 ID:KyFVIKLU
覚えて動かすって昔の方が多いよ
R-TYPEとか覚えてなかったら見てから動いてもすぐ死ぬ

474 :名前は開発中のものです。:2009/02/19(木) 14:18:55 ID:YBmJ9aiM
dixqさんはマジ天才ですよ!!!
東方を作ってるんで、一度見てくるといいです!!!
作り方も丁寧に解説されていて、初心者の僕でもプロジェクトをダウンロードしたら作れました!
そんなのとは段違いです、こdの!

475 :他人:2009/02/19(木) 14:20:04 ID:YBmJ9aiM
>>474
ですよね!!僕も最高だと思いました!!

476 :名前は開発中のものです。:2009/02/19(木) 14:53:52 ID:6hPLz/Pw
そういや去年、龍神録プログラミングの館のサイト見て
それ読みながらそのままXNAに移植してxbox360で動かしたりしたっけな。
今見るとだいぶ進んでるなあ、続きやろうかしら。
作者に許可とったら公開もできるかな。

477 :名前は開発中のものです。:2009/02/19(木) 15:50:59 ID:wu/AKtBb
>単純に避けて、潰すといったようなやつが同人でつくってほしいわ。

ファンタジーゾーンみたいなのとか?

478 :名前は開発中のものです。:2009/02/19(木) 16:28:40 ID:JdjxjP/c
>>476
・ソースを公開しない場合は制約無し
・ソースコードのコピーは、自サイト・掲示板に関わらず出所を書くこと
・免責
だよね?
ゲームプログラミングの館の一番下の利用規約じゃダメなの?

xna対応の改変があるときは、ソースコードの(一部の)コピーを含むから出所を書く
ぐらいで、許可とか要らなくね?
ぶっちゃけ、Ms-PLの商標感染の方がウザイ。

479 :名前は開発中のものです。:2009/02/19(木) 16:29:56 ID:4hycVJdS
できないのね

480 :名前は開発中のものです。:2009/02/19(木) 16:49:27 ID:4hycVJdS
アイマス!アイマス!アイマス!アイマスぅぅうううわぁああああああああああああああああああああああん!!!
あぁああああ…ああ…あっあっー!あぁああああああ!!!アイマスアイマスアイマスぅううぁわぁああああ!!!
あぁクンカクンカ!クンカクンカ!スーハースーハー!スーハースーハー!いいisoだなぁ…くんくん
んはぁっ!アイドルマスターSPのisoを早く落としたいお!クンカクンカ!あぁあ!!
間違えた!ダウンロードしたいお!ダウンロード!ダウンロード!isoダウンロード!さっさとダウンロード…きゅんきゅんきゅい!!
箱○版のアイマス面白かったよぅ!!あぁぁああ…あああ…あっあぁああああ!!ふぁぁあああんんっ!!
L4Uも発売されて良かったねアイマスたん!あぁあああああ!早くプレイしたいい!アイマス!早くプレイしたいい!あっああぁああ!
SPも発売されて嬉し…いやぁああああああ!!!にゃああああああああん!!ぎゃああああああああ!!
ぐあああああああああああ!!!SPが起動できない!!!!あ…isoもCFWもよく考えたら…
F W 5 , 0 5 は 対 応 し て な い?にゃあああああああああああああん!!うぁああああああああああ!!
そんなぁああああああ!!いやぁぁぁあああああああああ!!はぁああああああん!!ロシアぁああああ!!
この!ちきしょー!やめてやる!!現実なんかやめ…て…え!?見…てる?ダミーパッケージのアイドルが僕を見てる?
ダミーパッケージのアイドルちゃんが僕を見てるぞ!アイドルちゃんが僕を見てるぞ!壁紙のアイドルちゃんが僕を見てるぞ!!
カスタムテーマのアイドルちゃんが僕に話しかけてるぞ!!!よかった…世の中まだまだ捨てたモンじゃないんだねっ!
いやっほぉおおおおおおお!!!僕にはアイマスがある!!やったよ高木社長!!まだ頑張れるもん!!!
あ、PSPのアイマスちゃああああああああああああああん!!いやぁあああああああああああああああ!!!!
あっあんああっああんあ伊織様ぁあ!!ゆ、ゆきぽー!!あみあみぃいいいいいい!!!まみまみぃいいいい!!
ううっうぅうう!!俺の想いよDark_Alex氏へ届け!!ロシアのDark_Alex氏へ届け!

481 :名前は開発中のものです。:2009/02/19(木) 18:10:48 ID:6hPLz/Pw
誤爆かよ

>>478
そっちにあったのね。その内容なら問題ないかなあ。ベタ移植だから素材丸々使ってるのもあるんだよね。
オリジナルの章にあわせて段階的に移植していく説明とか書こうと思ったけど、
とりあえず現行に追い付くのが大変そうだから、ざっと作業してみてから考えてみますわ。

やってみた感触として、C++とDXライブラリをC#とXNAに持っていくのは基本部分はかなり楽。

482 :名前は開発中のものです。:2009/02/19(木) 21:20:10 ID:JdjxjP/c
>ベタ移植だから素材丸々使ってるのもある
それは許可があっても不味いんじゃね
他人が見たら同一人物か関係者に見える

483 :名前は開発中のものです。:2009/02/20(金) 22:26:18 ID:0RjBGZHG
自分から徐々に離れていく敵ってどう実装すりゃいいんだ?
近づくのならsin、cos、atan2でどうにかできるけど

484 :名前は開発中のものです。:2009/02/20(金) 22:28:51 ID:I3Lwzs3D
>>483
近づくのができるなら、それを逆に使えば離れて行くだろう。

485 :名前は開発中のものです。:2009/02/20(金) 23:57:00 ID:LHEWPnbr
前提が説明不足すぎるw
近づくだけなら三角関数も別に必要ないw

486 :名前は開発中のものです。:2009/02/21(土) 00:25:38 ID:Ll7isHTi
sin cos でもとめたやつをプラスマイナス逆にすりゃいいんじゃ……。

487 :名前は開発中のものです。:2009/02/21(土) 01:08:54 ID:ZjA+F0EO
よいのじゃ

488 :名前は開発中のものです。:2009/02/21(土) 04:29:49 ID:GpFEsz1c
超魔界村の赤いやつを思い出すと。
if(状態フリー && X軸上にプレイヤーの攻撃がある)
{
 状態=回避中;
}
回避中ならば、Y軸方向へ高速に移動する;

ちょっと違うけどふと思い出してしまった

489 :名前は開発中のものです。:2009/02/21(土) 12:49:43 ID:jxvbTlQk
FlashでSTG作るの案外難しい
C++でライブラリ使いながら作った方がましかも

490 :名前は開発中のものです。:2009/02/21(土) 13:46:00 ID:Yb5lRMLn
FlashでSTGぐらい作れないようならC++でも厳しいだろ…
独自の違いがそんなにあるわけじゃなし、パフォーマンス出ないのが大変な程度だぞ
どこで詰まってるんだよ

491 :名前は開発中のものです。:2009/02/21(土) 16:23:41 ID:RKEgIS2I
フラッシュとかなんかやめて
さっさとVC++で作れよ

492 :名前は開発中のものです。:2009/02/22(日) 05:14:17 ID:OSGn1SXV
初STG制作中なんだけど、弾はいちいちnew deleteするより
//弾を作りたくなったら待機スタックから取り出して表示リストに追加する
bullet = bulletStack.pop();
bullet.init();
showList.add(bullet);
//弾が消滅したときは表示リストから取り出して待機スタックに放り込んでおく
bullet = showList.remove(なにか);
bullet.kill();
bulletStack.push(bullet);
こんな感じの方が早いんだけどいいんでしょうか。

493 :名前は開発中のものです。:2009/02/22(日) 10:11:24 ID:O4rZQu4s
マージソートの良くない実装の様な気がする。
データ列を二分割するたびにlistをいちいち用意しないように
poolは一つだけで、門番keeperを用意すれば良いのでは無いか?

発射(弾を作りたくなった)
pool[keeper++].init();

消滅
// idxに消滅イベントがおきた弾のインデクスを入れる
pool[idx]=pool[--keeper];

表示
for(i=0;i<keeper;i++)draw(pool[i]);

これはジョークに近いけど書いておく
DrawIndexedPrimitives(PrimitiveType.TriangleList, 0, 0, keeper*modelhasVertex , 0, keeper * modelhasTriang );

494 :名前は開発中のものです。:2009/02/22(日) 12:43:55 ID:uv0okrQ5
>>493
> pool[idx]=pool[--keeper];
これって、いろいろまずくね?
消滅イベントが起きた弾のポインタはどこに行くの?メモリリーク?

495 :名前は開発中のものです。:2009/02/22(日) 12:51:44 ID:4KK2qb1o
何をやっているのか
何が問題なのか
さっぱり分からん

結論を言うと
まったく役にたたないグズの集まり

496 :名前は開発中のものです。:2009/02/22(日) 13:18:49 ID:8xOEO1s9
>>494
確かにコピーは、
外部でbulletへのポインタを持ってしまっている場合、
気を付けないとまずいかも

>消滅イベントが起きた弾のポインタはどこに行くの?メモリリーク?
poolって単なるbulletの配列だからメモリリークは起きないかと

497 :名前は開発中のものです。:2009/02/22(日) 13:30:49 ID:uv0okrQ5
>>492
とりあえず、俺は問題無いと思うよ。


498 :名前は開発中のものです。:2009/02/22(日) 13:50:30 ID:8xOEO1s9
>>496
と書いたけど、これはまた別の話だった、すまん

>>492
使用中:■■■■■■
空き :□□□□□□□□□□

とするより、>>493
プール:■■■■■■□□□□□□□□□□
として、境目を意味するkeeperを用意する方が
理にかなってる

ただやってることは一緒だから問題はないと思うよ。

499 :名前は開発中のものです。:2009/02/22(日) 14:28:54 ID:lNtVkE69
>>498
thx

500 :495:2009/02/22(日) 16:16:07 ID:O+E+LHrc
すまん
あまりにも原始的問題で意味がわからんかった

501 :名前は開発中のものです。:2009/02/22(日) 17:32:37 ID:KZ1k0k7q
>>498
それだと描画順序はどうなるの?

502 :名前は開発中のものです。:2009/02/22(日) 18:09:00 ID:lNtVkE69
一意に求まらない。
弾が重なり続けるシーンではチラチラするはず

ここでlistからremoveした意味が生きるね

503 :名前は開発中のものです。:2009/02/22(日) 18:56:46 ID:KZ1k0k7q
>>502
だから俺は「使用中リストと空きリスト」の方が好き

504 :名前は開発中のものです。:2009/02/23(月) 03:03:50 ID:0xcHZAF5
弾に速度m_vと角度(0〜360)m_rを持っていて、角度0度時画面上方向きに発射、以降時計回りにしてる。
画面座標的な考え方をすると0度なら画面右方向で反時計回りが良い気がするんだけどみんなはどうしてる?


505 :名前は開発中のものです。:2009/02/23(月) 03:09:30 ID:0xcHZAF5
ごめん。
sin cos逆にしてた。
画面座標的には左方向で半時計じゃなくて時計回りだった。


506 :名前は開発中のものです。:2009/02/23(月) 03:14:22 ID:0xcHZAF5
あーもうちがう。右向きで時計。
もうどうでもいいや。orz

507 :名前は開発中のものです。:2009/02/23(月) 03:27:06 ID:Ie1BTwA3
聞いたところでどうでもよい話だなw
俺は右が16384

508 :名前は開発中のものです。:2009/02/23(月) 09:52:38 ID:pyIaWoI6
>>504
極座標をどうするかってこと?
x軸が右向き、y軸が下向きの環境なら、0度は画面右向き、角度の正方向は時計回り、が自然かと

509 :名前は開発中のものです。:2009/02/23(月) 10:09:34 ID:pyIaWoI6
答えの出ている話題にレスするとは、何たる愚かしさorz

510 :名前は開発中のものです。:2009/02/23(月) 23:24:37 ID:Kw8cGmi1
おまえら三角関数はもちろんテーブル実装だよな

511 :名前は開発中のものです。:2009/02/23(月) 23:45:06 ID:EAHtJ/4A
>>510
いつの時代のお人ですか?ww

512 :名前は開発中のものです。:2009/02/24(火) 00:26:33 ID:S/Istr7/
俺はテーブル実装してる。
昔の人間だし。

513 :名前は開発中のものです。:2009/02/24(火) 00:34:39 ID:S/Istr7/
全然関係ない話になるけど。

自機の移動が八方向の場合、斜め移動の速度は
縦横と同じスピードの場合と
√縦^2+横^2 の場合とどっちが一般的なシューティングの仕様なんですかね?

514 :名前は開発中のものです。:2009/02/24(火) 00:52:46 ID:/SDanP2F
縦横と同じスピードにすると遅く感じるから、普通に縦横の合成分斜めるのが多い
となんかの書物に書いてあったな

515 :名前は開発中のものです。:2009/02/24(火) 01:05:05 ID:boEjERXB
>>510
過去スレでテーブル実装は
コンパイラのビルトイン関数であるsin/cosに劣るという話があったお。
(gccはデフォルトで、VSなら#pragma intrinsic で宣言することによってビルトイン関数が有効になるらしい)

516 :名前は開発中のものです。:2009/02/24(火) 03:48:51 ID:uULcJMOJ
>>513
縦シューは同じスピード、横シューは√2倍速い
が多い感じ

517 :名前は開発中のものです。:2009/02/24(火) 04:09:36 ID:XqYUieHy
ギミック系は四角形な移動
弾幕避けゲーは円形な移動
なイメージ

518 :名前は開発中のものです。:2009/02/24(火) 10:50:16 ID:H1s1N2Tx
x += √2
y += √2
にすりゃいいだけの話じゃね?

519 :名前は開発中のものです。:2009/02/24(火) 13:51:18 ID:xk2GYm9J
>>518
なにそれ

520 :名前は開発中のものです。:2009/02/24(火) 13:56:10 ID:ANDW2c8N
右 x+=2 下 y+=2

521 :名前は開発中のものです。:2009/02/24(火) 15:07:51 ID:gVxCckUi
正確にベクトル合わせなくても、斜めのときに若干移動するピクセルを減らせば良いんじゃ

522 :名前は開発中のものです。:2009/02/24(火) 15:46:57 ID:ANDW2c8N
>>521
整数座標系ならそうなるな
C++のコンパイラも無いくらい昔のゲームでもあった

『ヒント)画面端に向かって斜めに入力すると若干ゆっくり移動できます』
を自分のゲームのマニュアルにも書きたいw

523 :名前は開発中のものです。:2009/02/24(火) 16:46:50 ID:H1s1N2Tx
>>522
こ、こ、これは











ゆ っ く り 移 動 し て い っ て ね ! ! !













524 :名前は開発中のものです。:2009/02/24(火) 16:55:26 ID:xk2GYm9J
>>523
面白いとでも思ってんのか

525 :名前は開発中のものです。:2009/02/24(火) 17:01:35 ID:ANDW2c8N
ジェネレーションギャップを感じる
ニコ厨が叩かれるのがよくわかります

 ダライアス外伝のCuriosity chandelierというボスの
自機狙い高速レーザーが、画面外への斜め入力だと切り返し無しでよけられる
という隠し攻略方法があった

526 :名前は開発中のものです。:2009/02/24(火) 17:08:13 ID:xk2GYm9J
>>525
濃い弾幕を避けるときに「超低速移動で・・・」とか今でも見かけるし、一般的だと思う
プレイヤーの好き嫌いもいろいろなんだし、自分の好みで実装すればいいと思うよ

527 :名前は開発中のものです。:2009/02/24(火) 17:19:21 ID:H1s1N2Tx
>>524
つまらない人

528 :名前は開発中のものです。:2009/02/24(火) 17:21:15 ID:H1s1N2Tx
おまえらの方がつまらんよ
いつの時代の話だ
年寄りはくるなアホ

529 :名前は開発中のものです。:2009/02/24(火) 17:25:47 ID:ANDW2c8N
>>526
>プレイヤーの好き嫌いもいろいろなんだし、
作る側の好き嫌いも色々ですよ

低速ボタンよりも壁ズリ低速の方が発見時の感動が増すのを、自分の経験から期待したり
トレジャー系が好きな人は、絶対チョン押し時は低速を欠かさないだろう

530 :名前は開発中のものです。:2009/02/24(火) 17:33:40 ID:xk2GYm9J
>>529
それは当然とした上での記述
個人的には8方向の速度は一定にするのが好き

ちなみに、「超低速移動」は低速ボタン+壁ズリのつもりで書いたから同じことだよ

531 :名前は開発中のものです。:2009/02/24(火) 17:41:50 ID:ANDW2c8N
ok ok

532 :名前は開発中のものです。:2009/02/24(火) 17:57:22 ID:ANDW2c8N
揚げ足とられたと思ったら

オレオレ用語だったwwww
ttp://www.google.com/search?client=opera&rls=ja&q=%E8%B6%85%E4%BD%8E%E9%80%9F%E7%A7%BB%E5%8B%95&sourceid=opera&ie=utf-8&oe=utf-8

533 :名前は開発中のものです。:2009/02/24(火) 18:12:22 ID:gVxCckUi
低速移動に超ついてるだけだし
意味の想像はつく

534 :名前は開発中のものです。:2009/02/24(火) 18:17:32 ID:H1s1N2Tx
そんなことよりアヘン吸わないか
天国へいけるぞ?

535 :名前は開発中のものです。:2009/02/24(火) 19:56:16 ID:lu+mIiSk
なんかのびてると思ったらいつもの流れか

536 :名前は開発中のものです。:2009/02/24(火) 21:44:55 ID:QhYEtTNA
>>534
通報しました

537 :名前は開発中のものです。:2009/02/24(火) 23:34:32 ID:ANDW2c8N
少し上に「まあ、好きにやればいいと思うよ」のガイキチが沸いて、
「自分の好みで実装」とか書ける神経が分からん

538 :名前は開発中のものです。:2009/02/24(火) 23:41:01 ID:1852j36l
そんなことより座標について教えて。
画面的な座標とステージ全体の座標。
敵の出現位置はどっちでどんな風に制御するの?

539 :名前は開発中のものです。:2009/02/25(水) 01:03:47 ID:VbTnmVk0
強制スクロール型2DSTGなら基本的には画面の座標で管理するのが一般的では
敵弾の動きは基本的に強制スクロールに対してはベクトル干渉しないでしょ
逆に任意スクロールは相対座標で持ってる場合が多いんじゃない

540 :539:2009/02/25(水) 01:54:22 ID:VbTnmVk0
すまん酔いが醒めてきたら539は勘違いエスパーすぎたことがわかったw
忘れてくれw

541 :名前は開発中のものです。:2009/02/25(水) 04:30:14 ID:6GqBmA56
>>537
お前も十分キチガイにみえるぞ

542 :名前は開発中のものです。:2009/02/25(水) 05:00:53 ID:TxU+bZ79
yahoo からメールが届いたが

「あんたのスキルを見せてくれ」と言ったら

---------------------------------------------------------------
これまで、ゲームを作るためにグラフィッカーとして参加していたので
お見せできる個人的な作品はありません。
製作環境やスキル的なものはドット・2DCG・3DCG等、グラフィック全般です。
デザイン的なものは、それぞれなので話しあって希望にそうようにしてます。
今のところ金銭的なものは考えてません。無償です。

新しい企画とは楽しみです。どんな企画なんでしょう。

という感じです。お役にたてそうでしょうか?
---------------------------------------------------------------
スパイ?

543 :名前は開発中のものです。:2009/02/25(水) 05:10:41 ID:VZWZ10n6
うさんくさいなwwwww

544 :名前は開発中のものです。:2009/02/25(水) 05:53:23 ID:+vycI8ae
>>541
ヒント) ID:ANDW2c8N≒ID:H1s1N2Tx

545 :名前は開発中のものです。:2009/02/25(水) 11:52:51 ID:rFTYFuiF
H1s1N2Txはかなりゆとりっぽいので違うと思うが

546 :名前は開発中のものです。:2009/02/25(水) 12:20:03 ID:e6Xk0r8c
http://feb.2chan.net/jun/b/src/1235527610883.jpg

547 :名前は開発中のものです。:2009/02/25(水) 13:32:44 ID:E5X/wWyi
>>542

なにそれ。
雇ってくれって言ってきたのかな。

グラフィッカーならそれこそスキル見せる事くらいできるだろうに。

スキル見せもせずにお役に立てそうも何もないわな……。

548 :名前は開発中のものです。:2009/02/25(水) 13:36:23 ID:rFTYFuiF
542はなんかの話の続きなのか?
ちと意味が判らん

549 :542:2009/02/25(水) 15:41:59 ID:TwM8Bcza
ネカフェからカキコ

「意味がわかりません」と返事したら

どこが意味がわからないのでしょうか?

と返ってきた
頭いってる?てゆうかあゃしぃ?

550 :名前は開発中のものです。:2009/02/25(水) 15:49:13 ID:nQEF7rH3
自分の実力を実証する方法が実際に作業する以外思いつかない時点で
かなり馬鹿なんで、今の時点でも事細かに並べ立てないと言いたいことを理解できないだろうし、
それと今後を考えるともう完璧にそいつの相手は適当に切り上げるべきだろう

551 :名前は開発中のものです。:2009/02/25(水) 16:00:00 ID:TwM8Bcza
>>550
thank you

552 :名前は開発中のものです。:2009/02/26(木) 00:59:46 ID:Lr+28D6w
なんの話だ?よそでやれ

553 :名前は開発中のものです。:2009/02/26(木) 01:06:17 ID:lPkUVPnU
>>456-457以外あり得んだろ
当の本人にとっては超面白い話なんだよ

ゴミが紹介された経緯とかも、ゴミ同士仲良くすると思われたんだな

554 :名前は開発中のものです。:2009/02/26(木) 03:08:10 ID:24MMna8t
char *p = malloc(sizeof(char) * 1024);
p = "xxxxxx", 3[p] = '\%', 4[p] = 'n';
printf("%s%s%s", p);

555 :名前は開発中のものです。:2009/02/26(木) 07:20:45 ID:Hzlx12FS
>>553
で、他人をゴミ呼ばわりするには
相当の作品をお持ちのようで
ぜひ公開していただきたいものですが・・・






無理ですか
わかります

556 :名前は開発中のものです。:2009/02/26(木) 08:03:13 ID:sexholfh
アホだ

図星かよww
ちゃんと現実と向き合って、自分が切られないようがんばれよw

557 :名前は開発中のものです。:2009/02/26(木) 10:34:29 ID:O8EvS918
無理なんだなw

558 :名前は開発中のものです。:2009/02/26(木) 11:54:31 ID:52VyFSsD
>>557
またおまえか

559 :名前は開発中のものです。:2009/02/26(木) 12:28:46 ID:JEW4DApa
煽る暇はおありなのですねw

560 :名前は開発中のものです。:2009/02/26(木) 12:34:39 ID:sMU5Dszu
趣味はニートいじめですw

561 :名前は開発中のものです。:2009/02/26(木) 12:46:06 ID:kvPX1pNw
            ../ ⌒\
            (^ω^ )
      画企マロア画企マロア画企マロア画企マロア画企マロ
      画企マロア画企マロア画企マロア画企マロア画企マロ
../⌒ヽ                    /⌒ヽ
( ^ω^)                  ( ^ω^)
アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画
アロマ企画アロマ企画アロマ企画アロマ企画アロマ企画
                       ../ ⌒\
                       (^ω^ )
      画企マロア画企マロア画企マロア画企マロア画企マロ
../ ⌒\  画企マロア画企マロア画企マロア画企マロア画企マロ
(^ω^ )

562 :名前は開発中のものです。:2009/02/26(木) 18:38:54 ID:DtL54jOj
何この流れ・・・












>>556いいIDですね

563 :名前は開発中のものです。:2009/02/26(木) 19:41:24 ID:Q2gTHi5s
何この流れ・・・












>>556いいIDですね

564 :名前は開発中のものです。:2009/02/26(木) 20:33:54 ID:jXUUuFnP
>561
なんでだろう…水平のはずなのに
ドンキーコングみたいに斜めに傾いて見える。

565 :名前は開発中のものです。:2009/02/27(金) 00:34:00 ID:MTNvmPFd
>>561
おれも斜めに見える。
煽りのくせにいいスキルをもってるな。。

566 :名前は開発中のものです。:2009/02/27(金) 00:48:49 ID:495+w4CM
そんな使い古されたコピペに感動するレスしてどうする

567 :名前は開発中のものです。:2009/02/27(金) 00:49:39 ID:C2LGhPqJ
>>566
感動するレスまでがコピペ

568 :名前は開発中のものです。:2009/03/03(火) 10:21:37 ID:OTlbnBJs
>>450
亀だけど

E構造体の宣言には”}”の後にセミコロンをつける

orz

569 :名前は開発中のものです。:2009/03/03(火) 11:53:28 ID:9wM7nouk
誰か矩形と点の衝突判定の方法を教えてくださいな(C++)

570 :名前は開発中のものです。:2009/03/03(火) 14:32:29 ID:VISRpTLr
>>568
クラスもな

>>569
点が矩形の縦と横の範囲内なら衝突
「点」じゃなくて「円」だったらちょっと変わる

571 :名前は開発中のものです。:2009/03/03(火) 15:52:53 ID:9wM7nouk
>>570
説明不足だった
「回転した矩形と点」だった
円と回転した矩形の判定ってスパッとできるものなの?

572 :名前は開発中のものです。:2009/03/03(火) 16:19:30 ID:VISRpTLr
>>571
点と2つの線分として判定するとかどう?内積。
スパッとやる方法は思いつかない。

573 :名前は開発中のものです。:2009/03/03(火) 16:42:06 ID:TEDvPeCP
>>571
回転した矩形をもとにもどして、もどしたぶんだけ点を移動させるってのがあるらしい


  ・



..・

こんなかんじ

574 :名前は開発中のものです。:2009/03/03(火) 16:44:50 ID:9wM7nouk
>>572
やっぱり3回くらい判定いるよね
内積…とか数学チックな単語が出てくると脳がとろけだすんだがC++で回転矩形と点の衝突判定はどんな感じに書けばいいかを知りたい…
引数は矩形の4点の角のxy座標と点のxy座標

575 :名前は開発中のものです。:2009/03/03(火) 16:46:44 ID:9wM7nouk
>>573
その発想はなかった
俺の作った「角度と距離を渡すと座標を返す関数」が役に立ちそうだ

ちょっと考えてみよう

576 :名前は開発中のものです。:2009/03/03(火) 16:49:32 ID:VISRpTLr
>>574>>575
数学から逃げるなよ
>>573のは「回転行列」とか調べれば分かるはず

577 :名前は開発中のものです。:2009/03/03(火) 17:02:34 ID:9wM7nouk
>>576
その回転行列?っぽい方法でなら実装できそうだ
がんばってみる

578 :名前は開発中のものです。:2009/03/03(火) 17:08:24 ID:VISRpTLr
>>577
あ、もしかしてまだ習ってない年齢とか?
そしたら言い方が悪かった
「回転行列」とか「一次変換」とか。三角関数が分かれば理解できると思う。

579 :名前は開発中のものです。:2009/03/03(火) 17:25:53 ID:9wM7nouk
>>578
いや…なんというか…俺の通ってた高校がちょっとアレなとこでな…
高2くらいの時に三角関数の基礎は習ったっぽいんだがそのあと二次関数と三角関数の基礎を往復してたんだ…

一応sinとかついてる関数の使い方やラジアンうんたらは自力で勉強してそこはかとなく理解した
んで今作ってるシューティングにどうしても矩形の判定を使うシーンが出て来て/(^o^)\
ググってみて回転行列はよくわからんかったがとりあえず俺の作った「点pと点qの座標を渡すとp→qのラジアンを返す関数」を使えば何とかなりそうだ

580 :名前は開発中のものです。:2009/03/03(火) 17:28:57 ID:VISRpTLr
>>579
自力でできてるならなんとかなるじゃん。頑張ってね。

581 :名前は開発中のものです。:2009/03/03(火) 17:41:00 ID:9wM7nouk
>>580
(・∀・)b

ID:TEDvPeCPも超ありがとう

582 :名前は開発中のものです。:2009/03/03(火) 21:07:08 ID:9wM7nouk
実装できたぜ
http://www.dotup.org/uploda/www.dotup.org4085.jpg

改めて御礼を申し上げます(・∀・)

583 :名前は開発中のものです。:2009/03/04(水) 02:47:16 ID:c679wlvv
絵を見ながら考えてみた。三角関数使わなくても
直線と点の距離で判定することも可能

レーザの直線をL、判定する座標をPとした場合、
直線Lに直交し座標Pを通る直線L'を求め、
直線Lと直線L'の交点と、座標Pの距離を求める。

584 :名前は開発中のものです。:2009/03/04(水) 05:41:14 ID:kXQL8zXx
画像だけなんでしょ?

585 :582:2009/03/04(水) 06:11:33 ID:1TDttkKc
電話から失礼(・∀・)
>>583
なんか難しそうだな…
家帰ったら考えてみる

>>584
青◇は画像、赤◇は当たり判定、白◇と白○は回転したレーザーと自機の当たり判定を関数で表示させてる(・∀・)ちゃんと当たり判定あるぜ

586 :名前は開発中のものです。:2009/03/04(水) 11:37:54 ID:lY36xohs
>>583は内積の公式がそのまま使えるってだけなので…
学校で習うことも無駄では無いよぐらいのお話
だから
>直線Lに直交し座標Pを通る直線L'を求め、
は補助線だけで、計算する必要は無い

どちらかというと公式でググると全然出て来ないゆとり社会に絶望した
…仕方ないから描いた
ttp://www.dotup.org/uploda/www.dotup.org0763.jpg

上の回転前のでよくね?

587 :名前は開発中のものです。:2009/03/04(水) 11:51:22 ID:AkgUqz4M
レーザーを直線だとすると中学で習う y = ax + b の公式が使えるんじゃない。
接触したかどうかは目標の座標がこの公式に当てはまるかどうかで判定できないかな。
もっとも誤差をどうするかっつ問題もあるが。

588 :名前は開発中のものです。:2009/03/04(水) 11:53:42 ID:5CMIzNbi
画像キャッシュにおっぱいなメイドが残っててちょっとびっくりした

589 :名前は開発中のものです。:2009/03/04(水) 14:46:59 ID:kXQL8zXx
管理の機能ってなに?と聞いたら

まあ、全部クリックでジャンプ機能なんだが。
くわしくは、「ファセット分類」でググれ。

と友人から回答
こんな口の利き方のやつのために誰がツール作るかって感じだね
アイマスヲタ( ゚Д゚)<氏ね!

中野区から杉並区に引越し?
キモさがさらに増すねw糞
もう30代 市ねよとしか

590 :名前は開発中のものです。:2009/03/04(水) 15:26:30 ID:oZbYQf/b
その友人とやらが見たら一発で特定される情報満載だがわざとか。

591 :名前は開発中のものです。:2009/03/04(水) 15:31:36 ID:lY36xohs
NGIDにレスしない
「内積」が地雷だったらしい  ごめんね

592 :名前は開発中のものです。:2009/03/04(水) 15:38:15 ID:kXQL8zXx
アホだから分からんよ

593 :名前は開発中のものです。:2009/03/04(水) 16:13:28 ID:6k5gw4bE
>>587
数学的にはそれでもおk
点の座標を任意の曲線に代入したとき、解となるか

でもコーディングのしやすさとかから結局内積か一次変換に辿り着く

594 :582:2009/03/04(水) 17:09:34 ID:YGcqHfCc
な、内積…?に…日本語で…

595 :名前は開発中のものです。:2009/03/04(水) 17:18:24 ID:6k5gw4bE
内積って日本語じゃなかったのか
ちなみに>>583は単なる外積

596 :名前は開発中のものです。:2009/03/04(水) 17:34:27 ID:lY36xohs
>>594
>>583を図に描いて
ttp://www.dotup.org/uploda/www.dotup.org0763.jpg
っぽくなってればおk
D3DXVec2Dot()があるから内積は求まる
あと
sin^2+cos^2=1
つまり
a^2*sin^2+a^2*cos^2=a^2
かな

実は外積ベクトルの長さでもいいんだw
|a x b| = |a||b|sinθ
べ、別に知らなかった訳じゃないぞ!

597 :名前は開発中のものです。:2009/03/04(水) 17:43:13 ID:6k5gw4bE
>>596
「点と直線」ならそれでおk
「点と線分」だったら長さの制限も必要

598 :名前は開発中のものです。:2009/03/04(水) 17:46:57 ID:lY36xohs
>>597
「点と線分」だからこうやって逃げてる
0≦|a|cosθ≦|b|


ごめん。 ウチは2次の外積って使ったこと無い。
外積だと線分を定義出来るの?

599 :582:2009/03/04(水) 17:47:15 ID:YGcqHfCc
sinとかそーゆーのはCの関数に丸投げしてるからよくわからんのだ…
正直三角関数も三平方の定理?くらいしかよくわからんww

けどゲーム動く!ふしぎ!!^p^

600 :名前は開発中のものです。:2009/03/04(水) 17:49:01 ID:pxzxR280
>>599
三平方の定理は三角関数じゃないぞ…

601 :582:2009/03/04(水) 17:50:58 ID:YGcqHfCc
>>600
なん…だと…!?

602 :名前は開発中のものです。:2009/03/04(水) 17:53:01 ID:PEZ4h1/D
すごいね

何がすごいって
その昔ゲームプログラムの雑誌投稿とかしてた小中学生は
塾や独学で高校レベル大学レベルの数学を身に着けていたのに
今はそういう努力をしなくてもゲームが作れることを実証してしまっているという事実が

603 :名前は開発中のものです。:2009/03/04(水) 17:56:38 ID:eMTzYVfZ
少しぐらいは勉強汁

604 :名前は開発中のものです。:2009/03/04(水) 17:57:57 ID:6k5gw4bE
>>598
それでおk
若しくは、端点2つから角度判定するとかもあり
どっちが高速かは知らんが

そして>>602に全力で同意
知らないのは罪ではないが、知ろうともしないのは大罪。

605 :名前は開発中のものです。:2009/03/04(水) 18:17:36 ID:lY36xohs
2次元の外積ってなんだったんだ?

606 :名前は開発中のものです。:2009/03/04(水) 18:29:39 ID:kXQL8zXx
>>602
どうせ応用利かないし 動くものをうpしないし 口だけだし
ただの駄スレ

607 :名前は開発中のものです。:2009/03/04(水) 18:38:02 ID:YGcqHfCc
うpしたのは去年9月が最後だったかな…

608 :名前は開発中のものです。:2009/03/04(水) 21:05:48 ID:kXQL8zXx
http://www.youtube.com/watch?v=HTMQIBypM1E

609 :名前は開発中のものです。:2009/03/04(水) 22:15:05 ID:EHouFaTB
またキチガイが沸いてるな

610 :名前は開発中のものです。:2009/03/05(木) 00:48:55 ID:d60hqFFF
DirectXを直に叩いて2DSTG作ってる人に質問。
2DSTGだと長方形描画がメインになることが多いけど、頂点バッファって使ってる?
四角を書くだけならDrawPrimitiveUPでもそんなにデータ転送発生しないし、
そんなにデメリットないのかなぁと。

611 :名前は開発中のものです。:2009/03/05(木) 01:45:31 ID:YZiaSlgc
>>605
お前は外積を何だと思ってるんだ?

612 :583:2009/03/05(木) 02:17:45 ID:IWxpnIkp
>>582
中学校でならった公式が役にたてる日がくるなんてなー
とか思いながら書き込んだんだ。直線の傾きを求める方法の方が
良いからとかいう思いはなかった。余計な一言だったらごめん。
回転前の座標に変換してから判定する方法で動いているのだから
そのやり方で良いとおもいます。

あと>>602
勉強しなくても良いと言うわけでなないけど、数学を頑張らなくても
ゲームを作れるライブラリがあって、それが目的に合ったものなら
使うべきじゃね?
プログラミングのコツは、いかに楽をするかだと思う。


613 :名前は開発中のものです。:2009/03/05(木) 02:29:16 ID:YZiaSlgc
>>612
>>602が「ライブラリを使うな」と書いてあるようには見えないけど

614 :名前は開発中のものです。:2009/03/05(木) 02:46:28 ID:brqYBTxt
軽く皮肉ってるようには取れるな

615 :名前は開発中のものです。:2009/03/05(木) 02:49:20 ID:YZiaSlgc
皮肉られるのは当然だろwww

616 :名前は開発中のものです。:2009/03/05(木) 02:50:17 ID:w2SNAszt
自嘲も含まれてる気がするな。
まぁいいじゃん。どうでも。

617 :名前は開発中のものです。:2009/03/05(木) 02:51:26 ID:YZiaSlgc
でも三角関数くらいできてほしい

618 :名前は開発中のものです。:2009/03/05(木) 02:58:51 ID:sodOyuM3
>>613
おちつけ、>>612に対するそのレスはちょっと暴投だぞ

619 :名前は開発中のものです。:2009/03/05(木) 03:01:36 ID:sodOyuM3
レスが進んでタイミングずれてるしorz

620 :名前は開発中のものです。:2009/03/05(木) 03:01:38 ID:YZiaSlgc
>>618
>ゲームを作れるライブラリがあって、それが目的に合ったものなら使うべきじゃね?
俺はこの発言を受けたまでだが。

621 :名前は開発中のものです。:2009/03/05(木) 03:04:47 ID:brqYBTxt
>>620
だから皮肉ってると思うならその内容は何だと思ってるんだよ

622 :名前は開発中のものです。:2009/03/05(木) 03:09:59 ID:w2SNAszt
>>620

602はいわば「さびしい世の中になっちゃったね」と言ってて
612はそれに「そんな捨てたもんじゃないですよ」と言ってて
話は噛み合ってるんだから、613のレスはズレてる。

623 :名前は開発中のものです。:2009/03/05(木) 03:14:35 ID:YZiaSlgc
>612はそれに「そんな捨てたもんじゃないですよ」と言ってて
俺は「目的にあった便利なライブラリなら使うべきじゃない?」と言ってるように見えた。
前提から俺が間違ってたね。

624 :名前は開発中のものです。:2009/03/05(木) 03:18:43 ID:39/f14G9
お前らシューティングの話以外だと急に盛り上がるのな
つまんねぇ言い合いしてねぇで技術的な話しろやアホども

625 :名前は開発中のものです。:2009/03/05(木) 09:20:01 ID:/7Ei5x6Q
ゲームできちゃったらインストーラー作りたいじゃん?
あれってなんかライブラリかパッケージかなんかあんの?

626 :名前は開発中のものです。:2009/03/05(木) 09:29:07 ID:UZtmr8UQ
フリーソフトでインストーラとか気持ち悪いよ・・・

627 :名前は開発中のものです。:2009/03/05(木) 09:35:47 ID:if7dF5u6
>>625 Inno Setupとか。

628 :名前は開発中のものです。:2009/03/05(木) 13:28:50 ID:ibiz+wEo
フリーとか体験版でインストーラー使わないと始められないものは
DLしてもゴミ箱行きだ

629 :名前は開発中のものです。:2009/03/05(木) 14:54:12 ID:1d/NzH52
>>624
わかったよ。

Moveってひとくくりにしてるけど実際の所、関数をさらに細分化すると管理しやすいと思わん?
座標移動、オブジェクト(弾)の生成、消滅判定、衝突判定とか。

1、とりあえず全員動かす。
2、弾やザコを追加する。
3、画面外の敵や弾を消す。
4、衝突判定する。

どうだろう




630 :名前は開発中のものです。:2009/03/05(木) 16:29:50 ID:39/f14G9
>>629
むしろ移動とか(別の)オブジェクトの生成をどうやって集約してんだよ
普通に作ってりゃいくつかの関数に分かれるだろ

631 :名前は開発中のものです。:2009/03/05(木) 16:32:07 ID:rEiNGvky
技術的な話したかったら話を広げる努力しろよwww
俺はしないけどwwww

632 :名前は開発中のものです。:2009/03/05(木) 16:53:26 ID:39/f14G9
>>631
消えろよカスwwwwwwwwww

633 :名前は開発中のものです。:2009/03/05(木) 17:24:46 ID:1d/NzH52
>>630
俺に聞くなよ。そこら辺のMove、Drawに分けるべき、で解説が終わってるサイトに聞けよ。

634 :名前は開発中のものです。:2009/03/05(木) 17:28:30 ID:39/f14G9
>>633
おいおい、逆ギレか?ww
馬鹿め、自分の無能を呪えよアホww

635 :名前は開発中のものです。:2009/03/05(木) 17:50:45 ID:brqYBTxt
>>629で何が言いたいのか意味分からん
Moveってひとくくり?何の話?
各オブジェクトにとりあえずMoveとDraw作ってそこに適当に関数作ったりしながら処理を書いてくんじゃないの?



636 :名前は開発中のものです。:2009/03/05(木) 18:42:04 ID:1d/NzH52
>>635
ん、そうだよな。ただ自分の場合
Move()、Fire()、Exists()、Touch(オブジェクト a,オブジェクト b)、Draw()で決まりきって今の所問題もないからふと疑問に思って。

637 :名前は開発中のものです。:2009/03/05(木) 18:49:42 ID:/7Ei5x6Q
何が何だかワケワカメ

638 :名前は開発中のものです。:2009/03/05(木) 19:17:32 ID:brqYBTxt
>>636
だからFire、Exist、Touch等はMove内の処理だろ?
各オブジェクトの移動と描画をMoveとDrawに分けてるんだから
細分化って何をどうしたいんだ?

639 :名前は開発中のものです。:2009/03/05(木) 19:20:00 ID:FsoDo+yK
おちつけ

640 :名前は開発中のものです。:2009/03/05(木) 19:57:43 ID:K8fBdWo9
俺はこんなの。
各自オブジェクトがスクリプトで行動を切り替えてる。
自殺もするのでオブジェクトを管理して回してる奴が生き死にを確認したりもしてる。
 
//インタプリタなスクリプト。Objectから呼んでActionを主に更新する。
class Script{
  
};
 
//MoveとかFireとかの基底のインタフェース
class Action{
  bool update(void);//処理が終了していたらtrueを返すとかそんなの
};
 
//敵、自機、弾、その他の基底のインタフェース
class Object{
protected:
  Script scr;
  Action act;
public:
  void update(void);//この中でact.update()を処理したりScriptを呼んでactの切り替えをする。
  void draw(void);//描く
};
 
なんか面白い組み方があったら教えてほしい。
という技術の話題を振ってみる。

641 :名前は開発中のものです。:2009/03/05(木) 20:02:25 ID:1d/NzH52
なぜか上げてた。特に意味はない。

>>638
なんだ、その。いや、ゲーム全体からみりゃそうなんだが。

if ポーズ中じゃないなら
{
forループ
オブジェクト配列[i].Move()
forループ
オブジェクト配列[i].Fire()
forループ
  forループ
   Touch(オブジェクト配列[i],オブジェクト配列[j])
}
forループ
  オブジェクト配列[i].Draw()

とかやんね?

642 :名前は開発中のものです。:2009/03/05(木) 20:12:12 ID:1d/NzH52
>>640
今の所、難易度別の行動設定とか用意してないんで、オブジェクトの行動は敵の種類ごとにべた書きだなー。




643 :名前は開発中のものです。:2009/03/05(木) 20:19:46 ID:/7Ei5x6Q
>>640
なんかJAVA JAVAっぽいね
それはおいといて
これの Object 派生させるの?

644 :名前は開発中のものです。:2009/03/05(木) 20:24:42 ID:g++EGVdD
>>640>>641同じ人なの?

>>643
この作りでObjectを派生させたらナンセンスだと思う。
オブジェクト配列を派生するなら判る。

派生とかクラス設計の人は
>オブジェクト配列[i].Fire()
>Touch(オブジェクト配列[i],オブジェクト配列[j])
などをやらない
「オブジェクト配列に、Fireを行わないオブジェクトや、
Touchが不用なオブジェクトを入れられ無いっておかしくね?」

…と思うんじゃね?

645 :名前は開発中のものです。:2009/03/05(木) 20:25:20 ID:K8fBdWo9
>>643
ほとんどのクラスをスマートポインタラッパにしてjavaのようにC++で書いてる。
で、
class Bullet : public Object
class Enemy : public Bullet
とかしてる。
MyShipをどこから派生させると美しいかは毎回悩む。

646 :372:2009/03/05(木) 20:27:09 ID:g++EGVdD
>>645
3人目ゲット

647 :名前は開発中のものです。:2009/03/05(木) 20:41:04 ID:K8fBdWo9
>>646
?

648 :名前は開発中のものです。:2009/03/05(木) 20:45:15 ID:1d/NzH52
>>644
んにゃ別。

>Objectを派生させたらナンセンスだと思う。
マジカー。Fire()で実装が空とかなんだが。実際Fireしてもほんとに撃つかどうかはオブジェクト依存だしいいかなーと思ってる。
ってかFire()という名前が問題か。

Touchのほうは実際は、自機リスト、敵機リスト、背景オブジェリスト、前景オブジェリスト、などから
2つ選んでハードコーディングする。だからまぁ自機_敵機、敵機_自機弾_自機_敵弾の3つぐらいTouchを利用したループがある。

自分で言っててあんまりきれいな実装じゃないかも。

649 :名前は開発中のものです。:2009/03/05(木) 20:48:41 ID:JU51dqJC
>>645
継承がis aの関係じゃない時点で美しくない

650 :名前は開発中のものです。:2009/03/05(木) 20:53:18 ID:g++EGVdD
富豪的にはありなんだろうけど…。 今俺本当に日本語書けてる?
以下、俺の思い浮かべる評判の悪いクラス設計の例。 「is a」ぐらいは守ってる?
vector<Obj *> ObjArray;
class Obj
{
  virtual void Update()
  {
    Move();
  }
  virtual void Move(){/*実装*/}
};
class EnemyObj :Obj
{
  virtual void Fire(){/*実装*/}
  void Update()
  {
    Move();
    Fire();
  }
};
class EnemyA :EnemyObj
{void Fire(){/*ユニークな実装*/} void Move(){/*ユニークな実装*/}};
class Barrier :Obj
{
  bool IsTouch(Obj tgt){/*実装*/}
  void Update()
  {
    Move();
    foreach(vector<Obj *>,tgt,ObjArray)IsTouch(Obj tgt);//foreachの構文が今ググったら違った!?
  }
};

651 :名前は開発中のものです。:2009/03/05(木) 20:54:12 ID:/7Ei5x6Q
>>645
class Enemy : public Bullet
だと Bullet 属性も継承することになるんだが・・・
Bulletクラスに破裂するという操作があると
Enemyにも引き継がれるが

それだったら Object に破裂操作を最初っから純仮想関数で宣言しておき
class Bullet : public Object;
class Enemy : public Object;
の方が自然じゃない?

とりあえず >> 372 のソースが見たいものだが
オブジェクト=メモリのかたまりと考えてるのか?

652 :名前は開発中のものです。:2009/03/05(木) 20:55:41 ID:K8fBdWo9
>>649
640のObjectは例えで、ScriptとかActionはもう少し上で持ってる。
updateだけを持ってるクラスがだいたいの基底。
で、Enemyは高級なBullet的な定義をするんだけど
(BulletもAbstractBulletみたいなのを作って細分化した方がいいとか悩む)
MyShipはどこがいいのかに悩んでる。
 
どうだろうか?


653 :名前は開発中のものです。:2009/03/05(木) 21:04:28 ID:K8fBdWo9
>>651
Bulletの破裂はEnemyの死。
Bulletだって弾を撃つことはある。
そんな感じでBulletに出来てEnemyに出来ないことがあまり考えつかないから class Enemy : public Bullet にしてる。
 
あと、EnemyAとかEnemyBってのは作ってなくて、全部スクリプトで決めてる。
 
Enemy img="res/enemy/zako1.bmp" x="100" y="100"
Move r="90" v="100"
Sleep sec="60"
 
みたいなの。

654 :名前は開発中のものです。:2009/03/05(木) 21:27:03 ID:/7Ei5x6Q
>>650
それは Prototype パターンだね

655 :名前は開発中のものです。:2009/03/05(木) 21:39:01 ID:g++EGVdD
ライフゲームの1セルを1オブジェクトにした実装はしない
と前書いた時通じたかと思った…

>>651
>とりあえず >> 372 のソースが見たいものだが
>オブジェクト=メモリのかたまりと考えてるのか?
DirectXの都合で、同じ描画のオブジェクトを集めたい

言語が痛いので、模擬コードです
class DrawAbleObj
{
  描画位置配列;
  void Draw(){/*SetStreamSource()1回に、SetMatrix()とDrawPrimitive()を配列要素数回 */}
  virtual update()
  add(座標)…など
}
class bullet :
class enemy :
class enemy_bullet :
/*初期化*/
DrawAbleObj配列.add(new bullet())
DrawAbleObj配列.add(new enemy())
DrawAbleObj配列.add(new enemy_bullet())
/*メインループ内のDraw*/
  foreach(型,i,DrawAbleObj配列)
    i.Draw();

>>652
MyShipに継承させたい物はあんまりないな
グローバルまで行かなくても、参照されて困らない所に在ればよくね?

656 :名前は開発中のものです。:2009/03/05(木) 21:39:53 ID:/7Ei5x6Q
>>653
その構造だと Enemy インスタンスが消滅すると
Bullet インスタンスも消えてしまうけど
Bullet インスタンスを残しておきたい場合などの表現が不可能になる

Enemy *enemy = new Enemy
enemy->Fire(); // ここでbulletが複数作られる
enemy->End(); // 敵の消滅
delete enemey; // ここでbulletも全部消える

継承という概念が分かってない
どこかで不具合がでてくる
設計で悩んでる

657 :名前は開発中のものです。:2009/03/05(木) 21:45:45 ID:/7Ei5x6Q
>>655
君は問題ない

658 :名前は開発中のものです。:2009/03/05(木) 21:47:03 ID:K8fBdWo9
>>656
Enemyが死んでもBulletは死なないように作ってる。
なんでBulletが消えるのか分からない。
EnemyのFireをBullet管理者が受け取ってBulletが生成されてるだけで、Enemyとの関連はない。

659 :名前は開発中のものです。:2009/03/05(木) 21:47:30 ID:sv4Dn5ZX
一体何の話かわからない俺はベターC

660 :名前は開発中のものです。:2009/03/05(木) 21:53:28 ID:g++EGVdD
>>654
いちお、生存期間中にCloneを作る事はないよ

自称Strategyのつもり、Update()に多態性を持たせたい
しかし、生存期間中にEnemyAがEnemyBにキャストされるような事はないので、自称

>>657
thx

661 :名前は開発中のものです。:2009/03/05(木) 21:59:43 ID:/7Ei5x6Q
#include <stdio.h>

class Object
{
protected:
double x;
public:
virtual void Fire() = 0;
};

class Bullet : public Object
{
public:
virtual void Fire();
};

class Enemy : public Bullet
{
public:
virtual void Fire();
};

//----------------------
// 永遠に呼ばれない
void Bullet::Fire()
{
x = 2.0;
printf( "%f\n", x );
}
//----------------------


662 :名前は開発中のものです。:2009/03/05(木) 22:00:07 ID:/7Ei5x6Q

void Enemy::Fire()
{
x = 1.0;
printf( "%f\n", x );
}

void main()
{
Object *obj = new Enemy;

obj->Fire();

delete obj;
}

となり無駄が生じる

663 :名前は開発中のものです。:2009/03/05(木) 22:03:17 ID:kKvbso12
>656こんな事言う人に問題ないと言われても安心できないと思うんだが
というかID:/7Ei5x6Qがなにを言いたいのか分からない


664 :名前は開発中のものです。:2009/03/05(木) 22:06:05 ID:K8fBdWo9
>>661
BulletもEnemyもFireは持ってない。
BulletもEnemyも呼ばれるのはupdateとdrawだけ。
それぞれの行動はupdateの中でScriptが決めてActionに実体がある感じ。
 
class Fireはないけどあえて書くなら
class Fire : public Action
class Move : public Action
みたいになっている。

665 :名前は開発中のものです。:2009/03/05(木) 22:11:08 ID:/7Ei5x6Q
>>664
すまんね ちと混合していた
Fire() はないようだね

君は Composite パターン

問題ない

ただ、複雑になるのはある程度予測しといた方がいい

666 :名前は開発中のものです。:2009/03/05(木) 22:15:21 ID:/7Ei5x6Q
>>664
いや
class Enemy : public Bullet
ここが問題

それでいくなら Decorator パターン

class Decorator : public Object
class Bullet : public Decorator
class Enemy : public Decorator
class MyShip : public Decorator
ではどうかね?

667 :名前は開発中のものです。:2009/03/05(木) 22:21:16 ID:g++EGVdD
>>663
>>656のミスリードには気付いてたけど、僕がいう事じゃ無いし

後はみんなの好き嫌いをアンケート程度の気分で聞いておく
>>661
ぐらいだったら、僕は許すな
アンチパターンも許すけど、

>Draw(){/*SetStreamSource()1回に、SetMatrix()とDrawPrimitive()を配列要素数回 */}
は譲れないな

668 :名前は開発中のものです。:2009/03/05(木) 22:23:48 ID:/7Ei5x6Q
>>660
なるほど EnemyA, EnemyB に目がいっていた

君がしたいのは Iterator パターンでは?

669 :名前は開発中のものです。:2009/03/05(木) 22:50:23 ID:/7Ei5x6Q
//----------------------
// 永遠に呼ばれない
void Bullet::Fire()
{
printf( "部長ぉぉぉぉぉぉぉ!!!\n" );
}
//----------------------
とかしてもいいかな

670 :名前は開発中のものです。:2009/03/05(木) 22:53:56 ID:/7Ei5x6Q
//----------------------------------------------------------------------------
// 永遠に呼ばれない
void Bullet::Fire()
{
MessageBox( HWND_DESKTOP, "返事がないようだ ただの屍のようだ", "error?", MB_OK );
or
MessageBox( HWND_DESKTOP, "パターンが分からないようだ", "error?", MB_OK );

}
//----------------------------------------------------------------------------

671 :名前は開発中のものです。:2009/03/05(木) 23:03:09 ID:vElUtQql
いまさらだけど、>>656
>Enemy インスタンスが消滅すると
>Bullet インスタンスも消えてしまう
な に を い っ て い る ん だ ?

継承を理解してないな。


それはそうと個人的には class Bullet : public Enemy なんだけどな。 弾は特殊な敵って意味合いで。

672 :名前は開発中のものです。:2009/03/05(木) 23:13:05 ID:/7Ei5x6Q
>>671
ミスリードと言ってるだろ

反応ないから寝る

673 :名前は開発中のものです。:2009/03/05(木) 23:16:48 ID:/4jagLW1
なんとなくメモリの動的確保をしたくない俺は
ずらずらとスパゲティ書いてるw

674 :名前は開発中のものです。:2009/03/05(木) 23:42:12 ID:1d/NzH52
うむ。まだデザパタがまだ生成パターンしか読み終わってないうちにはちと辛いな、デザタパで説明が完結されるとorz
てかみんな柔軟だな。実際のコードを覗いてみたいぜ。・・・C++は多分読めないけど

675 :名前は開発中のものです。:2009/03/06(金) 00:03:12 ID:Eu3rRFpD
>>674
ID:/7Ei5x6Q の言ってることはあまり気にしない方がいいよ。

676 :名前は開発中のものです。:2009/03/06(金) 07:29:29 ID:xstPUn85
>>675
ID変えてからの反応ではもう誰も信頼せんよ
そんなに否定するなら代案だせよ

ID:K8fBdWo9「だれか〜このソースどうにかしてくれませんか〜?」
ID:/7Ei5x6Q「こういうのはどうかね?」
ID:K8fBdWo9「・・・」

この船は先に進むんですか?

677 :名前は開発中のものです。:2009/03/06(金) 08:00:37 ID:UQFJ8zhz
>>676 港につきません。

678 :名前は開発中のものです。:2009/03/06(金) 11:06:50 ID:HHW0AAKz
どこをどう勘違いしたら>>656みたいな解釈になるんだ。

ていうか

>継承という概念が分かってない

ってのはID:/7Ei5x6Q 自身の話かな。
とりあえずC++のサイト回って勉強してみては?

679 :名前は開発中のものです。:2009/03/06(金) 12:07:53 ID:Eu3rRFpD
>>676
ID:K8fBdWo9が低レベルすぎて話にならない所をやんわり流してるんだろ。

680 :名前は開発中のものです。:2009/03/06(金) 12:11:05 ID:Eu3rRFpD
>>676
間違えた
ID:/7Ei5x6Qが低レベルすぎて話にならない所をやんわり流してるんだろ。

681 :/7Ei5x6Q:2009/03/06(金) 12:58:32 ID:xstPUn85
そうなのかい?
君のはデコレータパターンとコンポジットパターンの組み合わせだよ
もしくはパターンに当てはめられるのが嫌だったのかな
ごめんよ・・・

682 :名前は開発中のものです。:2009/03/06(金) 13:07:51 ID:q2+zc1Kz
クラス?継承?new?知らんがな(´・ω・`)

構造体最強ヒャァハァァァァー

683 :名前は開発中のものです。:2009/03/06(金) 13:36:30 ID:dVN9ZSyA
よう、俺。

684 :名前は開発中のものです。:2009/03/06(金) 13:57:04 ID:C76RJ9rx
>>682 その結論はオカシイ
 このパターン厨の書いてることは、パターンの名前で
ググる事ができる奴が見たら赤面もんのことばかりだぞ…

>>674の持ってる本がちょっと分厚過ぎるじゃないか?
GoFは、たった23個しか無くて判りやすい図が入ってる


…STG制作にはアンチパターン>>655が要る事もあるが、
発想の種子ぐらいにはなるんじゃない?

685 :名前は開発中のものです。:2009/03/06(金) 14:06:02 ID:q2+zc1Kz
>>684
いや、俺はガチで会話についていけないだけだww
最近になってポインタの使い道がわかって喜んで関数作って動いてSUGEEEEEEEEってやってるレベルだ

独学マンセー

686 :名前は開発中のものです。:2009/03/06(金) 14:15:36 ID:wgorap74
みんな いったい誰と戦っているんだ!?

687 :名前は開発中のものです。:2009/03/06(金) 15:03:36 ID:xstPUn85
ブルマは脱いだらアカンがな(`・ω・´)

688 :名前は開発中のものです。:2009/03/06(金) 16:33:57 ID:QhFILLD4
このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!


何でここ喧嘩と設計の話ばっかりなの?
実際に作ってる奴いるの?

689 :名前は開発中のものです。:2009/03/06(金) 17:41:36 ID:wgorap74
これは自作自演でうpする前フリだな

690 :685:2009/03/06(金) 18:57:39 ID:E7ymH2OK
作ってるぜっ(・∀・)半年前に一度うpしてるぜ

691 :名前は開発中のものです。:2009/03/06(金) 19:33:21 ID:fB/frkhf
頑張ってクラスとか継承とか使ってみるものの、こんがらがって死ぬ
設計がいかに大事かがセッ分かった気がする

692 :名前は開発中のものです。:2009/03/06(金) 19:49:27 ID:g/bnT2ZX
俺はObject クラス作って基本、自機や敵、それらの弾、爆発、背景等はみんなObjectから派生させて作ってる
敵から出る弾は当たり判定チェックの関係上、壊せる弾は敵と同じ扱い(Enemy派生)、壊せん奴は別扱い
ただ、getxとか使うとイメージ的に負荷かかりそうで座標とかpublicにしてるためStructチックになってしまってるorz
以前は強引にfriend使ってたw
まあとりあえず完成させればいいよな、どこかは言わんが以前別スレにうpしてる

693 :名前は開発中のものです。:2009/03/06(金) 19:58:07 ID:CCKZ0ZvT
>>692
特定した

694 :名前は開発中のものです。:2009/03/06(金) 20:04:30 ID:xstPUn85
>>692
当たり判定は どこのクラスでやってる?

695 :名前は開発中のものです。:2009/03/06(金) 20:35:02 ID:t1RJlJqe
作ってるぜ、劣化サイヴァリアみたいなの。ここのレスはレベルが高くて理解出来ないけど。

696 :名前は開発中のものです。:2009/03/06(金) 20:40:28 ID:C76RJ9rx
この流れなら言える!!
ちょい前までゲーム制作ブログのオマケでSTGも挙げてたけど、全部消してバックれたぜw


…移転先や安否を気遣うメールは一通たりとも来なかったぜ… orz
きっと、色々内情を察してくれたんだ、多分、きっと多分

697 :名前は開発中のものです。:2009/03/06(金) 20:45:54 ID:g/bnT2ZX
当たり判定はゲーム本体のクラスでやる予定(以前はグローバル関数でやってた)

698 :名前は開発中のものです。:2009/03/06(金) 21:37:07 ID:xstPUn85
>>696
バックれたら 移転先もわからんだろうw

699 :名前は開発中のものです。:2009/03/06(金) 21:42:08 ID:ZZrBBfbz
>>697
ミジンコがうじ虫になるくらいの進化じゃないか!

マジレスするならグローバル関数でやるのと大差ないぞ、それ。


700 :名前は開発中のものです。:2009/03/06(金) 21:50:00 ID:QYwcIkUm
JAVAで作ってるのは俺くらいか……
つい最近調べてみたら、なんか東方遊夜雀なんてもんが開発されてたりするのね。
ハードル高いwwww

701 :名前は開発中のものです。:2009/03/06(金) 21:58:23 ID:g/bnT2ZX
駄目なのか
他にも敵クラス辺りに当たり判定するメンバ関数作ることも考えてるけど
まあ呼び出すところは変わらんけど

702 :名前は開発中のものです。:2009/03/06(金) 22:02:00 ID:QYwcIkUm
普通はbulletクラスかplayerクラスにisHit関数を付けるもんだろう。
だってそうしないと弾固有の当たり判定とかとれないじゃん。

703 :名前は開発中のものです。:2009/03/06(金) 22:23:03 ID:k/SdMtBY
>>697
俺の場合、
class CollisionListener {
public:
  int getX();
  int getY();
  int getWidth();
  int getHeight();
  void touched(CollisionListener* obj) // objは衝突相手
};

class Player : public CollisionListener;
class Bullet : public CollisionListener;
class Enemy : public CollisionListener;

/* 衝突判定のカテゴリを分類する。(例:プレイヤなら敵、敵弾、地面と衝突。敵弾ならプレイヤ、地面と衝突) */
enum CollisionGroup { Player, PlayerBullet, Enemy, EnemyBullet, Ground };

/* 衝突検知を管理するクラス(ほんとは○○マネージャとかいう名前はダメなんだとかうんたらかんたら……) */
class CollisionManager {
public:
  void addListener( CollisionGroup type, CollisionListener* listener ); // リスナ(プレイヤ、敵とか)を登録する
  void removeListener( CollisionGroup type, CollisionListener* listener ); // 登録を抹消する
  void detect(); // 登録されたリスナの衝突を検知し、衝突したならリスナのtouchedメソッドを呼び出す
};


704 :名前は開発中のものです。:2009/03/06(金) 22:27:05 ID:C76RJ9rx
ぶっちゃけ関連ページが全部消えててメアドだけ生きてるとは普通思わないもんな

>>701
これくらいなら「ダメ出し」があったとしても、クラス設計の善し悪しの話で、
>>702みたいなのをifで逃がすことになると、クラス設計が下手だと言われる。

 その関数の中に、switchやifが沢山含まれるなら、設計を変える事で
良くなる『可能性』があるし、将来の拡張でswitchやifを加えないで済む『可能性』もある


アドホックなswitchやifも許し… 
…今クラス設計の話をしてるんだから、参考にすべきだ(゚Д゚)ハッ!

705 :名前は開発中のものです。:2009/03/06(金) 22:51:03 ID:QYwcIkUm
それはそうとおまえらに質問。
クラス名の相談なんだが、敵の弾クラスはbulletでいいと思うんだが、自分の発射した弾はなんて名前にするのがベスト?
bulletクラスを継承してないからplayerBulletって名前にするのも変だし……

706 :名前は開発中のものです。:2009/03/06(金) 22:59:54 ID:C76RJ9rx
shot に一票

707 :名前は開発中のものです。:2009/03/06(金) 23:06:52 ID:ZZrBBfbz
>>705
EnemyBullet,PlayerBullet
って明記してしまえば後で見ても間違わない気がする。
気がするだけかもしれない。

Object -> Enemy -> EnemyBullet
   ├ -> Player
   └ -> PlayerBullet
みたくなるだろうけど、それでよければ。


708 :名前は開発中のものです。:2009/03/06(金) 23:07:20 ID:QYwcIkUm
>>706せんきゅー。shotって命名しておいたぜ!
それと、携帯アプリのSTGだとどういうインターフェイスで弾撃たせるのが楽かな?
自動で撃ってしまうとそれはそれで戦略性が低くなってしまいそうなのだが。

709 :名前は開発中のものです。:2009/03/06(金) 23:09:44 ID:ZZrBBfbz
>>707は矢印の方向に継承するってことでヨロ。

クラス図としてみたら逆になっちゃうけど突っ込んじゃらめぇ

710 :名前は開発中のものです。:2009/03/06(金) 23:10:38 ID:CCKZ0ZvT
プレイヤーの弾はChinkoにして可読性を著しく低下させてる

711 :名前は開発中のものです。:2009/03/06(金) 23:14:46 ID:ZZrBBfbz
>>710
おま…それアンタッチャブルじゃないか
触れないです><

712 :名前は開発中のものです。:2009/03/07(土) 14:49:37 ID:oFkRuMFA
class OchinpoMilkとかやるだろ。
あとで後悔するんだけど。

713 :名前は開発中のものです。:2009/03/07(土) 15:07:06 ID:bRexpzAJ
確かにシューティングゲームだな

714 :名前は開発中のものです。:2009/03/08(日) 05:03:44 ID:j2H/7CnL
class AbstractManko
{
private:
    virtual long ChinkoPlease(size_t) = 0;
};
//○月×日作成: すべてのクラスはこれを継承してねw名前変えないでねw

715 :名前は開発中のものです。:2009/03/08(日) 07:56:41 ID:XlVAa9br
すべての存在はAbstractなMankoから生まれる……

716 :名前は開発中のものです。:2009/03/08(日) 15:43:28 ID:B8bsQorT
なるほど。playerはmotherShipクラスから生成されて、enemyはalienMotherクラスから生成されるんだな……

717 :名前は開発中のものです。:2009/03/08(日) 16:19:58 ID:AO3ln+kr
ChinkoPlease(size_t) がprivate:って、
ありえねぇーことを宣言するなw。

718 :名前は開発中のものです。:2009/03/08(日) 16:29:42 ID:3kCVX1OJ
STGの話題じゃないけど
#include <iostream>

class A{
private:
        virtual void aa(void) = 0;
};
class B : public A{
public:
        void aa(void){}
};


int main(void){
        B b;
        b.aa();

        std::cout << "hello" << std::endl;
        char c;
        std::cin >> c;
        return 0;
};

が通るのは何で?

719 :名前は開発中のものです。:2009/03/08(日) 16:35:19 ID:lUOcnlf/
何が疑問なのかわからないが、、、、virtual をオーバーライドした関数はvirtual が無くてもvirtual

720 :名前は開発中のものです。:2009/03/08(日) 16:54:34 ID:iZlPrvU5
タイプセーフが無いC++的にはこうだよ。 タイプセーフな他の言語から見るととおかしいのだろうけど
#include <iostream>

class A{
private:
? ? ? ? virtual void aa(void) = 0;
public:
? ? ? ? void update(void){
? ? ? ? ? ? ? ? std::cout << "update" << std::endl;
? ? ? ? ? ? ? ? aa();
? ? ? ? };
};
class B : public A{
public:
? ? ? ? void aa(void){
? ? ? ? std::cout << "aa() of B called." << std::endl;}
};


int main(void){
? ? ? ? B b;
? ? ? ? A *a;
? ? ? ? a = &b;

? ? ? ? //a->aa(); エラー
? ? ? ? a->update();
? ? ? ?
? ? ? ? return 0;
}


721 :名前は開発中のものです。:2009/03/08(日) 16:54:35 ID:XklWG2/f
???何で通らないと思うのか?

class A の private: virtual void aa(void) = 0;
は、どこでも使ってないから捨てられるだろ?
ちなみに *aa=NULL; って意味だから。aa(); とかやって実行するのは危険だね。
Windows なら特権エラー(不正な処理を実行しましたダイアログ)かな?

class B の public: void aa(void){}
は、main 始まったらすぐ実行されるね。ここは、
public: void aa(void){std::cout << "ot"; }
とでもしとけば?

722 :名前は開発中のものです。:2009/03/08(日) 16:58:17 ID:XklWG2/f
>>721
*aa=NULL; はまちがい。aa=NULL;


723 :名前は開発中のものです。:2009/03/08(日) 17:01:45 ID:3kCVX1OJ
C++はあまりわかんないです。
不思議だと思ったのは
class Aのprivateな抽象関数aaを
Aを継承したclass Bでpublicに実体を作っているところです。

724 :名前は開発中のものです。:2009/03/08(日) 17:07:12 ID:XklWG2/f
「privateな抽象関数aa」は、class Bへ継承させても、継承されてないよ。だってprivateだもん。

725 :名前は開発中のものです。:2009/03/08(日) 17:09:35 ID:3kCVX1OJ
>>724
そう思います。
でもこれが通らないんです。
#include <iostream>

class A{
private:
        virtual void aa(void) = 0;
};
class B : public A{
public:
        //void aa(void){}
};


int main(void){
        B b;
        //b.aa();

        std::cout << "hello" << std::endl;
        char c;
        std::cin >> c;
        return 0;
};


726 :名前は開発中のものです。:2009/03/08(日) 17:11:14 ID:XklWG2/f
>>724


727 :名前は開発中のものです。:2009/03/08(日) 17:12:13 ID:iZlPrvU5
>>724
virtual抜いたらコンパイルできない。
http://codepad.org/MaZEDgo2

「privateな抽象関数aa」は、pubicな aa()でもオーバーライドできるだろ

728 :名前は開発中のものです。:2009/03/08(日) 17:15:16 ID:XklWG2/f
>>724
ごめん間違えた。
「privateな抽象関数aa」は、class Bへ継承されているが class Bのpublic aa();の方が優先だから、
class Bのpublic aa();にしかアクセス出来ない。

ここでclass A の privateやvirtualなbb();とかあれば、継承されるから、
int main(void){
B b;
b.bb();
とかで使えると思う。


729 :名前は開発中のものです。:2009/03/08(日) 17:18:35 ID:3kCVX1OJ
抽象関数を持つclass Aを継承したclassは、
class Aの抽象関数を実体化しなくてはいけない。
 
 
と思っていたのです。
そうではないのですね。
javaから入ったので不思議でした。

730 :名前は開発中のものです。:2009/03/08(日) 17:25:14 ID:iZlPrvU5
>>728
>class A の privateやvirtualなbb();とかあれば、
ねーよw
http://codepad.org/aEfKdVPO

731 :名前は開発中のものです。:2009/03/08(日) 17:25:58 ID:XklWG2/f
ttp://msugai.fc2web.com/java/override.html
>アクセス修飾子の規則の例外として、private 修飾されたメソッドはオーバーライドできません。
JavaもC++も同じじゃないかな?

732 :名前は開発中のものです。:2009/03/08(日) 17:27:59 ID:XklWG2/f
>>730
>>728
ごめんそれも間違いだ。bb();とか無理です。

733 :名前は開発中のものです。:2009/03/08(日) 17:31:31 ID:3kCVX1OJ
privateな抽象関数を持つclass Aを継承したclass Bが実体化出来るのが不思議。
同class Aの抽象関数aaと同じ名前のpublicな関数をclass Bに作ったことで動く事が不思議。
同class Aの抽象関数aaを継承したclass Bでで作らないと実体化できない事が不思議。
なんかそんな感じです。
すみません。

734 :名前は開発中のものです。:2009/03/08(日) 18:00:50 ID:uTNKd2IK
プログラム板の初心者C++スレでやろうぜ・・・

735 :名前は開発中のものです。:2009/03/08(日) 20:02:21 ID:t0AdkGXJ
Javaは違うのかもしれんがC++はそういう仕様なんでしょ
メンバ変数も違うアクセス修飾詞でオーバーライドできるし
抽象関数を持ったクラスはそれを派生させて実装したクラスでないと実体化できんのはJavaでも同じでしょ

736 :名前は開発中のものです。:2009/03/09(月) 00:20:55 ID:vdPDd+Q/
javaって派生先の仮想関数のアクセス修飾を変えれなかったんじゃなかったっけ?

737 :名前は開発中のものです。:2009/03/09(月) 00:54:10 ID:4v1RPow6
オブジェクト指向も度がすぎると、使われもしないゴミクラスが
沢山残る罠。

738 :名前は開発中のものです。:2009/03/09(月) 01:02:27 ID:4v1RPow6
↑ただ単に今一、配慮を怠ったクラスを書くと
そういう事になると言うのをいいたかっただけ。

739 :名前は開発中のものです。:2009/03/09(月) 01:43:12 ID:j7Fn6gwa
継承が多くても、STG中にキャストする様なオブジェクトとかあんまり無いと思うけどな
オブジェクト指向とか言うほど大げさなモノでも無い

抽象基底クラスを作り、それの配列かコンテナに継承した子のオブジェクトをいれる
遷移するモノならインターフェースを作り、継承した状態のオブジェクトを保存しておくだろ

あんまり思い浮かばない。 楽につくる事が優先だ

740 :名前は開発中のものです。:2009/03/09(月) 02:29:20 ID:nD/Sv/Tx
敵とか敵弾とか継承してもどうせ分けて扱っちゃうし・・・

741 :名前は開発中のものです。:2009/03/09(月) 05:33:07 ID:s3+yn2Ga
け、継承って何だ、クラスって何だ

敵の構造体とか、弾の構造体でいいだろっ
動的確保?知らんがな(´・ω・`)

742 :名前は開発中のものです。:2009/03/09(月) 05:50:33 ID:nD/Sv/Tx
いちいち動的確保なんかしてたら弾幕の生成でめちゃくちゃ処理落ちする
俺は最初に作っとくの

743 :名前は開発中のものです。:2009/03/09(月) 10:04:04 ID:c/sep/SW
ボス戦とかどうしてるんだ。
予め発射される弾の数を決めてるってことか?

744 :名前は開発中のものです。:2009/03/09(月) 10:41:10 ID:s3+yn2Ga
一万発分くらい確保しとけばおkkkkkk

745 :名前は開発中のものです。:2009/03/09(月) 10:48:15 ID:nD/Sv/Tx
>>743
一体何万発確保するつもり?
決めるといっても、せいぜい2〜3000発程度。これ以上多いとメモリ云々以前にゲームとして無理。

746 :名前は開発中のものです。:2009/03/09(月) 12:24:29 ID:c/sep/SW
いや、そういう意味じゃない。
ボス戦だと、ボス倒すまで延々と戦闘が続く訳じゃん。
合計弾発射数は、実質無限な訳じゃん? ということは、どっかで弾リストのクリーンナップでもしてるんだろ?
どうやって要らない弾とそうでないのとか分けてるのかと。

747 :名前は開発中のものです。:2009/03/09(月) 12:30:20 ID:c/sep/SW
それとさ、普通はbullet[]にしろリストにしろ、実際に格納されてるのはbulletクラスを継承した
StreightBulletクラスとかAccelBulletとかcurveBulletな訳じゃん。
newしないでどうやって使いまわすの?

748 :名前は開発中のものです。:2009/03/09(月) 12:36:43 ID:nD/Sv/Tx
>StreightBulletクラスとかAccelBulletとかcurveBulletな訳じゃん。
こんなことしてねーもんwww

749 :名前は開発中のものです。:2009/03/09(月) 12:39:35 ID:4gpR4arb
画面外に出たりどっかにぶつかったら未使用状態に戻せばいいだけ
クラスだけで動作変えてるならそりゃnew必要でしょう

750 :名前は開発中のものです。:2009/03/09(月) 12:40:29 ID:nD/Sv/Tx
ちなみにこれ
>どうやって要らない弾とそうでないのとか分けてるのかと。
リスト2つ作ればいいじゃん

751 :名前は開発中のものです。:2009/03/09(月) 12:42:50 ID:9YN/v32z
クラスだけで動作変えるとかないわ
本人は継承を有効活用してるつもりだろうが、無駄でしかない

752 :名前は開発中のものです。:2009/03/09(月) 12:45:34 ID:s3+yn2Ga
>>746
俺リストよくわからん
弾にフラグもたせてて設置されているなら1、設置されていないなら0
置かれた順にソートもしてるぞ。設置する時に空いてる弾拾ってきて構造体の仮想連結の最後にくっつけてフラグON
弾が削除される瞬間に前後の番号の弾連結してから弾の構造体のメンバ初期化してフラグをOFF


753 :名前は開発中のものです。:2009/03/09(月) 12:48:31 ID:M8Y9J7eH
>>750
>>492(というかそこからの一連の流れ)みたいな感じ?
あと動的確保するだけでそんな処理落ちする?

クラスだけで動作変えるってのがよく分からない
あとそうじゃなかったらどう動作を変えるの?

754 :名前は開発中のものです。:2009/03/09(月) 12:53:40 ID:c/sep/SW
えー、みんな曲射弾とか加速/減速弾とか誘導弾とか重力弾とか拡散/炸裂弾とか別々のクラスにしてないのー?
別々のクラスにしておけば拡張が簡単だよ?

755 :名前は開発中のものです。:2009/03/09(月) 12:53:40 ID:L17yPJfy
>>747
うん、newしないと継承が使えなくなって不便な面はある。
でも弾が多くなってくると、それを差し引いてもnewしない事によるパフォーマンス的なメリットはあるよ。実際スペックしょぼいノートPCで試したら30fpsが60fpsになったし。

756 :名前は開発中のものです。:2009/03/09(月) 12:53:44 ID:nD/Sv/Tx
>>753
あぁ、ちょうどこんな感じ、STLは使ってないけど
処理落ちは量によってはする。弾数の多いn-way弾とか、出現と消失が頻繁なときとか。
最近のPCじゃ気にならないだろう。それだけに、こんなに話題が続くとは思ってなかったがw

>あとそうじゃなかったらどう動作を変えるの?
動作の部分だけ別に作る

757 :名前は開発中のものです。:2009/03/09(月) 12:56:34 ID:c/sep/SW
なるほど。弾種類からswitchしてprivate staticメソッドを呼ぶのかw なんかそれも変な気もするが。

758 :名前は開発中のものです。:2009/03/09(月) 12:57:43 ID:nD/Sv/Tx
>>757
馬鹿?

759 :名前は開発中のものです。:2009/03/09(月) 12:58:29 ID:s3+yn2Ga
>>754
弾の行動をひたすら書いてるソースファイルがある
特にキモイ動きさせたくなければ無指示でも動くし指示しまくれば弾が増えたりグラフィック変わったりどんな奇天烈な動作もお手の物

760 :名前は開発中のものです。:2009/03/09(月) 13:02:11 ID:9YN/v32z
>>757
動作分岐でswitchしか知らないのか

761 :名前は開発中のものです。:2009/03/09(月) 13:17:02 ID:wiYT9l9H
弾1発ごとにnewしてdeleteしてたらメモリに断片できまくらない?

762 :名前は開発中のものです。:2009/03/09(月) 13:33:25 ID:Q0zoLpbu
total memoryが1MB位しか無いenvironmentなら話はotherだが、
今時そんなところを気にしても仕方ないぞ。
心配ならboost::pool使っとけ。

booooostが気に食わないなら、弾の継承クラスを全て包含した共用体で配列を作って
placement newすればいい。

763 :名前は開発中のものです。:2009/03/09(月) 13:35:45 ID:M8Y9J7eH
>>753
なるほどね、大体把握(したと思うw)
>動作の部分だけ別に作る
これってどんな感じ?

俺のイメージ的には

bullet{
bulletがもってるステータス(位置とか)
moveA(){ /* 動作A */};
moveB(){ /* 動作B */};
}

こんな感じなんだけど
それとももっと手続き的?な感じなのかな

764 :名前は開発中のものです。:2009/03/09(月) 13:46:24 ID:4gpR4arb
関数ポインタ持たせてもいいけど、動きはスクリプトにして実行時に読ませることもあるしなあ

765 :名前は開発中のものです。:2009/03/09(月) 13:52:06 ID:nD/Sv/Tx
>>763
弾に直接はもたせない。デリゲートする。

766 :名前は開発中のものです。:2009/03/09(月) 13:54:05 ID:9YN/v32z
スクリプトはもう別の話だろう
設計自体が大きく変わる

767 :名前は開発中のものです。:2009/03/09(月) 13:58:24 ID:L17yPJfy
>>765
言語にもよるだろうけどdelegate作るとnewと同様コストかかんない?

768 :名前は開発中のものです。:2009/03/09(月) 14:02:36 ID:nD/Sv/Tx
>>767
デリゲートっていうと大げさか。所詮ポインタ演算だし。関数ポインタとどっこい。
気に食わなきゃ>>762でもしてろってこった。でも「いちいちnew」は絶対にやだね。

769 :名前は開発中のものです。:2009/03/09(月) 14:41:27 ID:DKKqMNCl
1フレーム内で100も200もnewしなければいいだけの話で、
new/deleteをそこまで毛嫌いすることも無いと思うお。
ちなみに俺はnewしたものはdeleteせずにプールして使いまわしてる。
クラスごとにプールが出来てテラカオスw

770 :名前は開発中のものです。:2009/03/09(月) 14:46:04 ID:M8Y9J7eH
>>766
そういう設計の話もしていいんじゃない?
というか参考にしたいから色々話をしててくれると助かる

>>768
うん、とりあえず「デリゲート」ってのを初めて知ったよw
簡単にググって調べただけだから全然理解できてないけど
オブジェクト指向版の関数ポインタみたいな感じかな?
>>763の例でいくとbullet以外にmoveobjがあって
その中にメソッドmoveA、moveBがあるみたいな感じでおk?

思ったんだけど「STG」でまとめてるけど弾幕系なのか否かで最適な設計も変わってくるよな

771 :名前は開発中のものです。:2009/03/09(月) 14:47:13 ID:nD/Sv/Tx
俺はID:c/sep/SWに突っ込まれたから答えてただけ

772 :名前は開発中のものです。:2009/03/09(月) 14:55:43 ID:nD/Sv/Tx
>>770
まぁそんな感じ。汚いから多分もっとちゃんとした実装考えるけど。

773 :名前は開発中のものです。:2009/03/09(月) 14:56:41 ID:9YN/v32z
>>770
スクリプトの解析は実行時にやるしか方法はないのか?

774 :名前は開発中のものです。:2009/03/09(月) 15:15:38 ID:M8Y9J7eH
>>772
サンクス
いや勉強になったわ

>>773
ん、俺へのレス?

775 :名前は開発中のものです。:2009/03/09(月) 19:45:24 ID:yVcj05z4
いつも思うんだけど、このスレでは一度newとdeleteを自分で定義する方法を
教えた方がいい希ガス。
newが重いなんてのは、newをオーバーライドできることを知らない奴の戯言だろう。

776 :名前は開発中のものです。:2009/03/09(月) 20:01:59 ID:c/sep/SW
アブストラクト尺取りパターンっていうあれだな!
……すまん、それってjavaでもできるの?>newのオーバーライド

777 :名前は開発中のものです。:2009/03/09(月) 20:08:44 ID:Q0zoLpbu
お前それただjava言いたいだけちゃうんかと

778 :名前は開発中のものです。:2009/03/09(月) 20:10:05 ID:VLwDy1Z0
>>776
Javaはそもそも演算子オーバーライドをサポートしてないな。(文字列の+除く)
C#もnewはサポートしてないと思う。

779 :名前は開発中のものです。:2009/03/09(月) 20:21:37 ID:c/sep/SW
ともかく。
いちいち弾丸を作成させる際にnewを使わないのは、ゲームにおける総使用メモリ量をむやみやたらと増やさないためだろ?
だとすれば、bulletクラスの中に総ての弾丸の動作なりパラメータを突っ込むのも、ましてや弾丸ひとつひとつがスクリプト動作なんてのも、
決して奨められるべき軽量化の仕組みじゃないんじゃねえか。
まあ、弾丸の最大出現数くらいは制限をかけてしかるべきだと思うけども。

780 :名前は開発中のものです。:2009/03/09(月) 20:33:00 ID:vlsfOe2n
ID:c/sep/SWは>>757からちっとも成長がないな…

781 :名前は開発中のものです。:2009/03/09(月) 20:37:29 ID:iQeP+3UH
>>779
逆でございます。

782 :名前は開発中のものです。:2009/03/09(月) 20:41:09 ID:9TcJmEGm
ひとつのパターンに凝り固まって他の可能性とその技術を考えられないんだな、
ある意味、全くの無知よりたちが悪い。

783 :名前は開発中のものです。:2009/03/09(月) 20:54:50 ID:hDtxD0U6
人それをバカの壁という

784 :名前は開発中のものです。:2009/03/09(月) 20:58:05 ID:xoToA8tC
何でもかんでも出来る1000byteくらいの弾クラスを10000発用意しておいてもメモリは10MBだろ。
PCで作ってる分には何ら問題ないじゃん。
newをゲーム中にしたくないのはコストがでかくてボトルネックになるからだ。
とマジレス。
 
自信ないけどマジレスになってるよね?

785 :名前は開発中のものです。:2009/03/09(月) 21:04:45 ID:DKKqMNCl
>>784
「1フレームあたりX回以上newすれば処理落ちが発生する」とかいう目安というか、カンみたいなものがあるなら良いんじゃね。
実際にnew/deleteがどれだけ重いのか評価する手法でもあればいいんだが。

786 :名前は開発中のものです。:2009/03/09(月) 21:11:35 ID:c/sep/SW
newの実質的なコストって生成時にmallocを発行してる部分くらいじゃないの。
ま、デストラクタがあれば、そこも処理に影響するんだろうけど。

787 :名前は開発中のものです。:2009/03/09(月) 21:34:19 ID:vlsfOe2n
>>785
>実際にnew/deleteがどれだけ重いのか評価する手法
メモリ断片化とか色々あって、線形的には求まらない予感

エンドの環境依存も大きいし
俺が賭け事で弱いので、カンとかあんまり頼れない

788 :名前は開発中のものです。:2009/03/09(月) 22:56:30 ID:86T0U1dK
実際にゲームを作ってみて重いと感じたら別の方法を模索すればいいだけの話だと思うんだがな。

789 :名前は開発中のものです。:2009/03/09(月) 23:26:04 ID:YtHLVg0L
やっぱ new にはコストかかるのか
俺はそうだと思っていったんある程度の量を最初に確保してから使い回そうと考えたこともあったな
結局面倒になって適宜 new にして使ってるけど
まあ俺は激しい弾幕使ってないから大して困らないのだろうけど
いったんある程度の量を最初に確保してから使い回す方法を取ってる本もあったな

790 :名前は開発中のものです。:2009/03/09(月) 23:34:30 ID:frstm+EJ
メモリの断片化か・・・根深い問題だな。自由度を増やせば増やすほどに異常が増えていく。
ある程度複雑になると、突然例外大発生だもんな。どうにかならないものか。

791 :名前は開発中のものです。:2009/03/09(月) 23:44:57 ID:JKHKOtra
性的確保&構造体リスト最強説

256本もリスト作ったから変なソートいらないZE☆

792 :名前は開発中のものです。:2009/03/09(月) 23:49:48 ID:hDtxD0U6
>>791
なんだかエロいな

793 :名前は開発中のものです。:2009/03/10(火) 02:09:56 ID:is2LuZ0W
関数WinMainの中にすべてを詰め込んで、
「シングルトンって言うのかな、等身大の自分に合った小悪魔的デザインパターン☆」
とか言ってるやつってなんなの

794 :名前は開発中のものです。:2009/03/10(火) 08:19:34 ID:YODFEaFk
名前聞けばいいだろ

795 :名前は開発中のものです。:2009/03/10(火) 08:20:22 ID:XEibpF8L
タスクマネージャ使うと分かると思うけど、東方は普通に50MBとか食ってるぞ
たぶん起動時にものすごい量の弾を確保してるんだと思う

それにしても、あの化け物じみた描画速度はなんなんだ・・・・

796 :名前は開発中のものです。:2009/03/10(火) 09:46:51 ID:z6f1lzf6
構造体リストと普通のジェネリックなLinkedListってなんか違うのか?
むしろ、リスト構造そのもののパフォーマンスでいえばArrayListの方が高い訳だし、構造体リストにこだわる必要は無いような。

797 :名前は開発中のものです。:2009/03/10(火) 10:37:13 ID:xhsEfov4
newのコストもだけど、GCがある言語(C#,D言語等)ではGCが動くコストも馬鹿に出来ない。これはnewする瞬間じゃなくてゲーム中常にかかる恐れがあるから性質が悪い。

798 :名前は開発中のものです。:2009/03/10(火) 11:57:08 ID:zS8jCfA2
構造体リストに限定した話なんて誰もしていない件

799 :名前は開発中のものです。:2009/03/10(火) 12:24:14 ID:iLQTzUsY
>>795
まあ片手間とはいえ本職ゲームプログラマの作品だし・・・・・
ただ、いくら弾幕でも弾はせいぜい同時1000発ほど
容量を食ってるのはテクスチャとか音声だろう

800 :名前は開発中のものです。:2009/03/10(火) 12:38:17 ID:BXbMSorN
DirectX本スレでも東方ネタで酷いコンニャク問答があったな

さすがにこのスレにはPix for Windowsと東方(体験版含む)の
両方がそろえられないパソコン初心者は居ないだろうな?

801 :名前は開発中のものです。:2009/03/10(火) 13:04:35 ID:zS8jCfA2
何の話だ

802 :名前は開発中のものです。:2009/03/10(火) 13:11:23 ID:BXbMSorN
>>795 起動時にものすごい量の弾を確保
>>799 せいぜい同時1000発から
が激しく可笑しかったという話

803 :名前は開発中のものです。:2009/03/10(火) 13:40:55 ID:WjmOfCMU
>>800
Pixなんちゃらも初めて知ったし東方は要るの?
東方をやろうとも思わないわけなんだけど

804 :名前は開発中のものです。:2009/03/10(火) 13:57:07 ID:qoncgAvF
PIXはDirectXのSDKいれてりゃあるだろ。
オレも東方は動画でちょっと見ただけだな。

805 :名前は開発中のものです。:2009/03/10(火) 14:12:22 ID:BXbMSorN
>>803

東方が特別とは思ってない
たまたま、dat落ちしていたDirectX本スレのネタを思い出したぐらいの関連

806 :名前は開発中のものです。:2009/03/10(火) 14:24:10 ID:FYjcJP4e
そのたまたま思い出したネタが
あたかもこのスレの人間全員に通じるように
いきなり語りだした心理状態が理解できない。

807 :名前は開発中のものです。:2009/03/10(火) 14:27:20 ID:WjmOfCMU
>>804
ほんとだ、入ってるわ。知らんかった

>>805
東方のことはわかった
でもPIXの方は使えてないとダメって意味じゃないの?

ここにくるからには「ゲームを作りたい」と思ってるのは確かだけど
DirectXの扱い(というか製作工程?)に熟練してるのを前提にしてるのはおかしくない?
そりゃ例えばC言語の基礎がわからないとかなら話は別だけど・・・

808 :名前は開発中のものです。:2009/03/10(火) 14:31:43 ID:NZS10vbU
そもそもプログラマしか居ないわけじゃないし…

809 :名前は開発中のものです。:2009/03/10(火) 15:20:21 ID:BXbMSorN
自治厨みたいに取られたとしたら、誤解だ
滑稽な笑い話だと思ったので、キツメの冗談をいれただけ
       /_      |
       /. \ ̄ ̄ ̄ ̄|
     /  /  ― ― |
     |  /    -  - |
     ||| (6      > |
    | | |     ┏━┓|    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   | | | |     ┃─┃|  < 正直、すまんかった。
   || | | |  \ ┃  ┃/    \________
   | || | |    ̄  ̄|


自分の環境でもC++は現役じゃない、読めても書けない
だが、このスレは役立ってる もっとやれ

810 :名前は開発中のものです。:2009/03/10(火) 15:32:06 ID:is2LuZ0W
今日のキチガイはID:BXbMSorNか

811 :名前は開発中のものです。:2009/03/10(火) 15:45:52 ID:xIah3Ja8
はいはい、自虐風自慢自虐風自慢

812 :名前は開発中のものです。:2009/03/10(火) 17:18:21 ID:z6f1lzf6
よくわからんが、DXの重さとプログラム自体の重さがごっちゃになってないか?って話だろ多分。
だって、テクスチャとかってDXならVRAMのほうにキャッシュされるじゃん、とかそういう感じ?
そもそも東方で使ってるテクスチャとかイメージとか全部足してもそんな大きいものにならんよな。

813 :名前は開発中のものです。:2009/03/10(火) 18:55:33 ID:w5LZNudx
>>795
東方はスタート時に最大2000の弾の構造体用意して弾作るときに空きフラグ探してるだけのような雰囲気だけどね
弾幕眺めていると弾作成順序と描画順序が合ってないときがあるし

814 :名前は開発中のものです。:2009/03/10(火) 20:00:35 ID:EAZXIwPU
まったく話が先に進まんね

815 :名前は開発中のものです。:2009/03/10(火) 20:34:40 ID:WjmOfCMU
>>795の真意がわからないけどその前までの話は動的確保か静的確保かって話でしょ?
俺は詳しく分からないけどnew、deleteが原因で重くなるってのはどれぐらいからなの?

あと話変わるけどみんなどんな開発環境でやってる?
今どんな感じで進めようか考えてるところなんだけど色々参考にしたい
c++でDirectX使って自分でライブラリ作って進めるのとかってかなり根気いるよな?
やっぱDXライブラリとかseleneとかでやってる人の方が多いのかな

816 :名前は開発中のものです。:2009/03/10(火) 21:10:45 ID:7gM7pWnB
>>815
対象OS: Windows/Linux

エディタ: vi
使用言語: C++, Perl
コンパイラ: gcc

ライブラリ(GUI): SDL
ライブラリ(画像処理): SDL_image, SDL_ttf
ライブラリ(音声処理): SDL_mixer

Windows専用: MinGW(Windows版gcc), MSYS(Autoconf実行環境)
その他ツール: Autoconf, Automake(Makefile自動生成), make, Subversion(バージョン管理システム), Trac(バグトラッキングシステム)
画像関連ツール: GIMP(ペイント系のお絵かきソフト?), 発色弾(爆発画像生成)
音声関連ツール: Rosegarden(MIDIシーケンサ), Audacity(DAWソフト), OggEnc(OGG Vorbisエンコーダ)

817 :名前は開発中のものです。:2009/03/10(火) 21:39:11 ID:r1vtyYFk
>>815
私は勉強のためにC++とDirectXでやってますね。大規模なライブラリを使うのにはやや抵抗が。。
初心者脱却すればそういうこともなくなるんでしょうかね。

818 :名前は開発中のものです。:2009/03/10(火) 23:44:39 ID:TZYyXrii
http://www.freem.ne.jp/cgi-bin/bbs/create/osiete.cgi/mode_view/no_160/p_2/
コピペ? 本人降臨でもさほど驚かないな


>>815
SlimDX
ソースが公開されていないことには話にならない

819 :815:2009/03/11(水) 02:06:14 ID:p1QxzQFQ
おお、結構色々あるんだな
ゲームを早く作るってことなら既成のライブラリ使った方が速いだろうけど
DirectXの勉強もしときたいんだよな
なかなか悩ましいところだ

820 :名前は開発中のものです。:2009/03/11(水) 03:45:10 ID:VaF0H100
解像度ってどうしてる?
640x480もいいけど320x240の荒さも美しい。

821 :名前は開発中のものです。:2009/03/11(水) 07:27:36 ID:w8fCzJC6
縦長だろ常考

822 :名前は開発中のものです。:2009/03/11(水) 08:05:24 ID:4/xdNvp5
8*16最高

823 :名前は開発中のものです。:2009/03/11(水) 08:33:34 ID:Tp27eIn2
>>820 Mode Xか。
Mode 13hも便利だったけど。Mode Xもいいよね。

824 :名前は開発中のものです。:2009/03/12(木) 19:20:39 ID:1+6JKHL2
バカのバカによるバカのための井戸端会議
時々天才現る煽りもあるよ
でいいですか?

825 :名前は開発中のものです。:2009/03/12(木) 19:29:26 ID:1+6JKHL2
ジャンル: シューティング
対象OS: Windows/Linux
使用言語: C++, Perl
コンパイラ: gcc

この時点ですでに終わ(ry
それに気づかずにレスする奴も終わ(ry

日時: 2008/09/04 13:45
てか半年前ですか

826 :名前は開発中のものです。:2009/03/12(木) 19:50:28 ID:1+6JKHL2
#include <stdio.h>

class Object;
class Object{ public: virtual void Insert( Object* object ) = 0; };

class Penis : public Object{ public: virtual void Insert( Object* object ); };
class Vagina : public Object{ public: virtual void Insert( Object* object ); };

void Penis::Insert( Object *object ) {
if( object == Penis ) // 型判定
printf( "OMG!!\n" );
}

void Vagina::Insert( Object *object ){
if( object == Penis ) // 型判定
printf( "YES!!\n" );
}

型判定の方法忘れた


827 :名前は開発中のものです。:2009/03/12(木) 20:13:16 ID:9E1Rxsqt
typeofか.classだろ

828 :名前は開発中のものです。:2009/03/12(木) 20:16:47 ID:oJVouOUF
>『様々な質問に対する万能レス』
>
>Q. 制作が進まない。スレがうまく機能しない。盛り上がらない。人がいない。
>  やる気がでない。思い通りにいかない。雰囲気が悪い。なんとなくムカつく。
>  気に入らない奴がいる。作業しない奴がいる。他企画を潰したい。
>
>A. まずは自演しろ、話はそれからだ。
を実演してくれてるだよ 生暖かく見守ってやれよ

829 :名前は開発中のものです。:2009/03/13(金) 19:00:14 ID:FmG/VDzc
例えば何かを失うとしても
守っていかなきゃ
ひとつだけは

830 :名前は開発中のものです。:2009/03/15(日) 15:51:11 ID:5K3GjlrZ
らめぇ

831 :名前は開発中のものです。:2009/03/16(月) 11:17:49 ID:eNBXNzM0
「悔しいのに・・・感じちゃうっ(ビクンビクン」

832 :名前は開発中のものです。:2009/03/17(火) 01:22:02 ID:e6BdzSZL



public class Loli extends Applet
{
いやぁ、らめぇ……そんな、こすっ、たらぁ……
なんか、んっ、で……ちゃう……
おしっこ、おしっこでちゃうよぉ……
あン、いやっ、やらぁ……!
ん、んんっ、は、はぁ、あ、あぁぁ!
だ、めぇ……きちゃ……んはぁ!!
あ、ああぁぁぁらめぇぇええぇぇ!!!!
あっ、くっ、んぁ、ひ、あああぁっ!!!!
}



833 :名前は開発中のものです。:2009/03/17(火) 14:16:32 ID:cJ6We/Al
(´・ω・`)ハァハァ

834 :名前は開発中のものです。:2009/03/17(火) 16:18:35 ID:VdQyhofw
(´・ω・`)やんのかてめー

835 :名前は開発中のものです。:2009/03/17(火) 16:25:50 ID:e6BdzSZL
しゃぶれよ

836 :名前は開発中のものです。:2009/03/17(火) 20:20:22 ID:BzIoAHhs
この一連のレスに新しいSTGのアイデアが隠されているかもしれない。

837 :名前は開発中のものです。:2009/03/17(火) 20:36:51 ID:120cRAoh
自機が精子で卵子を目指すSTG作れ

838 :名前は開発中のものです。:2009/03/17(火) 20:41:23 ID:H84ZNjLE
そのへんはフィロソマやR-TYPE凾ナやってないか?

・・・自機じゃないか

839 :826:2009/03/17(火) 21:02:04 ID:2sMEY88Z
続き
void main() {
Object *penis = new Penis;
Object *oninnin = new Penis;
penis->Insert( oninnin );
}


840 :名前は開発中のものです。:2009/03/17(火) 22:42:14 ID:cJ6We/Al
>>839
コンパイルエラー「移植性のない挿入行為」

841 :名前は開発中のものです。:2009/03/17(火) 22:45:38 ID:kQgGzQTB
おいおい、ウィンドウズプロフェッショナルゲームプログラミング読んだやつ居ないのかよ。

一般流通している専門書で
CCSakura->InsertStick(); //サクラたんに肉棒をハァハァ
みたいなのを載せた名著なんだが。 そろそろちょっと古いか。 多分2002年辺りの本。

842 :名前は開発中のものです。:2009/03/17(火) 23:52:35 ID:cJ6We/Al

CCSakura->InsertStick(); //サクラたんに肉棒をハァハァ に一致する情報は見つかりませんでした。

検索のヒント:

・キーワードに誤字・脱字がないか確認します。
・別のキーワードを試してみます。
・もっと一般的なキーワードに変えてみます。
・キーワードの数を減らしてみます。

843 :名前は開発中のものです。:2009/03/18(水) 08:09:09 ID:S/V1EoOn
その1行だけで誰が書いた本かわかるから困る

844 :名前は開発中のものです。:2009/03/18(水) 11:37:40 ID:zud1sGUj
コードとコメントが一致してないが

845 :名前は開発中のものです。:2009/03/18(水) 12:32:55 ID:yzxa8Eak
そうだよな。
stick->tukiage()とか
stick->grind()とかを実行した後にorgsumイベントが飛んできて、その時stick->shotzamen()が呼ばれてstickがdisElectになって、
それでstickを格納してるotakuクラスのgetMode()がkenjyaModeを返すようになって初めて
//さくらたんハァハァ
だよな。

846 :名前は開発中のものです。:2009/03/18(水) 12:47:44 ID:RAb/8Q9d
CCSakura->InsertStick();
だと、
//サクラたんがスティックを挿入
と書くのが自然。
引数が無いし文脈もよく分からんが、少なくとも「挿入される」とは読みにくい。

847 :名前は開発中のものです。:2009/03/18(水) 22:47:34 ID:qMfWPeJK
こっちでどうだ?
Oresama->Insert( CCSakura );

848 :名前は開発中のものです。:2009/03/18(水) 23:14:54 ID:uTQJ+Za+
やねうらおさんの本か!なら仕方ないw

849 :名前は開発中のものです。:2009/03/18(水) 23:18:25 ID:RAb/8Q9d
>>847
もはや>>841とは別の話になるけどな

850 :名前は開発中のものです。:2009/03/19(木) 00:19:40 ID:lp2wnfCw
私は、いのりがだぁぁぁい好きです。とくに、プリキュアになった時が、1ばーんすきかなぁ…
皆さん。どうかぁぁぁぁぁぁぁ私のいのりを応援してぇぇぇ。
そして、私のいのりをよろしくぅぅぅぅぅ。…っあ、でもぉぉぉぉ
もちろん いのり はぁぁぁぁぁ
私の私の私のぉぉ いのり だからね。

キュアピーチちゃんからのメッセージ

もかですみすみなぎさちゃん九条ひかりちゃん雪白ほのかちゃん日向さきちゃん夢原のぞみちゃん夏木りんちゃんみみのくるみちゃん水無月かれんちゃん
秋元こまちやん春日野うららちゃん桃園らぶちゃん蒼野みきちゃん山吹いのりちゃん忘年会やつて楽しい食事会やりたい津端あみちゃんとお話おしましたキュアピーチより

851 :名前は開発中のものです。:2009/03/19(木) 00:55:26 ID:Z816WPjh
マジキチ

852 :名前は開発中のものです。:2009/03/19(木) 15:30:27 ID:NF1IvpYN
CCSakura->OpenHole( Oresama->InsertStick( NULL, NULL ) );

853 :名前は開発中のものです。:2009/03/19(木) 16:43:36 ID:X19frRvK
なんというか こう難しいのはダメなんだよな俺
プリキュアのようになんていうかこう魔法でぜーんぶやっつけちゃった
みたいな感じのお話が大好きなんだよな

水戸黄門みたいななんていうか、こう悪いやつを徹底的にやっつけるみたいな
そういうふうなかんじがいいんだよ

854 :名前は開発中のものです。:2009/03/19(木) 16:50:38 ID:Y8Oo82bL
>>853 ボムだけ無制限に連射できるシューティングゲームか?

855 :826:2009/03/19(木) 16:51:26 ID:X19frRvK
void rezu()
{
Object* omanman1 = new Vagina;
Object* omanman2 = new Vagina;
omanman1->Insert( omanman2 );
}
なんていうかおじゃまじょドレミのような雰囲気で
プリキュアのポスター持ってるんだけど
親が気になって気になってポスター部屋に貼れないんだよ
でも家を借りる金もなくてエロゲーも売って今度のプリキュアの映画代に
したけど全然足りなくて親から借りてる車で流す音楽は友人からもらった
違法mp3を変換して無理やりCDに焼きなおして聞いてる
けどなんといってもバキの演出の「もにゅ」とかってステキじゃない?
俺ああいうの大好きなんだけどな おすすめなんだけどな
そういや仕事してるんだけど薬指が最近動かなくなってきて作業が
うまくいかないんだ

と書いてみるテスト

856 :名前は開発中のものです。:2009/03/19(木) 16:57:30 ID:X19frRvK
『お邪魔序ドレミ』
『おジャ魔女どれみ』
『おジャ魔女どれみ♯(しゃーぷっ)』
『も?っと! おジャ魔女どれみ』
『おジャ魔女どれみドッカ?ン!』
『おジャ魔女どれみナ・イ・ショ』

ドッカ〜ン吹いたw
全部見てるのな こいつ

>>854
そういやここのスレの主題を忘れとった

857 :名前は開発中のものです。:2009/03/19(木) 20:02:30 ID:hicFszUW

   (i)三

まんこだ!まんこが空を飛んでいるぞ!



っていうシューティングを作りたいんだけど、レンダリング重すぎて死んだ

858 :名前は開発中のものです。:2009/03/19(木) 22:03:06 ID:Ovbegixp
そういや、もう春だったな。

859 :名前は開発中のものです。:2009/03/20(金) 23:23:06 ID:5Z0vGiBX
STGって案外作るの難しいのな
超連射68kとおんなじ動きを実装できるようなシステム作るまで三ヶ月かかった

860 :名前は開発中のものです。:2009/03/20(金) 23:28:07 ID:7TQPewAA
超連射の何処を実装するのに3ヶ月だい?

861 :名前は開発中のものです。:2009/03/20(金) 23:41:16 ID:5Z0vGiBX
パーツ破壊や変形を定義しようとすると難しくて、みっちり丸三ヶ月かかった
二面の変形してレーザー撃つ青い敵とかヤバイ
なんかもうプログラム書いて十分な達成感だw
素直にSBつかっときゃ良かった

あ、超連射だと同じ動きをする敵がいないってのがまだ真似できてないやorz

862 :名前は開発中のものです。:2009/03/21(土) 00:02:19 ID:7TQPewAA
変形は行列使ってやればすぐに実現できるぞー。
あとパーツとかは個別に作ってステートマシンで管理すれば簡単。

もうちょいがんばれ、先は明るい。

863 :名前は開発中のものです。:2009/03/21(土) 00:06:19 ID:IQyf3Tkn
春休みか・・・

864 :名前は開発中のものです。:2009/03/21(土) 00:25:57 ID:3+Byg0Pw
触手ってどうやんの
ふにふにしてるやつ

865 :名前は開発中のものです。:2009/03/21(土) 00:39:31 ID:u3ULO6nl
>>861
2面ボスのレーザー角度が16段階だかで角度の丸め込みしてるから
その実装でハマるはず

866 :名前は開発中のものです。:2009/03/21(土) 00:40:48 ID:u3ULO6nl
っと、ごめんスレ勘違いしてた

867 :名前は開発中のものです。:2009/03/21(土) 16:53:14 ID:5qe6dUr4
だれか製作環境のスクショうp!

868 :名前は開発中のものです。:2009/03/21(土) 20:31:50 ID:1wmlTr6o
そんな事してなんの得があるのだ。

869 :名前は開発中のものです。:2009/03/22(日) 01:29:29 ID:kc7SDuUh
ttp://uproda.2ch-library.com/1142505Jt/lib114250.png

870 :名前は開発中のものです。:2009/03/22(日) 02:53:46 ID:eTo18fXr
http://www.dotup.org/uploda/www.dotup.org4495.jpg

871 :名前は開発中のものです。:2009/03/22(日) 13:43:13 ID:LLKN4oAq
>>869
ドリキャスはっけん
>>870
チルノかわいい

案の定ソースが全くわけわかめw

872 :名前は開発中のものです。:2009/03/22(日) 20:35:51 ID:JghWd5dz
タスクシステムとあんまり変わらんじゃん

873 :870:2009/03/22(日) 21:45:11 ID:DJ0YmeyC
タスクシステムってなんぞー

874 :名前は開発中のものです。:2009/03/23(月) 01:05:57 ID:8P0pbVpT
「掛けて割る複合代入演算子」と「割って掛ける複合代入演算子」があるの始めて知った。

#include <stdio.h>

int main(void)
{
    int a = 10;
    int b = 5;

    //2で割って2を掛ける
    a  /*=   2;

    //10を掛けて10で割る
    b  */=  10;

    printf("a = %d, b = %d\n", a, b);
    return 0;
}

これ実行すると「a = 10, b = 5」って出るからやってみ。

875 :名前は開発中のものです。:2009/03/23(月) 01:11:06 ID:U/tOK+V3
最近の統合開発環境はコメントに色がつくんだよね。
頭の悪いおじさんが知ってるといいけど。

876 :名前は開発中のものです。:2009/03/23(月) 01:18:15 ID:O7RlOAj3
それなりのテキストエディタでもやってるし、大丈夫でない?

877 :名前は開発中のものです。:2009/03/23(月) 01:26:38 ID:8P0pbVpT
>>875
マジレスwwwwwwwwwwwwwwwwwwwwwww

878 :名前は開発中のものです。:2009/03/23(月) 01:45:09 ID:pc8/zXvF
わーすごーいおもしろーい
って言って欲しかったんだよ

幼稚園児くらいの子がすぐウンコだの言うのと一緒

879 :名前は開発中のものです。:2009/03/23(月) 01:53:33 ID:8P0pbVpT
釣れるねぇwww

880 :名前は開発中のものです。:2009/03/23(月) 01:59:13 ID:UwzfivKS
お前らソースコード合計何行ぐらいいってる?

881 :名前は開発中のものです。:2009/03/23(月) 12:49:14 ID:T8Hx4i/e
タスクシステムタスクシステムって言うけど、本質的には
interface updatable{
public void update();
}
を実装したクラスのインスタンスが入ったリストに過ぎんぞ?
全く汎用的な技術なのにいちいち特殊な名前付けるとか分からん

882 :名前は開発中のものです。:2009/03/23(月) 13:14:20 ID:RvC8z0GT
おい、聞いたかいボブ、日本人はジョークの解説を人に聞いてから笑うらしいぜHAHAHAHA!

883 :名前は開発中のものです。:2009/03/23(月) 15:10:21 ID:kTW1Pd1G
>>882

kwsk

884 :名前は開発中のものです。:2009/03/24(火) 12:34:29 ID:Yn22CP0g
ついでに言うなら、タスクシステムのもう一つの肝だとされる関数ポインタをスタックする、ってあれは
publicstaticなメソッドと引数を格納するリストでしかない。通常、その設計はデリゲートと呼ぶ。
一般的なデリゲート機構だと普通にデリゲートオブジェクトのnewが入るのでそこらへんは微妙に換える必要があるけど、
どちらも一般的な技術だ。
こんご、タスクシステムを語るなら仮想なりでもソースをベースとして語れ。以上。

885 :名前は開発中のものです。:2009/03/24(火) 16:33:06 ID:4XAQ7PUG
で、ソースをベースに語らずして何が言いたいんだこいつは。
「関数ポインタをスタックする」の時点で馬鹿なのは分かったが。
「タスクシステム」と「デリゲート」がまるで同時に生まれた概念・言葉だとでも思ってんのか。
そりゃ後から「これは普通こうだ」とか言うのは簡単だわなwwwww

886 :名前は開発中のものです。:2009/03/24(火) 18:22:35 ID:BNUegwgv
タスクシステムスレが別途あるのに、シュ(ry

突っ込んだ時点で、しったかの厨房にも劣るという事だけ判っとけ

887 :名前は開発中のものです。:2009/03/24(火) 18:30:29 ID:bCzaJdFk
>>886
突っ込んだ時点で、しったかの厨房にも劣る厨房にも劣るという事だけ判っとけ

888 :名前は開発中のものです。:2009/03/24(火) 19:32:00 ID:mfP/Uvs1
とりあえずワンパンチ入れないと気がすまないのか
実に春らしい展開

889 :名前は開発中のものです。:2009/03/25(水) 05:37:01 ID:+xbcuDZ5
厨房は最後に発言した方が勝ちって考えるからな

890 :名前は開発中のものです。:2009/03/25(水) 06:53:17 ID:IhRLg0ry
このスレは参考になりましたか?
 大変参考になった
 まぁまぁ参考になった
 参考になった
 あまり参考にならなかった
○まったく参考にならなかった

891 :名前は開発中のものです。:2009/03/25(水) 09:14:17 ID:bobP+sXw
>>887
この文からにじみ出る頭の悪さたまらんね

892 :名前は開発中のものです。:2009/03/25(水) 16:03:44 ID:vcs4fNU6
反応する奴もいい加減にしろ

893 :名前は開発中のものです。:2009/03/25(水) 16:18:22 ID:E6YVaDzZ
>>890
先生、過去ログや今までのレスも忘れないで上げてください
まぁそれはそうと、話題を引き寄せるか

>>880
DirectXの利用や決まりきったコードを切り出したのも入れて考えると、5000〜6000ぐらい?
かなり改行使うコードだから、一行ifや開始ブロックの改行を省略していけばもっと少ないかもね

・DirectX関連のラッパが3Dに500、Inputに400、Soundに50行。全部まとめたクラスがいて結局1000行ぐらい。
・シーンマネージャとか、基本弾幕コードで400行ぐらい。
・残りが実際のシューティングのプログラムとか、タイトルとかオプションとか。
・ザコ敵は1種類につき60〜100行、ボス系はザコ敵の3倍〜10倍ぐらい。


894 :名前は開発中のものです。:2009/03/25(水) 17:07:45 ID:Q4QFJYi9
そういえば、前から疑問に思ってたんですが
普通の縦・横シューで、ザコの敵の動き、
つまり出現して、一定の動きをして去っていく、という動きを
スクリプトで指定できるようにするってのは(やった事はないけど)わかるんですが、
ボスの挙動とかもスクリプト化してやったりするもんなんですかね?

895 :名前は開発中のものです。:2009/03/25(水) 18:33:41 ID:MfH2aANl
そりゃもちろん。
ちなみに、スクリプトの記述にはエクセル使ってるぞ。
そこからcsvにして実際のオブジェクトに変換するのが一般的みたい。

896 :名前は開発中のものです。:2009/03/25(水) 19:19:42 ID:Q4QFJYi9
そうですか。
てことは「このパーツが破壊されたら、次にこのパーツが動いて」とか全部
スクリプトで制御してるって事ですか。
凄いなぁ。そういうシステム作るだけで大変そうだ。

897 :名前は開発中のものです。:2009/03/25(水) 23:10:23 ID:MfH2aANl
なあなあ、enemyクラスが格納されたコンテナってステージ開始時に初期化するだけで、
サイズは不変の固定長配列にした方が設計上はいいのかな。
敵から敵を吐き出すような仕組みを作りたい場合、どういう設計が効率良いのかねえ。

898 :名前は開発中のものです。:2009/03/26(木) 00:06:07 ID:vcs4fNU6
>>896
>>895はただ出現カウントとか種類とかを数値で指定してるに過ぎないだろ。
動作を細かく記述できるスクリプトを実装するには、パーサが必要なんだし、csvとかのレベルじゃない。

899 :名前は開発中のものです。:2009/03/26(木) 00:33:59 ID:2ScRNyTQ
>>898
いや、最終的にはボスの動作も細かい動作の積み重ねだから、
csvで移動オブジェクトを大量に生成するので正解に近い。
(というか、実際に現場ではそうやってるんだってば)
よく言うところのテキスト平文スクリプトで制御ってのは、
余程のことが無い限り使わないらしいよ。
というか、本当に細かい制御がしたいなら下手なスクリプトパーサなど作るよりも
perlとかrubyとかで直接インタフェース叩くらしいぜ。

900 :名前は開発中のものです。:2009/03/26(木) 00:37:55 ID:NkKI5mFu
>>899
別に手段がどうだってそんなことしらねぇよ。そんなもん「スクリプト」じゃないってだけ。
現場がどうとか聞いてないから。
大体、「正解に近い」ってなんだ?実装の真理でもあるのか?

901 :名前は開発中のものです。:2009/03/26(木) 00:39:52 ID:GwVmRN1C
一度そういうのをしっかり構築すれば
あとは使いまわしが利くんだろうけど
ヘボな俺にはさっぱり想像がつかない。

902 :名前は開発中のものです。:2009/03/26(木) 00:45:36 ID:Ozx/FXh8
>>899
うちの現場(笑)ではスクリプトパーサ作って使ってるけど、異端と申すか
スクリプトにも利点はあるんだがね

903 :名前は開発中のものです。:2009/03/26(木) 00:55:51 ID:mGxo+8so
使える使えないはどうでもいいので
お前らのスクリプトがどんなのか具体的に教えてください
できればうp!

904 :名前は開発中のものです。:2009/03/26(木) 01:05:32 ID:ZerV9qxt
どんな動きも簡単にすぐ作れる秘技を使っているが教えない

905 :名前は開発中のものです。:2009/03/26(木) 01:10:44 ID:mGxo+8so
>>904
モリタポあげるからうp!

906 :名前は開発中のものです。:2009/03/26(木) 02:12:19 ID:UFsKwsOH
ttp://uproda.2ch-library.com/115115YOB/lib115115.jpg

907 :名前は開発中のものです。:2009/03/26(木) 06:13:38 ID:qlfjhj/0
指大丈夫か・・・?

908 :名前は開発中のものです。:2009/03/26(木) 12:48:40 ID:uoZMP3+M
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ Lua!!
 彡、   |∪|  /
/ __  ヽノ /
(___)

909 :名前は開発中のものです。:2009/03/26(木) 22:12:20 ID:H3lGSGEb
>>907
俺も同じこと思った

910 :名前は開発中のものです。:2009/03/26(木) 22:54:56 ID:SQp4b7yy
>>908
俺漏れも
Luaいいよな


911 :名前は開発中のものです。:2009/03/26(木) 23:58:51 ID:ZLjmLUxO
大変!写真から指紋が盗まれちゃう!

912 :名前は開発中のものです。:2009/03/27(金) 21:22:32 ID:UiKwfqoQ
×保護するほどの価値がある
○晒すほどの価値がない

913 :名前は開発中のものです。:2009/03/27(金) 21:33:06 ID:UiKwfqoQ
×実はすごいコードを書いている
○口だけで実装のじの字も知らない工作員

914 :名前は開発中のものです。:2009/03/28(土) 00:52:37 ID:3aiVy6ET
>>906
これなんかのライブラリなの?
書いてあることが理解できないけど

915 :名前は開発中のものです。:2009/03/28(土) 01:28:35 ID:7ZKi9ueM
>>912-914

916 :名前は開発中のものです。:2009/03/28(土) 08:46:20 ID:lxZcFexf
906を見てショボイ実装しか思い浮かばない奴が
俺だけで無くて良かった

917 :名前は開発中のものです。:2009/03/28(土) 09:21:24 ID:+5Y/r4Hn
>>906見て、なつかしいと思った奴は何人いるんだろ?
ノシ

918 :名前は開発中のものです。:2009/03/28(土) 11:25:05 ID:lxZcFexf
やっぱり、古いんだ
<SC>は sub commandだよな?

多分こんな奴で、
char script[] ={
QDD, //下行く (アドレス0)
_IF_EQU,F_whlr,7 //自機との相対的左右判定
QRR, //右に行く
_JUMP,0 //ループ
QLL, //左に行く (※8文字目 アドレスは7)
_JUMP,0 //ループ
};
どう?>>917

実装はオートマトンとかマシン語とかで、
折角C++使っても全部switchしか手が無い
Excelなら、目的アドレスを自動で吐くExcel式が書けそう

919 :917:2009/03/28(土) 13:57:34 ID:+5Y/r4Hn
>>918
どうって言われてもな。たしか、Turbo C++の本だったよな?
外部エディッタを作ってゲームを作る発想は、昔の本にしては評価できる。
が、スクリプトに限定して見るならあまりにも原始的すぎる。こんな所か。

ちなみに俺の場合はC言語っぽい汎用俺様言語を作った。パッと見はC言語モドキだ。
もうちょい早くLuaとか知ってたら、そっち使ってたかもしれない。


920 :917:2009/03/28(土) 14:13:33 ID:+5Y/r4Hn
whileがあってforが無いから、扱いづらいけどな。++も配列も無いし。

//敵[0]の動作
int Enemy_0(){
int n;
 move(角度,速度);
 n=0;while(n<休憩時間){pause;n+=1;}
 move(角度,速度);
 n=0;while(n<休憩時間){pause;n+=1;}
 move(角度,速度);
 return 0;
}

ちなみにpause命令で処理をスクリプトからプログラムに戻してる。

921 :名前は開発中のものです。:2009/03/28(土) 14:15:46 ID:Ffh5P52X
でも俺はオブジェクト指向>ロリータ指向

922 :名前は開発中のものです。:2009/03/28(土) 15:05:13 ID:lxZcFexf
俺は906が何なのか推測できて、間違ってなければよいだけよ

やっぱLuaだな
yaccもテンプレートも使わないので組み込みやすくて良い

923 :名前は開発中のものです。:2009/03/28(土) 18:55:52 ID:BvaX6KYT
Strategyパターンでタイトル、機体選択、ゲーム中の3つのシーンを作りたいんだけど
クラス名にこまった
タイトル→ StrategyTitle
機体選択 → StrategySelect
ゲーム中 → Strategy???

どんなクラス名がいいと思う?

924 :名前は開発中のものです。:2009/03/28(土) 18:58:02 ID:V/k8J2vR
そろそろXXパターンで組んだってわかるようにクラス名に反映するのはよそうぜ。

925 :名前は開発中のものです。:2009/03/28(土) 19:52:30 ID:BvaX6KYT
敵は楽だな
基本 → EnemyPrototype
敵1 → Enemy01
敵2 → Enemy02
敵3 → Enemy03
敵4 → Enemy04
敵5 → Enemy05
これは楽だね プロトタイプパターン

926 :名前は開発中のものです。:2009/03/28(土) 20:37:22 ID:BvaX6KYT
機体ごとにパラメータを変化させるにはDecoratorパターンが有効だね
基本 → DecoratorPlayer
機体1 → Player01
機体2 → Player02
機体3 → Player03
機体4 → Player04
機体5 → Player05
機体6 → Player06
いやぁパターンは楽になるね

927 :名前は開発中のものです。:2009/03/28(土) 20:49:33 ID:lxZcFexf
そうだな
お前は春休みぐらい友達と何処かに遊びに行けよ

928 :名前は開発中のものです。:2009/03/28(土) 21:19:21 ID:BvaX6KYT
>>927
>折角C++使っても全部switchしか手が無い

929 :名前は開発中のものです。:2009/03/28(土) 21:25:15 ID:lxZcFexf
ID:BvaX6KYTは 「906はショボイ」の一言を伝えるのに
こんなにレスを消費しないイケナイという事がわかった


大変だね(´・ω・`)

930 :名前は開発中のものです。:2009/03/28(土) 21:43:18 ID:BvaX6KYT
>>929
こんなにレスを消費しないイケナイという事がわかった

931 :名前は開発中のものです。:2009/03/28(土) 21:47:00 ID:lxZcFexf
こんなにレスを消費しない"と"イケナイという事がわかった

932 :名前は開発中のものです。:2009/03/28(土) 22:32:26 ID:BvaX6KYT
そうだな
お前は春休みぐらい友達と何処かに遊びに行けよ

こんなにレスを消費しない"と"イケナイという事がわかった

933 :名前は開発中のものです。:2009/03/28(土) 23:06:26 ID:BvaX6KYT
老害ジジイをみて思ったのだが、能力がないくせにプライドだけは一人前の使えない
新人の30年後の姿なんだろうね(逆なら、ジジイの30年前の姿が今の新人)

934 :名前は開発中のものです。:2009/03/28(土) 23:18:19 ID:BvaX6KYT
定年過ぎても独身で女には全く縁のなく、
オタク系や変態男が多い。

定年に近い人に変な人が多い気がした。

簡単に言うと動物園

正当化するあたりがね、DQNを通り越して変人だと思う。

学歴がどうこう言ってるやつにまともな人は少ないw

陰湿なやつ多いし、なんか終わってるというか!

60歳以上のじじいに変人多いよな マンコ、マンコってレンコする奴

たち悪い!高卒で入って今年でI年目になる女!チクチク言ってくるよ…器せまっ!!
ってしょっちゅう思ってる自分がいる☆

935 :名前は開発中のものです。:2009/03/28(土) 23:21:23 ID:CP3bamwP
またキチガイが沸いてるよ

936 :名前は開発中のものです。:2009/03/28(土) 23:23:38 ID:BvaX6KYT
すいません
私独自の開発した
対キチガイミサイルなんです

937 :名前は開発中のものです。:2009/03/28(土) 23:27:44 ID:lxZcFexf
2ch歴浅いけど、本物キチガイと遭遇したよ
過去ログの幼稚なパターン厨かと思ったら、それ以下だったな

938 :名前は開発中のものです。:2009/03/29(日) 01:00:46 ID:Ol+RNP7n
>>656のパターン厨じゃないの。
全然>>906を理解できていないし。

939 :名前は開発中のものです。:2009/03/29(日) 02:15:40 ID:d/WDwujV
ぉゃっょ

940 :名前は開発中のものです。:2009/03/29(日) 02:32:14 ID:DbfbvsH9
ヵッォ、ぉゃっゎ ぁっぃ ぉゅょ

941 :名前は開発中のものです。:2009/03/29(日) 02:43:44 ID:FCDCeteh
老害老害っていつも同じこと言ってるけど
どっかでおっさんにこっぴどく叩かれたんだろうな

942 :名前は開発中のものです。:2009/03/29(日) 03:44:54 ID:lZ8POZAJ
はいはい勃起勃起

943 :名前は開発中のものです。:2009/03/29(日) 05:28:51 ID:redkwKER
>>923
「画面」のクラスなんだから、パターンは関係ねー。
ここでの弾クラスがbulletで敵クラスがenemyのように、分かりやすいプレ(リア)フィックスを点けれ。
一般的には2Dゲームだと、表示系がCanvasになるから、
mainCanvas titleCanvas selectCanvas みたいに付けるのが一般的だが、
3DゲームだとSchineとかにするのがいいらしいね。
全般的にはもっと抽象的にViewとかにしてもいいかもしれない。


944 :名前は開発中のものです。:2009/03/29(日) 06:24:14 ID:6HRCOm5i
某本によれば、メンバ関数だけど
drawGameTitle とか drawGameMain だったりした

945 :名前は開発中のものです。:2009/03/29(日) 08:49:54 ID:FX3dpUqj
>>941
老害のおっさん以外だったらこういう奴とも仲良くできるような事書くなよw
何処でも相手しねーよこんなの

組み込み言語で繰り返しや、sin,cosを直にスクリプトに書けるのもスゲーが、
配列で運搬出来る様な原始的なスクリプトも自動生成出来るのでおいしいです。

富豪的には自動生成した物を

946 :名前は開発中のものです。:2009/03/29(日) 08:53:22 ID:FX3dpUqj
続き

富豪的には自動生成した物を、組み込み言語で読み上げたり、中に
ハードコーディングしたりとかも出来ちゃうんだろうな

947 :名前は開発中のものです。:2009/03/29(日) 09:51:21 ID:bVDwy6iR
そうや、BulletMLは使っている人いないのか?

948 :名前は開発中のものです。:2009/03/30(月) 09:16:55 ID:Bov4VD4y
29日午後8時55分ごろ、大阪市北区角田町で、大阪府枚方市のネイリストの女性(21)が
、近づいてきた2人組の男に「遊ぼうや」と声をかけられた。女性が無視したところ、男の1人
がいきなり女性の顔面を殴り、ナイフでほほを切りつけた。男らは走って逃げ、女性は顔に
軽傷を負った。女性は友人女性(21)と一緒にいたが、友人は無事だった。曽根崎署は
傷害容疑で捜査している。

949 :名前は開発中のものです。:2009/03/30(月) 11:57:28 ID:vlV9IOZj
はいはい勃起勃起

950 :名前は開発中のものです。:2009/03/30(月) 13:51:50 ID:DTzDKGyx
意味判らん

951 :名前は開発中のものです。:2009/03/30(月) 14:56:36 ID:7NVi2nBu
>>943
Viewは、World*View*Projを何度も使う3Dではややこしくないか?

952 :名前は開発中のものです。:2009/03/30(月) 16:01:14 ID:kjBKEg9u
//テーブル初期化
:
45[SIN] = 2[SQRT] / 2.0;
:

↑この前こんな感じの見かけたんだけど、今時これはないと思った

953 :名前は開発中のものです。:2009/03/30(月) 17:51:34 ID:Bov4VD4y

szExceptionTitle db "Exception",0

szWindows2000Required db "This application requires NT 5.0 (2000) or later versions of Windows system",0

szErrorSymDefFileNotFound db "The symbolic definition file has not found",0

szErrorSpecSymDefNotFound db "A specific symbolic definition has not found",0

szErrorFileNotReadable db "Could not open or read a specified file",0

szErrorInvalidSize db "The size of symbolic definition file is invalid",0

szErrorBomMismatch db "The byte order mark of symbolic definition file is not the UTF-16 unicode format",0

szErrorOutOfMemory db "Out of memory",0

szErrorMessageFormat db "A fatal exception has occured at procedure ID %08u:",0Dh,0Ah,0Dh,0Ah,"%s.",0


954 :名前は開発中のものです。:2009/03/30(月) 17:52:20 ID:Bov4VD4y
push OFFSET PerformRandomSeedExchangeProc
push 1
push SIZEOF PT_EXCHANGE_RANDOM_SEED
call ExchangeData
test ecx,ecx
mov eax,[lpLargeBuffer]
jl ProcessTerminated
cmp [eax + PT_PUBLIC_CONTROL_WORD.ControlWord],ACT_EXCHANGE_RANDOM_SEED
jne @b
cmp ecx,SIZEOF PT_EXCHANGE_RANDOM_SEED
jne @b
cmp [bHost],0
lea ecx,[edi + CONTEXT.regEax]
jne @f
mov eax,[eax + PT_EXCHANGE_RANDOM_SEED.Seed]
mov [ecx],eax


955 :名前は開発中のものです。:2009/03/30(月) 20:32:01 ID:MsfTb8Bc
もはやCコンパイラを自作したほうが楽なレベル

956 :名前は開発中のものです。:2009/03/31(火) 00:11:44 ID:DQD5khQB
>>952
double sin[360];
double sqrt[1000];

sin[45] = sqrt[2] / 2.0;

ってこと?

957 :名前は開発中のものです。:2009/03/31(火) 01:33:09 ID:jA3Wyd63
何気なくsinとかatanとか使ってるけど、結局それらの関数って
本来めちゃくちゃコストがかかる計算のはずだよな?
なら、やっぱりゲーム的には精度落としてテーブル実装にするのがモアベターなのかなあ。

958 :名前は開発中のものです。:2009/03/31(火) 01:35:57 ID:7Dccknp/
>>957
計算式で求めない確定した数値なら、テーブルのほうがベターじゃねーかな。
結局は、作り手の選択な部分なんで、絶対な解法というのはないよ。

959 :名前は開発中のものです。:2009/03/31(火) 01:36:09 ID:+yfcmkdB
携帯ゲームなら効果あるかも、って認識だ
今時のPCゲームで数学関数がボトルネックになるなんて考えられない
そもそもそこを気にするんならまず描画をやめれ

960 :名前は開発中のものです。:2009/03/31(火) 03:22:49 ID:TlPvCoUd
プロファイリングすれば分かるが携帯とかでも無い限り>>957案は逆に遅くなる
下手な考え何とやら

961 :名前は開発中のものです。:2009/03/31(火) 04:22:06 ID:DdunG5bw
じゃあ座標も少数型でいいんだね?

962 :名前は開発中のものです。:2009/03/31(火) 05:20:12 ID:AlfaWHG9
>座標も少数型
DirectXなので当然そうなる

というか、>>961の脳内にだけ誤差とかで上手くいかない状況があるんじゃね?

963 :名前は開発中のものです。:2009/03/31(火) 09:46:08 ID:6nFXdL0R
計算処理がテーブル参照一回分よりコスト低いなんて普通に考えたら信じられんのだが。

964 :名前は開発中のものです。:2009/03/31(火) 10:03:31 ID:lrQoi4db
まあ、バカにはわからんよ。

テープル参照と三角関数のベンチマークを
ランダムな引数で比較してみろよw


965 :名前は開発中のものです。:2009/03/31(火) 10:13:48 ID:Z60UL3VO
CPUの動作を理解しないと、テーブル参照と三角関数の速度差は理解出来んだろうからな。
つ〜か、キャッシュ絡みの動作は分かりにくい。

966 :名前は開発中のものです。:2009/03/31(火) 10:54:26 ID:6nFXdL0R
少なくとも俺が組んだプログラムでは
テーブル参照の方が10分の1のコストで済んでいた。

どういう組み方すれば三角関数の方が早くなるのか教えて欲しい。

967 :名前は開発中のものです。:2009/03/31(火) 11:20:46 ID:NJFMHqzD
関数のほうは、#pragmaとかで処理系の最適化を効かせた?
まあそれでもテーブルの方が速いってことは十分ありえるが

968 :名前は開発中のものです。:2009/03/31(火) 17:37:45 ID:AlfaWHG9
繰り返す話題だけど、環境依存があって当然の物の話だろ?
>>966のPCで特殊な結果が出たなら、珍しいねとしか言えない

969 :名前は開発中のものです。:2009/03/31(火) 17:52:51 ID:oMQsq3DX
環境が分からんから話が交錯するのです。
速度とか書き込む前に少なくともOS・CPUスペック・RAM容量・言語・住所・氏名を明示しましょう。

970 :名前は開発中のものです。:2009/03/31(火) 18:03:17 ID:EoCekJlW
この手の話題、過去に何度も出てくるけど、
ベンチマーク用のサンプルソースが示されないのはなんで?

論ずるよりもそれ実行すれば一発で納得できると思うんだけど
そんなに特殊なプログラムなの?

971 :名前は開発中のものです。:2009/03/31(火) 18:08:55 ID:wt58uqRX
描画以外の速度なんざ誤差
可読性重視

972 :名前は開発中のものです。:2009/03/31(火) 18:35:26 ID:YrEQyE+G
sinfじゃなくてsinを使うとコンシューマーでは遅くなるが。

973 :名前は開発中のものです。:2009/03/31(火) 18:55:24 ID:DdunG5bw
ああ俺はDXライブラリを使ってたから…
DirectXなら当然のことなのか
ついでに動的使う負荷も無視できるのかな
あれってvirtual宣言した時点で動的と判断されて負荷かかるのかな

974 :名前は開発中のものです。:2009/03/31(火) 19:30:48 ID:e23bhJED
コイツってさ、質問が意味を成してないよな
設計する為に継承したり、インターフェース用意したりしてるんじゃねーの?
手元に1行も自分が書いたソースねーだろw

まさに>>888

975 :名前は開発中のものです。:2009/03/31(火) 20:01:42 ID:eRxRYNY8
// sin関数
dblData = 0.0f;
intTime1 = GetTickCount();
for ( i = 0; i < 100000; i++)
{
dblData = sin ( 0.5f);
}
intTime2 = GetTickCount();
intKekka1 = intTime2 - intTime1;

// グローバルメモリ参照
dblData = 0.0f;
intTime1 = GetTickCount();
for ( i = 0; i < 100000; i++)
{
dblData = dblSin[i];
}
intTime2 = GetTickCount();
intKekka2 = intTime2 - intTime1;

これで、intKekka1が16、intKekka2が0
コンパイラ VS C++ 2008
Dual core 1.6GHz メモリの速度は忘れた。
C++のsinが多項式でいってるのかとか、どこまで精度だしてるかは不明。


976 :名前は開発中のものです。:2009/03/31(火) 20:04:29 ID:eRxRYNY8
100000→1000000で
intKekka1が188、intKekka2が15
VS C++のsinだとメモリ参照したほうが早い
他のコンパイラは、ここになかったんで不明



977 :名前は開発中のものです。:2009/03/31(火) 20:07:14 ID:C8QskIEz
関数がvirtualであることと擬似sinとライブラリ組み込みsinの速度が違うことに関係は無い……

978 :名前は開発中のものです。:2009/03/31(火) 20:07:31 ID:AlfaWHG9
どう見ても釣りです。 本当にありがとうございました。

キャッシュを一言も挟まない辺り狙ってるなw

979 :978:2009/03/31(火) 20:11:04 ID:AlfaWHG9
>>975
>Dual core 1.6GHz メモリの速度は忘れた。
Dualとか関係無いのはさすがに判るよね?

そこに書かなきゃいけないのは、CPUの2次キャッシュの大きさと、dblSin配列の大きさ


980 :名前は開発中のものです。:2009/03/31(火) 20:12:13 ID:EVrWm6RK
>>978
文句ばっか言ってないでお前の環境での結果を見せればいんじゃね?

981 :名前は開発中のものです。:2009/03/31(火) 20:12:53 ID:C8QskIEz
>>975
いや、sin[i]じゃないだろjk。
public double sinex(double rad)
{
for(int i=1;i<tbl.size();i++)
{
if(rad>tbl[i-1] && rad<tbl[i])return tbl[i];
}
return 0;
}
とかこんな感じじゃね?

982 :名前は開発中のものです。:2009/03/31(火) 20:14:58 ID:C8QskIEz
いやごめん忘れて。角度に関して、最初から整数で丸める実装にすればいちいちテーブル範囲参照しないでいいんだな。おkだ。

983 :名前は開発中のものです。:2009/03/31(火) 20:22:33 ID:ZKYAtsRN
>>975
テーブルを頭から走査したら駄目だろw
それでベンチマークになってると思ってるのかね。

それと、そのコードって最適化かかるとまずいんじゃない?
変数をvolatileで宣言してれば平気かもしれんが。

984 :名前は開発中のものです。:2009/03/31(火) 20:23:51 ID:C8QskIEz
>>979
整数実装にすれば(0が0度、64が180度(1PI),96が270度(1.5PI)みたいな設計にしてるなら配列のサイズ関係ないっぽいぜ。
もちろん、それの前処理としてのiが渡ってくる過程が重要になるけど。

それにしたって*1000くらいしたあとに %128とかで片付ければいいだけなのでそんなにコストがかかってるとは思わないけどな。

985 :名前は開発中のものです。:2009/03/31(火) 20:33:35 ID:eRxRYNY8
>>979
2次キャッシュが1024Kbyte
dblSinの大きさは、8000000byte

>>983
for ( i = 0; i < 1000000; i++)
{
intNo[i] = ((float)rand() / (float)RAND_MAX)* 1000000.0f;
}

dblData = 0.0f;
intTime1 = GetTickCount();
for ( i = 0; i < 1000000; i++)
{
dblData = dblSin[ intNo[i]];
}
intTime2 = GetTickCount();
intKekka2 = intTime2 - intTime1;

ランダムいれてみて、intKekka2が31。
今のやり方だとまだテーブルのほうが速い。

986 :名前は開発中のものです。:2009/03/31(火) 20:38:11 ID:eRxRYNY8
>>983
volatileはつけてる。



987 :名前は開発中のものです。:2009/03/31(火) 20:40:53 ID:eRxRYNY8
>>977
ライブラリ組み込みのsinの求めかたってコンパイラが違っても
計算のやり方同じなん?
gccでもVCでも同じ?

988 :名前は開発中のものです。:2009/03/31(火) 20:47:49 ID:DdunG5bw
別にvirtural とsin との問題に絡めて聞いたわけでなく
速度繋がりでついでに別個の問題として聞いたわけだが

989 :名前は開発中のものです。:2009/03/31(火) 20:49:04 ID:C8QskIEz
ライブラリ組み込み関数って大抵はgccの方が圧倒的に遅いんじゃないかなw

990 :名前は開発中のものです。:2009/03/31(火) 21:14:20 ID:+ipl15Vv
つーか、全体の処理の中でボトルネックになってるかどうかを確認するべきだと思うんだが。
今時三角関数省いたくらいで喜ぶなよ。

991 :名前は開発中のものです。:2009/03/31(火) 21:35:55 ID:WEsXEB63
シューティングなんぞループと加算と描画と三角関数くらいしか使わないもんだし、その中の一つ が削れただけでも影響は結構大きいかもだ

992 :名前は開発中のものです。:2009/03/31(火) 22:05:59 ID:yOP/w+uJ
「テーブル参照より三角関数の方が早い」って言う人がいて、
「サンプルプログラム示して実行させれば誰もが納得するだろ」って話になってるのに
「環境で変わるから〜」とか
「三角関数省いたくらいで喜ぶな」とか意味わからん。

993 :名前は開発中のものです。:2009/03/31(火) 22:16:26 ID:AlfaWHG9
現実にはミスキャッシュが起こるわけで、ソレの再現をすればよい
734msのダミーコードを追加した

intKekka1   750  実質 16ms
intKekka2   766  実質 32ms

for ( i = 0; i < 100000; i++)
{
 for ( j = 0; j < 100000; j++)
   tt = otherMemory[j]; //ダミーコード
}
intTime2 = GetTickCount();
dummyOnly = intTime2 - intTime1;

for ( i = 0; i < 100000; i++)
{
 dblData = sin ( 0.5f);
 for ( j = 0; j < 100000; j++)
   tt = otherMemory[j];
}
intTime2 = GetTickCount();
intKekka1 = intTime2 - intTime1;

// グローバルメモリ参照(←ヒープでいいよね?)
dblData = 0.0f;
intTime1 = GetTickCount();
for ( i = 0; i < 100000; i++)
{
 dblData = dblSin[ intNo[i]];
 for ( j = 0; j < 100000; j++)
   tt = otherMemory[j];

994 :名前は開発中のものです。:2009/03/31(火) 23:04:17 ID:0FYQSp1G
現実には割と続けて使われることも多いわけで、
そこまで明らかにミスキャッシュを誘発させるベンチはどうなんだろうね。

あと、dblSin[ intNo[i]]; だとテーブル二段階アクセスになるから
ちょっと不利な計測の仕方でしょ。

995 :名前は開発中のものです。:2009/03/31(火) 23:15:34 ID:WEsXEB63
誰か次スレたのむ

996 :名前は開発中のものです。:2009/03/31(火) 23:35:56 ID:AlfaWHG9
>>994
doubleData[i] = (double)rand() / (double)RAND_MAX;
なる配列を加えて、
dblData = sin ( doubleData[i]);
にした

kekka1 734
kekka2 781

確かに、画像の回転ぐらいやらせんと説得力ないな

997 :名前は開発中のものです。:2009/03/31(火) 23:57:28 ID:oMQsq3DX
妊娠してしまいますが

998 :名前は開発中のものです。:2009/04/01(水) 00:02:19 ID:NFPupAwb
埋め

999 :名前は開発中のものです。:2009/04/01(水) 00:10:27 ID:LuCgRd4k
シューティングで使う角度って10万も分割するのか……。

1000 :名前は開発中のものです。:2009/04/01(水) 00:12:11 ID:HvCh7B+t
http://pc11.2ch.net/test/read.cgi/gamedev/1212237657/

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

252 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)