GLobal fleet reserves vs apper when built

For what's not in 'Top Priority Game Design'. Post your ideas, visions, suggestions for the game, rules, modifications, etc.

Moderators: Oberlus, Oberlus

Message
Author
Ranos
Dyson Forest
Posts: 234
Joined: Tue Mar 23, 2004 6:24 am
Location: Northern Wisconsin

#16 Post by Ranos » Wed Oct 13, 2004 8:13 am

utilae wrote:Why can't you have a single ship TF? I would like it if it were more like Moo2. First of all, let's not call a group of ships Task Forces (sounds lame), we should call them fleets (like in Moo2, also sounds cooler).

<snip>

Another alternative is have the ships come out as not being in a TF, and thus be flagged as 'not being in a TF'. Whether they should be in space combat as single ship fleets depends on whether you control ships or groups of ships. So whenever a new fleet needs a ship, ships 'flagged as not being in a fleet' are contacted first.
First, I never said that we shouldn't have single ship TFs. Second, as Impaler said, a TF is just a group within a fleet. It like the difference between a regiment and a division in the military.

MOO2 combat was fine being able to control only one ship at a time. It was turn based and, if I remember correctly, had no limitations on the length of a single battle. Have you played MOO3? Whether yes or no, can you imagine having somewhere around 200 ships all moving independantly of eachother, all attacking other individual ships and you trying to control every single one of them? It would be a nightmare.

While using phased-time or some other means of pausing the game during combat would help with this problem somewhat, it would still be a huge undertaking. Not to mention the fact that it would bog your computer down.

I have kept an eye on the MOO3 forums and somebody hacked the MOO3 exe. They were able to adjust the maximum number of TFs allowed in a single battle. You can set the number in a patcher that controls whether the patches are active or not and allows you to control how many of what the patches change. To make a long story short, the maximum number of TFs you can allow is 50 per side. That is only 100 independant moving objects in a single battle, not including battlestations. The guy who did it said that while you could set the number at 50, it severely bogged his system down when he did this and he has a faster than average computer.

The whole point of that was to illustrate what would accure if we allowed individual ships in combat. Battles that are so slow that you could make a three course meal during 15 second battle phases. That is why we shouldn't allow ships outside of TFs.
Impaler wrote:Their should be no arbitrary restrictions on how many ships can be in a Task Force or requirments that their be any number of ships in any groupings like "picket" "Core" "Escort" these serve only to help organize the ships in battle. All the ships could be in the Picket or all in the Core (if we even have such a destinction).
I disagree. If there is no max limit on how many ships are allowed in a single TF then you could again run into bogging down the system, especially if ships aren't going to be at full strength immediately following a battle. Can you imagine what it would take to keep track of a few thousand different ships, each damaged in a different way and ammount of damage taken? I think there would be some major problems if there are no limitations to TFs.

Having makeups of ships is to add flavor. Maybe another option would be to have no requirements for how many of what ship type goes into a TF. If there should be no core, escort or picket classifications, groupings or whatever you want to call it, then there should be no Long Range, Short Range, IF, Carrier or any other classifications applied to ships or TFs.
Impaler wrote:Instead I would say let the player flag ships or TF in the Queue as "Reserve" in the same way they flag it for "go-to" and "merge-with" when these ships are completed they stay in the system ware they are build and create/merge-in-to a Reserve Fleet for that system. They will stay their untill the player initiates a "call up reserves" order to replace loses that some Fleet has suffered. The needed ships will be pulled out of the nearest reserve fleet and fly off to merge with the Task Forces that need it.

All such replacments need to be player initiated, nothing would be automated becuase this involves moving ships that may be defending some important place or putting a build order in the Quee. These kinds of replacment orders can be given at fleet level though so they is virtualy NO micromanagment involed unless the player wishes it.
The reserve idea sounds interesting and could work, but I still think that forcing the player to control when and where ships get deployed at the level you're talking about, causes some tedium in the system.

