What are you working on currently? (2017)

Toying with getting Haxe to build working Lua for Roblox.

Haxe is a static-typed language that compiles to a lot of languages; they added Lua support just under a year ago. I’ve wanted to figure out how to make it work on Roblox for a while now, and I decided to have a go at it now.

It’s been going okay; I’ve had to do some odd things to avoid forking the actual Lua code generator and stay within the bounds of modifying the standard library.

But anyway, so far a simple hello-world example works (disclaimer: absolutely nothing about this is final):

import roblox.RbxLib;

class HelloWorld {
	public static function main() {
		trace("Hello, world!");
		trace(5 % 2);
		trace(RbxLib.tick());
	}
}

This compiles to a massive bundle of Lua that is spectacularly ugly, as generated code tends to be, but it does print this (with the third line changing based on when you run it):

HelloWorld.hx:5: Hello, world!
HelloWorld.hx:6: 1
HelloWorld.hx:7: 1489692044.6532

Lots of work still to do but I’m hopeful that this can be actually useful at some point soon.

4 Likes

What would be the benefit of this?

static typing, native classes, macros, actual regex–it addresses most excuses for not using Lua in the first place.

Animating more stuff for Shard Seekers


(that texture is 8k lol)

15 Likes

Who textures these?

I bought them from the internet

1 Like

You just split up an 8k texture into multiple 1024*1024 textures or what? I’m confused

I put it in the local roblox content folder and used “rbxasset://textures/Triceratops8K.png” for the asset id

1 Like

Doesn’t it downscale online?

There’s a bunch of benefits (plus a couple downsides) of using Haxe. First, the downsides:

  • Somewhat less flexible than regular Lua.
  • More complex syntax.
  • Requires an external compiler that cannot be directly embedded in Studio.

And now for the benefits:

  • Static typing: catch a lot of common errors before running code.
  • Built-in classes, interfaces, enums, etc.
  • Macros
  • Array comprehensions
  • String interpolation
  • Actual continue statement

Things that Haxe’s Lua target supports, but this compatibility layer won’t (as far as I know):

  • Regexes (Haxe uses a C extension for implementing this in Lua).
  • Exports via @:expose (I don’t plan to test this, but I’m not doing anything to intentionally break it either).
  • Bitwise operators (I’d need to hand-roll an implementation of this).
  • LFS, general io operations (obvious reasons).

Nothing I’m developing atm.

However, I uploaded a native american flute playing audio tune

1 Like

Got bored so I made some free windows: Free Window Set - Roblox

10 Likes

8 Likes

The three pillars of modern society:

PALM TREES

ROMAN BUSTS

and FIJI WATER

1 Like

Oh so it doesn’t show unless you have it in your content folder?

1 Like

hold up

8 Likes

He paid like $300 for like 3GB of footstep sounds so I wouldn’t be surprised if he bought this too haha.

1 Like

@Tomarty I really hope you didn’t buy it at that price. Knowing the prices on these markets you could definitely get an equally good model for 20 bucks.

Not to mention the textures get heavily downgraded when imported and mapping doesn’t work.

My secret’s out xD I bought it on sale this morning so it wasn’t quite that much. Don’t worry it’ll definitely pay for itself. I’m also very picky about quad loops and good topology that make it easier to animate.

Crykee modeled a t-rex for me to animate years ago and it’s been nearly half of animation lab’s revenue recently :open_mouth:

1 Like

damn what a steal
a whole 1% off

6 Likes