Spaceship Design Rules v3.16

Discussion for the Next Big Thing, which is purely theoretical.
Locked
Water_and_Wind
Captain
Captain
Posts: 497
Joined: Wed Sep 12, 2007 3:29 am

Post by Water_and_Wind »

http://bsf_meta2_calculator.byethost17.com/index.php

My little contribution to meta 2.0.

EDIT: I see Nachus has already made a spreadsheet for this, but this is the latest version of the rules.

EDIT2: A single light engine is superior to two ultra-light engines in every possible way, and about equal to 4 of each type of assist in terms of mobility.

EDIT3: Playing around with the calculator, it seems that a ship can place too many weapons for its size. I would suggest making the weapons more powerful and have more HP in exchange for more mass and energy consumption.
Metagame 2.0 calculator: [url]http://bsf_meta2_calculator.byethost17.com/index.php[/url]
Curvy Alien Fleet: viewtopic.php?t=4959
Thrusallanian Naval Database: Patrol Craft to Behemoth, support ships, stations, warp gates, everything.
http://www.wyrdysm.com/phpBB2/viewtopic ... sc&start=0
Fleets of the Five States, get it here: http://www.wyrdysm.com/phpBB2/viewtopic.php?t=1929
vidboi
Tournamentator
Tournamentator
Posts: 669
Joined: Mon Mar 08, 2010 5:14 am
Location: UK

Post by vidboi »

seeing as there is probably going to be lots of custom weapons in the metagame, i think it would be a bad idea to set definative stats for wepons, rather limits to stats that can be changed due to technological advancements. i've been working on a calculator to set a value for custom weapons (mass required probably) that combines pretty much all the combinations available and therefor would allow custom weapons easily.

this is the formula:

((turretspeed*((range)^0.5/deviation)*(damage*(explosiondamage*explosionradius*pi/4))^0.5*(arcrange+firingarc)*(clipsize)^0.5*burstsize*(bulletspeed)^0.5*(guidance+1)*modifier)/(fusevariance+1)^0.5*(interceptability+1)*(firerate*(clipsize-1)+reloadtime))+health

it's pretty complex but it should work. i've done some testing on it but not that much, and i'm also working on one for power consumption.

note-for beams use range as bullet speed

edited-square rooting the clip size multiplier on the top because vulcans were getting huge values...
Last edited by vidboi on Thu Mar 25, 2010 4:06 pm, edited 2 times in total.
User avatar
Arcalane
Pseudofeline Overlord
Posts: 4034
Joined: Thu Sep 13, 2007 10:37 am
Location: UK

Post by Arcalane »

vidboi wrote:note-for beams use range as bullet speed
Beams use bullet speed as duration*, so that's a very stupid idea - you get beams easily lasting at least a third of a minute. :?

*There is no travel time for beams. They are instantaneous.
  /l、
゙(゚、 。 7
 l、゙ ~ヽ
 じしf_, )ノ
Water_and_Wind
Captain
Captain
Posts: 497
Joined: Wed Sep 12, 2007 3:29 am

Post by Water_and_Wind »

Arcalane wrote:
vidboi wrote:note-for beams use range as bullet speed
Beams use bullet speed as duration*, so that's a very stupid idea - you get beams easily lasting at least a third of a minute. :?

*There is no travel time for beams. They are instantaneous.
I'm pretty sure he means to use the beam's range as the bullet speed in his formula. It would make sense, if you count a beam's travel time as one frame (the smallest unit of time in BSF, and thus the closest approximation to instantaneous travel). A laser with 700 range would be able to 'move' 700 pixels in one frame, thus a bullet speed of 700. Never mind that it would make the beams really expensive...

The formula seems to be missing beam duration, although that could have already been incorporated into the damage parameter. Formula seems interesting, although I think any formula of that sort can be gamed and gamed rather quickly at that.
Metagame 2.0 calculator: [url]http://bsf_meta2_calculator.byethost17.com/index.php[/url]
Curvy Alien Fleet: viewtopic.php?t=4959
Thrusallanian Naval Database: Patrol Craft to Behemoth, support ships, stations, warp gates, everything.
http://www.wyrdysm.com/phpBB2/viewtopic ... sc&start=0
Fleets of the Five States, get it here: http://www.wyrdysm.com/phpBB2/viewtopic.php?t=1929
vidboi
Tournamentator
Tournamentator
Posts: 669
Joined: Mon Mar 08, 2010 5:14 am
Location: UK

