Sunday, August 30, 2015

Disney Infinity 3.0 - Released

So today Disney Infinity 3.0 was released, and I am really excited for everyone to play the new game that I helped test.

As the picture above shows, this time around we also have Star Wars characters along with more Marvel and traditional Disney characters. This time around there are three play sets:

The first one takes elements from episodes 1-3 and the Clone Wars cartoon called Twilight of the Republic. The main playable characters are: Anakin, Ahsoka, Yoda, and Obi Wan. You can also play as Darth Maul once you beat the Play Set at least once.

The seconds one takes elements from episodes 4-6 called Rise Against the Empire. The main playable characters are: Luke, Leia, Han Solo, and Chewyy. You can only play as Darth Vader and Boba Fett once you have beat the Play Set at least once.

The last one is based on one of my favorite Pixar movies, the Inside Out Play Set. The main characters are: Anger, Disgust, Fear, Joy, and Sadness. Honestly, this is probably my favorite Play Set, this is mainly a platforming game with a lot of twists and turns. I would like to point out that the game is not an adaptation of the movie. This is its own game with its own story line, the premise of the story is that Riley feel asleep and is having nightmares and its up to all five of the emotions to help Riley through the night. If I had to guess, I would said that it takes place after the movie but I don't know.

Aside from the three Play Sets, there are two Toy Box games just like last time: Toy Box Takeover & Toy Box Speedway.

Takeover is a dungeon crawler much like the Kyln/Brave games from the 2.0 edition. The main story is that Syndrome took a wand and is now in control of the powers of the Toy Box. He created his own fort and its the players mission to travel through different worlds to find a way to take the wand back from Syndrome. You are also able to play this game with 3 other friends to make the experience more enjoyable.

The Infinity games have had racing in the Toy Box and ways that players can make their own tracks to race with their friends. But now there is an official Toy Box game that has different racetracks themed after popular Disney movies like: Big Hero 6, Nightmare Before Christmas, Guardians of the Galaxy, and a few more. Like the Takeover game, you can play with 3 other friends to race against each other and the AI.

Last but definitely not least, the Toy Box. There are a bunch of new logic toys that can be used to make bigger and more complex games. Hopefully everyone will have fun playing this new game as much as I did since I know a lot of the people that put in long hours and hard work to make this game the highest reviewed Infinity game out of all three.

Thanks for reading!

Friday, August 28, 2015

Disney Infinity 3.0 - Loot Drop


So in a couple of days Disney Infinity 3.0 will be released and we got a surprise at work today. Since the release of the game is going to be on a Sunday, they gave us the game today. We got the game and all the figures and power discs that will be available at launch.

Now that my second contract with Disney is almost over, I am really grateful for the opportunity that I got to work on this game. Thanks for reading!

Thursday, August 27, 2015

Drawing - Velma


Here is another drawing, this time its of Velma from the children's cartoon Scooby Doo. I also did some quick simple shading. That's all for now, thanks for reading!

Thursday, August 20, 2015

Low Poly Sword - Poly Painted


So I just finished painting the sword in ZBrush and now just need to bake all the maps so I can render the low poly model with the color and normal map of this version from ZBrush.

I was hoping that I was going to be able to finish this morning, but it will still take a few more hours to finish and apply a toon shader for the sword to make it look the way I want. That's all for now, thanks for reading!

Wednesday, August 19, 2015

Low Poly Sword - Detailed


So yesterday I finished the low poly model of the sword, so today I decided to finish the high poly model. There really isn't all that much detail on it, but its enough that I will be able to get a good normal map.


I think that the one part that has the most detail, and I don't know if I wasted all my time is in the hilt. I made some grooves on the handle for the grip since this is a one handed sword. I added some dent and scratches throughout the sword and now I have to paint the model. That's all for now, thanks for reading!

Tuesday, August 18, 2015

Low Poly Sword


So I know that I jump from one project to another fairly quickly, but that's because I am always trying to work on something different. I decided to go back to something I haven't done in a long time, low poly modeling.

I have just finished the sword and I will work on a shield next. That's all for now, thanks for reading!

Saturday, August 15, 2015

Making a Lights Out Game in Unity 5 - Part 2


So I was trying to finish this today, but I guess I didn't work fast enough. I am actually almost done with the game, but the most important part of the game so far is the level editor that allows us to create levels on the fly and save them to a text file.

The little script is designed check which of the light switches are "on" and then writes it to a text file. Then I manually copy it over to an XML file that reads it to load levels. I will continue to work on this and hopefully I will be done tomorrow. That's all for now, thanks for reading!

levelEditor.cs:

using UnityEngine;
using System.Collections;
using System.IO;

