プログラマー

2017年4月14日 (金)リフレッシュ

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

桜が咲いて、ジャケットを冬物から春物に変えようか迷っている今日この頃ですが、担当していたプロジェクトもついに終わり、ご褒美として会社からアップ休暇をいただきました。
アップ休暇って何かというと、”プロジェクト頑張ったね”っと会社がくれるご褒美。
プロジェクトが長かった都合もありますが、なんと・・・2週間近くいただくことができました。happy02

何をしよ~かな?
何をしよ~かな?

・・・ってか長すぎて休みが合う友達がいない!!coldsweats02

って事で、家でダラダラするのも嫌なので、今までできなかったことをしよう!!
と思い、いろいろ考えた結果、北海道でスノボーをしに行くことに決めました。

でも、最近スノボーに行けてないので、体力がもつかな?
向こうでずっと一人だと暇にならないかな?
なんてことを思いながらも北海道にいざ出発!!

ゲレンデについてみるとそんな不安を吹き飛ばすぐらいの壮大な景色!!
関西ではまずありえないですね。

しかも、滑っている人のほとんどが外国人。
ホテルに帰っても宿泊者はみんな外国人。
なんだか海外に来たような雰囲気。

でも、外国人はフレンドリーな人が多いので、いろんなところで気さくに声をかけてくれた結果、一緒に滑ったり、飲みに行ったり、新しい経験をいっぱいすることができました。



仕事って精神的にも、肉体的にも大変なことが多々ありますが、休みの日にはしっかりリフレッシュして、仕事に全力、遊びに全力で楽しく人生を送りましょ~wink
follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2017/04/post-0aec.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

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

2017年4月12日 (水)根っこの強さ

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

cherryblossomの季節がやってきました。
関西はピークを迎えましたが、近所ではまだまだ桜が満開に咲いています。
20170411_01

近所の桜の並木道です。
関西は先週いっぱいまで天気が良くなかったのですが、綺麗に咲いていました。happy02


ところで、桜の木は家に植えないほうがいいって聞いたことはありませんか?
小さい頃は綺麗な桜の木が家の庭に植えてあったほうがいいんじゃないかと思う時期も
ありましたが、それには理由がありました。

桜の木は、大きく立っている分だけ根の張りも大きく、太くて強固なのです。

そのため、一戸建てなどでは家の基礎が浮かび上がり、最悪、家全体が傾くことになります
庭に桜の木を植えないほうが良いといわれているのはそのためだったんですが桜を咲かせるだけでなく根にそんな力強さがあったのかと初めに聞いたときは驚きました。coldsweats02

そんな家をも動かす根っこの強さを持つ桜の木ですが、だからこそ綺麗な桜を咲かせることができるんではないかと個人的には思います。

仕事に置き換えると、根っこの強さは自分を支える基礎的な能力ではないかと考えます

何事も基礎があって初めて立派な大木になりますし、毎日の地道な努力を続けていけば、いつか綺麗な桜を咲かすことができる
そんな気がします。

皆も自分の桜を咲かせてみませんか?wink
follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2017/04/post-53b2.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

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

2017年3月30日 (木)場を弁えよう

おはようございます。
最近入社しましたプログラマーのK.Aです。
初ブログとなります。
さて、私は、それなりに子ども時分からプログラミングに興味を持ち、独学で勉強をしてきた人間です。
もっとも、若さも期間も実力を必ずしも保障するものではありませんので、そこは意識を向けないで下さい。

ともかく、若さ故でしょうか、場を弁えないプログラミング熱を持っていた時期がありました。
いえ、実のところ、これは今も大して変ってないのですけども。sweat02
ともかく、若さとプログラミング熱が噛み合った結果、仕出かすことになります。
子供から青年へと成長し、恋人を持つという自然な流れ。
そして、恋人が家に訪ねてくるという、これまた自然な流れ。
私は、プログラミング馬鹿でしたので、そんな私の恋人としては、それなりの準備が必要です。
その時は、クロスワードパズルの雑誌を持って訪ねてきました。
そして、二人で楽しく協力して、問題を解いていきます。
楽しい時間です。
が、ある問題が登場して事情が、一変します。
升目の中にルールに則って数字を書き入れ、その結果から答えを導く問題でした。
頭に閃きます。
この問題、プログラムで解かすのにもってこいだと。
閃いてしまうのです。
私は、さっそくパソコンに向かって、キーボードを叩き始めます。
一時間も掛らずにプログラムは仕上がります。
うん、大して待たせていない。
そして、パソコンに問題を入力すると、瞬く間に問題を解いてしまいます。
私は、当然、大満足なのですが……。
現実は、『大して待たせていない』『瞬く間に問題を解いて』も、どちらも私の恋人が喜ぶ行為であるはずがなく、むしろ、そのです。
趣味にハマって強烈なベクトル(性向)を放つのは、楽しいものですが、それを楽しんでいるのが自分一人であるなら、相方のことも考えてあげるべきですね。

