Discuss Scratch

SonicFanX123_321
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

github itch.io

Love (stylised as LÖVE) is a game engine written in Lua made for writing 2D games.

LÖVE's readme.txt file wrote:

LÖVE is an *awesome* framework you can use to make 2D games in Lua. It's free, open-source, and works on Windows, macOS, Linux, Android, and iOS.
(it probably won't be on mobile, and as for if I'll make it for anything other than windows, I'll think about it (codespeak for maybe, but most likely not, no))
my vision is to have some custom project files (incompatible with scratch) that could be shared around, and maybe build a minicommunity within scratch. the project will be updated regularly (until I either forget or go back to school, it's summer holidays).

mockup:


edit (06 july 2023): thanks @pkhead for the support:

Last edited by SonicFanX123_321 (July 6, 2023 18:09:57)

Lionwarriorspets
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

That is really interesting but it could go badly.
SonicFanX123_321
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

Lionwarriorspets wrote:

(#2)it could go badly
?????????
SonicFanX123_321
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

this topic has now magically been transported to the top.
medians
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

Wasn’t scripts changed to code?
And is there a link?

Last edited by medians (June 26, 2023 18:41:17)

SonicFanX123_321
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

medians wrote:

(#5)Wasn’t scripts changed to code?
it was, good observation.

medians wrote:

(#5)And is there a link?

OP wrote:

(the project hasn't begun yet, I just made the topic in order to see if I should start it or if it'd just be a waste of energy and time)
pkhead
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

That would be cool. Can it have real functions? also, Love2D is cross platform so it shouldn't be too hard to get it to run on platforms other than Windows, unless you use luajit ffi for Win32 APIs. the main problem is just packaging it as an executable.
SonicFanX123_321
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

pkhead wrote:

(#7)
Can it have real functions?
if you mean what I think you mean, the will have most of the features scratch's editor has.
I probably won't include a paint or sound editor, but you will be able to make blocks, variables, and even projects like you do in scratch.
some blocks probably won't be included (like the glide blocks, I don't know how they work or how to know how they work. don't even understand smalltalk so I can't do it thru scratch 1.4)
pkhead
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

SonicFanX123_321 wrote:

pkhead wrote:

(#7)
Can it have real functions?
if you mean what I think you mean, the will have most of the features scratch's editor has.
i mean custom blocks that can return values

SonicFanX123_321 wrote:

some blocks probably won't be included (like the glide blocks, I don't know how they work or how to know how they work. don't even understand smalltalk so I can't do it thru scratch 1.4)
i think some things in this project may require brain power greater than what is needed for implementing a glide block. like graphic effects.

here is a possible way to implement the glide block
function Sprite:glide(tx, ty, secs)
    local sx = self.x
    local sy = self.y
    local t = 0
   
    while t < 1 do
        local dt = coroutine.yield() -- assuming runtime passes in dt to coroutine.resume
        t = t + dt / secs
        self.x = (tx - sx) * t + sx
        self.y = (ty - sy) * t + sy
    end
    
    self.x = tx
    self.y = ty
end
SonicFanX123_321
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

pkhead wrote:

(#9)
function Sprite:glide(tx, ty, secs)
    local sx = self.x
    local sy = self.y
    local t = 0
   
    while t < 1 do
        local dt = coroutine.yield() -- assuming runtime passes in dt to coroutine.resume
        t = t + dt / secs
        self.x = (tx - sx) * t + sx
        self.y = (ty - sy) * t + sy
    end
    
    self.x = tx
    self.y = ty
end
thanks for that!

pkhead wrote:

(#9)
i mean custom blocks that can return values
oh, I'll try to implement that, yes. (I mean when the project gets started)
SonicFanX123_321
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

30.06.23 THE PROJECT HAS BEGUN
pkhead
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

Is it open source
SonicFanX123_321
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

pkhead wrote:

(#12)
Is it open source
due to how LÖVE2D executables are created, yes.
pkhead
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

SonicFanX123_321 wrote:

pkhead wrote:

(#12)
Is it open source
due to how LÖVE2D executables are created, yes.
ok
well
more specifically i mean can i contribute to the development of the project by making pull requests to a GitHub
SonicFanX123_321
Scratcher
1000+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

pkhead wrote:

(#14)

SonicFanX123_321 wrote:

pkhead wrote:

(#12)
Is it open source
due to how LÖVE2D executables are created, yes.
ok
well
more specifically i mean can i contribute to the development of the project by making pull requests to a GitHub
yeah, I'll make a github for it.

Last edited by SonicFanX123_321 (July 4, 2023 07:09:57)

tagrim123
Scratcher
500+ posts

sabraLUA — a Lua port of Scratch, written in LÖVE?

This is a really cool topic and idea! I really want this to be worked on more! Keep the updates coming! Keep em' coming! bump

Powered by DjangoBB