Production Project

PRE-PRODUCTION – INQUIRY

Role: Level Designer/Level Artist

Intention (SMART GOAL)

During this session, I would like to learn how to manage my self and my team better and in order to accomplish this goal I will use the Time-Task-Team Form to gather data to know if my team and my self are on task or not. This goal is relevant because during the previous session I have struggled with team management because I don’t pay too much attention to my team and someday I don’t even think about them because I am too busy working on something that should have been done the day before.

Leader(s) in the Field

In this video, Dan Taylor (senior-level designer for Square Enix) talks about the 10 principles for good level designers and about the subcategories of each principle.

Training Sources

4:28 – Good level design is fun to navigate

4:51 – Smooth and enjoyable experience

5:12 – Clarity and Flow

6:04 – Confusion is cool

6:49 – Good level designer does not rely on words

7:02 – Broken Circle

7:34 – Explicit, Implicit, and Emergent narrative

8:23 – Mise-en-scene

9:44 – Player Choice

10:53 – Tells the player what…but not how

11:19 – Nebulous Objectives

12:45 – parallel missions

13:34 – Constantly Teaches

Project Timeline 

  1. Talk to my team and decide what kind of game we are going to make
  2. Decide the tiles we are using for the game
  3. Get everyone into unity collab
  4. Make the Flowchart
  5. Make a burn-down chart
  6. Make sketches of the objects (walls, obstacles, Interactables)
  7. Make a sketch of the world to see how the aesthetic feel.
  8. Add interactable objects after the sketch of the world is done
  9. See if the world is easy or relatively easy to navigate.
  10. Add objects from the backlog.

PRODUCTION – ACTION

The Game

https://www.youtube.com/watch?v=uwED3OGqMTk

PRODUCTION – REFLECTION

21st Century Skills

WAYS OF THINKING

I had to eliminate some ideas like the player movement script, our main idea was to make a sort of platform shooter game but I had some problems with the movement code so I change the code to a side-scrolling so the player won’t have to move during the game.

WAYS OF WORKING

I helped my team solve problems, I especially helped the UI person so she could make a menu with only one scene. During the first day of working, we decided who is going into the collab by picking those with the most important roles that can’t be left out of the collab.

REACTIONS TO THE FINAL VERSION

“Great level design” (Unnamed reviewer)

SELF-EVALUATION OF FINAL VERSION

The game was not complete, there were things I would have like to add to the game

WHAT I LEARNED AND PROBLEMS I SOLVED

During this session, I learn that we can code in Adobe Dreamweaver and I had to solve a couple of code problems.

Linkendin Recommendation

Terra.

Terra is a very talented artist, especially when it comes to making pixel art. Terra is a good friend that has worked with me a couple of times and her art has always impressed me. Her ability to complete her work fast and perfect is something I can trust very well. Doesn’t matter how or tense the situation is, she will say or do something to make everyone laugh. Every team would be lucky to have such talented artists like Terra.

Session 4 Game Production

Summary

Have 3D models in the game to improve the aesthetics of the game, I made different 3D models such as the walls, key, door frame, ceiling, and floor. All of this was possible by learning how to use the app blender.

21st Century Skills

I Communicate with my team to know how they were doing with their tasks, we used Trello to have a list of the future ideas we will like to work on for the game and a list of the ideas that are in progress and who is working on that, we ended up having a very messy game because all the changes needed took to long but we were fine with it because we had to solve many problems that helped us improve our way of working.

The Game

Reactions to the Final Version

“The art looks good, but you need to put everything together so the game does not look like is broken or poorly developed” (Terra). Sadly we could not show our latest version of the game, so the game did not satisfy anyone because it seemed poorly developed, but now I know what to do next, so the game doesn’t leave the audience with a feeling of disappointment.

Evaluation of the Final Version

A simple Maze Game where the player will have to find the 3 keys to unlock the exit but watch out because at the beginning of the game there will be one monster that will chase you down but once you get the 3rd key another monster will show up.

What I Learned and Problems I Solved

I learn how to make 3D models and how to add them to the game. there are multiples problems I solved in the main menu of the game, some of them had to do with the background of the menu and make sure the buttons worked correctly.

Maze Game Production

    • Summary

      • The goal of the project was to make a game with a mechanic that use the mouse in 4 weeks with a team of 3-2 members, I was the artist and main coder of the game, as the coder I wrote the code for the door to open when the player gets close to it, a pick up object, movement and a working first player game.
    • 21st Century Skills

      • I Communicate with my team to know what kind of mechanics and game we are going to make and to know the sound he will like to add so I could work in mechanic for the game that will require those sounds, we used Trello to have a list of the future ideas we will like to work on for the game and a list of the idea that are in progress and who is working on that, we ended up having more mechanics and sprite for the game that what we thought, we could add the pick up and door mechanic to the game and the art for the door and maze.
    • The Game

    • Reactions to the Final Version

      • The advisors liked the game, Brian said that the aesthetic of the game looks great but I need to practice my speech, instead of looking to the screen I should look to the audience.
    • Evaluation of the Final Version

      • A simple Maze Game where the player will have to find the 3 keys to unlock the exit but watch out because at the beginning of the game there will be one monster that will chase you down but once you get the 3rd key another monster will show up.
    • What I Learned and Problems I Solved

      • I learn how to make and add animations to the game while working on the door script, also I got the chance to learn how to make the world look darker to give it a more scary environment.

