メニュー
FrontPage

目標

スレ進行話題

プログラム


ストーリー

大道具・小道具

各種駒イメージ
  ├歩兵と金
  ├香車成香
  ├桂馬成桂
  ├銀将成銀
  ├金将
  ├飛車竜王
  ├角行竜馬
  ├王将王将改
  ├玉将玉将改
  ├軍団
  | |
  | ├山賊軍
  | ├昆虫軍
  | ├妖怪軍
  | ├西洋軍
  | ├海賊軍
  | ├給仕軍
  | ├雪国軍
  | ├干支軍
  | ├西洋妖怪軍
  | ├チャイナ軍
  | ├女子高生軍
  | ├先代王将軍
  | ├海軍
  | ├熱血軍
  | ├西部劇軍
  | ├亜細亜軍?
  | ├企業戦士軍
  | ├商店街軍
  | └SF軍とミリタリ軍
  |
  └その他

知識の部屋

素晴らしき脱線企画

リンク
Wiki内検索
最近更新したページ
2009-12-29
2009-08-01
2009-02-24
2009-01-05
2008-12-28
2008-06-27
2008-06-22
2008-01-25
2007-11-19
2007-09-10
2007-08-23
2007-08-14
2007-08-12
2007-08-08

プログラム関係情報001

470 今宵も1人 New! 2006/12/10(日) 00:31:13.22 ID:58qNlapN0
そこで将棋プログラムを現在書いている俺がきましたよ


496 今宵も1人 New! 2006/12/10(日) 00:45:08.30 ID:58qNlapN0
コンピュータ思考部分はやります(インターフェイスめんどくせw)


505 496 New! 2006/12/10(日) 00:51:32.94 ID:58qNlapN0
ぶっちゃた話、思考は既にプログラムはある、というか、
プログラム共同開発で俺後から参加したクチだから直接は使えないんだ。
だから1から書くことになると思う。結構時間かかるけど。
弱いプログラムになるだろうけど、よかったら使ってください。。

>501
ルールさえしっかり設定してくれれば不可能ではない。っていうかそんな難しくは無いと思う。


676 黒豆(五粒) New! 2006/12/10(日) 02:31:24.06 ID:6g27mbru0
さっきから見てたけど
プログラマでインターフェース部分作れる人いるのか?


678 初夢(ピザった夢) New! 2006/12/10(日) 02:33:06.80 ID:Nek2RDcw0
>676
インターフェース部分のはまだいないな
ひぐらしみたいなツールを使えば将棋プログラマよりかは人がいるはず・・・


801 書初め(今年こそデート) 2006/12/10(日) 13:35:28.49 ID:34Tpns6h0
こういうのはexeよりFlashとかであっさり作った方が良い希ガス



823 猪(汗かき) New! 2006/12/10(日) 15:01:47.00 ID:QbxC7awA0
まだ今のところは各々好きに活動していいんジャマイカ?
ある程度キャラが増えてきたり、性格付けされていったり、将棋プログラムが出来てきたり、
その段階からモッシュアップして盤上でキャラが動くようになれば、まず一つの到達点かと。

気の長い作業だが、愛さえ失わなければなんとかなるさ…

それにしてもプログラムのイロハの無い俺には、「将棋 プログラム」で検索すると頭がフットーしそうなんだぜ?


35 以下、VIPにかわりましてパー速民がお送りします 2006/12/10(日) 21:05:49.24 ID:AExTfIgo
プログラム板なんかいく必要ないしVIPでやるから価値があると思っていたんだけど違うの?
なんでこんな閉鎖的なところで話し合っているのかまったく分からないんだけど・・・
とりあえず将棋プログラムに関してはCSAを改造するだけですぐに将棋の核が作れるし
グラフィックを萌えにするだけならばCSA改造ですぐできる

ちなみに、ボナンザってのは将棋の思考ルーチンだけでボナンザのインターフェースはCSA将棋を基にしている
CSA将棋を使っているのはボナンザだけではなく色々な人が将棋の思考ルーチンだけを作るためにCSAを利用。

いってみれば、盤とか駒とかのグラフィックや操作のインターフェースだけのプログラム部分がCSA。
このCSAを改造してグラフィックだけ差し替えてしまえば萌え将棋の出来上がり(おそらく1時間もかからない)
思考ルーチンに関しては色々なサイトにCSA対応のものが出回っているのでそれを使えば良し(もちろんボナンザも使えるし、もっと弱いのも使える)
あとはカットインやらストーリーモードやらのつけたしになるけど、これはじっくりプログラムを作っていかなくてはいけないので、数日でできるもんじゃないと思われ


