Why can guppies transport ore, but not anti-creeper?

Started by Chthon, January 24, 2014, 04:17:17 AM

Previous topic - Next topic

Chthon

As per the title, Guppies cannot transport anti-creeper, even though they can transport ore.  This makes it impossible to refuel bombers on islands too small and isolated for your network even though you may wish to use that power node for it.  Also there are times when you've built sprayers, but are trying to beachhead an island and want to continue supplies to them.  Having to fly them all the way back or suddenly switch off to bombers which aren't really used in the same manner is annoying.  Bombers = blanket coverage over an area to push creeper back.  Sprayers = slow creeper down to make pushes easier.  It kind of gets annoying that there's no way to resupply them in the field on a beach head if you can't relay.

Grauniad

It was a design decision to simplify the use of guppies. Several capabilities were omitted when it was felt that similar operation could be achieved using alternate methods This specific use case was probably the most controversial.
A goodnight to all and to all a good night - Goodnight Moon

Chthon

Well, this is a case of forcing the player to use a standard screwdriver to do the job of a Phillips.  It's clunky at best, or at worst doesn't work or strips the screw.

Michionlion

But it means that you only have to have one screwdriver, so wondering which type of screwdriver you're supposed to use is mote.  Simplification makes things much easier to understand.
"Remember kids, the only difference between science and messing around is writing it down."
                                                                                                                         - Adam Savage

My website
My CW1, and CW2 maps!

asmussen

I always wondered why ore and AC are both things that need to be transmitted over the network. It seems like it would have been simpler to have ore be stored by the command nodes instead of AC, and transmitted to the weapons that use it, and just say that it is the weapons themselves that do the conversion, instead of dealing with two separate resources.
Shawn Asmussen

Clean0nion

Quote from: asmussen on January 24, 2014, 11:59:34 AM
I always wondered why ore and AC are both things that need to be transmitted over the network. It seems like it would have been simpler to have ore be stored by the command nodes instead of AC, and transmitted to the weapons that use it, and just say that it is the weapons themselves that do the conversion, instead of dealing with two separate resources.
Because building an ore refinery inside each bomber or sprayer would not only make the units far more expensive to build, but it would also take up valuable space which would mean bombers would be slower and less able to carry AC, and the sprayer's ammo reserve would be smaller as well.

asmussen

Quote from: Clean0nion on January 24, 2014, 01:05:18 PM
Quote from: asmussen on January 24, 2014, 11:59:34 AM
I always wondered why ore and AC are both things that need to be transmitted over the network. It seems like it would have been simpler to have ore be stored by the command nodes instead of AC, and transmitted to the weapons that use it, and just say that it is the weapons themselves that do the conversion, instead of dealing with two separate resources.
Because building an ore refinery inside each bomber or sprayer would not only make the units far more expensive to build, but it would also take up valuable space which would mean bombers would be slower and less able to carry AC, and the sprayer's ammo reserve would be smaller as well.

Yeah, I can understand why it makes sense from a thematic point of view. It just seems like it's more complicated than it needs to be from a gameplay point of view.

Shawn Asmussen

Chthon

Quote from: Clean0nion on January 24, 2014, 01:05:18 PM
Quote from: asmussen on January 24, 2014, 11:59:34 AM
I always wondered why ore and AC are both things that need to be transmitted over the network. It seems like it would have been simpler to have ore be stored by the command nodes instead of AC, and transmitted to the weapons that use it, and just say that it is the weapons themselves that do the conversion, instead of dealing with two separate resources.
Because building an ore refinery inside each bomber or sprayer would not only make the units far more expensive to build, but it would also take up valuable space which would mean bombers would be slower and less able to carry AC, and the sprayer's ammo reserve would be smaller as well.
I would like to point out that Anti-Creeper is turned into ore directly within a sprayer.  This pretty much means Anti-Creeper = ore.  Why differentiate between the two and just say the ore mines are refineries?

knucracker

From a gameplay point of view I didn't want ore to go straight from a ore mine to units that made AC.  Otherwise you could park a sprayer next to an ore mine with no CN in sight and it would just churn out AC.  I wanted the physical limitation of requiring the ore to go to the CN and be stored there, then out the the units.  Much as energy has to conduct along paths to the CN and then packets make their way to units.

That was done from a game play perspective and was part of the design I was after.  Aside from that there are performance advantages as well.  If a map has lots of ore mines and lots of things that produce AC, then calculations have to be done so that ore mines send ore to units as they need the ore.  Fairness in distribution based on production, network path distance... all of that would have to be factored in.  It is a much simpler problem when there are only 3 CN's that are the destination for ore and source of AC.

Now, the elephant in the room is actually why guppies can't carry AC.  That's what people want... and I won't bury the lead any further... that's what people will get in the next build!

In the beginning Guppies could ferry all four resources.  Energy was the most difficult to mentally manage since it is invisible and requires the pad to be built at the destination location (much like the complexity of using Ore transporting guppies).  The energy guppies also were a real monster to handle internally because of a range of coding complexities I won't go into here.

So what about the AC guppies?  Two reason made be hold them back.  For one, they increase the complexity of the packet source problem.  The 3 CN problem now becomes 3 CN's plus X guppies.  So a player can make a real performance mess if they go nuts with these guppies.  Secondly, bombers are less useful if you can build AC guppies and sprayers.  You can now remotely deliver AC by some way other than a bomber.

But, having much more experience with the game and how people play it, the bomber problem isn't really a problem.  Bombers are already limited in their roles and I'm not sure an AC guppy will really hurt that role very much.  And the calculation complexity problem... well, it is something that is already solved in the code (I hope, it just need the dust blown off).  That only leaves a potential performance issue if somebody goes overboard with 100 AC guppies and 100 Sprayers.  But that is in the player's hands.

So I've talked myself into enabling AC guppies in tonight's build.  Maybe it will work, maybe it will explode, maybe I will regret it, or maybe it will be cool.  In any case, this is what you get when you hitch your wagon to an indie horse, so hang on :)

mzimmer74

Quote from: virgilw on January 24, 2014, 01:57:28 PM

So I've talked myself into enabling AC guppies in tonight's build.  Maybe it will work, maybe it will explode, maybe I will regret it, or maybe it will be cool.  In any case, this is what you get when you hitch your wagon to an indie horse, so hang on :)

I personally vote on the "maybe it will be cool" but regardless, what we really get when we hitch our wagon to an indie horse is a phenomenal level of contact with the programmer of that horse!  That's one of the greatest things about CW.
Omnipotence doesn't mean the ability to do what is logically impossible. It's possible, therefore, for God to create beings with the kind of free will that can choose between good and evil, but he can't also force those creatures to choose good. If he forced their choice, it wouldn't be free.

Grayzzur

Quote from: virgilw on January 24, 2014, 01:57:28 PM
In any case, this is what you get when you hitch your wagon to an indie horse, so hang on :)
Any which way, it's gonna be a wild ride!
"Fate. It protects fools, little children, and ships named 'Enterprise.'" -William T. Riker

Chthon

#11
Quote from: virgilw on January 24, 2014, 01:57:28 PM
From a gameplay point of view I didn't want ore to go straight from a ore mine to units that made AC.  Otherwise you could park a sprayer next to an ore mine with no CN in sight and it would just churn out AC.  I wanted the physical limitation of requiring the ore to go to the CN and be stored there, then out the the units.  Much as energy has to conduct along paths to the CN and then packets make their way to units.

That was done from a game play perspective and was part of the design I was after.  Aside from that there are performance advantages as well.  If a map has lots of ore mines and lots of things that produce AC, then calculations have to be done so that ore mines send ore to units as they need the ore.  Fairness in distribution based on production, network path distance... all of that would have to be factored in.  It is a much simpler problem when there are only 3 CN's that are the destination for ore and source of AC.

Now, the elephant in the room is actually why guppies can't carry AC.  That's what people want... and I won't bury the lead any further... that's what people will get in the next build!

