KLabGames Tech Blog

KLabは、多くのスマートフォン向けゲームを開発・提供しています。 スマートフォン向けゲームの開発と運用は、Webソーシャルゲームと比べて格段に複雑で、またコンシューマゲーム開発とも異なったノウハウが求められる領域もあります。 このブログでは、KLabのゲーム開発・運用の中で培われた様々な技術や挑戦とそのノウハウについて、広く紹介していきます。

カテゴリ: その他

※電子版ダウンロードリンクは一番下にあります。

※技術書典応援祭購入ページは以下です(※リンクはマーケットオープン後更新予定です)

はじめに

KLabでは今回も有志が集い、技術書典8で技術同人誌を頒布する予定でした。 残念ながら、新型コロナウイルスの影響により技術書典は中止となってしまいましたが、代わりにオンラインイベント「応援祭」の開催が発表されました。 そこでKLab有志としても、応援祭へ物理本を出品することにいたしました。

本記事では、今回出品する新刊「KLab Tech Book Vol 6」について紹介します。 新刊 KLab Tech Book Vol.6 では、以下の内容を収録しています。

  • NVIDIA OptiXで『レイマーチング×パストレーシング』による物理ベースレンダラーを自作する
  • Unityの描画ラインをハイジャックして遊ぶ
  • Unity 2D Animationでキャラクターを動かす
  • Arduino UNOを有線ゲームパッドにする
  • バーコードリーダーになろう ― Code128編
  • Python組み込み関数マニアックス
  • 退屈なことはEmacsにやらせよう
  • CloudFront-WAF制御下でLambda@Edgeを利用してReactSPAを動かす
  • 天下一 Game Battle Contest (β) の裏側
ktbv6

取りまとめ担当から

編集および取りまとめ、執筆に参加したmizusawa-kです。 今回は今まででもっとも多く、9人のエンジニアが記事執筆に取り組みました。 その結果100P超えの大ボリュームとなっております。

前述した目次からもわかるとおり、Unityやグラフィック、AWSといったゲーム開発に関わる技術はもちろん、 言語の組み込み関数からArduino、競技プログラミングなど、様々な技術にも触れられる本になっております。

専門分野も技術経験もさまざまなエンジニアが集まって書いており、いつも以上に多岐に渡った記事が楽しめますので、 いろいろな技術に触れてみたい方にはきっと満足して頂け、KLabのエンジニアの幅広さも伺えるのではないかと思います。

そして今回頒布する物理本ですが、表紙に特殊加工、箔押しを用いた豪華な装丁となっております。 毎度恒例になりつつある素晴らしい表紙のイラストですが、今回は格好いいイラストについに箔がつきました。 物理版を手に取った方々には、技術記事の情報だけでなく紙の本ならではの楽しみも感じて頂けると思います。

頒布価格は据え置きで1000円です。 技術書典応援祭では新刊の他、既刊も頒布予定ですので、興味のある方はぜひご確認いただければと思います。

技術書典応援祭購入ページリンク(※リンクはマーケットオープン後更新予定です)

以下に本文のサンプルをいくつか載せておきます。 気になる記事がありましたら、電子版PDFをご覧ください。

contents01
contents02
contents03
sample01 sample02 sample03 sample04 sample05 sample06 sample07 sample08 sample09

技術書典運営事務局の方の尽力のおかげでこのような短期間での実施ができる運びとなったオンラインイベント「応援祭」。 サークル参加、一般参加みなさまの力でぜひ、盛り上げて行きましょう!

ダウンロードリンク

これまでのKLab Tech Bookと、新刊Vol.6のダウンロードリンクは以下になります。

※Vol.6については、応援祭のオンラインマーケットのオープン以降有効になります。

※電子版ダウンロードリンクは一番下にあります。

これまでに引き続き、技術書典7でKLabの有志で技術同人誌を頒布します。

KLab株式会社サークル詳細

KLabブースは、「こ24D」です。

新刊 KLab Tech Book Vol.5 では、以下の内容を収録しています。

  • Starlette - きらめく ASGI フレームワーク
  • Vulkan メモリマネジメント / RenderPass 虎の巻
  • 2 次元コード DataMatrix
  • オフィス内の CO2 濃度を測るデバイスを作成する
  • 「OK グーグル! 銀行振込 1000 円」
  • GoogleCalendar を扱う SlackBot の製作記

KLab Tech Book Vol.5

今回の書籍執筆に参加した新卒のtakeです。

プログラムを書く経験はありましたが、

それを書面で説明するのは初めてでした。

普段、こういった解説の文章を書く機会が無かったので、とてもいい経験になりました。

ベテランから新卒まで、KLab社員の活動の一部を覗くことができる一冊となっております。

また、当日、売り子としても参加しています。

皆様のご来場をお待ちしてます。

ダウンロードリンク

これまでのKLab Tech Bookと、新刊Vol.5のダウンロードリンクを以下に掲載します。

※Vol.5については、当日有効になります。

※電子版ダウンロードリンクは一番下にあります。

これまでに引き続き、技術書典6でKLabの有志で技術同人誌を頒布します。

KLab株式会社サークル詳細

KLabブースは、「け53」です。

