見出し画像

オブジェクト指向風Roblox開発と単体テストのススメ(ROBLOX MEET UP登壇資料)

2024年7月27日に、Robloxに関心のあるクリエイターやビジネス関係者が集まり、交流するミートアップイベントが開催されました。

イベント内でmozeが登壇した「オブジェクト指向風Roblox開発と単体テストのススメ」の内容を、本記事で公開します!


Roblox StudioとLuauについて

はじめに簡単にRobloxStudioについて紹介

Roblox開発では、Lua言語を独自に拡張・改良したLuaの新バージョン Luau が採用されています。

LuauはRoblox Studioのスクリプト言語です。Lua 5.1から派生した、高速で、小さく、安全で、徐々に型付けされる埋め込み可能なスクリプト言語です。

Roblox Creator Hub より引用

そんなLuauは「手続き型スクリプト言語」と呼ばれる言語ですが、Roblox Studioで開発する上で感じた課題感を紹介しました。

Knit framework の紹介

上記の課題を解決すべく、mozeの開発チームで採用しているフレームワークが、Knit framework です。

Knit の公式ドキュメントと、Roblox Studio で使用するためのModel配布ページはこちら。プラグインではなくModelとして配布されています。

スライドで紹介した公式のチュートリアル動画はこちらです。

そして、Knit で出来ることを簡単に紹介しました。
使い方及び特徴としては大きく以下です。

  • サーバーサイドでは Service、クライアントサイドでは Controller として機能を持つModuleScriptを作成する

  • 作成したServiceやControllerをKnitの関数で初期化することで、それぞれがクラスのような振る舞いをする

  • RemoteEventやBindableEventを作成することなく、各Service間やController間、Service⇔Controller 間での通信が可能

Nexus Unit Testing Plugin の紹介

Knit の紹介をしたところで、つづいて単体テストの紹介に移ります。

Knit を導入しても、バグが消えるわけではない…

mozeでは、Nexus Unit Testing Plugin というプラグインを使用して、Roblox Studioで視覚的な単体テストを実施しています。

公式のForum記事がこちら

Roblox Creator Hub の Plugin販売ページだと有料($49.99)ですが、Itch.ioからダウンロードすることで任意の寄付額で購入できます。
寄付額が任意なので実質無料で入手できます。
使ってみて、いいなと思ったら是非寄付しましょう!

https://thenexusavenger.itch.io/nexus-unit-testing-plugin

プラグインの使い方について簡単に紹介しました。
Roblox Studioで専用のUIを開くことができ、視覚的にテストが実行できます。

まとめ

以上、ROBLOX MEET UPでmozeから登壇させていただいた内容でした。
これからもRoblox開発に関して、クリエイターのみなさんと様々な情報を共有していけたらと考えています!


株式会社mozeについて

株式会社mozeは、メタバースxAI時代の新世代ゲームスタジオです。数あるメタバース空間の中でも、主にRobloxでゲーム開発を行っております。これまでにObby But Your Head Rollsなどの複数のRobloxゲームを開発しています。

Robloxに関してお気軽にお問合せください。
問い合わせ先 : hello@moze.ai もしくは弊社コンタクトフォーム

この記事が気に入ったらサポートをしてみませんか?