49 以下、VIPにかわりましてパー速民がお送りします New! 2006/12/10(日) 22:16:10.62 ID:AExTfIgo
http://www.vipper.org/vip398317.zip.html
自分で書いておいて本当に改造できるのか試しにやってみた
駒は3つしか適当に変更していないけど、うまくやっていけば盤面から全部の画像は差し替え可能という事が分かった
だから、まぁ。あとはみんなでガンガレ


64 以下、VIPにかわりましてパー速民がお送りします New! 2006/12/10(日) 22:40:18.31 ID:AExTfIgo
>58
それも改造でできるから自分でやってみるといいお ( ^ω^)
描画関係は全部作り直し、操作のクリック部分もクォータービュー対応でクリックする場所と盤面座標の対応を変更。
CSAは動いた駒と動かした先が描画されるから、単純に絵を差し替えるだけじゃNG
おそらく駒が動いた時に全画面を描画しなおせばできる
カットインを入れるにしろ全画面描画やり直さないといけないので、そこは確実に作り直さないといけないしね


65 以下、VIPにかわりましてパー速民がお送りします New! 2006/12/10(日) 22:45:06.09 ID:AExTfIgo
ちなみに、駒の絵だけを変えるのであれば駒全種類の画像をBMPで用意して32×40の大きさで揃えれば
あとは加工しますよ
ただし、駒の上下左右は1ドット開けておく事


67 以下、VIPにかわりましてパー速民がお送りします New! 2006/12/10(日) 22:56:30.47 ID:K75GZqY0
>64
こんだけ書き換えるなら一から作っても大差ないような・・・
使えるのってターンと千日手判定ぐらいなんじゃ・・・


21 猪(左利き) 2006/12/11(月) 01:03:17.42 ID:wmSjsbZj0
>16
説明不足だった
CSAっていう将棋のフリーソフトを改造して一部の駒の絵を
萌えキャラに変えてみたテスト版のソフトのこと

上のURLに実行ファイル等が入ってるけどそれだけでは起動しなくて
下のサイトでmfc70っていうdllファイルを落として上のフォルダに入れて起動させればおkってこと


27 猪(赤ら顔) 2006/12/11(月) 01:20:37.03 ID:uTAELfHW0
csa将棋で思考部分作るから、
なんか希望あったら教えて


28 猪(ダイエット中) 2006/12/11(月) 01:32:54.99 ID:E4BOmgn60
せめて難易度変化は欲しいところ


29 猪(ダイエット中) 2006/12/11(月) 01:36:48.95 ID:E4BOmgn60
…と、書いたものの、難易度の設定って結構難しいのか?
プログラムの畑ではない俺にとってはその辺の思考ルーチンに関しては疎い。


31 猪(給食中) 2006/12/11(月) 01:38:57.92 ID:ayCYuAH+0
>29
いやそれは難しくないと思う


34 猪(金歯) 2006/12/11(月) 02:05:31.69 ID:OTxXA9zu0
CSAの案を出したものです。
なんでCSA改造の案を出したかというと
1:将棋の内部処理的なものが出来上がっている
2:COMの思考ルーチンが大量に出回っている(sikou.dllを差し替えるだけで好きな難易度に変更できます)
3:一応ネット対戦もできるらしい

>29みたいな案は強いCOMはボナンザの思考ルーチンを使えばこのスレの誰も勝てないようなものにできるし、弱い奴なら最初からあるものでもこのスレ住民が1から作ってもおk(ただしCOMの思考は膨大な時間がかかる事は覚えておくべき)
プログラムで一番難しい思考周りがすでに出来上がっているのがCSAを改造する上で最大の利点になると思います

ただ、次に労力がかかる画像部分(とインターフェース)は全部1から作り直さないといけない
まず元プラグラムが以下のプロセスでなっています
駒を動かす→元々駒があった場所に盤の模様を描画→移動先に新たに置く駒を描画
これではリアルタイムに画像が変動しないので、画像をリアルタイムで処理するプログラムに置き換えなくてはいけない
また、カットインアニメを導入する事を考えれば画面は常時描画更新されるようになります(将棋の思考は膨大な計算量になるのでCOMの頭が普通のボナンザよりも弱くなる事が予想されるし、下手に作れば処理落ちがくる)

