Tag Info

New answers tagged

0

How about using hexagonal movement instead? Would that be an option? On a hexagonal board there is little difference between a diagonal horizontal or vertical movement.


1

I am not incredibly familiar with mobile interface processing but my understanding of your question is that you want the user to be pressing both up and left at the same time on the device? This seems to be a little counter intuitive, while on a computer it is natural to press two keys at a time but for a mobile device you would only want to press once. My ...


1

You could make the player move two spaces if they move up, down, left or right, and only one diagonally. It wouldn't completely even it out, but it would be much closer.


0

First of all, make sure you using fixed timestep, instead of variable one. Also adding an extra field of sending time to your messages will probably make things easier, since that way you can tell when the message arrived how many frames is the local game ahead of message sending time.


6

To have diagonal and orthogonal movement reveal approximately the same area, you need two things (each of which, alone, has already been suggested in another answer or comment): Approximately circular view range: On its own, this won't give exactly the same revealed area for both types of movement. For example, in the image above, orthogonal movement ...


2

As an alternative to a more complex field of view (which as discussed above adds its own problems because of the constraints of a grid-based layout) you could try to emulate the effect of movement in a game that isn't based on a discreet grid. Where free movement is possible a diagonal move of one unit would be exactly that, not the ~1.41 units of movement ...


4

How about, rather than having a fixed viewing range, have the player's visibility area depend upon what direction the player was facing, as well as perhaps the direction the player faced in the last few turns (a player who was moving north might be able to immediately take a step south, but might take a few turns to get maximum viewing distance in that ...


43

Dungeons and Dragons 3.5 (pen-and-paper RPG) has a solution used for both movement and grid-based radius calculations: diagonal movement costs 1.5 what orthogonal costs. Since the diagonal of a unit square is approximately 1.414, 1.5 is pretty close. Because D&D 3.5 only supports integer movement, the way this is actually calculated is that orthogonal ...


8

Since you are using a grid and know which direction the user is proceeding there is nothing constraining you from adapting the prior answer and using a different fields of view depending on the direction. For example you could extended the field to include the corners when you travel in cardinal directions and shrink it down two squares on each end in your ...


43

You need to change the shape of the field of view. So that when you move in any direction, the same number of new squares become visible. Here is one possibility:


0

As Savlon said, this can be done as in the Tower Bridge Denfense demo. Basically you just have to separate the feet from the rest of the body using the sprite editor (slicing the different parts of your sprite asset). The feet will be children of your main player object. After that, you just need to create a new walking animation for the whole character and ...


0

It looks like your x,y,zoffset variables are set up for the camera in its default position (say, "South" of the player), and don't update when the camera is turned (say, to put the camera "West" of the player) - so when you perform the skill, the camera teleports back to its initial ("South") offset, which puts the player off-screen to its left. I may be ...


2

Yes, the Update loop is ideal for this. There are no special plug-ins required and you can do this with the free version. Basically you move the objects a tiny bit towards their destination each frame. When all those frames run one right after the other, it gives the appearance of smooth movement. A self contained script would look like the one I've created ...


5

What you are asking about is called acceleration. Easing out and easing in. It is achieved by computing the elements current speed before you move it. The simplest way to do that if your goal is only smoothness in motion is to use acceleration. You do this like this (pseudo code): p.x = 10.0; // Current character position. v.x = 0; maxV.x = 1.0; // Inset ...



Top 50 recent answers are included