STUART SAUNDERS GAMES

ASCENDANCE

Ascendance is a Flash game where you race out of a collapsing ravine in an attempt to reach the surface.

Ascendance was my first Flash game which had a span of two months. Waylon Snedker was the project artist, Hami Arabistani was the Project Manager and Lance Mueller was the Audio and UI Lead.

I was responsible for programming every aspect of the project, with Lance helping out occasionally with his prior Flash experience. We decided to include a scoreboard with the game as the entire premise is based on player score. We were questioned on this because the game is not a run forever and has a maximum score. However, we took this into account when we programmed how the score is added. Its worked perfectly as there has yet to be a perfect score in the game.

Ascendance Death Animation

ANIMATIONS

Ascendance had a ton of animations to program in. Working with the Flash IDE in this scenario was a huge benefit because it lays out all the animations and what they are referenced by. Working with a program such as FlashDevelop for my first project would have required me to absorb more information in the short amount of time we had.

This game required lots of little animation tweaks were thrown in to optimise and improve performance as it was an issue we had. For example, the shield is only added the first time the player gets it. I found that adding and removing the shield was more taxing on the computer than hiding it. I created an additional frame on the animation that would stop the animation after it finished playing. This required checks to see which frame the animation was on when determining the shield status, but this tweak improved performance more than any other.

THE SHIELD

Originally we had the player able to carry up to three shields at once. We experimented a lot with the difficulty of the game, and we decided we wanted a game that was fun and addictive yet challenging. This required lots of alternative programming to set up test environments to compare results.

We decided to limit the maximum number of shields to one, but make it a challenge to receive. Players that want to play safe will never receive the shield, giving more rewards to the players that are going for high scores.

To receive a shield, the player must reach maximum velocity. Usually at this speed the shield doesn't last long and is more of a saving grace than extra insurance.

Ascendance Shield
Ascendance Rocks

EFFECTS

Ascendance has quite a few effect applied to give the player the feeling of speed. Opacity, Collision, and blur are the most taxing areas of the game, but without them something feels wrong. These areas of the game required many optimizations so the game would be a good experience for players.

Collision checking was an area I spent time optimising. Initially very inefficient, I rewrote how the collision checks work and was able to make it only run when objects were on screen and I also created a single instance in which they ran.

Opacity and blur were optimised on a case-by-case basis. Opacity was limited to the shield and some parts of the background, and blur was only applied to falling rocks because that is the area of the screen players are primarily focusing on.

POST PRODUCTION

After the initial two month production cycle, I went back to further optimise and bug fix. I used a netbook as an optimization goal. During this time I began looking at automatically setting the game's quality based on the framerate.

From all my testing, I knew that if I checked right after starting the game, additional items would be loading and cause a drop in framerate. I needed to apply the fix after the game had finished loading to avoid false positives.

The other issue was checking more than once would cause the game to switch between different qualities since each time it would run the framerate would differ based on the quality setting.

I set the game to check once while the first rock was falling to bypass all issues and still be soon enough to allow an enjoyable game.

Ascendance Win Screen