Home World Forum
Stars! AutoHost web forums

Jump to Stars! AutoHost


 
 
Home » Stars! Clones, Extensions, Modding » FreeStars » Shipsets
Re: Shipsets Wed, 13 September 2006 19:01 Go to previous messageGo to next message
Coyote is currently offline Coyote

 
Lt. Commander

Messages: 906
Registered: November 2002
Location: Pacific NW

Quote:

Fine, zip together and PM to me? I just started to write a race wizard so i can put yours in as default ones. Wink


Yes. Actually there are even 16x16 versions used on original Battle VCR. But i would leave shrinking them up to player too on case of custom flag. I have noticed that automatic shrinking algorithms often give quite mediocre results.



So... would you want the 16x16 copies too, or is just 32x32 fine? AFAIK pretty much everyone these days has enough resolution that 32x32 will still be awfully tiny. If you want 64x64 or larger just in case, lemme know so I can make those first and either shrink 'em down or make smaller copies.

It'll take a while, I'm pretty busy these days.


[Updated on: Wed, 13 September 2006 19:02]

Report message to a moderator

Re: Shipsets Thu, 14 September 2006 06:44 Go to previous messageGo to next message
Kotk

 
Commander

Messages: 1227
Registered: May 2003
Yes, sure ... send 64x64. Nod
I can let some program to make them smaller, if you have no smaller versions, just hand-made ones are usually nicer. I have no much eye to beauty ... see my avatar for example. Very Happy

Report message to a moderator

Re: Shipsets Wed, 27 September 2006 22:39 Go to previous messageGo to next message
Coyote is currently offline Coyote

 
Lt. Commander

Messages: 906
Registered: November 2002
Location: Pacific NW

Sent 16 preliminary 32x32 images to Kotk.

Report message to a moderator

Re: Shipsets Sat, 30 September 2006 18:33 Go to previous messageGo to next message
Coyote is currently offline Coyote

 
Lt. Commander

Messages: 906
Registered: November 2002
Location: Pacific NW

16 decent looking 64x64 icons sent in now. More to come later. I think there should be at least 32 available for more choice.

Edit: Just sent in 8 more. I'm starting to get the hang of this.


[Updated on: Sun, 01 October 2006 04:33]

Report message to a moderator

Re: Shipsets Sun, 01 October 2006 07:50 Go to previous messageGo to next message
Kotk

 
Commander

Messages: 1227
Registered: May 2003
Thanks, i will put them into the race wizard.

Also ... I think i can speed up the GetAdvantagePoints. Only ... need to track down first why it produces inconsistent numbers. Confused

Report message to a moderator

Re: Shipsets Sun, 01 October 2006 12:22 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
Kotk wrote on Sun, 01 October 2006 13:50

I think i can speed up the GetAdvantagePoints. Only ... need to track down first why it produces inconsistent numbers. Confused



Just what kind of inconsistency is that? Can you relate it to PRT, LRT or perhaps hab settings? Sherlock

There's already two RaceWizards in seemingly working order. Cool Perhaps we can compare notes and speedup the debugging process. Whip

Also, you might want to look at the calculateHab portions first for bottlenecks, as IIRC that's where the worst loops are. Rolling Eyes



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Shipsets Sun, 01 October 2006 18:20 Go to previous messageGo to next message
Kotk

 
Commander

Messages: 1227
Registered: May 2003
m.a@stars wrote on Sun, 01 October 2006 19:22

Just what kind of inconsistency is that? Can you relate it to PRT, LRT or perhaps hab settings? Sherlock

When i write race to disk and read back into race wizard GetAdvantagePoints gives different points than before writing. Tiny xml is slow i dont want to save race after each click. Pobably i make the changes to race in some wrong way there.
Quote:

There's already two RaceWizards in seemingly working order. Cool Perhaps we can compare notes and speedup the debugging process. Whip
Two other RaceWizards are already working? Shocked Any of them using LibFS library? Rolling Eyes
Quote:

