SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Unityで作ったゲームを
DLカードで配布してみた話
2019/06/25
Roppongi.unity
とりすーぷ
自己紹介
• とりすーぷ
• バーチャルキャスト社開発
• C#、Unity、.NET Core
• 最近はMagicOnionを使おうとがんばってる
• Dockerとかk8sとかGCPとかそのへんを抑えようとしてる
• 昔(今も)ゲームとか作ってる
今回の内容
• 「ダウンロードカード形式」で頒布する同人ゲームを作った話
• ダウンロード販売、ではない
• シリアルコードが印刷されたDLカードを頒布して、
あとからそれで認証してもらうスタイル
該当ゲーム
• ハクレイフリーマーケット
• 2017年10月発売
• https://www.mikoma.net/
• オンラインで最大6人まで
同時対戦可能
なぜDLカード?
• 同人ゲームは即売会で頒布することが大前提
• ダウンロード販売のみ、では即売会に出せない
• CD頒布は流石にもう時代遅れ
• CDドライブが無いPCも多い
• あと作成コストも高い
もくじ
• シリアルコードの認証の仕組み
• ダウンロードカードの作り方
シリアルコードの認証機構
詳しくはこの資料みて
• UnityとNCMBでユーザ管理を実装してみた話
• https://www.slideshare.net/torisoup/unityncmb-148151719
• まったく同じ話してる
DLカードの方式は2つある
• 「ダウンロード」そのものを縛る方式
• シリアルコードを持っている人のみDL可能
• 違法アップロードに対応できない
• ゲーム内での「機能解放」に使う方式
• ゲーム自体は誰でもDLできる
• ゲーム内の機能解放にコードが必要
• いろいろ面倒くさいので普通はやらない方式
DLカードの方式は2つある
• 「ダウンロード」そのものを縛る方式
• シリアルコードを持っている人のみDL可能
• 違法アップロードに対応できない
• ゲーム内での「機能解放」に使う方式 ←これにしちゃった
• ゲーム自体は誰でもDLできる
• ゲーム内の機能解放にコードが必要
• いろいろ面倒くさいので普通はやらない方式
機能解放方式、に必要なもの
• ユーザの識別機構(ログイン)
• ユーザの購入履歴の確認機構
• サーバアプリケーションが必要になる
サーバサイドの仕組み
• 2つのサーバアプリを併用して稼働
• ニフクラ
• ログイン機構
• 購入履歴の確認
• 自作のサーバアプリ
• シリアルコードの認証機構
• Ruby on Rails で作って、 ConoHa VPS 上で稼働中
全体構成
クライアント
シリアルコードチェックサーバ ニフクラ(ユーザ管理)
ログイン & アンロック状態確認シリアルコード認証
(初回のみ)
アンロック状態の更新
(シリアルコード認証成功時)
詳しくはこの資料みて(2度目)
• UnityとNCMBでユーザ管理を実装してみた話
• https://www.slideshare.net/torisoup/unityncmb-148151719
感想
• 機能解放型は手間がすごいからオススメしない
• クライアントの実装も複雑になる
• サーバアプリの管理も必要になる
• もしまた作るなら.NET Core + ASP.NETで作りたい
• クライアントもサーバもC#で統一した方が楽
• MagicOnionはちょっとオーバースペックかも
ダウンロードカードの作り方
ダウンロードカード、どうやって作る?
• 1枚ごとに異なったシリアルコードを印刷する必要がある
• どうやってデザインするのが楽なのか?
たぶん正しいやり方
• Adobe InDesignでやる
• データ結合機能で、csvからデータを流し込んで自動組版ができる
たぶん正しいやり方
• Adobe InDesignでやる
• データ結合機能で、csvからデータを流し込んで自動組版ができる
• Adobe製品高い
• なので他の方法でなんとかしたい
そこで我々が持つ武器
そこで我々が持つ武器
Unityで作ったDLカードで
ゲームを配布してみた話
Unityは、つよい
• なんでもできる
• uGUIでテクスチャ配置してデザイン
• スクリプト
UnityでDLカードの自動生成
• csvからシリアルコードを読み込み
• 1フレームごとに、
背景とシリアルコードを更新
• スクショを撮って1枚ずつ保存
1枚毎に異なった画像がたくさん生成される
あとは何らかの方法でこれを印刷すればOK
• 印刷のやり方によって手間が変わる
ハクレイフリーマーケットのDLカードの歴史
• 第1世代
• 第1.5世代
• 第2世代
• 第3世代(最終形態)
第1世代 DLカード
• A4用紙に何枚も並べて配置して印刷、手で裁断する
• 手間がかかるし、クオリティも低い
• カードスリーブとかにいれて誤魔化すしかない
第1.5世代DLカード
• 「名刺用プリント用紙」に印刷する作戦
• 裁断の手間が省ける
• テンプレートに合わせて
ぴったりデザインしないといけない
(それこそInDesign使えという話になる)
Unityでゴリ押しはしてみた
• Unityでプリント用紙のテンプレートに合わせて配置
• 同じ方法で大量に画像データをつくる
第1.5世代DLカード 結果
• プリンタに出力するときの数mmの誤差との戦い
• Unity上でテンプレート通りに配置しても、印刷するとズレる
• 逆に作成コストが上がってしまい、本末転倒
第2世代
• 名刺印刷業者に表面だけ頼む、という作戦
• 裏面は必要に応じて自分で印刷
• 大量にストックしておける
表 裏
使った印刷所
• ライオン名刺さん
• https://www.lion-meishi.com/
裏面は当然Unityでつくる
• 第一世代と同じ方法
• 毎フレーム、
シリアルコードを変更して
スクショを撮って保存
第2世代 結果
• かなり良い
• 裁断の手間が無い
• 安い(100枚刷っても800円くらい)
表 裏
第3世代
• 印刷業者を使うなら、もう全部任せればいいのでは?
使った印刷所
• ライオン名刺さん
• https://www.lion-meishi.com/
印刷オプション
• 2つ折り名刺 カラーx白黒
• 内側にシリアルコードを印刷することで、覗き見防止
• 用紙は「パーフェクトW」
• 厚めの用紙なので透かして中身を除くのを防止
• ナンバリング加工オプション
• CSVで指定した文字列を順番に印刷
第3世代 結果
• たぶんこれが一番いいと思います
• クオリティ◎
• お値段◎(単価数十円)
• ただし、入稿にIllustratorが必要
• Unityでゴリ押しできない
• Adobeが高いから使いたくないって話してたんじゃなかったの…
結論
• 餅は餅屋
• 手印刷するよりも、印刷業者に任せた方がクオリティが高い
• Unityでゴリ押しするより、Illustrator / InDesign使ったほうが早い
• 身も蓋もねぇ
•「自作するのが楽しいんだよ!」
• あるもので工夫するのが楽しい
• 同人活動はこの精神を忘れずにやっていきたい

