Sunday, November 29, 2015

Splash Screen and Logo

As we are plugging away to get a workable prototype by December 3, I went ahead and made an official text logo and splash screen for Desert Defenders.  Adding in a bit of UI and menus at this point seems to be the most logical step for production.  Getting the menus and UI in will help make Desert Defenders feel more like an interactive game than just an interactive screen.


The title is comprised of several different font bases. I chose fonts that looked calligraphic and slightly distressed with swooping and sharp strokes.  Once the text was rasterized, I added my own personal touches to the characters so as to differentiate them from the original bases.  For example, the "f" in "Defenders" was reshaped into a Scimitar sword to help reiterate the desert theme.  The background logo is the same one that is being used throughout the game as the emblem of Sakaduuba Village, Haroun and Rana's hometown.



I had quite a bit of fun making the splash screen, seeing as it is always one of my favorite parts about developing a game.  It is also quite an important piece in getting players hyped and excited for the game.  To make the logo stand out from the rest of the background, I encapsulated it in a pyramid, which also serves as foreshadowing to the final level and boss fight.  The two protagonists, Haroun and Rana, are also clearly depicted with their respective abilities and weapons in a way that shows the player right off the bat that the characters have different specialties.

-Jillian

Music Update

This week I've managed to complete two songs. The first is the new music for the village level. This track has a drum pattern that was inspired by the song "Requiem For The Indifferent" by Epica. The other song I made was for a new song for the Pyramid level.

Tuesday, November 17, 2015

Music Update

This week I've been putting the finishing touching on the Village music. This new music has both Arabic and metal elements to it.

Saturday, November 14, 2015

The Evil Sand Witch, Mae'o


Here is a sneak peak at the main antagonist of Desert Defenders. She once started off as a harmless traveler to Sakaduuba Village, possessing the abilities to control the sand and mirages around her.  The villagers were intrigued with her abilities, but soon grew to fear them as she started to devise plans that would compromise the peace of Sakaduuba.  She was banished for her radical ways and condemned to live the rest of her days as a prisoner in the Pyramids of the Forgotten.  Now an object of fear and hatred, she is formally known as the Evil Sand Witch, Mae'o.

-Jillian 

Friday, November 13, 2015

Health HUD Update

The health bar is finally working now, so each time the player gets hit the bar goes down. After showing the health script to the lead programmer, there were a few things that needed to be fixed:
  • The script has to be applied to the game manager
  • Referencing from one script to another
  • Rearranging some of the codes in the health script 
  • Changing the float variables to integers in the game manager
As we were solving the situation, we set the maximum health to five instead of a hundred and managed to get Unity to track the character's health. When the game was running, the number appeared on the console and decreased for every damage that was taken. However, the health bar still didn't go down. Eventually, we managed to get the health bar working and the screen blinks red for every damage taken. It took us an hour and a half to get the health bar to decrease for every hit has been taken.

After solving the situation, I adjusted the health HUD by scaling and changing the color of the bars. It turns out that there are two layers, a background layer and a fill layer. I scaled the width of the background layer and filled it with red while the fill layer is green. It looks very amazing while the game is running. 

Before


After


Credit goes to the Unity tutorial for the health HUD and script videos along with the scripts themselves. Here's the link: https://unity3d.com/learn/tutorials/projects/survival-shooter/player-health?playlist=17144

Thursday, November 12, 2015

Wednesday, November 11, 2015

This week I worked on getting a coin into the game. The coin is the currency that the player will collect which will either be dropped by the enemies or appear randomly in the game.












Another thing I did was add another tree into level 2. This tree serves as a walk-able platform.

Player Health

I'm currently working on the UI programming for the game. Right now, I'm creating a canvas and writing the script for the health bar. Displaying the bar itself was no problem at all, however writing a script for the health bar is another issue. So far, I didn't encounter any errors but the character's health isn't decreasing for every damage that is taken. I will make adjustments to the health bar as soon as I fix the script. The health bar is located at the bottom left of the image below.


Monday, November 9, 2015

Sound Update

  • This week I will be taking a short break from the music and focusing on some of the sound effects. I will be using mixcraft to record the sounds. The sounds that I will be working on is the tumbleweed, pause sound, and bounce sound.
This week I was tasked with continuing to work on the assets for level two. I finished the tumble weed for the desert and have been working on the trees for the foreground. The next thing to do would be to implement the tumbleweed into unity and have it roll.












These are the some of the other tree assets for the same level.

Friday, November 6, 2015

Exploding Crate Scripting

I just finished writing the scripts for the exploding crates that will appear in our game. The crates now explode when hit with Rana's fireball, set off other exploding crates that are near, and exert force on other objects in the area. I tried many different things before I was finally able to get it to work properly.

I started off, adding to the exploding crate, a child object with a disabled circle collider. My theory was, when the crate was struck but the fireball the child would activate and then trigger the same reaction in surrounding exploding crates, but for some reason the collider from the child wouldn't interact with the surrounding crates, even though the collider touched the colliders from the surrounding crates.

Next I created a prefab that was a completely seperate object with a circle collider acting as a trigger. I scripted the exploding crate to instantiate this object (which I called explosion) upon getting struck by the fireball and it worked exactly as I needed it to. Afterward I added, to the explosion object, a script that waited a very short amount of time before removing the object from the scene to reduce objects the engine needs to track at runtime.

The next big challenge was exerting explosive force on the objects around the crate. There is an AddExplosiveForce physics effect in Unity but it only works for 3D objects, colliders, and rigidbodies. Since 3D and 2D objects don't interact with each other in Unity, I tried to find a way to trigger 3D effects on 3D objects with a 2D trigger (the fireball). I did something similar to what I tried before by attaching a child, with 2D elements, that would then activate the scripts on the parent object but this failed as well.

I took to the internet and quickly found a free asset on the Unity Asset store for AddExplosiveForce2D, developed by Ananda Gupta at http://anandagupta.com. Thank you Ananda! The script was the effect I needed but the example contained within only worked on mouse click. I was able to move the key method from Ananda's script (Thanks again!) and attach it to my crate but for some reason it still wasn't working. I could hit the crate with a fireball and it would be removed from the scene but it wouldn't exert force on the objects around it.

I moved the epicenter of the explosive force and discovered that the explosive force was only interacting with the object itself and not the surrounding objects. Again, to the internet! I quickly found that you can use Physics.2D.OverlapCircleAll to create an array of the objects within a radius. By adding a layer mask I was able to make sure the explosive force would only effect the objects I intended it to. Adding in a quick while loop, I was able to iterate through the array and add the explosive force to each of the surrounding objects, using the initial object as the epicenter of force. By adding a call to this function right after the call to instantiate the explosion object, I can chain the explosive physics effect as well.

In order to simpify things I tried to create a single method that would test the objects in the radius to see if they were explosive crates before adding force to them. This way I could get rid of the explosive object altogether. Unfortunately, each time I tested this singular method, the program threw a stack overflow exception. But that's ok, because I have something that works exactly how I want and cleans up after itself. There's a couple screenshots below where you can see the explosive crates in action.

-Brandon



Music & Audio Update

As of right now I am trying to create an entire new song for the village level. This time I will try to implement more of the metal genre to it.

Thursday, November 5, 2015

Backgrounds and Midgrounds


Here are the Background and Midground layers of Level 1, Sakaduuba Village.  The building layer is comprised of a combination of the level ground buildings and floor pieces.  This layer was then desaturated from the original images, so that it did not overpower and clash with the main level ground layer and the characters.


Here are the layers, including the main  ground layers, for Level 2, Desert Night.  The original plan was to make the color scheme in all blues and violets, just like the far background dunes.  After piecing everything together, it seemed like all the layers blended to the point where it became difficult to tell which layer was which.  To alleviate this problem, I recreated each layer to have its own unique color that still coordinated and complimented the others. 

Cheers,

Jillian Walker

Levels Finalized

I finalized each design for levels two and three of the game. After looking back at the prototypes, I made some modifications to the designs and added a few obstacles to make them look challenging when the game is played.