盤と駒を3Dのクォータービュータイプにするのならば画面全体を常時書き換えるような形になると思います(もといた場所を消すだけではNG)
またクォータービュータイプならば駒をクリックする時の処理なども最初のCSAから改造が必要ですね

さらにストーリー部分は1からアドベンチャーゲームを作るくらいの労力が必要となりますし、途中盤面から何らかの勝利条件を満たすミッションモードを考えると1本1万円の将棋ソフトを無料でみんなで作っていくような無謀な挑戦となります
普通のゲーム会社が何ヶ月もかけて作るようなものを想定して作るのは相当なモチベーションが必要でしょうね

ちなみにボナンザみたいな普通の将棋ソフトの駒を擬人化するようなもの(>1のプログラムみたいなもの)ならば簡単に作れます
既存のものの画像を差し替えれば良いだけなので、駒画像(32×40のBMPで上下左右は1ドット空間をあける仕様)を入れ替えるだけで作れます


39 凧(ひとりぼっち) 2006/12/11(月) 03:01:32.96 ID:ucJ3l9vm0
>34
同じ考えなんだぜ
俺が思った構想は

まず、人対人の基本を作って
それからCSAの思考部分での思考結果をプレーヤー2にして動かすようにすれば
汎用性がもたせれるとおもうんだぜ


51 猪(貧乏) 2006/12/11(月) 04:10:25.16 ID:wdStxdm/0
クォータービューを推す人はクォータービューの何がメリットだと考えてますか?
(好きだから。とかでも良いんですが、人を説得できる理由が欲しいです)
個人的には駒の区別がつかなくなる、盤面が見づらくなる、プログラミング作業が煩雑になりそう。
の3つの理由でクォーターにこだわらなくても良いのではと思ってるのですが。

良かったら理由を聞かせてください。


56 猪(ピーマンきらい) 2006/12/11(月) 04:39:19.14 ID:E4BOmgn60
クォータービューの視認性に関しては、キャラの頭身とマス目の角度を工夫することで向上が図れると思う。
例としてwikiの「参考」の下のほうに参考資料として「リリーのアトリエ」の戦闘場面を載せてみた。
テレビを写真に撮ったんで、ちょっと見づらいけど、それでも位置関係は結構わかる。


65 書初め(あの子にアタック) 2006/12/11(月) 08:08:59.39 ID:MhVOXEA50
>62
すまない・・・まだプログラムが無いんだ・・・
CSAのならbmpで32*40、上下左右1ドット開けておく、らしいよー


73 猪(不倫中) 2006/12/11(月) 09:44:14.66 ID:OTxXA9zu0
CSAの画像を全部入れ替えるとどれだけ混乱するかのテスト

駒が全部涼宮ハルヒのキャラになっています
プログラム的改変は無し

http://up2.viploader.net/mini/src/viploader91403.z...

VisualC++がうんたらかんたらというエラーでプレイできない人は>>1の2つ目のURLの奴を入れるとおkらしい


121 お年玉(すずめの涙) 2006/12/11(月) 23:17:26.46 ID:KnmRWNSQ0
CSA将棋のソースコードって配布してないのか
全然見つからないんが


122 ウリ坊 2006/12/11(月) 23:19:03.84 ID:byKQXP290
>121
これかな?
ttp://www2.ttcn.ne.jp/~tsuma/


124 お年玉(すずめの涙) New! 2006/12/11(月) 23:48:27.87 ID:KnmRWNSQ0
>122
サンクス
でもそこにはソースコード無いっぽいんだ。

CSAのサイトにそれらしいものがあったのでチョット解析してきます。


454 年賀状(気があるってことなのか?) New! 2006/12/13(水) 22:29:52.11 ID:VyRRtks20
天竺大将棋・大大将棋・摩訶大大将棋・泰将棋
も途中セーブが出来ていればプレイできるかもしれない


455 猪(倉庫係り) New! 2006/12/13(水) 22:31:13.25 ID:tkgyAwUn0
>454
ただプログラマー死ぬぞwwwwww


476 初夢(見るの忘れた) New! 2006/12/13(水) 22:41:31.10 ID:rqgtHgLz0
ところでCSAの改造・再配布は許可されてるよね?
>73のうpろだ不安定だからwikiに置きたいんだが


