From: Chris S. <chr...@gm...> - 2013-09-01 14:38:44
|
If you port it, we'll happily replay our game up to the point it's at now and port it as well. -- Chris Please consider the environment before printing this e-mail. On Sun, Sep 1, 2013 at 7:29 AM, Michael Alexander <out...@gm...> wrote: > I'm hesitant to port it immediately, as it's very close (I think) to be > being completely playable under 1.7. We have a couple groups that are > actively playing it right now, they just haven't gotten to the stage where > it doesn't quite work. Maybe in the very short term we can get it to the > stage where they can finish their games, then we could work on porting it to > 2.0. I'm more than willing to help port it to 2.0. > > Is there anything that documents the changes with 2.0? > > Mike > > > On Sun, Sep 1, 2013 at 10:05 AM, Stefan Frey <ste...@we...> wrote: >> >> Rails 2.0 has been ready to roll out for an alpha release since >> February. I delayed that as I have not found a reasonable time slot >> to react on feedback from testers. >> >> All changes of the Rails1.x branch that happened after the creation of >> the Rails2.0 branch were already merged with Rails2.0. >> >> The only exception are all work done with respect to 1880. >> My main issue there is that I have never played 1880, thus I know 1880 >> only from the rules. And if I remember correctly there are a few things >> which are not easy to implement as they touch areas of the Rails which >> might require some re-work. >> >> That was the long answer. The short-answer is: >> >> * Test releases from Rails2.0 branch are possible already. >> >> * I recommend moving 1880 development to Rails2.0 as 1880 >> would benefit from upcoming rewrite of the code. >> >> * If you take care of merging the 1880 changes into Rails2.0, this would >> help me a lot. However feel free to ask for help anytime. >> >> Stefan >> >> >> On 08/29/2013 02:18 PM, Michael Alexander wrote: >> > How close is 2.0 to being ready to roll out? Should we be considering >> > moving the 1880_specific branch to be under 2.0? >> > >> > >> > On Thu, Aug 29, 2013 at 6:56 AM, Stefan Frey <ste...@we... >> > <mailto:ste...@we...>> wrote: >> > >> > You coded against Rail 1.x, this part of the code is upgraded in >> > Rails 2.0 branches. >> > Especially the connectivity functions are improved. If you check out >> > Rails 2.0 you will realize that it supports full verification of >> > tile lays. >> > So I suggest that you code that functionally in 2.0 otherwise it >> > will most likely duplicate efforts and will not be mergeable. >> > >> > >> > Michael Alexander <out...@gm... >> > <mailto:out...@gm...>> wrote: >> > >> > So what I found was that the NetworkIterator stopped at nodes >> > that were sinks. If I want to be able to build a graph that >> > just tells me that I'm connected and ignores tokens in the way, >> > I think I need to add a setting to NetworkIterator to tell it if >> > it should ignore sinks. As this is a complicated area of the >> > code, and it's not limited to the 1880 specific areas, I'd >> > appreciate some feedback on my proposed changes: >> > >> > diff --git a/rails/algorithms/NetworkCompanyGraph.java >> > b/rails/algorithms/NetworkCompanyGraph.java >> > index bd93113..0e5b2c8 100644 >> > --- a/rails/algorithms/NetworkCompanyGraph.java >> > +++ b/rails/algorithms/NetworkCompanyGraph.java >> > @@ -64,7 +64,8 @@ >> > return phase2Graph; >> > } >> > >> > - public SimpleGraph<NetworkVertex, NetworkEdge> >> > createRouteGraph(boolean addHQ) { >> > + >> > + private SimpleGraph<NetworkVertex, NetworkEdge> >> > createGraph(boolean addHQ, boolean ignoreSinks) { >> > // get mapgraph from builder >> > SimpleGraph<NetworkVertex, NetworkEdge> mapGraph = >> > graphBuilder.getMapGraph(); >> > >> > @@ -88,7 +89,7 @@ >> > // add connection to graph >> > graph.addVertex(vertex); >> > graph.addEdge(vertex, hqVertex, new >> > NetworkEdge(vertex, hqVertex, false)); >> > - NetworkIterator iterator = new >> > NetworkIterator(mapGraph, vertex, company); >> > + NetworkIterator iterator = new >> > NetworkIterator(mapGraph, vertex, company, ignoreSinks); >> > for (;iterator.hasNext();) >> > vertexes.add(iterator.next()); >> > // restore sink property >> > @@ -112,6 +113,14 @@ >> > return graph; >> > } >> > >> > + public SimpleGraph<NetworkVertex, NetworkEdge> >> > createRouteGraph(boolean addHQ) { >> > + return createGraph(addHQ, false); >> > + } >> > + >> > + public SimpleGraph<NetworkVertex, NetworkEdge> >> > createConnectionGraph(boolean addHQ) { >> > + return createGraph(addHQ, true); >> > + } >> > + >> > public List<NetworkVertex> >> > getCompanyBaseTokenVertexes(PublicCompanyI company) { >> > List<NetworkVertex> vertexes = new >> > ArrayList<NetworkVertex>(); >> > for (TokenI token:company.getTokens()){ >> > diff --git a/rails/algorithms/NetworkIterator.java >> > b/rails/algorithms/NetworkIterator.java >> > index f4029e8..1adc0a6 100644 >> > --- a/rails/algorithms/NetworkIterator.java >> > +++ b/rails/algorithms/NetworkIterator.java >> > @@ -26,6 +26,7 @@ >> > private NetworkVertex startVertex; >> > private boolean startVertexVisited; >> > private boolean routeIterator; >> > + private boolean ignoreSinks; >> > >> > // internal data >> > private List<NetworkVertex> stack = new >> > ArrayList<NetworkVertex>(); >> > @@ -41,14 +42,14 @@ >> > >> > public NetworkIterator(Graph<NetworkVertex, NetworkEdge> >> > graph, >> > NetworkVertex startVertex) { >> > - this(graph, startVertex, null); >> > + this(graph, startVertex, null, false); >> > } >> > >> > /** >> > * Returns NetworkIterator for specific company >> > */ >> > public NetworkIterator(Graph<NetworkVertex, NetworkEdge> >> > graph, NetworkVertex startVertex, >> > - PublicCompanyI company) { >> > + PublicCompanyI company, boolean ignoreSinks) { >> > super(); >> > >> > if (graph == null) >> > @@ -61,6 +62,7 @@ >> > this.startVertex = startVertex; >> > this.startVertexVisited = false; >> > this.routeIterator = false; >> > + this.ignoreSinks = ignoreSinks; >> > } >> > >> > NetworkIterator setRouteIterator(boolean routeIterator) { >> > @@ -174,7 +176,7 @@ >> > >> > private void addUnseenChildrenOf(NetworkVertex vertex, >> > boolean greedy) { >> > >> > - if (vertex.isSink()) return; >> > + if (vertex.isSink() && (!ignoreSinks)) return; >> > log.debug("Iterator: Add unseen children of " + >> > vertex); >> > >> > for (NetworkEdge edge : graph.edgesOf(vertex)) { >> > diff --git a/rails/algorithms/NetworkVertex.java >> > b/rails/algorithms/NetworkVertex.java >> > index 91356af..03045b9 100644 >> > --- a/rails/algorithms/NetworkVertex.java >> > +++ b/rails/algorithms/NetworkVertex.java >> > @@ -311,7 +311,7 @@ >> > */ >> > public static void >> > initAllRailsVertices(Graph<NetworkVertex, NetworkEdge> graph, >> > PublicCompanyI company, PhaseI phase) { >> > - >> > + >> > // store vertices for removal >> > List<NetworkVertex> verticesToRemove = new >> > ArrayList<NetworkVertex>(); >> > for (NetworkVertex v:graph.vertexSet()) { >> > >> > >> > On Wed, Aug 28, 2013 at 4:52 PM, Michael >> > Alexander<out...@gm... >> > <mailto:out...@gm...>> wrote: >> > >> > Here's what I ended up with so far: >> > >> > compA is the private investor >> > compB is the company to check to see if there is a >> > connection with >> > >> > PublicCompanyI compA = operatingCompany.get(); >> > ... >> > NetworkGraphBuilder nwGraph = >> > NetworkGraphBuilder.create(gameManager); >> > NetworkCompanyGraph companyGraph = >> > NetworkCompanyGraph.create(nwGraph, compA); >> > SimpleGraph<NetworkVertex, NetworkEdge> graph = >> > companyGraph.createRouteGraph(true); >> > Set<NetworkVertex> verticies = >> > graph.vertexSet(); >> > ... >> > for (TokenI token : compB.getTokens()) { >> > TokenHolder holder = token.getHolder(); >> > if (!(holder instanceof Stop)) continue; >> > Stop city = (Stop) holder; >> > Station station = city.getRelatedStation(); >> > >> > for (NetworkVertex vert : verticies) { >> > if (vert.getType() == >> > NetworkVertex.VertexType.STATION) { >> > Station vertStation = >> > vert.getStation(); >> > if (station == vertStation) { >> > // There is a link between the >> > companies! Hooray! >> > } >> > } >> > } >> > } >> > ... >> > >> > This seems to work for simple cases, however, I suspect >> > (without digging too much) that it will get blocked by >> > tokens, which I can't have. I bet it won't be too hard to >> > fix, tho. >> > >> > Mike >> > >> > >> > >> > On Wed, Aug 28, 2013 at 2:38 PM, brett >> > lentz<bre...@gm... <mailto:bre...@gm...>> >> > wrote: >> > >> > In order to do tile rotations, there is already logic >> > that is aware of the "exits" of a tile. There's also the >> > route suggestion code. >> > >> > It might be possible to leverage that same code to >> > create a route graph that enables detection of >> > destination runs. >> > >> > It probably needs a fair bit of work to adapt for this >> > purpose, but those are at least places in the code to >> > start looking. >> > >> > ---Brett. >> > >> > >> > ---Brett. >> > >> > >> > On Wed, Aug 28, 2013 at 9:50 AM, Chris >> > Shaffer<chr...@gm... >> > <mailto:chr...@gm...>> wrote: >> > >> > There are games where tokens do block destinations, >> > so whatever code >> > you write should allow for that possibility. There >> > are also games >> > where connections are considered complete as soon as >> > the tile is laid, >> > and others where the check occurs during the >> > relevant company's >> > operating turn. >> > >> > -- >> > Chris >> > >> > Please consider the environment before printing this >> > e-mail. >> > >> > >> > On Wed, Aug 28, 2013 at 6:35 AM, Michael Alexander >> > <out...@gm... >> > <mailto:out...@gm...>> wrote: >> > > Both Major Companies in 1856 and Foreign >> > Investors in 1880 have the idea of >> > > needing to reach a destination. Both are >> > implemented by having the game >> > > player use a special action to tell the game >> > engine that a connection has >> > > taken place. Once the connection exists, some >> > one time event occurs. It >> > > seems like if there is code that could be used to >> > determine if a connection >> > > exists, the game could automatically determine >> > that without relying on the >> > > player to tell it. >> > > >> > > So I actually want something slightly different >> > than what I said. It's not >> > > that the current company can make a run between >> > two hexes that I want to >> > > know, it's that a connection exists (regardless >> > of tokens). >> > > >> > > Mike >> > > >> > > >> > > On Wed, Aug 28, 2013 at 9:28 AM, Chris Shaffer >> > <chr...@gm... >> > <mailto:chr...@gm...>> >> > > wrote: >> > >> >> > >> Would this be for games where companies are >> > limited to building track >> > >> where their trains can actually reach, or some >> > other purpose? >> > >> >> > >> -- >> > >> Chris >> > >> >> > >> Please consider the environment before printing >> > this e-mail. >> > >> >> > >> >> > >> On Tue, Aug 27, 2013 at 11:24 PM, Michael >> > Alexander >> > >> <out...@gm... >> > <mailto:out...@gm...>> wrote: >> > >> > Everyone, >> > >> > >> > >> > I'd like to add a check to see if the >> > currently operating company >> > >> > can >> > >> > run from specific MapHex to another. It seems >> > like there should be a >> > >> > way to >> > >> > do this, since a similar calculation would >> > have to be made when >> > >> > determining >> > >> > what MapHexs are eligible to have a tile >> > placed, but I can't seem to >> > >> > figure >> > >> > out how to do it. What am I missing? >> > >> > >> > >> > Thanks, >> > >> > >> > >> > Michael Alexander >> > >> > >> > >> > >> > >> > >> > >> > ------------------------------------------------------------------------------ >> > >> > Learn the latest--Visual Studio 2012, >> > SharePoint 2013, SQL 2012, more! >> > >> > Discover the easy way to master current and >> > previous Microsoft >> > >> > technologies >> > >> > and advance your career. Get an incredible >> > 1,500+ hours of step-by-step >> > >> > tutorial videos with LearnDevNow. Subscribe >> > today and save! >> > >> > >> > >> >> > >> > >http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk >> > <http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk> >> > >> > >> > _______________________________________________ >> > >> > Rails-devel mailing list >> > >> >Rai...@li... >> > <mailto:Rai...@li...> >> > >> >> > >> > >https://lists.sourceforge.net/lists/listinfo/rails-devel >> > <https://lists.sourceforge.net/lists/listinfo/rails-devel> >> > >> > >> > >> >> > >> >> > >> >> > >> > ------------------------------------------------------------------------------ >> > >> Learn the latest--Visual Studio 2012, SharePoint >> > 2013, SQL 2012, more! >> > >> Discover the easy way to master current and >> > previous Microsoft >> > >> technologies >> > >> and advance your career. Get an incredible >> > 1,500+ hours of step-by-step >> > >> tutorial videos with LearnDevNow. Subscribe >> > today and save! >> > >> >> > >> > >>http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk >> > <http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk> >> > >> _______________________________________________ >> > >> Rails-devel mailing list >> > >>Rai...@li... >> > <mailto:Rai...@li...> >> > >> > >>https://lists.sourceforge.net/lists/listinfo/rails-devel >> > <https://lists.sourceforge.net/lists/listinfo/rails-devel> >> > > >> > > >> > > >> > > >> > >> > ------------------------------------------------------------------------------ >> > > Learn the latest--Visual Studio 2012, SharePoint >> > 2013, SQL 2012, more! >> > > Discover the easy way to master current and >> > previous Microsoft technologies >> > > and advance your career. Get an incredible 1,500+ >> > hours of step-by-step >> > > tutorial videos with LearnDevNow. Subscribe today >> > and save! >> > >> > >http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk >> > <http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk> >> > > _______________________________________________ >> > > Rails-devel mailing list >> > >Rai...@li... >> > <mailto:Rai...@li...> >> > >> > >https://lists.sourceforge.net/lists/listinfo/rails-devel >> > <https://lists.sourceforge.net/lists/listinfo/rails-devel> >> > > >> > >> > >> > ------------------------------------------------------------------------------ >> > Learn the latest--Visual Studio 2012, SharePoint >> > 2013, SQL 2012, more! >> > Discover the easy way to master current and previous >> > Microsoft technologies >> > and advance your career. Get an incredible 1,500+ >> > hours of step-by-step >> > tutorial videos with LearnDevNow. Subscribe today >> > and save! >> > >> > http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk >> > _______________________________________________ >> > Rails-devel mailing list >> > Rai...@li... >> > <mailto:Rai...@li...> >> > >> > https://lists.sourceforge.net/lists/listinfo/rails-devel >> > >> > >> > >> > >> > ------------------------------------------------------------------------------ >> > Learn the latest--Visual Studio 2012, SharePoint 2013, >> > SQL 2012, more! >> > Discover the easy way to master current and previous >> > Microsoft technologies >> > and advance your career. Get an incredible 1,500+ hours >> > of step-by-step >> > tutorial videos with LearnDevNow. Subscribe today and >> > save! >> > >> > http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk >> > _______________________________________________ >> > Rails-devel mailing list >> > Rai...@li... >> > <mailto:Rai...@li...> >> > https://lists.sourceforge.net/lists/listinfo/rails-devel >> > >> > >> > >> > >> > >> > ------------------------------------------------------------------------------ >> > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, >> > more! >> > Discover the easy way to master current and previous Microsoft >> > technologies >> > and advance your career. Get an incredible 1,500+ hours of >> > step-by-step >> > tutorial videos with LearnDevNow. Subscribe today and save! >> > >> > http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk >> > _______________________________________________ >> > Rails-devel mailing list >> > Rai...@li... >> > <mailto:Rai...@li...> >> > https://lists.sourceforge.net/lists/listinfo/rails-devel >> > >> > >> > >> > >> > >> > ------------------------------------------------------------------------------ >> > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! >> > Discover the easy way to master current and previous Microsoft >> > technologies >> > and advance your career. Get an incredible 1,500+ hours of step-by-step >> > tutorial videos with LearnDevNow. Subscribe today and save! >> > >> > http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk >> > >> > >> > >> > _______________________________________________ >> > Rails-devel mailing list >> > Rai...@li... >> > https://lists.sourceforge.net/lists/listinfo/rails-devel >> > >> >> >> >> ------------------------------------------------------------------------------ >> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! >> Discover the easy way to master current and previous Microsoft >> technologies >> and advance your career. Get an incredible 1,500+ hours of step-by-step >> tutorial videos with LearnDevNow. Subscribe today and save! >> >> http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk >> _______________________________________________ >> Rails-devel mailing list >> Rai...@li... >> https://lists.sourceforge.net/lists/listinfo/rails-devel > > > > ------------------------------------------------------------------------------ > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! > Discover the easy way to master current and previous Microsoft technologies > and advance your career. Get an incredible 1,500+ hours of step-by-step > tutorial videos with LearnDevNow. Subscribe today and save! > http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk > _______________________________________________ > Rails-devel mailing list > Rai...@li... > https://lists.sourceforge.net/lists/listinfo/rails-devel > |