Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Request for closer to circular rather than square tile ranging

A topic by NewtonPulsifer created 14 days ago Views: 125 Replies: 8
Viewing posts 1 to 5
(-1)

Hi!

Enjoying this game, thank you. I did want to drop in my biggest current impediment to enjoying the game even more, and that's the ranging code where diagonals are the same distance as non-diagonals, where Range 10 on a Size 1 is basically a 21x21 square (area 441), rather than closer to a circle of diameter 21 (area 346). Current long range Attacks and Sensors are dramatically better than shorter ranged ones because of that. My vote is to get a Midpoint Circle Algorithm implemented sooner rather than later!

(2 edits) (+1)

The thing about Lancer is, this has always generally been done on a HEX and not a SQUARE grid, where that would matter, but there are rules for both and they're equivalent.  For this translation into a game, it seems Olive has used squares for the map instead but kept the math the same from Hexes to Squares.  Page 64 down from the core rule book makes no differentiation between measuring range/adjacency or otherwise on a Hex or Square grid map.

I'm not sure if that was an oversight, intentional, or if they're going to change to Hexes like most of us are used to; but according to the rules we play by on paper? This is working as intended.

(-1)

Pg 64 RAW, range is range. So get out your ruler. Diagonals are only mentioned in regards to *movement* pg 62.

Developer(+1)

Hi! Thanks for the question. Going with squares instead of hexes for LT boils down to squares making programming many, many aspects of the game significantly easier. I did a serious dive into the possibility of doing a different grid system early on and came away with the conclusion that paying the Hex Tax would be a large enough drain on production time to not be worth it – we would have had to cut other features like destructible terrain, the user-facing map editor, or line of sight previews while choosing targets.

In particular, calculating line of sight is extremely non-trivial in a 3D voxel space, and all the best algorithms for doing so have been done with square grids. It would have also made calculating texture bleed between voxels (the effect where some grass can extend across a boundary into a dirt tile) extremely difficult for the engine we have.

I know that most tabletop Lancer games are played on hexes and squares makes diagonals a little funky, but like Airatome1 said, the game was designed to be grid-agnostic (see the Black Witch’s PCP for a fossil of it being originally designed for square grids). Lancer is explicitly not designed to be a simulation, so I’m comfortable letting the rules bend what’s geometrically sound.

(6 edits) (-1)

Not a little funky IMO. Very funky. I don't think I'm in the minority in believing that.

https://www.reddit.com/r/LancerRPG/comments/mactxi/hex_or_grid/

15.5% prefer Grids over Hexes. And I wouldn't be surprised if only 15.5% of that 15.5% range with diagonals as 1:1. So your decision is aligned with like 2.4% of Lancer players. The rest use D&D style diagonals cost 1.5, round down. One, two-three, four, five-six etc.

EDIT: Repeating my comment above because I don't agree with your interpretation of the game rules. They only allow diagonal distortion on movement, not attack range.

-Pg 64 RAW, range is range. So get out your ruler. Diagonals are only mentioned in regards to *movement* pg 62.-

EDIT2: Also, you don't need to use hexagons. You can use the Midpoint Circle Algorithm and keep a grid.  Here's godot-rgmap on github looks to have already implemented what you'll need so you can crib the code (MIT license) https://github.com/alex-karev/godot-rgmap   and a youtube link 

Developer(+1)
  1. Having sloppy significant digit hygiene makes me less likely to listen to what you’re saying here - you can’t be pulling percentages out of thin air (“15.5% of 15.5%”) and still be including decimal places as a way to sound authoritative.

  2. It’s not about player preference for the TTRPG. I use hexes in my own game too. They’re fun. Nobody is arguing they’re not. It’s about what is feasible to do for a indie video game adaptation.

  3. Are you suggesting use near-circles for range but 1:1 for movement? So like diagonally 10 spaces is out of range of an assault rifle but within range for a speed 5 move+boost? I don’t think that’s a game that would be good. And if we tried doing circular square movement, we’d have to start answering questions like “what if they do it as a series of 1-step moves?” The edge cases are not trivial. The only other realistic alternative is no-diagonals like in the original web demo or Icon. I’m more open to that but I would need a UX reason eg making it easier to learn for me players.

(-2)

1. I linked to a Reddit poll that 89/574 (so 15.5%) preferred grids over hexes. I'm guessing there might be a misunderstanding because you didn't click through that link and I didn't clearly reference it as my source?

2. I hear you on cost/benefit and agree. I'd recommend a poll or something to see what people think. In my opinion if the game is rated zero to 10, this is a hard -1 to the final score. My opinion might be off in the weeds. Or it might be mainstream. It's possible you're applying resources to something you believe is more important, but that people who play the game disagree. I think I'm up to 32 in terms of successful missions in my latest saved game so be assured that my opinion on this has been refined; diagonals=non-diagonals is bad. Any improvement is welcome.

3. I vote yes near circles for ranging and sensors is a better game even if movement is not. The game is noticeably distorted around diagonals as it is right now. Your comment of "I don’t think that’s a game that would be good" in regards to diagonals=non-diagonals on movement only....I'm not sure how to respond to.  From my perspective it would be an improvement. I take it you're disagreeing?

(-2)

To be clear, I'm not talking about switching to hexagons. I'm talking about drawing circles on a grid for ranging sensors and ranged weapons.

(+1)

I mean don't get me wrong, I'd love if using a hex grid was an option as well, but I think Olive had good reasons not to make it so. I'm by no means fluent in coding of any kind, but it does make sense to me that trying to code for hexagonal LOS and movement (especially for Size 2's, where their asymmetrical shape could cause problems, especially if trying to implement being able to "rotate" them so that their triangular area flips directions, which I typically see ruled as moving 1 space) would be far more difficult than just coding for a square grid. If it isn't feasible, it simply isn't feasible.

I don't think the circular method whilst using a square grid is all too great of a solution either. The simplest would probably just be the "boxcar" method, where you can't move directly on diagonals, and instead must make two cardinal movements (one up, then one left, for example), but that has its own disadvantages in making diagonals unrealistically short. You could even do a thing I've seen in some D&D games, where every other diagonal costs one extra space of movement, to make it adhere closer to 45° measurements, but that also seems like it would be annoying to code and make work with everything in the game. 

Realistically I think it's not too bad just getting used to the square grid. I come from a D&D background so I'm familiar with it already, more so than hexes even, but I understand that's not the case for everyone. The main thing, in my opinion, is just making the game work, and being able to make it in a timely manner that avoids unnecessary fuss. Opting to use squares instead of hexes seems to be by far the more economical choice for these reasons, and I can't really fault Olive or the other team members for going with that. It's a passion project, no doubt about that, just look at all the care taken to render the game as faithfully as possible - it almost puts Athena's Simulacra to shame. But there's always a line to be drawn between suffering for the sake of passion, and suffering beyond reason. I've heard enough horror stories about trying to code different games or programs to understand that said line had to be drawn somewhere, and I think it's in a good place as it is.