Also, you might want to look at the calculateHab portions first for bottlenecks, as IIRC that's where the worst loops are. Rolling Eyes
Yes... i see the HabPointsRecursion is taking 4 deques as parameters. HabPointsRecursion is called 4500 times during GetAdvantagePoints so 18000 times copy constructing and then destructing std::deque ... that probably feels. HabPointsRecursion can take deque references as parameters. Using Rules::GetConstant repetively enough seems to be other bottleneck but lot less serious. Wink

Report message to a moderator

Re: Shipsets Tue, 03 October 2006 23:27 Go to previous messageGo to next message
Coyote is currently offline Coyote

 
Lt. Commander

Messages: 906
Registered: November 2002
Location: Pacific NW

8 more emblems sent in for a total of 32. Should be enough.

Report message to a moderator

Re: Shipsets Wed, 04 October 2006 19:41 Go to previous messageGo to next message
Kotk

 
Commander

Messages: 1227
Registered: May 2003
Kotk wrote on Mon, 02 October 2006 01:20

m.a @ stars wrote on Sun, 01 October 2006 19:22

Just what kind of inconsistency is that? Can you relate it to PRT, LRT or perhaps hab settings? Sherlock

When i write race to disk and read back into race wizard GetAdvantagePoints gives different points than before writing. Tiny xml is slow i dont want to save race after each click. Pobably i make the changes to race in some wrong way there.

Oh i now see... Changing races PRTs and LRTs does not change its point cost because Race cashes former calculated points internally and later does return cashed value. It was not too obvious because macros have been used there for generating member functions and it only cashes part of advantage points and rest recalculates. OK ... i can get it to work lot more consistent now. Very Happy

Yep... Race::ResetDefaults does it. Quite same points as original now. Only thing i see is that NAS for PP, JOAT and SS differs from original Stars!, rest seems is working. Smile


[Updated on: Wed, 04 October 2006 20:05]

Report message to a moderator

Re: Shipsets Thu, 05 October 2006 06:20 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
Sorry for the late answer... Rolling Eyes

Kotk wrote on Mon, 02 October 2006 00:20

When i write race to disk and read back into race wizard GetAdvantagePoints gives different points than before writing.


Heh, indeed it looks unrelated to the algorithms themselves. Razz


Quote:

Two other RaceWizards are already working? Shocked Any of them using LibFS library? Rolling Eyes


Mine uses 100% Javascript (and it's not overly slow, either). Dunno what LeiT's uses, but might be LibFS. Sherlock

And then there's ConstB "original" one... Wink


Quote:

the HabPointsRecursion is taking 4 deques as parameters. HabPointsRecursion is called 4500 times during GetAdvantagePoints so 18000 times copy constructing and then destructing std::deque ... that probably feels.


Deques? OMG! Twisted Evil Whip



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Shipsets Thu, 05 October 2006 10:07 Go to previous messageGo to next message
Kotk

 
Commander

Messages: 1227
Registered: May 2003
m.a@stars wrote on Thu, 05 October 2006 13:20

Mine uses 100% Javascript (and it's not overly slow, either). Dunno what LeiT's uses, but might be LibFS. Sherlock

And then there's ConstB "original" one... Wink

Hehe, i try to tell how i see it. You confuse "race wizard" (part of UI) with "rw points calc" (an algorithm)? Sherlock

1) ConstB reverse engineered original rw point calculation from stars!. I trust it is reverse engineered well. So it works.
2) LibFS is mostly LEits implementation. Actually its fascinating how LEit has managed to write so lot of server code basically in blind, with only command line level UI.
3) FreeStars::Race::GetAdvantagePoints in LibFS is LEit's refactoring of ConstB algorithm. Main work is done to use freestars data types and structures.
4) Race wizard is where rest of freestars is at source forge. It implements no "rw points calc" algorithms of its own. Why to reinvent a wheel? Who wants to see it got to get from CVS and to compile. Or to bug Orca, OWK or LEit to release something (i am no admin there).