If a player orders a shipyard to build a TF, then once it gets going, there is already a TF in the system to defend the shipyard and the planet. Instead of having a "reserve fleet", you have all of your TFs and before you could really concentrate on taking another system, you would have to make sure that the systems you currently control are well defended against attack. I know what I'm wanting to say but its after 3 in the morning so I'm not sure if I'm saying it so that everyone can understand.

I think I'll just try again when I wake up.

User avatar
utilae
Cosmic Dragon
Posts: 2175
Joined: Fri Jun 27, 2003 12:37 am
Location: Auckland, New Zealand

#17 Post by utilae » Wed Oct 13, 2004 9:30 am

Ranos wrote: I have kept an eye on the MOO3 forums and somebody hacked the MOO3 exe. They were able to adjust the maximum number of TFs allowed in a single battle. You can set the number in a patcher that controls whether the patches are active or not and allows you to control how many of what the patches change. To make a long story short, the maximum number of TFs you can allow is 50 per side. That is only 100 independant moving objects in a single battle, not including battlestations. The guy who did it said that while you could set the number at 50, it severely bogged his system down when he did this and he has a faster than average computer.

The whole point of that was to illustrate what would accure if we allowed individual ships in combat. Battles that are so slow that you could make a three course meal during 15 second battle phases. That is why we shouldn't allow ships outside of TFs.
The guy's who made Moo3 obviously did not design the game to handle 50 TFs. I think that if the game was programmed better, then that guy who hacked the exe file would have had it running sweet. But still, even an RTS game wouldn't get that many units to be controlled by a single player.

Besides, games have rediculis requirements now. Look at the requirements for Earth 2160.

http://www.earth2160.com/en/index.php
Recommended:

PC with Pentium IV processor or equal AMD (1500+ processor)
Windows XP Home / Professional
512 MB RAM
DirectX 9.0c compatible Video card with 256 MB RAM (GeForce FX better 6800 Ultra, ATI RadeOn 9800+ etc.)
DVD-ROM drive
DirectX TM compatible sound card
Windows R compatible mouse and keyboard
2.0 GB free disk space

Ranos
Dyson Forest
Posts: 234
Joined: Tue Mar 23, 2004 6:24 am
Location: Northern Wisconsin

#18 Post by Ranos » Wed Oct 13, 2004 4:40 pm

So what you are saying is that as long as the game is programmed properly, any computer could handle around 1000 ships in a single battle? I find that hard to believe. There are the 1000 ships, there are the weapons they are firing (direct fire animations and missiles), fighters, battle stations, planets, any space junk we add in and unless asteroid belts are represented by still objects, tens of thousands of objects in the asteroid belts.

If the computer just has to worry about 40 TFs with 25 ships in each, that is 960 less objects it has to worry about processing path finding for.

User avatar
Impaler
Creative Contributor
Posts: 1060
Joined: Sun Jun 29, 2003 12:40 am
Location: Tucson, Arizona USA

#19 Post by Impaler » Wed Oct 13, 2004 5:47 pm

The Pathfinding will obviously be at the Task Force level, not on the level of individual ships, the Task Force is basicaly a Rock as far as pathfinding will be conserned. And RTS gams like StarCraft can easily handly 1000 units, they limit you to less purely for game balance puroposes.
Fear is the Mind Killer - Frank Herbert -Dune

User avatar
utilae
Cosmic Dragon
Posts: 2175
Joined: Fri Jun 27, 2003 12:37 am
Location: Auckland, New Zealand

#20 Post by utilae » Wed Oct 13, 2004 8:35 pm

Impaler wrote:The Pathfinding will obviously be at the Task Force level, not on the level of individual ships, the Task Force is basicaly a Rock as far as pathfinding will be conserned. And RTS gams like StarCraft can easily handly 1000 units, they limit you to less purely for game balance puroposes.
And StarCraft can run on a 486, unlike Moo3.