In the beginning Guppies could ferry all four resources.  Energy was the most difficult to mentally manage since it is invisible and requires the pad to be built at the destination location (much like the complexity of using Ore transporting guppies).  The energy guppies also were a real monster to handle internally because of a range of coding complexities I won't go into here.

So what about the AC guppies?  Two reason made be hold them back.  For one, they increase the complexity of the packet source problem.  The 3 CN problem now becomes 3 CN's plus X guppies.  So a player can make a real performance mess if they go nuts with these guppies.  Secondly, bombers are less useful if you can build AC guppies and sprayers.  You can now remotely deliver AC by some way other than a bomber.

But, having much more experience with the game and how people play it, the bomber problem isn't really a problem.  Bombers are already limited in their roles and I'm not sure an AC guppy will really hurt that role very much.  And the calculation complexity problem... well, it is something that is already solved in the code (I hope, it just need the dust blown off).  That only leaves a potential performance issue if somebody goes overboard with 100 AC guppies and 100 Sprayers.  But that is in the player's hands.

So I've talked myself into enabling AC guppies in tonight's build.  Maybe it will work, maybe it will explode, maybe I will regret it, or maybe it will be cool.  In any case, this is what you get when you hitch your wagon to an indie horse, so hang on :)
Currently though, you only use one guppy on a network at a time for Packets.  Other guppies will sit idle waiting for one to deliver his load before they start delivering their load.  Ordering is based on some arcane proximity formula that doesn't make sense but I'll get back to that.

Basically when a guppy is on a network and someone requests a packet, the guppy sends one out immediately, not waiting at all.  This means if 120 requests come in at the same time, 120 packets go out right then and he turns to go home.  All this happens before another guppy can send his supply.  Beyond determining the order of the guppies, you really only have one guppy at a time for complexity purposes, as the others wait in line.

Now on the guppy order, it would be nice if rather than immediately switching to a different guppy who happens to be closer, the token of "I'm sending packets" only gets passed when a guppy is told to move or return to base.  This way while it may not always be the closest guppy sending packets, you don't run the check for the closest guppy as often.

For players this will also mean that if you have 2 guppies and the closest one arrives with a fresh load while the farther one has 2 packets left, you don't have a network brown out happen right there as a result when both run out at virtually the same time.  Instead the one with 2 remaining would finish sending them before switching back to the first.  If you have 5 or more, this would mean that all waiting guppies with packets to send would at most have one partial load currently sending.  Finally it would require fewer guppies to ensure you have the power you need in most cases.

Edit:  I also wanted to point out, I am one of those who uses guppies a lot, even when I have a fully connected network.  The reason for this is simple.  Guppies can transport energy in bulk faster than all but extremely high packet speed over large distances.  Sure packet speed is cheap, but unit movement speed doesn't just help guppies, but all units.  By implementing a token system for sending energy where it remembers the last one who sent a packet, and only recalcs when that one is not available to send, you reduce the number of guppies I will have to use, even as you add AC transportation.  That and as I said you limit the number of sources to 4 at a time until a guppy is finished.

As a player I already set up hoping something like this is implemented.  All my guppies are in the same location as close to a relay as they can, packed tightly.  If my front line changes, they all get moved.  I'm sure other people will be able to learn how to devise networks with this in mind as well.  Guppy power/AC center close to where you need it the most, other sources use the CNs if possible.  Separate networks are used if you have multiple fronts.

Finally, when I said "arcane proximity formula" I wanted to be clear.  I don't mean that it picks a guppy 5 spaces away from the target over one 4 spaces away from it.  I'm talking about when you have 2 guppies, one to the left and one to the right, it considers the left one to be closer every time despite the equal distance. 

Grayzzur

I submitted bug tickets for the following two issues I discovered with AC Guppies:

  • Click on unit or pad, always displays Pad: 0/120 regardless of how much AC the pad has.
  • Build an AC Guppy on a PZ, and it will never follow your move orders and take off and fly anywhere once full.
"Fate. It protects fools, little children, and ships named 'Enterprise.'" -William T. Riker