public class levelEditor : MonoBehaviour {

public string levNumber;
string runtimeLevels;

// Use this for initialization
void Start () {
}

// Update is called once per frame
void Update () {
}

public void setLevelName(string nr) {
levNumber = nr;
}

public void ClearButton(){
for (int i = 1; i < 26; i++) {
if (GameObject.Find (i.ToString ()).GetComponent<lightSwitch> ().isOn) {
GameObject.Find (i.ToString ()).GetComponent<lightSwitch> ().change ();
}
}
}

public void SaveButton(){
string levelstring = "";

for (int i = 1; i<26; i++) {
if (GameObject.Find (i.ToString ()).GetComponent<lightSwitch> ().isOn) {
if (levelstring.Length == 0)
levelstring = i.ToString ();
else
levelstring += "," + i;
}
}

runtimeLevels += 
"\n\n" +
"<level>" + "\n" +
"<levelname>" + levNumber + "</levelname>" + "\n" +
"<setup>" + levelstring + "</setup>" + "\n" +
"</level>";
System.IO.File.WriteAllText("D:/Documents/Unity Projects/LightsOut/Assets/Resources/editor.txt", runtimeLevels);
}
}

Friday, August 14, 2015

Making a Lights Out Game in Unity 5 - Part 1


So a while ago I did a few Unreal Engine tutorials, and now I am doing some tutorial to learn Unity 5 from Digital Tutors. This tutorial is about making a simple game of lights out for mobile devices using C#.

The screenshot above shows the simple set up of the game so far. I made a cube and attached a couple of scrips and made a prefab out of the cube game object. The scripts that I wrote so far are at the bottom of this entry.

There is also a simple XML file that I made that makes it possible to "create" a level by typing out which cubes should be in the "on" or "off" position. This should come in had later when I need to make more levels.

I have only finished 4 of the tutorial episodes so far, I will post more stuff as I'm done. That's all for now, thanks for reading!

lightSwitch.cs

using UnityEngine;
using System.Collections;

public class lightSwitch : MonoBehaviour {

public bool isOn = false;

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}

public void change(){
if (isOn) {
isOn=false;
this.transform.localEulerAngles = new Vector3 (0,45,0);
}else{
isOn=true;
this.transform.localEulerAngles = Vector3.zero;
}
}
}

turnManager.cs

using UnityEngine;
using System.Collections;

public class turnManager : MonoBehaviour {

// Use this for initialization
void Start () {
int count = 1;

for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
GameObject tmpGb = Instantiate (Resources.Load ("Cube", typeof(GameObject))) as GameObject;
tmpGb.transform.position = new Vector3 (j * 1.5f - 3, i * -1.5f + 3, 0);
tmpGb.name = count.ToString ();
count++;
}
}
this.gameObject.GetComponent<levelHandler> ().loadLevel (1);
}

// Update is called once per frame
void Update () {
if (Input.GetMouseButtonUp (0)) {
RaycastHit hit = new RaycastHit ();
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast(ray, out hit, 100)) {
makeMove (int.Parse(hit.collider.gameObject.name));
}
}
}

void makeMove(int name){
turn (name);
turn (name + 5);
turn (name - 5);
if (name % 5 != 0) {
turn (name + 1);
}
if (name % 5 != 1) {
turn (name - 1);
}
}

void turn(int name) {
if (name < 1 || name > 25)
return;
GameObject turnObj = GameObject.Find (name.ToString ()).gameObject;
turnObj.GetComponent<lightSwitch> ().change ();
}

}

levelHandler.cs

using UnityEngine;
using System.Collections;
using System.Xml;
using System.Collections.Generic;

public class levelHandler : MonoBehaviour {

XmlDocument levelDoc;
XmlNodeList levelList;
List<string> levelArray;

// Use this for initialization
void Start () {
levelArray = new List<string> ();
levelDoc = new XmlDocument();
TextAsset xmlfile = Resources.Load ("levels", typeof(TextAsset)) as TextAsset;
levelDoc.LoadXml (xmlfile.text);
levelList = levelDoc.GetElementsByTagName("level");

foreach (XmlNode leveldata in levelList) {
XmlNodeList levelinfo = leveldata.ChildNodes;
Debug.Log (levelList.Count);
foreach (XmlNode data in levelinfo) {
Debug.Log(data.Name);
if(data.Name == "setup"){
Debug.Log(data.InnerText);
levelArray.Add(data.InnerText);
}
}
}
}

// Update is called once per frame
void Update () {

}

public void loadLevel(int nr){

string[] levString = levelArray [nr - 1].Split(',');

foreach (string brick in levString){
GameObject.Find(brick).GetComponent<lightSwitch>().change();
}
}
}

Thursday, August 13, 2015

Drawing - Supergirl


As I said before, I have been trying to draw more often. This time I drew Supergirl and did some quick shading. That's all for now, thanks for reading!

Wednesday, August 5, 2015

Texture Tuesday - August 4


So I have been working a lot of over time over the last few months and recently stopped. Since I have more time to work on my art, I decided that it was time to start up Texture Tuesday again. 

Since I am currently in the process of creating a 3D environment, I decided to make the texture that I will use for the walls. I started the blocks in Maya, took it to ZBrush for the detail, and finally baked the normal/ao map in XNormal.

I will add color to the texture in the next few days and post an update. That's all for now, thanks for reading!