guiguibaah
Creative Contributor
Posts: 441
Joined: Tue Oct 07, 2003 1:00 am

Touche

#21 Post by guiguibaah » Wed Oct 13, 2004 9:08 pm

Touche Utilae

There are many games that are what I call power pigs. Civ 3 multiplayer is one of them. Blizzard is good in that it produces games that churn out greater effects for slower systems. Of course, this allows them to grab a bigger market share, as not everybody had a 1gz when warcraft 3 came out - so they made it run on minimum requirements on a pentium 2 400mzh.

Although Aquitaine pointed out to me a good point - Moo3 was not programmed to take advantage of a graphic accelerator, so that already slowed the game down. Also, it was written with antiquated voxel code which required a lot more CPU cycles than pure sprites.

To sum it up, you could have 1000 ships easily. The question is - is it fun? I'd rather have 20-50 ships max and know each ship than just send a bunch of arbitrarily produces factory ships into battle watching them pop left and right like mocrowaved ants.
There are three kinds of people in this world - those who can count, and those who can't.

Ranos
Dyson Forest
Posts: 234
Joined: Tue Mar 23, 2004 6:24 am
Location: Northern Wisconsin

#22 Post by Ranos » Wed Oct 13, 2004 9:39 pm

Okay so I'm mistaken. Maybe anyones computer could run it. That doesn't clear up whether or not a player can control that many individual units in the ammount of time they have to give their orders. What is easier to command, 20 TFs or 500 individual ships? Personally, I think it would be the TFs.

User avatar
utilae
Cosmic Dragon
Posts: 2175
Joined: Fri Jun 27, 2003 12:37 am
Location: Auckland, New Zealand

#23 Post by utilae » Thu Oct 14, 2004 12:21 am

Ranos wrote:Okay so I'm mistaken. Maybe anyones computer could run it. That doesn't clear up whether or not a player can control that many individual units in the ammount of time they have to give their orders. What is easier to command, 20 TFs or 500 individual ships? Personally, I think it would be the TFs.
Er, we've gone off topic a bit. I am happy to control TFs.

emrys
Creative Contributor
Posts: 226
Joined: Fri Oct 24, 2003 3:44 pm

#24 Post by emrys » Thu Oct 14, 2004 4:42 pm

There are actually some implementation issues we should consider. At present Free Orion is built around a client-server model. All the game rules are run on the server, which each turn transmits to each client exactly what it is supposed to know. The client just shows stuff and lets you make orders. This means that it is impossible for anyone (except the host!) to cheat. No matter how you change your client, it won't allow you to do or (importantly) see anything the server doesn't let you.

RTS (and FPS) games are traditionally based around a very different model (effectively peer-to-peer), where the game rules are run on each machine, each of which has a complete copy of ALL the game data, and only commands on what the player has done are transmitted between each client (or back an forth to a central host). The key difference here is that it is possible to cheat (i.e. you could hack the client to allow you to see any info usually not visible to you, i.e. enemy hitpoints, or past the fog of war etc. 'Hack' of course is an excessive word to use about changing an open source program.). This is because the amount of data required to be transmitted between each client is much smaller if only the commands are sent, and in a real time game with tens or more updates of game state per second you start to get limited by bandwidth fairly quickly.

So, the question, do we want to maintain the un-cheatability of free orion, and go for a client-server model, with only the client -visible data available to the client, or do we want to compromise this for the combat engine?

If we go client-server, the bandwidth issue in itself could force us away from real-time combat, and over to phased time at most, and would likely restrict Free Orion to a relatively small number of 'units' (e.g. around the 200 mark maximum.) and also probably rule out any attempt to play it over dial-up (no loss there...).

