0 votes

Hello,

I'm just starting work on a 2d Isometric project that I'm hoping will be like Final Fantasy Tactics once it's finished. At the moment, I'm just working with a sprite to get the character movement sorted and I'm finding it a bit difficult to iterate through the path points that my nav creates.

My question is; is it easier to just set up my character as a kinematicBody2d, even though I require no physics functions and move using moveandslide etc. instead of manually adjusting sprite position? Every example I can find of isometric games in Godot shows the character as a kinematicBody, including the GDQuest tutorial that everyone points to.

Does anyone have any experience creating isometric games in Godot and do they have any advice on how to handle movement?

Thanks in advance!

in Engine by (30 points)

2 Answers

+1 vote

This is exactly what I'm working with right now. I'd say it's easier for a tactics style game to do without the physics. All you really want is the visuals and the logic to change, you don't need all the extras that come with kinematicbody. I stole a code that uses linear_interpolate that works quite simply.

it goes

if path.size() > 0: #as long as the path exists

var d = active.position.distance_to(path[0]) #distance to next
if d > 2: #move along

active.position = (active.position.linear_interpolate(path[0], (speed * delta)/d))
else: #remove path point as you reach them
path.remove(0)

it does limit the speed you can move at, because if you pass by your path node it'll try to go back to it. Could probably be countered, but I was happy with the speed I had.

by (16 points)

That's what I thought too but I'm having a nightmare trying to follow the path.

Thanks, I've implemented that and it seems to work! it's jittery but I can sort that out! Are you working with a tile map? If so, do you iterate through your path to convert to tile points rather than the random positions a simple path creates?

0 votes

Hello, guys!
I'm starting an isometric 2D RPG project and I came across the following problem, maybe some of you have also encountered this problem. In the matter of floors (1, 2, 3 ... N) both the cursor and the characters can move between tiles in the changes between one floor and another (in the middle of them, as the imagem) as if it were a valid space.
I thought of inserting some offset in the pivot of the floors (each floor is a tilemap), but I do not know how to do this?
Has anyone had to deal with this situation and knows how to respond or can anyone have any tips to give in this direction?
Grateful! !

by (38 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.