Post by vidboi »

yeah it's the beam's range that I use for bullet speed. i may need to change the formula for it, but then again beams can be very deadly, and you can't intercept them either...

for beams use the duration as clip size

I've just realised I missed out the explosion radius from the formula. it should be explsiondamage*explosionradius*pi/4 which is the average spread of explsion damage
Water_and_Wind
Captain
Captain
Posts: 497
Joined: Wed Sep 12, 2007 3:29 am

Post by Water_and_Wind »

Should the cost be related to the square of the explosion radius since the explosion area increases at a rate equal to its radius squared?
Metagame 2.0 calculator: [url]http://bsf_meta2_calculator.byethost17.com/index.php[/url]
Curvy Alien Fleet: viewtopic.php?t=4959
Thrusallanian Naval Database: Patrol Craft to Behemoth, support ships, stations, warp gates, everything.
http://www.wyrdysm.com/phpBB2/viewtopic ... sc&start=0
Fleets of the Five States, get it here: http://www.wyrdysm.com/phpBB2/viewtopic.php?t=1929
User avatar
Arcalane
Pseudofeline Overlord
Posts: 4034
Joined: Thu Sep 13, 2007 10:37 am
Location: UK

Post by Arcalane »

AoE damage codeblock;

Code: Select all

var bullet,range,dmg,l_exprange2;
bullet = self.id
l_exprange2 = sqr(l_exprange)
with(ctr_Enemy)
        {

                range = sqr(x - bullet.x) + sqr(y - bullet.y)
                if range > l_exprange2 then continue
                dmg = bullet.l_damage*(cos(range*pi/l_exprange2)*0.5 + 0.5)   
                if object_is_ancestor(object_index,ctr_ETurrets) then 
                    {
                    dmg /= 20
                    if l_hp <= dmg then 
                        {
                        instance_destroy()
                        l_owner.l_syshp -= l_hp
                        }
                    else
                        {
                        l_hp -= dmg
                        if object_get_parent(object_index) != ctr_EShip then
                            {
                            l_owner.l_syshp -= dmg
                            }
                        }
                    }
                else
                    {
                    if l_hp <= dmg then 
                        {
                        instance_destroy()
                        if object_get_parent(object_index) != ctr_EShip then
                            {
                            l_owner.l_syshp -= dmg
                            }
                        }
                    else
                        {
                        l_hp -= dmg
                        if object_get_parent(object_index) != ctr_EShip then
                            {
                            l_owner.l_syshp -= dmg
                            }
                        }
                    }

        }
Line 9 tells the game how to figure out the damage behaviour. Line 12 modifies the damage dealt to turrets and modules to prevent AoE weapons being cheap and easy declawers.
  /l、
゙(゚、 。 7
 l、゙ ~ヽ
 じしf_, )ノ
vidboi
Tournamentator
Tournamentator
Posts: 669
Joined: Mon Mar 08, 2010 5:14 am
Location: UK

Post by vidboi »

so the damage is
dmg = bullet.l_damage*(cos(range*pi/l_exprange2)*0.5 + 0.5)
i think that would be

damage = bullet [explosion?] damage * (cosine(range[forplasmatorps?] * pi / explosion range [radius?] [distance from centre of explosion?] [^2?]) * 0.5 + 0.5)

what does the l_ before dmg and exprange mean? could you clarify anything that's in [] for me?

i think that the explosion damage therefore follows a cosine rate of change as the distance from the centre of explosion changes, which means rather than finding out the average explosion damage over the area for a linear rate of change (which is what I initially did) by using the formula (which should have explosion range squared - my mistake)

explosiondamage*(pi*explosionradius^2)/4

it should be using a cosine rate

explosion damage*4(pi*explosionradius^2 *)/9

for linear the average would be found by using 0.5 as the average then 0.5^2 = 0.25 as the average over area. For cosine rate however it would be (cos0.5)^2 = 2/3 ^2 = 4/9
User avatar
Arcalane
Pseudofeline Overlord
Posts: 4034
Joined: Thu Sep 13, 2007 10:37 am
Location: UK