There are at least 3 different "freestars clients" in sourceforge, but none of these clients does anything. Confused I decided to evaluate vxWidgets in practice (its been around for a while so cant be full crap). In the process of evaluation wxWidgets lib i can also make one of them clients to do few things. Very Happy

Also i chat about it here. Partly out of boredom, partly because its fruitful. Wink For example Coyote made me some race embleme pictures. Actually now ... that RW is slow as Debug version but Release is more or less already. So i turn my attention back to ship and starbase designer now. Very Happy

Report message to a moderator

Re: Shipsets Thu, 05 October 2006 11:32 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
Kotk wrote on Thu, 05 October 2006 16:07

Hehe, i try to tell how i see it. You confuse "race wizard" (part of UI) with "rw points calc" (an algorithm)? Sherlock


Sorry, can't help you with UI... Sad I got just the algorithms (plus an HTML form to enter values). But I can guarantee the algorithms work, at least for every race design ConstB, LEit and myself managed to throw at them. Whip

Quote:

2) LibFS is mostly LEits implementation. Actually its fascinating how LEit has managed to write so lot of server code basically in blind, with only command line level UI.


As far as I understand Freestars, that was the idea, wasn't it? Write a client-independent Server. Cool

Quote:

3) FreeStars::Race::GetAdvantagePoints in LibFS is LEit's refactoring of ConstB algorithm. Main work is done to use freestars data types and structures.


Perhaps *too* much use of complex freestars data types and structures? Sherlock If you managed to be slow where even Javascript runs reasonably fast, then you need to streamline things. Razz Whip


Quote:

There are at least 3 different "freestars clients" in sourceforge, but none of these clients does anything. Confused


Yep, I noticed. Sad Glad someone's taken the bold step of setting things turning... Very Happy


Quote:

Release is more or less already. So i turn my attention back to ship and starbase designer now. Very Happy


Good news all around. Smile Can't wait to see how your Designer assigns combat ratings, tho. Twisted Evil



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Shipsets Thu, 05 October 2006 12:56 Go to previous messageGo to next message
Kotk

 
Commander

Messages: 1227
Registered: May 2003
m.a@stars wrote on Thu, 05 October 2006 18:32

But I can guarantee the algorithms work, at least for every race design ConstB, LEit and myself managed to throw at them. Wall Bash

Very likely. Like i said currently only NAS does not seem to work for SS, JOAT and PP, and probable reason is that LEit has cashed something somewhere and Race::ResetDefaults does not reset it.

Occurs it like that:
I check NAS for standard humanoid and get 133 instead 120.
I save and reload race and i get correct 120.
I uncheck NAS (for reloaded race) and get 11 instead of 25. Wink
Quote:

As far as I understand Freestars, that was the idea, wasn't it? Write a client-independent Server. Cool
Why? Confused
Deal "FreeStars is a project to create an easily modifiable clone of the 4X turn-based strategy game Stars!."
So emphasis is on "easily modifiable". To achieve it there are further subgoals:
Use cross-platform tools/libraries.
Implement most game rules/constants configureable.
Implement Client and Server independent from each other. Nod
Quote:

Perhaps *too* much use of complex freestars data types and structures? Sherlock If you managed to be slow where even Javascript runs reasonably fast, then you need to streamline things. Razz Wall Bash
ConstB code uses
#define HABCOUNT 3
LibFS uses something like ...
#define HABCOUNT FreeStars::Rules::GetConstant("HabCount",3)
Quite a difference indeed. Wink
Quote:

Good news all around. Smile Can't wait to see how your Designer assigns combat ratings, tho. Twisted Evil

Huh... what rating? Unless LEit has it already implemented it is probabply published dozen times. I am working on LOT MORE interesting things like hiding/showing and disabling/enabling, filling/cleaning controls and panes there. Very Happy Laughing

Report message to a moderator

Re: Shipsets Thu, 05 October 2006 18:59 Go to previous messageGo to next message
Coyote is currently offline Coyote

 
Lt. Commander

Messages: 906
Registered: November 2002
Location: Pacific NW

You could make rating more reflective of the ship's actual battle effectiveness, eg, in pseudo-code:
For each weapon slot:
  if beam:
      rating += number of beams in slot * beam damage * 1.1^(number of capacitors)
   if torpedo:
      rating += number of torpedoes in slot * damage * computer-adjusted accuracy
      if capital missile:
         rating*=1.5
rating += (total armor dp + total shield dp *1.5)*(1+jamming%/2+deflect%/2)


Report message to a moderator

Re: Shipsets Fri, 06 October 2006 03:46 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
Coyote wrote on Fri, 06 October 2006 00:59

You could make rating more reflective of the ship's actual battle effectiveness, eg, in pseudo-code:
For each weapon slot:
  if beam:
      rating += number of beams in slot * beam damage * 1.1^(number of capacitors)
   if torpedo:
      rating += number of torpedoes in slot * damage * computer-adjusted accuracy
      if capital missile:
         rating*=1.5
rating += (total armor dp + total shield dp *1.5)*(1+jamming%/2+deflect%/2)





I guess battleboard movement, range of weapons and Regenerating Shields should also be taken into account? Sherlock Whip

Initiative is important, too. Even mass has some bearing in combat, as lighter ships move last. Twisted Evil


[Updated on: Fri, 06 October 2006 07:27]




So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Shipsets Fri, 06 October 2006 03:56 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
Kotk wrote on Thu, 05 October 2006 18:56

Very likely. Like i said currently only NAS does not seem to work for SS, JOAT and PP, and probable reason is that LEit has cashed something somewhere and Race::ResetDefaults does not reset it.


Sounds likely, yeah. So it's a problem *outside* of the actual algorithm. Sherlock Hit Computer


Quote:

So emphasis is on "easily modifiable". To achieve it there are further subgoals:
Use cross-platform tools/libraries.
Implement most game rules/constants configureable.
Implement Client and Server independent from each other. Nod


Yep, that was the subgoal I had in mind. Cool

Quote:

LibFS uses something like ...
#define HABCOUNT FreeStars::Rules::GetConstant("HabCount",3)
Quite a difference indeed. Wink


Not the end of the world, unless you use that beast inside a loop. Shocked Whip

Quote:

Huh... what rating? Unless LEit has it already implemented it is probabply published dozen times.


Perhaps you're right. My memory isn't what it was. Razz Still, since it seems "rating" has little or no bearing on actual combat (IOW, it's not used for anything, except perhaps the AI) I've always wondered about better, more usable "ratings" if the original one was not useful.


Quote:

I am working on LOT MORE interesting things like hiding/showing and disabling/enabling, filling/cleaning controls and panes there. Very Happy Laughing


Yeah, sure. Razz To you the joys of GUI programming, I'll stick with ugly algorithms. Very Happy



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Shipsets Fri, 06 October 2006 07:26 Go to previous messageGo to next message
Kotk

 
Commander

Messages: 1227
Registered: May 2003
m.a@stars wrote on Fri, 06 October 2006 10:56

Not the end of the world, unless you use that beast inside a loop. Shocked Wall Bash
Everyhing that you think about stars like a constant ... is made variable and configurable in FreeStars.
Such "constants" are searched from a map with a string as search key. FreeStars::Rules::GetConstant("HabCount",3) i gave as example was meant about general ideology (possibly its even not actual definition in LibFS). If such thing occurs slow can be easily replaced with FreeStars::Rules::GetHabCount() or something. Wink
Quote:

Still, since it seems "rating" has little or no bearing on actual combat (IOW, it's not used for anything, except perhaps the AI) I've always wondered about better, more usable "ratings" if the original one was not useful.
For what you want to use rating? Ratings are always used for "Showing" and "Classifying". Wink Original rating is shown and used for warship classifying capital ship (rating>=2000) or escort ship (rating<2000). Thats it. Any better ideas?
Quote:

Yeah, sure. Razz To you the joys of GUI programming, I'll stick with ugly algorithms. Very Happy
Hmm, what algorithms? Name unpublished algorithm? Rolling Eyes

Report message to a moderator

Re: Shipsets Fri, 06 October 2006 07:42 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
Kotk wrote on Fri, 06 October 2006 13:26

Everyhing that you think about stars like a constant ... is made variable and configurable in FreeStars.
Such "constants" are searched from a map with a string as search key. FreeStars::Rules::GetConstant("HabCount",3) i gave as example was meant about general ideology (possibly its even not actual definition in LibFS). If such thing occurs slow can be easily replaced with FreeStars::Rules::GetHabCount() or something. Wink


Not my point. How you grab the "constant" value is unimportant. Provided you grab it *outside* any loops... Razz Whip

Quote:

For what you want to use rating? Ratings are always used for "Showing" and "Classifying". Wink Original rating is shown and used for warship classifying capital ship (rating>=2000) or escort ship (rating<2000). Thats it. Any better ideas?


Dunno. Perhaps just give a more accurate "feel" of a design's true worth. Would be fun if it affected attractiveness in combat, too. Very Happy

Quote:

Quote:

Yeah, sure. Razz To you the joys of GUI programming, I'll stick with ugly algorithms. Very Happy
Hmm, what algorithms? Name unpublished algorithm? Rolling Eyes


I was being general. Barring extreme circumstances I'd rather bury myself in math than dealing with GUI issues. Yuck But it's just a personal preference, ofc. Wink



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Shipsets Fri, 06 October 2006 19:12 Go to previous messageGo to next message
Coyote is currently offline Coyote

 
Lt. Commander

Messages: 906
Registered: November 2002
Location: Pacific NW

m.a@stars wrote on Fri, 06 October 2006 04:42[quote title=Quote:

For what you want to use rating? Ratings are always used for "Showing" and "Classifying". Wink Original rating is shown and used for warship classifying capital ship (rating>=2000) or escort ship (rating<2000). Thats it. Any better ideas?


Dunno. Perhaps just give a more accurate "feel" of a design's true worth. Would be fun if it affected attractiveness in combat, too. Very Happy
[/quote]


Funny, I was just thinking that. Ie, maybe give an option in battle plan to target by cost or by rating.

Report message to a moderator

Re: Shipsets Sat, 07 October 2006 10:39 Go to previous messageGo to next message
Kotk

 
Commander

Messages: 1227
Registered: May 2003
[email

m.a@stars[/email] wrote on Fri, 06 October 2006 14:42]Not my point. How you grab the "constant" value is unimportant. Provided you grab it *outside* any loops... Razz Wall Bash
Me? Embarassed I am writing the GUI, remember. Wink Interface. Very Happy No algorithms. Razz
BTW ... simple speed optimizations are usually done by compiler.
Quote:

Dunno. Perhaps just give a more accurate "feel" of a design's true worth. Would be fun if it affected attractiveness in combat, too. Very Happy
I believe LEit has not written much combat yet. Pity. Otherwise i would take VCR for next.
Quote:

I was being general. Barring extreme circumstances I'd rather bury myself in math than dealing with GUI issues. Yuck But it's just a personal preference, ofc. Wink
I usually write software with very low UI. Software that interacts mostly with other software. Have done it for years. For me ... writing UI now is just that ... a variety. Wink


[Updated on: Sat, 07 October 2006 10:52]

Report message to a moderator

Re: Shipsets Sat, 07 October 2006 18:34 Go to previous messageGo to next message
Coyote is currently offline Coyote

 
Lt. Commander

Messages: 906
Registered: November 2002
Location: Pacific NW

When making the UI, just think about the things you do most often and make those easiest to access. It's OK with me if the UI is different from Stars! as long as it's logical and quick to use. KB shortcuts are very nice, but spacially intuitive layouts help too.

Perhaps consider putting the map in the middle with a planet pane on one side and a fleet pane on the other (so you can see both at once) - panes can be collapsible to the edge of the screen to reveal more of the map. Also, the map could have some of the fun tools like XB has... perhaps a "force projection" display that puts a 100ly bright hollow circle around each planet with a gate and a dim one around planets without gates, or something like that. Or a better population view where planets project a big hollow circle around themselves proportional to population so territory density is easy to see. And a similar view for total resources and for defensive coverage... maybe allow these sort of filters to stack onto each other. Also, a similar display for fleets - the fleets each get a circle around them with size proportional to the fleet's mass (less cargo, of course). Then combining pop density with fleet density you can see strong and weak points in defensive coverage...

Report message to a moderator

Re: Shipsets Sun, 08 October 2006 05:01 Go to previous messageGo to next message
tgellan is currently offline tgellan

 
Chief Petty Officer

Messages: 75
Registered: May 2006
Location: Luxembourg
Coyote wrote on Sun, 08 October 2006 00:34

When making the UI, just think about the things you do most often and make those easiest to access. It's OK with me if the UI is different from Stars! as long as it's logical and quick to use. KB shortcuts are very nice, but spacially intuitive layouts help too.



The only thing I'm really sorry about the stars display is, that the individual panes are not floating... With my two screen I'd like to simply take the galactic view maxed to one, and all the information put to my liking to the other on. Eventually including additional one, like the name fleet report.

Just my 5 cents

T'Gellan

Report message to a moderator

Re: Shipsets Sun, 08 October 2006 06:50 Go to previous messageGo to next message
Coyote is currently offline Coyote

 
Lt. Commander

Messages: 906
Registered: November 2002
Location: Pacific NW

There could be an option to have separate windows for each screen.... why not?


I wish I was helping with coding, now...

Report message to a moderator

Re: Shipsets Sun, 08 October 2006 17:47 Go to previous messageGo to next message
Kotk

 
Commander

Messages: 1227
Registered: May 2003
Current FS Client has the planet and fleet orders and details windows in it already as dockable! Rolling Eyes I have not evaluated the code of them so probably no much implemented really ... but dockable they are. Laughing I think that most reports, lists and views can be also made dockable. I am not sure if some tabbed look can be added with wxVidgets.
Actually wxVidgets is ok just who the enemy Furious thought out such sizers. Fire bounce

Coyote wrote on Sun, 08 October 2006 13:50

I wish I was helping with coding, now...
Who forbids? Have you downloaded the code? Got it to compile and run? What you would like to code there? Rolling Eyes

Report message to a moderator

Re: Shipsets Mon, 09 October 2006 06:35 Go to previous message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
Kotk wrote on Sat, 07 October 2006 16:39

BTW ... simple speed optimizations are usually done by compiler.


You better don't bet your life on those. Wink Whip Hit Computer

Quote:

I believe LEit has not written much combat yet. Pity. Otherwise i would take VCR for next.


Hey, that would be cool, too. With a working BattleBoard, the pressure to actually feed it with real battles would be overwhelming! Cool Twisted Evil Rolling Eyes Whip

Quote:

I usually write software with very low UI. Software that interacts mostly with other software. Have done it for years. For me ... writing UI now is just that ... a variety. Wink



Better you than me, then. Wink My goal would be more in the direction of interfacing a low UI server to a semi-intelligent turn automathon / checker / organizer... Sherlock Teleport



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Previous Topic: AR Rules
Next Topic: Summary of Math?
Goto Forum:
  


Current Time: Fri Mar 29 10:58:56 EDT 2024