DEVLOG#06 – Audio Development

Hi Ascenderians!

I am Citrine, the sound designer of GameChanger Team. GameChanger Team have 2 persons on audio department, Zircon who focused on music composing & I focused on sound effect, mixing & finishing touch to all audio on Ascender The Game.

So, first of all, I will tell you about what we believed about music. We believe that music in game will give you different experience of gaming. Player will get better experience when playing a game with good audio, rather than without audio.

On the other side, I saw that most game developers neglected music in game development, and left it until the very end. I really disagree with that decision. Therefore, I undertake the development of the audio from the beginning, alongside the development of the game.

What I do first is to make the BGM & sound effect for the prototype of Ascender The Game.

 

Ruby, our Producer, chose ‘Himalaya’ as the overall concept of Ascender The Game. I then researched on the ‘Himalaya’ music, about what instruments are used in ‘Himalaya’ music.

I chose flute, violin and cello as a basic instrument for our theme song and added some Celtics instruments like harp, drum, trumpet and trombone to make our song more majestic.

This is our theme song for now. It’s not final, we will add choir like angel’s voice to this song, to make it more emotional.

 

That’s it for today, next time I will give you sound effect compilation of Ascender The Game.

Adiós.

DEVLOG#05 – Irritating Implementation of Platforming Predicament, Part I: Basic Character Control

Hello Ascenderians!

I’m Chalcedony, the programmer of Ascender, also a part-timer in devlog writing. Programming Ascender has been a great challenge for me as none of my previous projects are of this level of difficulty. Having said that, I would like to share how complex to code Ascender is, a task that might look simple, but really it isn’t.

As you might have known by now, Ascender is a 2D explorative metroidvania-like game, with a dash of RPG elements. Well, there is actually so much to code. Besides the usual main menu, pause function, etc., which are found in almost all games, some of them are (in no particular order):

  • Character movement (how he moves, including his skills such as double jump, wall jump, etc.)
  • Environment (moving platforms, floor switches)
  • Inventory
  • Dialogues (managing who talks what given current condition, e.g. possess an item, undergone a quest, different talk between night and day)
  • Quest and event system (trigger cutscene or unlock quests when certain condition occurred)
  • Camera movement
  • AI for monsters (mainly bosses)
  • Input management (interfacing different input methods: keyboards, joysticks)
  • Rune system

FYI, rune system is an element unique to Ascender. Think of it as a crossover between jigsaw and skillset manager… You gain the abilities by placing the jigsaw pieces! This feature is so *IMPORTANT* that it deserves its own page… Keep your eyes peeled for information on future updates!

runeSystemIn-game rune system

Ascender is a platformer game, and I’ll be nice to copy-paste Wikipedia about the definition of platformer games (after all, that’s what all programmers are master at – copy-pasting).

A platform game (or platformer) is a video game which involves guiding an avatar to jump between suspended platforms, over obstacles, or both to advance the game. (taken from https://en.wikipedia.org/wiki/Platform_game)

Now, there is this guy named Rodrigo who wrote about platformer types. The original article can be found in http://higherorderfun.com/blog/2012/05/20/the-guide-to-implementing-2d-platformers/ . Summarised, depending on the implementation, there are four ways to create platformer games.

  1. Tile-based (e.g. Lode Runner)
  2. Smooth tile-based (e.g. Megaman, Super Mario, Metroid, Contra)
  3. Bitmask (e.g. Worms)
  4. Vector (e.g. Braid, Limbo)

platformerThe four means of implementing platformer games

Pop quiz. Which approach did we take?

Answer: Look at those masterpiece created by our artists! Of course they won’t go easy on us programmers – we have to implement their wildest dreams! By far only option 4 satisfy them.

Having chosen option 4, there is one critical question before we proceed any further. Will you use an existing physics engine, or will you write your own physics engine? For those who are feeling bold, option 2 may yield better result, but for time-constrained project like we have right here, we took the first approach and use Unity as the game engine.

Now I shall introduce you the very first element we have to implement: How the character moves. Moving left and right on a flat surface is as simple as it gets, you just have to apply acceleration until you hit some maximum velocity so your character won’t run too fast.

The problem begins with slope. Let me give you pointers by showing some cases that you *MIGHT* want to consider if you’re going with physics.

case1

case2

Slopes, expectation vs. reality

Running on those slopes launches your character into the air? Hey, snap out of it, physics! Now how do we cope with this problem? Use raycast! That way you can prevent jumping off the slope problem.

raycastGround

raycastNothing

Raycasting helps on ground detection

In fact, raycast might be a good solution for many problems you might encounter in developing a platformer game. Detecting switch? Shooting a projectile? Pushing blocks? If none other works you should look into raycasting. Take a look at this example showing how you *must not* push a block.

kotak

Hey, I’d like to tell much more, but look at the time! I’ve written too much for today, so let’s talk about the other game elements later! Now it’s your turn to write your thoughts on the comment box below, and hit subscribe! That’s all, folks, thanks for reading!

Chalcedony

DEVLOG#04 – Creating The World

Hello Ascenderians!

I’m Jade, the lead artist in Game Changer Team. Today I’m super excited because now is my turn to share about the art of the world of Ascender The Game.

So first of all, I’ll tell you about how Amber, the art director, designed the unique Goa civilization that has been described by Ruby, then how I colored the sketches made by Amber.

Goa is an underground civilization, so of course Goa need some artificial stuffs like oxygen, sunlight, and even artificial rain. They also need an energy source to fulfill the needs to keep the artificial systems working, so Amber created Rajumla, the district of energy. Here’s a sketch of Rajumla.
RAJUMLA SKETCH

Then i think it would be nice if this energy district is filled with dark brownish color with a greeny-yellowish light on the background, and completed with shiny blue here and there as an accent and to balance the contrast and the color  pallete 😀 So i start with brown color as the base and adding some white as a reminder there will be a light bouncing on the stone’s surface.

RAJUMLA BASE

After that, I added the colors and details here and there and voila! Rajumla the energy district is done!

Rajumla

nd now about the character. Ascender The Game has 2 main characters, they are a robot named Sky and a human named Ocean. Actually, Ocean is a human from another civilization above the sky. Ocean’s biological parents threw her down to the civilization below them because they don’t want to have a kid with no arms & legs, before finally Professor Toro took Ocean home. Here is a concept of Ocean with artificial arms and legs from Prof. Toro.

OCEAN FINAL EXPRESSIONS OCEAN

Because Prof. Toro need some more materials to perfect the artificial arms and legs but he can’t walk too far because of his age, Prof. Toro created a robot to do the mission, named Sky.

SKY FINAL DESIGN

Isn’t Sky cute? 😀

What do you think about Rajumla, Sky and Ocean? Let us know by putting your comments below and don’t forget to subscribe, because next time I’ll tell you Ascenderians about how we made Dolopo, The Main City of Goa.

Okay then, till we meet again!

Jade

DEVLOG#03 – Hackers Gonna Hack Hack Hack

Ascenderians!

I’m Garnet who take charge in story and web development. The most annoying thing for me just happened this week. Our website http://www.ascenderthegame.com has been hacked twice in two days by some irresponsible hacker groups.

Original Web Screen Shot
How the web supposed to show

First attack was identified by Citrine, Lead Sound Design and Marketing, after he got a report from Australian named Zack in Indie Game Marketing Facebook Group on Tuesday, 1 September 2015, at 6.15 in the morning. I already woke up in that time, read LINE message from Citrine and he sent me the hacked web screenshot. The first hackers launched a Defacing Attack!

1st time hacked site
The First Defacing Attack on Ascender The Game Home Site

In a second, I checked our administrator area in the site, I try to make things right and make the home page right but I didn’t notice that our first devlog already defaced too. I analyzed this attack, it’s not really a harmful attack because its only change the look in our website, anything else (files,codes,images) was completely safe, so I replace the index file and modify .htaccess back to normal. But, I suspected they already put a backdoor (that are related to the next attack).  I tried to track down the hackers and in a short time with our networking (friends of friends of friends) + IP tracker tools, we found out the suspect who responsible for defacing our website.

first hacker social media account
Suspect of first attack on Ascender The Game website in social media

Then, 2nd attack happened in Tuesday evening! This attack is stronger than before. They not only took the page of our web, but also delete all the files in our server! Mother Father! Holy Ship! Football Club of United Kingdom!

The 2nd Attack Screenshot on Ascender The Game Website
The 2nd Attack Screenshot on Ascender The Game Website

After took off from my prime job and got home, I worked on this attack long enough. I’ve been able to track 4 IPs that are inject some scripts in our web, 2 from Jakarta, 1 from Palembang, and another 1 from East Java. When I was in the administrative mode, they were active also, so I can easily track down the activities and put a bait to know where the hole of our system. I made some backups, took off their shell (hacker) script, and made up some script as a bait.

Guess what??? The hole has been found, they were using our less secure devlog (original devlog) that has been using hosted WordPress. We decided to move the devlog to http://www.wordpress.com that a way more secure and reliable than hosted WordPress (in fact, it is because that we only know less about hosted WordPress security, but no doubt with its engine). And, here we are at the new devlog of Ascender The Game! The main website http://www.ascenderthegame.com is secured and safe at least for now! Cheerio 🙂

Signing out from Game Changer Team Headquarters! See you in the next story!

Garnet

DEVLOG#02 – Designing the Prototype

Hello Ascenderians,

My code name is Amethyst and I am the game and level designer of Ascender. I am excited that this week it is my turn to share in this DevLog 😀

Today, I would like to share a glimpse on how are the workflow of the development of our prototype. Before I start I would to share a bit of what is exactly game designer. Game designer is actually the one who has the roadmap of the game design and bring it into a real game. In the process from the design to the game, there would be many aspect that will affect the original design such as visual art idealism, limitation of implementation (code) and constraint of time or resources.

The purpose of the prototype of the game is meant to show the basic experience of the game. We would like to show the potential of rune system, visual and audio approach and the game platformer mechanic.

To design the game, you may have many great tools to use such as photoshop or corel draw. For me, the main thing is you use the tools that you are most comfortable with. Surprisingly, for me it is Microsoft Powerpoint 😄

Using the tools, I started drafting the first 8 area which is located on the AI.R building where Sky will be tested to get its Robot ID or R.ID. The first four area is drafted wholly to introduce how the player control the game, the next four area is built in order to introduce with the basic element of the puzzle and the later event will introduce puzzle element of the game which have much faster pace. The big robot character used in the draft is taken from here and the small robot character used in the draft is taken from google search . The characters only used for drafting the prototype, not as a reference for in-game. The draft design document can be found here.

Great !!!! Now I will show you how things are changes from the original design to the prototype. Lets take one example of an area which is area 6.

Area 6 Level Design

I would like to show the first draft of area 6 and compare it to the area drawn by the artist. Aside of the awesomely drawn creative aspect, one of the main changes is the aspect ratio of the game. We decided to use 16:9 which affect the design of the area. Below is the picture of the game scanned in both original paper and cleaning.

Level Design Sketched

Upon implementation and testing, our programmer “Chalcedony” found out the flaw in the original design where player can go through the area without changing the rune. Since we want to introduce that there are certain area where player needs to change the rune then we decided to change the design.

Game Design Implementation upon Testing

Below is the end result within the game. The stage is redrawn and colored to match the level design

Area 6 redrawn and colored

That is all basically what has happened from the draft design until the implementation of the prototype. Hopefully I can give an insight that game design may possibly change upon the original idea. The only thing that we need to make sure is that the changes is to make better experience for the player.

Regards,

 

Amethyst

DEVLOG#01 – What is Ascender?

cropped-header-indiedb.png

Hi everyone, I am Ruby, the producer of GameChanger team, I am one of the team member who is also responsible in the story and world creation of Ascender. I would like to introduce you with our game, Ascender.

Ascender is a puzzle platformer game, in which player plays the role of a robot named Sky in exploring the civilization of Goa. Goa is unique in every way, because it is buried underground. Its population barely reached 2250 people. Residents live by digging and mining various metals, processing them to become usable tools.

Albeit so, they have limited access to technology and natural resources, especially light and water. To cope with said scarceness, artificial source of light and water was built. This technology, although unfamiliar and nearly lost, is enough to fulfill the local’s needs, proven by their steady supply of crops.

Professor Toro Hudo, an occupant of Goa, invented Sky to aid him in building artificial arms and legs for Ocean, an abandoned baby girl whom he once found in Ataran, his former place of residence. He then moved to Goa, which is hidden underneath Ataran itself, along with Ocean and his wife.

Of course, the professor has his own reasons in taking Ocean home. Ocean is like a kid that he wish he had. Her golden hair and azure eyes are completely foreign qualities that he has never seen before. Among all, his biggest surprise is that Ocean is limbless!

It was his late wife, Marr, who gave him the idea to build a robot which main function is to help him in overcoming Ocean’s disability. Hence, Sky was invented. Its mission is to assist the professor to build artificial arms and legs for Ocean.

And here is where the fun begins. You will have to explore 8 district of Goa, each with its own distinctive characteristics. There are a lot of things you can do: quest to be accomplished, puzzles to be solved, valuables to be collected and mysteries to be uncovered. Should you succeeded in your journey, not only Ocean will possess an intact body, she could also begin her own tale and journey of ascension.

Please subscribe on http://www.ascenderthegame.com before August 2015, so that the prototype will be sent on to your email at the end of the month. In return, we wish that you will give us input for Ascender.

For now, let us wait, try our prototype and give us your comments.

Happy playing folks!

Ruby