1 :
1:
ゲームの改造、製作等のプログラムに興味をもっています。
厨房に分かる程度優しく教えてくれた方にはお礼をイイマス
>>1 #include <stdio.h>
main()
{
printf("1:ぐー 2:ちょき 3:ぱー\n");
getchar();
if (0)
printf("あなたの勝ちです\n");
else
printf("あなたの負けです\n");
}
じゃんけんプログラム
3 :
1:02/05/28 20:40 ID:pts0IQX6
プログラムってワードでやるんですかい?
4 :
2:02/05/28 20:41 ID:???
ぼくは
copy con janken.c
でやりました
5 :
1:02/05/28 20:57 ID:pts0IQX6
ふむ俺は一回だけAOCってゲムでコンピューターのAI作りにチャレンジした
のですが基本はやっぱどのプログラムもオナジなんですか?
>>5 2にあるじゃんけんに勝てたら教えてあげます
7 :
sage:02/05/28 21:16 ID:ss8Cyg9U
8 :
名前は開発中のものです。:02/05/28 21:20 ID:9aQkf712
>>1頑張レロ( ゚д゚)レロ 目標はどのへんなんの?
9 :
1:02/05/28 21:23 ID:???
CDチェックやプロテクトを解除したり、やりたいゲームと
同じ物が作れるくらいになりたいんですけど
>>9 毎日6時間以上みっちり勉強したとして1年以上かかりますね。
それくらいの覚悟はありますか?
>>10 んな肩肘張らんでも・・ ユクーリ マターリと
12 :
:02/05/28 23:26 ID:???
こういうスレを立てる1の中で、
プログラムが組めるようになった人っているのでしょうか?
15 :
:02/05/29 00:42 ID:???
あぼーん
>>9 >CDチェックやプロテクトを解除したり
ワロタ。
真性ですね。
20 :
名前は開発中のものです。:02/05/31 02:34 ID:cnKSAeAU
漏れら極悪非道のageブラザーズ!
クソスレもageてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ∧_∧ age
(・∀・∩)(∩・∀・) age
(つ 丿 ( ⊂) age
( ヽノ ヽ/ ) age
し(_) (_)J
漏れら極悪非道のageブラザーズ!
レス30以下のゴミスレはageてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ∧_∧ age
(・∀・∩)(∩・∀・) age
(つ 丿 ( ⊂) age
( ヽノ ヽ/ ) age
し(_) (_)J
あぼーん
あぼーん
あぼーん
人ヾ
/ ゚o\
(´Д`O )
(⊃o⊂゚)
U U
______∧_______
自動age
あぼーん
あぼーん
あぼーん
あぼーん
31 :
名前は開発中のものです。:02/11/26 06:21 ID:6H6WKYg4
>1
は矢口。
___
/´,,,._`ヽ
( ノ _.ヾ、)
f、 ,_.ノゞ´ このスレが邪魔だと思うならここへ逝きなさい・・・
_| ー,´_
http://qb.2ch.net/test/read.cgi/saku/1032639736 / / /__ ヽ、
/ 〈"`´ ,/ミ)━・~~~
/ __,,.-'' ̄/ノ ヽ、 ヽ
(__,,.-'' ̄ | / ./
ゝ 彡⌒〉/
/⌒ヾ ^ヽ
/ ''"γ⌒ヽ i""'';;
/ /;|゙ "i_)_ノ,,,,.;;''ミ
/ /,,| | ,,;;;ミ
/ / | |'┰""""""
/ 〈 .| |.┃
/_ノ ) | .| ┃
<二-'"l」 / |)┃
|_ノ/」 ┃
<__ノ ┃
━━┻━━
___
/´,,,._`ヽ
( ノ _.ヾ、)
f、 ,_.ノゞ´ このスレが邪魔だと思うならここへ逝きなさい・・・
_| ー,´_
http://qb.2ch.net/test/read.cgi/saku/1032639736 / / /__ ヽ、
/ 〈"`´ ,/ミ)━・~~~
/ __,,.-'' ̄/ノ ヽ、 ヽ
(__,,.-'' ̄ | / ./
ゝ 彡⌒〉/
/⌒ヾ ^ヽ
/ ''"γ⌒ヽ i""'';;
/ /;|゙ "i_)_ノ,,,,.;;''ミ
/ /,,| | ,,;;;ミ
/ / | |'┰""""""
/ 〈 .| |.┃
/_ノ ) | .| ┃
<二-'"l」 / |)┃
|_ノ/」 ┃
<__ノ ┃
━━┻━━
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
41 :
:02/12/11 03:31 ID:tWeRlQcw
cout << "氏ね!" << endl;
あぼーん
(・∀・)
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
test
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
56 :
名前は開発中のものです。:03/03/17 10:12 ID:aY1zWYZF
タタタタタ ・・・((((ノ~ 〓~)ノちゅ~して~ん♪
>>41 std::cout << "namespace付いてない!" << std::endl;
あぼーん
あぼーん
あぼーん
あぼーん
62 :
名前は開発中のものです。:03/03/28 10:26 ID:/PXM+L8Q
日 凸 ▽ ∇ Ⅱ
≡≡≡≡≡≡≡ ∧ ∧ / ̄ ̄ ̄ ̄ ̄
Ⅱ ∩ [] % 曰 (゚Д゚ ;) < こねぇなぁ。
_________|つ∽)_ \_____
―――――――――――
━┳━ ━┳━
 ̄ ┻  ̄ ̄ ̄┻ ̄ ̄ ̄ ̄
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
作ろうとしているもの。
・5人以上のパーティが作れる2D-RPG。
・WinでもMacでも動く。Java1.4で動かす予定。
・最低スペックはセレロン400MHz。にしたいけど、無理ならG4-700MHzくらい。
今できていること。
・画像の合成とスプライトの表示。
・レイヤ数はメモリの許す限り。
目標
・今年の冬くらいまでにシステム作って、来年の夏休み頃にゲーム完成。
サポートWebサイト
・ありません。ごめん。
・わたしの作業がある程度進んだらシナリオ担当の子が作ってくれるはず。
・今動いてるものはあるけど、素材の版権問題で表に出せないんです。
あいことば
・まったりまったり。
まったりと、マップ作りを再開します。
なんだかんだで一ヶ月もあいちゃったなあ。
なんかもうだいぶ忘れてるような……。
サイトにエロゲー置いたよ、
と言われて、そんなのわたしに言わないでよ、とか思いながら見てみると、
脱衣ブロック崩しでした。
でもそのアプレット、Macでは動きがへん。
納得いかないのでちゃんと動くようにバグ取りました。作者さんには言ってないけど。
そんな感じで週末が終わってしまった。……ゲームづくり進んでません。
2DRPGでも橋の上通ったり下くぐったりはあるわけで、
ただチップを並べるわけにもいかないなあと悩む今日この頃。
ツクールの通行方向設定もいいアイデアなんだけど、
それだけじゃ見た目が変になっちゃうケースもあるんだよねぇ。
うーん。困った。
93 :
名前は開発中のものです。:04/04/08 17:55 ID:FOOsZfjV
保守
……ひどい。こっそり使ってたのに。
nanikonosure?
>92
マップを2層にして、下の層はキャラより下になる物、上の層はキャラより上になる物って感じにして、キャラは上の層と下の層の間を歩く。
橋を上の層にしておけば、キャラは橋の下をくぐれるよ。
>96サンありがと♪
実はもう一個悩んでたのがあって、
ツクラーで物好き(?)な人なら試した人あるかもしれないけど、
ドアを開けて中に入ろうとすると、ドア枠の上に乗ってしまうという現象が!
高さと奥行きをいっしょに扱おうとするからややこしいんだと思うんだけど、
別々に扱うのはめんどうで……。
……結構下がってたと思うんだけど、なんで上がってるんだろ。
xcodeでcvsを使う方法がよくわからない……。
CVSROOTはどこに書くのかしら。
1.2は2で1.5は5?
えらい人の考えることはよくわからないですね。
わたしは当分1.4でいきます。
100 :
ハーピィ:2005/08/06(土) 05:18:59 ID:rEkfsggh
E・∇・ヨノシ <100ゲット♪♪
>939
一応横スク。
メタル ヴァり~知らん 知らん
マリオみたいな感じで。
>940
何もやらんよw
リーダーみたいなもんだわさ。
ステフが~だった場合
・絵師
他のメンバーは絵に引かれてやってくる人多し、
生産低いOR逃亡で一気に崩壊の危険高い
逆、絵師がみんなをリードしていき完成まで行く可能性が高い。
・PG
他のメンバーを素材をして利用、
企画としては長く続く。
会話は、 材料の指示などでつまらない。
あと、精神的に異常がある人多し、問題多々。
・音や
どうでもいい。
フリーで十分なのが得られるので、
神音ではないかぎり必要性を感じない。
モチベは低いだろう。
・シナリオ
神シナリオでないと集まらない。
シナリオは批判など多いので、タフなやつではないと生き残れない。
・無能
本人のやる気なし。
一番、終わりやすい。
逃亡率100%
さ
104 :
名前は開発中のものです。:2006/07/14(金) 12:27:43 ID:zYRCrdZI
age
105 :
名前は開発中のものです。:2007/08/06(月) 00:23:03 ID:iEhcOMmo
age
106 :
名前は開発中のものです。:2010/08/29(日) 10:55:58 ID:JxxRNzCC
age
107 :
社内ニート ◆OpY5DDvqSw :2011/01/24(月) 23:12:11 ID:Ipp1jCxA
勤務時間中、暇なんでC++ってやつを勉強してゲームを作ってみたい。
プログラムはほぼ初心者。
今、Kagでゲームを作り始めて、TJSをすこしだけ理解した。
言うまでも無いと思うが、俺がゲームを作り上げることが出来るかどうかはお前達しだいだ。
どうか力を貸してほしい。
作りたいゲームは、「ポトリス」「アサルトギア」「ガンバウンド」などに代表されるタイプの
放物線を描く弾を敵に当てるゲーム。
どういうゲームなのか、知らない人は以下のURLの「対戦!ねこ戦車」をプレイしてもらえばすぐに分かる。
ねこ戦車はブラウザゲーなので、すぐに始めることが出来る。
アカウントの作成も必要ないのでぜひ一度おためしあれ。
ttp://mogera.jp/gameplay?gid=gm0000000578
108 :
社内ニート ◆OpY5DDvqSw :2011/01/24(月) 23:24:23 ID:Ipp1jCxA
まずはこれだけのことをこなしたい。
①ウインドウを表示する。
②地形を表示し、その上に戦車を置く。
③地形の凹凸に応じて戦車自体の角度が変わる。
④車体角度とは別に砲台角度を変更できる。車体角度+砲台角度が発射角度になる。
⑤スペースキーを押す時間に応じて弾の発射力が変わる。弾は放物線を描いて飛ぶ。
⑥弾のぶつかった地形が、着弾点を中心に円形にえぐれる。
⑦一定以上の角度の地形は移動できない。
109 :
社内ニート ◆OpY5DDvqSw :2011/01/24(月) 23:27:51 ID:Ipp1jCxA
その前に、C++をやるためにコンパイラとかいうものが必要らしいが、
いろいろあってよく分からない。
ネット対戦を前提にして、なにを使えばいいか教えてくれ。
110 :
社内ニート ◆OpY5DDvqSw :2011/01/24(月) 23:34:59 ID:Ipp1jCxA
ネット対戦を念頭に置くならこれを使って勉強を始めればいいのか?
.NET Framework SDK
111 :
名前は開発中のものです。:2011/01/26(水) 00:44:33 ID:kFO3lhjv
誰か反応してやれよw
112 :
社内ニート ◆OpY5DDvqSw :2011/01/27(木) 00:43:21 ID:KMchEVI+
そう、誰か反応しなさい。
すべてお前等の努力にかかっている。
114 :
社内ニート ◆OpY5DDvqSw :2011/01/28(金) 05:32:21 ID:q5eIDIBU
VisualC++インストールしました!
今日の勤務時間中にC++の入門ページを読んで
画像の表示方法でも調べてみます。
帰宅後、また教えてください。
まずは、地面の表示とキャラクターの表示をしてみようかと思うのですが、
これには、地形とキャラクターの当たり判定と、キャラクターにかかる重力の計算が必要になると思います。
このあたりから教えてもらっていいですか?
一般的なプログラムの勉強の仕方としては、
もっと別のことから段階を踏んでステップアップしていくべきなのかもしれませんが。
>>114 キャラクターの下側の座標が地面の座標を超えたら
キャラクターの下側の座標を地面に合わせる。
重力はキャラクターのY座標に速度を常に足していく。
キャラクターが地面についてなかったら
速度に加速度を足していく。
地面についたら速度を0にする。
スタート地点がおかしいw
117 :
社内ニート ◆OpY5DDvqSw :2011/01/28(金) 21:56:26 ID:q5eIDIBU
118 :
社内ニート ◆OpY5DDvqSw :2011/01/28(金) 22:06:03 ID:q5eIDIBU
よーし!それではVisual C++を発起動するぜ。
119 :
社内ニート ◆OpY5DDvqSw :2011/01/28(金) 22:10:15 ID:q5eIDIBU
フォームを開いたぜ。
プロジェクト名は 2tank だ。
とりあえずは仮名で。
そのうちかっこいい名前を考えるぜ。
120 :
社内ニート ◆OpY5DDvqSw :2011/01/28(金) 22:25:53 ID:q5eIDIBU
ちなみに、ステージの広さは横がウインドウサイズの3倍、縦が2倍になるんですが、
画像を表示させるのはpictuerboxを使えばいいんですか?
このさい、pictuerboxの使い方も教えてほしいけど、そこは自分で調べます。
pictuerboxってのがどうも、画像を表示させるのに使う道具らしいってのは感で分かりますが、
こういう場合は他の道具で表示させたほうがいいのかもしれないから、やるまえに教えてください。
121 :
社内ニート ◆OpY5DDvqSw :2011/01/28(金) 22:54:10 ID:q5eIDIBU
ピクチャーボックスを二つ使って地形と自機のJPG画像を表示させた。
今日はここまで。
この後当たり判定をつけるにはどうするか教えてもらえるまで待ちます。
122 :
115:2011/01/28(金) 23:48:52 ID:vQFViJxG
>>121 定期的に処理を呼び出す方法は調べたの?
ゲームは1秒間に30コマくらいは処理を繰り返さないとだよ。
あとpictuerboxって処理が重い気がするな。
まあ俺も初心者だけど知ってる限りアドバイスする。
地形をビットマップにするか折れ線で定義するかによって
実装の難度が変わってくると思うよ
>>108の⑥を入れるか入れないかが分かれ目かな
124 :
社内ニート ◆OpY5DDvqSw :2011/01/29(土) 01:57:18 ID:4jAEgNIs
>>122 pictuerboxって重いのか。
それじゃあ、どうやって画像を表示させたらいい?
あと、定期的に処理を呼び出す方法とかも知らないので教えてください。
>>123 ⑥=着弾地点を中心として地形が円形にえぐれる
これは絶対にはずせません。
穴を掘って敵をうめたり、穴の中に隠れたり、敵をフォールアウトさせたりと
細かい戦略がこのゲームの面白いところですので。
地形を折れ線で定義するとか、ビットマップで定義するっていうのはどうやるんですか?
今、私が出来るのは描いた絵を貼り付けることだけです。
調べるヒントになることだけでもいいので教えてください。
125 :
115:2011/01/29(土) 02:11:40 ID:Heb2U9Yg
>>124 windows用のゲームはだいたいdirectXが使われてるよ。
まあ使い方は結構めんどくさいけどね。
定期的に呼び出すのはスレッドを作ってsleepするか
WM_TIMERを使うといいよ。
ビットマップで地形を表示したいなら
ビットマップのフォーマットを調べて
座標に変換するようにすればいいと思う。
126 :
社内ニート ◆OpY5DDvqSw :2011/01/29(土) 11:25:08 ID:4jAEgNIs
>>125 一度に言われても分からない。
とりあえずビットマップのフォーマトを調べてみます。
127 :
社内ニート ◆OpY5DDvqSw :2011/01/29(土) 11:29:27 ID:4jAEgNIs
あ、そうだ。
pictuerboxを使うと重いって話もあったんで、他の画像の表示方法も教えてください。
128 :
115:2011/01/29(土) 11:37:38 ID:Heb2U9Yg
>>126 一度に聞いたのはお前じゃんw
ビットマップより先に画像表示が先だと思うよ。
俺は画像表示にdirectX9のスプライト機能使うのがいいと思う。
129 :
社内ニート ◆OpY5DDvqSw :2011/01/29(土) 11:51:52 ID:4jAEgNIs
わかりません
130 :
115:2011/01/29(土) 12:16:07 ID:Heb2U9Yg
>>127 アクションゲームじゃなくてターン制のゲームだったら
とりあえず描画が重くてもなんとかなるんじゃないかな
>>124 やりたいことを完全に実装したいなら、
まず、ステージの広さ分の仮想画面で地形を定義して、
ウィンドウサイズ部分を切り出して表示する処理が必要だよ
132 :
社内ニート ◆OpY5DDvqSw :2011/01/29(土) 15:23:40 ID:4jAEgNIs
とりあえずdirectx9をダウンロードしました。
説明はまたあとで読みます。
>>131 これまでのこれ系のゲームはターン制だったけど、
それって先行がかなり有利な場合があるんです。
そういう不平等をなくすために、ターン制は半分廃止にします。
なので、リアルタイムの通信が必要で、軽く出来るところがあるなら軽くしときたいです。
で、
>ステージの広さ分の仮想画面で地形を定義して、
>ウィンドウサイズ部分を切り出して表示する処理
この部分、具体的にVisualC++でどうやったらいいかとか、教えてもらえません?
133 :
115:2011/01/30(日) 00:25:05 ID:oIfYeeKo
>>132 1枚の画像の表示はできたの?
それをただ地形の形になるように並べるだけだよ
134 :
社内ニート ◆OpY5DDvqSw :2011/01/30(日) 15:28:26 ID:EOf3QC/a
>>133 pictuerboxでJpg画像を表示することは普通に出来ました。
地形の形になるよう並べるって言うのはどういうことですか?
まったくわかりません。
ビットマップで地形を表そうとしているのだとすると
背景画像と地形とマスク(地面の有無)の3枚の画像があるんだよね?
pictureboxとやらでちゃんと合成できるの?
できるとしたら、処理速度的にどうなの?
136 :
社内ニート ◆OpY5DDvqSw :2011/01/30(日) 16:20:50 ID:EOf3QC/a
>>135 知らない。
やっぱり地形の有無を示すためのマスク画像ってのが必要なんだな。
で、それをどうやったら表示させることが出来る?
137 :
115:2011/01/30(日) 17:19:35 ID:oIfYeeKo
>>136 jpegでやるんなら透過使えるんだからマスク画像なんて必要ないでしょ。
処理速度がpictureboxだと遅くてアクションだときついって言ってるのに
そこは考えないの?
directXの場合地形を1枚の画像でやろうとすると
ビデオカードが大きいサイズに対応してなかったりするから
512pix以内に地形画像を分割して並べて表示するのがいい
138 :
社内ニート ◆OpY5DDvqSw :2011/01/30(日) 17:58:42 ID:EOf3QC/a
139 :
115:2011/01/30(日) 18:02:43 ID:oIfYeeKo
>>138 directX9のスプライト機能使えって言ってるだろ
教えてあげてるのにその態度はなんだよ
140 :
115:2011/01/30(日) 18:17:09 ID:oIfYeeKo
>>138 お前は馬鹿だからもっと具体的に教えてやらないとダメみたいだな
directX9 スプライトで検索しろ
こんなスレばっかりだな
142 :
名前は開発中のものです。:2011/01/30(日) 20:14:11 ID:hpGZU6lP
こんなだから会社でも仕事もらえないんだろうな
人間として生きる価値ないよお前
143 :
社内ニート ◆OpY5DDvqSw :2011/01/30(日) 20:27:12 ID:EOf3QC/a
>>142 新店舗をまかされたはいいが、客が来ないだけだ。
144 :
社内ニート ◆OpY5DDvqSw :2011/01/30(日) 20:34:53 ID:EOf3QC/a
なんだこいつら
まずは気負わないで出来そうなことから部分的にやると良いと思うよ
平坦な地面を左右に動くだけのプログラムを作るとか
あといきなりDirectX9は敷居が高い気もする
11は簡単らしいけど知らん
146 :
社内ニート ◆OpY5DDvqSw :2011/01/31(月) 00:40:03 ID:XYfTEsg4
>>145 なに、directx9は敷居が高い?
使わなくてもやれるの?
平坦な地面の上をキャラクターが左右に動くだけのプログラム。
それでもいいからやり方教えてくれ。
>>146 つDXライブラリ
画像程度なら簡単に表示できる。
まずはこれをインスコして動かすだけでもやってみ。
148 :
115:2011/01/31(月) 01:21:01 ID:1vMX8mjp
DXライブラリ使ったことないから分からないな
directX9でもスプライトならサンプルコピペで簡単に画像表示できるはずだよ
149 :
社内ニート ◆OpY5DDvqSw :2011/01/31(月) 02:26:57 ID:XYfTEsg4
>>147 それ、DXライブラリっての聞いたことがある。
ゲームを作りやすいものだって、ニコ動で誰かが言ってた。
仕えるようになるまでの設定もめんどくさそうだけど、詳しく説明してくれてるページがあるんで
ちょっとやってみる。
150 :
名前は開発中のものです。:2011/01/31(月) 11:17:45 ID:Sn2Wsqmc
お前には無理だ
151 :
社内ニート ◆OpY5DDvqSw :2011/01/31(月) 23:56:32 ID:XYfTEsg4
あるホームページで、以下の様な説明がありました。
> まず適当なグラフィックファイルを以下のフォルダにコピー等で入れてください。
>
> VisualC++6.0 又は VisualStudio.net の場合
> サンプルプログラム用フォルダ( DxSample ) の中の『VC』というフォルダ。
VisualC++2010Expressの場合、どこのフォルダに画像を入れればいいですか?
152 :
115:2011/02/01(火) 00:10:29 ID:7s78HQyQ
>>151 作られたexeファイルのあるフォルダに入れて実行すればいいんじゃない?
あとDXライブラリ使うならやり方しらないからアドバイス出来ないな
俺はPCでのゲーム作りはdirectX9のコピペから初めた。
まあコピペだからdirectXの本質はあまり理解してないが
とりあえず形あるゲームは作れた。
153 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 00:37:51 ID:rB9l6gPH
DXライブラリうめぇwww
これなら俺にもなんとかなるんじゃねw
>>151にあるような『VC』とかいうフォルダ探すのをあきらめて
ためしにプロジェクトフォルダに入れてみたら出来た。
でも画像サイズがでかすぎる。
調節しないと。
ってか、説明ページを読みながらやったら、
ウィンドウじゃなくて全画面表示されるようになったし。
次はウィンドウを表示させよう。
154 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 00:38:59 ID:rB9l6gPH
>>152 せっかくだけど、DXライブラリでやるわ。
わるいね。
協力ありがとう。
155 :
115:2011/02/01(火) 00:41:18 ID:7s78HQyQ
ちゃんとお礼を言えたのか
とりあえず傍観しようかな
156 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 00:48:18 ID:rB9l6gPH
>>155 お前の書き込みは一切役に立ってねぇんだよ。
いてもいなくても同じだからとっととうせろwww
とか言ったら荒れるからな。
俺大人すぎwww
157 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 01:47:16 ID:rB9l6gPH
というのは冗談です。
水平な地形を表示して、
自機を表示して、
自機が左右に動くようにしました。
自機が残像みたいになるので、
1ループするごとに画像が消えるようにしました。
そうしたら地形も消えました。
地形画像と自機を別のレイヤーに表示させることって出来ませんか?
レイヤーってのがないんでしょうか。
158 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 02:28:37 ID:rB9l6gPH
>>145の、水平な地面を移動させるのと、地面と画面の端の当たり判定はできた。
159 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 02:31:32 ID:rB9l6gPH
次は、ぎざぎざの絵との当たり判定をつけることだな。
しかし、関係ないが腕が痛い。腱鞘炎?
力が入らん。
160 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 03:01:59 ID:rB9l6gPH
>>160 透明な小さい四角をギザギザと同じような形に並べといて
その四角と当たり判定つける
162 :
115:2011/02/01(火) 12:56:55 ID:7s78HQyQ
>>160 int grandY[地面の幅]; //地面のY座標
getGrandY(grandY); //地面のY座標取得
//当たり判定:charactorXは地面の左端からの座標 charactorYはキャラの下側の座標
if(charactorY>grandY[charactorX])charactorY=grandY[charactorX];
void getGrandY(int *grandY)
{
地面のY座標取得の方法
案①(難易度大、スマートさ大)
地面の画像ファイル(jpg?)を解析して座標を求める。
案②(難易度中、スマートさ中)
地形が記憶された白黒のビットマップを用意して、そこから座標を求める。
案③(難易度小、スマートさ小)
手で入力
}
163 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 20:01:32 ID:rB9l6gPH
>>161 縦×横 1x1ピクセル の画像を並べるというような手作業はムリ。
もっとおおざっぱでもいいんじゃないかって思うかもしれないけど、
ミリ単位の地形の凹凸が戦略に影響するゲームだから、それはちょっと困る。
>>162 肝心の部分が分からないんですが
案① 画像ファイルを解析して座標を求める
って具体的に何をするんですか?
案②
こういう方法を今日思いつきました。同じことですか?
今日の勤務中に、 GetPixel という関数を発見しました。
指定点の色を取得できるらしい。
これを利用して、自機の下の座標が白なら当たってる。
黒なら当たってない。
というふうにやれば複雑な地形でも当たり判定をつけることが出来ると思ったんですが、
レイヤ表示させることができないとこの方法は無理です。
白黒の地形画像の上に本物の地形画像を重ねるわけですから。
逆に言えば、レイヤ表示ができればなんとかなると思うんで、どうにかできる人がいたらどうにかしてください。
③
>>161と同じ方法ですか?
そういう書き方されても分かりません。
164 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 20:15:27 ID:rB9l6gPH
レイヤ表示の仕方はお前らがどうにかしてくれるだろうから、
白黒画像の地形に当たり判定をつける作業に入る。
165 :
115:2011/02/01(火) 20:55:51 ID:7s78HQyQ
166 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 21:02:22 ID:rB9l6gPH
167 :
115:2011/02/01(火) 21:04:29 ID:7s78HQyQ
>>163 getPixcel調べたらGDIの関数みたいだね。
GDI使ったことないから使えるか分からん。
168 :
115:2011/02/01(火) 21:06:30 ID:7s78HQyQ
>>166 ①は俺にも分からんって言ってるじゃん
③がお前が1番できる確率が高い方法
169 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 21:13:29 ID:rB9l6gPH
③は
>>161と同じ理由で却下。
ネコ戦車であそびおわったからそろそろ作業開始するわ。
170 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 22:39:05 ID:rB9l6gPH
//色コードを取得
int Cr ;
Cr = GetPixel( tankX , tankY ) ;
GetPixelで取得した 色コード ってのがどういうもんなのかよくわからん。
#FFFFFF とかってやつかと思ったんだけど、良く分からん。
なので、取得した色コードがどんな物なのか、表示させてみたい。
どんなふうに書けばいい?
それか、白の色コードをいきなり教えてくれてもいい。
>>162 上4行の方法だと水平な洞穴は作れないのと違う?
>>163 白黒画像を地形画像のαチャネル扱いしておけばレイヤー合成できるよ。
っていうか、着弾するごとに地形が変化するようにしたければ
仮想画面の取り扱いは必須だと思うよ。
>>170 COLORREFで検索するといいよ。
172 :
115:2011/02/01(火) 23:10:20 ID:7s78HQyQ
173 :
社内ニート ◆OpY5DDvqSw :2011/02/01(火) 23:24:11 ID:rB9l6gPH
>>171 ありがとうございます。
さっそくCOLORREFで調べてみます。
今現在、白黒画像をαチャンネルとして用意して、
背景が見えるようにしてるんですが、
getpicxelでαチャンネル画像の色コードを取得することは出来ないので・・・
まあ、これについては後でかんがえます。
174 :
社内ニート ◆OpY5DDvqSw :2011/02/02(水) 01:29:59 ID:QU1cQpLp
175 :
115:2011/02/02(水) 08:15:48 ID:XeB+1toB
せっかく俺が教えてゲーム完成させようと思ってたのに詰まらん奴
176 :
社内ニート ◆OpY5DDvqSw :2011/02/02(水) 20:03:29 ID:QU1cQpLp
>>175 いや、まじでちゃんと教えてくれよ。
教えてくれるならここでやる意味もあるってもんだけどよ・・・。
ところで、今日の16時30分ころにひらめいた。
仕事中だったのでメモ帳に書いて自宅にメールを送って、今実行。
こういうふうにやった。
なお、
機体の下の地形の当たり判定を調べる座標のことは 接地判定点 と呼ぶことにします。
用意した画像は ①背景 ②地形 ③地形とそれ以外の部分の白黒画像 ④タンク
-----------------------------------------------------------------
・描画先を裏画面にする
以下ループ
・③白黒地形を読み込む
・接地判定点の色を得る。
・画像を消す
・①背景、②地形画像を読み込む。
・接地判定点の色が黒ならタンクの座標Yを下にすこし移動させる。
・④タンクを表示する。
ttp://218.219.242.231/~kuroneko/imgboard1/img-box/img20110202200118.jpg
177 :
名前は開発中のものです。:2011/02/03(木) 02:38:59 ID:twk/nf1h
これが人にモノを聞く奴の態度かよ
クズ過ぎワロタ
178 :
社内ニート ◆OpY5DDvqSw :2011/02/03(木) 08:46:28 ID:/1zp6P08
じゃあ、態度を改めるのでちゃんと教えてください。
接地している地形に応じて機体の角度を細かく変更させたい場合はどうすればいいですか。
179 :
115:2011/02/03(木) 10:57:46 ID:UjEDRWhX
>>178 atanで地面の傾きの角度を求めてそれを機体の角度に反映させる。
設置点を2点にする。
181 :
社内ニート ◆OpY5DDvqSw :2011/02/03(木) 19:23:19 ID:/1zp6P08
ただいま。巻き寿司かってきたぞ。恵方向きながら食おう。
ところで恵方ってどっちだ。
>>179 atanの存在を教えてくれてありがとう。
でも、角度を求めるには2つの点が必要だけど、
それをどうやって求めるかってところでなやんでる。
>>180 おれもそれを考えた。
でも、getpixelって重いらしいから、多様しちゃだめだって書いてたので気になる。
しかも、実はこれが3つ目の接地点。
いつの間に2つ目の点を作ったかっていうと、
接地点が黒の場合、機体の位地はどんどん下がって、白に1ドットめり込んだ状態でとまる。
その後、横に移動して、山みたいな地形にぶつかると、中にもぐりこんでしまうので、
今度は接地店が白の場合、機体の位置をどんどん上げていくようにする。
そうすると、接地店が白と黒の間でいったり来たりする結果になるので、
接地点を縦に2つ並べて、上の点が黒で下の点が白なら機体の上下を中止するっていうふうにした。
これで、タンク1つにつき3つのgetpixel。
4:4の対戦なら12のgetpixel。
……
まあ、かんがえても仕方ないから、接地点とタンクを増やしてやってみる。
これでだめなら、当たり判定のしかたを根本的に改める必要がある。
182 :
社内ニート ◆OpY5DDvqSw :2011/02/03(木) 19:52:37 ID:/1zp6P08
あと、総合スレで
Getpixel より GetPixelSoftImage のほうがいけてるぜぇ~。
との助言をいただいたので、そっちに変更しました。
GetPixelSoftImage って、 赤 緑 青 透過度 の4つを得ることが出来ますが、
これらのうち、一つだけを得ることってできるんでしょうか。
1つだけなら処理も軽くなる気がするんですが。
183 :
社内ニート ◆OpY5DDvqSw :2011/02/03(木) 19:58:52 ID:/1zp6P08
後一つ、
atanを使うには、一番最初に
#include "math.h"
って書けばいい?
必須ヘッダとか書いてたけど、良く分からん。
184 :
社内ニート ◆OpY5DDvqSw :2011/02/03(木) 20:00:57 ID:/1zp6P08
さらに質問。
while
{ }
の中に、さらにwhileって入れていい?
185 :
115:2011/02/03(木) 20:27:36 ID:UjEDRWhX
>>182 GetPixelSoftImageの重さが気になるなら
配列用意してロード時に読み込んじゃえばいい
>>183 #include <math.h>
標準ライブラリだからこう書く
>>184 自分でややこしくならないなら入れてもいい
186 :
社内ニート ◆OpY5DDvqSw :2011/02/03(木) 20:38:59 ID:/1zp6P08
whileの中にwhile入れてもいいのか。
じゃあ、エラーが起こってる理由は別だな。
配列って、
000000000000000
000011111100000
001100000011000
001100000011000
000011111100000
000000000000000
みたいな感じで構造体ってのを並べてマップ表示するやつだろ?
構造体の縦×横が1ドットのものを全部並べるとしんどいからだめだって
>>161の時に言ったじゃん。
187 :
社内ニート ◆OpY5DDvqSw :2011/02/03(木) 23:15:39 ID:/1zp6P08
地表での上下動をふせぐために、
接地点を縦に2つ増やし、
タンクを8つに増やした。
Getpixelは全部で16個。
5ミリ秒ごとに16のGetpixelをやったけど特に問題なかった。
地形との接触角度を求めるために1タンクごとにGetpixelを3つにするのは問題なさそうだぁ!
というか、やりながら思いついたんだけど、
各タンクの角度を1台のPCにやらせる必要はない。
それぞれのプレーヤーのPCに自分のタンクの角度を計算させ、
計算後の機体角度と位地座標を他のプレーヤーに渡せばいい。
188 :
115:2011/02/04(金) 00:15:14 ID:zvmJIej4
技術的に面白そうなので、自分も同じゲームを作ってみようかな
190 :
115:2011/02/04(金) 00:21:25 ID:zvmJIej4
>>188 ミスってた
fp=fopen(fileName,"r");
をfp=fopen(fileName,"rb");に直して使ってくれ。
191 :
社内ニート ◆OpY5DDvqSw :2011/02/04(金) 00:59:07 ID:3/Y06AUg
>>189 ポトリス系のゲームはやったことある?
プログラムできるんなら君に任せて、
俺が画像や音の素材作りをして、共同制作しませんか?
>>188 それを使えばだいぶ軽くなりそうだな。
実際使ってみてどうなるか分からないけどわざわざありがとう。
192 :
社内ニート ◆OpY5DDvqSw :2011/02/04(金) 01:05:30 ID:3/Y06AUg
>>188でいただいた物の中身を見たら、
getImagePixel(x,y)
193 :
社内ニート ◆OpY5DDvqSw :2011/02/04(金) 01:10:44 ID:3/Y06AUg
失礼、途中で書き込んでしまった。
>>188でいただいた物の中身を見たら、
getImagePixel(x,y)
って言う物があったんですが、これって
getpixelみたいに重くないんですか?
弾が当たったら、その部分が大きく円形にえぐれるんで、
着弾するごとにそのマップデータを書き換える必要があるんですが、
白黒画像に塗りつぶした円を描画
↓
getimagepixelを利用して配列を作る
ってやってたら死ねると思うんですが、
1と0で出来た配列に、直接円形に変化させることもできますか?
できたらかなり助かりますが。
194 :
社内ニート ◆OpY5DDvqSw :2011/02/04(金) 01:51:38 ID:3/Y06AUg
/|
/ |
/ |
/ | x
/ |
/ |
/θ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
y
この角度、θを求めるためには
θ = atan2 ( y , x ) ;
って書けばいけるかと思ったんですが、だめでした。
どう修正すればいいですか?
ぶっちゃけ、重いかどうか考えずに作ったほうがいいよ。
今のマシンじゃちょっとやそっとじゃ重くならないし。
速度が気になるんなら関数をラップして、
完成して余裕ができたら速い処理に置き換えるよう工夫するとかしたほうがいい。
196 :
社内ニート ◆OpY5DDvqSw :2011/02/04(金) 03:43:43 ID:3/Y06AUg
>>195 初心者に分かるように言えYo!ファッキュー!
でも、重いかどうか考えずに作ったほうがいいってのはそうだな。
人間の感覚で重いと思っても、コンピューターにとってはそれほどでもなかったりするし。
思い切って、getpixelいっぱい使っても平気だった。
どんどん作っていったほうがいい。
それで動かなかったらそのとき考えよう。
で、
>>194は?
197 :
社内ニート ◆OpY5DDvqSw :2011/02/04(金) 03:46:24 ID:3/Y06AUg
あとよ、こういう企画してると、神みたいなタイミングで
「PC壊れちゃったんでしばらく作業できません」
ってことがよくあるが、ほんとにあるんだな。
俺は風呂が壊れた。
水風呂だ。
>>194 斜辺と接辺の内積を取る。単位はcosθ。
ラジアンとかで取得したかったら、内積値に逆三角関数で求められる。
200 :
社内ニート ◆OpY5DDvqSw :2011/02/04(金) 08:49:52 ID:3/Y06AUg
630
事故解決しました。
XとYに(double)つけたらよかった
201 :
115:2011/02/04(金) 15:21:47 ID:zvmJIej4
202 :
社内ニート ◆OpY5DDvqSw :2011/02/04(金) 19:52:36 ID:3/Y06AUg
ありがとうございます。
これで描く塗りつぶし円は、ビットマップ画像に描画して、その後再び
getImagePixelでビットマップを0と1の配列にするんですか?
203 :
115:2011/02/04(金) 20:33:30 ID:zvmJIej4
>>202 言ってることが良く分からんが
このプログラムはloadImageでファイルから配列bufに画像を読み込む。
fillRect、drawCircle、fillCircleでbuf内に入ってる画像に書き込む。
getImagePixelでbuf内の画像の色を取得出来る。
お前はgetPixelで白黒画像を読み込んでるみたいだからgetImagePixelに
置きかえれるはず。
204 :
社内ニート ◆OpY5DDvqSw :2011/02/04(金) 20:57:47 ID:3/Y06AUg
それじゃ、ゲーム内にそのまま使うことはできないですね。
着弾して地形がえぐれるたびにgetimagepixelを桁違いに多用することになるから。
fillCircleでbuf内に入ってる画像に書き込んでからgetImagePixelで画像の色を取得
というのが、無駄が多すぎる気がする。
ただ、ゲーム開始時のステージデータ読み込みにはすごく有効だと思う。
あとは、着弾点をどうやって変形させるかさえなんとかなればいける。
というか、あらかじめgetpixelを使って配列を作っておけばいいね。
205 :
115:2011/02/04(金) 21:04:55 ID:zvmJIej4
>>207 fillCircleは地形を変化させる時に使えばいいだけで
getImagePixelは1回loadImageで白黒画像を読み込んじゃえば使えるよ。
206 :
115:2011/02/04(金) 21:06:05 ID:zvmJIej4
207 :
社内ニート ◆OpY5DDvqSw :2011/02/04(金) 21:13:55 ID:3/Y06AUg
んん?
fillCircleを使った後にgetimagePixelを使わないと、
配列はfillCircleを使った前と後で変わらないんじゃない?って話なんだけど。
208 :
115:2011/02/04(金) 21:18:30 ID:zvmJIej4
>>207 配列の中身はfillCircleを使わないと元の画像のままだけど
何か問題あるの?
209 :
社内ニート ◆OpY5DDvqSw :2011/02/04(金) 21:21:22 ID:3/Y06AUg
fillCircke使っただけで配列の中身が変わるの?
210 :
115:2011/02/04(金) 21:21:53 ID:zvmJIej4
211 :
115:2011/02/04(金) 21:30:10 ID:zvmJIej4
てかgetImagePixelはただの配列から値を読み取るだけの関数だよ
213 :
社内ニート ◆OpY5DDvqSw :2011/02/05(土) 08:16:34 ID:LqlwHybZ
昨日の続きだけど、
>>211 getImagePixelは
配列から値を読み取る
じゃなくて、画像から値を読み取る
じゃないの?
214 :
社内ニート ◆OpY5DDvqSw :2011/02/05(土) 08:21:18 ID:LqlwHybZ
BMP画像を
getImagePixelで読み取り、
putImagePixelで0と1の配列に書き出す。
↓
0と1の配列が出来上がる。
↓
地形を変形させたいので、
fillCirkleでBMP画像に円を描く
↓
BMP画像は変形したが、この状態ではまだ0と1の配列はさっきと同じ状況。
↓
getImagePixelで読み取り、
putImagePixelで0と1の配列に書き出す。
↓
変形後の0と1の配列が出来上がる。
じゃないの?
215 :
社内ニート ◆OpY5DDvqSw :2011/02/05(土) 08:27:12 ID:LqlwHybZ
>>212 すばらしい!
まさに基本はこれです。
地形との当たり判定はどうやってますか?
機体の角度はどうやって測定してますか?
急斜面を上れないようにするのは機体の角度で制限ですか?
216 :
115:2011/02/05(土) 10:14:06 ID:RD4qllhr
>>214 全然違う。ちゃんとプログラム読みなさい。
loadImageでファイルからBMP画像を配列bufに読み込む。
(0と1の配列が出来上がる。起動時に1回読み込めばいい。)
↓
地形を変化させたい時はfillCircleで配列内の画像に円を描きだす。
(putImagePixel、drawCircle、fillRectは書き出す形が違うだけでやってることは一緒)
↓
getPixelImageで配列bufからデータを読み取ることができる。
(配列から読み取っていて軽いので当たり判定に多用出来る。)
↓
saveImageでbuf内の画像をファイルへ出力することもできるが、
デバッグ用のおまけなので使う必要はない。
つまり画像ファイルにアクセスする関数は
loadImageとsaveImageだけだよ。
戦車の足元3点(中心と前後の角。回転後で計算)の有無を調べて、
・中心が地面 or 前後両方地面 → 真上に持ち上げる
・中心も前後とも空間 → 真下に落ちる
・前が地面で後ろが空間(もしくはその逆) → 回転させる
でやっています。
マウスホイールで画面を拡大できるので、凸凹の上で少しずつ
動かして観察するとわかりやすいと思います。
戦車を移動させるときは、単純にX軸方向に動かすのではなくて、
戦車の前後方向(回転後)の移動量を足しこむのと、
回転させたときの角度も±60度程度で制限しているのの両方で、
一定以上の傾斜が上らなくなりました。
この辺、調整が微妙なので、時々妙な挙動をするけれど実装は簡単です。
あ、違った。
> 回転させたときの角度も±60度程度で制限している
ではうまくいかなかったので、
「+(-)60度を超えているときは前(後)の移動操作入力を中止する」
方法に変えたのでした。
角度制限を外したので、時々絶壁に張り付いて動けなくなるみたいです。
219 :
社内ニート ◆OpY5DDvqSw :2011/02/05(土) 11:22:52 ID:LqlwHybZ
>>216 やっぱり納得いきません。
>fillCircleで配列内の画像に円を描きだす。
fillCircleはやっぱり 画像に円を描き出す んでしょ?
配列の一部を直接変化させるわけじゃないんじゃ・・・。
ちょっと良く分からないのでこの話はいったんここまでにします。
画像を0と1の配列に直すアイディアをありがとうございました。
>>217 ほぼ理想どおりの動きです。
マウス操作での画面拡大や画像のスクロールはアサルトギアでもありました。
これが有るか無いかで操作性がずいぶん変わるんです。
接地を判定する点が合計3つ、
□□□ こんなふうに並んでるわけですね。
■■■なら下降
□□□なら上昇
■□□なら、反時計回りに回転。
では、回転した後の判定点は
◆
◆
◆
こんなふうに斜めになるんですか?
220 :
115:2011/02/05(土) 11:45:43 ID:RD4qllhr
>>219 俺が頑張って作ったのに使ってくれないのかよ
>画像を0と1の配列に直すアイディアをありがとうございました。
白黒画像ファイルが01の集合だってのは分かってる?
それをloadImageで配列にぶち込んでるだけだから
配列の中身は元の画像ファイルと同じまま。
だからsaveImageで配列の中身をそのまま画像ファイルに書き出すこともできる。
fillCircleは配列の中の01を書き換える関数だよ。
221 :
社内ニート ◆OpY5DDvqSw :2011/02/05(土) 12:24:41 ID:LqlwHybZ
白黒画像がそもそも01の集合ってのはモノクロビットマップの場合の話なのかな?
まあ、その辺は弾を打ち出す段階になってから詳しく考えます。
今回は非常に助かりました。
3地点は並んでいる(隣接する)ピクセルとは限らなくて、
単純に画像配列から判定点3箇所をサンプルしてるだけです。
したがって、戦車の幅は1ピクセルよりも大きいので、多少の凹凸は無視されます。
それが良いか悪いかは今の時点ではわかりません。
また、回転後の判定点も、斜めに並んでいるとは限らなくて、このプログラムでは、
(-w*cos(R),-w*sin(R))、 (0,0)、 (+w*cos(R),+w*sin(R))
※ wは戦車の幅半分の定数、Rは現在の回転角度変数
で計算しています。
>>219 115氏の作成したプログラムはメモリ上に確保している仮想VRAM(=配列)に、
初期状態での地面の有無を読み込み、任意点の有無判定および地形の更新をするもので、
実画面(ハードウェア)に絵を描くものではないようです。
しかし地面形状を調べる際、実画面(ハードウェア)をアクセスするよりも遥かに効率的にできます。
私も実装方法は違いますが、同じような仕組みを使っています。
ソースを丁寧に読めば、きっと参考になりますよ。
223 :
社内ニート ◆OpY5DDvqSw :2011/02/05(土) 14:13:31 ID:LqlwHybZ
>>222 参考になります。
また質問に来ると思うので、暇があったらよろしくお願いします。
224 :
社内ニート ◆OpY5DDvqSw :2011/02/07(月) 03:59:38 ID:NY8MUqMx
当たり判定がなんとかうまくいきました。
>>222の書き込みを参考に機体の角度を計算させようと思います。
そのまえに、floatとか、doubleとか、intについて調べないとうまいことラジアンを計算できないっぽいですが。
226 :
社内ニート ◆OpY5DDvqSw :2011/02/07(月) 20:38:17 ID:NY8MUqMx
では!本日の作業に移る!
各員気合を入れておれに教えるように!
なお、難しいことはわからないのでできるだけ噛み砕いて説明するように!
まずはID:fuYn973Kの書き込みを見直して意味を考えよう。
227 :
社内ニート ◆OpY5DDvqSw :2011/02/08(火) 00:05:23 ID:0uhgadeq
ちょっと寝てた。
さっぱりわからん。
まあ、じっくり考えよう。
228 :
社内ニート ◆OpY5DDvqSw :2011/02/08(火) 00:15:20 ID:0uhgadeq
>>212がパーフェクトだと思って、
>>217の「横に3つの判定点」について考えてたんだけど、
どうも
>>212もパーフェクトってわけじゃなかったみたい。
拡大してよく見ると、角度によっては機体が上下にぶるぶる震えてる。
とはいえ、ほぼ理想どおりだし、引き続きこれを参考に考える。
229 :
社内ニート ◆OpY5DDvqSw :2011/02/08(火) 02:24:13 ID:0uhgadeq
cos(r)って浮動少数点ってやつで計算されるよね?
それを整数に直したかったら、別に int x とか作って、
その中に代入すればおk?
四捨五入されて整数になる?
230 :
115:2011/02/08(火) 02:37:27 ID:pf+y4WIG
少数を整数に変換したら少数部は切り捨てされるよ
231 :
社内ニート ◆OpY5DDvqSw :2011/02/08(火) 03:13:50 ID:0uhgadeq
ttp://218.219.242.231/~kuroneko/imgboard1/img-box/img20110208025900.jpg 点①と②は中心を( x , y )とする円周上の点であり、地表と円が交わる点である。
なので、半径を 5 とするとそれぞれの点は
( -5*cos(r1) , -5*sin(r1) ) 、 ( 5*cos(r2) , 5*sin(r2) )
という座標であらわせるのかと思う。
点①と②の座標がわかれば、atanを使って r3(タンクの角度)が計算できる。
ではそもそも、円と地表が交わる点のラジアン、r1とr2はどうやってもとめるのか。
点①と点②が空と地面の間にぴったりはまるまで、ラジアンをちょっとずつ変えて
繰り返し試行させる?
ちょっとごちゃごちゃしすぎてる。
>>222で言ってるのはもっと単純なことのような気がする。
そもそも角度が3つも出てくるなんて言ってないし。
232 :
社内ニート ◆OpY5DDvqSw :2011/02/08(火) 03:15:08 ID:0uhgadeq
233 :
社内ニート ◆OpY5DDvqSw :2011/02/08(火) 04:22:46 ID:0uhgadeq
近似的に角度を得ることができました。
継続的に落下しているときだけ機体を水平に保つとかもやらせたいけど、それはまた次の機会に。
次は玉を発射させることと、地形を変化させることに挑戦です。
というか、いったい何時までおきてるんだおれ。
234 :
社内ニート ◆OpY5DDvqSw :2011/02/16(水) 20:17:05 ID:6gCXsN0z
テス
235 :
社内ニート ◆OpY5DDvqSw :2011/02/16(水) 20:23:46 ID:6gCXsN0z
通りすがったが、面白そうなので首を突っ込んでみる。
DirectXや関連ライブラリの知識はないのでアルゴリズムの基本を地でいく。
>弾の軌道と位置はどういう式で
x方向:横からの風は弾のx方向の速度に風速の値を加減すればOKっしょ。
y方向:弾が重力で落ちる→放物線→2次関数という連想を出来るようになるべし。
>当たり判定を突き抜けることがあるかもしれない
基本は、弾が今ある座標と次に移動する座標を結ぶ直線(線分)を考えて、
その間に障害物があるかを判定していく。(中学~高校レベルの代数幾何)
高速/低速の判断なく常時やっても問題ないだろう。(効率の良いやり方は
パフォーマンスがネックになってから考えろ)
でもこれはライブラリにありそうだな。(真偽はエライ人に聞いてくれ)
精進するでござる。ニンニン
237 :
社内ニート ◆OpY5DDvqSw :2011/02/18(金) 01:08:24 ID:2Ex7ENec
通りすがりの方。今後ともよろしくお願いします。
弾の軌道は2時関数の放物線軌道といっていますが、
そこに時間の概念も加えないといけません。
弾が等速で動くわけではないということが重要です。
私が最初に考えていたのは、
x=0、y=0の座標を発射地点
発射角度を r (ラジアン)
発射パワーを p
重力は 1
cx1,cy1は時間(1ループ)ごとの増加座標
cx2,cy2は弾の存在位置です
cx1=p*cos( r );
cy1=-p*sin( r );
while(以下、座標計算と表示を繰り返す)
{
cy1=cy1+1; //時間当たりの増加分、重力を加算し続ける
cx2=cx1+cx2; cy2=cy1+cy2; //弾の存在位置、cx1,cy1の累積
x=cx2 , y=cy2 に弾を表示
}
これに、重力と同じように風の影響も加えたものは以下のような結果になりました。
ttp://218.219.242.231/~kuroneko/imgboard1/img-box/img20110218003141.jpg もっときれいに滑らかに表示されるように調整します。
その上で問題になるのが、やはり地形との当たり判定です。
どこで当たるのか、どのタイミングで当たるのか。それが問題です。
>そこに時間の概念も加えないといけません。
惜しい。というか、ソース上は考え方はあってる。
普通2次関数を思い浮かべるときはxy座標系が基本だが、重力はy方向にのみ
影響するパラメータで時間tに伴う変化なので、ty座標系になる。つまり
y=at^2+bt+c (^2は階乗)
になるわけだな。これをtで微分(つまり速度)すると
cy1=2at+b (cy1は
>>237 の変数ね)
となる。
これを
>>237のソース cy1=cy1+1 に当てはめると
右辺のcy1→b
右辺の1→2a
「tはどこ行った?」と思うかもしれないが、cy1は累積して加算しているので
while()をまわして+1していることがすなわちtを掛けていることになる。
つまり無意識のうちに2次関数を使っていることになるのだ(考え方が一足飛びだけどね)。
「言葉で言うと小難しいが、ソースに落とすと結構あっさり」というのは
わりとある。(逆も然りw)
x方向にも変な加速度をつけたり、弾の座標によって+1の値を変えたりすると、
異常重力っぽくなってゲームとしてのバリエーションが増えて面白いのだが、
それはまた先の話。
この調子でどんどん行くでござる。ニンニン
240 :
名前は開発中のものです。:2011/02/18(金) 07:17:22 ID:FPQVKYtr
誤記ってた。
誤) 重力はy方向にのみ影響するパラメータで時間tに伴う変化なので、
正) 重力はy方向にのみ影響するパラメータでy方向は時間tに伴う変化なので、
誤) y=at^2+bt+c (^2は階乗)
正) y=at^2+bt+c (^2はべき乗)
考え方としては
0ほとんどの空間 1地表にものすごく近い空間 2地面
で移動後が0の時は高頻度なので実行速度を稼ぐためスルーし
1の時は2を通過したかを調べて突き抜けを判断し
2の時は通過した地表の点を求める
242 :
社内ニート ◆OpY5DDvqSw :2011/02/19(土) 10:08:49 ID:XjdQQ+3S
xとtの二次関数 yとtの二次関数にすればよかったのか。
言われてみれば当たり前のことだけど気づかなかった。
つーか、二次関数とか三角関数とか高校以来10年ぶりぐらいでなつかしいw
これでうまくいきそうだ。
あと、重力加速度の単位って m/s^2 だったんだな。
最初からこれをググってれば迷わなかったかも。
風の影響も重力とまったく同じやりかたでいいや。
ということで、こういう式で弾の表示位置を計算
pはパワー rは角度 wは風 gは重力 tは時間
a = p*cos(r) b = -p*sin(r)
while()
{t++
x = t*( a + w*t )
y = t*( b + g*t )}
243 :
社内ニート ◆OpY5DDvqSw :2011/02/19(土) 10:13:15 ID:XjdQQ+3S
↑の式では
t++で
tが1増加するごとに弾の表示位置を計算させているけど、
その間に t をもっと小刻みに増やして、当たり判定を計算すればなんとかなりそう
>>238-240 助かった。
ありがとう~。
>>242 >二次関数とか三角関数とか高校以来10年ぶりぐらいでなつかしいw
上記に複素数と行列を加えれば、今あるほぼすべてのゲームの数学的要素はコンプリート。
全部高校までに習う内容で充分。
3Dゲーム(擬似/ポリゴン)もこれらの要素だけで出来る。四元数の話があるけど、ゲームで
あればこれは各要素の組み合わせで充分。
あとはOS(Windows/DirectX等)の使い方を知ればゲームプログラマとしては一人前。
ネットワーク使うとなると、さらにその先やね。
これらのほうが数学云々よりも何倍も面倒くさい。(あまり難しくはない)
ある程度いくと Don't think, FEEL!な世界になってくる。
それとx方向の話や当たり判定についてはあえて突っ込まない。(細かいことだし、一概に間違いとも言えないので)
いろいろ試して自分がやりたいことを表現できるようになるべし。
さて、長々と書いたが拙者の講義はここまで。以降は適当にROMって
ニヤニヤしているので、踊りまくるでござる。ニンニン
245 :
社内ニート ◆OpY5DDvqSw :2011/02/19(土) 15:14:22 ID:XjdQQ+3S
次は当たったところを変形させるほうほうだな~。
>>201でうpされたようなやり方に変えてみたほうがいいかな。
246 :
社内ニート ◆OpY5DDvqSw :2011/02/19(土) 15:20:39 ID:XjdQQ+3S
でも今日はやらねーけどな!
アク禁がやっと解除されたようなので今更ですが、参考までに、
>>212では、
①弾の位置を(x,y)、弾の発射速度を(vx,vy)とする。
※(x,y)は砲台の位置から、(vx,vy)は砲台の角度から計算する。
考え方は
>>242のa,bの計算方法と一緒ですが、pは1フレーム期間を基準にしています
②1回の計算ごとに、
- vyに重力加速度gyを足す(gも1フレーム期間あたりの加速度です)
-足し終えた(vx,vy)を(x,y)に加算する
-(x,y)の地面を判定する/および描画更新
を繰り返しています。
風は考慮してませんでしたが、
いくら追い風でも風速より弾丸が早くなるのは不自然かと思うので、
水平方向に加速するのではなく相対速度が一致させるように漸近させる方法にします。
つまり、毎ループごとに vx= (1-k)*vx + k*windx (kは漸近化係数)で更新します。
248 :
社内ニート ◆OpY5DDvqSw :2011/02/21(月) 21:43:01.40 ID:3YAa7u9w
おお、あんたもアク禁くらってたんですか。
何ででしょうね。
例の、通り魔予告兄弟の関係で広範囲にアク禁かかってたんでしょうか。
まあ、なんにしろ、ほんの1週間程度で解除されてよかったです。
それで、次にやってみようと思うのは、
弾の当たった地形が円形にえぐれるってことです。
249 :
社内ニート ◆OpY5DDvqSw :2011/02/21(月) 21:44:08.08 ID:3YAa7u9w
今、当たり判定は二次元配列に0か1の数字を入れたものでやっています。
まず、地形画像(地形.bmp)と、それと同じ形の白黒画像(地形_a.bmp)を用意します。
白黒画像をアルファチャンネルとして、地形画像の何も無いところを透明にします。
さらに、白黒画像と同じ形の二次元配列を別に用意して、それで当たり判定を行います。
この配列内に直接円形の変化をつけたいんです。
[0000000111110000000]
[0000011111111100000]
[0000111111111110000]
[0000111111111110000]
[0000011111111100000]
[0000000111110000000]
[0000000000000000000]
こんな感じ。
250 :
社内ニート ◆OpY5DDvqSw :2011/02/21(月) 21:57:39.46 ID:3YAa7u9w
すいません、話をうまくまとめられないので
結論だけいいます。
白黒BMPファイルを当たり判定に利用したいので
BMPファイルなどについて質問させてください。
当たり判定用に、画像と別に2次元配列を用意するのは中止します。
251 :
社内ニート ◆OpY5DDvqSw :2011/02/21(月) 22:13:55.56 ID:3YAa7u9w
まず、BMPファイルっていうのは
1.ファイルヘッダ
2.情報ヘッダ
3.ビットフィールド
4.カラーパレット
5.イメージデータ
というものの集まりだということはわかりました。
そして、5.イメージデータっていうのが2次元配列になってるんだろうってこともわかりました。
ここまで合ってますか?
そして、イメージデータに、 『map[640][2400]』 みたいなハンドルをつけてしまえば、
BMPファイル内のイメージデータを当たり判定用の配列としてそのまま利用できるんじゃないかと。
>>201のやってることってそういうことですか?DXライブラリじゃない書き方なんでいまいちわかりませんでした。
252 :
社内ニート ◆OpY5DDvqSw :2011/02/21(月) 22:28:33.49 ID:3YAa7u9w
253 :
社内ニート ◆OpY5DDvqSw :2011/02/21(月) 22:29:14.08 ID:3YAa7u9w
BMPファイルには、白黒(2値)、16色、256色、フルカラーなどの種類があります。
それによってカラーパレットがあったり、なかったりします。
本題のイメージデータですが、やはり種類ごとに格納形式が違います。
この部分を2次元配列に直接読み込んで使おうとするなら、
256色無圧縮のファイルであることを前提に、配列はchar型で確保しておくことになります。
メモリの使用量を考えると非効率的なので、あれこれ検討していくと、
>>201の方式を含めて、なんらかの方法で2次元配列を用意することになるんじゃないかと思います。
ちなみに現時点で戦車の傾きを求めるとき、ピクセルの有無の参照には何を使っていますか?
255 :
社内ニート ◆OpY5DDvqSw :2011/02/21(月) 23:44:32.25 ID:3YAa7u9w
>>254 ピクセル有無の判定のために、
白黒画像とは別に用意した、2次元配列を使っています。
この配列は、
GetPixelSoftImage で、白黒画像のピクセルを一つずつ調べて、
黒なら 0、白なら 1、といった風に、fprintf でファイルに書き出していきます。
そうやって作っておいた0と1のテキストファイルを
ゲーム開始時にマップデータとして読み込んでいます。
ファイルに書き出したりしないで、
GetPixelSoftImage で、ピクセルが白か黒か調べて、いきなり配列 『map[640][2400]』 に、0と1を入れていってもよかったんですけど。
この場合、白黒画像のBMPファイルと、0/1のテキストファイルの両方は、重複するんないんじゃないかと思いますが、
ここまでの実装をそのようにしてきて、うまく進んでいるのなら、とりあえずそのまま進めるといいと思います。
確認ですが、戦車を処理するときは、GetPixelSoftImage(x,y)ではなく、map[y][x]でアクセスしてるのですか?
もしそうだとするなら、着弾地点を中心にmapの配列を書き換え、かつ画面表示も同じようにすれば、
所望の動作をすると思います。
257 :
社内ニート ◆OpY5DDvqSw :2011/02/22(火) 00:21:48.52 ID:s/YhWNAt
>>256 そう思ったんですが、
白黒BMPにDrawCircleの塗りつぶしで描いた円と、
配列内に0と1で描いた円が、1ドットでもずれていたら、
何も見えないところに地形が存在したり、
見えている地形を突き抜けてしまったりということがおきると思いますし、
どうやって配列内に円形の変化をつけるかっていうところも、シンプルにまとまった方法が思い浮かばないので。
258 :
社内ニート ◆OpY5DDvqSw :2011/02/22(火) 00:27:20.13 ID:s/YhWNAt
追記、
戦車を処理するときはmap[y][x]を使っています。
259 :
社内ニート ◆OpY5DDvqSw :2011/02/22(火) 00:38:03.69 ID:s/YhWNAt
今すぐ手っ取り早くできそうなのは
>>256のいうとおり、
画面表示とmapの配列を同じように行うのが一番簡単な方法なんですけどねぇ。
できれば、
アルファチャンネル用の白黒画像と、
map[y][x]を連動させるって言うか、
白黒画像そのものがmap[y][x]、
みたいなやり方にしたい。
ゲームの土台になる部分は、ちゃんとしたものにしたいんです。
タンクの画像とか演出は多少陳腐でもでもかまわないけれど。
配列と画面を円でえぐる処理は、こんな方法はどうでしょうか?
void FillCircle(int Xc,int Yc,int R){
for(int x=-R; x<=R; x++) for(int y=-R;y<=R; y++) if(x*x+y*y<=R*R){
if(Xc+x>=0 && Xc+x<2400 && Yc+y>=0 && Yc<640){
map[Yc+y][Xc+x]= 0; // 地面判定用配列の加工
SetPixel(Xc+x,Yc+y,背景色); // 画面の(Xc+x, Yc+y)のピクセルを抜く処理
}
}
}
SetPixelと書いた部分は適宜実装する必要がありますが、
配列の0/1と画面のピクセル状態がずれる心配はないと思います。
ところで、そもそも背景に地面を重ねる処理にαチャネルを使っているなら、
地面の画像は[640][2400][4] (R,G,B,A/pixel)の配列じゃないでしょうか?
map[y][x]の代わりに、groundimage[y][x][3]を参照する方法は使えませんか?
261 :
社内ニート ◆OpY5DDvqSw :2011/02/22(火) 22:31:11.81 ID:s/YhWNAt
>>260 おお、さすがです。
2つも解決法をありがとうございます。
1つ目の方法も完璧だと思うのですが、
2つ目の方法の、αチャンネルを使った画像のグラフィックハンドルを配列として使う(?)
方法も興味深いです。
ためしに、地形画像のグラフィックハンドルを配列として扱ってみたら、
なにかエラーが出てしまいましたが、もう少しαチャンネルについて調べてみたいと思います。
ありがとうございました。
262 :
社内ニート ◆OpY5DDvqSw :2011/02/22(火) 22:38:21.20 ID:s/YhWNAt
ご存知かと思いますが、DXライブラリでは、
指定のファイル名の末端に『_a』が付く画像ファイルを透明情報として自動的に読み込んでくれる
ということで、アルファチャンネルについてまったく何も知らずに使っていたので、
これを機会にすこしだけ勉強します。
たぶん、DXライブラリを使わずにアルファチャンネルを使うには
けっこう複雑なことをしないといけないんだろうなぁ。
263 :
社内ニート ◆OpY5DDvqSw :2011/02/22(火) 23:46:04.34 ID:s/YhWNAt
なかなか、望みの情報が見つかりませんが、
引き続き、map[y][x]の代わりにgroundimage[y][x][3]を参照する方法を考えていきます。
なにか、役に立ちそうなホームページとかありましたらまた教えてください。
ではまた。
DxLibは使ったことが無いのですが、リファレンスページを読んだところ、
(1) 地表画像(RGB)および山形状(A)をLoadSoftImageで読み込む
(2) GetPixelSoftImage(handle, x,y, &r,&g,&b,&ground)で、
x.,y地点の地面の有無を判定する
(3) 地形の更新は、GetPixelSoftImageに引き続き、groundを0にして、
DrawPixelSoftImage(handle, x,y, r,g,b,ground); で書き戻す。
という手順が考えられます。
SoftImageのアルファを判定用にし、かつ地形の変形にも利用します。
敢えて配列を使わなくても、これで、事足りるのではないかと思います。
問題は更新結果を画面に反映させる方法なのですが、
リファレンスによれば、DrawSoftImageを使うか、
GreateGraphFromSoftImageでグラフィックハンドルを作ってから、
DrawGraphで描画するべきではないかと思われます。
DrawSoftImageの説明には負荷が高いようなことが書いてあるので、
いったんグラフィックハンドルを作るのが正式な手続きなのかもしれません。
また、地形の画像が2400x640と比較的大きいので、そういう時は、
CreateDivGraphFromSoftImageを使うべきなのかもしれません。
長々書いていますが、冒頭に書いたとおり、DxLibは使ったことがありません。
詳しい人、フォロー願います。
265 :
社内ニート ◆OpY5DDvqSw :2011/02/25(金) 01:28:00.44 ID:gNKYJQnb
いろいろとアイディアを出していただいてありがとうございます。
とりあえずは、配列で当たり判定をするのにこだわらず、製作をつづけてみます。
日曜あたりに、
弾の当たった地形がえぐれるのと、
そこの当たり判定がなくなるようになるのを作ってみます。
その次は、一気に難しくなりそうですが、
ネットで対戦することを考えてみたいと思います。
266 :
社内ニート ◆OpY5DDvqSw :2011/02/27(日) 18:19:36.84 ID:BoOhxSt8
267 :
社内ニート ◆OpY5DDvqSw :2011/02/27(日) 18:27:45.42 ID:BoOhxSt8
プレイヤーがホストを立てて、2~8人までの対戦をできるようにします。
ホストを探したり、プレーヤー同士の交流を行うロビーみたいなものを
無料サーバーを借りて作ろうと思います。
先に、通信抜きで2人対戦できるようにすべきじゃないのかな?
269 :
社内ニート ◆OpY5DDvqSw :2011/03/01(火) 23:45:55.00 ID:uZgo1Fuw
通信抜きでって、ひとつのパソコンで対戦ってこと?
絶対やるべきっていうならそうするけど、
ネット対戦前提で2人対戦ってところから作ったほうがよくない?
ひとつのパソコンで対戦って、ターンが交互に回ってくるようにするだけでいいし。
ひと通りのゲームの流れ(スタート画面->ゲームプレイ->勝敗処理->ゲーム終了)を単一PC内で
実現するのが一般的なひと区切り。
TCP/IPの基礎知識(socket利用あたりまで)があるのならこの時点でネット対応やっちゃってもいいけどその力量がワカラン。
ロビーサーバ構築となるとさらに別世界。規模/機能にもよるけどね
271 :
名前は開発中のものです。:2011/03/02(水) 13:34:35.92 ID:BF83P3je
とりあえず、ネトゲ制作のスレとか、DXライブラリのリファレンスを読んで勉強しながら、余裕があればダメージ計算とか細かいとこも作ってみます。
ちゃんとゲームとして成り立つところまで作ってからネット対戦を考えたら?
戦車が2台出るだけでも色々問題が出てくるだろうし。
それと、とりあえず
>>108まで完成したのなら一度見てみたい。
273 :
社内ニート ◆OpY5DDvqSw :2011/03/03(木) 19:44:40.68 ID:eZVnKNXf
>>272 F5押したらデバッグはできるけど、
アプリケーションに作り上げる方法教えてください。
VC++でF5押したら普通に実行ファイルがビルドされてると思うが?
デフォルトならプロジェクトフォルダ内にReleaseかDebugのフォルダがあるでしょ。
275 :
社内ニート ◆OpY5DDvqSw :2011/03/04(金) 20:02:56.37 ID:Vy+gp0Dp
Debugのフォルダはあったんですが、その中に入っているものをダブルクリックしても
ゲームが起動するものはありませんでした。
方法がわかったらうpすることがあるかもしれません。
それで、もっと細部まで作ってからネット対戦を考えたらどうかという意見ばかりのようですが、
後の細かいところというのは、一つ一つやっていけば自分だけでもできそうなことだと思うので
ネット対戦の部分をどういう風に作るのか、考えていきたいと思います。
276 :
社内ニート ◆OpY5DDvqSw :2011/03/04(金) 20:31:56.59 ID:Vy+gp0Dp
IPアドレスは各自が調べて、ゲームルームに入室したときに
他のプレーヤーたちと自分のIPを教えあう。
DXライブラリの ConnectNetWork と、IPアドレスを使って相互にPCを接続する。
って感じでいいんじゃないかとおもう。
しかし、サーバーってのはどういう風に扱えばいいんだろ。
各プレーヤーのPCにDLするゲームソフト以外に、
仲介するためのソフトを作って、それをサーバーにおく必要があるってことかな。
>仲介するためのソフトを作って、それをサーバーにおく必要があるってことかな。
これについては既存のネトゲでも各種方式がある。
1)サーバプロセスが常にデータを中継する
たいていの本格的MMOはこれ。データを随時中継する際に中身をチェックしてチートを防ぐ効果もある。
プレイ規模にもよるが、サーバのパワー(ハード、ソフト共)がある程度高くないとプレイに支障が生じる。
例:UO、EQ、WoW
2)ロビーサーバのみ独立させ、プレイ中はプレイヤー間で直接通信をする。
MO的なネトゲはこれ。ロビーサーバで各プレイヤーのIPをクライアントに通知して
プレイ中はロービーサーバを経由せずクライアント間で直接通信する。所謂P2Pに近い。
リアルタイム的な要素に左右されるゲームに有利。
商用のネトゲはチート対策や同期ためにサーバにも随時データを送ってチェックするのが一般的。
例:Diablo(クライアントがゲームサーバの役割も持つ)、各種FPS系
例は古典的な有名どころ。
他にもありそうだけど、大抵はこれら2つの方式をいろいろな組み合わせで実装している。
最近の商用ネトゲだと「MOだけど1)方式」ってのも多い。
IPアドレス情報の交換についてはロビー(ゲームルーム)に入室した時点でロビーサーバがクライアントのIPを
分かっていることになるのでユーザが直に調べる必要は必ずしもない。(そういうつくりにしないといけないけど)
むしろロビーのチャット等で直にIPを教えあうと、いたずら好きなバカがDOS攻撃対象にしたりする可能性もあるので
あまり好ましくない。
システムを一般に公開しないのであればあまり問題はないと思うけどね。
その昔、インターネットでの掲示板も一般的じゃない頃は電話やメールで互いのIPを教えあったものさ・・・。
ってか普通にクライアント同士1:1でちゃんと動くかってところを確認してからだろ
279 :
社内ニート ◆OpY5DDvqSw :2011/03/05(土) 14:02:05.82 ID:ytiYcFyh
280 :
社内ニート ◆OpY5DDvqSw :2011/03/05(土) 14:04:21.14 ID:ytiYcFyh
とりあえず、ロビーで対戦相手を探すというところをはぶいて、
クライアント同士1:1で動かせるように作ってみます。
281 :
社内ニート ◆OpY5DDvqSw :2011/03/05(土) 14:15:44.76 ID:ytiYcFyh
>>281 足元を固めていくという意味ではとりあえずはいいんじゃね?
ipconfigキックで出力をリダイレクト→リダイレクト結果を文字列検索とかのシンプルな方法もアリだろう
複数枚NICがある場合考えるとめんどいがそこはWINSOCK使ってもも同じこと
インターネット経由にする場合はローカル/グローバルの話があるので(一般的には)上記だけでは足りないってのは分かるよな?
分からなければ ローカルアドレス グローバルアドレスでググれ
もっともロビーサーバをグローバルに立てればこれらの話は全部要らなくなるが
>>275 起動に必要なデータファイル(画像とか)が同じフォルダに入っていないんじゃないかと思う。
284 :
社内ニート ◆OpY5DDvqSw :2011/03/08(火) 22:14:18.79 ID:O4hW3e3n
285 :
115:2011/03/09(水) 02:02:38.65 ID:YYc1MNQ1
>>284 遂にここまでできたのか
暫くROMってたけど俺も完成期待してるから
頑張って下さい
286 :
社内ニート ◆OpY5DDvqSw :2011/03/09(水) 19:33:20.78 ID:d+SmmaqK
>115
一人の応援だけでだいぶやる気が出た。
おひさしぶり。
元気ですか?
私は相変わらず暇人です。
287 :
115:2011/03/10(木) 22:24:04.84 ID:xJ6VL23e
風邪ひいてきつかったけどやっと直ってきた
ネットワークの実装やったことないからアドバイス出来なくて残念だ
地震で死んだわけじゃないけどね。
何をしていいかわからなくなったんで放置。
MMORPGの作り方を書いた本でも買ってみようかな。
まあ、うちの近所に大きな本屋がないんで中身を見て確かめられないのは痛いけど。
1) ネット通信なしで、2P対戦を実装する
2) 次に2PをCPU制御で実現する
3) CPU制御の機体数を増やす
4) 通信プロトコルを設計する
5) 通信処理を実装する
この順でやるといいよ。
290 :
名前は開発中のものです。:2011/06/22(水) 00:51:57.57 ID:mdgs9SFK
ワロタ
基礎から学んで行こうと思います
分からない事がまだまだ沢山ありますが
ご指導ご鞭撻の方宜しくお願いします
c/c++の勉強をして行きたいです。
でもまずはCからお願いします。
基礎からみっちり叩き込んで下さい
ボクも頑張って行きたいと思います。
292 :
◆ibj3Ub6oRZ3m :
基礎から学んで行こうと思います
分からない事がまだまだ沢山ありますが
ご指導ご鞭撻の方宜しくお願いします
c/c++の勉強をして行きたいです。
でもまずはCからお願いします。
基礎からみっちり叩き込んで下さい
ボクも頑張って行きたいと思います。