godot-2d-visual-novel
godot-2d-visual-novel copied to clipboard
This branch contains multiple bugfixes and improvements.
There are comments in the code which explain the changes made but needs to be removed when merging into main
Bugfixes:
-
_leave did not reset the character position after the animation finished. _enter on the other side needs the sprite to start from its original position. I fixed that by resetting the sprite when the tween finishes.
-
Pressing ui_accept causes animations to be skipped. As the same action is required to advance text, every animation except the first one was skipped. I removed that animation skip functionality, as it's required in my opinion and solves that issue.
Improvements:
-
There can now be 4 characters on screen instead of 2. The added ones are named left_center and right_center
-
Now only the talking character gets focus and is displayed in color. All the others are grey.
-
Characters can leave the screen now and talk from the off without becoming visible again. I added a new animation called -hidden- for that cause.
I'm unable to work on this right now. I did some refactoring on my side last time, but I would implement the features differently, starting back from the requirements.
When coding this for the course, I intentionally made the system limited and specific. So some of the code is highly specific.
To expand it, there's a need to rethink in particular how characters work within the system. It'd also affect the course as this project's directly linked to it, so that's why it's quite a bit of work and I'm unable to tackle now.
The first bugfix regarding the leave animation would still be welcome. The other isn't a bug, or maybe there's a bug, but skipping animations along with the corresponding text is intentional, as commented in the PR review. If it doesn't skip all animations, then that bit isn't intended.
Now, I'm not a big player of visual novels, so if in most VN games they still play animations when skipping text and that's what players of those games expect, then the change would be welcome. Do you know more about that perhaps?
And once again, thanks for taking the time to contribute. I hope you understand reviewing and adapting code + the course takes time I don't have right now, and that it's not rejecting your work in itself.
I'm unable to work on this right now. I did some refactoring on my side last time, but I would implement the features differently, starting back from the requirements.
When coding this for the course, I intentionally made the system limited and specific. So some of the code is highly specific.
To expand it, there's a need to rethink in particular how characters work within the system. It'd also affect the course as this project's directly linked to it, so that's why it's quite a bit of work and I'm unable to tackle now.
I expanded that system just for my personal needs. I wanted to mimic the behavior o "Fire Emblem Path of Radiance" which had a nice dialog system in my opinion. It was not my intention to rewrite the whole thing, but to quickly add functionality I needed for a very short fun conversation I sent someone.
The first bugfix regarding the leave animation would still be welcome. The other isn't a bug, or maybe there's a bug, but skipping animations along with the corresponding text is intentional, as commented in the PR review. If it doesn't skip all animations, then that bit isn't intended.
As mentioned above, your code does skip every animation as there is no check for how long the ui_accept button is held. Animations get skipped whenever the button gets pressed, which is each time the player advances conversation.
Now, I'm not a big player of visual novels, so if in most VN games they still play animations when skipping text and that's what players of those games expect, then the change would be welcome. Do you know more about that perhaps?
I too am not a big player of visual novels. As mentioned above I just wanted to get familiar with the engine and send someone a short and fun piece of conversation. After finishing your course I noticed I was missing some features I wanted to use.
What some games (not VN but Fire Emblem like games) do is to not skip all the text and character animation instantly, but play them at a much higher speed. I'm not sure if I remember that one correctly however.
And once again, thanks for taking the time to contribute. I hope you understand reviewing and adapting code + the course takes time I don't have right now, and that it's not rejecting your work in itself.
Don't worry, I understand. You have to have the course AND the code in mind.
I will make a PR then only containing the bugfixes. Thanks for your time :)
@Nino-Bock if you still looking for something like this check out my Rakugo Dialogue System: https://rakugoteam.github.io