Thursday, 22 September 2016

CGA YEAR 2 Lampost Scene and Tank Copy [MOUSE]

ALL DONE WITH MOUSE AND SIMPLIFIED.

We were asked to do a quick scene with a lampost, box and barrel. Here is mine:








Then we had to copy a tank image given to us: 




Monday, 18 April 2016

BATTLE ARENA [NEW]

For our Spring submission we were told to finalize our battle arena by adding a statue of our own.
We created it by modeling it through Maya and/or ZBrush (for clothing).

This is the basic concept of my statue before adding any clothing to it.


 
I looked up female statues to basically see how their clothing is shown and decided to give her a long cloth as clothing.
Then. I imported it in ZBrush to create a basic shape for her cloth and then just extracted it a bit more further down in Maya to make it a long dress:


















Finally, I placed in the arena and in Unity and took a few screenshots.







Tuesday, 12 April 2016

Insectoid Character Concept

We were given the task to create a humanoid insect character. My idea was initially to create a necromantic spirit that could summon locusts and "re-enact" the 8th plague of Egypt; the plague of locusts. Firstly I looked at the main aspects of a necromancer: The hooded cloak and mysterious hidden face.




From there, I attempted to draw a hooded necromancer who was a spirit. I a spirit that instead of manipulating the dead it manipulates locusts and bring judgement upon the living.




Unfortunately, I scratched off the idea of making it a spirit, because it did not really resemble an insectoid. So I experimented a it on the design, but sill keeping the idea of the character being hooded.




One part was to give the top part iof the hood a kind of "lotus petals" design, since the lotus itself in ancient Egypt symbolized Rebirth. I decided to give it legs, and change the way the lower part of the hood, now making it a fantasy themed priest robe but in the end I changed it because it did not match the theme I was aiming for.

 I changed the way the priest robe would look like, while keeping the hooded face on so it could a better consistency and perhaps attempt to match the necromantic insectoid theme better.





I then looked up Caterpillars as well and patterns that grasshoppers have on them to see what and where I could use the on the character as a different aesthetic on it.



Creating this (Back view was unfinished at the time of this screenshot):



I then.  quickly added a bit of lighting/shading to it, so I could see how it would look like in a more "realistic" point of view.




 The colors I wanted to use to were closely related to nature and colors you would see on a caterpillar or a grasshopper. Only difference is, is that on this characters, they are faded out, I spent a lot of time trying to find color combinations and shades of them but they looked awfully odd on it, so I decided not to color it.




END



Friday, 8 April 2016

VERDANT RUINS [2D GAME PROJECT] PART 1.5

PART 1.5 STARTS HERE



PLATFORM

In terms of assets for the game, I helped create a platform for the game as well, following the same design of all the other platforms, so nothing could look out of place.







VERDANT RUINS [2D GAME PROJECT] PART 1

VERDANT RUINS

For Term 2 Spring Submission in our Gameplay and Interactivity class, we were asked to create our 2D game if any genre.
We decided that it would be a platformer style game, with a simple style to it. It is about a herbalist venturing out into the woods collecting fruit for her potion for sick grandmother.  Unfortunately she go trapped into the woods by an enraged dragon deity and she has to find her way out, after she collects the fruit. She then falls down to the deepest parts of the forest and is never seen again.

ONE SHEET 



____________________________________________________

THE ENEMY

I was given he task to create the slime enemy and  a few platforms for the game.

The enemy is a basic forest slime created to match the style of he game and the appearance of the main character. I started out by creating several slimes just to see the overall idea and design for it. Then I narrowed it down to one design that matches more the design and style for the game which is Slime #2. 


When the main character was finished I then, altered the appearance of the slime, eventually simplifying it even more, to match the main character and the style of the game.  I made 3 simple versions of it that has a different color scheme, which eventually led me to choose the color green; maybe an even lighter shade for it that the one shown.




Then it was turned into a game sprite, with a few changes in appearance and color and a movement animation was added to it.


END OF PART 1

VERDANT RUINS [2D GAME PROJECT] PART 2.

PART 2 STARTS HERE.


CODING THE ENEMY

I was given the task to also code the enemy's behaviour: Death, Patrol/Movement , Damage to Character, Health.