Más contenido relacionado

La actualidad más candente

【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
モノビット エンジン
 

La actualidad más candente (20)

【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
 
UniRxでMV(R)Pパターン をやってみた
UniRxでMV(R)PパターンをやってみたUniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターン をやってみた
 
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
 
UniRxことはじめ
UniRxことはじめUniRxことはじめ
UniRxことはじめ
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx
 
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
 
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
 
インタフェース完全に理解した
インタフェース完全に理解したインタフェース完全に理解した
インタフェース完全に理解した
 
猫でも分かるUMG
猫でも分かるUMG猫でも分かるUMG
猫でも分かるUMG
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装
 
Unityでスマホアプリが作れるか?
Unityでスマホアプリが作れるか?Unityでスマホアプリが作れるか?
Unityでスマホアプリが作れるか?
 
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
 
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
 
猫でも分かるUE4を使ったARコンテンツ作り方 初級編 ver 1.0.0
猫でも分かるUE4を使ったARコンテンツ作り方 初級編 ver 1.0.0猫でも分かるUE4を使ったARコンテンツ作り方 初級編 ver 1.0.0
猫でも分かるUE4を使ったARコンテンツ作り方 初級編 ver 1.0.0
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
 

Similar a Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity

Railsによるワイルドなソフトウェア開発
Railsによるワイルドなソフトウェア開発Railsによるワイルドなソフトウェア開発
Railsによるワイルドなソフトウェア開発
Drecom Co., Ltd.
 
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
俊仁 小林
 

