[過去ログ] ゲームプログラミング相談室 (986レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
747: 02/10/22 22:58 ID:??? AAS
先頭に余分なものを追加するなり1ビットずつ反転するなり好きにするよろし

拡張子だけ変えて実はgifそのもの、なんてのもあったなー。すぐばれるけど。
748: 02/10/22 23:38 ID:??? AAS
>>746
どんなマップ?
平面なら二次元配列でいいと思うが。
749
(1): 02/10/23 00:55 ID:XrIoI0Co(1) AAS
逆汗すれば終わりだなー
名かには逆汗ブロックするものもあるけど
750: 02/10/23 01:44 ID:??? AAS
>>749
ん? 発想が逆だと思うよ。

「リバースエンジニアリングされたら終わり」じゃなくて、
「リバースエンジニアリングされなきゃ大丈夫」。
平文で読まれなきゃ読める人は大きく限定されるわけだからね。

でも、解析されても、個人製作のソフトにそこまで情熱を傾けてくれるのなら
それはそれで嬉しい気もする。
751
(2): 02/10/23 21:37 ID:rAqnFbe+(1) AAS
ゲーム製作者に質問です。

正直、Vectorにある数多くのフリーゲームで、何割くらい(または、いくつくらい)が
遊べるゲームだと思っていますか?

人によってかなり答えが異なると思いますが、みなさんの意見を聞かせてください。
752: 02/10/23 21:50 ID:??? AAS
プログラミングとの関係がないなら雑談スレでやろうよ・・・
753: 02/10/23 23:47 ID:??? AAS
>>751
2chスレ:gamedev
754
(1): 02/10/24 16:35 ID:??? AAS
>>751
個人的にはゼロ。
ぜんぜん遊べん。
755
(7): 02/10/24 17:51 ID:??? AAS
タスクあるいはジョブコンと呼ばれるリアルタイム処理なプログラミング技法上で
再帰処理が必要な思考ルーチンを組まなければならない場合、どうやってますか?
756: 02/10/24 17:57 ID:??? AAS
製作中断
757
(1): 02/10/24 19:21 ID:??? AAS
>>755
ageないと質問に答えてもらいにくいよ
急いでいないならいいが
758: 755 02/10/24 19:37 ID:??? AAS
>>757
急ぎではないのでマターリ待ちます。
759
(2): 02/10/24 19:44 ID:??? AAS
>>755
・マルチスレッド
・再帰処理をタスクシステムへ載る様に組み直す

パッと思いつくのはこれぐらい。
760
(2): 02/10/24 20:59 ID:??? AAS
>>754
そんなことはない。少なくともゼロではない。

>>760
必死だな(w
761: 02/10/24 21:41 ID:??? AAS
>>760
なんでそんなに必死なの
762: 02/10/24 22:06 ID:??? AAS
warata
763: 02/10/24 22:50 ID:??? AAS
ワロタ
764: [sageもう寒い季節だね。早いよね。] 02/10/25 02:42 ID:??? AAS
こんな事で笑っていてはいけません。
もっとおかしい事はたくさんありマンコ。
765
(1): 755 02/10/25 10:46 ID:??? AAS
>>759
2番目の奴の詳細解説キボン。
擬似スタックを作るんだっけ?
766: 02/10/25 11:11 ID:??? AAS
おまいらは、そんなにも擬似とつけたいのでつか?
おまいらが、いまよんでいるのは 擬 似 文 字 でつか?
767: 02/10/25 14:59 ID:??? AAS
擬似じゃなくて仮想なら無問題?
768
(1): 02/10/25 15:06 ID:??? AAS
いまここにある文字は
おまいらにとっては 仮 想 文 字 なんでつね?
769: 02/10/25 16:06 ID:??? AAS
ごめん、virtualにしといて
770
(1): 755 02/10/25 16:07 ID:??? AAS
仮性ホーケーは黙ってて欲しいな >768
771
(1): 759 02/10/25 17:17 ID:??? AAS
>>765
そういうことです。配列にスタックを作って自前で管理し、ローカル変数を
そのスタック上に置きます。
再帰を単純なループに開いた上、タスクシステム上でまわす事になります。
772: 02/10/25 20:04 ID:??? AAS
DirectXフルスクリーン@C言語で、
ユーザーからの入力文字(漢字変換とかもアリ)をげっちゅーするには
やっぱりInputBoxのAPIしかないのでしょうか?
773
(1): 02/10/26 01:01 ID:vJSal2rR(1) AAS
XindowsXP HomeEditionを使っているのですが、
自分のプログラムを実行するごとに重くなっていきます。
プロセス自体はちゃんと終了しています。

windowsって、プログラム終了時にメモリの解放って行ってくれないんですか?
まぁ、自分がメモリリークをつぶさなければいけないのですが。

特に、大き目の画像を扱った後にそのような現象がおきるみたいです。
どうなんでしょう。
774: 02/10/26 01:14 ID:??? AAS
>>773
タスクマネージャに該当プロセスがないことは確認したかい?
775: 02/10/26 01:14 ID:??? AAS
はい、確認しました。
776: 02/10/26 01:28 ID:??? AAS
解放は自動的に行われることになってるし、XPはNT系だからさらに安全なはず。
ただしこれはドライバが正常に動作していればの話。
ディスプレイドライバを更新するとかしてみれば?
777
(1): 02/10/26 01:46 ID:??? AAS
メモリ確保して開放せずに終了したら駄目じゃん。
778: 02/10/26 02:48 ID:??? AAS
>>777
プロセス終了時のメモリ解放は
OSの管轄ですが何か?

メモリリークが問題になるのは
長時間常駐するプロセスだけ
779
(1): 02/10/26 02:55 ID:??? AAS
不正な処理で終了した場合も開放してくれる?
780: 02/10/26 03:54 ID:??? AAS
>>779
まさか、しないと思ってるのか?
781: 02/10/26 04:37 ID:??? AAS
Win95のころはひどかったな。
一応OSが開放してくれるハズだが、
それを過度に期待したプログラムを組むのは避けた方が無難。
782: 02/10/26 04:44 ID:??? AAS
関係ないけど、windowsでプログラム書くんだったら
確保したメモリは必ず自分で解放しなくちゃダメだよ。
OSを信用する方が悪い。
783
(1): 02/10/26 07:46 ID:??? AAS
OSが開放してくれるとしても、それはあくまでも開放ミスに対する
救済措置と思ったほうがいい。確保したメモリは必ず開放するのが鉄則。
784: 02/10/26 10:14 ID:??? AAS
またmalloc&freeネタか・・・飽きないねえ
785: 02/10/26 12:43 ID:??? AAS
>>783
> OSが開放してくれるとしても、それはあくまでも開放ミスに対する
> 救済措置と思ったほうがいい
そりゃ違うだろ。

そもそも仮想記憶を使ってる OS の場合、ページテーブルやら TLB (*1) やら
は OS 以外は触れない。そこにバグがあると疑い始めたら、もはやアプリケー
ション側でとれる対策は何もないよ。
省4
786
(1): 02/10/26 14:26 ID:??? AAS
どんな環境でも開放しなかったメモリの後始末をしてくれる
という保証は無いからメモリリークするようなプログラムは
そもそも欠陥品と見ていい。だから開放しないと駄目。
それにOSが開放しなかったからといって、それはOSの
過失ではない。プログラム作った奴が悪い。
787: 02/10/26 14:35 ID:??? AAS
786でまとまりました。

では次の話題。

788
(3): 02/10/26 15:24 ID:??? AAS
実験に使いたいのですがOSがリソースを開放できない終了方法を教えてください
いくらやってもけしからんことに勝手に開放されてしまいます
789: 02/10/26 16:18 ID:??? AAS
>>788
Win98でRPCだか何だかを使うと起こりやすいそうだ
使ったことないけど
790: [ ] 02/10/26 16:22 ID:??? AAS
>>788
DOS環境とかゲーム専用機等ならたぶん開放しないのでは。
791
(1): 02/10/26 22:41 ID:??? AAS
>>745
アルゴリズムが公開されている暗号もある。

>>755
タスクと再帰処理がなぜ両立できないのか分からん。

>>788
何の実験に使うのか知らんが。
ファイルや共有メモリ等、OSが勝手に解放することがないリソースは存在する。
省1
792: 02/10/27 01:11 ID:??? AAS
>>786
そもそも「どんな環境でも」なんて言い出したら、それこそ malloc/free がない
世界とか、あっても C 言語の規格書に従ってない環境まで出てくるから、議論
にならんよ。

規格書を行間まで読めば、C 言語の hosted environment を前提とする限り
malloc したメモリは OS に解放されるはず、が結論。

だいたいヒープの仕組みとか仮想記憶の仕組みを知っていれば、そんなに
省3
793
(2): 02/10/27 01:28 ID:??? AAS
つーか、解放しないと再利用できないじゃん?
こまめに解放してメモリを開けたほうがいいと思うんだが。
794
(1): 02/10/27 01:52 ID:xQ8SKzdu(1) AAS
AA省
795: 02/10/27 03:45 ID:??? AAS
>>794
IDirect3DDevice8::SetTextureStageState( )
796
(1): 02/10/27 05:52 ID:??? AAS
>>793
ところが大抵の処理系では
freeは解放済みフラグが立つだけで
実際に解放されるのはプロセス終了時なんだな・・・
797: 02/10/27 06:27 ID:??? AAS
JAVAなんかはガベッジコレクションを行ってくれるけどね。
798
(2): 02/10/27 09:49 ID:??? AAS
>>796
それじゃfree自体存在意義ねーじゃん
799
(1): 02/10/27 10:25 ID:??? AAS
>>798
けど同じプロセスが再び○allocするときは
その解放済みの領域からメモリ確保するので
あながち無意味とも言えない
800
(1): 02/10/27 10:53 ID:??? AAS
>>798
一種のキャッシュだよ。まっとーなメモリ保護のある環境下で OS を呼び出して
メモリを割り当ててもらうのは

  ソフトウェア割り込みによる特権モード変更
  割り込みハンドラでのレジスタの待避などの定型処理
  (ここで OS のメモリ割り当て関係のコードに入って)
  各種制限のチェック(たとえばユーザあたりのメモリ割り当て越えてないか、
省18
801: 02/10/27 11:02 ID:??? AAS
検索で調べてみたが、実際メモリリークは問題になって
るからメモリ開放しないプログラムを書くのは良くないと思う。
802
(2): 02/10/27 17:34 ID:PvYfeL9I(1) AAS
>>800
Win32の場合、mallocもVirtualAlloc呼び出してんじゃないの?
同様に、freeはVirtualFreeって感じで。
メモリマップはこれらとは違うだろうけど。
思い切り勘違いなら、ごめんな。
803
(1): 02/10/27 17:36 ID:??? AAS
>Win32の場合、mallocもVirtualAlloc呼び出してんじゃないの?
Win32じゃなくてCのランタイムライブラリの実装次第

>思い切り勘違いなら、ごめんな。
あやまるくらいなら最初からいい加減なことは書くな
804
(1): 02/10/27 17:49 ID:??? AAS
>>802
malloc() したら毎回 VirutalAlloc(), free() したら毎回 VirtualFree() してると
思ってる? んなこたないって。ソース読めば明白なんだが、msvcrt.dll だと

1. VirutalAlloc() 系ではなく一つ抽象度が高いHeapAlloc() 系を使っていて、
 こいつがユーザ空間でいろいろメンテナンスしていてる。
2. それに加え C Runtime Library 内部でも、小規模なメモリ割り当てに関して
 毎回 HeapAlloc(), HeapFree() を呼ばないで良いようにキャッシュしている。
省1
805: 02/10/27 17:57 ID:??? AAS
あと OS が提供するメモリ割り当てのインターフェースは、基本的にページ単位
でしかメモリを割り当ててくれない。VM とか CPU アーキテクチャによるんだが、
たいてい 1 ページは 8192 バイト前後。

だから小さなメモリブロックを割り当てるときに毎回 OS を呼んでるとムダに
なるメモリも莫大になるんで、

 でっかいメモリブロックを OS からもらってきて
 そいつを小さく切り刻んだ上で malloc 呼び出してきた側に返す
省3
806
(1): [age] 02/10/27 18:15 ID:??? AAS
メ モ リ リ ー ク が イ ヤ な ら
 J a v a で も つ か っ て い ろ 
807: 02/10/27 19:01 ID:??? AAS
>>804
2. はたしか廃止されたような気がする
今手元にないのでわからんが、どっかで見た
808
(2): 02/10/27 23:24 ID:??? AAS
802だけどよ

malloc=VirtualAlloc呼び出しで解決されてるんじゃないか、
と思ったんで、質問の意味もあって書いてみたんだが。

それをいい加減とか決め付けてる>>803氏んどくように。

あと、HeapAllocは既に廃止されてるはず(MSDN libに載ってたと思う)
今のWin32では、HeapAllocは内部でVirtualAllocを呼び出してるんじゃなかったかな。
809: 02/10/27 23:34 ID:??? AAS
いろんなmallocの実装を紹介するスレはここですか?
810
(1): 02/10/27 23:47 ID:??? AAS
>>808
HeapAlloc が内部で VirtualAlloc を呼び出してるのは確かだが、単なる
ラッパじゃない。内部で色々処理をしてる。

それと廃止されたのは GlobalAlloc(), LocalAlloc() だろうが。嘘八百を
並べるなよ……。
811
(2): 02/10/28 01:58 ID:??? AAS
>>810
訂正さんくす。

HeapAllocが廃止されたってのは、勘違いだったよ。
廃止されたのはGlobalAlloc/Freeで、HeapAlloc/FreeはVirtualAllocで
確保したメモリをヒープ構造で管理してるってことなのね。
Win32APIで開発する時は、たいていHeapAllocと同じことを自前でしてるせいで、
よく知りませんですた。
省1
812: 02/10/28 02:03 ID:??? AAS
それじゃ今後は同様の事態を表現するときは嘘七百五十くらいで。
813: 02/10/28 03:11 ID:??? AAS
>>811
> HeapAlloc/FreeはVirtualAllocで
> 確保したメモリをヒープ構造で管理してるってことなのね。
全然違うぞ…。なんでそこでヒープ構造が出てくる?
814: 02/10/28 09:40 ID:??? AAS
>>802,808,811
いいかげん。うそはっぱく。よくしらないのにしったかぶり。
晒しsage
815: 02/10/28 11:02 ID:??? AAS
>>806
JavaやC#がメモリリークないと思ってるヤツ発見
外部リンク[html]:www-6.ibm.com
816: 02/10/28 11:57 ID:??? AAS
うーん、微妙に話題ズレてない?
>799も言うとおり、解放済みマークのついた領域は再利用される。
(そのためのfreeだろ?)
だから、mallocにラッパーが掛かってようが掛かってまいが、
>793が原則として正しいということでいいんでないの?
817
(1): 02/10/28 12:05 ID:??? AAS
確保したら必ず開放しなくてはいけないと思ってたほうが無難だよ。
そのほうが余計なトラブルの心配しなくて済むじゃん。
818
(1): 02/10/28 20:30 ID:??? AAS
>>817
俺は

free(p);
free(p);

とかやって、メモリ領域壊したことがある。実際にはこんな簡単なコードじゃ
なくて、サイクルのある複雑なデータ構造で、遠く離れた関数で実行されて
たんだが。
省2
819
(1): 02/10/28 20:38 ID:??? AAS
普通、

free(p);
p=NULL;

ってしない?
820
(1): 02/10/28 20:49 ID:??? AAS
>>819
しない。そもそも p に相当するものが関数の引数として渡ってくる場合には、
それって無理だし。

free_something(void* p)
{
  free(p);
  p = NULL;
省9
821
(10): 02/10/28 21:14 ID:??? AAS
画像リンク[gif]:isweb43.infoseek.co.jp
こういった感じのゲームを作ろうと試みています。
フィールド上をクリックすると、キャラがそこへ歩いて行くような。
ですが、障害物なんかを遠回りして避けていくようにするにはどうすれば
いいのか見当もつきません。どうしても凹んでいるところでつっかかってしまいます。
皆様のお知恵をお貸しください。おながいします。
ちなみに言語はHSPです。
822
(1): 02/10/28 22:37 ID:??? AAS
>>821
絶対に答えが出るアルゴリズムだと A* とかかねぇ。
823
(1): 821 02/10/28 22:50 ID:??? AAS
>822
検索してみましたが、適当なところが見つかりませんでした。
A*とはなんでしょうか?
824
(4): 02/10/28 23:11 ID:Y1mIhqb7(1/2) AAS
クォータビューのマップで当たりをとりたいんですけど
高速なやり方ってあります?
内部的にはトップビューというのではなく、
クォータビューそのままでマップとキャラの菱形の当たりをとりたいのですけど…。
動作環境はへちょいので浮動小数点とか線分の交点などを求めないような軽いのを考えているのですが。
825
(1): 02/10/28 23:30 ID:??? AAS
その当たり判定で何をやりたいかによると思うんだが
826
(1): 02/10/28 23:47 ID:??? AAS
>>821
とりあえず障害物で行き詰まったら、障害物の表面に沿って
目標に到達できそうな位置まで移動してみるというのはどうか。
827: 824 02/10/28 23:51 ID:Y1mIhqb7(2/2) AAS
>>825
クォータビューのマップを主人公が歩くとき、マップと当たりをとりたいのです。
高さがない似非クォータビューなので、それほど苦労しまい、と思っていたら
あまり芳しい結果になりませんでして。
マップが歩けるような当たりなので、常時判定するという方向性で軽くしたい、とそういうことなのです。
1-
あと 159 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.022s