The first code presented is for its movement. Basically it gives the enemy the ability to walk around the platform and "react" to an edge when it reaches it. When it reaches the edge, it will turn back and continue on its set path and repeat the process. The same goes for the wall of a platform. It "senses" the collider of the wall, and when the enemy reaches it, it makes it turn turn around the same way.

using UnityEngine;                            
using System.Collections;


public class EnemyPatrol : MonoBehaviour {

    public float moveSpeed;
    public bool moveRight;

    public Transform wallCheck;
    public float wallCheckRadius;
    public LayerMask whatisWall;
    private bool hitWall;

    private bool notatEdge;
    public Transform edgeCheck;

    void Update () 
    {
        hitWall = Physics2D.OverlapCircle (wallCheck.position, wallCheckRadius, whatisWall);

        notatEdge = Physics2D.OverlapCircle (edgeCheck.position, wallCheckRadius, whatisWall);

        if (hitWall || !notatEdge)
            moveRight = !moveRight;

        if (moveRight) {
        
            transform.localScale = new Vector3(-0.1395238f,0.1395238f,0.1395238f);
            GetComponent<Rigidbody2D> ().velocity = new Vector2 (moveSpeed, GetComponent<Rigidbody2D> ().velocity.y);
        } 
        else 
        {
            transform.localScale = new Vector3(0.1395238f,0.1395238f,0.1395238f);
            GetComponent<Rigidbody2D>().velocity = new Vector2(-moveSpeed,GetComponent<Rigidbody2D>().velocity.y);
        }

    }


______________________________

The second code is giving the enemy a "health bar". It gives the enemy a specific amount of health and if the player jumps on it, it is destroyed and it plays a destruction effect on it. The code makes the slime give points to the player when destroyed.  Also it allows it damage the player if it is hit as if it was a poisonous slime.

using UnityEngine;                        
using System.Collections;

public class EnemyHealth_Manager : MonoBehaviour 
{
    
    public int enemyHealth;
    public GameObject deathEffect;
    public int pointsOnDeath;
    
     
    void Update () 
    {
        if (enemyHealth <= 0
        {
            Instantiate(deathEffect, transform.position, transform.rotation);
            Score_Manager.AddPoints(pointsOnDeath);
            Destroy(gameObject);
        }
    }
    
    public void giveDamage(int damagetoGive) 
    {
        enemyHealth -= damagetoGive;
    }

}

______________________________

The code shown below, allows the player to re-spawn with full health when they are killed by a slime. The Level Manager allows the player to re-spawn.

using UnityEngine;                             
using System.Collections;

public class Kill_Player : MonoBehaviour {


    public Level_Manager levelManager;

    // Use this for initialization
    void Start () 
    {
        levelManager = FindObjectOfType<Level_Manager> ();
    }

     void OnTriggerEnter2D(Collider2D other) 
    {
        if (other.name == "Player"
        {
            levelManager.RespawnPlayer ();
        }

    }
}
______________________________

The fourth code determines how much damage the slime will do to the player if the player does not successfully hit the slime and knocking it away from while doing so.

using UnityEngine;                              

using System.Collections;

public class Hurt_Player_OnHit : MonoBehaviour {

    public int damageTogive;


    void OnTriggerEnter2D(Collider2D other) 
    {
        if (other.name == "Player"
        {
            Health_Manager.HurtPlayer(damageTogive);

            var player = other.GetComponent<PlayerController>();
            player.knockbackCount = player.knockbackLenght;

            if(other.transform.position.x < transform.position.x)
                player.knockfromRight = true;
            else
                player.knockfromRight = false;
        }
        
        
    }
}

______________________________

The last code was initially used as a Health Manager System for the slime before knowing how to properly add a code for it.  After some tutorial I found online, I managed to get that behavior working with the previous code mentioned. It serves the exact same purpose as the other code; how much damage it will receive from the player, only this one is not as great but still functional. 

using UnityEngine;                        

using System.Collections;

public class HurtEnemyOnHit : MonoBehaviour {

    int damage = 5;


    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Player"
        {
            GetComponent<EnemyHealth_Manager> ().giveDamage (damage);
        }
    }
}


END OF PART 2

Monday, 8 February 2016

Steampunk Spider

In our Visual Design class, we were given a task to create a Steampunk themed character.
In this case I decided do a Steampunk humanoid spider. It is still a work in progress but here is an initial design of it and the main idea for it.

What I looked up for this so far:




Here is the character: