Pre-Order the Game!

Desura Digital Distribution

Wednesday, May 16, 2012

Grid-based movement vs Classic movement, and Empire Contacting

I'm almost done with the equipment selection, but there's something that's gnawing at back of my mind. Since the ships has converted to be data-driven, I'm pondering on whether or not it's worth it having a grid-based movement that the game currently have.

It's nice to be able to park anywhere in the galaxy, but is it really practical? Will you meet a fleet somewhere in space often? If it's a rare event, then grid-based movement is just something that detracts from the player's enjoyment because it's overly complex compared to a simple star to star movement from MoO series.

On the other hand, it's a bit more flexible in that I can create the background nebula and have it impact the fleet's route. It also opens up the possibility of black holes influencing the adjacent cells (random event that sucks in a fleet?). But is it really worth it?

If I was to implement a simpler star to star movement aka MoO 1/2, would it be a big difference? Would you miss out on parking your fleet in middle of nowhere? If the game is converted to be star to star, then I can run the fleet movement through your race's script so you can create an even more unique race (for example, a race will build up energy over several turns, then just zap to the other star in one turn, or one race needs to build stargates to travel, and so forth). The game would supply the fleet's current position, and its destination, and the script will then update the fleet's position between turns.

Another nice benefit of changing to star to star movement is that I can add starlanes aka MoO 3. It will be a game option, so some people can play with it on, and others with it off. It will be a simple check to see if the two stars have a starlane connected to determine if it's a valid movement route. This won't be added until the basics of game are done.

One another problem with grid-based system is the question of establishing contact with other empires. Since the game don't have fuel ranges, how should an race establish contact with another race? A special ship with "Embassy" equipment that is adjacent to one of their system? Or when one system falls under another system's radar range? Or have everyone be in contact from beginning?

With star to star, we face the same problems with lack of fuel range. In MoO 1/2 it was a simple matter of being within fuel range of other empire, and in MoO 3, it was being 2 starlanes away from another empire. How do we determine when two empires are in contact with each other? Should I add back fuel ranges?

I would like to hear your opinions on this, as I'm a bit undecided on changing to star to star, and how empires establish contact. The ships and space combat are starting to wrap up, and I'd like to have this issues resolved before I jump into them.


  1. I like the idea of turning the galaxy map into a node graph of stars. We don't really gain anything through grid based movement. And you can still have nebula and such effect certain FTL types by just measuring if the line crosses inside the circle of a nebula or black hole. Perhaps similar to how they did it in weird worlds/strange adventures in infinite space.

    Also, personally I'm a little eh about the idea of ships not having a fuel range. But that being said maybe to gain contact with a nation simply involves getting into orbit around one of their worlds (which means that you probably wont be talking to the spacebastards with an enthusiam for ground to orbit missiles much but such is life).

  2. I'm open to adding fuel range. But "fuel range" don't make sense, because you can explore new stars without stopping back at a owned system. Maybe Supply Range would be a better fit? It seems like this would be the simplest and elegant solution to empire contacting, since I'm unable to think of any other methods that don't involve jumping through hoops. Building a special ship? A new user may not get that at first, and think it's not fun since he can't contact others. Orbiting a system? Less complicated, but if they blow your ship, you lose contact, they might not make the connection. I want something that's simple and don't require more than 1 or 2 sentences to explain.

    I agree about not gaining anything from the grid-based system, which is why I'm seriously considering this change. This won't be trivial to change over, so I need to be convinced that it's the correct decision. One another benefit of star to star is that it don't require A* pathfinding, which will speed the game a lot in huge galaxies.

    That's true about lines crossing inside a nebula or black hole's circle, that's easily doable. This means no more nebula background, they're now objects like the stars and black holes, so I'll need to get new artwork for nebulaes and they'll be a tangible presence in the galaxy.

    The more I think about this, the more I'm convinced star-to-star and supply range is the way to go.

  3. My approach to grid movement vs. star-to-star is to restrict all destinations to grid points but allow ships to travel in straight lines between points. So, the ships don't follow the grid specifically, but they must arrive at a grid point as their destination. I think you can get the best of both worlds with this approach--realistic space movement (point-to-point) along with the ability to add interesting stuff at various grid locations.

    I'm planning on implementing fleet interceptions in deep space at some point though and will likely have to amend this slightly.

    As for empire contact, you could make it so that once one of their ships visits one of your systems (or the other way around) then you have the option from that point forward to establish permanent contact via an embassy. Make establishing contact be a deliberate action. Even if two races are aware of each other, they may decide not to establish contact immediately--or one of them could turn down a contact offer from the other. I'm not sure what requirements would be in place to lose contact though... I suppose either side could just break it off whenever they wanted to.

  4. Possible alternate FTL systems:

    Catapults: Like how you build stargates you build hyperspace cannons. These are like stargates except A. they're one way. and B. they dont require a receiving gate so long as you're aiming somewhere in range.

    Jovian chulip approach: You have mobile stargates by mounting very large specialized equipment on certain ships. These ships are slow but any smaller vessel can instantly travel to them by entering an adjacent gateship and leaving the destination ship.

    every single method used in sword of the stars (seriously its like a guidebook for unusual ftl).

  5. I'm also in favor of star-to-star movement system. There is one big benefit from that system, you don't need to position ships somewhere around the star. Also, there is a little question with big performance implications, are you going to restrict space travel to star lanes. If you do, you have less edges on each graph node and less freedom of movement. If you don't you'll have complete graph (each node connected with all other nodes) but for player will have more freedom.

    Though, A* can mitigate (practically nullify) performance issue, some 4X players argue that restriction to star lanes is better because of more predictable fleet movement and possible choke points.

    About empire contact, you can always add some kind of communication range (either fixed or technology dependent) that is exclusively used for diplomatic actions. Personally, for the sake of simplicity, I wouldn't mix ships in the equation, just colonized stars would do. If you want to do atrocious complications you can make system where stationary ships extend comm. range :D

  6. bolo - That could work, but what's the benefits of having a quasi-grid system? It's basically the same issue as my original post. Maybe if fog of war or each cell could contain an interesting item, then it'd work. But I don't plan on having those in my game.

    As for contacting, kinda like how civilization 4 works, if you arrive adjacent to an empire's border, you establish contact? For some reason, that don't appeal to me.

    Warped Realities - The focus is on which system to use, grid or star-to-star, not how to make unique movements that work with star-to-star :)

    Ivan - Star lanes won't be implemented, but when they are, they will be an option. If star lanes are enabled, then travel are restricted to star lanes, otherwise you can travel to any star within supply range.

    The performance issue I mentioned is that with grid-based system currently in the game, it checks a lot of grid cells for the optimal route. With star-to-star, there won't be any checks, since it's direct from one star to another. With starlanes, there's a lot less nodes to check.

    It also makes sense that empires within supply range will be in contact, because your embassy requires ability to travel to and from other empires.

    All - I think I've made my decision. I will go for star-to-star route, with supply range. Later on, I will add support for starlanes, and you can customize contact rules (within 2, 3, 4, or so starlanes for starlanes).