Challenges
+2
Point.Blank
JHaskly
6 posters
RigidChips :: Rigid-Chips :: Challenges
Page 1 of 1
Challenges
Having noticed that the forum had no challenges section, here it is.
So, the problem that hit our old forum was an absense of two things: challenges, and admins.
We now have admins, but we need challenges. And for challenges we need ideas.
So let's here them!
I'm thinking that we should have at least one challenge open at a time, perhaps one based upon Lua and scripting prowess, with a long time limit, and one based on building prowess and ingenuity, with maybe a shorter time limit, to keep something fresh around.
So, let's discuss - once we've got a good idea, one of the admins will open up a challenge.
Note: If you have a challenge for a specific challenge for a specific someone, go ahead and post it in the user challenges section.
So, the problem that hit our old forum was an absense of two things: challenges, and admins.
We now have admins, but we need challenges. And for challenges we need ideas.
So let's here them!
I'm thinking that we should have at least one challenge open at a time, perhaps one based upon Lua and scripting prowess, with a long time limit, and one based on building prowess and ingenuity, with maybe a shorter time limit, to keep something fresh around.
So, let's discuss - once we've got a good idea, one of the admins will open up a challenge.
Note: If you have a challenge for a specific challenge for a specific someone, go ahead and post it in the user challenges section.
Last edited by JHaskly on Thu Aug 19, 2010 12:55 am; edited 1 time in total
JHaskly- Admin
- Posts : 235
Join date : 2010-07-16
Age : 28
Location : Brisbane
Re: Challenges
How about a sniper turret contest? Whoever can make the most accurate turret at the farthest range wins. Score is determined like this:
Then again, I suppose only very few members can use either, let alone effectively.
- Code:
1) The target is a standard Bulls-eye with 3 rings around the bulls-eye (total width of target is 7 chips), and a moving base to increase/decrease distance. the target also has a braking mechanism to lock in the distance, and independent-origination chips for accurate score keeping.
2) The sniper turret is limited to one arm chip only: you may need to use a recoil jet if necessary. The arm must be directly attached to the core (i.e. the arm chip directly originates from the core, no chips between.)
3) Score is calculated as follows:
Bulls eye: 10 pts
1st ring: 8 pts
2nd ring: 5 pts
3rd ring: 2 pts
Miss: 0 pts
Take the point value of the hit, and multiply it by the distance fired from.
three (3) chances: the marksman chooses the distance he wants to try firing at.
add the results from the three tries and that is the final score.
Then again, I suppose only very few members can use either, let alone effectively.
Point.Blank- Car
- Posts : 24
Join date : 2010-08-11
Age : 30
Location : Ontario, Canada
Re: Challenges
Sounds great! I have a (possible) adjustment though.
I don't think the arm chip should have to be directly connected to the core, because that can make aiming downright impossible.
What does everyone else think?
I don't think the arm chip should have to be directly connected to the core, because that can make aiming downright impossible.
What does everyone else think?
JHaskly- Admin
- Posts : 235
Join date : 2010-07-16
Age : 28
Location : Brisbane
Re: Challenges
Making an accurate turret is not hard at all, you just have to make it very light.
As for gun recoil, I don't think anyone would have to worry about it, since the goal is about hitting target rather than destroying it, the gun option can be very low. Of course scripting is needed to make it a semi-automatic gun, otherwise you'd get a machine gun instead of a sniper rifle.
As for the target, I have doubts on the design of it, because bullets are known to pass through it occasionally.
But overall, it would be a good challenge for players of all levels.
As for gun recoil, I don't think anyone would have to worry about it, since the goal is about hitting target rather than destroying it, the gun option can be very low. Of course scripting is needed to make it a semi-automatic gun, otherwise you'd get a machine gun instead of a sniper rifle.
As for the target, I have doubts on the design of it, because bullets are known to pass through it occasionally.
But overall, it would be a good challenge for players of all levels.
Re: Challenges
Maybe you could layer 2 or 3 chips so that it will be sure to hit?
Just an idea, and yes Challenges are nice
Just an idea, and yes Challenges are nice
madbob2- Tank
- Posts : 87
Join date : 2010-07-16
Age : 27
Location : Orz Lake.x
Re: Challenges
Does anyone remember Bwansy's Top down shooter pack? maybe we should each make our own custom TDS fighters, and duke it out. I can't imagine it'd be very fair if you have gatling gun tech, but fuel efficiency could be turned off to compensate, and a maximum weight limit be imposed. Just a thought, since I decided to work on my own for no apparent reason, and to learn a bit of Lua.
Point.Blank- Car
- Posts : 24
Join date : 2010-08-11
Age : 30
Location : Ontario, Canada
Re: Challenges
I remember it... I think.
It's a good idea, what does everyone else think?
It's a good idea, what does everyone else think?
JHaskly- Admin
- Posts : 235
Join date : 2010-07-16
Age : 28
Location : Brisbane
Re: Challenges
I don't remember, but it sounds fun.
You could have generic buildoffs, with specific themes and limits. Kinda like Scrapheap Challenge, but with chips.
You could have generic buildoffs, with specific themes and limits. Kinda like Scrapheap Challenge, but with chips.
Sean Mirrsen- Cube
- Posts : 4
Join date : 2010-08-19
Re: Challenges
For those who don't remember, here it is:
TDS Base:
TDS Base:
- Code:
// [RCD]
Val
{
XJETPWR(default=0, min=-999999999, max=999999999, disp=0)
YJETPWRB(default=0, min=-999999999, max=999999999, disp=0)
YJETPWRF(default=0, min=-999999999, max=999999999, disp=0)
YJETPWRL(default=0, min=-999999999, max=999999999, disp=0)
YJETPWRR(default=0, min=-999999999, max=999999999, disp=0)
ZJETPWRL(default=0, min=-999999999, max=999999999, disp=0)
ZJETPWRR(default=0, min=-999999999, max=999999999, disp=0)
}
Key
{
}
Body
{
Core(name=BODY) {
N:Jet(power=YJETPWRF) {
S:TrimF(angle=-90, option=1) {
N:Jet(angle=180, power=XJETPWR) { }
}
}
E:Jet(power=YJETPWRR) { }
S:Jet(power=YJETPWRB) { }
W:Jet(power=YJETPWRL) { }
W:TrimF(angle=-90, option=1) {
E:Jet(angle=180, power=ZJETPWRL) { }
}
E:TrimF(angle=90, option=1) {
W:Jet(angle=180, power=ZJETPWRR) { }
}
}
}
Lua
{require("Bernard/Aero.lua")
function init()
clist = {}
for i = 0,_CHIPS()-1 do
table.insert(clist,i)
end
mouseflag = 1
ctrlmode = 0
hoverht = 1.5
end
function OnInit()
init()
end
function OnReset()
init()
end
function inputctrl()
mouseflag = switch(mouseflag,14)
ctrlmode = switch(ctrlmode,16)
if mouseflag > 0 then
scrx = _WIDTH()
scry = _HEIGHT()
mx = (1-(_MX()/(scrx))*2)*(scrx/scry)
my = (1-(_MY()/(scry))*2)
else
mx,my = 0,0
end
headtgt = atan2(-mx,my)
inpws = _KEY(15)-_KEY(8)
inpad = _KEY(7)-_KEY(9)
temp = len2(inpws,inpad)
if temp > 0 then
inpws = inpws/temp
inpad = inpad/temp
end
end
function getstate()
st = getstatefull(BODY,clist,st)
st.ex,st.ey,st.ez = vtr3.euler(BODY)
wt = st.m*9.81
end
function hover()
dh = getht(BODY)-hoverht
thry = 1-dh*1-st.iv.y*0.4
if ctrlmode == 0 then
itx = -inpad*15+st.iv.x*0.5
itz = inpws*15+st.iv.z*0.5
sey = sin(st.ey)
cey = cos(st.ey)
thrx = -itx*cey+itz*sey
thrz = itx*sey+itz*cey
elseif ctrlmode == 1 then
thrx = inpad*15-st.v.x*0.5
thrz = inpws*15+st.v.z*0.5
end
pitcht = thry*st.bcg.z/0.6+st.ex*2+st.w.x*0.3
rollt = -thry*st.bcg.x/0.6+st.ez*1.5+st.w.z*0.2
yawt = -thrz*st.bcg.x/0.6-thrx*st.bcg.z/0.6+limit(normalrad(st.ey-headtgt)*25,-40,40)*mouseflag+st.w.y*1.4
end
function actuate()
XJETPWR = 6*wt*thrx
YJETPWRL = 6*wt*(thry/4-rollt/2)
YJETPWRR = 6*wt*(thry/4+rollt/2)
YJETPWRF = 6*wt*(thry/4-pitcht/2)
YJETPWRB = 6*wt*(thry/4+pitcht/2)
ZJETPWRL = 6*wt*(thrz/2-yawt/2)
ZJETPWRR = 6*wt*(thrz/2+yawt/2)
end
function OnFrame()
inputctrl()
getstate()
hover()
actuate()
laser(BODY,rgb(255,0,0),-3)
out(0,"Top-Down Shooter Base")
out(1,"[Q] Toggle mouse")
if ctrlmode == 0 then
out(2,"[E] Control mode (Absolute)")
elseif ctrlmode == 1 then
out(2,"[E] Control mode (Relative)")
end
out(3,"[W/S/A/D] Move")
out(4,"Mouse: aim; Left button: shoot")
end}
- Code:
// [RCD]
Val
{
GUNANG1(default=0, min=-400, max=400, disp=0)
TRIG1(default=0, max=999999999, step=999999999, disp=0)
XJETPWR(default=0, min=-999999999, max=999999999, disp=0)
YJETPWRB(default=0, min=-999999999, max=999999999, disp=0)
YJETPWRF(default=0, min=-999999999, max=999999999, disp=0)
YJETPWRL(default=0, min=-999999999, max=999999999, disp=0)
YJETPWRR(default=0, min=-999999999, max=999999999, disp=0)
ZJETPWRL(default=0, min=-999999999, max=999999999, disp=0)
ZJETPWRR(default=0, min=-999999999, max=999999999, disp=0)
}
Key
{
}
Body
{
Core(name=BODY) {
N:Jet(power=YJETPWRF) {
N:Arm(angle=GUNANG1, power=TRIG1, option=400000, name=GUN1) { }
S:TrimF(angle=-90, option=1) {
N:Jet(angle=180, power=XJETPWR) { }
}
}
E:Jet(power=YJETPWRR) { }
S:Jet(power=YJETPWRB) { }
W:Jet(power=YJETPWRL) { }
W:TrimF(angle=-90, option=1) {
E:Jet(angle=180, power=ZJETPWRL) { }
}
E:TrimF(angle=90, option=1) {
W:Jet(angle=180, power=ZJETPWRR) { }
}
}
}
Lua
{require("Bernard/Aero.lua")
function init()
clist = {}
for i = 0,_CHIPS()-1 do
table.insert(clist,i)
end
mouseflag = 1
ctrlmode = 0
hoverht = 1.5
gunop = 400000
end
function OnInit()
init()
end
function OnReset()
init()
end
function inputctrl()
mouseflag = switch(mouseflag,14)
ctrlmode = switch(ctrlmode,16)
if mouseflag > 0 then
scrx = _WIDTH()
scry = _HEIGHT()
mx = (1-(_MX()/(scrx))*2)*(scrx/scry)
my = (1-(_MY()/(scry))*2)
else
mx,my = 0,0
end
headtgt = atan2(-mx,my)
inpws = _KEY(15)-_KEY(8)
inpad = _KEY(7)-_KEY(9)
temp = len2(inpws,inpad)
if temp > 0 then
inpws = inpws/temp
inpad = inpad/temp
end
end
function getstate()
st = getstatefull(BODY,clist,st)
st.ex,st.ey,st.ez = vtr3.euler(BODY)
wt = st.m*9.81
end
function hover()
dh = getht(BODY)-hoverht
thry = 1-dh*1-st.iv.y*0.4
if ctrlmode == 0 then
itx = -inpad*15+st.iv.x*0.5
itz = inpws*15+st.iv.z*0.5
sey = sin(st.ey)
cey = cos(st.ey)
thrx = -itx*cey+itz*sey
thrz = itx*sey+itz*cey
elseif ctrlmode == 1 then
thrx = inpad*15-st.v.x*0.5
thrz = inpws*15+st.v.z*0.5
end
pitcht = thry*st.bcg.z/0.6+st.ex*2+st.w.x*0.3
rollt = -thry*st.bcg.x/0.6+st.ez*1.5+st.w.z*0.2
yawt = -thrz*st.bcg.x/0.6-thrx*st.bcg.z/0.6+limit(normalrad(st.ey-headtgt)*25,-40,40)*mouseflag+st.w.y*1.95
end
function fire()
gunjet = 0
trig = _ML()*mouseflag
if trig > 0 and _E(GUN1) == gunop and _TICKS() > 150 then
TRIG1 = 999999999
gunjet = gunop
end
end
function actuate()
GUNANG1 = -asind(_ZY(GUN1-1))
XJETPWR = 6*wt*thrx
YJETPWRL = 6*wt*(thry/4-rollt/2)
YJETPWRR = 6*wt*(thry/4+rollt/2)
YJETPWRF = 6*wt*(thry/4-pitcht/2)
YJETPWRB = 6*wt*(thry/4+pitcht/2)
ZJETPWRL = 6*wt*(thrz/2-yawt/2)+gunjet/2
ZJETPWRR = 6*wt*(thrz/2+yawt/2)+gunjet/2
end
function OnFrame()
inputctrl()
getstate()
hover()
fire()
actuate()
laser(BODY,rgb(255,0,0),-3)
out(0,"Top-Down Shooter Base")
out(1,"[Q] Toggle mouse")
if ctrlmode == 0 then
out(2,"[E] Control mode (Absolute)")
elseif ctrlmode == 1 then
out(2,"[E] Control mode (Relative)")
end
out(3,"[W/S/A/D] Move")
out(4,"Mouse: aim; Left button: shoot")
end}
- Code:
// [RCD]
Val
{
GUNANG1(default=0, min=-400, max=400, disp=0)
GUNANG2(default=0, min=-400, max=400, disp=0)
TRIG1(default=0, max=999999999, step=999999999, disp=0)
TRIG2(default=0, max=999999999, step=999999999, disp=0)
XJETPWR(default=0, min=-999999999, max=999999999, disp=0)
YJETPWRB(default=0, min=-999999999, max=999999999, disp=0)
YJETPWRF(default=0, min=-999999999, max=999999999, disp=0)
YJETPWRL(default=0, min=-999999999, max=999999999, disp=0)
YJETPWRR(default=0, min=-999999999, max=999999999, disp=0)
ZJETPWRL(default=0, min=-999999999, max=999999999, disp=0)
ZJETPWRR(default=0, min=-999999999, max=999999999, disp=0)
}
Key
{
}
Body
{
Core(name=BODY) {
N:Jet(power=YJETPWRF) {
S:TrimF(angle=-90, option=1) {
N:Jet(angle=180, power=XJETPWR) { }
}
}
E:Jet(power=YJETPWRR) {
N:Arm(angle=GUNANG2, power=TRIG2, option=400000, name=GUN2) { }
}
S:Jet(power=YJETPWRB) { }
W:Jet(power=YJETPWRL) {
N:Arm(angle=GUNANG1, power=TRIG1, option=400000, name=GUN1) { }
}
W:TrimF(angle=-90, option=1) {
E:Jet(angle=180, power=ZJETPWRL) { }
}
E:TrimF(angle=90, option=1) {
W:Jet(angle=180, power=ZJETPWRR) { }
}
}
}
Lua
{require("Bernard/Aero.lua")
function init()
clist = {}
for i = 0,_CHIPS()-1 do
table.insert(clist,i)
end
mouseflag = 1
ctrlmode = 0
hoverht = 1.5
gunop = 400000
guncharge = {0,0}
end
function OnInit()
init()
end
function OnReset()
init()
end
function inputctrl()
mouseflag = switch(mouseflag,14)
ctrlmode = switch(ctrlmode,16)
if mouseflag > 0 then
scrx = _WIDTH()
scry = _HEIGHT()
mx = (1-(_MX()/(scrx))*2)*(scrx/scry)
my = (1-(_MY()/(scry))*2)
else
mx,my = 0,0
end
headtgt = atan2(-mx,my)
inpws = _KEY(15)-_KEY(8)
inpad = _KEY(7)-_KEY(9)
temp = len2(inpws,inpad)
if temp > 0 then
inpws = inpws/temp
inpad = inpad/temp
end
end
function getstate()
st = getstatefull(BODY,clist,st)
st.ex,st.ey,st.ez = vtr3.euler(BODY)
wt = st.m*9.81
end
function hover()
dh = getht(BODY)-hoverht
thry = 1-dh*1-st.iv.y*0.4
if ctrlmode == 0 then
itx = -inpad*10+st.iv.x*0.8
itz = inpws*10+st.iv.z*0.8
sey = sin(st.ey)
cey = cos(st.ey)
thrx = -itx*cey+itz*sey
thrz = itx*sey+itz*cey
elseif ctrlmode == 1 then
thrx = inpad*10-st.v.x*0.8
thrz = inpws*10+st.v.z*0.8
end
pitcht = thry*st.bcg.z/0.6+st.ex*2+st.w.x*0.3
rollt = -thry*st.bcg.x/0.6+st.ez*1.5+st.w.z*0.2
yawt = -thrz*st.bcg.x/0.6-thrx*st.bcg.z/0.6+limit(normalrad(st.ey-headtgt)*30,-40,40)*mouseflag+st.w.y*1.85
end
function fire()
gunjet = {0,0}
trig1 = _ML()*mouseflag
trig2 = _MR()*mouseflag
for i = 1,2 do
guncharge[i] = _E(_G["GUN"..i])/gunop
if _G["trig"..i] > 0 and guncharge[i] == 1 and _TICKS() > 150 then
_G["TRIG"..i] = 999999999
gunjet[i] = gunop
end
end
if mouseflag > 0 then
for i =1,2 do
if guncharge[i] == 1 then
col = rgb(255,0,0)
else
col = rgb(255*guncharge[i],255*guncharge[i],0)
end
laser(_G["GUN"..i],col,-3)
end
end
end
function actuate()
for i = 1,2 do
_G["GUNANG"..i] = -asind(_ZY(_G["GUN"..i]-1))
end
XJETPWR = 6*wt*thrx
YJETPWRL = 6*wt*(thry/4-rollt/2)
YJETPWRR = 6*wt*(thry/4+rollt/2)
YJETPWRF = 6*wt*(thry/4-pitcht/2)
YJETPWRB = 6*wt*(thry/4+pitcht/2)
ZJETPWRL = 6*wt*(thrz/2-yawt/2)+gunjet[1]
ZJETPWRR = 6*wt*(thrz/2+yawt/2)+gunjet[2]
end
function OnFrame()
inputctrl()
getstate()
hover()
fire()
actuate()
out(0,"Top-Down Shooter Base")
out(1,"[Q] Toggle mouse")
if ctrlmode == 0 then
out(2,"[E] Control mode (Absolute)")
elseif ctrlmode == 1 then
out(2,"[E] Control mode (Relative)")
end
out(3,"[W/S/A/D] Move")
out(4,"Mouse: aim; Left/right button: shoot")
end}
Point.Blank- Car
- Posts : 24
Join date : 2010-08-11
Age : 30
Location : Ontario, Canada
Re: Challenges
Oh, and you could post the dates of the challenges in the calendar. That way you can easily keep an eye on the time left to create something.
Last I checked, it was awfully empty.
Last I checked, it was awfully empty.
T-Bouw- Car
- Posts : 22
Join date : 2010-07-22
Age : 41
Location : The Netherlands
RigidChips :: Rigid-Chips :: Challenges
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum