2008-02


戻る

2008-02-01T00:00:00 (Fri)

プログラミング言語経験値バトン

【記述方法】
人気順位. 言語名
(名前と概要を知っているかどうか)/(使ったことがあるかどうか)
(※備考:必須項目ではない)

1. Java
○/○
今勉強したい言語No.1
この言語ほど未来を感じるのも他にないなぁ.GC いいよ GC.

2. C
○/○
可能な限り使いたくない言語No.1(ぉ
カプセル化なら出来るが継承や多態性となるとどうしたもんやら,ということで使えねーって感じ.

3. (Visual) Basic
○/○
昔ちょっとだけ使ったことあり.BASIC とは別物だと信じてる(・ω・)

4. PHP
○/×
HTML に埋め込んで使えるんだっけ?使ったことは実はありません orz

5. C++
○/○
今使っている言語No.1
でもそろそろ delete を気にかけるのが嫌になってまいりました(・・;
あと本当に速さや実行効率を求められるプロジェクトに使ったことがない(というか今までそんなのに触れたことすらない)のでコイツの真価を発揮させたことはないです.
変態言語らしいっす.C++0x に超期待.

6. Python
○/×
Perl と Ruby とそしてこの言語,ってのがよく比較されてるような気がします.それだけしか知らない orz

7. Perl
○/○
読みにくいしクラスの仕様がちょっと気持ち悪い><;;のでこれを使うくらいなら Ruby を使いますw

8. C#
○/×
そういや使ったことないw ウィンドウズアプリケーションを作るときに凄くスマートらしいっすね(・・

9. Delphi
○/×

10. JavaScript
○/○
こないだちょっと弄ったばっかりです(・・; web ブラウザだけで動かせるって便利.

11. Ruby
○/○
Java に次いで未来を感じる言語.手作業ではちょっと手間のかかる処理をしたいときにいつも使ってます.つい数日前にも数十個のファイルにとある処理を施したいという要求がありまして,スクリプトを組みました.そんな風な使い捨てに向いているらしいっす.

12. PL/SQL
13. SAS
×/×

14. D
○/○
使えるといってもまだサンプルをちょっと動かした程度 orz
ゲームプログラマ受けを狙っている気がします.

15. COBOL
○/×

16. Lua
○/×
そういや結局 Lua 試してないな…

17. FoxPro/xBase
18. Pascal
×/×

19. Lisp/Scheme
○/×

20. Logo
21. ColdFusion
22. ActionScript
23. Ada
×/×

24. Fortran
○/×

25. RPG
26. MATLAB
27. Awk
28. Prolog
29. ABAP
30. LabView
31. Groovy
32. Transact-SQL
×/×

33. Smalltalk
○/×
D&E でよく出てくるのでw

34. Bash
○/○
プログラミング言語…?(・・; シェルスクリプトが組めるってことなら.

35. Tcl/Tk
36. Haskell
37. Forth
38. CL (OS/400)
39. Natural
40. ML
41. Focus
42. Ch
43. PL/I
44. Lingo
45. Factor
46. REXX
×/×

47. Objective-C
○/×

48. IDL
49. Erlang
50. VBScript
×/×

カウント合計
19/9

もっと細かく○と×を付けろや!という意見に関しては面倒なのでこの2項目で orz
備考を書けや!という意見に関しても面倒なので(ry
自分は言語に関しては基本的に誰かが使ってるのを見て面白そうだと感じてその言語を使い始める性質なので,経験値はかなり少なめですな.

2008-02-02T00:00:00 (Sat)

かしら…

進捗状況は,うーん,ハンバーガー4個分くらいかな?

またオブジェクトとその相互関係が爆発的に増えてまいりました(T_T 色々な状態の数もそろそろ爆発しそうです.

慣れた BCC Developer で卒業制作(BCC Developer からの卒業的な意味で)として簡単に小さなゲームを作ろうと思っていたんですが,段々大きくなってます.あー早く VS に乗り換えたいのだわ.

2008-02-03T00:00:00 (Sun)

日本男児のオナニーが危ない!ゲンダイネット

少子化云々のことは置いておいて,やっぱりドラマティックバースト(=セルフバーニング,自家発電)の方が気持ちいいのですね.また記事にある正しいオナニーというのもやってみようと思います.というか激しいのよりもスローセックスの方が断然いいと思うんだ(魔法使い候補がナニをほざく).

2008-02-03T00:00:01 (Sun)

いつまでもいっしょだwanそうだnyapya!

これは…ッ!なんという癒し力… (´∀`)

2008-02-05T00:00:00 (Tue)

ゲーム制作で気付いたこと

ゲームを作っていると,少なからず何らかのデータが膨大な数になる.例えば STG だと,敵のデータや,弾のデータや,ステージでどの敵をいつどこに出現させるかなどのデータが,RPG だと敵のデータやアイテムのデータやマップのデータなどだ.

これらを,いかに管理し易い形式で管理し易い場所に増やしていくかが,制作の大事な鍵となる.

そこんとこが,前回の金糸雀ランドのときは実体験として分かっていなかったんだなぁ,と感じた,イベントまで残り20日を切ったそんな日の夜(^^;

2008-02-06T00:00:00 (Wed)

C++ の素朴な疑問コーナー

クラスに static const なメンバ変数がいくつかあったとして,それらを初期化する際に初期化の順序は言語仕様ではどうなっているのでしょうか?

つまり,

class Test {
private:
 static const int x;
 static const int y;
 static const int xy;
};

const int Test::x = 6;
const int Test::y = 4;
const int Test::xy = Test::x * Test::y;

というようなコードが作者の想定通りの動作をすることが言語仕様で保証されているのかどうか,ということです.

ちなみに BCC5.5.1 (Borland C++ Compiler 5.5.1) で試した結果,何をどう入れ替えても xy は 24 になりました(スゲー

…とここまで書いたところでこんなページを見つけてしまいましたw ここの「○静的変数の初期化」という節に答えが書いてありますw

つまり翻訳単位をまたがなければ,宣言した順に初期化処理が評価されていく,ということですね.

2008-02-08T00:00:00 (Fri)

私の今の相棒

バッファローコクヨサプライの BKBCJ109SBKABKBCJ91SBKA です.

前者のフルキーボードの方がメインマシン(ゲーム開発に用いる Windows XP の入ったマシン)用で,後者のミニサイズの方がサブマシン(Linux と Windows 2000 の入ったマシン)用です.気分転換にノート PC でソースコードだけを書くときにもミニサイズの方を使います(なぜならノートのキーボードに壊れているキーがあるので(T_T)).

実は前回キーボードの写真を貼り付けた日記(こちら)を書いたその3日後に大阪へ遊びに行った(18きっぷが余ってたのを使いに行ったのです)ときに買ったのがこれらですwwww 最良のキーボードが決まったかも,などという発言が相当イミフですねwwww これにはあの日記を書いた本人もびっくり(^^;

色々あってパンタグラフの方がやっぱりいいなと思い直しました.新作(かしら!で頒布出来たらいいなと思っているブツ.現在進行形で製作中です.)はこちらで作っています.

んで,まぁ一応金糸雀ランド開発時に既に購入していたことにもなるんですが,そのときはまだ Logitech のキーボードの方が慣れていたのであれはそちらで作りました.…んなこたぁ,別にどうでもいいですねw

ちなみに,パンタグラフ式のキーボードもかなり色々と触ってきた私ですが,バッファローコクヨサプライのこれらのキーボードの打鍵には相当クオリティの高いものがあります.打鍵は静かで十分に軽いし,一部のキーだけ妙に固い・ひっかかるなどということもありません(ELECOM やサンワサプライの品によくこういうのがあった(^^;).あくまで個人の感想ですが,静電容量無接点方式やギアドライブとも十分張り合える…というより勝る性能があると思います.

というわけで,恐らく,これは今後 2, 3 年は使い続けると思います(いや本当にw).

2008-02-09T00:00:00 (Sat)

製作状況(?)

やばい.ちょっとずつ負の感情が入ってきた.改めて思うにやっぱり今回も単にゲームを自己満足で作ってるだけだ.人が遊んで面白いかどうかかなり怪しい.この感情はまずい.

面白いゲームを作るのに必要なのは何か?

前回の経験で必ずしも「技術力」ではないことが分かった.今回の経験で「心の余裕」なんじゃないかと思い始める.

2008-02-09T00:00:01 (Sat)

締め切り二週間前頃に発症率の高い病気

自分は一生面白いゲームなんて作れないんじゃないだろうかと不安になる症候群.

人によってゲームの部分を他の何かに置き換えてみてくだせぇ orz

2008-02-13T00:00:00 (Wed)

寝られん(笑)

風邪の症状も治まったのに昼間寝すぎて寝られんとか酷い(笑)

てことで変な空白時間が出来てしまったので,さざなみ壊変見たりまきまき7のページ見てたりしたら1時間程経過.相変わらず隙間時間に仕事を片付けるのが下手糞な人ですね orz サークルカットでも描いてろよ…

そろそろ「かしら!」頒布用を目指して作ってるゲームのプログラムの残り分量が少なくなってまいりました.後はデータ打ち込みとバランス調整と音楽と画像…あれあれ?結構残ってる?でもそんなの関係ねぇ!某ランドはそれらを実質数日で仕上げたしね!(※「仕上げた」の部分に多分の嘘を含みます)

あとはまきまき7ネタだな… 正直某ランドみたく「かしら!」で体験版頒布してまき7で完成版…というのもアリのような気がしますが,己のためにもそれはよくないですね.もっともっと気楽にゲームを作れるようになるため,一つのゲームをなるべく早く作る修練が必要なのです.

もっと“作り上げるノウハウ”が溜まって来れば,きっと2ヶ月に1本くらいのペースででもゲームは作れるはずなんですよ,ええ.去年1年で学んだのは“ゲームプログラミングのノウハウ”です.学べなかったのが作り上げること.今年はそれを学ぶべく,とにかく多くリリースしたいのです.…まぁ金糸雀の他にひよりんとかその他もろもろのゲーム(デレトロも含む)も作ってみたいから,っていう思いがあるからでもあるんですがw

にしても彦二さんが「かしら!」用になんか興味深いの作ってますな… やっぱり遊び心は大切だよね!まき7には金糸雀で脳トレでも作ってみるかしら!需要がない?ブーム終わってる?そんなの(ry
てことで,まぁ脳トレかどうかはさておくとしても,絵描きさん募集します.あとすんさんを募集(音楽的な意味で)します^^ あとそろそろライさんに声かけてボイスの方も考えてみようかしら?

やっぱ楽しいね.うん.これだから創作サイドはやめられないぜ><
…これで遊んでくれた人から面白かったの声がもっと聞こえればもっといいもんだ(つ∀`)
人に楽しんでもらうとなるとほんっと急に難しくなるんだよなぁ… orz
だれかエンターテイメントに自信のある人,企画立案やってみませんかー?w

自分で言うのもなんですが,私はちょっと(かなり?)感覚が人とずれてるところがありまして,私が楽しいと感じるものが他多数にも受けたことって少ないんですよね.Twitter しかり.ていうか趣味がプログラミングとか数学って,もうその時点でかなり大多数から逸脱してますよね orz

さて,いい感じにちょっと長めの日記も書けたところで,学校に行ってきますかね.計算機が60台もあれば下手な暖房が効いてる部屋よりよっぽど暖かいんだ,あそこ.まあ空気悪いけど (・・; てことで ノシ

2008-02-19T00:00:00 (Tue)

もうあとはアイデアとスピード勝負

かしら!当日は忠之助さんの3104丁目のダンスホールっていうスペースに多分居ると思います.

ノリで作った(※作ってる)「玉子焼きうめえwwww」っていうタイトルの,ちょっとアレ気なゲームと見せかけた単なる STG を携えてると思います.けど web でも配布しようと考えてるんで,ひょうが先生の美麗なレーベルイラストが欲しい方だけ会場でお求めくだしあ>< ちなみにクオリティは残念賞になりそうなので無料にしまっす.

2008-02-22T00:00:00 (Fri)

玉子焼きうめえwwwwの体験版

ここから落とせます.

我ながら酷いステージや敵構成になりました.全ひょうが先生とぐにゃのドット絵が涙です.1ステージしかないのにそれが更に酷いとか,俺1年前と何も変わってない気がします orz

ほんじゃもうちょっとしたら行って来るかしらー!

2008-02-25T00:00:00 (Mon)

かしら!にまつわる遠征レポート

23,24日は金糸雀オンリーイベント「楽してズルしていたばしかしら!」に参加するために東京に行ってました.てことで簡単にイベントなどを交えた今回の東京遠征レポートを.

当日思った以上に早くバスが到着し,板橋に到着したのも確か7時半頃でした.もちろん会場が開いていたり人が居たりすることもなく,会場横にあったガストで時間をサモと潰すことにしました.DS で THE パーティゲームをやってやっぱりこれはクソゲーだと再認識したり,ぷよぷよフィーバーで軽く対戦したり.ちなみにサモは苦節数年,ようやく階段積みを覚えて非常に楽しそうに対戦やってました^^ 今度また一緒にフィーバーでの戦い方も覚えましょう.

で,サークル入場.…するや否や,自分は忠ノ介さんのスペースにノート PC とゲームの CD を放置して即脱出しましたwwww 今回の遠征の目的の半分は同じ会場で開催されていたらき☆すたオンリーイベント陵桜祭にひよりん本を買いに行くことでもあったからです (ノ∀`) 開場後はかしら!と陵桜祭を往復して,適度に戦利品を増やしていきました.まぁひよりん本が1冊あって,珍しいあやの本も1冊手に入ったから,全60サークルしかいなかったイベントとしては良い結果だったと思います.うん,ほんと,無いときは無いんだぜ…こな×かが以外はよぅ… ちなみに陵桜祭のカタログはヴァが前面に押し出されてまして,ひょうが先生に1冊買って帰ってあげようかと思うくらいかわいかったです.でも買わなかった辺り自分はほんとどうなんだって感じですね.あ,もしも欲しければ自分が買った分あげますんで連絡下さい!><

ちなみに自分のゲームの方は見本とか渡したのとか除いて20部置いておきました.ノート PC と一緒に.すると,やはり無料の力は偉大ですね.かなり速攻で無くなりましたw ひょうが先生の美麗レーベルのお陰でもあると思います.他力本願じゃないけど他力願バンザーイ \(^o^)/(※根性が腐っとる

あとはいろきゅう先生と再会して,金糸雀が Windows でうひょー!ってなるアプリケーションを貰ったり,なんか開発時における「V 字プロセス」のことを聞いたりしました.V 字プロセスの方はまだちょろっと調べてみただけなのでまとめられてるのかどうか分かりませんが,要するにゲーム製作にこれを当てはめると『開発用ツールを作れ,もしくは探せ』ってことになるんじゃないかと思いました.仮にそうだとしたら,とびつき読本に書いてあることにも通じますね.さっさと Windows API に慣れなければ自分の未来はやばいと思いますほんと \(^o^)/

そしてばるばとすさんや Yamoto さんとお知り合いに.よい変態の方々でした>< 大好きです,愛してます.
Yamoto さん,カナを大事にしてやって下さい.通常版の右足を折ってしまった自分には限定バージョンのカナを大事にしてあげられる自信はありませんわ><
ばるお兄様,年齢詐称疑惑を当局で今後徹底的に調査したいと思っております.よろしくお願いします^ワ^
謎のリレー絵本で M 氏がとても愛されているのだなあと実感しました.サモが「M 氏のビーチクは私の能力を超えている」でツボってましたw
でも打ち上げ終了間際に Spiegel さんと挨拶程度しかお話できなかったのが心残りでした orz
あと彦二さんの商業な漫画エチオピア少女パンツちゃん期待してます.

他にもあの打ち上げ会場でお話した方で,もしこちらを見ていらっしゃいましたら,気軽に拍手なりマイミク申請なり投げて下さい.マイミク追加は面識無い方以外という条件付きではありますが,外しはフリーな人ですので,お気軽にドゾー ヽ|'ω'|ノ マイナーにマイフィル申請でもおkしちゃうわよ?w でも今私が一番嬉しいのは Twitter で Follow してくれることかしら〜.簡単な日記みたいなのは今ほとんどあっちで書いてますし.ほんと皆でもっと Twitter やりましょうぜ!>ワ<

で,徹カラなどして,24日はオトメディウスやったり,そっち方面の大手にしかないようなエロ漫画を探したりしてました.なんという地元でも出来ること /(^o^)\ 何しに東京来てるんだ.まぁいつものことですが.いいのさ,地元には案外無さそうな本も何冊か買ったから><

そんな感じで,東京遠征レポートでした.関係者の皆様,本当にお疲れ様でした.またお会い出来ることがあればそのときもよろしくお願いしますね.

…ちなみにもういい加減夜行バスで東京へ行くのに飽きてきました.東京に行くこと自体にも飽きてきました.なので次に行くときこそは真面目に観光などしてやろうと半分くらい本気で考えてたりするのですが,それはまたどうでもいいお話.しばらくは遠征(オタ的な意味の)は控えて学校関連やプログラミング方面の経験・知識増強に力を入れたいと思ってます.

2008-02-28T00:00:00 (Thu)

Visual Studio

まず整理しよう.多分間違ってるんだけど,一応現在の自分の知識の再確認.

Microsoft の Visual Studio というものがある.これは Windows 上で動くアプリケーションの各種言語での開発ツールの集合体の名前である.この Visual Studio という集合の要素として Visual C++ や Visual Basic というものが存在する.

Visual Studio にはバージョンがある.Visual Studio 6.0,Visual Studio .NET 2003,Visual Studio 2005 などだ.それらの中にある Visual C++ や Visual Basic を Visual C++ 6.0,Visual C++ .NET 2003,Visual C++ 2005 などと呼ぶ.

なぜ「6.0 → .NET 2003 → 2005 → 2008」などと言うわけの分からんバージョン名の変遷を辿ったのかは不明.

そして,Visual Studio ○○ には更に機能で区分された Express Edition,Standard Edition,Professional Edition,Enterprise Developer,Enterprise Architect がある.

これが現在の自分の頭の中です.多分間違ってると思います.頼むから誰か指摘して下さい orz

2008-02-29T00:00:00 (Fri)

Visual C++ 2005 Express Edition での静的ライブラリの作り方

まず「空のプロジェクト」を作る.ライブラリのソースとなる .cpp ファイルをプロジェクトのディレクトリ内のどこかに作り,それをプロジェクトに追加.次にヘッダとなる .h または .hpp ファイルを C:\home\include\ チックな場所に作り,それをプロジェクトに追加する.これはひょっとしたら UNIX 風な作法なのかも知れないけど,こうしておくといいことあると思うよ.

そしてソースとヘッダを実際に作成する.

次に,このままビルドしても .exe なファイルを作ろうとしてしまい失敗するので,それの解決も含めてプロジェクトのプロパティを弄る.プロパティは「メニューバー > プロジェクト > (プロジェクト名)のプロパティ」で開ける.Alt + F7 というショートカットでも開ける.そして「構成プロパティ > 全般 > プロジェクトの規定値 > 構成の種類」が「アプリケーション (.exe)」になっているはずなので,これを「スタティックライブラリ (.lib)」に変更する.これでOK(※基本的には).これでビルドするとプロジェクトのディレクトリに Debug というディレクトリが作られ,その中に目的の .lib ファイルがあるはずである.

もしも .cpp ファイルが .h ファイルをインクルードしているのならパスが通ってない(ヘッダファイルの位置がソースファイルから見て分からない)のでコンパイルに失敗する.そのときは「プロジェクトのプロパティ > 構成プロパティ > C/C++ > 全般 > 追加のインクルードディレクトリ」に「C:\home\include」を追加してやればよい.(※コマンドラインコンパイラでいうところの -I オプションです.)

以下は拘りたい人向け?とりあえず使えればいいや,って人は気にしないでいいと思います.

.lib ファイルを C:\home\lib\ チックな場所に作りたいのなら,「プロジェクトのプロパティ > 構成プロパティ > ライブラリアン > 出力ファイル」が「$(OutDir)\$(ProjectName).lib」になっているはずなのでそれを「C:\home\lib\$(ProjectName).lib」に変えてやればよい.(※ちなみに $(OutDir) や $(ProjectName) というのは所謂マクロというやつで,これが実際には出力ディレクトリの位置やプロジェクトの名前に置換される.メイクファイルのマクロと同じ.初耳だという人はまぁ変数のようなものだとでも思っていただければ.)

ちなみにこのままだと Debug と Release という2つの構成が出来てしまう.ライブラリってのは Debug コンパイルだの Release コンパイルだのを考える必要はない(多分)ので,片方を削除してしまいましょう.意味的に考えると Debug を削除かな?これにはまずプロパティのダイアログボックスの右上にある「構成マネージャ」というのをクリックして,構成マネージャのダイアログボックスを開く.そして「アクティブソリューション構成 > 編集」で Debug を削除.それと「プロジェクトのコンテキスト(ビルドまたは配置する〜〜)」というところにもある「構成」の Debug も削除.なんで2つあるのかは分からない.ひょっとしたら片方は削除する必要がないのかも知れない.でも両方消してもなんとも無かったので消しちゃいましょう.(なんといういい加減 \(^o^)/)

最後に,このプロパティを色々弄った状態を毎度毎度作るのは面倒です.なのでこれをテンプレート化して,今後ライブラリを作るときに同じことをしないで済むようにしたいと思います.…と,言いたいところだが…その方法がまだ分からないの.ごめんね (´・ω・`)

2008-02-29T00:00:01 (Fri)

Visual C++ 2005 Express Edition での静的ライブラリのリンクの仕方

では次にそのライブラリを実際に使う方法を.ここでは C:\home\include\ に test.h を,C:\home\lib\ に test.lib を作ってあり,それを使いたいものとする.

まず,プロジェクトのプロパティを開く.「構成プロパティ > C/C++ > 全般 > 追加のインクルードディレクトリ」に C:home\lib を追加.これは先ほどやったのと同じである.これでコンパイルが出来る.ちなみに先ほど UNIX 風な手法かも知れないが…と言って C:\home\include\ にヘッダファイルを全て作ったが,こうしておくと「追加のインクルードディレクトリ」に追加するものが C:\home\include の1つで済む.多分これが gcc でも bcc でも vc でもやり易くていいと思う.

次に,「構成プロパティ > リンカ > 全般 > 追加のライブラリディレクトリ」に C:\home\lib を追加.(※コマンドラインリンカでいうところの -L オプションです.)そして「構成プロパティ > リンカ > 入力 > 追加の依存ファイル」に test.lib を追加.これでリンクもエラーなく出来て,無事 .exe ファイルの完成です.

2008-02-29T00:00:02 (Fri)

まとめ

自分で書いて見て改めて思ったのですが,なんちゅー面倒臭さだと(^^; でも,多分 UNIX 風な手法を知らない初心者にとってみれば,コマンドラインコンパイラとコマンドラインリンカの使い方を覚えて,メイクファイルの書き方を覚えて,メイクファイル生成ツールをインストールしてそれの使い方を覚えるよりはよっぽど楽かと思われますw …でもそれをまとめた解説サイトがどこにも見当たらない(少なくとも自分は見つけられなかった)ってのはどうなんだろう…と思いました.

あとこれはあくまでも Visual C++ 2005 Express Edition での手法です.バージョンが違えば(2008 だったりすれば)当然違ってくると思います.バージョンが変わるとダイアログボックスのデザインがガラリと変わるというのは Microsoft のアプリケーションではよくあること(だと思う)なので油断なりませんねw

それともう一つ重要なのがこれは「まだ Visual C++ を本格的に使おうと思い立って1週間も経ってない人間」の備忘録に近いものなので,標準的なものから逸脱した手法が使われている可能性が高いです.そこんとこよろしく.こちらとしても,より標準的な手法が見つかったらその都度修正はしていくように心がけるつもりです.

というかいずれ今までの日記で書き散らしてきたプログラミング関連のネタをまとめたページを作りたいなぁ.


戻る