2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
提供:株式会社テクロス
リンクをコピー
記事をブックマーク
竹村也哉氏(以下、竹村):その派生で、マルチチェーンの話をします。マルチチェーン対応ができているプロジェクトは、世界でも比較的少ないと思います。
これはプログラムの構成の話なんですが、マルチチェーンは今どうなってるかというと、基本的に下のこの大きな部分は、ソーシャルゲームのサーバーがあると思ってもらえばだいたい近いです。
これを上のEthereumにつなぎつつ、複数のチェーンにつなぐことができるのが、私たちが考えているマルチチェーンです。これはEthereumはできているし、他も、リアルタイムでつなぐところはできているので、もう少しでまさにマルチチェーンという状況になります。
技術的には、ネタを明かすとシンプルです。ですが最初からこの設計でやってないと、けっこう面倒くさいんじゃないかと思います。ただ、本当にソーシャルゲームがあって、パブリックチェーンがつながってるみたいな感じですね。
これも各ブロックチェーンのファウンデーションと話していまして、「確かにそれいけるね」みたいな話をもらっているので、Ethereum系でなくても、Bitcoin系でもこれいけそうですし、スマートコントラクトやスマートコントラクト的なものが動くブロックチェーンであれば、ほとんど対応できるのではないかと思います。
あとは、フロントエンドについてです。やはり3Dを使いたかったので、WebGLなどを使ってやっています。いまうちはPlayCanvasというツールを使ってやってます。これは日本でそれほどメジャーではないというか、おそらく日本でPlayCanvasを一番使っているのはうちじゃないかというくらいのツールなんですが、UnityのWeb版みたいなツールです。
シーンのエディターがあって、グラフィックの人がある程度使えて、プログラムも書けてみたいな、ブラウザ上で動くUnityのような感じです。ただ、UIのコンポーネントが少なかったり、日本のいわゆるブラウザゲームに向いてるわけではないなど、いろいろ問題があったりはします。ただ、見た目はUnityがブラウザ上で動いてるみたいな感じで、スクリプトはJavaScriptで書ける、そんなツールです。
ただ、先ほども言ったようにPlayCanvasを日本で使っている人は少ないので(笑)、けっこう改造をしながら、おそらくPlayCanvas側の想定ではないことも、日本や海外のPlayCanvasの人に話を聞きながらやったりしています。
例を1つ挙げると、HTMLでの画面遷移を追加したのがけっこう魔改造でした。シーンの遷移というのは、キャンバスが1個あって、そこで遷移するような想定なんです。スマートフォン版を作ったとしても、フルサイズのキャンバスがあって、その上でモデルが出て、ボタンが出てみたいな、そういう想定のものです。
それでは、すべてのゲームの遷移をそこで作って、ネイティブアプリみたいな遷移をPlayCanvas上で全部作らなければいけませんでした。さらに、PlayCanvasにはUIコンポーネントが少ないんです。
なので、ブロックチェーンゲームでもソーシャルゲームでも、ショップ作ったり、なにかつながっているメニューを作ったりするのがPlayCanvasはあまり向いていません。ですので、そこはもうHTMLや普通のJavaScriptで作ったほうが早いのではないかということで、いろいろと改造しました。
ですので、PlayCanvas上でHTMLゲームみたいな遷移を作るところを、自社で足したりしています。それに伴って、Vue.jsを足したり、Firebaseや普通のブラウザで入れるようなコンポーネントを入れてあります。
また、TypeScriptも使いたい人が社内でいたので、3Dのゲームになっていくと、JavaScriptでやるよりもTypeScriptがあったほうがいいかなということで、ちょっと足してあったりします。フロントでいうと、だいたいこんな感じですね。
サーバーについてもお話しいたします。2018年前半は、Ethereumがまともに動かせるサーバーが、Go言語かNode.jsの二択でした。弊社はNode.jsの経験もあるんですが、いろいろ考えてGo言語にしました。
GoとNode.jsはどっちが良かったのか、正直あまりわかりません。ただ、「Go言語はそれほど開発効率良くないな」というのが社内での意見です。ただ、動くものはできるし、悪くはないけど、もっと開発効率がいいやつがいまだったらあるんじゃないのかなと。ただ、結果的にはGo言語使ってます。
スマートコントラクトを叩いたりするところはSolidityなどを使っています。ブロックチェーンもSolidity+αで、EthereumはSolidity一択なんで、Ethereum用にはSolidityを使ってます。SolidityやTruffleなど、「スマートコントラクトを叩くんだったら普通はこうだよね」みたいなものを使ってるいます。
あとは開発管理です。これも普通だと思っていますが、AtlassianのConfluenceやJIRAなどを使って、ChatworkやGoogle Drive、Gitなどを使って開発しています。Jenkinsなどを使っていますし、これも普通かなと思います。
開発中に困ってることです。ブロックチェーンゲームは、これから作る人もいま作ってる人も、外国の人とのやりとりが増えます。メジャーなブロックチェーンのファウンデーションの技術系のチャットに入るとほぼほぼ外国人ですし、日本メインでやっているブロックチェーンはほぼありません。また、日本メインでやっていて儲かりそうなブロックチェーンはさらにないので、英語ができないとけっこうしんどいです。
また、うちの会社にはHTMLコーダーがそんなにいないので、HTML専用でやれる人がもうちょっといたほうが良かったと思います。
あとは、これもおそらく普通のブロックチェーンゲームではそれほど必要ありませんが、Ethereum以外のチェーンに詳しい人は日本を探してほぼいません。TRONも皆無ですし、そういう人がもうちょっといればと困っています。そうは言ってもなんだかんだやってるので、国内ではうちはEOSとかTRONについてはまだわかるほうなんじゃないかという、残念な状況になってしまっています。
また、コミュニティ対応が多いです。ブロックチェーンゲームをリリースまで持っていくと、ソーシャルゲームよりもはるかにコミュニティ対応が増えます。ソーシャルゲームと違って、ユーザーの資産を管理しなければいけないので、ある意味、銀行や金融商品みたいな性質がブロックチェーンゲームにどうしてもついてきてしまいます。
なので、ユーザーからのクレームもソーシャルゲームと方向性が違っていて、「俺が出したお金の資産はどうなってるんだ?」であったり「うちの資産を増やすためにこういう提案をしたいんだけど、どうなんだ?」など、ソーシャルゲームではあまりないような提案やユーザーとの絡みが増えると思います。
これはおそらくどのブロックチェーンゲームもこういうことになっていてまして、DiscordやTelegramなどいろいろなメディアを使っています。コミュニティマネージャーみたいな人がいてやりとりしてがんばってやってます。
ですがコミュニティ対応にはけっこう時間がかかりますし、コストもかかるなと思いながらやっています。でも良いところもあるので、ブロックチェーンゲームはそういうビジネスなんだろうなと思ってやっております。
では、「現状どうなってるか?」という話と、「これからどう増やしていくのか?」というお話です。この後、競馬場の正式リリースをしたり、競馬のジョッキー機能や、ギルドのような「馬主回」機能も入れていこうと思っています。これも、他のチェーンとつなぐことも、今月からやっていきます。
基本機能はこれからも追加していくし、ブロックチェーンの対応もやっていくし、海外展開も4月5月ごろからやっていこうという感じで動いています。
また、賞金付き大会などのeスポーツもブロックチェーンゲームと相性が良いので、そういうことも仕掛けていきたいと考えています。
あとは、競馬なので地方競馬みたいなものや地方大会みたいなものをやっていくと、もうちょっとやれることが増えるんじゃないか、ということも考えています。これは考えるだけでなくて進行中でもありますが、実装はもう少しあとになりそうです。
こんな感じで人が足りていないので、ブロックチェーンゲームに興味ある人いたら、一緒に働けるとうれしいですし、業界のコミュニティが小さいので、他の会社でやってる方でもお友達になっていただければありがたいなと思っております。以上です。
司会者:ありがとうございました。では、質疑応答に移りたいと思います。ご質問がある方いはらっしゃいますか?
質問者1:今日はありがとうございました。おそらく『CryptoDerby』だと馬が対象だと思いますが、いろいろなチェーンにトークンを書き出せるとか、他にもいろいろあるとは思いますが、複数のチェーンに同じものを書き出すことは可能ですか?
竹村:技術的には可能ですね。うちがやっているのは、ERC721をEthereumの上で作っていて、データベース上に、「ゲーム内にあるのか、ゲーム内にないのか」みたいなフラグをDBに持たせています。そのうえで、Ethereumに吐き出した後はゲーム内では使えない、みたいなかたちにしてあります。
ただ、そこはプログラムなので、原理的にはEOS側のノンファンジブルトークンに吐いて、Ethereumにも吐いて、両方に持たせることが可能ですが、それではゲーム全体が破綻してしまうので、Ethereumの上にあるならEthereumの上にあるし、ゲームのなかにあるか、どこかのチェーンにだけあるみたいな、そういう設計でやってますね。
質問者1:オンチェーンからオフチェーンに持ってくることは可能なんですか?
竹村:できます。それはEthereumなどのトランザクションを監視しておいて、取引所と一緒ですね。取引所のユーザーのウォレットがあって、取引所のウォレットがあって、そこに移したり、入れたり出したりができるのと、基本的には同じ構成ですね。
質問者1:なるほど、ありがとうございます。
司会者:ありがとうございます。他にご質問がある方はいらっしゃいますか?
質問者2:開発人数ってはどれぐらいでやられてるんですか?
竹村:だいたい10人ちょっとですね。フロントが4人ぐらい、サーバーが2、3人で、スマートコントラクトが1人、あとは企画とグラフィックみたいな感じですね。
質問者2:PlayCanvasの学習コスト的についてですが、Unityを触っていたらすんなり作れたりしますか?
竹村:そうですね……、UnityがわかってJavaScriptがわかれば、たぶんそれほど大変ではないですね。サンプルがいろいろあって、ネックになるのが開発者コミュニティがほぼないことですね。それ以外はそんなにネックはないかなと思います。
一応GMOさんでPlayCanvasをサポートされています。あとはSlackに最低限の小さいコミュニティがあるので、そこで質問とかすればなんとかなるかなと思います。
質問者2:ありがとうございます。
司会者:それでは、本日は以上とさせていただければと思います。ありがとうございました。
(会場拍手)
株式会社テクロス
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05