Similar a Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity (19)

Railsによるワイルドなソフトウェア開発
Railsによるワイルドなソフトウェア開発Railsによるワイルドなソフトウェア開発
Railsによるワイルドなソフトウェア開発
 
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみたリアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
 
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
 
20121220 matsumoto
20121220 matsumoto20121220 matsumoto
20121220 matsumoto
 
NIIクラウドチームとDocker
NIIクラウドチームとDockerNIIクラウドチームとDocker
NIIクラウドチームとDocker
 
10noa
10noa10noa
10noa
 
10noa
10noa10noa
10noa
 
ゲームデザインについて
ゲームデザインについてゲームデザインについて
ゲームデザインについて
 
今年趣味開発を通じて学んだこと(2018)
今年趣味開発を通じて学んだこと(2018)今年趣味開発を通じて学んだこと(2018)
今年趣味開発を通じて学んだこと(2018)
 
エターナらないゲーム開発
エターナらないゲーム開発エターナらないゲーム開発
エターナらないゲーム開発
 
rogyゼミ第2回 ニックさん
rogyゼミ第2回 ニックさんrogyゼミ第2回 ニックさん
rogyゼミ第2回 ニックさん
 
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
 
Chinajoy and Casual Connect America 2013
Chinajoy and Casual Connect America 2013Chinajoy and Casual Connect America 2013
Chinajoy and Casual Connect America 2013
 
非ゲーム業界のデザイナーが CEDECに参加してきた
非ゲーム業界のデザイナーが CEDECに参加してきた非ゲーム業界のデザイナーが CEDECに参加してきた
非ゲーム業界のデザイナーが CEDECに参加してきた
 
東方ゲームAIとその歴史
東方ゲームAIとその歴史東方ゲームAIとその歴史
東方ゲームAIとその歴史
 
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
 
憧れの自作PC(ATL広尾スライド)
憧れの自作PC(ATL広尾スライド)憧れの自作PC(ATL広尾スライド)
憧れの自作PC(ATL広尾スライド)
 
Cc dx lib72-p
Cc dx lib72-pCc dx lib72-p
Cc dx lib72-p
 
UnityでつくるはじめてのPONG
UnityでつくるはじめてのPONGUnityでつくるはじめてのPONG
UnityでつくるはじめてのPONG
 

Más de torisoup

Más de torisoup (11)

ARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しようARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しよう
 
Observableで非同期処理
Observableで非同期処理Observableで非同期処理
Observableで非同期処理
 
Photon Cloud ことはじめ
Photon Cloud ことはじめPhoton Cloud ことはじめ
Photon Cloud ことはじめ
 
アバター生放送支援アプリ「アバれぽ」
アバター生放送支援アプリ「アバれぽ」アバター生放送支援アプリ「アバれぽ」
アバター生放送支援アプリ「アバれぽ」
 
コールバックと戦う話
コールバックと戦う話コールバックと戦う話
コールバックと戦う話
 
UnityとNCMBでユーザ管理を実装してみた話
UnityとNCMBでユーザ管理を実装してみた話UnityとNCMBでユーザ管理を実装してみた話
UnityとNCMBでユーザ管理を実装してみた話
 
Task vs Observable
Task vs ObservableTask vs Observable
Task vs Observable
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
 
UniRxでPUNを使いやすくする
UniRxでPUNを使いやすくするUniRxでPUNを使いやすくする
UniRxでPUNを使いやすくする
 
みくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウみくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウ
 
Unity講習会(初級)
Unity講習会(初級)Unity講習会(初級)
Unity講習会(初級)
 

Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity