Independence 1.0 (The Dead Man’s Land)
We’re going back.
Era Summary
Torch7 has been long dead. So does the general machine learning for Lua ecosystem as a whole. Every machine learning engineers and researchers had deserted for greener pastures.
With Roblox games becoming more sophiscated and Roblox’s competitors like Unity, Unreal and Godot beginning to integrate machine learning into their ecosystem, Roblox was at risk of losing the machine learning war.
Me being a fresh graduate back then, I was rather irritated at the lack of machine learning and deep learning libraries for Roblox ecosystem as I was looking forward to be a machine learning engineer for Roblox games.
No scikit-learn, TensorFlow or PyTorch equivalents for Lua. The machine learning and deep learning libraries that do exist was more of toy projects or non-production grade types. The ones that are production-grade had mixed in other programming langauges, making it unsuitable for Roblox’s environment.
As such, I have determine to start off with the most general machine learning library for Lua. Though I did not anticipate that this would be a three year journey.
The initial year, I was lost. I could only build simple models like linear regression and K-Means. The Roblox ecosystem wasn’t even sure what I was doing either. Nobody knew what’s the use cases for games. Not even me.
The second year, the Roblox game development community began requesting for deep reinforcement learning. In here, I began feeling comfortable tackling on harder mathematics and implement them in Lua. Once implemented, DataPredict began to be used by others in their projects.
The third year, I have identified several high-value use cases like revenue and retention and developed tutorials for them only after near completion of DataPredict’s library. Additionally, with these use cases in mind, I have began implementing more niche, but valuable models that could positively impact Roblox’s games. This meant that almost all algorithms were implemented, excluding dimensionality reduction.
Once completed, I had realized that the DataPredict library was now comparable to scikit-learn, but in pure Lua and for games instead.
Impression Statistics
-
Main Post On Roblox DevForum:
-
87.7K views
-
261 likes
-
885 documentation clickthroughs
-
-
GitHub Repository:
-
13 stars
-
2 watches
-
Model Type Count
| Model Type | Count |
|---|---|
| Regression | 13 |
| Classification | 13 |
| Clustering | 10 |
| Deep Reinforcement Learning | 26 |
| Tabular Reinforcement Learning | 17 |
| Sequence Modelling | 3 |
| Filtering | 4 |
| Outlier Detection | 4 |
| Recommendation | 5 |
| Generative | 4 |
| Feature-Class Containers | 1 |
| Total | 100 |