Life system implementation

I was able to add a life system into the game today. It works by making the player go invisible on enemy collision to imply invincibility frames until the life count has  decremented to the point that the player gets a game over.

Key lines of code:

public int playerLives = 3;

void Start ()
    {
	Debug.Log("Lives:"+playerLives);
        rend = GetComponent();
        rend.enabled = true;
    }

void OnTriggerEnter(Collider col)
	{
		if (col.gameObject.tag == "Enemy" && GodMode == false)
		{   
            if (playerLives <= 1)             {                 Destroy(gameObject);                 PlayerDie.PlayerAlive = false;                 Debug.Log("Death via enemy");             }             if (playerLives >= 2)
            {
                // Health = Health - 100f;
                playerLives--;
                Debug.Log("Player lost a life");
                Debug.Log("Lives:"+playerLives);
                StartCoroutine(blinkTime());
            }

 IEnumerator blinkTime()
    {
        rend.enabled = false;
        yield return new WaitForSeconds(1f);
        rend.enabled = true;
    }

Lives system

I did some research on ways to implement the lives into the HUD and found these examples:

Starfox

Starfox (SNES)

Starfox uses a “Lives x (number of lives)” format which I thought would be quite useful for our game, but decided against it as it implies that the player respawns on the spot which we wanted to avoid. We wanted something that properly showed that the player was getting damaged.

Super street fighter 2

Super Street Fighter 2 – Ryu Portrait

We looked at games that gave feedback of procedural damage to the player and decided that this was a good direction to go in, so I plan to use a similar format for our game. I’ll design a mugshot sprite of the main character with alternative damaged versions.

KHCoM

Kingdom Hearts: Chain of Memories Health HUD

Project Ikarus Logo

We recieved feedback that our original logo didn’t read too well, meaning that it was hard to tell what it said for some people at first glance.

ikarus

Original logo

I did some research into the typography of classic arcade games such as Mega Man and Metroid and found a design trend which I decided to emulate for a simlar effect.

title_perler

1f565a3bd8

 

Capture.PNG

I came across the Vermin Vibes 1989 font (by Andrew McCluskey) which seemed to fit well with our theme as the hard edges and bold text emphasise a digital theme and encourage action.

I took this font into photoshop, applied the results of my research and came up with the following:

Project Ikarus v2

Project Ikarus – New logo

We decided to change the name to Project Ikarus because it read a lot better in this style instead of just Ikarus on it’s own, plus the word project is relevant to our game’s digital concept.

Project Ikarus.png

Pixel version of project ikarus

This is unlikely to make it to the alpha build of the game due to a lack of time, as I need to animate it and replace the current in-game animation. It will likely be one of my first tasks for the beta build.

Glitch effect

We want our glitch effect to be convincing so we did some research on existing glitch effects in media.

Vanellope from Wreck It Ralph has a glitch effect very close to what we would like to go for, though achieving an effect of the same caliber might be too costly regarding the game engine and our time.

A realistic approach would be to use this After Effects plugin Twitch, assuming we are able to get hold of it.

If we use this we could create a stock glitch animation using the twitch plugin and either:

  • Spawn the animation as an animated png sequence and attach it to enemies at the risk of lag.
  • Use the unity particle system to spawn the animation or components of it to give a similar effect.

Enemy research

I had a look at some existing enemy designs that I will pass on to the concept artist.

This slideshow requires JavaScript.

I think enemies that have two themes in their design work well as players can interpret the viruses as corrupted data that was once untainted.

This enemy in particular stood out to me personally, as their sleek and sharp design complements their erratic movement.

Unversed

Kingdom Hearts -Unversed

Pause screen mockup

I wanted to envision what our pause and game over menus would look like so I did some research.

This slideshow requires JavaScript.

I made some quick mockups of the pause and death screens by editing a screenshot of an existing game.

I think pixel style text may be the way to go as it mixes well with our game being blocky and static in a digital world.

It’s important that there isn’t much obscuring the player’s vision on the pause screen because there could always be a threat just behind it. With this in mind I was able to experiment more on the death screen. Since the player is meant to be fighting viruses it makes sense for the game over screen to have some element of corruption within it. Ideas I got here were distorted, glitchy text and a stream of complex data followed by a wait for user input to continue.

Character moodboard

I created a moodboard of characters that I personally imagine the main character of the game to look similar to.

Icarus_Protagonist_moodboard

I looked at robotic characters that weren’t too bulky as we want our character to not look out of place inside a digital world and also be capable of agile movement. A sleek, streamlined character design would be the most fitting for this vision.