498 年賀状(気があるってことなのか?) New! 2006/12/13(水) 22:56:35.82 ID:VyRRtks20
>420>433>439>447>451>456>462>475>477>479
ちなみに上の俺のアイデアは全部取り入れるとプログラマ泣かせだが
紙版で友人とプレイしてみたが紙だとコマのルールがややこしすぎた。
このコマの動きがどうだっけと止まりプレイヤーとゲームマスターが要った。
さらに>423も採用しようとして泣かせたからな、
それで長いからボタンですぐ飛ばせるようにしてくれといって怒らせた。
それでCOM戦など無しでお蔵入り
PC98で中学生数人で制作のゲームじゃないなw


506 猪(おまっ) New! 2006/12/13(水) 23:02:34.89 ID:mRPyl8i60
ちなみに、色々と素晴らしい機能を言っている人がいるけど、やたら豪華な案を出している人はそれを実現するプログラムもやってくれるのかな?
ここを読む限りの仕様だとDirectXが必須なんだけど、DirectXのプログラムなんて8年くらいやっていないから自分は完全パスするしかなさそう


515 年賀状(♂だらけ) New! 2006/12/13(水) 23:08:42.94 ID:aibxYeh20
>506
ゲームってもんは最初はとにかく案を出していく
プログラマーの苦労はまったく考えない。実現可能かどうかも考えない
あらかたでつくしたらプログラマーと相談しながらできるのを絞っていく
そんな感じで作るんだってゲーム作ったことある奴に聞いた


559 初夢(競馬あたった) New! 2006/12/13(水) 23:41:31.38 ID:0YJPaPi40
加熱中にすまないんだが、CSA起動しようとしたら
MSVCR70.dllが見つからないエラーが発生するんだぜ?


こいつ、ツンデレか?


19 猪(白髪) 2006/12/14(木) 01:30:43.07 ID:ABsNn0bs0
>14
1枚の絵が320×320くらいの大きさで、320×α(αは動画枚数)の1枚絵を描いてみないか?
それぞれの絵はアニメのように絵が動く感じで
↓こんな感じに1枚絵の横長ファイルで絵が0,0→320,0→640,0の所で1枚ずつ見れるような感じ
↓10枚のパラパラ漫画ならば3200×320の1つの画像ファイル
■■■■■■■■■■


30 猪(白髪) 2006/12/14(木) 01:47:52.93 ID:ABsNn0bs0
容量的な問題ならば手や足とかのオブジェクトパーツを作って、それをFLASHアニメみたいに動かすプログラムを裏で動かすのが一番軽い
しかし、カットインアニメの種類が王手だけではなくて歩がと金になるとか相手の駒を取った時とか色々な場面で使うならば、そういう手法だとプログラムが激しく面倒になる
お手軽に作っていくというスレの流れからして、これは良くない

1枚絵をパラパラ漫画みたいに表示すると簡単にアニメが作れるが容量は増える
パラパラ漫画にした時に秒間何コマくらいで動かすかがポイントで短くすればするほど綺麗に動く
ただ、DirectXとか使っていないので60分の1フレームとか30分の1フレームで動かすとなるとマシンスペックにも依存して厳しいと予想される
現実的に見て1秒間に2〜8枚くらいが良さそう
秒間5枚使ったと仮定して、10枚の画像を用意すればカットインが表示される時間は2秒間となる
おそらくカットインでイライラしない限界が1〜3秒くらいと予想されるので5〜15枚の間が好ましい気がする


37 猪(白髪) 2006/12/14(木) 01:54:02.51 ID:ABsNn0bs0
詰めろと必至に関しては思考ルーチンにかかわる問題なので現局面からそれが詰めろなのか必至なのかを判定する事は非常に難しいです
CSA改造ならば思考ルーチンを作らない方向性でやっていたので実現は薄いし、別の1から作っている人がいた気がしたので、その人がやってくれるか提案した人がアルゴリズムを作るとか
アルゴリズムを作るだけならばプログラムの知識はまったく必要ないですし、数学ができればおk


43 猪(カレー味) 2006/12/14(木) 01:57:42.98 ID:88z5maOL0
>37
詰みルーチンはどっかから流用するんかと思ったら違うのか。

即詰みは簡単で必至と詰めろは難しいと聞いたんだがコレ本当なん?


51 猪(おもらし君) 2006/12/14(木) 02:12:48.46 ID:ABsNn0bs0
とりあえずCSAってなんじゃ?ってのは前にも書きましたが
世界コンピューター将棋選手権などに出場する人がコンピューターの思考部分だけを作りやすいように
将棋の基本となる核の部分(盤駒表示、それを動かすとか時間とか操作周りなどなど)だけが詰め込まれたものです

