プログラマー

2010年2月16日 (火)

誰がために鐘は鳴る

皆さまおはようございます!本日の当番、プログラマーのH.Kです。

バレンタインデーはいかがお過ごしだったでしょうか?

日本のチョコレートの年間消費量の2割がこの日に消費されると言われるほどの
国民的行事となっておりますが、
最近では友人に送る「友チョコ」や男性から女性に送る「逆チョコ」なんてのも
あるらしいですね。


かくいうわたくしも、ネタでバレンタインチョコを作ってみました!
生チョコなんですが初めて作ったせいか形がイビツでマズそうに見えました。



・・・ま、いっかw


それをお世話になった友人、知人に渡してまいりまして
大爆笑をいただきました(キモ!とか、毒チョコ?とかw

いやホント、作った甲斐がありましたね。



チョコを作ってあらためて発見したのですが
作ってるときにこう、渡す人のことを考えながら一生懸命作ってるんですよ!

その人のことで頭の中がいっぱいになるわけですよ!!!


あとはもうわかりますね?



そんなわけで、普段わたくしたちが作り上げている製品も
誰かの為にという想いが詰まっておるわけです。

このゲーム性を楽しんでくれるかなあ、楽しんでくれたらいいなあと思い、
その為にあんな仕掛けやこんな仕組みを一生懸命考えます。


仕事やモノ作りをどう捉えるかは人それぞれですが、
わたくしはやはり人の為に何かしたい、人の役に立ちたい、という気持ちが
働く原動力となりやる気に繋がると思います!



あなたは誰の為に働きますか?

| | コメント (0) | トラックバック (0)

2010年1月22日 (金)

明日の笑顔のために

おはようございます。本日の当番、
年末に人生で初めて東京へ行き、友人とビッグサイトで行われた某イベントに行ってあまりの人の多さに驚き、ゲーム業界もゲームショウとかでこれぐらい人を集めれるようにならないとなあという話になり、なんか負けた気分になった新人プログラマのT.Hです。

少し前、
ネットでプログラマ関連のページを見ている時にこんな言葉を見つけました。
「明日の自分のためにプログラムを書け」

新年早々僕の2010年の名言TOP3に名を連ねるかもしれない言葉に出会いました。

一度プログラムを書いて修正が必要ないように書ければ一番いいのですが、
バグが出たり、仕様変更などで以前書いたプログラムと向き合わなければならない
ことがあります。
そんな時に過去の自分が何を考えてこんなプログラムを書いたのか
わからなければ、修正作業は困難になります。
「過去の自分は他人と思え」なんて言葉も見たことがあるのですが、
それじゃ遅いんですよね。
過去に自分が書いたプログラムを見る時に、これは他人が書いたプログラムだ
と思うのであれば、プログラムを書くときに未来の自分にわかりやすいように書く
ように心掛けた方が、おのずときれいなプログラムも書けます。
それに僕は新しいプログラムを書いてると過去に書いたことなんてところてん式に
押し出されてしまうので、思い出しながら修正する際にそのプログラムが少しでも
わかりやすく書かれていれば、思い出しやすいので素早く作業もできるし、
過去の自分のプログラムを見たときに枕に顔をうずめて足をバタバタさせることも
なくなるといいことずくめですよ。

学生時代にインターンを経て、半年前に組んだ自分のプログラムを見た時は半年前の自分を正座させて何でこんな書き方をしたのかと小一時間問い詰めたくなりました。
今後は大丈夫・・・なはず。

| | コメント (0) | トラックバック (0)

2010年1月21日 (木)

たまには勉強もいいよねっていうお話

おはようございます。本日の当番、プログラマのY.Tです。

イニシャルが昨日と同じですが別人です。
2号です。Y.T2号です。
どうぞよろしく。

プログラムと言っても様々な言語があります。
私は基本的にCC++を使っているのですが、
この間別の言語を勉強する機会がありました。

基本的にC、C++を使っていると書きましたが、
実際ほとんど他の言語は使ってませんでした。
なので大変かなと思っていたんですが、意外と問題無く使えました。
ただ、ずっと使っていた言語に慣れすぎていてイライラする部分も多かったですが。

それでもやっぱり新しい事をするのはいいですね。
色々調べながらちょっとずつ勉強していくのが意外と楽しいんですよ。
画像を描画したり、テキストを読み込んだりしただけなのになぜか、
おぉ!すげぇ!って思ったり。
今まで当たり前にしてた事なのに何故かテンションが上がりっぱなしでした。
最終的に、簡単なゲーム?とも言えるか微妙な物を作ったんですが
かなり楽しかったです。
普段の仕事よりも。
・・・嘘です。仕事超楽しい!
自分で好き勝手作るのはいいよね!って事が言いたかったんです。いやマジで。

とまぁ、冗談はさておき。
新しい言語の勉強が思いの他楽しかったので、
今後もちょくちょくやっていこうかなぁなんて。
ただ、飽きっぽい性格なので途中で次に移って
どれも中途半端になる予感がする・・・。

| | コメント (0) | トラックバック (0)

2010年1月20日 (水)

凡ミス

おはようございます。本日の当番、プログラマーのY.Tです。

新たな年を迎えてもう半月経ちますが、
皆様は幸先のいいスタートを切れ たでしょうか?
私は新年早々風邪をこじらせ 、仕事始めの日に欠勤してしまいました。
さらに、時を同じくして両親も倒れ弟にいたっては救急車で搬送されてしまう
という一家そろ って最悪な幕開けでした。
無事この一年乗り切れるんだろうか・・・。

発端は父らしく、風呂上りに暑いから窓を開けていたらそのまま寝てしまって、
次の日から調子が悪くなったそうです。

この時期に窓開けて寝るとか・・・
本人は「凡ミスw」などと言って笑っていました・・・

凡ミス・・・。
よくよく考えれば 私も多いです。

社会人になってからは流石に少なくなっていますが(だと信じたい)
今でもたまに(だと信じたい)やらかしてしまいます。

未熟云々と言うより、少し注意するだけで回避 が可能なはずなのに・・・
私はそんなにいつも意識が散漫してるんだ ろうか・・・
とにかくこのままじゃいかん。

という事で、何故自分が凡ミスを起こすのか考 えてみました。

やらかした凡ミスの内容と、その時の状況を色々思い出してみると・・・
・・・・・・・・・・・・・・・・・・・・・・・・
何かものすごく情けない気持ちになりますが、共通していた事がちらほらと。

理由が分かっただけでは、何の解決にもならないので、
対処を考えやすい ように箇条書きにします。

共通していた事
複数の事を同時に行っていた
 決まって「 あれやってこれやって、ついでにこないだ頼まれたあれも」
 というような状 況でした。
 急いで同時並行で何かをして、その結果失敗してりゃ世話ねぇや ・・・。
 
何か気になる事(心配事 )がある
 何かを気にしだすと、今やらなきゃいけない事が疎かにな ってしまう。
 性格の問題では片付けられません・・・。

緊張している時
 例えば、仕事 の場合、切羽詰まった作業中に目上の方に話しかけられて、
 一気に緊張して 色々狂ってしまう等。
 まったく関係ないフォルダを開いたり閉じたり・・・ 。
 緊張しいな方は頷いてくれると思います。

大体こんな感じです。
次にこれらの事に対して、どの様に対処すればいいか考えてみました。

対処
・複数の作業を同時に行って いた → 複数の作業を同時にやらなければいい
 そのままですが・・・。
 急ぐ時程、優先順位を強く意識して、一つ一つ片付けていく様にしてみます 。
 
・何か気になる事がある → 今 やるべき事に対して、なぜ今やるべきなのか考える
 気になる事は忘 れようとしても無理なので、そのまま置いておいて、
 今やるべき事を、どう して今やらなきゃいけないのか考えてみる。  
 事の重要さが分かれば、自然に意識がやるべき事の方へ向いてくるのでは
 ないかと・・・。
  
・人と話して緊張している時 →  落ち着け
 何事も落ち着いて、必ず一呼吸置いてから事を行 う。
 あたふたしていたら、相手の方にも迷惑になりますしね・・・。
 

あくまで私個人の対処方法になりますが、とりあえずこんな感じです。
何 事も理由がはっきり細かく分かると対処方法も分かりやすいです。
箇条書きってスバラシイ。
後はこれらを実行してみて、凡ミスを無くせれば万々歳です 。

個人的な事も含めて、自分のちょっとした凡ミスが周りを巻き込む大事件に発展 してしまう事もあります。
・・・恥ずかしながら発展させた事も・・・。
起こしてしま った後の対応も重要ですが、やはり起こさない事が一番だと思うので、
思い当 たる節がある方は一度、理由と対処を考えてみてはいかがでしょうか?

とりあえず、「冬に窓を開けたまま寝る」様な凡ミスは本当やめて下さいw

| | コメント (0) | トラックバック (0)

2010年1月19日 (火)

懐古

おはようございます。本日の当番、プログラマーのT.Tです。

年末にモノを入れるだけだった開かずのクローゼットの掃除をしたところ、
昔懐かしファミコンソフト群が出現!

2010_0115_1_3

(モザイクですが、メジャーなものだけ写ってます。
 あとこの10倍ぐらいマイナーゲームが出てきました)

僕はスーパーな方の本体を買ってもらえず、
学校の友達がスーパーな方で遊んでる間、
ずっとスーパーじゃない方のソフトを漁りながらプレイしていました。

その頃には既に1ソフト100円200円で投げ売りされていて、
お小遣いでも十分買えたぐらいなのが幸いです。


で、懐かしくプレイしはじめてみると、熱い熱い。
シンプルなゲーム性と不親切設計?から、
なんとしてもクリアしてやる!と意地になってしまいます。

接触不良でプレイするまでに、
電源入れ直しで10分近くかかるのはご愛嬌です。

また、小さい頃には気付かなかった、開発側の配慮等がよく見えます。
チュートリアルもなく不親切と思える中で、
細かな段階を踏ませてゲームを理解させていく。
今よりとてつもなく制限のある中で上手いなぁと感心してしまいます。

たまには古いゲームをプレイして、
その時代の良さや制限を理解するのも良い経験になるのではないでしょうか?


「昔のゲームは良かった」と言う人は多いです。
クリエイターとしては認めたくないですが・・・。

いつの日かそういう人達にも「昔のゲーム『も』良かった」と言わせたいですね。

| | コメント (0) | トラックバック (0)

2010年1月15日 (金)

選択

おはようございます。本日の当番、プログラマーのG.Iです。

最近はお昼ごはん抜きでダイエット中です。

今日は仕事の作業方法の選び方のお話をしようかと思います。

はい、ダイエットとは全く関係ありません。わりとマジメな話です。


社会人ともなると自分の仕事をどういう風に進めていくか
選択を迫られる時が多々あります。


ゲーム制作で考えるとこんな感じです。

例えば、10種類の大きさの箱をゲームで使用するとします。

人によると思いますが、大体の人はプログラムで
ポリゴンを生成して箱を作り、それにスケールかけてゲームで使用します。

ですが、制作方法としてはその他に、何通りか存在します。
・デザイナーさんに箱のモデルを10種類用意してもらいそれを表示する。
・デザイナーさんに箱のモデルを一つだけ用意してもらい、そのモデルにスケールをかけて使用する。


などなど、、

仕事では、その中で一番良い方法を選ばなくてはなりません。

良い方法とは簡単に言うと
コストがかからなくてかつ安全な方法である。
ということです。

説明すると
コストがかからないというのはそのままで
少ない人数でてっとり早く終わる方法ということです。
ですが注意しなくてはならないのは自分が一番早く終わる方法ではなくてチーム全体として早く終わる方法を選ぶということです。
次に、安全な方法というのは
簡単に言うとバグの少ない方法です。

これを踏まえて先ほどの例で言うと
スケジュールに問題がなければ、プログラマーがポリゴン生成するのが一番良い方法だと思います。
ですが、プログラマーのスケジュールが圧迫しているなら、デザイナーの手を借りて作業を進めるのも良い方法ということです。
さらに言うと、プログラマーとデザイナーの両方のスケジュールが圧迫している場合は
プランナーに頼んで、必要な種類を10種類から5種類に減らしてもらい、制作コストを下げるという選択もしなければいけないかもしれません。

私も新人の頃は全然わかりませんでしたが、最近やっとこさ理解できるようになってきました。

ちなみに、この考え方を理解しているのと実際に実行できるかどうかは、
実は別なんですよね、、。

また壁を一つのりこえなければ、、。

| | コメント (0) | トラックバック (0)

2010年1月14日 (木)

処理を減らすための数学(を使わない)

おはようございます。本日の当番、プログラマーのK.Yです。

前々回から引き続き処理軽減に関するお話になります。
しかし今までのようなプログラムの数学的な処理軽減ではなく、今回はデータの持ち方を変更することで同じような表現ができる例を紹介したいと思います。

お題は円運動です。
まずはプログラムを使った処理の紹介から。

図のような感じでオブジェクト(赤い丸)を円運動させる場合は以下のような三角関数を使う事で表現できます。

ある点0から半径rの距離にあるオブジェクトの、点0からの角度がθの時の座標 x , y

2010_0113_1

x = r * cos(θ)
y = r * sin(θ)


この式のθの値を変更していくことで赤い丸は円運動をします。

例えば太陽の周りを回る地球の様な天体を表現する時などは、このようにして座標を更新することで公転を表現できます。
さらにそのオブジェクト自体を回転させることで自転の表現もできます。

※正確には惑星や衛星の公転は楕円を描いていますが、
  ひとつの例としてここでは円で回転しているものとします。
  さらに分かりやすく2D座標系で話を進めます

次にその地球の周りを回っている月に目を向けてみましょう。
月は地球の周りを回っていますので、上の式と同じように回転させた座標を求めた後に地球の座標を足します。

月の座標         moon_x moon_y
地球から月までの距離 moon_r
月の回転角度      moon_θ

地球の座標        earth_x earth_y


moon_x = moon_r * cos( moon_θ) + earth_x
moon_y = moon_r * sin( moon_θ) + earth_y


これで月の座標も求めることができました。
この後、月自体を回転させて自転の表現も行ないます。
もちろんこのような処理で月の座標を移動させても問題はないと思います。
しかしせっかくですので、今回も処理軽減で何かできないかを考えてみましょう。

ここで、月は常に地球に対して同じ面を向けた状態で回っていることに注目します。
イメージとしてはひもにつながれた月が地球の周りを回っている感じです。
すなわち月を以下のようなオブジェクトにして、その中心点を地球の座標に合わせます。

2010_0113_2

そして、その中心点を回転させるだけでも上の座標計算と同じ様な表現が実現できるようになります。

今回の例では地球と月という天体での話で、しかも月が1つしかない状態での処理ですので、そこまで処理軽減の効果は出ないと思います。
しかし、例えば木星や土星のように数十個もの衛星を持つ天体の軌道を表現する際には処理軽減の効果はありそうです。
「ガリレオ衛星は大きいので自転の表現も必要だ」という事であれば、それ以外の衛星にだけこの処理をするなどの対応もありでしょう。

今回は天体を例にあげましたが、それだけではなくゲームの中でも仕様によってはオブジェクトの周りをたくさんの別オブジェクトやエフェクトなどがクルクル回る表現をする際などにも有効になるのではないでしょうか。

このようにプログラムの処理だけではなくデータの構造を少し変えるだけでも処理軽減ができる様な個所は色々とあると思います。
まだまだ軽くできるところはないか、現状の処理で満足せずにさらなる軽減処理を探していってみましょう。

| | コメント (0) | トラックバック (0)

2010年1月13日 (水)

私にとって銃は鈍器

おはようございます。安眠できなかった、本日の当番、プログラマーのM.Oです。

今日の題材はです。
と言っても将来の人生設計とかではありません。
今朝方見た夢が珍しくゲーム的?でしたのでその内容を書きたいと思います。

覚えている最初の場面は、宴会の席で一発芸をやるところでした。
「重なり合っている別の次元を利用して瞬間移動しま~す。」
と宣言した次の瞬間、どうやって移動したのかよく分かりませんが、
でかい蜘蛛やら虫っぽいよくわからないクリーチャーの集団の中にいました。
他の人は気づいていないのかスルーしている中、必死になって一人逃げ回っていました。

次の場面は旅立ちの場面でした。世界観は何故かファンタジーな感じです。
3人旅で、クリーチャーを撃退しつつ最初の宿屋というか普通のホテルに着いたときです。
部屋へ移動中になぜかゾンビが出てきて、それを銃で殴り付けて撃退しつつ退避。
部屋についたら外にゾンビがいるにもかかわらずいきなり寝始めます。

ここからは客観視点から主観視点になりました。
部屋に侵入してくるゾンビに対して、ヘッドショットを狙うも当たりません。
こりずに撃っていると視界が赤くなります。どうやらダメージを受けたようです。
「LRを押しつつコントローラを上下に振ると視界が回復する。」と誰かが教えてくれました。
急いで視界を回復して見回すと、下に這いつくばったゾンビがいます。どうやらこいつのせいらしい。
殴り倒して、他のゾンビにヘッドショットを狙うも当たりません。仕方がないので近寄って殴り倒して排除します。
部屋から出てロビーに移動し、階上から見ると、同行者がゾンビとやりあっています。
ヘッドショットを狙うも当たりません。近寄って殴り倒します。殴り倒します。殴り倒します。殴り・・・。
ってところで目が覚めました。

さすが夢。突っ込みどころが満載です。
操作、バランス、ストーリー展開。全てが理不尽。
これはク○ゲーっぽい。
それなのに夢を見ている間は違和感がありません。
夢は願望の現れと言いますが、こんなゲームを作りたいってことはありません。

ですが、この夢の中にゲームアイデアのヒントがあるのかも知れません。
それを無意識が訴えているのかも知れません。
ストレス発散しているだけなのかも知れません。

さて、夢占いをしたらどんな結果になるのでしょうか。

| | コメント (0) | トラックバック (0)

2010年1月12日 (火)

忘却の彼方

おはようございます。本日の当番、ゴルファー兼プログラマのJ.Kです。
忘年ゴルフ大会のスコアが88だったので、少々不満…
新春初打ち大会に向け鋭意調整中です。


さて、今回のお題は「忘れる」です。


人間の記憶なんていい加減なもので、都合よくいろんな物事を忘れてしまいます。

どこかで記事を見た気がするのですが(この時点で既にいい加減…)全ての物事を記憶していると、人間の脳がパンクしてしまうとか、しないとか…
だから、適度に忘れていくようにできているらしいです。

そう、忘れることは完全には防げないのです。

と、まずは軽く言い訳をしておきつつ…


忘れることは、仕事上でも発生してしまいます。
私はプログラマですが、プログラムの事に関して忘れることが、やはり起こってしまいます。

過去に自身で作成したプログラムの処理内容は覚えていても、どのような記述をしたか?と聞かれると「はぁ?」という感じに…
どういう事をしたのか?という大枠な部分は覚えていますが、どういう記述だったか?という詳細な部分が完全に抜け落ちるはめに…

また、記述だけではなく、処理自体も忘れ去られていることもしばしば…
どう処理してたっけ?とか。





ダメやん…


しかし、人間は忘れるのです!
仕方ないのです!

世の中には「超記憶症候群」という記憶を忘れることができない症状の人もいますが、忘れることができない故に苦しいこともあるのだとか…

そう、だから忘れるべきなのです!




忘れすぎるとただの阿呆に…


昔、同僚が言っていました。

「知識は大枠だけ覚えておけばいい。
 大事なのはその知識の詳細がどこに保存されているかを覚えることだ。」


と。

大枠を知識の目次として覚えておき、詳細がどこに保存されているか?を紐付けておくと情報を引き出せると。
ま、簡単にいうと、ブラウザのお気に入りみたいなことですな。

同僚の言葉を聞いて以来、都合よく忘れることができるようになりました。
業務にも非常に有用です。


しかし…


ゴルフも色々と忘れることが多く…

幸い、長年の練習の成果で、どれだけブランクが長くても、一定のレベル以下には落ちません。

いきなり

「明日ゴルフ行くぞ!」

と言われても100は絶対に叩きませんよ。

が、業務が多忙になりブランクが長くなると、好調時の秘訣を完全に忘れてしまうことがあり…

それを防ぐために、某SNSを利用して覚書として残していることは、ここだけの秘密です。

今年の目標はパープレイだな!

| | コメント (0) | トラックバック (0)

2010年1月 8日 (金)

文章力トレーニング

おはようございます。本日の当番、プログラマのY.Hです。

つい先日、「探偵ガリレオ」シリーズを読破しました。
推理小説って面白いですよね!
今は次に読む作品を物色しています。

さてさて、小説を読んでいると、
文章の組み立て方、豊富な語彙など、
文章を書く上でいろいろ勉強になることが多いです。

「プログラマが書く文章って
ソースファイルのコメントぐらいじゃないの?」

と思われる方もいらっしゃるかもしれません。
いやいや、もちろんコメントもそうですが、
他にもいろいろあるのです。

・自作ツールの説明書を書く
・電子メールを書く
・作業報告書を書く
・ミーティング議事録を書く

…などなど、様々な場所で文章を書く場面があります。
まぁ上記のいくつかは特にプログラマでなくても、
該当するとは思いますけども…。
このように学生から社会人になっても、
文章を書くことは日常茶飯事なのです。

ですので、本を読むだけではなく、
日頃から文章を書いて文章力を鍛える必要があるでしょう。

そういった意味では、
このブログも勉強になるわけでして…。
文章力を鍛える良い機会になっています。

読者に分かりやすく読みやすくするために、
文章の体裁を整えたり、
全体の流れを調整したりしますので、
自然と文章力が身に付きますよね。

ブログでの面白くて楽しい文章と、
仕事で使うきっちりした文章では種類が違うのですが、
文章力がある人は、
どちらも上手く書けるのだと思います。


ちなみに僕はプログラマですので、
文章だけではなくプログラムも
分かりやすく読みやすく組むように心掛けます!

| | コメント (1) | トラックバック (0)

より以前の記事一覧