Thursday, May 19, 2016

Final Xml and Xml Reader


Initialization and setting up the xml. The xmlName is a public string that is changed based on which state the wheel needs to be. Call the other methods.


The xml finds the id and ignores the commas to read the numbers, etc. The id is used throughout the reader to identify the slice, the correct image, color etc.

 The text displayed on the screen is changed based on the Xml and the audio is loaded throught the xml as well with modular names.
Each shader on objects is changed to accommodate Transparency.

Folder Setup


In order to switch the Wheel from vulnerable to secure, we used a string to call each xml when the time comes. This way, we do not need to have two xmlReader scripts.



According to how the xmlReader finds urls, the folders need to be setup in a specific way. This way the xml knows exactly where to find the photo, audio, etc...



By keeping the names of the objects being called generic, the user knows exactly what the object is and the xml does not have to be changed to accommodate a new photo. The number is 0-7 to comply with the array index.

Thursday, April 14, 2016

WWW class & Data path

Using Application.dataPath, I could find a folder within the project folder. System.IO.Directory.GetParent brought it back to the project folder; adding the file:/// and the string from the Xml created a url.

Using the WWW class, using a url to load images and sounds and the xml file from the folder or even from a website.

For the audio, I chose to use separate variables so it would be easier to reference in other scripts, rather than remembering specific element.

Slice Xml Reader

For the wheel scene, each slice will have this script on the gameObject, and each will load a specified color and icon.

I used the WWW class to link the url for the image, check for an error in the www, and place the image onto a child object of the slice.

Each slice and child object is given a Transparent/Diffuse shader to keep transparency.

In the future, I am planning to replace the urls with references to the Resourses folder, so the placement is not hard coded in. I always want to look into a more efficient way to single out nodes, rather than cycling through child nodes.

Slice Xml

For the Xml, each slice is individual in order for complete access to color and image. Each slice is given an id for script access. Soon I will add probability and, perhaps, the states of the wheel (idle/ vulnerable / secure / win).

The images will be put into the resources folder for ease of access.


Thursday, March 17, 2016

XMLReader Practice and Splitting strings


The Xml reader is the assignment of the information given to the project in the Xml.
Notes for the future:

  • The Reader requires System.Xml;
  • Reference the Xml Doc and load it from file location
    • File location can be either a local file or HTTP URL
    • You can paste the local file location in a browser to get a URL
  • Use loops to iterate through nodes.
  • Check if the nodes you have is the node you are looking for.
  • Set a default value in case the node cannot be found.
  • Most methods are returned as strings.
    • float.Parse
    • For multiple numbers in the text, split the string and assign the array values.

Xml Practice

XML is a file extension for an Extensible Markup Language (XMLfile. Values can be changed within the game during run time...even as the game is played. It would also be a great tool to give designer in order to tweak the scene without even looking at the code or over-writing another's work.

Note: The comments (in green) are counted as nodes.

Thursday, March 3, 2016

Unity Particle set-up

The material for the star particle was imported as a texture and added to a new material with the shader: Particles/Alpha Blended. The color can be changed in the scene

The particle system is setup to have a longer life time and low amount of stars that will blink in and out. I plan on implemented multiple Sub Emitters that will have different alphas and colors and life spans.
The goal is to not have the background overwhelm the gaming experience.


Adobe Illustrator.

Using Adobe Illustrator, I created a star that would be used as a particle in the background. I began by placing the rulers at the center, creating a square, using the curve tool, and then rotating the square. I added a radial gradient from the center, added an outer-glow and an inner-glow.

I left the color neutral so that it can be changed in Unity based on the needs.

Idle screen creation

For the idle screen, we wanted it to look like the screen saver that bounces around the screen. First, using ViewportToWorldPoint, I found the right upper corner and lower left corner of the camera bounds so the particles could not leave the region. Using randomization and while the next wall was not the previous, the particle would pick a random wall and lerp to any point along that wall, over a period of time.

Thursday, February 11, 2016

Implementation model & Mental model

Implementation model

The implementation model "describes the details of how an application is implemented in code". The book describes designing the product to reflect the implementation model is a poorly designed product, as the user does not need access to certain data or is not privy to the knowledge of computer language. The user is left confused and uncomfortable.


Mental model

The user is often unaware of the actual process of a program. For example, the user of the vacuum cleaner may think that when they plug in their cord, the electricity is continuous. When in reality, "there is a reversal of electrical potential 120 times per second. User does not need to be aware of that fact, only the power company.

About Face Book

This book is informative in a way that interests the user in the writing style. While a little repetitive, I found the book to cover some topics which I had previously learned, and some which I had not.



My favorite excerpt from the book is that programs are designed to be rude and talk like computers, which the user often can not understand. The design "ignores the users' need and desires".

It goes into detail about how the products often ask the user to break the workflow for tasks that shouldn't need another step. It offers the user a chance to trigger "dangerous commands". It gives the example of Dropbox, which placed the delete button between download and Rename buttons.




Sparkles the Game (Name pending)

Daryl suggested a simple example in the midst of over-complicated interactives being suggested. The user is responsible to move two sparklers on screen, using their hands. We decided the kinect will be the best to use for this interactive.


Example found online for how to have an object follow hand movements

While many of the suggestions for add-ons were very interesting and would capture attention, they were a bit out of scope. Keeping it simple and making it beautiful is the most important part of interactives, especially when the project has such a short life span.

Discovery & Research

When we started to look into different projects that had been created for different devices -- the Leap Motion, the Kinect, and others. Afterwards, we were expected to pick our first 4 week project. I suggested we do something like Kyoto, a simple looking interactive that captures the user's sense of discovery and wonder.



As someone who has worked with interactive, it is very different from regular games and most of the class tried suggesting projects which are more advanced than we can do in a few weeks, or at all. After the four weeks, the class will get a better idea of how long it will take to create a full project.