(Directly on the unit numbers question, most of the stuff in a (psuedo)RTS game scales very badly with unit numbers, e.g. unless you go to quite a bit of effort and code very good algorithms, there are many areas where the time taken goes like unitcount^4. i.e. 1000 units involve 10 thousand times as much work as 100 units, hence the reason that unit lnumbers are often limited by quite hard limits. (for the interested, good coding can usually get this down to O(Nlog(N)) ).

User avatar
MisterMerf
Space Squid
Posts: 67
Joined: Sat Oct 02, 2004 3:38 am
Location: Saint Paul, MN (USA)

#25 Post by MisterMerf » Thu Oct 14, 2004 5:22 pm

Impaler wrote:I see nothing wrong with single ship Task Forces though I agree they should not proliferate to rediculous numbers, If the player is just ordering single ships to be built then thouse ships should all enter into a new TaskForce at the shipyard and sit their untill the player sends them someware.
I agree completely and here is one reason why: AI calculation.
If we have fleets broken up into task forces (using Impaler's/MOO3 nomenclature), the AI only has to deal with the smallest cohesive unit. Which would be the task force. If shipyards default to creating hordes of one-ship task forces (when left to their own devices, more or less), this means the AI need some other heuristic to group them and think about them effectively. A heuristic which is 100% guaranteed to be more complicated and require more processing.

User avatar
Impaler
Creative Contributor
Posts: 1060
Joined: Sun Jun 29, 2003 12:40 am
Location: Tucson, Arizona USA

#26 Post by Impaler » Thu Oct 14, 2004 6:32 pm

Ok so TaskForces are Chessmen when it comes to moving them around in battle, this dose not completly rule out the ability to split or merge them durring combat but I would hope this would be rare and avoidable. Perhaps if the player could split/merge/reorganize them only durring the battle setup/placement phase afterwhich it would be set in stone for the remainder of the combat.

Early game the player will likly be using 1 ship Taskforces when they only have a handfull of ships, in the late game you might have a thousand ships in your Interstellar Armada of Dooooom but if you try to enter battle with more the X number of TaskForces the player is prompted to merge them (or the computer could auto-merge them). Outside of Compat I dont see any need to limit the number of Taskforces or Fleets.

Note - If your sending more then one Fleet into a combat all the fleets esentialy pop and spill out their Task Forces for you to play with individualy, you dont have to keep this fleet here or that fleet their. Once battle is over the TF go back into their respective Fleets so you can isshue high level instructions once again.

On Networking - Durring the Replay phase it would seem we will need to send something different to each player to keep them from viewing cloaked ships and other such things. This would almost certainly take a huge amount of bandwith so perhaps this schem is unworkable unless all players are able to download the same data stream from the server and their own systems simply hide what their not supposed to see. We should get the Programing team to tell us what is do-able.
Fear is the Mind Killer - Frank Herbert -Dune

Ranos
Dyson Forest
Posts: 234
Joined: Tue Mar 23, 2004 6:24 am
Location: Northern Wisconsin

#27 Post by Ranos » Thu Oct 14, 2004 7:34 pm

@emrys

Forgive my lack of knowledge, but some of what you sai went over my head or got jumbled enough to where I'm not sure I fully understand.

If I understand correctly, the client-server model means the game is on the server and we just download a basic program to access it and communicate with it. The other way (peer-peer) is for the full game to be loaded on each persons computer and the server is merely a conduit for the PCs to communicate through.

Correct me at any time if I am wrong.

Then what you are saying is if we used option 1, client-server, space combat would have to be toned down quite a bit due to the ammount of information having to be transmitted but cheats would be difficult. If we use option 2, peer-peer, then space combat could be a lot bigger, but this would allow the greater possibility of cheating.

If I got everything right, then I prefer peer-peer. Although the combat isn't everythng in a TBS game, for me, it is loads of fun, especially if it is tactical.

Next, I want to through out an idea that I think would look great in space combat. That is if control was at the task force level, but movement was at the ship level. By this I mean that you would issue orders to a full TF of 25 or more ships and the ships would do their best to stay grouped during combat, but the ships would actually be able to move independantly of eachother. So instead of having a bunch of ships sitting in formation firing at eachother, you would get hundreds of ships weaving in and out of eachother as they fought.

This would be a programming nightmare probably but hey, it can't hurt to try. :D

User avatar
MisterMerf
Space Squid
Posts: 67
Joined: Sat Oct 02, 2004 3:38 am
Location: Saint Paul, MN (USA)

#28 Post by MisterMerf » Sat Oct 16, 2004 2:11 am

I have to admit that I am dubious about the ability of FO to keep things moving along when it has to send involuted XML game-state all the time.

WHAT FOLLOWS IS AN INVOLVED AND LARGELY FICTIONAL ACCOUNT OF NETWORK PERFORMANCE!

But really, XML contains a lot of redundancy and so a half-way decent compression library should be able to make some signifcant gains in that department. Persistent connections would eliminate a lot of the overhead involved in many other 'net interactions.

And I suspect a lot of people will be using broadband connections that should be capable of upload rates (limiting factor, if using Cable) of at least 50Kbps of raw game data.

Bottlenecks would primarily occur during battles or at ends/beginnings of turns. In the case of battle, the server doesn't need to transmit vital ships stats/designs, just damage levels, positions, current orders, ship graphic ID, and maybe a handful of other things.

If we say that the compressed values of each of these comes to, say, 3 integers apiece, we've got maybe 3 int/stat * 4 bytes/int * 10 stats/object = 120 bytes / object.

(/me disappears in the middle of writing this for 5 hours)

Okay now that I may no longer be topical, I shall continue.

As I was saying, on an incredibly flaky basis, we may have to transfer 120 bytes per object every so often. How often? That depends on how long the client's leash is. It can be likened to a key frame, delta frame thing in video encoding. If we trust the client at all, then this information doesn't have be sent continuously. We can allow the client to infer a unit's new position from its orders. Which allows us to slack off slightly when it comes to transmitting the info for friendly ships. Enemy ships? Good question. I don't know.

In any case, at 120 bytes per object and a network MTU of around 1500 bytes it looks pretty grim: only about a dozen objects can have their info transmitted in any given packet. With a halfway decent ping of, say, 250 ms this amounts to (maybe not directly, but roughly) 4 packets per second and hence 48 objects per second.

Uh oh! My trumped up numbers seem to suggest that we're in trouble. Are we? How rough is my rough estimate? I wouldn't worry until we hear from an authority on the network code and an authority of the information that needs to be transferred in battle.


At end-of-turn, beginning-of-turn there are no particular time constraints so it can be a lot looser. Most probably, some nice tricks can be played with updating the game state...but they might involve trusting the client somewhat if they have anything to do with that delta idea...

Ranos
Dyson Forest
Posts: 234
Joined: Tue Mar 23, 2004 6:24 am
Location: Northern Wisconsin

#29 Post by Ranos » Sat Oct 16, 2004 4:23 am

I think we have veered extremely off topic here. I would need to look back to see where we left off on the real topic to make a good post, but I don't have time right now. I'll look tomarrow night.

Lets try to get back on the main topic of fleets/ships appearing when built or appearing when drawn out of the reserves.
200 and still a Wyrm!?! I don't want to be a Wyrm anymore. I've been a Wyrm for 100 posts now.

User avatar
MisterMerf
Space Squid
Posts: 67
Joined: Sat Oct 02, 2004 3:38 am
Location: Saint Paul, MN (USA)

#30 Post by MisterMerf » Sat Oct 16, 2004 5:01 am

Ranos wrote:I think we have veered extremely off topic here. I would need to look back to see where we left off on the real topic to make a good post, but I don't have time right now. I'll look tomarrow night.

Lets try to get back on the main topic of fleets/ships appearing when built or appearing when drawn out of the reserves.
I was actually trying to run this networking fork into a dead end =)
The main topic seems to be mostly resolved against using magical appear-anywhere fleet reserves. Once we got into task forces, we were already a tad off-topic.

Post Reply