新刊 KLab Tech Book Vol.4 では、以下の内容を収録しています。

  • Argument Clinic を使ってみよう
  • Rustで世界を統一する
  • QRコードマニアックス ― 数字・英数字・漢字モード
  • Unity×レイマーチングによる映像制作の実践手法
  • 自作キーボード入門
  • 機械学習APIの力でCAPTCHAを破る
  • Unityでの条件付きコンパイルシンボル定義にエディタ拡張を活用する
  • デジカメで撮影した写真の正確なタイムスタンプを推測する

KLab Tech Book Vol.4

また、前回のVol.3も少数部再販いたします。 数が少ないので、Vol.3の物理版が欲しい方はお早めにどうぞ。

今回のVol.4はページ数が増えた関係で1000円となります。 Vol.3は500円、電子版はどれも無料で以下のリンクからダウンロードしていただけます。

皆様のご来場をお待ちしております。

ダウンロードリンク

これまでのKLab Tech Bookと、新刊Vol.4のダウンロードリンクを以下に掲載します。

※Vol.4については、当日有効になります。

こんにちは、oho-sです。どうにか今回も新刊を出すことができました。

前回の技術書典3技術書典4に続き、技術書典5でもKLabの有志で技術同人誌を頒布します。

KLab株式会社サークル詳細

今回から技術書典の会場が池袋サンシャインシティになります。詳細は技術書典5のサイトをご確認ください。 なお、KLabブースは、「か49」です。

新刊 KLab Tech Book Vol.3 では、以下の内容を収録しています。

  • プロシージャルモデリングを支えるHoudiniの機能紹介
  • 2.5万円で買える3Dプリンタのススメ
  • Airtestを用いたUnityアプリの自動実機テスト
  • Rider+UnityでRoslyn Analyzersを使う
  • バーコードリーダーになろう
  • Unity Timeline Tips集
  • 物理ベースレンダラーをRust実装して、ちょっと高速化した話
  • ヘッドレスChromeでリボ払いを回避している話

KLab Tech Book Vol.3

また、Vol.2も少数部再販いたします。 数が少ないので、Vol.2の物理版が欲しい方はお早めにどうぞ。

どちらも物理版は500円、電子版は無料で以下のリンクからダウンロードしていただけます。

皆様のご来場をお待ちしております。

ダウンロードリンク

これまでのKLab Tech Bookと、新刊Vol.3のダウンロードリンクを以下に掲載します。

※Vol.3については、当日有効になります。

こんにちは、s_naritada です。
6/13にAiming × KLab コラボMeetup!を開催しました。
今回、登壇発表させていただきましたので発表時の補足解説を少ししたいと思います。

Aiming × KLab コラボMeetup!について

株式会社AimingとKLab株式会社でコラボしてスマホ向けのゲーム開発について
両社からそれぞれ2名のエンジニアが登壇して「ゲーム演出」をテーマに発表を行う勉強会です。
立食しながら発表を聞く形式をとっており、気軽な雰囲気で聞いていただけました。

本稿は、当日発表した内容の補足解説となっております。
最初に発表で使用した以下のスライドを御覧ください。

出現演出の補足

公開スライドでは、静止画になっているので再掲します。

digital_fix_02
digital_fix_06

上記の出現シェーダーを作りました。
以下は、出現演出のシェーダーコードになります。

float4 textureColor = tex2D(_MainTex, float2(input.tex.xy));

// sinは-1~1で帰ってくるので0-1に正規化している
float mask_value = sin(input.screen_position_y * 200) * 0.5 + 0.5;

// テクスチャ色とカラーパターンを合わせる
float col = textureColor * input.color;
col.a = min(step(mask_value, _CutOff), col.a);

col.rgb = lerp(_Color.rgb, col.rgb, min(1, _CutOff));

return col;

マスクするテクスチャは以下のコードで自動生成しています。
画面からの座標を取得できるのでそれをsin値で変換して作っております。

// sinは-1~1で帰ってくるので0-1に正規化している
float mask_value = sin(input.screen_position_y * 200) * 0.5 + 0.5;

画像のような見た目になります。
_CutOffで設定した0-1の値が来ると値に応じて画像がマスクされていきます

sin_pattern_01

input.screen_position_yは、画面のY座標になっており
以下のコードで事前に頂点シェーダで算出して入れておきます。

float4 screen_pos = ComputeScreenPos(output.pos);
output.screen_position_y = screen_pos.y / screen_pos.w;

次に以下のコードで設定した閾値以下はアルファ値を0にするようにしています。

col.a = min(step(mask_value, _CutOff), col.a);

そして最後に閾値に応じて指定した色味を重ねる処理を入れてます。

col.rgb = lerp(_Color.rgb, col.rgb, min(1, _CutOff));

以上、出現シェーダーの補足説明でした。

スライド画像の補足

最後に掲載したスライドで静止画になってしまった画像を載せておきます。

ページ番号 画像
11 digital_fix_01
12 digital_fix_08digital_fix_07
13 digital_fix_03
14 digital_fix_02digital_fix_06

あとがき

こうした外部の勉強会での発表は初めてでしたが多くの人に聞いてもらうことができました。
イベントを用意していただいた運営の皆様、参加いただいた皆様、
版権作品を載せることを許可頂いた版元様、ありがとうございました。
これからも有志として発表活動を続けていきたいと思います。

©久保帯人/集英社・テレビ東京・dentsu・ぴえろ ©KLabGames

↑このページのトップヘ