I had this prototype for a while now and just polished it to a “good enough” shape. Not without some adventures.
I started learning Defold from the 3D point of view right from the beginning, I got a little tired of 2D, I wanted something fresh. I remember how I couldn’t figure out why my 3D models are not displayed, then I discovered the render script. And it amazed me.
Ease of shaders use and the render script are some of the best features of Defold. Along with being cross platform.
I used MagicaVoxel to draw the objects, they turn out to be so cute in that style.
Rotating 3D objects wasn’t intuitive, the euler properties just don’t work, so I had to use quaternions and multiply them in the update()
function instead of go.animate()
.
I’ve implemented isometric camera, polar camera coordinates and rotation, point light, vignette, background gradient with dithering, color grading and depth of field postprocessing, ray casting from the camera to pick 3D objects, camera shake on collapsing. Added music, sounds and a game over screen to make it look like a real game. It was fun.
However it wasn’t fun when a few hours before the end of submission I decided to update Defold Editor 2 and no longer could build the game because of a bug (_GameroomExt symbol not found). Thankfully, Editor 1 was working fine, that’s strange however, they both should be building according to the same routines.
Then for some reason color grading shader got broken in Editor 1, LUT texture was clearly wrong, didn’t have time to figure what’s wrong out, so I just disabled it.
I’ve submitted Windows and macOS versions, but HTML5 version didn’t work. Turns out it doesn’t like when both vertex and fragment shaders have the same uniform variable. And it can’t work with postprocessing routine, during which a texture with a size of the screen is created and if the screen is not power of the two size, it fails in the browser. So I had to set my game resolution to 1024x1024 instead of original 640x960. And finally was able to submit an HTML5 version, but Chrome surprisingly can’t handle it performance wise, while both FireFox and Safari run it perfectly, so strange.
Then 2 minutes before the end of submission I realize I forgot to enable the music and rushed to the computer to make a new build with sounds enabled. Somehow I managed to upload on the last minute. Good speed of building, heh.
Thanks for organizing the jam!
View/play/rate here https://itch.io/jam/coronadefoldjam/rate/180091