Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Idea to skew vehicle tiles and vehicle-local coordinate system #14266

Closed
sparr opened this issue Dec 1, 2015 · 13 comments

Comments

Projects
None yet
10 participants
@sparr
Copy link
Member

commented Dec 1, 2015

What if as vehicles rotate and their tile locations get skewed, the sprites were also skewed to match?

45 degree skew

Ignore the fact that I skewed every tile for this screenshot, that was just the easiest way to code it. Pretend it's just the vehicle tiles that are skewed. Everything is actually still arranged on a square grid. At a 45 degree angle, this looks pretty darn good, I think.

22.5 degree skew

22.5 degrees gets trickier. Now the tiles are laid out in a 2:1 (or 3:1 at the midline) pattern, so the skewed sprites don't line up. However, it would be possible to draw the sprites shifted left/right by about 1/4 of a tile to make this look just as good as the 45 degree version. Shifting the tile draw locations by 1/4 of a tile shouldn't confuse the player too much. They can still get in and out by aiming for the mostly-right location of the tile outside.

Now for a crazier part of this idea... What if movement inside a skewed vehicle was also skewed? Right now, when a vehicle is skewed certain tiles move together and apart. Some things that were 2 moves apart are now 1, and vice versa. I would change that. When inside a vehicle, I would change the movement metric, so that moving in a compass direction moves along the axes of the vehicle rather than on the world compass, and moving diagonally moves to the same tile that you'd end up with the same move in an unskewed vehicle. I think this would actually make for a lot smoother gameplay than we have now with skewed vehicles.

To explain the movement idea:
Vehicle: Skewed:

  ABC     ABC
  DEF      DEF
 xGHI      xGHI

Currently, moving north from E goes to B in the normal vehicle and C in the skewed vehicle. I would make a "north" move from E go to B in both cases.

Currently, skewing the vehicle brings D/C and G/F closer together, and A/E/I farther apart. I would keep their movement/combat distance the same throughout the skew.

Currently, parking the vehicle in the skewed configuration allows a zombie at x to step into E, which would normally be surrounded by walls. My proposed warping of the local coordinate system would prevent that from happening.

@Chezzo

This comment has been minimized.

Copy link
Contributor

commented Dec 1, 2015

Holy good god this would be awesome. I think both ideas are great, the skewing and the movement idea. This is what the other view'd look like.

sparskew

@stk2008

This comment has been minimized.

Copy link

commented Dec 1, 2015

I cant wait for this

I have been hit when I parked skewed befor and tbh its unfair as there was a vehicle tile in the way...Well should have been any way LOL

@Rivet-the-Zombie

This comment has been minimized.

Copy link
Member

commented Dec 1, 2015

Neat concept!

@Enyss

This comment has been minimized.

Copy link

commented Dec 1, 2015

The main problem I see is that, if you park your vehicle when it's rotating, will the tiles stay skewed when you leave? Or will the game "unskew" when you stop driving ? It'll be strange in both cases.

Another idea : why not use "progressive skewing" : the farther the tile is from your vehicle, the less skewed thay are. This would imply to distort tiles a little. I'll try to make a picture to show you what it could looks like.

@scorpion451

This comment has been minimized.

Copy link

commented Dec 1, 2015

^ I'm not certain that's mathematically possible without getting into Escher-style curved grid systems.

@sparr

This comment has been minimized.

Copy link
Member Author

commented Dec 1, 2015

@floriandutheil the vehicle will always be skewed when it's turned, whether you're in it or not. the world will never be skewed (it just looks skewed in the images because that was the fastest way to test this idea).

@drbig

This comment has been minimized.

Copy link
Member

commented Dec 1, 2015

This is certainly an interesting approach ("out of the box") :D

@Enyss

This comment has been minimized.

Copy link

commented Dec 1, 2015

@sparr : then you have a "problem" between the car and the rest of the world. Unless you also draw the materials tiles that are under the vehicle to complete the gaps (this could works)

@sparr

This comment has been minimized.

Copy link
Member Author

commented Dec 1, 2015

@floriandutheil I would be drawing ground tiles to fill the gaps, so it would look similar to the screenshots in that regard.

@archer31

This comment has been minimized.

Copy link

commented May 15, 2016

This might be a little bit more of a resource intensive idea. and I do realize that I am far back in the history of issues/suggestions. but would it be easier to (still locked to the grid) overlay the vehicle on top of the grid (of course this would be tiles only). then we could make the vehicle its own separate "entity" meaning that objects that are one or attached to the vehicle would act differently.

@kevingranade

This comment has been minimized.

Copy link
Member

commented May 19, 2016

@archer31

This comment has been minimized.

Copy link

commented May 19, 2016

Well, in that case, isn't this entire idea not applicable. due to the fact that really we can't apply any turn or degree offset to the terminal version?

@illi-kun

This comment has been minimized.

Copy link
Member

commented Nov 8, 2016

This issue was closed as it appears inactive.

Reducing open issues to those which are (or will) be actively worked upon helps us focus our efforts. This issue has not been deleted - it still appears in searches and if it contains relevant information you are encouraged to continue to link to it.

If this issue was a bug

It should be reopened if it can be reproduced in the current build. You can obtain the most recent copy here. Please check there is not a more recent report of this bug before doing so. If no more recent report exists you should continue the discussion in this issue.

If this was a feature request

If the consensus was that the idea was good you could consider submitting an implementation via a PR. If you want to comment further please do so here as opposed to opening a new issue. Before posting check nobody has already made the same point and consider whether your comments are likely to lead to an implementation. If you have doubts about either consider instead voting for the issue

If you want to work on this issue

Then either assign it to yourself or if you are unable to do so claim it via adding a comment. Please don't assign others or make a general request for action.

@illi-kun illi-kun closed this Nov 8, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.