Welcome all, to the beginning of something (hopefully) great.
I am here to announce that the “post blog” button on this website has been found, and now we will be utilizing it! These will be semi-frequent, and hopefully will allow us to take you on our journey into our demo.
Progress has slowed a little as other projects steal our passion, but fret not! Tetraforce will not be left in the dusty “Godot projects” folder on some cluttered desktop. In fact, some new things have been added, with more on the way!
Now to answer the question, “What have they been doing?”
Magical incarnation of spells, skills, and advanced wizardry Joseph Manley is, without a doubt, working on automation of the back end. He has cleaned up a lot of background bugs and implemented fixes for Tetraforce specifically, and will be pushing them soon enough.
In his own words:
I recently ran into a challenge where an object that was animated using a tween required a visual effect that would be a frame by frame animation. The issue being that it required pixel perfect timing in order to line up with the object. The solution itself is fairly simple, but required some math.
The Tween interpolates 16px over 1 second of time, but also uses Ease In and Out, so the movement isn’t constant. So the easiest way to manage that was to record a gif of the animation and convert that gif into frame by frame. Thankfully when opening gifs in Photoshop it does just that. I was able to parse out the moment that I needed which was equivalent to 17 frames of animation. But with that same 17 frames you have to recreate the appropriate frame rate in order for the effect to line up accordingly. This calculation is easier in milliseconds, so 1000ms / 17 frames = 60ms/frame. (58.8 if we’re splitting hairs).
After that it’s just a matter of setting up the animation in an overlay and the result shows for itself: This knowledge can be scaled up for any time based animation vs. frame by frame and can be used in much more complex situations. Using a gif is an easy way to have a recreation of the moment at hand and work with an overlay effect in the art program itself. That way you minimize the amount of trial and error of running the game every time you make a change.
I think the result came out great, and I am sure we will go forward with this method, as it allows for a lot more flexibility. This said, I imagine this information could be useful to animators finding themselves in the same predicament.
In addition to all that progress the future holds more to come. Off of the top of my head the following need to be implemented before we can call this a “complete” demo.
- Dungeon elements for puzzles need to be added
- Enemy Rooms
- Mini bosses for the shrine and dungeon itself
- Main boss for the dungeon
- A place to spend those hard earned tetrans (a shop)