趣味と生活の境目を意識することは、とても重要だと思います。
ずっと後になってから、気づいたのですけどね。
follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2017/03/post-3661.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

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

2017年3月29日 (水)知りたい、やってみたいに触れていく

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

入社してからもう1年、先輩や上司の方々の協力もあって何とか業務にも慣れてきまし
た。

この1年間で感じたことは、学校の授業や会社の業務の中で、「こんなことをやってみたい」、「こういう知識を身につけたい」と思っている事だけをやれる機会は滅多にないということです。


そして、学びたいと思う物があるならば、どんなに難しそうなことでも自分から触れてみる事が大事だなと最近は特に思うようになりました。

なので最近私は自分の知りたい知識を得るためと、作りたいという理由から自宅でもゲームの作成を始めています。

幸い会社からプログラムの参考資料を借りる事が出来たので、まずは資料を見ながら輪郭線を出力するシェーダーを作成して、いずれは自分独自のシェーダーを作るために勉強しています。

やはり「やりたいことをする、作りたいものを作る」というのは非常に楽しいものですし、資料を借りる事が出来る環境があると、普段のネットで必要な情報を探すという手間を省きながら知りたい情報を探すことができるのでとてもモチベーションが上がります。

就職活動や日々の勉強で疲れている学生さんも、「学校ではやっていないけどこんなことがしたい、作りたい!」というものがあれば、実際に作ってみるとストレスの解消にもなりますし自分のランクアップにつながりますので、学生の仲間や学校等から資料を借りれるような環境があれば環境があればぜひ活用しながら作ってみると良いと思います。

次のブログでは作成物の途中経過とか発表出来たらいいなぁ
follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2017/03/post-8ef6.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

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

2017年3月28日 (火)業務上での必需品、メモ

おはようございます。
もうすぐ入社して1年になる新人プログラマーのT.Tです。

来月からアクセスゲームズに就職する人もそうでない人も、就職に向けて準備を始めていると思います。
そこで、この1年の中で 業務上で最も活躍した”メモ”についてお話します。bookpencil

就職活動においてメモを沢山とった という人もいると思いますが、就職後も、先輩に質問する時、会議に参加する時、電話を取る時など、メモをとることが多くありました。

会議では机の上で書きやすいノートを使用し、先輩に質問する時は、立っている状態でも書きやすい リングメモを使用しています。

また、電話の近くにはペンとメモを 普段使用しているものとは別に置いておき、いつ重要な電話が来ても困らないようにしています。telephone

このように業務上ではメモが必要不可欠と言える存在になっています。
メモは百貨店や100円ショップで、安価で買えるので、もしまだ買っていなかったり、使っているメモの残りページがあと少ししか無かったりする場合は、このブログを参考に状況に応じて自分にあったメモを探してみてください。
follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2017/03/post-4efe.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

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

2017年3月27日 (月)姿勢には気を使うべし

ここ数ヶ月続けてほしいゲームが発売されて手が回っていないプログラマのK.Kです。
いつになったら全部消化できるんだろうか....。

さて本日のネタですが、皆さんは姿勢に気を使っていますか?
私は、最近まで姿勢に関して気を使ったことなどなかったのですが、
実はこの間、肩を痛めて人生初の整骨院に行ってきました。
その時医者に、「相当背骨などが曲がっていますね」って言われました。

そして姿勢が悪いせいで上半身の様々な筋肉に常に負担がかかっていて、
限界を迎え痛みになったんだろうと説明されました。
まさか姿勢だけで体のいたるところにこんなに影響が出るとは思いませんでした。

整骨院に行く前は、姿勢が悪かったんですが最近は出来るだけ正しい姿勢でいるのを心がけるようになりました。
姿勢を良くすれば、肩こりなどになりにくくなったり、なんと姿勢が良いと体を大きく動かすことが出来るため、
消費カロリーが増え痩せることが出来るそうです。
色々とメリットが多いですね。

