SlideShare a Scribd company logo
1 of 18
Download to read offline
2020年1月24日
千株式会社
TUIゲームを作った話
© SEN CORPORATION
名前:宮里 新司(@miyaz697)
JAWS-UG沖縄コアメンバー、3児の父
所属:  千株式会社
幼稚園・保育園向けの写真販売サービス
          を運営しています
SREチームリーダーとして、インフラ運用/
改善のお仕事しています
自己紹介
๏Solutions Architect - Associate
๏SysOps Administrator - Associate
© SEN CORPORATION
名前:宮里 新司(@miyaz697)
JAWS-UG沖縄コアメンバー、3児の父
所属:  千株式会社
幼稚園・保育園向けの写真販売サービス
          を運営しています
SREチームリーダーとして、インフラ運用/
改善のお仕事しています
自己紹介
๏Solutions Architect - Associate
๏SysOps Administrator - Associate
明日 1/25(土) 13:00〜
「JAWS-UG沖縄 AWS re:Invent 2019
参加レポート&お土産大放出!」
ありますよー\(^o^)/
© SEN CORPORATION
1. TUIとは
2. 作ったゲーム
3. 画像表示の壁
4. 実行方法
5. デモ
目次
© SEN CORPORATION
• テキストユーザインタフェース(text user interface)
• TUIはCUI/CLIとは異なり、GUIのように画面全体を使い、
出力も一行ずつとは限らない。しかし、GUIとも異なり、
一般的なテキスト端末で表示できる記号や文字だけで画面
を構成する。
• BIOS画面とかvimとかもそう。
TUIとは
こういうやつ→
© SEN CORPORATION
• インベーダーゲームっぽいやつ
• Goでtermbox-goというライブラリを使って作った
✦Go採用理由
‣ Goだとワンバイナリで手軽に配布できる
‣ マルチOS対応したい(クロスコンパイル可能)
‣ (Go勉強中なので←主目的w)
作ったゲーム
画像表示の壁
本物のインベーダー ゲームを再現するには
やっぱり画像を扱う必要があった。
で、調べてみた
© SEN CORPORATION
© SEN CORPORATION
• 本物の golang を... 本物の Gopher を、お見せしますよ。
• https://qiita.com/mattn/items/b7889e3c036b408ae8bd
• できないことはない
例)Windowsでターミナルに画像表示
© SEN CORPORATION
• ほぼ本物のインベーダー ゲームを再現(Go実装)
• https://github.com/sausheong/invaders
• ただし、iTerm2の機能に依存。。
例)macOSでターミナルに画像表示
© SEN CORPORATION
• ターミナルに画像を表示する
• https://qiita.com/woxtu/items/f049bf5f89003fb52fdd
• 要はアスキーアートの延長
例)Linuxでターミナルに画像表示
© SEN CORPORATION
いろいろ辛そうなので。
では、どうやってインベーダーを描画するか?
画像表示はあきらめた!
© SEN CORPORATION
https://ja.wikipedia.org/wiki/ブロック要素
ブロック要素を使った
↑これをいい感じに組み合わせると
© SEN CORPORATION
▚▄▄▞
▙█▟▙█▟
▞ ▚
▚▄▄▞
▟█▟▙█▙
▘▝▖▗▘▝
インベーダーできた
これを使って作ったゲームが
▚▄▄▞
▙█▟▙█▟
▞ ▚
▚▄▄▞
▟█▟▙█▙
▘▝▖▗▘▝
▚▄▄▞
▙█▟▙█▟
▞ ▚
▚▄▄▞
▟█▟▙█▙
▘▝▖▗▘▝
▚▄▄▞
▙█▟▙█▟
▞ ▚
▚▄▄▞
▟█▟▙█▙
▘▝▖▗▘▝
© SEN CORPORATION
© SEN CORPORATION
✤Go開発環境がある場合
✤ない場合
https://github.com/miyaz/invaders/releases
からダウンロードしてバイナリ実行
「miyaz invaders」でググってもOK
実行方法
git clone https://github.com/miyaz/invaders.git
cd invaders
go run main.go
© SEN CORPORATION
デモ
公開Verと違うけど音をつけてみました
© SEN CORPORATION
• goroutine/channelの理解が深まったので作ってよかった
• Qiitaに詳細あげてるのでよければ見てください
• 「TUI インベーダー」でググると出てきます
• 当初は「インベーダー=プロセスID or EC2インスタンス」
「撃墜=kill or stopInstance」というアイデアで実装した
けどさすがに公開は止まりましたw
• CLIもTUIも楽しい!楽しいは正義!!
おわりに
© SEN CORPORATION
ご清聴ありがとうございました!
エンジニア募集中!

More Related Content

What's hot

Watson Discoveryの活用とR&Rからの移行
Watson Discoveryの活用とR&Rからの移行Watson Discoveryの活用とR&Rからの移行
Watson Discoveryの活用とR&Rからの移行Kenichi Inoue
 
kintone で地図をhackする
kintone で地図をhackするkintone で地図をhackする
kintone で地図をhackするCybozucommunity
 
クラウドインテグレーターのお仕事
クラウドインテグレーターのお仕事クラウドインテグレーターのお仕事
クラウドインテグレーターのお仕事Serverworks Co.,Ltd.
 
TerraSky PowerNight myEinstein
TerraSky PowerNight  myEinsteinTerraSky PowerNight  myEinstein
TerraSky PowerNight myEinsteinTerraSky
 
なぜ今AWSが選ばれているのか? クラウドが求められている本当の理由
なぜ今AWSが選ばれているのか?クラウドが求められている本当の理由なぜ今AWSが選ばれているのか?クラウドが求められている本当の理由
なぜ今AWSが選ばれているのか? クラウドが求められている本当の理由Serverworks Co.,Ltd.
 
はいチーズ!の改善事例
はいチーズ!の改善事例はいチーズ!の改善事例
はいチーズ!の改善事例Shinji Miyazato
 
TerraSky Power Night Dreamforce'17 Feedback "myIoT"
TerraSky Power Night Dreamforce'17 Feedback "myIoT"TerraSky Power Night Dreamforce'17 Feedback "myIoT"
TerraSky Power Night Dreamforce'17 Feedback "myIoT"Junji Imaoka
 
Creating Mashup service in Yamaguchi
Creating Mashup service in YamaguchiCreating Mashup service in Yamaguchi
Creating Mashup service in YamaguchiOhishi Mikage
 
新しい SI kintone革命
新しい SI kintone革命新しい SI kintone革命
新しい SI kintone革命Cybozucommunity
 
「コネクト支援チーム」とは?──サイボウズ開発本部の「謎のチーム」に迫る / Connect Support Team in Cybozu Develop...
「コネクト支援チーム」とは?──サイボウズ開発本部の「謎のチーム」に迫る / Connect Support Team in Cybozu Develop...「コネクト支援チーム」とは?──サイボウズ開発本部の「謎のチーム」に迫る / Connect Support Team in Cybozu Develop...
「コネクト支援チーム」とは?──サイボウズ開発本部の「謎のチーム」に迫る / Connect Support Team in Cybozu Develop...Ko Kazaana
 
kintone トレンドワードと実践事例
kintone トレンドワードと実践事例kintone トレンドワードと実践事例
kintone トレンドワードと実践事例Cybozucommunity
 

What's hot (12)

Watson Discoveryの活用とR&Rからの移行
Watson Discoveryの活用とR&Rからの移行Watson Discoveryの活用とR&Rからの移行
Watson Discoveryの活用とR&Rからの移行
 
kintone で地図をhackする
kintone で地図をhackするkintone で地図をhackする
kintone で地図をhackする
 
クラウドインテグレーターのお仕事
クラウドインテグレーターのお仕事クラウドインテグレーターのお仕事
クラウドインテグレーターのお仕事
 
