Been trying to make some more robloxy things recently, like all my other games use none of roblox’s inbuilt systems so I’ve made my first tools!! it only took 4 years XD
Basically im wondering if there is already a game on roblox like this:
Its an FPS but you only have 2 guns one that destroys terrain and one that builds it. Goal is to kill the other team or capture their base or something…
But what im kinda really asking is are there other roblox games that play with terrain like this?
Is it a good idea?
is it worth starting up a secondary team to build…?
oh no lol the game didnt take 4 years - it took about 4 hours - it took me 4 years to bother trying out the roblox tools and inventory system in a game… + thanks… i guess i’ll start a second project… you wanna help?
Reminds me of an older game called Delve Deeper, where you controlled a squad of dwarves to mine their way to the enemy and fight, in a 2d environment. Neat concept. One thing I remember from Delve Deeper which you might consider implementing was resources; the player would come across gems and metal while breaking stone that they could use to buy or upgrade their gear or base (in delve deeper you had to destroy the enemy’s upgradable base IIRC)
hmm seems different enough i think - its using the minecraft type block system again - why does no-one use the terrain, its been around for like 6 years now?
Ya, im just shocked so few people are using the terrain… Its kinda annoying to program for tho… you basically have to write your own voxel generation system if you wanna generate anything big…
local function CreateTerrain()
local seed =12
local rand = Random.new(seed)
local xArrayMax=128
local yArrayMax=64
local zArrayMax=128
local xVoxelMax=xArrayMax*4
local yVoxelMax=yArrayMax*4
local zVoxelMax=zArrayMax*4
local Material = Enum.Material.Grass
local AreaMaterial={}
local AreaOccupancy={}
local noiseGrid = {}
for x=1,xArrayMax,1 do
noiseGrid[x]={}
for y=1,yArrayMax,1 do
noiseGrid[x][y]={}
for z=1,zArrayMax,1 do
noiseGrid[x][y][z]= rand.NextNumber(rand,0,1)
end
end
end
local newGrid ={}
local count = 0
--run noise grid through celluar automata
repeat
for x=1,xArrayMax,1 do
newGrid[x]={}
for y=1,yArrayMax,1 do
newGrid[x][y]={}
for z=1,zArrayMax,1 do
local density = noiseGrid[x][y][z]
if density >0.5 then
newGrid[x][y][z]=1
else
newGrid[x][y][z]=0
end
end
end
end
noiseGrid = newGrid
count = count +1
until count == 6
for x=1,xArrayMax,1 do
AreaMaterial[x]={}
AreaOccupancy[x]={}
for y=1,yArrayMax,1 do
AreaMaterial[x][y]={}
AreaOccupancy[x][y]={}
for z=1,zArrayMax,1 do
AreaMaterial[x][y][z]=Material
AreaOccupancy[x][y][z]=newGrid[x][y][z]
end
end
end
local offsetX = -256
local offsetY = -128
local offsetZ = -256
workspace.Terrain:WriteVoxels(Region3.new(Vector3.new(offsetX,offsetY,offsetZ),
Vector3.new(xVoxelMax+offsetX,yVoxelMax+offsetY,zVoxelMax+offsetZ)),
4,
AreaMaterial,
AreaOccupancy)
end