<Index> - >DevDiary< - <Characters> - <Lore>
This week, I started the process of moving the original Sunrise Doll from Game Maker 8.1 (GML) to Sunrise Doll R in Godot Engine 3.4.4 (GDScript). This prompted me to re-learn the basics of GDScript, as the last time I touched the language was almost a year ago. Thankfully, the original game was written with code portability in mind, without relying on built-in GML functions when it wasn't necessary. So far most of the challenge lies in writing the same code in different syntax.
I started with recreating the control scheme of Pawn, which meant examining the states mechanics in close detail. I discovered that 8 of the 37 states were left unused:
Reverse walking spin, removed in favor of a simple overhead slash. The first two states were cut, but the third one was repurposed as the idle sideways slash.
Idle thrust, cut in favor of an idle sideways slash.
Opposite walking thrust, replaced with an idle sideways slash.
The thrusts are a relic from the earliest designing period, where they were supposed to directly reflect the diagonal attack nature of chess pawns. As the development went on, I realized that this attack wasn't really useful, and I could afford to replace it with better attacks while still maintaining the diagonal motif overall.
The reverse spin was removed entirely. I wanted to let the player have a way to do full spins, and the combination of direct spin + reverse spin was more similar to a pendulum than a spinner.
All states that were coded for the final build of Sunrise Doll 2020 have been successfully tranferred to Sunrise Doll R.
One of the things that I had to rely on GML to get working was the collision boxes. GML handles collisions in a very straightworward way, but GDScript requires more thorough approach. It has taken me a while, but collision boxes are now correctly spawned and detected when an overlap occurs.
Only the frames with a visible slash have attack hitboxes. Pawn herself has a 16x16 hitbox in the middle.
Right now, the basic movement and attacks have been implemented. I have to say that I find it very comforting that the porting process seems to be on its track to fully mimic the original development process. No estimates will be given, but the development will continue at a steady rate.
As a bonus, here is the first background image of Sunrise Doll, as is: