リクルートが主催するメディアCodeIQの企画で、「小学生のプログラマーにゲームプログラミングを教えてやって欲しい」と言われて、日曜日に品川のMicrosoftまで行って教えて来た。これが大変楽しい体験だったのでブログに書く許可を頂いて、今日ここに記す やってきたのは、シュン君。11歳の小学五年生。 とてもいい子で、今日一日かけて彼一人を僕、Microsoftの物江さん、などなど、総勢五人の大人がよってたかって教えることになる。 「いままでにどんなプログラムを書いたか見せてくれないか?」と聞くと、彼は「雨を避ける男」というゲームをC#で開発したのだと、WindowsPhone8を見せてくれた。 「雨を避ける男」は、上から雨粒が振って来て、それをケータイのジャイロを使って左右に傾けて避ける、というとても単純なゲームだ。 これが創れるということは、基本はできてる、ということだろう。 「ふむふむ
長い間待たれてきた git のメジャーバージョンアップがリリースされました。Changelog に目を通し、素晴らしい機能を見つけられることに興奮しています。過去の git リリースの情報をおさらいしたい場合は、バージョンアップのたびにその情報を特集してきた私の過去記事をご覧ください: 1.8.2、1.8.3、1.8.4、1.8.5、1.9。 このブログ記事では、今回のバージョンアップの一部しか取り扱うことしかできません。変更とバグ修正の完全リストをご希望の場合は、Changelog の完全版をご覧ください。 デフォルト設定一部変更: ユーザビリティの改善と混乱を解消 まず最初に、互換性に影響する変更を見ていきましょう。複数の変更がありますが、これらのアップデートは、初心者にとどまらず多くの人々を悩ませてきた誤解を解決するもので歓迎できると思います。これらの変更は、.gitconfig を
数日間iOS8/Xcode6/Swiftな環境で色々試してみて、Swiftを使っていて思ったよりがっかりした点が多かったのでちょっとまとめてみようと思います。 動的な処理がSwiftだけでは一切できない [NSObject performSelector:]の類と、NSInvocationがSwiftからは一切呼び出せません。使おうとすると怒られます。objc/runtime.hは試していませんが、同様に直接Swift経由では呼び出せず間にObjective-Cをかます必要があるのではないかと思われます。 @optionalなprotocolが限定的にしか使用できない 具体的には@objc属性を付けないと使えません。しかしながらこのような後方互換性のためだけに存在する属性をいつまでもAppleがサポートするかは疑問が残るというのと、もう一つ以下の様な問題があります。 @objc属性のついた
Knuth「TeXは組版言語で非エンジニアでも使うもの。なのでプログラム言語のような構成にはすべきでない」 Knuth「従って、記述の構造化はマクロにより行われる。『マクロの展開』であれば誰でも理解できる」 ↓ Knuth「しかし、if文くらいはあった方が便利だろう」 Knuth「あ、チューリング完全になってしまった」 ↓ Knuth「プリミティブの定義は最低限にして、組版制御の基本命令の一部はマクロとして実装しよう」 Knuth「あ、なんかプログラムのように複雑なマクロが増えてしまった」 ↓ 変人B「オウッ、TeX は組版言語なのにプログラムが組めるぞ!」 変人C「引数の整数を素因数分解して綺麗な数式で出力するマクロができた! ヒャッハー!」 ↓ TeXBook「TeX の目的は組版であって決してプログラミングではない。しかし世の中には変な人がいて、『TeX でプログラミングする』という
開発環境がどうこうというより、シューティングを個人で作ってどう思ったかレベル。 仕事(ゲーム開発者だったそういえば)でシューティングを作ったことは無い。 あと自分はプログラマでも絵描きでもないので純粋に知識としてのそれらを得るための習作。 ちなみに、自分自身はシューターではないので、イメージファイトあたりでシューティングの歴史が止まっている。 人がプレイするのを見るのは好き。 といったレベルの人間が趣味でゴソゴソつくるとどうなるかというメモ。 ・unityはなんとなくゲームっぽい体裁まで動かすのが大変ラク ほんとラク。 自分はLightWave(3Dソフト)使いだが、FBX吐き出ししたモデルを即実ゲーム画面に出す事ができる。 unity以前ならば、俺ならそれだけで年単位かかる。 最近はunityには2D特化したモードがあり、ペイントでもなんでもちょっと絵が描ければゲームオブジェクトになるわ
Vim Advent Calendar 2013の168日目の記事です。 Vimプラグインの組み込みなど、日々Vimによる開発速度の向上を研究されている方も 多いかと思います。そんな開発効率を一撃で高められるテクニックがあるので紹介。 それはズバリ、OSのキーリピート速度を高めるです。 非常にシンプルですが、破壊力がすごいです。 普段のwebhjklがこの通り。パラグラフ単位移動コマンド{ }でやるとすごい速度。 単語単位でも超高速で移動できます。 もちろん通常のvimに限らず、tmuxのvisual mode(vi互換)であってもBashのカーソル移動であってもリモート接続先のVimであっても全てが高速になります。なぜならボタンを押し続ける動作はほぼキーリピートによるコマンド送出だからです。 Bashの場合は単語移動では以前はEsc + fを利用しておりましたが、すっかり使わなくなりまし
はじめに 本シリーズ「iOS Core Audio」ではiOS 2.0からiOSに標準搭載されている「CoreAudio」と呼ばれるオーディオ処理用のソフトウェアインターフェイスを扱っていきます。 今回はCore Audioのフレームワーク群の概要を見ていきます。 目次 Core Audio ? Core Audioを構成するフレームワーク/サービス Inter-App Audio 実機とシミュレータ 外部ハードウェアとの連携 iOSのバージョンとCore Audio まとめ Core Audio ? 「Core Audio」はオーディオ処理用のフレームワークの総称であり、アプリ内でオーディオを再生、録音、ミックス、生成することをサポートします。MIDIコンテンツを扱ったり、他のアプリにオーディオやMIDIをストリーミングしたりすることも可能です。 多数のフレームワークが用意されており、簡
たとえばペンギンクラスを作るとき、まずペンギンクラスを定義する。と言うと、いや待ってください、ペンギンは鳥ですから、鳥から継承させましょう、とかそういう話になる。 継承すると、ポリモーフィズムという技を使えて、鳥を受け取る関数に鳥でもペンギンでも渡せるようになったり、鳥の機能をペンギンが獲得して、足の数は?とか聞くと2とか返ってくる。 便利だけど、鳥でもペンギンでも共通して足の数を知りたいアプリケーション以外でそういうことをし始めると、きりがなくなって、哺乳類クラスが登場したり、生命の樹みたいになって最悪の継承ツリーが出来上がる。 アプリケーション的に意味ない限りは、クラスを作ったり継承したりしてはいけない。そのうち役立つかと思って作りたくなる気持ちは分かるけど、必要になってから作れば良い。大体の場合、後世の人たちが、このクラスなんであるんだろって迷うのにかかるコストの方が高い。
平方数とは、ある整数の平方(=二乗)であるような整数のことを言います。つまり、0,1,4,9,16,...が平方数ということになります。 ところで、与えられた整数が平方数かどうかを判定するにはどうすれば良いでしょうか。与えられた整数の平方根の小数点以下を切り捨て、それを二乗して元の数になるかどうか、というのがすぐ思いつく実装です。 <?php function is_square($n) { $sqrt = floor(sqrt($n)); return ($sqrt*$sqrt == $n); } しかし、平方根の計算は比較的重い処理です。もっと高速化する方法は無いのでしょうか。 多倍長整数演算ライブラリGNU MPには平方数かどうかを判定するmpz_perfect_square_p関数が存在します(PHPでもgmp_perfect_square関数として利用できます)。本稿ではこの実装
ゲームを作ろうと思い立ったはいいものの、何から始めればいいんだろう…。cocos2d-xでスマホゲームを作る?Unityで3Dバリバリのゲームを作る?いまいちパッとしませんね。そうです、なんだか複雑すぎるのです。 そんなあなたにピッタリなのがファミコンのゲームです。もう30年前のハードですから、きっと単純ですって。たぶん。だって8ビットですよ。 環境構築 今回はOS Xで開発をすることにします。まずはアセンブラ、コンパイラを準備します。 アセンブラはnesasmを使います。オブログ — なあ藤村くんファミコンプログラミングをやろうじゃないか[1]を参考にmakeしてください。 コンパイラはcc65を使います。なぜコンパイラも準備するかというと、まだできる限りアセンブラを書きたくないからです。簡単なほうがいいですよね :) % brew install cc65 とりあえず動くものを書いてみ
こんにちは!エンジニアの川崎です。 先週行われた Consumer Service Engineer MeetUp Vol.1 ~iOS編~ というイベントで「WantedlyではどうやってiOSアプリ開発しているのか」というテーマで発表してきました。 僕自身の普段の担当は、全体の設計やサーバ側の開発、プロジェクト進行あたりなので、 今回はWantedlyでiOSアプリを「プロトタイピング」し「開発」そして「テスト」するまでで使ってるツール・取り組みをざっくり紹介させていただきました。 意外とこの手の話をする機会はいままでなかったので、 現在開発中のアプリも含め、今現在うちでは何をどうやっているのかまとめられてよかったかなと思います。 以下、発表で紹介したURLなどです。 プロトタイピング ホワイトボードでアイデアだし moqupsでモックアップ作成 Popを使って実機でプロトタイプを触っ
今年のピクシブ株式会社には総合職 2 人とデザイナー 2 人が新卒として入社しました. そんなフレッシュな新卒に新卒エンジニアがプログラミングの基礎を教えろというお達しが出ました. ということで秋卒業で既に入社していた私(@catatsuy)とアルバイトから入社した 2 人(@geta6/@RooandQoo)の合計 3 人中心でプログラミング初心者向けに研修内容を考えました. 題材 @tarbrick からのリクエストで最終目標は『画像投稿掲示板を作る』ことに決まりました. 方針 今回のプログラミング研修の目的は総合職・デザイナーの人たちをエンジニアにすることではありません. エンジニアの人たちが普段の業務でどういったツールをどういった流れで使っているのかを学ぶことで,円滑にエンジニアとコミュニケーションを取れるようにすることが目的です. そこで方針として以下のものを決めました. 全員
みなさんこんにちは、技術部Webチームリーダーの田中佑樹です。 みんなからはたなやんと呼ばれています。猫とVimが大好きです。 さて、今回は先日開催した2泊3日のChatWork開発合宿の全貌についてご紹介したいと思います。 「開発合宿をやってみたいけど、どうすればいいのかよくわからない」という方の参考になれば嬉しいです。 なぜ開発合宿をすることになったのか? チャットワークは2011年3月の公開以来、順調にユーザー数を伸ばし2014年4月時点で世界170カ国42,000社の企業に導入されるまでに成長しています。 そんな中、現在チャットワークのバックエンドで動いているプログラムが今後の運用において最適ではないのではという懸念があり、言語とフレームワークの再選定をしようという声が上がりました。 ただ、なかなか日頃の業務の中で時間を取るのは難しく、今後のチャットワークを左右する重大な選択なので
Cocos2d-xとは こんにちは!今回はスマートフォンゲーム開発において、Unityに並んで最も使われているCocos2d-xについての記事を書きます。 まずはCocos2d-xの良さを知って頂きましょう。 iOS・Androidを1つのソースコードで同時に開発できる。 オープンソースのフレームワークなので、内部的に何をしているかがわかりやすい。 海外のフレームワークにも関わらず、日本のコミュニティ(cocos2d-x.jp)が活発で、どうしてもわからないことは誰かに質問もできる。 勉強会やノウハウの共有ができる機会が多い。 アニメーション・パーティクル(爆発やキラキラなどのエフェクト)がはじめから用意されている。 用意されている画面遷移の種類が豊富。 パラパラアニメが簡単に作れる。 AppStore・GooglePlayのランキング上位にCocos2d-x製のゲームが多い。 別途エディ
MigMix(ミグミックス)フォント MigMixフォントは、以下の特徴があります。 M+フォントをなにも改変せず、そのまま取り入れた ただしボールド体の扱いが異なる。下の項目で説明します IPAゴシックを合成して、漢字をJIS第1水準~第4水準まで持つ 太字(ボールド体)の扱い MigMix 1P ⇔ 2P ってどこが違うの? ダウンロード MigMix 1P migmix-1p-20200307.zip (約4MB) のダウンロード 『伝わるデザイン|研究発表のユニバーサルデザイン』で推薦されました。 MigMix 2P migmix-2p-20200307.zip (約4MB) のダウンロード 上の MigMix 1Pとの違いは、全角ひらがなカタカナと英数字のデザイン。 MigMix 1M migmix-1m-20200307.zip (約4MB) のダウンロード フォント名の「M」
JavaScriptでは、多くの文は、セミコロンという終端記号を明示的に記述して、文の終わりを示す。 var i = 0 ; ++i ; --i ; しかし、JavaScriptでは、一部の文脈で、セミコロンの省略が許されている。あたかも、セミコロンが自動的に挿入されたかのように振る舞う。これを、自動セミコロン挿入(Automatic Semicolon Insertion) ECMA-262 Edition 5.1 §7.9が規定する、自動セミコロン挿入の定義を、本記事では解説する。 まず、三つの基本的なルールがある。 プログラムを左から右にパースした時に、文法上許されないトークン(反則トークン, offending token)があった場合、以下の二つの条件のうちどちらかひとつ、もしくは両方を満たせば、セミコロンが自動的に挿入される。 反則トークンと前のトークンが、ひとつ以上の行終端子
「そんじゃ,始めるとしますかっ!」ついに公開されたUnity公式3Dキャラクター「ユニティちゃん」の使い方・初級編 編集部:aueki Unite Japan 2014の開催に合わせて,公式3Dキャラクターともいえる「ユニティちゃん」が公開された。かなりゆるいライセンスでいろいろなことに使える3Dキャラクターということで,注目している人も多いだろう。 Unityを使い慣れている人ならば,すでに有効活用していると思うのだが,もしかしたらダウンロードはしてみたものの,使い方がよく分からないという人も多いかもしれない。ここではせっかくなので少し遊んでみたいという人のために,最低限の手順を示す「ユニティちゃんの使い方・初級編」をお届けしてみたい。 なお,中級編以上は期待されても提供できないのでご了承を。 ユニティちゃんのダウンロード まず,ユニティちゃんのパッケージをダウンロードしよう。 ユニティ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く