だから思考部分はそこらじゅうに大量に落ちているCSA対応のダイナミックリンクライブラリを持ってくればいくらでも差し替え可能
逆に言えばCSAをいくら改造しても思考ルーチンは中に入ってません

現在局面において自分の駒が相手の王のいる場所へ利きがある事が王手の条件
王手の状態で相手の王が移動する全てのパターン(盤内で相手の駒が無い場所)に自分の駒の利きがある場合は詰みです
だから、現在局面さえあれば現在王手か判定する事は簡単ですし移動先があるのかどうかを検索すれば詰んでいるかもわかります

3手詰になった場合は局面図を動かしながらやっていくしかないので現在局面だけでは不可能
しかし、王手をして王が逃げた先の全パターンにおいて別の王手によって詰みの判定が生じるのならば詰んでいるというのが簡単に分かる

詰めろに関しては王手ではない手を指して、相手が何もしなかった時に、1手だけではない詰め将棋の判定(何手詰か分かりませんがとにかく全パターン)を網羅して検索していきます
人間は76歩とか1つだけを見れば動いていると認識しますが、コンピューターの場合は基本的に盤面全部のデータを1つの局面につき保持しないといけない
さらに王手ではない詰めろの手が簡単にほどけてしまうようではそれは単なる悪手ですから、詰みの判定よりも詰めろの判定の方が難しいのは当然じゃないかな?

ちなみに、こういうものの考え方がアルゴリズムって奴で、こういう考え方をコンピューターに入力するのがプログラム
だからプログラム言語なんて知らなくても物事を筋道立てて計算できるならアルゴリズムは作れるし
私はプログラムできないから手伝えないな〜って事は無いですお ( ^ω^)


95 お年玉(とられた) 2006/12/14(木) 12:22:47.32 ID:1e68ONCF0
将棋板からきました。

>51
一応、今やってるやり方。
詰めろは王手ではない手じゃなくて相手がパス手をさした時に詰みがあるかを調べる。
で、次の手が詰めろを逃れられる手か判定するor詰めろ逃れの手を意図的に作る。
どっちにしろ詰みよりは明らかに重い。

今、csaで一から思考を書こうとしているけど、もしできたらいろんな意見に対応できるはず。
まだ仕様を作ってる段階だから先は長いけど
ちょっとがんばってみる。


128 猪(アイドル) New! 2006/12/14(木) 19:16:54.30 ID:ABsNn0bs0
>113
絵の差し替えはリソース情報を書き換えただけですよ
色々なバージョンが出てくる事は具体的な絵をうpされない限りは不可能で、逆に言えば絵さえうpれば書き換えは可能
絵師の方が簡単に変えられる代物ではないです
とりあえずVC++6.0以上のバージョンを持っている人じゃないと無理だと思います(逆に言えばそれを持っている人なら言わなくても簡単に改変します)
自分はVC++.NETを使用しています

↓参考
http://www.amazon.co.jp/Visual-Studio-2005-Standar...


447 297 2006/12/18(月) 02:20:08.50 ID:Is1Du34d0
とりあえず今日の最終版。
まだイメージだけで遊べません。
http://up2.viploader.net/mini/src/viploader93138.z...

 ・2Pカラー対応
 ・キャラがつぶれちゃうので解像度上げてみた(800x600)

おまいらおやすみ


455 書初め(私は広東面) 2006/12/18(月) 02:26:27.48 ID:Ol5Mp7DR0
>447
乙。
ちなみに、画像が何度も読み込まれているのか、起動してから各画像が表示されては消え、また表示されて、を繰り返すんだが、仕様か?


460 297 2006/12/18(月) 02:40:18.13 ID:Is1Du34d0
>455
うーん。
画像が消えるっていうのは、
画面が真っ暗になるってことかしら。
グラボのメモリが足りなくてロストしてるのかな。
次うpするときは、画像の色数落としてみるね。


686 愛のVIP戦士 2006/12/18(月) 23:47:08.92 ID:pYV0IehZ0
プログラムは提案してもそれが実際組めるレベルなのかどうか判断つかないからなぁ
授業でちょっと齧った程度の知識じゃ、簡単なのか難しいのかよく分からん


713 297 2006/12/19(火) 00:13:01.95 ID:kYnFF5SB0
自駒をドラッグできるようにしてみた
http://up2.viploader.net/mini/src/viploader93357.z...


