Ascension
About ASCENSION:
In ASCENSION a lonely ghost has one last journey to escape from the forest and save the
princess until he can rest in everlasting peace. It is your job to help guide him through the forest of
his peril and into the sky and beyond. Start on the forest floor and gather the mysterious orbs that
will slowly grant the ghost his power to fly. Climb through the branches of the dark woods and make
your way above the canopy. Once in the light of the sun, feeling more powerful push on through the
treetops to find your path to the heavens. At the end of this last leg of the trip the ghost now has his
strength, and he can ascend.
This game serves as the introduction and a test for the game. Obviously, the story has not
ended here as the character has not found out who killed him and where the princess is. Therefore,
when I have time I would definitely come up with a sequel, hopefully after I have gained better
knowledge and skills in coding.
The game was started during Midterms, but it wasn’t complete without a story, concept,
design, accurate interactivity and instructions. So for the final, I have added more keyClicked
interactivity, camera panning during video, and having a start menu, cinematic(which can be skipped)
and an ending which can be restarted to the menu page. I have also fixed the accuracy of clickable
items, added a keyClicked H for users to get thoughts from the character as hint if they are lost.
I used cos() to make my character float up and down. I used a lot of Booleans to activate
levels and make things happen, words appear in the game. PImage was fairly used throughout the
sketch for backgrounds and character, to allow easier movement, especially when changing stages.
Pfont was used to set custom font to make the game more customized. Movie was used to play the
cinematic before starting the game to tell a story. Audio Player was used to add music and sound
effects. Audio Sample’s trigger() helps activating sound effect at a specific time.
PushMatrix() and popMatrix() are used throughout to have custom translation and rotation.
I created a rest Boolean that runs setup() again so that everything goes back in place to be restarted.
I also used millis() to calculate the time the sketch was started to determine when to make words
disappear after it is being activated with the H key. Constrain() was used to allow camera panning
with mouseX during the cinematic, but to only a certain range.
For someone coding for the first time in this semester, it was a pretty tough semester but I
enjoyed the challenge and luckily everything could be explained logically. So it is not that difficult to
find a solution, the problem is it just takes up a lot of time. I spend almost 10 to 20 hours per week
to get some difficult assignments in this class done. And it opened up my eyes to the world of coding,
which I am very much interested in.
I will continue to implement the java concept into my scripting and rigging career in the
future. Next semester, I will be taking the scripting class and eventually I hope I can be the problem
solver in a great studio
Code: Soure Code