Internet Safety Tips

Here is the Internet, by Wolfgang Stief, at flickr, 9/11/18

Safety tips.

while using internet you can’t be too careful, in internet you surely will find the weirdest people in your entire life and some of them might be funny but some of them might try to get all the information they can to use it against you through the internet, so here a leave some of the tips I follow to avoid any problem.

  • Don’t give personal information to random people, even if they say they are related to someone you know.
  • Don’t open Emails that you don’t know where they come from, they might contained virus that damage your computer.
  • Think in all the possible consequences of whatever you are going to post, once it is post out there it can’t be deleted.

 

 

LinkedIn Recommendation

Jack.

Boredom is never present when jack is close, he have been a really good friend over a year, Jack’s ability to keep the area of work interesting and keep the work on task is unlike any I’ve seem before, no matter how bad the situation is jack always make sure the group stay together, any person would be lucky to work with jack.

Will.

Stay on task is his mayor priority, he was a important member of my team, will like to helps other for the best of the group at any time, if he completes his work on time he will find somethings else to work on, any person would be lucky to work with Will.

GetComponent

 

 

UsingOtherComponents 

using UnityEngine;
using System.Collections;

public class UsingOtherComponents : MonoBehaviour
{
    public GameObject otherGameObject;

    private AnotherScript anotherScript;
    private YetAnotherScript yetAnotherScript;
    private BoxCollider Boxcol;
  

    void Awake()
    {
        anotherScript = GetComponent<AnotherScript>();
        yetAnotherScript = otherGameObject.GetComponent<YetAnotherScript>();
        Boxcol = otherGameObject.GetComponent<BoxCollider>();
    }

    void Start()
    {
        Boxcol.size = new Vector3(3, 3, 3);
        Debug.Log(“The player’s score is “ + anotherScript.playerScore);
        Debug.Log(“The player has died “ + yetAnotherScript.numberOfPlayerDeaths + ” times”);
    }
}

YetAnotherScript

using UnityEngine;
using System.Collections;

public class YetAnotherScript : MonoBehaviour
{
    public int numberOfPlayerDeaths = 3;
}

AnotherScript

using UnityEngine;
using System.Collections;

public class AnotherScript : MonoBehaviour
{
    public int playerScore = 9000;
}

 

OnMouseDown

using UnityEngine;
using System.Collections;
using System;

public class MouseClick : MonoBehaviour
{
    public float thrust;
    public Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void Awake()
    {
        rb = GetComponent<Rigidbody>();
    }

    void OnMouseDown()  
    {
        rb.AddForce(transform.forward * thrust);
        GetComponent<Rigidbody>();
    }
}

 

GetAxis

AxisRawExample

using UnityEngine;
using System.Collections;

public class AxisRawExample : MonoBehaviour
{
    public float range;
    public GUIText textOutput;

    void Update()
    {
        float h = Input.GetAxisRaw(“Horizontal”);
        float xPos = h * range;

        transform.position = new Vector3(xPos, 2f, 0);
        textOutput.text = “Value Returned: “ + h.ToString(“F2”);
    }
}

DualAxisExample

using UnityEngine;
using System.Collections;

public class DualAxisExample : MonoBehaviour
{
    public float range;
    public GUIText textOutput;

    void Update()
    {
        float h = Input.GetAxis(“Horizontal”);
        float v = Input.GetAxis(“Vertical”);
        float xPos = h * range;
        float yPos = v * range;

        transform.position = new Vector3(xPos, yPos, 0);
        textOutput.text = “Horizontal Value Returned: “ + h.ToString(“F2”) + “\nVertical Value Returned: “ + v.ToString(“F2”);
    }
}

GetButton and GetKey

ButtonInput

using UnityEngine;
using System.Collections;

public class ButtonInput : MonoBehaviour
{
    public GUITexture graphic;
    public Texture2D standard;
    public Texture2D downgfx;
    public Texture2D upgfx;
    public Texture2D heldgfx;

    void Start()
    {
        graphic.texture = standard;
    }

    void Update()
    {
        bool down = Input.GetButtonDown(“Jump”);
        bool held = Input.GetButton(“Jump”);
        bool up = Input.GetButtonUp(“Jump”);

        if (down)
        {
            graphic.texture = downgfx;
        }
        else if (held)
        {
            graphic.texture = heldgfx;
        }
        else if (up)
        {
            graphic.texture = upgfx;
        }
        else
        {
            graphic.texture = standard;
        }
    }
}

KeyInput

using UnityEngine;
using System.Collections;

public class KeyInput : MonoBehaviour
{
    public GUITexture graphic;
    public Texture2D standard;
    public Texture2D downgfx;
    public Texture2D upgfx;
    public Texture2D heldgfx;

    void Start()
    {
        graphic.texture = standard;
    }

    void Update()
    {
        bool down = Input.GetKeyDown(KeyCode.Space);
        bool held = Input.GetKey(KeyCode.Space);
        bool up = Input.GetKeyUp(KeyCode.Space);

        if (down)
        {
            graphic.texture = downgfx;
        }
        else if (held)
        {
            graphic.texture = heldgfx;
        }
        else if (up)
        {
            graphic.texture = upgfx;
        }
        else
        {
            graphic.texture = standard;
        }
    }
}