729 たこ 2006/12/19(火) 00:23:14.70 ID:XF7RaHHL0
これはDirectXいらないかもわからんね


221 のびたと初詣 2006/12/21(木) 02:02:33.28 ID:wj/2qLHx0
おまいらさーとても大事なことを忘れてるだろ?
 プ ロ グ ラ マ の こ と 考 え て 下 さ い 
なんですか?ギャルゲー要素って?

ただでさえ普通のシステム組むのに加えてカットインだのアルゴリズムだのやってんのに
その上キャラの会話入れて好感度とかも入れろってことか?
さらにストーリー入れてキャラ別エンディング入れろってか?
金取るぞてめーら。


227 御雑煮 2006/12/21(木) 02:17:32.43 ID:HYWWXunl0
>221
上でかいてあるだろうに
ひとまずはストーリーなしの将棋だけできるのにしようって
ギャルゲとかするのはそれが完成してからだよ
まぁ萌え将棋できたらそこで終わるっぽいきがするけどw

では王の性格などを考えようか


233 猪(青詐欺) 2006/12/21(木) 02:57:07.05 ID:Bkx6lKcO0
深夜にうp(0.03)
http://up2.viploader.net/mini/src/viploader93865.z...
パスはshogi

友達と1台のPCで対戦できるようになったんだぜ。
でもまだ、とった駒が使えないんだ。


268 ウリ坊 2006/12/21(木) 11:56:59.36 ID:RzX39VMu0
あまり重要な事じゃないけど、クォータービューはバリバリ3Dなど一切使わずにドット絵を使って実現するとすれば、
ただ単に画像を奥から順に描画していけば良いので問題ない
もし視点が左右に微妙にずれるなら、駒のクラスなり構造体なりにz値を組み込んでSTLにぶち込み、ソートすればおk
STLのソートは結構早いはず
視点を頻繁に調整したり動的に設定する必要がないのなら、z値を組み込む必要はない


149 以下、VIPにかわりましてパー速民がお送りします 2006/12/21(木) 02:30:40.98 ID:wsGfSBw0
プログラマの人に頼みがある。

俺も含め、多分殆どの奴がそうなんだろうが、
何をどうすればプログラマの負担がどのくらい増えるのかってのが正直想像もつかんのだ。
だからエロゲ展開なんて無茶も言ってしまう。

今ある駒絵をハルヒ将棋に移行したり、カットインを加えたりするのが、
どのくらい困難なことなのか簡単にでいいから説明してくれないか?

それと、俺みたいなスキル無しでも出来ることがあるのなら是非教えてくれ。


150 以下、VIPにかわりましてパー速民がお送りします 2006/12/21(木) 06:07:11.21 ID:S4eCDnAo
使う言語やらライブラリやらで変わるからなぁ・・・
今ある駒絵をハルヒ将棋に移行するのはそこそこ難しい
今動く奴を作っている人はJavaという初心者が使いやすい言語でスプライト機能(昔はオブジェクトって言ってたと思う)を使っているわけ
それに比べてCSAはVisualC++という上位の言語を使っているので、かゆい所は自分でかきましょうといった内容。
VisualC++にはスプライト機能が無かったはずなので(DirectX標準装備だったかな)描画部分の仕様をどうするかまず考えるはず
簡単に移行して作るならばスプライト機能のいらないもの(たとえば駒が1つのマスより大きくならないもの)ならすぐいけるんじゃないかな
まぁ後々を考えればスプライトをどうやって再現するかが現実的だし、DirectXを使うのが良さそうだけどね

現在のハルヒ将棋は2時間くらいの作業(99%が解析)
ただ絵を用意するのに3時間くらい(笑)

スプライトが使えるのならばカットインなんて何にも作業的には難しくないと思うし、ハルヒ将棋で今やっているカットイン手法(一応アニメーションもする)ならばスプライトは使っていないね


151 以下、VIPにかわりましてパー速民がお送りします 2006/12/21(木) 06:15:20.55 ID:S4eCDnAo
ただ、思考部分がDLL配布だから今作っている人がDLL読み込みして駒のデータ配列等をCSA準拠に変えればかなり簡単に実現できると思うよ


152 :以下、VIPにかわりましてパー速民がお送りします :2006/12/21(木) 17:38:54.04 ID:wsGfSBw0
俺はこういうことには完全に門外漢なんで理解がなかなか追いつかないんだが……

