From: Stefan F. <ste...@we...> - 2013-09-01 16:16:08
|
So I have to get myself updated on your progress with 1880. Been some time I had a look at it. How do you release your changes to the users currently, as I have not done any new releases for some time now? Documentation of the new features was mainly done by a set of mails to this list. As soon as time permits I will put them together on the wiki, if it still exists after the sourceforge updates. On 09/01/2013 04:29 PM, Michael Alexander 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... > <mailto: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...> > > <mailto: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...> > > <mailto: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...> > > <mailto: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...> <mailto: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...> > > <mailto: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...> > > <mailto: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...> > > <mailto: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...> > > <mailto: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...> > > <mailto: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...> > > <mailto: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...> > > <mailto: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...> > > <mailto: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...> > > <mailto: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...> > > <mailto: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 > |