|
Page 1 of 1
|
[ 29 posts ] |
|
| Author |
Message |
|
ZDarby
Lieutenant Junior Grade
Joined: 22 Nov 2004, 01:00 Posts: 201 Location: Nor Cal
|
Will Slower than light ships be possible in Supremacy?
IE, will I be able to mod in a ship that takes more than one turn to move one square?
I'm not asking for a change, just a clarification.
_________________ No. I'm not back.
|
| 30 Aug 2006, 10:31 |
|
 |
|
mstrobel
Chief Software Engineer
Joined: 11 Aug 2005, 01:00 Posts: 2688
|
|
| 30 Aug 2006, 15:17 |
|
 |
|
Matress_of_evil
Evil Romulan Overlord of Evil - Now 100% Faster!
Joined: 02 Dec 2004, 01:00 Posts: 7392 Location: Returned to the previous place.
|
Don't worry, ZDarby, you'll get your pre-Enterprise era mod one day...
Just think about BOTF5. I'm sure it isn't that far away...

|
| 30 Aug 2006, 18:42 |
|
 |
|
ZDarby
Lieutenant Junior Grade
Joined: 22 Nov 2004, 01:00 Posts: 201 Location: Nor Cal
|
@Mstrobel. Roger that. Thanks.
@MOE. Yeah. Two decades really isn't that far away.
_________________ No. I'm not back.
|
| 31 Aug 2006, 08:56 |
|
 |
|
mstrobel
Chief Software Engineer
Joined: 11 Aug 2005, 01:00 Posts: 2688
|
I suppose I should clarify something. Theoretically, it would be possible to have sublight ships, but they wouldn't be able to move from sector to sector. They would have to remain stationed in the system in which they were constructed. But it'd be possible to build small, cheap sentry ships to guard your systems if you don't care that they can't move elsewhere.
|
| 31 Aug 2006, 15:57 |
|
 |
|
Azhdeen
Lieutenant
Joined: 31 May 2006, 01:00 Posts: 451
|
How are you determining movement speed? Are ships getting some sort of speed modifier that determines how many sectrors they can move?
I know that I should know already. Been busy lately 
_________________ -Azh
|
| 31 Aug 2006, 16:20 |
|
 |
|
mstrobel
Chief Software Engineer
Joined: 11 Aug 2005, 01:00 Posts: 2688
|
Yes, each ship design has a speed of n sectors per turn. A sublight ship would have a speed of zero (0) sectors per turn.
|
| 31 Aug 2006, 16:26 |
|
 |
|
Azhdeen
Lieutenant
Joined: 31 May 2006, 01:00 Posts: 451
|
Why not 0.5? 0 is essentially the speed of a space station... which doesn't really move anywhere. I'm sure you're execting ints, so my real question would be... how hard would it be to accept decimals? Or keep the ints, but double the movement costs. Thus, a modifier of 1 would be half a sector (thus requiring two turns to pass through one sector). Ships that move 1 sector per turn would have a modifier of 2. Etc. You could also have ships that are capable of 3 sectors per 2 turns and other combinations, if it is felt to be warranted for whatever reason.
Plus, this could still allow for ftl ships to travel at slt speeds if they must (warp field destablization, damage, whatever). Having ships that are literally dead in the water kinda suck. It'd be nice to still have some options when the warp drive is out.
_________________ -Azh
|
| 31 Aug 2006, 16:28 |
|
 |
|
Matress_of_evil
Evil Romulan Overlord of Evil - Now 100% Faster!
Joined: 02 Dec 2004, 01:00 Posts: 7392 Location: Returned to the previous place.
|
If it was possible, then it would be a great system and would increase the moddability of the game. It would also make it easier for you to program some of the effects of my random events, MStrobel, and as Azhdeen said, you could cater for damaged ships and the like, as well.
What do you say? Is it possible to do this? 
|
| 31 Aug 2006, 17:22 |
|
 |
|
mstrobel
Chief Software Engineer
Joined: 11 Aug 2005, 01:00 Posts: 2688
|
I'll have to think about it, but don't count on it.
|
| 31 Aug 2006, 18:33 |
|
 |
|
Laitainion
Crewman
Joined: 18 Nov 2004, 01:00 Posts: 26 Location: Loughborough, England
|
Sounds like a lot of doohiggying for a feature with very little ingame use.
The first method, using a variable with support for decimals, requires (iirc) some form of floating point variable, which is a bit of waste of memory for what will be a single digit number, particularly as the smallest C# supports is 32bit. A single 8-bit integer would meet the possibilities for ship speeds, at a quarter of the memory footprint.
The second method would cause a lot of converting back and forth between the variable holding the ship's speed, and the game figuring out how far too move ships, not to mention it'll also have to remember ships that are 'half way' between sectors.
I can see why mstrobel isn't too keen, it just doesn't seem worth it for what little use it would be.
_________________ AMD athlon 64 4800 (Toledo)
BFG Tech Geforce 8800 GTS
2gig DDR400 RAM
2x150gig SATA (RAID 0)
Windows XP pro sp2 / Windows Vista Ultimate 64bit
|
| 31 Aug 2006, 19:14 |
|
 |
|
Azhdeen
Lieutenant
Joined: 31 May 2006, 01:00 Posts: 451
|
I agree. However, there's still going to be calculation between the movement modifier at some point (otherwise there would be no movement) since that modifier has to be doing something.
Like I said, I don't know what's already in place. However, I would imagine that a bool could be used that would be set equal to n%2. If it's on, the ship has moved half a sector (there was a remainder of 1). If not, the ship is at "the start" of the sector (remainder 0).
For the nonprogramming inclined, the % symbol is a mathmatical opperator. When used in an equation such as 7%2, the computer will take 7 and divide it by 2 and return the *remainder*.
As you were taught in school, 7 divided by 2 is 3 with 1 remainder. However, a computer will typically only kick out 3 and ignore the remainder on a normal division opperation. The modulus opperator ignores 3 and only returns the 1. A boolean variable is simple container that only accepts 1 or 0. Since it can only be one of two choices (and our equation will only ever return 1 or 0), it would make an ideal container for the program to keep track if a ship is half-way through a sector or not.
I would disagree on the limited usefulness, however. It could add a great deal of strategy to the combat system. I don't know off-hand what's planned, but if ship systems are targetable, it would be a prudent course of action to target engine systems to limit an opponent's retreat speed. This will enable your fleet to catch up to ships that have retreated but have engine damage.
And even if there's no targetable systems (I doubt there will be), it would be easy enough to have a ship's effenciency based on their level of damage. A ship that is 50% damaged would be 50% less effecient than a ship that is at 100%. This could also affect movement capabilities, sensor ability, you name it. There's a lot of different things we could do with it, although I'd prefer to keep the implimentation simple (such as 100% or 50% effecient).
I'm just running with the idea right now, and it's growing past the simple discussion of stl and ftl ability. But the possibility definitely exists, and it would not be too taxing or complicated to impliment from my point of view... which is quite limited and could mean nothing depending on what's already planned/coded.
_________________ -Azh
|
| 31 Aug 2006, 19:45 |
|
 |
|
mstrobel
Chief Software Engineer
Joined: 11 Aug 2005, 01:00 Posts: 2688
|
Laitainion raises a good point, as I currently use an 8-bit unsigned byte to store ship speed, and I might try to pack that value and a few others into a single 32- or 64-bit unsigned integer to save space. I couldn't do that with a floating point variable.
As it stands, speed is a measure of sectors per turn. A fleet moves a long a path at units of 1 sector at a time until it has traversed as many sectors as its speed allows during a given turn (or until it has been intercepted). If I were to use fractional speeds, I would have to track how far along a fleet is between sectors over the course of 2 or more turns. That's where it becomes more trouble than it's worth.
I also think it'd be bad for gameplay, because some players would be confused as to why their ships don't appear to be moving. There would also be problems interpolating a ship's position. For instance, if a ship moved at a speed of 1/3 sectors per turn, then after one turn, I would have to round to the nearest sector (in this case, the previous sector). This would complicate matters when one fleet is going after a slow enemy fleet. The player would have to mentally compute which sector two flights might converge in.
|
| 31 Aug 2006, 20:13 |
|
 |
|
Azhdeen
Lieutenant
Joined: 31 May 2006, 01:00 Posts: 451
|
I was going to use the assumption that the slowest form of movement (aka, stl speed) would be half a sector per turn. I agree that attempting to keep track of additional fractions would be a pain. Refer to my modulus and boolean idea. What sounds like you have in place is virtually unchanged, with a single computation and a new boolean container.
I'd like to reiterate what MoE kind mentioned above - there are random events that will disable all "warp speed". Instead of globally changing movement to 0 sectors per turn, it would now allow ships to travel half a sector per turn (ie: giving all ships a movement modifier of 1 in my example above) which would be what a ship under impulse power would do.
Given the new baseline movement speed of 1/2, it doesn't complicate matter any more than already exist - plus this is just how the code will behave. What will be displayed will be something the user can understand (ie: This ship does not have warp speed capability. As such, it requires 2 turns to traverse one sector.)
*edit*
This would allow something like shuttlecraft to be implimented if it is desired.
_________________ -Azh
|
| 31 Aug 2006, 20:15 |
|
 |
|
Laitainion
Crewman
Joined: 18 Nov 2004, 01:00 Posts: 26 Location: Loughborough, England
|
To mstrobel:
I always wondered how you could hold various different sets of information (from your planets thread) in one variable. I mean, I can understand it by reading the variable at a bit by bit level, although I don't know if you could do that in C# (my limited experience and knowledge says no). Maybe you're using the gethash...hang on, I think I've just figured it out.
I was working on the basis that, since you have to work with the 'entire number' stored with a variable, and I assumed each number could be made with different bits set to 1 and 0 respectively. Except you can't, so (I reckon) you're reading the variable and doing some maths to extract each power of 2 from that number, ie. the variable holds 48, that's a 32 and a 16, from which you set off some methods that does whatever you want it to.
Does that about sum it up?
Or am I completely off the mark?
to Azhdeen:
Did you really mean to store a number in a bool? Because the way you wrote it sounds like you're trying to do this:
b = n%2
While a bool can only be set to true or false, or did you mean:
if (n%2 == 1)
bool = true
Which would make far more sense, and while I agree that is quite a simple solution, it still doesn't solve the problem of which sector we should round to for putting the ships?
Secondly, even if we did add SLT, impulse is slower than warp by many orders of magnitude, if we were trying to be canon I doubt a STL ship could really get very far before the game ended. After all, even at light speed it would take over 4 years for a ship to get to the closest star system. A ship at impulse would take even longer. In the end, I think it is just simpler to give STL ships a movement of 0. With the exception of crippled star ships, STLs aren't going to be designed for intersteller travel anyway.
_________________ AMD athlon 64 4800 (Toledo)
BFG Tech Geforce 8800 GTS
2gig DDR400 RAM
2x150gig SATA (RAID 0)
Windows XP pro sp2 / Windows Vista Ultimate 64bit
|
| 31 Aug 2006, 23:50 |
|
 |
|
mstrobel
Chief Software Engineer
Joined: 11 Aug 2005, 01:00 Posts: 2688
|
|
| 01 Sep 2006, 00:00 |
|
 |
|
Laitainion
Crewman
Joined: 18 Nov 2004, 01:00 Posts: 26 Location: Loughborough, England
|
_________________ AMD athlon 64 4800 (Toledo)
BFG Tech Geforce 8800 GTS
2gig DDR400 RAM
2x150gig SATA (RAID 0)
Windows XP pro sp2 / Windows Vista Ultimate 64bit
|
| 01 Sep 2006, 00:11 |
|
 |
|
Azhdeen
Lieutenant
Joined: 31 May 2006, 01:00 Posts: 451
|
_________________ -Azh
|
| 01 Sep 2006, 14:53 |
|
 |
|
mstrobel
Chief Software Engineer
Joined: 11 Aug 2005, 01:00 Posts: 2688
|
|
| 01 Sep 2006, 15:01 |
|
 |
|
Matress_of_evil
Evil Romulan Overlord of Evil - Now 100% Faster!
Joined: 02 Dec 2004, 01:00 Posts: 7392 Location: Returned to the previous place.
|
|
| 01 Sep 2006, 15:04 |
|
 |
|
Azhdeen
Lieutenant
Joined: 31 May 2006, 01:00 Posts: 451
|
_________________ -Azh
|
| 01 Sep 2006, 16:16 |
|
 |
|
Matress_of_evil
Evil Romulan Overlord of Evil - Now 100% Faster!
Joined: 02 Dec 2004, 01:00 Posts: 7392 Location: Returned to the previous place.
|
|
| 01 Sep 2006, 16:25 |
|
 |
|
mstrobel
Chief Software Engineer
Joined: 11 Aug 2005, 01:00 Posts: 2688
|
I'm pretty sure I'm not going to implement STL ships. However, I *might* make a special case later on for ships that have run out of fuel. If I do that, all ships will be reduced to the same speed (we can call it "impulse") and move one sector every n turns. I'll figure out a reasonable way to implement it if and when the time comes.
|
| 01 Sep 2006, 18:15 |
|
 |
|
Azhdeen
Lieutenant
Joined: 31 May 2006, 01:00 Posts: 451
|
_________________ -Azh
|
| 01 Sep 2006, 18:18 |
|
 |
|
ZDarby
Lieutenant Junior Grade
Joined: 22 Nov 2004, 01:00 Posts: 201 Location: Nor Cal
|
Great conversation. I didn't mean to create such controversy. But I'm glad I did.
A ship that could move only within its system of origin would work well for a psudo pre-Ent mod, using the methodology MOE and I discussed many months ago. (Larger distances between stars.) In the end, though, it's better to let Mstobel do what he wants to get done than to bother him with STL requests.
Actually, there are several ways of getting between stars STL within a lifetime. I wont go into it here. Just know that though the problems are horrific, they *are* solvable and with tech that is within our reach, though just barely.
Azhdeen is correct. There is no simple way of representing accurate speed (warp or otherwise) in this kind of game... Especially if you want to make it fun, instead of tedius. The disparity between warp 5 and warp 9.9 is just too huge. Let alone between STL and warp 9.9. Push comes to shove, it's more important for a game to be fun than accurate... What's more is, there's a very delicate ballance between fun and programability: if it cant be programmed it'll never be fun; if it isn't fun, there's no reason to program it. Even if it's programmible but a hastle or just not interesting to do so, the game will not get finished.
On that note, if it's possible or even only easy to put in STL, I'm all for it. Otherwise, forget it. Do what you want, mstrobel.
Dont think this a request to stop talking on the subject, just a statement of personal intent/preference.
_________________ No. I'm not back.
|
| 01 Sep 2006, 20:46 |
|
 |
|
Laitainion
Crewman
Joined: 18 Nov 2004, 01:00 Posts: 26 Location: Loughborough, England
|
_________________ AMD athlon 64 4800 (Toledo)
BFG Tech Geforce 8800 GTS
2gig DDR400 RAM
2x150gig SATA (RAID 0)
Windows XP pro sp2 / Windows Vista Ultimate 64bit
|
| 09 Sep 2006, 12:13 |
|
 |
|
mstrobel
Chief Software Engineer
Joined: 11 Aug 2005, 01:00 Posts: 2688
|
It kinda amounts to the same thing, except that there would only be one STL speed, so it wouldn't be very flexible.
|
| 10 Sep 2006, 14:55 |
|
 |
|
Azhdeen
Lieutenant
Joined: 31 May 2006, 01:00 Posts: 451
|
_________________ -Azh
|
| 11 Sep 2006, 14:20 |
|
 |
|
Winterhawk
Commander
Joined: 30 May 2005, 01:00 Posts: 1137 Location: Northglenn, Colorado - U.S.
|
(Grabbing my abacus) ( old fart here) Aggg I went blind!!! All I know is that when I push turn I know my ships will go "someplace". lol....
The only question I would ask about this is, would we be able to say see a transport fly from the planet to a spacestation or the like? OR would that be a bit too impractical for the game?
_________________ I'm A Romulan with an Attitude and I'm not afraid to use it!
|
| 24 Sep 2006, 15:58 |
|
 |
|
|
Page 1 of 1
|
[ 29 posts ] |
|
Who is online |
Users browsing this forum: No registered users and 0 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|