ハルヒ将棋はCSAというプログラムで動いている。
CSAというのは将棋の核となる部分だけを詰め込んだもので、VC++言語を使用している。
VC++にはDirectXに入っているスプライト機能というものがない。
一方、今動いてる奴はJAVA言語を使っている。JAVAはスプライト機能がある。

スプライト機能ってのは画像をスムーズに表示させることの出来る機能。
ttp://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%97%E3%83%A9%E3%82%A4%E3%83%88
これがないと描画が困難で、エフェクトやカットインなどが入れづらい。

今すぐキャラを動かしたければ、ハルヒ将棋の奴を改造してスプライト機能が必要ない形で画像を萌え駒のものに差し替えるのが一番手っ取り早い。
しかし、後々の事を考えると、やっぱりDirectXを使って作ったほうが良い。

ってことでいいのか?


153 :以下、VIPにかわりましてパー速民がお送りします :2006/12/21(木) 17:40:22.83 ID:wsGfSBw0
>151の
>DLL読み込みして駒のデータ配列等をCSA準拠に変えれば
ここが良く判らない。
これはどういう作業で、具体的にどういったものが出来るのか、教えてくれ。

あと出来れば>>136の
  • CSAの描画をDirectXに変更
  • DirectXの描画作ってCSAの将棋部分移植
ってのも、もうちょっと詳しく教えてくれると有り難い。


154 :以下、VIPにかわりましてパー速民がお送りします :2006/12/21(木) 21:28:59.94 ID:Mgi2ooI0
>153
DLLファイル自体は画面に表示したりする機能がなく
呼ばれたら次の手はどうするかって言うのを考えるだけ
そしてDLLファイルからの思考結果を受け取って描画するのがうわさのCSA
つまり、>>151はCSAを自分で作っちまおうぜ。と言ってると思われ


155 :以下、VIPにかわりましてパー速民がお送りします :2006/12/21(木) 21:32:24.53 ID:Mgi2ooI0
>153後半 >154の自分で作るCSAにDirectXを使用してみたらいいんじゃねえの?
といってると思われ


157 :以下、VIPにかわりましてパー速民がお送りします :2006/12/21(木) 22:00:59.92 ID:wsGfSBw0
なるほど。何となく判ってきた気がする。
それで、そのDirectXを使用したCSAってのは、簡単に作れるものなのか?


158 :以下、VIPにかわりましてパー速民がお送りします :2006/12/21(木) 22:55:09.72 ID:Mgi2ooI0
>157
まあ・・・難しいほうかな
できるやつはできるだろうが・・・


159 :以下、VIPにかわりましてパー速民がお送りします :2006/12/22(金) 02:31:14.44 ID:hT3I5E20
難しいのか……
CSAを作るか作らないかってのは一度本スレででも議論した方がいいのかな。

それと、プログラマが何人居てそれぞれどの程度のスキルを持ってるのかってのは把握しておきたい。
それが判らないと、作れるのか作れないか判断のしようが無いし。

それにしてもこのスレ、人居ないな……
もうちょい活性化させたいが、どうすりゃいいんだ?


160 :以下、VIPにかわりましてパー速民がお送りします :2006/12/22(金) 03:11:40.07 ID:hT3I5E20
書き忘れた


他にも、何か今の内に決めておいた方がいいんじゃないか、
ってことがあったら教えてくれ。


161 :以下、VIPにかわりましてパー速民がお送りします :2006/12/22(金) 08:12:57.73 ID:8mWpxIoO
玉を忘れないで


162 :以下、VIPにかわりましてパー速民がお送りします :2006/12/22(金) 08:38:54.60 ID:CxgCPuko
じゃあプログラム初心者がわかりやすいように解説を・・・

一般的コンシューマーゲームなどはC言語というもので書かれている。
Windowsプログラムは元々ゲームを作る事に向いていないので、ゲームを開発するための開発キットみたいなものがある(これがDirectX)
CSAとはプログラム言語ではなく将棋ソフトの名前で、プログラムのソースコードが配布されている(C言語を拡張したC++言語で書かれており、マイクロソフト社のVisualC++開発ツール専用の命令文で構成されている)
ハルヒ将棋(改造CSA)は一般的なWindowsアプリケーションの手法で書かれており、ゲーム的処理をさせようとすると負荷がかかってくるので、ゲーム要素を濃くするのならば抜本的な改造が必要である。
VIPの駒絵で動く奴を作っている人はJava言語というものを使っている。
Java言語では難しい事があまりできないが、簡単なことは(そこそこ)簡単に作る事ができる言語である。
将棋プログラムで一番難しい部分は思考ルーチン。まともなのを作ろうとすると相当優秀なプログラマーが必要になる。
CSA将棋は思考ルーチンが切り離されており、CSA対応の思考ルーチンを詰め込んだDLL(ダイナミックリンクライブラリ)が存在する。
DLLとはプログラムがDLLから命令を呼び出すことで、DLLに記載された計算結果を得る事ができる。
つまりCSA準拠の思考ルーチンDLLを呼び出すことができれば、思考ルーチンを作ることなく思考結果を得る事ができる。
CSA準拠のDLLを使うためには盤や駒をどのようにコンピューターに認識させるかなどのルールはCSA準拠で作らなければならない。

