Friday, March 16, 2018

Porting to Godot 3.0

Last weeks, I've been doing little things here and there apart getting organized. My main current struggle is porting littleshadows from the version 2.0 of godot to the 3.0 version. Godot is the game engine IDE I'm using for developing LittleShadows, a lovely piece of software extremely well designed which meet all the requirements of "how easy can we do things?" list. Even the hard one.

It's hard for me to be truly objective about Godot since I'm really loving it, however changing from version 2 to version 3 is a little bit of a headache for me. Which is a good sign, showing that the community (yep, it's an opensource project, dude, you can participate!) have been relentlessly developing and expanding it. But the transition from one version to the other isn't truly complete, just a mere tool to avoid to redo too much of work.

I completely understand, I'm fine with that! And the number of people having to port their game from version 2 to version 3 is probably very small (and their game also I presume). But, oh boy, it's a hard time for me. The community (well, RĂ©mi and Juan :-) ) has been very helpful anyway fixing bugs almost on demand, in particular on specific bug I had on the import of the rotation properties in the AnimationPlayer, the node responsible for creating and editing animations (moving nodes, sprites, creating particles, etc). The rotations were inverted, meaning that most of my animations were going backward instead of forward!

Then many other things went a little bit wrong: methods in animations weren't there anymore, the opacity property has been moved to the color selector (meaning that all tweaks of opacity during animation were... cancelled), the particles system changed so much that I have to redo all of them, the lighting properties of the sprites have been changed to CanvasMaterial meaning that I have to recreate them as well. That was for the dark side.

However there are of course a  lot of benefits including: delaing with colors directly at the tilemap level, advanced options for properties, new KinematicBody2D with improved behavior for physic, and WorldEnviroment allowing to add screen space effect like bloom, blur, hdr etc... That's super cool and that motivated my choice to go for godot 3.0 version, plus all the potential of new bug fixes and support of new devs.

No comments:

Post a Comment