From: Michael A. <out...@gm...> - 2013-09-25 12:42:44
|
Just like everything else in 1880, private companies work a little differently than "normal". The problems are: - They never close. They just stop paying out. This is important because the benefits of the privates carry on for the entire game. - They should never count against the share limit - They count as zero value at the end of the game. It probably actually should count as zero value during the entire game. The first one is easy to deal with inside 1880 specific code. The third is difficult because inside Player the worth is based on the base price of the private. I was thinking about adding a field that could be initialized in the XML that would indicate the worth of each private and changing Player to look at it. The second I assume is similar, but I haven't had time to track that down in the code yet. Does this seem like a reasonable approach? Mike |
From: Stefan F. <ste...@we...> - 2013-09-25 13:23:25
|
Quick answers, see below. All private companies in all 18xx work differently ;-) Please remember that I only read 1880 rules before, never played... On 09/25/2013 02:42 PM, Michael Alexander wrote: > Just like everything else in 1880, private companies work a little > differently than "normal". The problems are: > > - They never close. They just stop paying out. This is important > because the benefits of the privates carry on for the entire game. > > - They should never count against the share limit > > - They count as zero value at the end of the game. It probably actually > should count as zero value during the entire game. > > The first one is easy to deal with inside 1880 specific code. Revenue is already a list of revenue values, that can change by phase. Compare field revenue and method getRevenueByPhase inside the PrivateCompany class. No need for specific code. Non-closing is not an issue just do not specify a closing condition. > > The third is difficult because inside Player the worth is based on the > base price of the private. I was thinking about adding a field that > could be initialized in the XML that would indicate the worth of each > private and changing Player to look at it. Base price of the private is only used for worth and selling to and from companies, the base price for each item of the start packet is defined separately. I do not know 1880 good enough, if this not enough flexibility already. (Compare 1830 CompanyManager.xml for an example) > > The second I assume is similar, but I haven't had time to track that > down in the code yet. This will require a change, as PrivateCompanies are counted as one certificate towards the certificateCount. (Compare method getCertificateCount in Portfolio class). This has to be changed, my recommendation is to move up method getCertificateCount from PublicCertificateI to Certificate interface, with according changes to the field certificateCount in PublicCertificate class. Look forward to Rails2.0, this will be simplified as all duplicate Interfaces are dropped. > > Does this seem like a reasonable approach? > > Mike > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Rails-devel mailing list > Rai...@li... > https://lists.sourceforge.net/lists/listinfo/rails-devel > |
From: Michael A. <out...@gm...> - 2013-09-25 13:38:04
|
On Wed, Sep 25, 2013 at 9:23 AM, Stefan Frey <ste...@we...> wrote: > Quick answers, see below. All private companies in all 18xx work > differently ;-) Please remember that I only read 1880 rules before, > never played... > > > On 09/25/2013 02:42 PM, Michael Alexander wrote: > > Just like everything else in 1880, private companies work a little > > differently than "normal". The problems are: > > > > - They never close. They just stop paying out. This is important > > because the benefits of the privates carry on for the entire game. > > > > > - They should never count against the share limit > > > > - They count as zero value at the end of the game. It probably actually > > should count as zero value during the entire game. > > > > The first one is easy to deal with inside 1880 specific code. > > Revenue is already a list of revenue values, that can change by phase. > Compare field revenue and method getRevenueByPhase inside the > PrivateCompany class. No need for specific code. > Non-closing is not an issue just do not specify a closing condition Ahhh, ok. I can do that. > > > > > The third is difficult because inside Player the worth is based on the > > base price of the private. I was thinking about adding a field that > > could be initialized in the XML that would indicate the worth of each > > private and changing Player to look at it. > > Base price of the private is only used for worth and selling to and from > companies, the base price for each item of the start packet is defined > separately. I do not know 1880 good enough, if this not enough > flexibility already. (Compare 1830 CompanyManager.xml for an example) > In 1880, privates are never sold to companies. The base price is needed for the auction at the start of the game, but that's it. If it wasn't used for that, I could just set base price to 0 in the XML files. > > > > The second I assume is similar, but I haven't had time to track that > > down in the code yet. > > This will require a change, as PrivateCompanies are counted as one > certificate towards the certificateCount. (Compare method > getCertificateCount in Portfolio class). > > This has to be changed, my recommendation is to move up method > getCertificateCount from PublicCertificateI to Certificate interface, > with according changes to the field certificateCount in > PublicCertificate class. > > Ok, I can take a look at this. Look forward to Rails2.0, this will be simplified as all duplicate > Interfaces are dropped. > I am looking forward to it. :) > > > Does this seem like a reasonable approach? > > > > Mike > > > > > > > ------------------------------------------------------------------------------ > > October Webinars: Code for Performance > > Free Intel webinars can help you accelerate application performance. > > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > > the latest Intel processors and coprocessors. See abstracts and register > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > > > > > > > > _______________________________________________ > > Rails-devel mailing list > > Rai...@li... > > https://lists.sourceforge.net/lists/listinfo/rails-devel > > > > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > Rails-devel mailing list > Rai...@li... > https://lists.sourceforge.net/lists/listinfo/rails-devel > |
From: Mike B. <com...@ip...> - 2013-09-25 14:46:43
|
Replying to the original post because it's not quite on point. It occurs to me that the code to do all this is more or less present already if you think of ownership of these companies giving the owning company a token. This may or may not be helpful to you. Mike Bourke Campaign Mastery http://www.campaignmastery.com <http://www.campaignmastery.com/> Co-author, Assassin's Amulet <http://www.legaciescampaignsetting.com/> http://www.legaciescampaignsetting.com _____ From: Michael Alexander [mailto:out...@gm...] Sent: Wednesday, 25 September 2013 10:43 PM To: Development list for Rails: an 18xx game Subject: [Rails-devel] Private Companies in 1880... Just like everything else in 1880, private companies work a little differently than "normal". The problems are: - They never close. They just stop paying out. This is important because the benefits of the privates carry on for the entire game. - They should never count against the share limit - They count as zero value at the end of the game. It probably actually should count as zero value during the entire game. The first one is easy to deal with inside 1880 specific code. The third is difficult because inside Player the worth is based on the base price of the private. I was thinking about adding a field that could be initialized in the XML that would indicate the worth of each private and changing Player to look at it. The second I assume is similar, but I haven't had time to track that down in the code yet. Does this seem like a reasonable approach? Mike |
From: Michael A. <out...@gm...> - 2013-09-25 15:03:48
|
The main problem with that is that companies don't own privates ever in 1880. The benefits for a private company extend to all companies (both minors ("investors" in 1880) and majors) that the owner of the private is the president of. So we'd either have to have a token that went with the player, or tokens that could come and go as the player become/lost the presidency of a company. Mike |
From: Stefan F. <ste...@we...> - 2013-09-25 23:24:37
|
This is nothing new in Rails. 1835 and 1889 feature the same type of private powers. In 1835 companies do not own privates too. Example of private B in 1889: <SpecialProperty condition="ifOwnedByPlayer" when="tileLayingStep" class="rails.game.special.SpecialTileLay"> Use condition = "ifOwnedByPlayer" here. On 09/25/2013 05:03 PM, Michael Alexander wrote: > The main problem with that is that companies don't own privates ever in > 1880. The benefits for a private company extend to all companies (both > minors ("investors" in 1880) and majors) that the owner of the private > is the president of. So we'd either have to have a token that went with > the player, or tokens that could come and go as the player become/lost > the presidency of a company. > > Mike > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Rails-devel mailing list > Rai...@li... > https://lists.sourceforge.net/lists/listinfo/rails-devel > |