2008-11


戻る

2008-11-02T01:36:49 (Sun)

プロジェクト一旦ご破算にしたよ

冬コミかコミトレ用に…と思って C++ とかで作っていたゲームを一旦無かったことに.

ねみぎエンジンおいしいです ^q^

2008-11-03T11:01:45 (Mon)

引き続きねみぎエンジンおいしい

アクターの作成がラクチン過ぎて非常に楽しい.

それとスクリプトで書いてるとやっぱり「作る→見る」のサイクルを繰り返しやすい.こういうのはプログラミングする環境の大切な要素の一つっスねー^^

2008-11-05T13:57:19 (Wed)

vi エディタ

最近これもきちんと使えるようになろうと頑張ってます.そこでお世話になっているサイトを紹介兼メモ.

viを使い倒そう

vi操作手引き

vimで効率的にコードを書くための小技 (bonar note)

調べれば調べるほど,VS とか Eclipse とか使う価値なくね? (※あくまでエディタ的な意味でね) なーんて思ってしまいます(^^;

2008-11-08T10:37:35 (Sat)

Twitter 私的メモ

配色のデフォルト設定

background : #9AE4E8
text : #333333
links : #0084B4
sidebar : #DDFFCC
sidebar border : #BDDCAD

2008-11-13T10:56:18 (Thu)

merge と concat のイメージ

ちょっと前に Twitter で sue445 さんと「リストの連結的な操作を表す英単語は merge と concat どっちがいいだろう?」みたいなお話をしたことがありました.それで何故か今日ふとそれを思い出して,そして以下のようなイメージが頭に湧いて来ました.



メモ代わりということで.ちなみに正しいのかどうかは一切保証しませんよ (*^ー゚)b

2008-11-13T11:04:35 (Thu)

スクリプト言語による効率的ゲーム開発 C/C++ への Lua の組込み実践

スクリプト言語による効率的ゲーム開発 C/C++へのLuaの組込み実践という本を買って読んでます.

つい先日,作る→見るのサイクルが短いのはやっぱりゲーム開発にはいいよねー,なんて日記を書いたら,もうこんな本が出ていたようでw

2008 年 10 月初版という,凄く最近に出た本です.スクリプト言語を取り巻くゲーム製作現場の現状を記したと言っても過言ではないかと.(※最先端には非ず)

現在 4 章まで読んだのですが,あちこちにゲームを作ったことのある人にとっては凄くあるある~系のお話が多くて面白いですw

2008-11-13T16:03:39 (Thu)

STL はまだまだ調べる価値あるねー

STLは便利♪ (東方算程譚)

いやはやw std::next_permutation なんて,まったく存在を知りませんでしたよw STL にはまだまだ色々ありそうで怖いっスなぁ(^^;

機能の詳細は STL Algorithm詳解 - 順列 を見るといいでしょう.

2008-11-17T22:44:05 (Mon)

Twitter 飽きた?少なくとも私は全然飽きてないよ

Twitter飽きた (はてな匿名ダイアリー)

というエントリに対して,

Twitterは今も昔もそんなに変わってない (北の大地から送る物欲日記)

というエントリ.

私も繰り返して言うけど Twitter 楽しいよ.前も言ったけど,まずは 100 人フォローするところから始めよう!もちろん誰彼構わず 100 人てわけじゃないよ?見ていて面白いな,と思った人を,遠慮なくフォローしちゃえばいいのです.

2008-11-18T09:21:17 (Tue)

カービィ USDX ヘルパーマスターへの道

ヘルパーマスターへの道 3:42:79 (テイルズ@日本語でおk)

ボンカースでめちゃくちゃ速い人を発見しました. (via Twitter / rancorcool)

一応全キャラクリアは達成してます.けど,またタイムアタックもちょっとは頑張ってみようかなー,なんて思います. (かなり大変だろうけど (^^;

2008-11-19T01:28:02 (Wed)

0-origin と 1-origin

ちょっと Twitter 上で話題に上がって微妙に議論がありました.間違いなく発端は私w

最初,Lua は配列が 1 スタートぎゃああ!という内容の POST に対して私が「1 スタートいいよ,こっちのが自然だよ」と返したことが始まりでした.

で「1-origin とかねーわwwww」という発言に対して私が「しかし自然数というものに基づくならやはり 1 スタートで然るべきでしょう><」と返していると,何やら 0 もペアノの公理では自然数に含まれるとの意見が…

ここで私は「は?」と思いました.高校を出てから今まで,自然数は 1 から始まるものだとずっと考えていたからです.

しかし Wikipedia でペアノの公理と自然数の定義の項を見てみると,確かに 0 も自然数とするとの記述が.そして同時に「1 をスタートとする流儀もある」のように,いかにも異端のように私の考えも書かれていましたw

が,ペアノの公理がどう叫ぼうと,やはりその時点では私は 0 スタートに馴染めませんでした.というのも,どうしても 0 が自然な数だと考えられなかったからです.

0 を自然数と考えない,この場合の自然数の覚え方を紹介します.

まず,数を数えることを覚えた幼児に空のお皿を見せます.そして「りんごはいくつあるかな?」と聞きます.すると恐らく幼児は不思議そうな顔をして「りんごなんてないよ?」と言ってくるでしょう.もしくは答えに困るでしょう.

「0 個あるよ」という答えは,引き算によって 0 を“習って”初めて出来るようになるのです.

つまり,このことから分かるように「0 は不自然な存在」なのです.よって自然数には含めないと.

また配列の添え字を 1 スタートにすることにもう一つメリットはあって,配列を逆から走査する際,unsigned int と for 文を使って

for (unsigned int i = n; i >= 0; --i) { a[i]; }
訂正 : for (unsigned int i = n; i >= 1; --i) { a[i]; }

と書けるのです.0 スタートだとこうは行きません.せいぜい,

for (unsigned int i = 0; i < n; ++i) { a[n - 1 - i]; }

もしくは

for (unsigned int i = n; true; --i) { a[i]; if (i == 0) break; }

でしょう.中々簡潔とは言えません.

また,数列も基本は 1 スタートです.それと配列が対応している方がスッキリしていると言えばしているではないですか.

for (unsigned int i = 1; i <= n; ++i) { a[i]; }

こう書けば,まさに「1 番目から n 番目までの n 個の走査」という処理が明言されているではないですか!

これが 0-origin だと配列が a[0], a[1], a[2], ... a[n - 1] で n 個の要素を持つということになるのです.この微妙な n - 1 と n の不整合をどうしてくれましょう?

…というところで 1-origin にやはり固まりかけていたところです.

ここで末尾要素へのアクセスネタが出てきました.

Ruby や Perl には a[-1] で配列の末尾要素にアクセス出来るという仕様があります.そうすると,1-origin では末尾要素は a[0] となります.

ここで剰余の問題に行き着きました.1-origin で 1, 2, 3, 4, 5 だと,5 の剰余をとると 1, 2, 3, 4, "0" になってしまいます.この不整合には困りました…

そこでこの問題の本質に気付きました.結局「順序」と「個数」の概念の違いなのだと.

つまり,先頭から並ぶものを順番に,0 番目,1 番目… と数えることは“可能”です.

事実,数列も 0 からスタートにすれば,等差数列は a_n = a + n * d が一般項になります.n - 1 という考え方をしなくても構いません.等比数列も同じく,a * r ^ n と表現できます.こちらの方がスッキリしているのは明らかでしょう.

しかし,個数に関してはこれと別です.0 番目というものが 1 個ある,という理解は変えることが出来ません.つまり 0 番目から n - 1 番目までで,合計 n 個あるということは,どう頑張っても変えられないのです.

そして,0 個ある = nothing と解釈します.0 番目すら存在しないわけです.

つまり,

(個数) : (存在する添え字)
0 個ある : 0 番目すら存在しない (特殊な状況)
1 個ある : 0 番目だけがある
2 個ある : 0 番目,1 番目がある
3 個ある : 0 番目,1 番目,2 番目がある

n 個ある : 0 番目,1 番目 ... n - 1 番目がある

という関係になります.

割と当たり前のことですが,改めて整理してみると案外いい感じに.

まとめると,自分が「0 番目の要素が存在すること」と「0 個の要素が存在すること」を区別出来てなかったわけでした.

そうして,やっぱり 0-origin が自然だな,という結論に.

ペアノの公理の言っていることが,間違いなく理に適っていると.

数を数えられるようになった幼児には,出来るだけ早く 0 個の概念も教えてあげる,と.そして,順序を 0 番目からスタートすることの合理性に,人生のどこかで気付かせてやるべきだ,とw

comments

たゆ (2008-11-26T10:00:02)

ポインタ的には

「先頭からx番目」

みたいに考えた方がわかりやすいから、配列要素は0スタートの方がいいなぁ、と思ってます。


ていうか議論が本気すぎるw

か (2008-11-27T01:42:29)

いや,結局その「何番目」というのを数えるとき,それがいいと感じると言うことは 0-origin の考え方が出来ていると言うことなのです.

やっぱり「個数」は 1 からスタートするのが自然 (0 個は不自然) なのですが,「順序」は 0 からスタートしても自然なのです.

2008-11-20T09:49:24 (Thu)

自分一人が読めるだけでは駄目です

Cはワンマン向け (神様なんて信じない僕らのために)

例えば C++ や Java でも,書き方が悪いとあっちに飛んだりこっちに飛んだりで全然意味が分からなくなる,ということはあります.他人のソースを読む機会というのが学部 4 年生になって割と極端に増えたのですが,やっぱり読みづらいことは多いです.

C 言語しか知らない人に,Java や C++ で読みやすい・理解しやすいコードを書け,という方も無理があると言えばあるのですが… うちの学科では Java しかオブジェクト指向なプログラミング言語は学びません.しかも 1 つの授業だけです.まともにやるのは C 言語だけです.

うちの研究室の過去の研究に用いられた Java プログラムなんかを読むと,public static なメソッドに溢れかえっていて何だコレはと目を疑いたくなることがしばしばありました.

しかし中にはオブジェクト指向をきちんと理解して書いているな,というソースもあったりします.そういうフレームワークがありました.

が,使う側がサッパリそれを理解していない.とある抽象クラスを継承して自分の実験に使いたい独自のクラスを作り,その中で run メソッドだけをオーバライドすればよい,というような状況なのに,フレームワークの Sample.java をそのまま使って,更には基底クラスに test1 test2 なんていうメソッドを追加したりして,もう何が何だか,です.

そしてそれを後輩に引き継がせようとするのだからもう大変 (^^; まぁフレームワークへの独自追加部分にはコメントが付いていたから追いかけるのは可能でしたが,二度とやりたくないです.

三日後の自分は他人,とはよく言いますが,しかしその他人は三日前にそのソースを読んでいます.眺めているうちに思い出すこともあったりするでしょう.が,本当の他人は読み始める時点で初めてそのソースに触れるのです.三日後の自分がかろうじて読めるような内容を他人に渡してはいけませんよ,そりゃあw

ということで,プログラミング言語に触って 3 年以上も経過しようかと言う学部 4 年以上の方々は,そろそろ,「何を作るか」だけではなく,「どのように作るか」も意識した方がいいのではないかなぁ,ということです.

…単なる愚痴日記じゃんよこれw

comments

たゆ (2008-11-26T10:07:24)

オブジェクト指向だと、プログラムの最終形がわかってた方が作りやすいです?

とりあえず作ってみよう!
みたいなのだと、処理だけツラツラ書いてく方が早いから…。

逆にどういうデータ構造で、どういう動作をするか、なんかが分かってたらオブジェクト指向の方がまとめながら作れていいと思うのだけど。

再利用性の高いプログラムを目指すことはいいことだと思います~。

うんまあ、難しいね。

か (2008-11-27T01:53:19)

オブジェクト指向云々の話もありますが,やっぱり本質は「他人が読むことを想定しよう」ということで.特にこういう,後に引き継がれる必要のあるモノなんかだと.

2008-11-27T01:30:32 (Thu)

イベントにサークル参加するための費用

同人イベントの1スペースはいくらでできているの? ()

四国や九州や北海道なんかに住んでいると,交通費・現地滞在費が特にとんでもないことになります.本州の人は羨ましいです (´ω`)

とは言え東京に住んでいるのかと思わせるような九州人が居たりもするようですが.

徳島はまだ大阪が近くて助かります (´ω`)

2008-11-27T01:33:44 (Thu)

とっても素敵な人を見つけました

Help me ひよりん!!

去年からずっとひよりんネタで絵と日記を描き続けている (※比喩無し) 方のブログです.

ひより (とそのサイドの方々) への愛が溢れまくっています.ちょっとやそっとの情熱ではここまで続けられませんよw (^^; 凄いです,ほんと.

もっと早くこのブログの存在を知りたかったです.今はとにかく過去ログを全部読みますよーww

2008-11-28T01:55:30 (Fri)

DS でひだまりスケッチのゲームが出るようです

【ゲーム】DS用『ひだまりスケッチ どこでもすごろく×365』2009年2月12日発売─ キャラクターを操作してミニゲームが楽しめる (2ちゃんねる)

これは買わざるを得ない!!

キャラゲーはクソゲー?関係ありません (^q^)

ゆのさん達が動き回るだけで満足という御目出度い脳の持ち主です (^p^)

でも卒論で忙しそうな時期ですねぃ… 多分関係なく買うんだろうけどw (^^;

comments

サモ (2008-11-29T09:27:51)

選択肢があるとするなら

「買う」か「購入する」か「商品を持ってレジに行き支払いを済ませぬくぬくプレイ」

のどれかだろう(^ω^)

か (2008-11-29T14:19:11)

(これはクソゲーですか?)
Is this an unk game?

(はい,買います.)
Yes, I buy it.

ということですね.余裕で買います (^ω^)

ティルス (2008-11-30T22:08:21)

これは買わざるを得ないww

か (2008-12-01T00:46:30)

おおー,ティルきゅん,こっちにもコメントありがとー!>< 嬉しいよ!

でしょでしょ?これは買わざるを得ないよねーww

2008-11-30T15:14:12 (Sun)

熱情の律動 耐久動画 (※主に作業用 BGM)





ヘェーラロロォールノォーノナーァオオォーのまとめ

    ∧_∧
    ( ´Д`)
  γU~''ヽヽ
   !  C≡≡O=亜  デンデデッデデレデンデデッデデレデンデデッデデレデンデデッデデレ
   `(_)~丿
       ∪
    ♪
      ♪  ヘエーエ エーエエエー
   ( '∀`)    エーエエー ウーウォーオオオォー
 ((と    つ  ララララ ラァーアーアーアー
(( ⊂,,  ノ゙
   (_,/,,
   ♪    /
   ___/ ♪
  [●|圖|●]  ♪
   ̄ ̄ ̄ ̄
    '∧ ∧♪  ♪  ナァォォォォ オォォォォ
    ( ;´Д`)/    サウェェェアァァァァ アァァァァ アァァァァ アァァァァ
     ♪         イェェェェェェェェェゥゥアァ…
   ♪    /
   ___/ ♪
  [●|圖|●]  ♪
   ̄ ̄ ̄ ̄
    _  ∩  ヘェーラロロォールノォーノナーァオオォー
  ( ゚∀゚)彡 アノノアイノノォオオオォーヤ
  (  ⊂彡   ラロラロラロリィラロロー
   |   |   ラロラロラロリィラロ
   し ⌒J   ヒィーィジヤロラルリーロロロ

私はもちろん 100 分と 10 分耐久しましたよ (・ω・) あなたは耐えられるかしら?

戻る