SlideShare a Scribd company logo
タイルの話 
東京電機大学理工学部情報科学科OB (99SJ097) 
Taro Matsuzawa @smellman 
dendai sie; Talk Live! vol.5
はじめに
プレゼンのファイルが 
前日に消滅 
なのであまりやる気ないです
自己紹介(1) 
• Georepublic シニアエンジニア(本業) 
• Coaido 技術顧問 (副業) 
• 日本UNIXユーザ会理事 
• OSGeo財団日本支部運営委員 / OSMFJ 
• C MagazineとかSoftware Designとかオライリー・ 
ジャパンのFirefox Hacksシリーズとか
自己紹介(2) 
• 電大に1999年入学、2014年卒業 
• 留年してる 
• btm, smellman, 組長などと呼ばれる 
• もじら組というところで組長やってた(過去形) 
• ブレイクコアガチ勢
学生時代 
• 理工学部 E.S.S (English Speaking Society) 部長 
• 卒業後数年で廃部 
• 理工学部 コンピュータクラブ所属 
• UNIXやってるからという理由で二年生の時に入部 
• バイトでデスマーチ
タイルとは
地図のタイル 
• Google Mapsとか 
OpenStreetMapとかいろいろな 
ところで使われてる技術 
• 地図をタイルの用に並べてス 
ムーズなスクロールやズーム 
を可能にするというもの 
http://a.tile.openstreetmap.org/0/0/0.png
アクセス 
• {z}/{x}/{y}.pngみたいな感じでアクセスするのが最近の流行り 
z:ズームレベル 
x: x座標 
y: y座標
座標系 
• Web地図では一般的にWeb メル 
カトルというのが使われる 
• 左上の緯度経度がだいたい85, 
-180で右下の緯度経度がだい 
たい-85, 180となる 
85, -180 
85, 180 
-85, 180 
-85, -180
詳しいことは 
ググりましょう
本題
ドラ○エ3の地図を 
タイルにしてみた
非現実 
• ゲームの地図の座標系は現実の地図とは関係ない 
• ドットだもん 
• Leaflet.jsというタイルを表示するライブラリには 
ゲーム向けの設定が用意されています 
• L.CRS.Simple
ポイント 
• 普通のWeb地図はzoom=0で256x256の画像を利用 
• L.CRS.Simpleでは zoom=0 では 1x1 の画像 
• Rubyでいうところの 2 ** zoom 
• JavaScriptなら Math.pow(2, zoom) 
• でもタイルは256x256という単位なのでうまく切り 
出す必要がある
作成(1) 
• 画像をググって探す 
• 画像の大きさからズームレベルを算出 
• たまたま4096x4096というサイズだったので、 
Math.log(4096) / Math.log(2) -> zoom 12がベー 
スとなる 
• なお、一枚のタイルで収まるのは zoom 8となる
作成(2) 
• 画像をリサイズ 
• zoom = 10 なら 2 ** (10 - 12) = 0.25 倍なので 
1024 x 1024 
• convert -resize 1024x1024 base.png resize.png 
• 画像を256x256で切り出す 
• convert -crop 256x256 +repage resize.png crop_ 
%d.png
作成(3) 
• タイルを並び替える 
• convert -crop ではタダの連番になるのでそれを 
上手く並べる 
• 上記までの流れは以下を参考にすれば良い 
• http://omarriott.com/aux/leaflet-js-non-geographical- 
imagery/
デモ
補足 
• 仕事ではこんな小さなデータは扱わない 
• 巨大なSVGが元画像だったりする 
• 画像に変換すると(Cairoが)死ぬ 
• phantomjsぶん回してSVGから画像切り出しとかむちゃ 
くちゃなことを仕事でやってる(昨日見つけた技) 
• 楽しい!!!!!!!
The End.
おまけ 
• 作成プログラムのレポジトリ作りました 
• https://github.com/smellman/make_game_tile_example 
• 適当に画像を探して試してみてください

More Related Content

More from Taro Matsuzawa

地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
Taro Matsuzawa
 
Couchbase hackaton pomo
Couchbase hackaton pomoCouchbase hackaton pomo
Couchbase hackaton pomo
Taro Matsuzawa
 
11月のささみ: pgRoutingって何?
11月のささみ: pgRoutingって何?11月のささみ: pgRoutingって何?
11月のささみ: pgRoutingって何?
Taro Matsuzawa
 
OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門
Taro Matsuzawa
 
AFNetworking使ってみた
AFNetworking使ってみたAFNetworking使ってみた
AFNetworking使ってみた
Taro Matsuzawa
 
スマホ開発者も使えるWireshark
スマホ開発者も使えるWiresharkスマホ開発者も使えるWireshark
スマホ開発者も使えるWireshark
Taro Matsuzawa
 
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
Taro Matsuzawa
 
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化Taro Matsuzawa
 
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみたスマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみたTaro Matsuzawa
 
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござるベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござるTaro Matsuzawa
 
デバッガを使おう@ブラウザ勉強会#1
デバッガを使おう@ブラウザ勉強会#1デバッガを使おう@ブラウザ勉強会#1
デバッガを使おう@ブラウザ勉強会#1
Taro Matsuzawa
 
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
Taro Matsuzawa
 
デコメを送る
デコメを送るデコメを送る
デコメを送る
Taro Matsuzawa
 
Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画(PDF)Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画(PDF)Taro Matsuzawa
 
Mozilla コアハッカー育成計画
Mozilla コアハッカー育成計画Mozilla コアハッカー育成計画
Mozilla コアハッカー育成計画Taro Matsuzawa
 

More from Taro Matsuzawa (15)

地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
 
Couchbase hackaton pomo
Couchbase hackaton pomoCouchbase hackaton pomo
Couchbase hackaton pomo
 
11月のささみ: pgRoutingって何?
11月のささみ: pgRoutingって何?11月のささみ: pgRoutingって何?
11月のささみ: pgRoutingって何?
 
OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門
 
AFNetworking使ってみた
AFNetworking使ってみたAFNetworking使ってみた
AFNetworking使ってみた
 
スマホ開発者も使えるWireshark
スマホ開発者も使えるWiresharkスマホ開発者も使えるWireshark
スマホ開発者も使えるWireshark
 
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
 
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
 
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみたスマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
 
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござるベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
 
デバッガを使おう@ブラウザ勉強会#1
デバッガを使おう@ブラウザ勉強会#1デバッガを使おう@ブラウザ勉強会#1
デバッガを使おう@ブラウザ勉強会#1
 
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
 
デコメを送る
デコメを送るデコメを送る
デコメを送る
 
Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画(PDF)Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画(PDF)
 
Mozilla コアハッカー育成計画
Mozilla コアハッカー育成計画Mozilla コアハッカー育成計画
Mozilla コアハッカー育成計画
 

Recently uploaded

MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 

Recently uploaded (15)

MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 

タイルの話