Flame Sword: Blog #12: Dynamic Zoom


This past weekend on Twitter was good and surprisingly keeps getting better for a small time project. With Cherry’s new spawn animation we were able to both garner 100 new followers in 24 hours including some bigger Twitter accounts. It’s all very encouraging after so many years of having under the radar games to getting noticed. Some were not keen on the new spawn animation as it’s an explosion followed by Cherry landing, raising, and snapping her figures to reignite her flame blade. One can argue that played in reverse it makes for an incredible death animation.

As much as you’d think incredible pixel art would be enough dazzle, other effects were added into the game to give just that animation more impact. She sparks when her fingers snap, the sprite flashes white when you’re finally given control, the animation itself destroys any projectile or enemy that touches it, the screen shakes, the controller rumbles both from the initial explosion and her finger snaps. Oh and the camera starts zoomed in on her, before quickly zooming out.


I opened with Twitter to talk about the zoom that’s added. It’s something that the artist wanted maybe a month ago. A tighter zoom on the screen so you feel the combat more. The one thing that would better show off a 3 second animation would be having the camera zoomed in on it since you can’t move anyway.

My initial game engine everything is just on a single surface as is. That was just more efficient to program in. It would be a giant undertaking at this point to make a system to zoom in and out, even if my previous games had that function to end levels. With that said, how giant of an undertaking is programming for this game? Seems easier than raising a barn. It took about eight hours and still needs work to smooth out issues.

Since so many people on Twitter want this game to happen, I made the zoom function happen to enhance the presentation.

Zooming in was a logistical issue as the game has to zoom in on the player, rather than zoom in on the center of the screen. This prevents hidden edges of a screen.

The zoom system utterly destroyed a lot of other things. It destroyed the two menu systems since they drew to the application_surface rather than their own surface. It destroyed the HUD as that too would zoom in, but now it has its own surface. It destroyed smooth panning from room to room. It destroyed the view scale and placement of a lot of things. Most of these issues have been quelled for the most part. There are still some glaring issues, such as a jerky animation going from room to room and the game isn’t drawn to the entire full screen.

With the zoom functioning, different sections of level can feel different just by zooming in and out. A simple hallway can have a tight zoom to make it feel bigger. The death animation zooms in, the course clear zooms in for a brief moment. It adds a bit more emphasis on things. A new object for zoom control was added so when you touch them, the camera will zoom to where it should be.

A lot of other effects were put into the game such as Gaussian blur in the background beneath the menus when the game is paused. The bloom now only affects the game screen rather than the HUD and menus. Those menus were awful to read with bloom. Perhaps less bloom for the menu would still give it bloom while making it legible.
We’re still discussing making the game zoom in on enemy kills.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s