TerraSky PowerNight myEinstein
TerraSky PowerNight  myEinsteinTerraSky PowerNight  myEinstein
TerraSky PowerNight myEinstein
 
なぜ今AWSが選ばれているのか? クラウドが求められている本当の理由
なぜ今AWSが選ばれているのか?クラウドが求められている本当の理由なぜ今AWSが選ばれているのか?クラウドが求められている本当の理由
なぜ今AWSが選ばれているのか? クラウドが求められている本当の理由
 
はいチーズ!の改善事例
はいチーズ!の改善事例はいチーズ!の改善事例
はいチーズ!の改善事例
 
TerraSky Power Night Dreamforce'17 Feedback "myIoT"
TerraSky Power Night Dreamforce'17 Feedback "myIoT"TerraSky Power Night Dreamforce'17 Feedback "myIoT"
TerraSky Power Night Dreamforce'17 Feedback "myIoT"
 
Creating Mashup service in Yamaguchi
Creating Mashup service in YamaguchiCreating Mashup service in Yamaguchi
Creating Mashup service in Yamaguchi
 
新しい SI kintone革命
新しい SI kintone革命新しい SI kintone革命
新しい SI kintone革命
 
「コネクト支援チーム」とは?──サイボウズ開発本部の「謎のチーム」に迫る / Connect Support Team in Cybozu Develop...
「コネクト支援チーム」とは?──サイボウズ開発本部の「謎のチーム」に迫る / Connect Support Team in Cybozu Develop...「コネクト支援チーム」とは?──サイボウズ開発本部の「謎のチーム」に迫る / Connect Support Team in Cybozu Develop...
「コネクト支援チーム」とは?──サイボウズ開発本部の「謎のチーム」に迫る / Connect Support Team in Cybozu Develop...
 
kintone トレンドワードと実践事例
kintone トレンドワードと実践事例kintone トレンドワードと実践事例
kintone トレンドワードと実践事例
 
AWSで実践する機械学習
AWSで実践する機械学習	AWSで実践する機械学習
AWSで実践する機械学習
 

Similar to TUIゲームを作った話

【第3回生成AIなんでもLT会資料】_動画生成AIと物理法則_v0.2.pptx
【第3回生成AIなんでもLT会資料】_動画生成AIと物理法則_v0.2.pptx【第3回生成AIなんでもLT会資料】_動画生成AIと物理法則_v0.2.pptx
【第3回生成AIなんでもLT会資料】_動画生成AIと物理法則_v0.2.pptxARISE analytics
 
【ODC2021online】100人100通りの働き方を支えるサイボウズ流情報システム部門の取り組み
【ODC2021online】100人100通りの働き方を支えるサイボウズ流情報システム部門の取り組み【ODC2021online】100人100通りの働き方を支えるサイボウズ流情報システム部門の取り組み
【ODC2021online】100人100通りの働き方を支えるサイボウズ流情報システム部門の取り組みao Tetsu
 
Developers Summit 2019 Summer(デブサミ2019夏)
Developers Summit 2019 Summer(デブサミ2019夏)Developers Summit 2019 Summer(デブサミ2019夏)
Developers Summit 2019 Summer(デブサミ2019夏)tracksrun
 
Qlik TechFest A-7 qvfもソースコードも全部見せます! ユーザが作るExtension
Qlik TechFest A-7 qvfもソースコードも全部見せます! ユーザが作るExtensionQlik TechFest A-7 qvfもソースコードも全部見せます! ユーザが作るExtension
Qlik TechFest A-7 qvfもソースコードも全部見せます! ユーザが作るExtensionQlikPresalesJapan
 
採用ピッチ資料.pdf
採用ピッチ資料.pdf採用ピッチ資料.pdf
採用ピッチ資料.pdfKento12
 
採用ピッチ資料.pdf
採用ピッチ資料.pdf採用ピッチ資料.pdf
採用ピッチ資料.pdfKento12
 
採用ピッチ資料.pdf
採用ピッチ資料.pdf採用ピッチ資料.pdf
採用ピッチ資料.pdfKento12
 
GREE creators' meetup2 Session A Hosokawa
GREE creators' meetup2 Session A HosokawaGREE creators' meetup2 Session A Hosokawa
GREE creators' meetup2 Session A HosokawaNanae Hosokawa
 
AWSエンジニア体験会
AWSエンジニア体験会AWSエンジニア体験会
AWSエンジニア体験会Toru Yoneyama
 
サーバレスで始めるHoloLens×Azureインフラ
サーバレスで始めるHoloLens×Azureインフラサーバレスで始めるHoloLens×Azureインフラ
サーバレスで始めるHoloLens×AzureインフラYasuhiro Kobayashi
 
採用ピッチ資料.pdf
採用ピッチ資料.pdf採用ピッチ資料.pdf
採用ピッチ資料.pdfKento12
 
20180826 learn languages 2018 in odc
20180826 learn languages 2018 in odc20180826 learn languages 2018 in odc
20180826 learn languages 2018 in odcTakayukiTakahashi4
 
kintoneでビジュアル操作
kintoneでビジュアル操作kintoneでビジュアル操作
kintoneでビジュアル操作Cybozucommunity
 
SAMURAI VISION SUMMIT -SVS2021- Final repot
SAMURAI VISION SUMMIT -SVS2021- Final repotSAMURAI VISION SUMMIT -SVS2021- Final repot
SAMURAI VISION SUMMIT -SVS2021- Final repotRyo Dotemoto
 
20111203 忘年会・交流会LT_糟谷さん資料
20111203 忘年会・交流会LT_糟谷さん資料20111203 忘年会・交流会LT_糟谷さん資料
20111203 忘年会・交流会LT_糟谷さん資料WebSig24/7
 
識学概要資料.pdf
識学概要資料.pdf識学概要資料.pdf
識学概要資料.pdfssuserc7d339
 
データ活用する人のための論点整理トレーニング
データ活用する人のための論点整理トレーニングデータ活用する人のための論点整理トレーニング
データ活用する人のための論点整理トレーニングSho Maekawa
 
kintone knowledge summary for jait
kintone knowledge summary for jaitkintone knowledge summary for jait
kintone knowledge summary for jaitkintone papers
 

Similar to TUIゲームを作った話 (20)

【第3回生成AIなんでもLT会資料】_動画生成AIと物理法則_v0.2.pptx
【第3回生成AIなんでもLT会資料】_動画生成AIと物理法則_v0.2.pptx【第3回生成AIなんでもLT会資料】_動画生成AIと物理法則_v0.2.pptx
【第3回生成AIなんでもLT会資料】_動画生成AIと物理法則_v0.2.pptx
 
【ODC2021online】100人100通りの働き方を支えるサイボウズ流情報システム部門の取り組み
【ODC2021online】100人100通りの働き方を支えるサイボウズ流情報システム部門の取り組み【ODC2021online】100人100通りの働き方を支えるサイボウズ流情報システム部門の取り組み
【ODC2021online】100人100通りの働き方を支えるサイボウズ流情報システム部門の取り組み
 
Developers Summit 2019 Summer(デブサミ2019夏)
Developers Summit 2019 Summer(デブサミ2019夏)Developers Summit 2019 Summer(デブサミ2019夏)
Developers Summit 2019 Summer(デブサミ2019夏)
 
Qlik TechFest A-7 qvfもソースコードも全部見せます! ユーザが作るExtension
Qlik TechFest A-7 qvfもソースコードも全部見せます! ユーザが作るExtensionQlik TechFest A-7 qvfもソースコードも全部見せます! ユーザが作るExtension
Qlik TechFest A-7 qvfもソースコードも全部見せます! ユーザが作るExtension
 
Movie x YouTube
Movie x YouTubeMovie x YouTube
Movie x YouTube
 
採用ピッチ資料.pdf
採用ピッチ資料.pdf採用ピッチ資料.pdf
採用ピッチ資料.pdf
 
採用ピッチ資料.pdf
採用ピッチ資料.pdf採用ピッチ資料.pdf
採用ピッチ資料.pdf
 
採用ピッチ資料.pdf
採用ピッチ資料.pdf採用ピッチ資料.pdf
採用ピッチ資料.pdf
 
GREE creators' meetup2 Session A Hosokawa
GREE creators' meetup2 Session A HosokawaGREE creators' meetup2 Session A Hosokawa
GREE creators' meetup2 Session A Hosokawa
 
AWSエンジニア体験会
AWSエンジニア体験会AWSエンジニア体験会
AWSエンジニア体験会
 
サーバレスで始めるHoloLens×Azureインフラ
サーバレスで始めるHoloLens×Azureインフラサーバレスで始めるHoloLens×Azureインフラ
サーバレスで始めるHoloLens×Azureインフラ
 
採用ピッチ資料.pdf
採用ピッチ資料.pdf採用ピッチ資料.pdf
採用ピッチ資料.pdf
 
20180826 learn languages 2018 in odc
20180826 learn languages 2018 in odc20180826 learn languages 2018 in odc
20180826 learn languages 2018 in odc
 
kintoneでビジュアル操作
kintoneでビジュアル操作kintoneでビジュアル操作
kintoneでビジュアル操作
 
SAMURAI VISION SUMMIT -SVS2021- Final repot
SAMURAI VISION SUMMIT -SVS2021- Final repotSAMURAI VISION SUMMIT -SVS2021- Final repot
SAMURAI VISION SUMMIT -SVS2021- Final repot
 
20111203 忘年会・交流会LT_糟谷さん資料
20111203 忘年会・交流会LT_糟谷さん資料20111203 忘年会・交流会LT_糟谷さん資料
20111203 忘年会・交流会LT_糟谷さん資料
 
shikigaku.pdf
shikigaku.pdfshikigaku.pdf
shikigaku.pdf
 
識学概要資料.pdf
識学概要資料.pdf識学概要資料.pdf
識学概要資料.pdf
 
データ活用する人のための論点整理トレーニング
データ活用する人のための論点整理トレーニングデータ活用する人のための論点整理トレーニング
データ活用する人のための論点整理トレーニング
 
kintone knowledge summary for jait
kintone knowledge summary for jaitkintone knowledge summary for jait
kintone knowledge summary for jait
 

More from Shinji Miyazato

Webシステムにおけるキャッシュの話
Webシステムにおけるキャッシュの話Webシステムにおけるキャッシュの話
Webシステムにおけるキャッシュの話Shinji Miyazato
 
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119Shinji Miyazato
 
Cognitoハンズオン
CognitoハンズオンCognitoハンズオン
CognitoハンズオンShinji Miyazato
 
[TechPlayConf]Rekognition導入事例
[TechPlayConf]Rekognition導入事例[TechPlayConf]Rekognition導入事例
[TechPlayConf]Rekognition導入事例Shinji Miyazato
 

More from Shinji Miyazato (10)

課題に向き合え
課題に向き合え課題に向き合え
課題に向き合え
 
Webシステムにおけるキャッシュの話
Webシステムにおけるキャッシュの話Webシステムにおけるキャッシュの話
Webシステムにおけるキャッシュの話
 
ラズパイギター
ラズパイギターラズパイギター
ラズパイギター
 
ラズタンク
ラズタンクラズタンク
ラズタンク
 
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
 
Docker and Fargate
Docker and FargateDocker and Fargate
Docker and Fargate
 
Cognitoハンズオン
CognitoハンズオンCognitoハンズオン
Cognitoハンズオン
 
[TechPlayConf]Rekognition導入事例
[TechPlayConf]Rekognition導入事例[TechPlayConf]Rekognition導入事例
[TechPlayConf]Rekognition導入事例
 
Lambda勉強会
Lambda勉強会Lambda勉強会
Lambda勉強会
 
Cache勉強会
Cache勉強会Cache勉強会
Cache勉強会
 

TUIゲームを作った話