皆さんも気が付いたときは姿勢に気を使って生活してみてはいかがでしょうか?

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2017/03/post-5810.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

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

2017年3月24日 (金)PCにもプログラムを書かせよう

日中は少しずつ暖かい日が増えてきました。
日本の春は三寒四温を繰り返しながら暖かくなると言いますが、
4日も暖かい日が続いている気がしないですね。
おはようございます、本日のブログ当番M.Iです。

皆さんはプログラムで同じようなコードを書く時、どういう風に書きますか?
例えばC++ならマクロやテンプレートといった技術を使うかもしれません。
これらの技術だとソースは短くなる代わりに、
複雑なマクロを定義するとどんな展開のされ方をするのかがわからなくなりがちです。
VisualStudioでもマクロを展開した後のコードを出す、
ということができるらしいのですが、ここでは置いておきます。

今回紹介するのはT4テンプレートというコード生成機能です。
VisualStudio2010から標準で実装されています。

さっそくコード例を紹介します。
なお、生成するファイルの拡張子を指定するコードなども必要なのですが、
このエントリでは省略しています。
あらかじめご了承ください。

<# for (int i = 0; i < 3; i++){ #>
i = <#=i#>;
<#}#>


このようにすれば

i = 0;
i = 1;
i = 2;

といった文字列を生成することができます。
<#と#>で囲まれた部分はC#のコードとして無視され、
<#=と#>で囲まれた部分を評価した値が出力されます。
<#+と#>で囲まれた個所にクラスやenumが作れます。
囲まれていない部分はそのまま出力されます。

この場合iが0~2なので、iを評価した値が出力されています。
forで似たようなプログラムを連続して出力ができるわけです。
ただ、同じようなコードが出力されるため、冗長なコードになります。

また、色分けやインテリセンスも効かないので、
それらを使用できるようにする拡張機能を導入したほうが捗るかと思います。

https://marketplace.visualstudio.com/items?itemName=tangibleengineeringGmbH.tangibleT4Editor230plusmodelingtoolsforVS2013

現在個人的に使用しているのが上の拡張機能です。

できることはprintfなどでコンソールに吐き出したものをリダイレクトするのと変わりませんが、
こちらだと変更後保存すればすぐに出力先ファイルに反映されます。

実用例として、例えばUE4だとUE4で管理できるクラスや構造体を宣言する場合
クラスならUCLASS、構造体ならFSTRUCTという文言をクラス宣言の前に書くという風に決まっており、
命名もクラスならUHogeHoge、構造体ならFHogeHogeという風にしないといけません。
こういったテンプレートを作っておくとクラスから構造体に変えたいといった時に変更しやすくなります。
どう定義するのか忘れた場合の備忘録、タイプミスで起こる分かりにくいエラーを防ぐこともできます。
タイプ量も節約できます。

<#
  var className = "HogeData";
  var type = UTypes.Class;
  var prefix = type == UTypes.Class ? "U" : "F" ;
  var typeString = type == UTypes.Class ? "UCLASS" : "USTRUCT";
