約 601,858 件
https://w.atwiki.jp/slice/pages/140.html
(2015/10/08) またか。 そうなんだ。その、またなんだ。 別の絵の前座みたいな感じで練習がてら軽く描くつもりだったけど結局、ガッツリ系に。 プログラムはなんだ、その…いつも通り過ぎて書く気が。すまぬ
https://w.atwiki.jp/slice/pages/87.html
(2012/02/26) 進捗(web編) アコーディオンメニューは実際作ってみたら 正直言って操作性と視認性に疑問を感じたので止めた.入れ子にした所で重いしやはり見づらい. そもそも当サイトでは項目を畳む程のコンテンツがないという(ログぐらいか?) という訳でポップアップメニューに切り替え. 最初は既存のソースを参考にしようと探したが慣れないHTML+CSS+Javascriptというのもあってか 読んでもいまいちピンと来なかったのと 大した行数でもなし自分で1から書かなきゃ頭に入らない気がしたので,そうした. 楔形は出来たので後は組み込むだけ.クラス化は・・・するまでもないか. アクセスカウンタはページビューとユニーク訪問者数を表示させ,更に今日,昨日,週間で集計させる物が出来た. まぁ普通なので特記事項は無し. 自前web拍手的についてはまだ着手していない. どうせ作るんなら5段階評価も入れたいよね. 似たようなシステムで投票も出来そうだな.Googleの円グラフAPIでも使ってみようか 等とメモ帳に書き込んでいる段階. 日本語・英語対応についてはHTMLに両方の文面をそれぞれ異なったクラス指定で書き込んでおき 例えばHTMLがこうだとすると div class="Japanese" 日本語テキスト /div div class="English" English Text /div JavaScript側で $(".English").hide(); とかやって他方を非表示にすればいいんだろうか? ページ分けるのは管理の手間の観点で避けたい. デフォルトでどっちにするかはユーザーのブラウザ情報を使えば何とかなりそうだ. PHPでは確認したがJavascriptでは・・まぁ出来るんだろう. そしてスクリーンショットギャラリー. 巷ではLightbox2というのが流行のようだが 如何せん自分様がお気に召さないのでサムネイル一覧と詳細ウィンドウを並べた従来タイプ?にする, 現時点で恐らく半分程実装したんじゃないかと思う.詳しくは後ほどという事で. (2012/02/21) 迷走 ここ最近迷走してるようにしか見えないが,実際そうだろう. 前回「CSSだのjQueryだのAjaxだの沢山あってヤバイ」 と言っておいてアレだが,結局全部手をつけてしまった.だって互いに関連してるから・・ 流石にNode.jsだけは止めておく.あれまでやってたらもう一ヶ月吹っ飛ぶ. ついでに習得したweb関連の技術で作ろうと思っている物リスト. スクリーンショットギャラリー アクセスカウンタ web拍手的な物 アコーディオンメニュー又はポップアップメニュー 日本語と英語切り替え どの言語や機能を使えばいいかは目星ついてるつもり. 正直これだけあったら新規にwebページ作った方がいいんじゃ?と思っている. というか既にSQLとPHPが使える無料スペースを確保していたり. 本当に移行するかは別として. ゲームの方も少し書いておこうか.例のRUDPだ. まず,でかいパケットを自動的に分割して送受信できるようになった. その際オプションでフラグを指定する事によりファイルをバイナリで送れ,受信側は一時ファイルに保存するようにした. 幾つか数キロバイトのファイルで動作確認したら上手く動いているようだった. 対戦プログラムの方は. 各々の操作を受け付けて同期しつつ2Dスプライトを動かす所まで. 折角だからちゃんとゲームとして動くのかタイルベースのマップを表示して弾でも飛ばしたい(今やってる) あとこれはゲームとは関係ないがVisualStudio2010に変えてから早速右辺値参照やラムダ関数やauto変数を堪能中.便利の一言. しかし時たまシンボル検索か何かの処理がハマッってしまってメモリを食い尽くす謎現象が発生するのは何故. (2012/02/12) 現状 最近,WindowsよりUbuntuの起動時間が長いな・・ さてMySQL, PHPが一段落した所で 昔流行ってたCGIチャットをこさえて懐かしんでみたりした(こんなシンプルに作れたのか!) とりあえずC++からMySQLに繋ぐ方法がわかれば,今のスキルでオンラインスコアボード位は作れるかもしれない. 逆にwebから何か情報を入力してゲーム側に反映させても面白いかもね. その他SQL自体は複雑なデータベースから欲しい情報を効率よくクエリする物なんでSQLiteを使えばweb関係なく ゲームでも使えそうだなあ・・・などと夢は膨らむ. 最早ゲーム作りたいのか何がしたいのかわからんと突っ込まれそうだが折角PHP覚えたのだから 何かwebページを・・と思った時に,PHPだけではどうしても華がないというか. 基本的にサーバから読み出したらリロードかページ移動まで情報変わらないもんなあ. これも勉強して初めて知ったのだけど. と言うわけで今度はJavaScriptをやっている.ちょこっと触ってみたらCSSだのjQueryだのAjaxだのと. この辺はキリがなさそうなんでちょっとした自前のページ作る程度で切り上げないとマズそうだ. スクリーンショットのギャラリーとアコーディオンスタイルのメニューが作れればそれでいい. 話は変わってUDP通信クラス.大がかりなリファクタリングが終わり現在動作確認中. web70%, C++30%くらいの力配分なので進行が非常に遅いとはいえソース書き直すだけでこんなに手間取るとは思わなんだ. 完成すればデカいファイルも送れるようになる,筈.(対戦サーバ接続時に持ってないマップを即席ダウンロードだとか) 今まで面倒くさがって開発環境はVC2008を使い続けていたが,ここに来てようやく2010へ. インテリセンスがガンガン効くかと思いきや特に変わったことは無し.デバッガが若干軽くなったかもしれない. あとはインクルードパスや参照ライブラリの設定方法が変わってて設定し直したくらいか? そういやC++0xの右辺値参照とラムダ関数が使えるんだっけか.試してみよう. (2012/02/05) ネットワーク関係のあれこれ 取り組み中な事ばかりで 完了したと自信を持って言える項目は残念ながらないのだけど. 現在進行中リスト MySQL とあるキッカケにより.オンライン要素のあるゲームを作る布石. PHP これもSQLと関連して.触った感じLuaと似たような物かな.まだ基本的な構文と幾つかの関数を学んだ程度. UDPによる通信クラス 当然対戦したりcoopなゲームを作る為. 前回「ネットワーク関連の~」と書いたのがコレ. 同じく前回「描画関連の~」と書いた物はここ2週間放置気味なので時期が来たら書く. その他MySQLとPHPの練習のためにUbuntuをVirtualBoxに導入, 所謂LAMPスタックを構築したり文字のアンチエイリアスが気に食わんから切って 新UIのUnityも微妙だからgnome風味にしたり見よう見まねでカスタマイズ.などなど. PHPを勉強してるとwikiじゃなくて自分でwebページ作りたくなるね. で,ネット対戦に使う通信クラスだけど 前はTCPで実装していたのをUDPで組み直している.UDPじゃないと駄目って事もないが TCPではその仕様上「途中でデータをロストしたら再送し,確認が取れるまでは次のデータは送られない」から さほど重要でないデータ(エフェクト類とか)を送りたい場合に不都合だから. バイト単位で結合・分割される為にデータの切り分けが面倒だとかもある. いやいや,尤もな意見を並べてみたが本当の所は「UDPで作ってみたいから」である. 勿論単なるUDPでは送ったら送りっ放し,届いたかの確認も何もあったもんではないのでそれなりの工夫をする. そこで登場するのがReliable UDPという奴だ. http //www.4gamer.net/games/105/G010549/20100905002/ 実はこの記事を読んでたら実装してみたくてたまらなくなったというのが事の真相. あんまり詳細については書いてないのだがそこは自分で補完しつつ,つい先日 「ホストに接続・切断」,「同期処理」,「復帰処理」と一通り動くとこまでは来た. ちなみに通信の形態はP2P,格ゲーやシミュレーションゲームなんかで用いられるキー入力同期方式である. だが作りながらの仕様変更が祟って案の定スパゲッティコードに. あと1つ問題が.デカいデータを送れないのだった. 1つのUDPフレーム(一回のsend()で送るデータサイズ)は1500バイト程度に押さえないと経路の途中で分割されて効率が落ちてアレだし そもそも8000バイト以上送ろうとしたらAPIに拒否される. 解決は単純で,複数のフレームに分けて送ればよいのだがこれがなかなか一筋縄ではいかない. UDPは届く順序が保証されていないから届いたデータをソートする必要があるし, 前からある(分割されてない)フレームソートの部分はスパゲッティで触りたくないしで八方塞がり. と言うわけで1から書き直す事にした.動作確認も含めもう2~3日かかるだろうか. ひととおり通信プレイが出来るようになったら固定画面,2人対戦の簡単なゲームを作る予定. 簡易的なゲームホスト列挙サーバをSQLとPHPで作れる気がしているのだが・・・
https://w.atwiki.jp/slice/pages/142.html
(2015/12/26) Deferred Lighting だいぶ遅れてしまったけど予定通りDeferred Lightingによる影付きライトを実装。 一応前にやってはいたのだけどあの時は内部実装がこんがらがってて影無しだった。 しかし実装してから言うのもアレだけど、 メジャーな問題点としてよく挙げられる半透明のポリゴンは依然としてソートの上で奥から描画しなきゃならないし、 その時は勿論Forwardなのでエフェクトを多用するゲームには出番が無いかもしれないね… まあいいか、次は水面でもやろうかね。 他所の子 本格的に他所の子を描いたのは初かな? ナギシュータ(TwitterID @LIxE_lie)さんとこの歪獣という種族(?)なのだけど、 まさかの3枚組。 思いつきでやってたらどんどん規模が大きくなって死ぬかと思った。 つるぷにの、ヌメヌメですね。 (2015/12/14) 進捗だけ報告。 バンプマップをサクッとやるつもりが接空間を求めるのに四苦八苦してた。 確認用の描画とかやったり。 更にそれのバグとか。 まあ最終的には出来たんだけども。 何に詰まってたかといえば、UVマップがミラーリングしてる場合に接空間も反転するよね - 面ごとに計算した接空間を頂点で合成するわけだけど、 反転してる座標系を足しあわせたらどちらの座標系も表さない変な方向指しちゃうよねって事。 これって結構メジャーな問題のようで、古くはDoom3やFarCry初代の時代から言及されてるようだ。 まぁつまり解決法はあると。 http //www.crytek.com/download/Triangle_mesh_tangent_space_calculation.pdf という訳でこれを淡々と実装しただけ。 早い話がUVが急激に変化してたり判定してるとこは素直に頂点を分割(複製)しましょうねと。 えっちょっと待った。前にバンプマッピングした時は? と思ったら、たまたまそういうメッシュを作ってなかったかいきなりテクスチャ貼り付けたから 気付かなかったんだろうね。当時適当だったからね。 すこしソースを整理したら次は予定通りDeferred Renderingに入りたい。 (2015/12/09) バイラテラルフィルタ。 一言で言えばエッジをぼかさないガウスフィルタである。 水彩画っぽい感じにはなるがこれ単体でというよりは 例えばSSAO(Screen space ambient occlusion)をやる時にノイズが載った演算結果を平滑化するとかの中間処理で活躍しそう。 暫くこんな調子でシェーダーの復習が続く予定。 次はバンプマップかなー、でも今ForwardRenderingだけど近いうちDefferedRenderingに移行したいから Forwardも程々にしときたい。 (2015/12/07) 何の変哲もない、普通のキューブマップシャドウと 前に一度やってた、これまた論文通りの分散シャドウマップ つまり今回も特出した結果は出せていないという事だが、まあ中身は色々変わっているので自分的には良し。 この調子でバンプマップ、視差マップ、水面、ライトブルームといった感じで復習を進めていきたい。
https://w.atwiki.jp/slice/pages/31.html
エリア別の判定(2008/07/02) 的のエリア別の判定ってどうすんだろう?って疑問というか課題が以前からありまして。 真ん中撃ったら高得点でその周りはそれなりでという感じの。 的が円形だったら中心点と着弾点との距離を求めれば出来そうだけど、人の形の的だったらどうすんの?と。 まさかその形のポリゴンを配置するわけにはねえ。面倒だし。 じゃあ何だ、エリア判定用のテクスチャを用意しておいて着弾したら着弾したポリゴンの情報を持ってきてUV座標を自前で求めてエリアテクスチャ(ビットマップ)をこれまた自前で読み込んでさっきのUV座標でサンプリングするってのはどうだ?と。 結果を申し上げますとうまくできました。あでも、計算効率の云々はナシで。 その苦労の様子をスクショのページに幾つかあげておく。 小中学校でやるような直線と直線の交点計算で一苦労、UV座標を特定するのに二苦労と。 プログラム組むくせに数学がダメってのもなんだかなあ・・・ 近いうちに数Cと数3をマスターしてリベンジしてやるぞ。 逆に言えば数学殆どわからなくてもベクトルの内積外積と行列と補間がわかれば結構イケてしまう物ですよ。 内部処理(2008/07/05) ちょっとギミック追加。 スイッチを押すと確認のために射撃の的が近くまで移動するやつ。あれです。 やっとスクリプトが使えるようになったか、ならないかって感じ。 それだけなんだけどいつもの様に苦戦。 スクショ撮っても静止画じゃわからんし。もういいさどうせ見た目変化ないですよーだ 動画の事(2008/07/06) 前のから2ヶ月以上経ってるし えーかげんに動画あげたい! が、見た目で変わった事といえば的を撃ててスイッチ押したら的が手前に動くようになっただけだ! あとは銃と手の同期もしたな。 デバッグ支援機能として変数エディタ&モニタも実装したな。 結構加わってんじゃん。 じゃあ作れよって感じなのだが、これがなかなか。 自分的には一つの動画に全力を注ぐスタンスでやってます。 当然作り終わったらバタンです。 それはたとえば動画を見ていて飽きないようにテンポ崩れてないかチェックしたり 印象に残る場面を設定したりネタを仕込んだりといった事。 動画の流れも何回か練り直したり。あんなのでも修正に修正を繰り返した結果なんですよ。 あ、3番目の動画でストーリー付いたかな?という雰囲気だけどあれ全部動画作る際の思いつきです。 この機能が実装されたからあんなことが出来るな、じゃあそういう話にしようみたいな。 そしてこれからもストーリーはすべて思いつきでやっていこうかと。 話が矛盾していても展開が強引でも知らん。 ちなみに動画の尺も一つ3分前後にしようと決めています。 自分の直感でこの長さになりました。このくらいがダレずに見られるかと。 ドアドア(2008/07/08) ってことで自動ドアを作ろうかと模索中。当分は開けたドアがキャラクタに衝突することのない スライド式の自動ドアで。処理が簡単そうだし。 単純に考えるとキャラクタが近づいた時点で開ければ良いだけだけど。 やっぱりやるからにはロックされてたら開かないとか、片方開いたらもう片方は閉まるといった ギミック的な物をやりたいわけですよ。 そんな処理を自作スクリプトでやるつもりなんですが。 ちょっと凝った仕掛けをランダムマップでも取り入れたいので。 まだ仕様を考えてる最中なんでなんとも。 考え事だけ(2008/07/09) 今日は自動ドアの衝突判定の管理とかを思案してただけなんで、プログラムやモデルは一切弄ってませんでした。 したがって進んでないっていうか。 あとはgame programming gemsっていう有名と言えば有名な本をパラ見。 この本は今は6くらいまであったハズですが1と2の2冊しか持ってません。 だって結構するんですよ。一冊12000円也。その分内容も濃いわけですが。 役に立つとはいえなかなかポンって買う気にならんよな。 英語版だと半額くらいなのだが。日本語でも理解に必死なのに英語だとどうなるんだと。 試しにGPU Gemsの英語版買ってみたら辞書があれば割と読める感じだったから前者のほうも大丈夫なんだろうか・・ 自動ドア続き(2008/07/11) はい、自動ドアの続きでございます。 実装中。。 主人公はじめその他のキャラが一定範囲内&キャラとドアをつないだ線分が壁に衝突してない時に開く、と。 衝突判定の管理がずさんなせいで軽くコードがスパゲッティしてるなあ。 まあ今日も夜中まで頑張りますよ。 私のゲームに対する諦めの悪さは一級品だ。 無題(2008/07/12) 自動・・・ドア・・・・(バタッ) まだだぁーまだ終わってなぁあぁああっぁぁぁあい ごめん今日はあんましやる気出ないっす。って誰に言ってんだか。 やる気ない日でも少しは作業してるけど高が知れてますね。まあいいか。 自動ドアがもう終わりそうなので次はスイッチかな。 ボタン押したらボタンが凹むとかどうしようかと。 Frieve Editor(2008/07/14) なかなか仕様が定まらないときは大抵何が問題点なのかがハッキリしてない場合が多いので 自分の思考をまとめるのにFrieve Editorというツールで、マインドマップの様な手法を使ってます。 どんな見た目のツールかはスクショのページに無断リンクもあります。 フリーソフトなんで興味を持った人はどうぞ。 このツールの前はFreeMindっていうこれまたフリーソフトを使っていたけど 一度間違ってノードを全消ししてしまい、更にそのまま終了したら勝手に上書きセーブされてて 上書きするなら確認メッセージぐらいだせよとかキレた事があるので変えました。 射撃練習用の的(2008/07/18) 要するに射撃の的が左右とか色々動くようにしたい。 的の種類も何種類か用意したい。 今回はマップは固定で、的が出る場所とか順序は今後のランダムマップの布石にとランダムでやってみたい。 まぁそういうことです。 的のグラフィックは、へたくそながら描きました。白黒の線で書かれたベクターグラフィックスみたいの。 ここ2日の作業はそれです。 一種類でいいじゃんという意見もあるかとは思いますが。 問題はどうやって的の出現パターンをランダムにするか。 今考え中・・ 射撃場マップ(2008/07/19) 予定している射撃場っぽいマップですが・・ 今回はマップ自体は固定で行こうかと。で的の出てくる場所とか的のタイプをランダムにしようと。 後々ランダムな割合を増やしていく予定。いきなり全部という訳にはなかなか。 動画だけなら面倒なことせずに完全固定のスクリプトで良い気がしますが リリースの時にチュートリアルモードとして搭載する野望もあったりするんで。 でもプログラムを配れる日はいつになるやら。 射撃場イベント(2008/07/20) 自作スクリプトの仕様追加とか。 どうも射撃場の的がランダムに出てくるイベントを作るのに必要っぽいので 変数形式にリスト(配列みたいの)を追加してみるつもり。 FrieveEditor上で作業してただけなんでこれから実装ですよ。 色々追加してると思う事。 スクリプトの拡張をしすぎて「んじゃあC言語で書けよ!」という事態だけは避けたいな・。 SCWebCam(2008/07/21) たまに作業中のデスクトップの画像が半リアルタイム更新で置いてあるホームページを見かけることがあります。 面白そうだから自分もやってみようか。作業中のさぼり癖が防げるに違いない。 とはいえうっかり個人情報とか表示しようものなら・・とか思うと怖い物があるのは事実ですが。 ネットでそれっぽいソフト探したらSCWebCamっていうフリーソフトがあるようだ。 動作は単純で、設定した時間ごとに自動でデスクトップをキャプチャしてその画像をFTPサーバにアップするだけ。 後はアップした画像をホームページなり何なりにタグ記述。 大学の研究室や会社とかで部屋全員のデスクトップが一覧で見れるページ用意してこれやったら面白いだろうな。 強制されたら嫌ですけどね!あくまで自主的に参加の形で。 で、自分がやるとしたら土日だけにしようか。 そのうちページにさりげなく張って飽きたら削除しそうだけど。 自作Cam(2008/07/26) というわけで、自作してみました。 一定間隔でスクショ撮ってサイズ縮小してJPEGに変換後にFTPサーバに送信するプログラム。 一番苦労したのは縮小処理ですね。 lanczosアルゴリズムを使用したのは良いけれど結論を先に言うと係数設定が不適切で 最初はニアレストネイバーみたいになってしまって全然綺麗じゃ無かったんですが、 試行錯誤の末になんとか手持ちのPhotoImpactのバイキュービックに近い結果が出せました。 lanczosの補完関数にsin()を使っているので速度が微妙っぽいですが、 当分は自分で使うだけなので最適化云々はそのうちでいいかと。 先が見えない(2008/07/29) 今日も今日とてチマチマと作業を続けるわけですが。 なんか全然ゲームできてる感じがしない。作業自体はこなしているのだけれど。 作業を階段に例えると理想としては階段が均等な段差で ある程度作業したら結果が出てという感じで一歩一歩上っていけるといいんだが、 な~んか今の状態だと10cmの段差があったと思ったら次は背丈ほどの高さがドカンみたいな。 非常にムラがある。 うまく作業を割り振ってコンスタントに目に見えて結果が出せるようにする能力(なんだそりゃ)が欲しい。 良いぞ(2008/07/31) ここんとこ連続熱帯夜だったから今日は久々に涼しくて良いぞ。作業が進む。 作業は進むけどスクショは出ないぞ。見た目かわらんからなぁ。 的を事前に設定した何種類かのランダムな座標にこれまたランダムな的の移動パスを割り当て 的が移動した後にパタンと倒れて消えるってトコまで出来ました。 相変わらずメモリリークありますがね!的を作るごとに微妙にメモリのゴミが。。 直そうとちょっと頑張ったけど今頑張るとムダにコードがスパゲッティになるからやめた。
https://w.atwiki.jp/slice/pages/9.html
関連ブログ @wikiのwikiモードでは #bf(興味のある単語) と入力することで、あるキーワードに関連するブログ一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_161_ja.html たとえば、#bf(ゲーム)と入力すると以下のように表示されます。 #bf
https://w.atwiki.jp/slice/pages/128.html
(2015/02/27) 当たり判定 当たり判定マネージャのコード読んでコメント加えたりした。 んー、とりあえず変にメモリ節約を意識しちゃってるせいで読みにくいわ、メソッド名が紛らわしいor意味が通ってないわで微妙な印象。 その割にはあんまり速度的な貢献が無さそうなとこが、ねぇ あと常識的に考えてビックリだけど当たり判定ルーチンにテストコードがついてない。 いや、2年前だから当たり判定に限らずテストコードを書く習慣自体なかったんだけど。 今これは不味いよなぁ… すぐどうにかしなければ駄目というものではないけどGoogleTestで使う部分、2DのGJKのテスト位は書いておきたい。 ま、そんなとこです imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 (2015/02/26) 2年前 絵のほうばかりやっていて、と思われてそう(いや、半分くらいその通り)だが ちゃんとプログラムの方も進めている。伸び伸びになってる剛体物理に向けて… で、今はコリジョンを管理するコリジョンマネージャの整備をしている。 コリジョン関連のコードは履歴を見るとまともに機能追加したのが実に2年前(!)で、 当然内部動作など覚えてなかったのでざっくり読んだ所、同じようなインタフェースを複数定義していたりまどろっこしい書き方になっていたりと設計の無駄が多いと感じた。 まずはコードを読みながら使える部分の取捨選択とコメントの付加。 大量の物体を出す予定はなく、物体を円で衝突判定した上で個々の詳細判定ができれば十分なので今はそこまで出来ればOKとしたい。 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 (2015/02/12) 以前「漫画は手間かかるから、やるとしたら線画の4コマかな」と言った通り、4コマを描いた。 前々からやろうと思ってたネタが丁度twitterでお題だったので、丁度いいなと。 絵自体は白黒だし特に書くこともないが吹き出しと活字を使ったのは始めてで、 魅せ方を考えるのも結構難しかった。 あと前回の反省を踏まえ、如何に絵を使いまわすか?という事も視野に入れた。 4コマといえど全部描いているとそれなりに時間かかってしまうからねぇ‥ 今回はまんまだったが次は人物だけとか、素材に拡大縮小回転を加えたりとかで部分的に使いまわすのにも挑戦したい。 (2015/02/08) 背景にドラゴンいるやつとは別にまた新しく絵を描き始めてしまうという。 なんか、その日の気分で進める気になったりならなかったりするんよね。 ひたすら絵を描いていると特に自分の場合 色々付け足して無駄に分量が増える=一枚の時間が長くなる 傾向があるようで (絵に限ったことではないのだけど) そういった時にずっと同じ絵で作業してると飽きてしまう。 飽きたらどうするかと言えばプログラミングを進めるか、描く対象の資料集めや練習と称して適当な写真の模写を始めたりする。 で、模写をしている内にふと 「写すだけもなんだし、ちょっと角度変えてやってみるか」 「背景も足してみようか」 等と思いつき、色々やってると最終的に 「折角だからシチュも考えて一枚の絵にしてみようか」 となる訳である。というか、今までのデジタル絵は殆どこのパターンだったりする。 例えば一番最初のエレビッツ、あれも最初は一匹だけのつもりだったし wheatleyも、虎さんもそう。 ヌマクローに至っては漫画しかも2ページになった。 まぁ、漫画形式はあの件で懲りたので当分無しとしても 描いてる本人にさえ予測できないとこがなんとなく面白いので 今後も思いつき方式でやっていきたい。 大体「あ、やばいこれ描いたこと無い」 - (資料集め)- 「むずい」- 「練習しないと」- (別の構図が浮かぶ)- (そっちを描き始める) とかなって 時間かかるけど… 現状: 気力的に完成まで漕ぎ着けそうな物がモブドラゴンの奴と、今やってる奴の2枚。 その他怪しい物が4、5枚。 ゲーム ちょこちょこ一応進めてはいるがお察しください状態。 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 (2015/02/01) 前にも書いたけど、ここ最近絵の方が楽しくて困る。 純粋に描く楽しさと言いますか。 描くという行為自体も、元となるシチュエーションを妄想するのも楽しい。 プログラミングもね、最初は絵と同じように自分の書いたプログラムが動くだけで楽しかった。 でも、何年かやってれば腕前はともかく自己評価が「できて嬉しい」から 「まぁ、この位は当然だよな」みたいになる事が多くって、 モチベーションが中々上がらないのも事実。 たまにC++のリファレンス見て勉強したりもするけど若干の義務感も混じってたり。 プログラム ま、それはそれとしてプログラミング関係で現在取り組んでる課題としては 自作ライブラリで「とりあえずゲームループを動かす」だけ等の、 簡単な事をするのが簡単に出来ないという事。 自分で言うのもなんだがリソースのパス登録から始まりゲームスレッド用のアップデート関数に描画スレッド用の関数、 ゲームシーンクラスの定義と、とにかくお膳立てが多い。 これらは全くの無駄な記述という訳ではないんだが、初めてWin32APIを勉強した時のような 「ウィンドウを開いて単色で塗りつぶしたいだけなのに何で100行近く書かなきゃならんのだ」というアレに近い。 動作のカスタマイズに対応する為に色々設定できるようになっているものの 実際問題そんなに使われないので結果、シンプルさを阻害する役にしか立ってないという。 カスタマイズ用の関数なんて普段は存在すら意識させず、カスタマイズしたいと思った時に調べられれば良いのだ。 そんな訳で実は以前にヘルパークラスを用意してはいた。(prochelper.hppが一応それ) しかし自分で試しに使ってみた結果、ヘルパークラスのヘルパークラスが必要なようだ… 絵 多分みんな同じような感じだろうと思われるが、下書きばかり溜まってく現象が発生中。 絵の工程が大まかに 下書き、墨入れ、塗り という流れだとすると やっぱり無から有を作り上げていく下書きの段階が一番テンション上がる作業な訳で、そこで満足してしまう部分はある。 まぁ最後までキチッと完成させるのも大事で、仕上げたら仕上げたでやってよかったとなる物だけどそれなりの時間はかかるし。 現時点で下書きは5枚ほど。 このうち完成に漕ぎつけられるのはどれくらいかわからんが、折角だしちゃんと体裁を整えてから公開したい。 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。
https://w.atwiki.jp/slice/pages/115.html
(2014/03/30) で、でた〜、色々手を出して進捗してない奴〜 Blenderを触る 自分が持ってる3ds maxもなんだかんだ言って古いバージョンだし 前々から気になっていたBlenderというソフトはどうなんだろう・・という事で、ちょっと触ってみたり。 まだ初日だから何も言えない。無料のソフトとしてはかなり高機能(元々売ってたのを有志で買い取ったとか、なんとか・・) 中でもスカルプト機能がお気に入りで適当に土を盛ってるだけでも楽しいが、ちゃんと作ろうとすればムズイだろうな。 本当に触っているだけなので本格的に使うかは不明 非同期ファイル読み込み ファイルの拡張子でリソースを判別して読み込むだけのはずが、シーンごとのリソース管理を考え始めていつの間にか別スレッドで非同期読み込みをしていた。な、なにを言ってるか(略 いつの間にか前のプログラムが動かなくなってた 多分環境を構築しなおしたせいだろうけど、 OpenALでサウンドデバイスが開けないとか(OpenALのビルド時にALSAやpulseaudioのヘッダなどがインストールされて無くて無効になってた) ビデオドライバがOpenGLに対応していない(SDLを最新のリビジョン取ってきてビルドし直したら動いた。よくわからん) PNGやJPEGが開けない(SDL_imageのビルド時にバージョン決め打ちでlibjpeg8がリンクされていて、こっちのブログラムではlibjpeg9がリンクされエラーになってた。pngも同じ) あと、エフェクトファイル(HLSLにおけるFxファイルみたいなの)の文法変えてないしファイルもそのままの筈だけど 実行時に文法エラー出る。直さないと。 なんか、土台ばかりやってて全ッ然ゲーム制作してないね。 始めてもないじゃん、という・・ (2014/03/20) Android対応も一段落し、スクリプト制御のオブジェクト生成やらシーン管理やらは動いてるので ここらでサウンドでも鳴らしてみるかーと、思ったらそのような物が無かった。 そもそもリソース周りをどういう設計方針で行くか忘れかけていたのでもう一度確認してみる。 リソース自体はスクリプトからアクセスできず、あくまでハンドルを扱うのみ モデル描画したりサウンド鳴らしたりなんてのは専用クラスに任せる シューティングならシューティング用に設計したサウンドクラス等 リソースをファイルパス指定で1つ1つ読んでいたのでは管理が大変なので別途ファイルにリソースブロックとして記載し、これをインポートして一括読み込みする 「別途ファイル」もLua形式であり、単なるテーブル(配列)にURLを文字列で並べるだけ 2ブロックの差分とって必要なリソースだけ追加読み込み対応の予定 -- Resource.lua -- リソースブロック定義 Block = { modelA = "path/to/modelA.mdl", modelB = "path/to/modelB.mdl", seffect = "sound0.wav", music = "music0.ogg", -- あと色々 } -- Main.lua -- リソースブロック読み込み local block = ResourceManager loadBlock(require("Resource.lua").Block) -- 敵モデルをセット enemy.setModel(block.modelA) -- block.modelAには"path/to/modelA.mdl"のリソースが入ってる -- サウンド再生 soundmgr.play(block.seffect) -- block.seffectには"sound0.wav"のリソースが入ってる で、リソースハンドルが格納されたblockテーブルは通常、Sceneクラスが持っていて場面によって必要なリソースを読み込むと。 別にリソースのリストだけ別ファイルにせんでもSceneクラス定義に一緒に書いてしまっていいかもしれない。 そんな感じかねぇ。あとはやってみないと分からん。 (2014/03/17) clangとAndroid 先週辺りから自作プログラムをAndroid用にコンパイルする試みを、ずっとしている。 Boostに始まり各種libogg, libfreetype2, libSDL2...なんかのライブラリをビルドし うっかりOpenGL ES2には無いAPIを使ってエラーが出ている箇所を修正など。 OpenSLのシリアライズ処理を書いてないのにコンパイルが通って「あれ?」っと思ったが よく見たらOpenALやOpenSL依存のルーチンをそれぞれ別クラスに隔離していて、 シリアライズは共通クラスだった。後はちゃんと動いてくれればいいが・・ コンパイラもgccではなくclangを使う様に変更。 今までそうしてなかったのは正直言ってclangでどのようにクロスコンパイルするか設定などがわからなかったから。 別にgccでもプログラムの動作は変わらないのだが多分boost spiritの影響で 1プロセスで1.8Gも行くと4つ並列に動かしたらビルド用にメモリが7.2Gは必要な計算。 gvim(clang_complete)やリファレンスを見るためのブラウザに現在1.6G程度使っているので、全然足りない。 ま、プロセスを2,3程度に制限すれば良いとも言えるがそれだとクアッドコアのCPUが遊んでしまう。 だったらこの際メモリ消費が半分以下で済むclangを試してみようかという事で。 結論から行くと Arm5Teの場合 "clang++ -target arm5te-none-linux-androideabi --sysroot=(NDKのplatformヘッダのパス) --gcc-toolchain=(NDKのgccツールチェインのパス)"とオプションを与えればクロスコンパイル出来た。 自分のケースではNDKを/opt/adt-bundle-linux-x86_64/ndkにインストールしているのでArmアーキテクチャ向け,Android API Level 9以降を対象とすると clang++ -target arm5te-none-linux-androideabi --sysroot=/opt/adt-bundle-linux-x86_64/ndk/platforms/android-9/arch-arm --gcc-toolchain=/opt/adt-bundle-linux-x86_64/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64 のようになる。 なんでnone-linuxなのかはよく分からんっていうか普段PC用にコンパイルするときの i686-pc-linux-gnu なんかの指定も内部動作をほとんど知らないまま使ってるので、これについてはなんとも。 ちなみに Androidに付属している (NDK-Path)/docs/STANDALONE-TOOLCHAIN.html を読むとスタンドアロンで動くツールチェインセットを生成することができるが、 見た感じ手間はNDK内のパスを指定して動かす場合と比べてあまり変わらないっぽいし 同じファイルをディスクに2つ3つ置きたくないので自分は上記の設定で直に使ってる。 (2014/03/10) LUbuntu13.10のアレコレ サスペンド失敗する問題 カーネルの自前コンパイルしたらサスペンド(電源OFF)するまでは行くが、相変わらず復帰に失敗。 なにやらfglrxがどうのとかエラーメッセージが出るのでドライバを最新版やBeta版に変えてみるも改善せず。 LUbuntuのログアウトウィンドウでサスペンド・・ではなくコマンドラインで sudo pm-suspend --quick-s3-mode とやるとちゃんとサスペンド&復帰ができるので 少し手間だが当分これで行く。 pm-suspendの代わりにpm-hibernateを使うとハイバネーションで pm-suspend-hybridはHDDにRAMの内容を書き込んでサスペンド状態へ、復帰時にRAMの内容が残ってたらそれを使い 消えてたらハイバネーションと同じ動作って事だろうか? ibusのmozcが全角カナ入力になってしまう問題 どうも、Alt + Shiftを押すとなってしまうっぽい。 これはキーバインドにも載ってないので解決方法が分からんけど、とりあえずもう一度Alt+Shiftを押せば戻る。 ibusのmozcでキーバインドを変えても反映されない問題 IMを使うアプリケーションを再起動かと思いきや、 ibus自体を再起動しなければ反映されなかった。コマンドラインで ibus-daemon -drx 等として手動で再起動 (2014/03/10) Boost 1.55.0のAndroid向けビルド BoostはそのままではAndroidコンパイラでビルドできず修正が必要なようで、パッチを作ってみた。 といっても http //yutopp.hateblo.jp/entry/2011/12/26/233059 ここの記事の通りやっただけ。バージョンが1.48.0と少々古かったので最新版で使えるよう微修正。 ページの一番下にリンクがあるのでもし良かったらどうぞ。 適用するには単純にboost_1_55_0を展開したディレクトリで patch -p1 boost_arm.patch とする。 後はb2で普通にビルドする。一応自分がビルドした時のオプション等をbuild_arm.shに書いてある。 1つ注意が必要なのは、ファイルの名前通りboost_arm.patchはarm用でboost_x86.patchがx86用なのだが x86の方はarm版の後に追加で適用する形となっている事。 あとNDKは64bit版を /opt/adt-bundle-linux-x86_64/ndk にインストールした前提で書いてあって、 これは各自tools/build/v2/user-config.jamを修正してほしい。 32bit版NDKなら androidPlatform = linux-x86_64 なってるところを androidPlatform = linux-x86 に変えるとかね。 実のところ gitでpatchを作るにはどうするか?適用は・・・とか、そういう自分の勉強が主だった。 つまりパッチはオマケ。 (2014/03/07) 進捗としては前回書いた項目の半分くらいだけどキリが悪いから次回ということで。 今回は単なる日記。 とりあえず「期間空いたけど残念ながらあまり進んでない・・・云々」と始めようとしたら mozcの日本語入力がうまく動かず記事を書く気力が激しく減退したものの、 僅差で「2週間も音沙汰なし」の後ろめたさが勝利。 自分でも何を言ってるのかよくわからんが。 色々あって環境(LUbuntuとWin8)の再構築をしている。XPはもういいかなという事で入れなかった。 このご時世だけどメモリを新調し合計8GになったのでMinGWでboost spiritとか使って 1プロセスのメモリ使用量が1G超のコードでも4,5個並列コンパイルでき、 ついでにLUbuntuも64bit版にしてみたのでもし2Gを超えてもエラーでgccが落ちることはないと思われる。 コンパイルにそんなメモリ食うコードは良くないと言われればそれまでではあるが・・ ライブラリ一式も64bitバージョンが導入され、32bitで動くプログラムを配布したい時の手間が気にかかる。 windowsの方は元々ゲームとモデリングが主な用途だったのでパッチのインストールとソフト突っ込んで終わり。 マザボとメモリ交換したのもあって認証関係でちょい躓いたがまぁいい。 問題はOSそれ自体より今まで書いたソースコードの断片だのメモ書きだのの整理が面倒で先送りにしていたツケが回ってきた事。 どうでもいいファイルばかりだからフォルダごと消そうか・・・と思いきや大事なメモが〜とか、 逆に大事なプロジェクトフォルダの周りにゴミが散乱してたり。 そもそも、用済みのメモ等を消すのが忍びなくて放置してるのが元凶かねぇ 大事なファイルだったらgitで管理すればいいんだろうけど自分の場合、 最初は一時的なメモとして書いていたけどそのうち文章が増えてって気づいたら・・というパターンも結構あるから悩ましい。 何でもかんでもgitするとそれはそれで邪魔。う〜む、これといった解決策が思いつかん。 #追記 LUbuntu 13.10 64bit版にして良かった点 64bitなプログラムを書ける(本当は使えるレジスタ本数が増えて速くなってるはずだが、測ってないのでよくわからん) 起動時間が前の半分か2/3くらいになった (LUbuntu 12.04 32bit版と比べて)悪い点 コンパイルする際にライブラリの準備、管理が少し面倒 マザボ依存っぽいが、サスペンドからの復帰に失敗する。画面が崩れ再起動を余儀なくされる 英語版を入れたせいか、日本語入力が不便(12.04でも英語版だったがこちらは問題なし) 一番困るのは不意にmozcが全角カタカナモードになってなんのキーを押しても戻らない事。 この時何故かScrollLockランプが点灯し、キーを押しても解除はできない。 戻すには一旦ログアウトしなければならず、大変不便である。ググッてもそれらしき症状の人が居なくて手詰まり。 mozcのキーコンフィグも効かない。GUIで設定を変更しても反映されてないという・・ 他にはキーボードのリピート間隔設定も相変わらず反映されない。調べたところバージョン8くらいからずっとで、もう何年目だろうか。
https://w.atwiki.jp/f_tps/pages/22.html
開発元一覧 Bungie Studio EA Los Angeles Epic Games FASA Studio Free Radical Design id Software Infinity Ward Treyarch サンドロット 343 Industries 発売元一覧 スパイク D3パブリッシャー
https://w.atwiki.jp/f_tps/pages/3.html
更新履歴 取得中です。
https://w.atwiki.jp/f_tps/pages/113.html
Halo3 ODST(ヘイロー3 オーディーエスティー) キャンペーンモード あり マルチプレイモード あり(Disc2にHalo3のマルチプレイ部分のみ収録。ODSTでの対戦は不可能。) オフラインマルチプレイ最大人数 通常4人。本体4つ使用のシステムリンクで最大16人。 マルチプレイ時のBOTの有無 なし マルチプレイステージ数 デフォルトでは21種類。 マルチプレイルール数 基本9種類。細かくカスタム可能。 Coop あり Coop最大人数 通常2人。システムリンク使用で最大4人。 オンラインマルチプレイ あり オンラインマルチプレイ最大人数 16人 オンラインCoop あり オンラインCoop最大人数 4人 コントローラ設定 上下リバースあり。感度調節あり。 Halo3のスピンオフ作品。 従来のHaloトリロジーでは強化兵士であるマスターチーフを操作して戦ってきたが、今作ではより一般兵に近い特殊部隊ODSTを操作する。 そのため、従来のシリーズとは異なり、操作キャラクターの耐久度が低かったりする。 Disc1はキャンペーンとFireFightモードを収録している。 キャンペーンは、Halo2の頃のニューモンバサが舞台。 Disc2ではHalo3のマルチプレイ部分を、DLC追加マップを含めて全て収録している。 こちらはODSTは一切関係ない。 動画 トレイラー(英語版) 操作方法 ボタン 対応する行動 備考 十字キー上下左右 フラッシュライトのオン・オフ 左スティック上下左右 移動 右スティック上下左右 視点移動 左スティック押し込み 押しっぱなしでしゃがみ動作 右スティック押し込み スコープズーム Lボタン(LB) グレネード切り替え/左手武器リロード/長押しで左手に武器を拾う Lトリガー(LT) グレネードを投げる/左手武器発射(左手武器所持時) Rボタン(RB) 右手武器リロード/長押しで右手に武器を拾う/スイッチなどのアクション Rトリガー(RT) 右手武器発射 A ジャンプ B 殴り X バイザーモードのオンオフ Y 武器の切り替え START ポーズ BACK 戻る/マルチプレイ時にスコア表示 キャンペーンのデフォルト。 ボタン一つ一つにキーコンフィグで機能を割り当てることはできず、数種類の操作方法から選ぶことのみ可能。 関連リンク 公式サイト Haloシリーズ(シリーズ解説)