そこで今までの流れは、CSAを改造すればCSA準拠のDLLを呼び出す事が容易なのでCSAを改造しようか?という事になった。
ここで選択肢が出てくる
  • VIPの案をそのまま組み込むためにCSA改造時にゲーム用開発キットであるDirectXを入れる(経験者がいれば実現度高い)
  • CSAを改造し通常アプリケーション動作でゲーム的な演出を見せる(これが一番手軽)
  • 現在Javaで作っているものを継続していく(思考も含めて全部1から作る)(実現の見込みは遠い)
  • 現在Javaで作られているものからCSAの思考DLLを呼び出しその他部分はJava版製作者に任せる。(Java版作っている人の腕次第)
  • その他


163 :以下、VIPにかわりましてパー速民がお送りします :2006/12/22(金) 09:03:05.73 ID:CxgCPuko
ちなみにWindowsプログラムの基本として覚えておく事は

  • 常時画面を更新し続ける事は基本的に非現実的(処理に時間がかかる)
  • 基本的にクリックなどをした時になんらかのレスポンスが帰ってくる
  • タイマーを埋め込む事で時限爆弾的に何らかの処理をさせる事ができる
  • 別のウィンドウから切り替えたり最小化から復帰した時は全画面更新をしている
  • 絵を描画するときに基本的に元の画像の上書きをするために駒が盤のマスよりも大きい場合(他の駒に駒の一部がかぶさる場合)駒の描画はほぼ1からやり直し。駒だけではなく盤の描画もやりなおし←こうならないようにする機能がゲーム的手法で使われるスプライト機能

ハルヒ将棋のカットイン手法としてはタイマー埋め込みでカットイン部分だけを画面更新しカットイン終了時に全画面更新をかけてもとの画面に戻している。
通常時は画面の更新は一切していない。

ゲームプログラム(DirectXなどを使う場合に良くある手法)は
  • コンピューターの画面は30分の1秒単位で切り替わるために、30(60)分の1秒単位で常時全画面更新している
  • DirectXはハードウェアを直接叩いて描画処理などをさせるツールなので、画像の描画速度が飛躍的にアップする(ポリゴン使ったりシューティングゲームでは必須)


コンピューターで描画する事の基本的概念を駒を動かす所でたとえると
1:元の駒があった部分に背景画像を描画する
2:移動先にも背景画像を描画する(1と2で盤上から駒が消える)
3:移動先に駒を描画する
4:駒をとった場合(駒を打ち込む場合)は駒台にもおなじ処理をする
5:画面に反映させる

スプライト機能を使った場合は駒を単なる画像として扱うのではなく、ゲームでたとえるなら1つのキャラクターとして判断させるので
クリックしたものが歩なのか角なのかを判断するだけがCSAの手法であるが、こうするのではなく全ての駒にIDナンバーを振ってどのIDの駒をクリックしているのかを判別させる事になる。
つまり通常将棋ならば歩が18枚あろうとも全部同じ歩として扱うが、18枚が全部違う歩として扱うようにプログラムを書いていくって事だね
もちろん、そういった処理に変えたとしてもCSA準拠の手法で18枚が全部同じ歩と認識させる処理も書かないとDLLが読み込めないから、駒の内部データを2重処理するのが現実的な手法になるのかな。


164 :以下、VIPにかわりましてパー速民がお送りします :2006/12/22(金) 09:22:52.22 ID:CxgCPuko
しかし、DirectXを使わなくても、検索したらゲーム用のライブラリが色々あったから、それを使えば比較的容易にできるかも
むしろ、Javaで作っているってのは本スレ情報を参照したからなんだけど、今のスレを見るとCで作っているのかな?
2006年12月23日(土) 17:41:17 Modified by ID:czD7bIm+IA




スマートフォン版で見る