#>
<#= typeString #>(BlueprintType)
<#= Util.LowerAndDeleteHead(typeString) #> GAME_API <#=prefix#><#= className#>
{
  GENERATED_BODY()
  int Hoge = 0;

  bool operator ==(const <#=prefix#><#= className#>& rhs ) const
  {
    return Hoge == rhs.Hoge;
  }

};

<#+
    static class Util
    {
        // 最初の一文字を消し、すべて小文字にして返す
        public static string LowerAndDeleteHead(string input)
        {
            if (String.IsNullOrEmpty(input)) return "";
            return input.Substring(1).ToLower();
        }
    }
    enum UTypes
    {
      Class,
      Struct,
    }
#>

と入れると

UCLASS(BlueprintType)
class GAME_API UHogeData
{
  GENERATED_BODY()
  int Hoge = 0;

  bool operator ==(const UHogeData& rhs ) const
  {
    return Hoge == rhs.Hoge;
  }

};

と出力されます。
var type = UTypes.Class;

var type = UTypes.Struct;
に変えればclass部分がstructになり、名前もFHogeDataになるかと思います。

リフレクションも使えるので、.netアセンブリ内にあるクラスを列挙し、
クラス内のメソッド情報をとり、コードを書く、といったことも可能です。

自動生成で作れるものならこういった技術を使えば生産性を上げていけるかもしれません。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2017/03/pc-50c4.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

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

2017年3月23日 (木)柔軟に

おはようございます。
プログラマーのS.Mです。

来年度からまた新卒が加わるという事で、内心ワクワク、ドキドキしております。
自分は入社してから5年目になりますが、入社した頃の事は、昨日の事のように感じます。

入社した頃は、しっかり仕事ができるのか不安でいっぱいでした。
初めてのプロジェクトに携わった時は、右も左もわからず混乱状態でした。
ですが、任された仕事をキッチリこなしていく事で、仕事に対しての自信をつける事ができました。

仕事をする上で自分なりに意識している事があります。
プロジェクトに携わるタイミングというのは、決まっているわけではありません。
最初から携わることもあれば、途中から携わることも、終盤で携わることもあります。

そんな中で、自分の担当する箇所のみを注視して、その部分の処理のみを把握するだけでは効率は良くならないでしょう。
多少時間がかかるかもしれませんが、プログラム上での全体的なフローをキッチリと把握する事で、処理の影響範囲やゲームの流れを理解する事ができ、作業効率の向上にも繋がります。

どんな作業でも、最短ルートを行くことが最適とは限りません。
多少の回り道をしてでも、全体を把握してキッチリと進む事が最適なルートに繋がることもあると思います。

もし、作業に行き詰ったり、問題が発生した時は、無理やり解決するのではなく、色々な道筋を考慮してみてください。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2017/03/post-dc06.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

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

2017年3月22日 (水)自分だったら

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

最近のゲームラッシュで増えた積みゲーを消化するために、3連休は朝から晩までゲームばかりして過ごしました。

ざっくり1日で15時間近く、3日間で45時間ゲームをプレイしたと考えるとやってやった感があります。

ゲームをプレイしていると、ゲームの面白い所つまらない所、操作性が良い悪い部分など色々な事を気にしながら遊びます。

が、

プログラマー的に特に気にする事と言えば、自分がこのゲームのこの部分を作るとしたら、どのような考え方でどのような処理で実装するだろうか?
といった内容です。

このブログを読むゲームプログラマーを目指す学生の方は毎日ゲームをプレイするでしょうが、ゲームをプレイしている最中に、自分だったら、このゲームのこの処理はこういった作りにするだろうなー、と想像しながらゲームをプレイするとイイかもしれません。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2017/03/post-6e89.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

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

2017年3月16日 (木)納期と品質

おはようございます。sun

プログラマーのG.Iです。

3月もそろそろ後半に差し掛かっていますが、まだまだ寒いですね。

今日も、パッチを履いて出勤してます!

さて、今日は納期と品質について話をしたいと思います。

ものづくりにおいて、納期と品質はどちらも大切ですよね。

これはゲーム製作においてもまったく同じです。

もちろん、納期がなければ開発チームはずっと楽しい時間は過ごせるかもしれませんが、
現実問題そんなことはありません。

ユーザーに完成したゲームを届けるのが仕事なので、ちゃんと納期どおりに終わらせて作ったものを発売するというのは当たり前ですね。

ですが、ただ納期だけを守って品質の低いものを届けるというのも絶対だめです。

まあ、色々な事情でどうしようもない場合もありますが、できる限り品質を上げるよう努力して製作を続ける必要があります。

個人的に、これは開発プロジェクトの規模にかかわらず、どのプロジェクトでも同じだと思っています。

なので、その開発予算や期間、開発チームの能力や企画内容によって、どこに時間をかけるべきか、どこを切り捨てるかをプロジェクトの始めに決めて取り組むことが大切です。

時間をかけるところは、スケジュール予備を大幅に取ったり、良くなるまでトライ&エラーを繰り返し、逆に優先度が低い箇所は納期厳守で遅れそうであれば切り捨てるということですね。

もちろん、開発チームはみんないたるところをより良い品質にしたいと思っているのでそういった考えも大切ですが、状況によってはそれがプロジェクトをだめにしてしまう
場合もあります。

チームの中でのスケジュールを握るスタッフにとっては絶対に必要な考え方です。

また、このチームにとってどこに時間をかけるべきかという考え方は個人のスケジュールにも当てはめることができます。

特に経験が浅いスタッフなどは、自分のスケジュールを決める際に新しいことにどんどん挑戦していく必要があります。

つまり、そこは時間に余裕を持って作業をすすめ、すでに経験している作業はさっさと終わらせましょうって事です。

常にこういう考え方で仕事を進めていれば、もしプロジェクトのスケジュールを握る立場になったときに楽ができますよ。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2017/03/post-c46f.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

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

より以前の記事一覧