Post by Arcalane »

The l_ is irrelevant. ;)

The other vars (l_exprange2, l_range) are already covered in the first few lines as well, on line three (l_exprange2) and line seven (l_range).
  /l、
゙(゚、 。 7
 l、゙ ~ヽ
 じしf_, )ノ
vidboi
Tournamentator
Tournamentator
Posts: 669
Joined: Mon Mar 08, 2010 5:14 am
Location: UK

Post by vidboi »

oh i get it so range is distance from centre of explosion. got it.

I think then thas replacing the average explosion damage formula should work.

EDIT: spreadsheet for balance calculations
Water_and_Wind
Captain
Captain
Posts: 497
Joined: Wed Sep 12, 2007 3:29 am

Post by Water_and_Wind »

First thoughts:

Deviation: the cost difference between 0 and 1 deviation is much too great.
HP: seems to be too significant a factor in the cost.
Clipsize: clipsize ^ 0.5 can be easily abused by increasing clipsize.
Metagame 2.0 calculator: [url]http://bsf_meta2_calculator.byethost17.com/index.php[/url]
Curvy Alien Fleet: viewtopic.php?t=4959
Thrusallanian Naval Database: Patrol Craft to Behemoth, support ships, stations, warp gates, everything.
http://www.wyrdysm.com/phpBB2/viewtopic ... sc&start=0
Fleets of the Five States, get it here: http://www.wyrdysm.com/phpBB2/viewtopic.php?t=1929
vidboi
Tournamentator
Tournamentator
Posts: 669
Joined: Mon Mar 08, 2010 5:14 am
Location: UK

Post by vidboi »

yeah just realised it's meant to be dev+1 in the formula (it is in the spreadsheet) i might root that as well. note - i will root that!

the clipsize is meant to reduce the cost for weapons like vulcans as they were getting scores in the thousands for basic weapons. i was thinking that with this system your stats would also be limited by your state of scientific advance.

i thought that the hp is quite logical. the fraction works out the cost for the weapon itself, and the hp is added for the amount of armour a turret has, just like sections. I'm thinking of adding a rule such as if the weapon is hull mounted (less than 3 degree arc or something) it automatically gets the same amount of hp as the section it is on (representing the fact that the weapon is contained within the section and is therefore protected by it).

EDIT - updated the spreadsheet, I also changed the beam power modifier to cube root it as beams were coming out with negative mass values
new spreadsheet
There is no OP, there is only more boosters...
GATC
Lieutenant Commander
Lieutenant Commander
Posts: 60
Joined: Mon Jun 01, 2009 5:04 am
Location: France

Post by GATC »

HP(health) 300
T(turn speed) 0,1
R(range) 3000
Dev(deviation) 0,5
D(damage) 50
AR(arc range) 90
C(clip size) 1
B(burst) 6
BS(bullet speed) 30
MM(massmodifier - for autocannon use the burst arc range divided by 360) (90/360=) 0,25
FR(fire rate) 0
Re(reload time) 50

=
TOTAL mass 520
TOTAL power 15

DPS = 180
=> Ouch?


Are you sure it is normal?
Beware! I have a Pinkie Pie launcher!
(When I look out there, it makes me GLaD I'm not you.)
vidboi
Tournamentator
Tournamentator
Posts: 669
Joined: Mon Mar 08, 2010 5:14 am
Location: UK

Post by vidboi »

yeah, but there a turn speed of 0.1 makes it really liable to being flanked and therefore less effective (in my opinion). the formula still needs some modifying though, especially for the power consumption. also, have you added on the submunitions damage formula bit (yeah, really technical...) onto the damage? if there aren't any submunitoins then don't use the mass modifier

EDIT: put it through my most up to date copy at home and the mass came out as 1630, must be something i changed to make it more balanced
There is no OP, there is only more boosters...
User avatar
Arcalane
Pseudofeline Overlord
Posts: 4034
Joined: Thu Sep 13, 2007 10:37 am
Location: UK

Post by Arcalane »

Hey guys, how about we focus on other areas of the game that are currently more important, like traits and stuff, instead of trying to make crazy DPS calculators, hmm?
  /l、
゙(゚、 。 7
 l、゙ ~ヽ
 じしf_, )ノ
Locked