Introducing the New Lua Game Details Page

Badges as in new ones introduced/system redesign?

I’m now curious about how you used the Roblox lua interface to play videos and if the same technology could be passed along to games.

6 Likes

Because it uses the same API that all of Roblox uses, it renders through the engine that we also use with some optimizations since a web app doesn’t need to run at 60FPS all the time. Lua webviews are easier to maintain than compiled ones or HTML/CSS/JS ones.

12 Likes

Great changes!

Are there any plans for a lua app for Desktop?

11 Likes

considering lua is made with c, it seems odd that lua would be chosen over a vastly faster language, even if it is compiled.

1 Like

One of the benefits of building the pages within the Roblox engine is that it lets us run into the same pitfalls and issues developers also experience. Any marginal benefit that can be produced from writing lua pages can be directly given back to the greater developer community and playerbase.

A great visible example of this is all the work done on the new UI backend has been tested throughly against these lua pages and the benefits of the new UI backend are experienced in your games as well.

And as the data in the original post shows, Lua is much more responsive than our old native webviews. :smiley:

30 Likes

We discovered a minor bug and will be rolling back the AB test for now. The AB test will be turned on in the next client version which will be next year.

5 Likes

Everything Lua = easy to find excellent talent from the community = reduced hiring churn/costs/etc = a more scalable company.

4 Likes

I wouldn’t say “vastly” faster. Lua is actually really fast for what it is. To do it in C would probably only improve the speed of the page by fractions of seconds so it’s not really worth it. This is my speculation at work but having used Lua to make standalone pages and executables before, it’s comparable to a lot of other languages for most things. I’m more curious about what made them run it in the Roblox engine because Rbx.Lua is much slower than its vanilla counterpart (although I guess that leads inevitably into the question of “why do it in Lua at all?” at that point so :man_shrugging:).

==>

That’s a benefit but it’s not really a reason. It would just be silly to build the app in-engine for the sole purpose of testing UI backend when there are assuredly better ways to do so.

Running stuff in-engine means they can use the same UI codebase across multiple devices, and they can fix issues they run into with Roblox’s engine to everyone’s benefit.

It isn’t all just UI, the avatar editor runs in-engine too.

I don’t really get what you guys are upset about.

7 Likes

Shows how far behind the app’s development I am that I didn’t know it even had an avatar editor. I suppose that makes sense. Wasn’t really upset about it, it just seemed strange at first.

1 Like

The avatar editor is the only page that lagged me in the mobile app, I’m assuming that the games page won’t lag as it’s not running any game simulation in the background? (if my understanding is correct)

2 Likes

Correct.

2 Likes

Ah fair enough!

Lua is very fast, yes, but one would think that if you’re going to increase the speed, you might as well go all the way. Hence using the backbone language C.

Be_nj’s point is very interesting and probably the main reason they decided to use it.

The app always had an avatar editor, although before the in-engine one, it was under the “More” section where you would find stuff like profile, settings, etc. now.

To clarify any confusion, all the heavy lifting to draw our Lua pages is done in C/C++. The pages are only described in Lua which makes everything easier to maintain.

5 Likes

Ah I see. Well finally got there. Cheers

1 Like