-
Notifications
You must be signed in to change notification settings - Fork 49
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
New Extension: Isometry Helper #102
Comments
Nice! :) |
Please ping me in a few days if I forget about this after the release! |
Hello @4ian, I think the extension is ready for a 1st review. |
@D8H Might be a bit out of context here, but I've been trying https://www.bbc.co.uk/games/nightfall and this isometry game is using for the keyboard the usual controls directions, i.e: up is up, down is down, and you have to press two keys to follow an isometry "straight line" - which is not a problem when playing to it. For this extension, I think it will be good to distribute with a big link to an example game so that people can see how to use it. |
I think they designed it with sticks in mind and, in this case, indeed it makes no sense to be 45° rotated. It's also probably more user friendly for action oriented games too. You were probably right, maybe the top-down isometry mode should have a 45° offset by default (so up is up). What do you think about changing the offset when the user change the viewpoint and it was the default value (using 0° for top-down and 45° for isometry as default value) ? |
Sorry I forgot about this comment! :)
Do you talk about the "Angle offset"? I thought it would change only the rotation of the object, in case "Rotate object" is checked? :) But yes I think that if we add a new default "Isometry movement offset", that would help a lot to make sure that "up is up" 👍👍 |
I'm sorry for not reviewing this, the math is too complex for me to understand. Isn't there anyone else that could try to take a look? It has been submitted months ago 😱 |
Don't worry about it, I think it can wait to be used in more examples before releasing a 1st version. It only has a couple of functions that I needed to make some POC. It may have many flaws. I think it would be better if some users can use it on their own projects and give their opinions. But isometry is not the easiest thing to do and I don't see many users asking about it. I didn't scan Discord and the forum for quite some times, I'll try to be more proactive on the topic. |
Hello @D8H 👋 A review has started for this extension, but a new option has presented itself in the meantime. We now have a list of unreviewed "Community extensions", and your extension can be added to it, bypassing the review phase. If you chose to not take a review, you need to keep the following in mind:
tl;dr You will not need to do any more (or only minimal) work on your extension, but it might not meet the standards of all users, and reach less users. If you chose to continue on with the review:
tl;dr You will need to do a bit more work but deliver a high quality contribution that will reach more people The choice is yours, please tell us how you would like to continue. |
Is this still being worked on or should we close this @D8H ? |
I'm not working on it. I'm not sure if I should submit it as a community extension or not at all. |
I'll close the submission then, please open a PR if and when you decide it should be submitted. |
Describe the extension
This extension allow to
Extension file
https://www.dropbox.com/s/w2p48240l1od5nt/Isometry.zip?dl=1
Examples
it can be tried here: https://games.gdevelop-app.com/game-75df4a83-e6f2-43f6-afab-b09c175523d2/index.html
(PageUp and PageDown for level selection, sorry for the dead resources)
Issues to discuss
The slop behavior may not be really easy to use, because the caller needs to keep tack of the object movement (the slope doesn't know Who will go through). Should this be included in the behavior?
![SlopeEvents](https://user-images.githubusercontent.com/2611977/106279147-44fe2c00-623c-11eb-8531-ed496aaf3b1e.PNG)
There is also an issue with 2:1 isometry because the user have to set atan(0.5) for the isometric angle parameter. I wonder if I should add a function "PixelIsometryAngle()".
The inclination angle (alpha_i) is negative in the following diagram, but that not very intuitive. So the calculus takes the opposite of this parameter to make it more intuitive. (Note that the direction angle (alpha_r) is actually consistent with the angle used in Top-Down Movement extension: Down=90° contrary to what the diagram shows)
![IsoSlopeAngles](https://user-images.githubusercontent.com/2611977/106661539-9a6e6c00-65a1-11eb-8984-9023ad93e4dc.png)
I added an isometry angle parameter systematically even thought it's not used in some functions. I see it almost as a parameter of the extension. It avoids the user to wonder why it's present or not.
Things that can be done with isometry
What already works and doesn't need functions from this extension:
The test project shows how to do it, but maybe I should do a tutorial.
![IsoSpiralSBS](https://user-images.githubusercontent.com/2611977/106802898-db2eb980-6663-11eb-92c7-248b71b28afe.png)
Checklist
The text was updated successfully, but these errors were encountered: