New MC Engine OpenSourced

So in September i created my first full game, back when i was still a noob. (i Probably still am a noob) Due to the fact that i am multitudes better at scripting, and that the MC game i made has so much old but still good code i am going to be OpenSourcing it.

Many have told me the game ranks as the best MC game they have played, and i hope you will all appreciate it if you want a MC game. If you just want to view the coding (and trust me, there is a ton), then either way enjoy:

if you take a look, tell me what you think. (Also remember this was made when i was a bad scripter [not to say its a bad game, its really good, im just better than i was before by a long shot.])

2 Likes

Haha i just counted and there is exactly 50 separate scripts in the game.

That’s cool, thanks for sharing the work, some people might come up with cool uses for it!

I’m gonna use your snap to grid method.

Dat name snipe doh

;p;p;p;p;p

What I really like about that game is its music.
Thank you. Great content.

You need to recount.

Thanks for crushing me ;_____; How do you like it though?

Here’s something crude I made a while back, the server might crash during generation but I thought it was relevant :slight_smile:
Block Terrain Framework

Im pretty sure i played that like a week ago ;p It wasn’t bad, but i wish it was a bit more developed ;p

There are easier ways to ensure that the parts “snap” to a grid.

Only problem with this method is that you have to make sure that all the floor area is covered in cubic blocks or your preferred size, but you can work around that.

local function snapToGrid(surface,hit)
    -- some if statements to ensure that hit isn't some illegitimate part
    local surfaceUnit = Vector3.FromNormalId(surface);
    return hit.Position+(surfaceUnit*3); -- where 3 is the "cubic" dimension of the block
end;

mouse.Button1Down:connect(function()
    local pos = CFrame.new(snapToGrid(mouse.TargetSurface,mouse.Hit));
    local p = Instance.new("Part",workspace)
    -- ...
    p.CFrame = pos;
end);

[quote] Here’s something crude I made a while back, the server might crash during generation but I thought it was relevant :slight_smile:
Block Terrain Framework [/quote]

Did that break? I just went there and nothing happened.

[quote] There are easier ways to ensure that the parts “snap” to a grid.

Only problem with this method is that you have to make sure that all the floor area is covered in cubic blocks or your preferred size, but you can work around that.

[code]
local function snapToGrid(surface,hit)
– some if statements to ensure that hit isn’t some illegitimate part
local surfaceUnit = Vector3.FromNormalId(surface);
return hit.Position+(surfaceUnit*3); – where 3 is the “cubic” dimension of the block
end;

mouse.Button1Down:connect(function()
local pos = CFrame.new(snapToGrid(mouse.TargetSurface,mouse.Hit));
local p = Instance.new(“Part”,workspace)
– …
p.CFrame = pos;
end);
[/code] [/quote]
The point of me making it the way i made it was so that i had complete control over what iw anted to do, and also you have to remember this was my first month of scripting (which was september) so i think i did a pretty good job at what i wanted. In fact this was finished in my first week of learning RBX.lua and even though i didn’t know it at the time its better than most scripters were able to do with their first couple of months.