Simon Says…PhotoResistor

Simon Says … Photo-resistor

Hardware Components Used

  • 1 Photo-resistor
  • 1 RGB LED
  • 1 Yellow LED
  • 4 330 Ω Resistors
  • 2 10k Resistors
  • 1 Switch
  • 10 Wires
  • Arduino Uno Board
  • 1 Breadboard
  • 5 volt power

Concept

 

Description:

Simon says…Photo-resistor is an interactive game using a photo-resistor as the main input for the experience. As the user presses the button, the game begins. The RGB turns white and begins the blue blinking a randomized sequence. The number of blinks is the required number of times the user needs to flash a light towards the photo-resistor to win the game. During the “input” phase, the RGB led light blinks RED and GREEN indicating the time left. If the player fails to complete the sequence, the RGB LED will turn RED indicating they failed. If the player completes the sequence, the RGB LED will turn GREEN indicating they have won.  After the complete phase, either win or lose, the game will reset and idle until the button is pushed to start again.

As this piece resembles a game, the emotional response would be excitement, panic, and joy. The personal value of the piece was the challenge of coding and using a photo-resistor. As it was the first time I would have worked with one, I ran into some issues with calibration. Ultimately, I believe this piece was sacksful. It allowed me to push myself and try something different that was out of my comfort-zone.

The Taken House on the Hill

The Taken House on the Hill

Software

  • Adobe Photoshop
  • Autodesk Maya
  • Blender
  • Pixologic zBrush
  • Allegorithmic Substance Painter
  • Unity Engine

Concept

Description:

The Taken House on the Hill is a game ready art piece involving a tiny house on a hill with a dead tree. All of which is contained within a glass bottle on display surrounded by darkness. The art piece contains 17,316 faces, and every texture is 2048 x 2048.

I decided the style of the art piece early on as I wanted to experiment and shy away from realistic modeling. The goal of the style was to mimic the style of Tim Burton, Gothic, and LucasArt games. Using this stylized resulted in creating a story that is not written. The viewer might feel there is more to the piece in which they might explore and create their own story around the piece.

Blog Entry – Research and Project Updates – 2019 #5

This week I researched Substance Designer for the 3d digital art course. I came up with 3 ideas for the project but this morning, I got help and narrowed down to two. Tomorrow I will be choose between the two. Most likely, it will have to deal with foliage and creating a generator.

As for the other project, I sketched some ideas but I am not satisfied with them. I also got a bunch of references for clothing. Hopefully I can find the look I am going for. I did decide later this semester, I will be creating the character in 3d. It will be stylized but has detail elements of realism. The goal of the look is too keep the proportions of everything slightly off while using realistic details.

 

Some Sketches:

Blog Entry – Research and Project Updates – 2019 #4

This week I completed my 3d project. I had to finish up texturing, UVing, and setting up the scene in Unity engine. Software I used was Adobe Photoshop, Autodesk Maya, Blender, Pixologic Zbrush, Substance Painter, and Unity.

Enjoy!

Also Instant Screenshot is an awesome plugin for Unity for anyone looking for hi-res screenshots. – https://assetstore.unity.com/packages/tools/instant-screenshot-24122

Blog Entry – Research and Project Updates – 2019 #3

This week I worked on my 3d digital art classes work and some sketching for the character in my project. Tiny house is the project name for the 3d class. I decided to create a house inside a glass bottle. So far, 95%  modeling is done but I am having scaling issues. I scaled down the house but I have to reorganize and scale the windows to fit but here are some screenshots:

Looking forward, I will be working on texturing the models. I decided to go for a modular, and tilable approach to texturing. This should help speed up the whole process.


As for sketching a character, I am still feeling out the style but I like the eyes and eye shadowing I sketched. I am going to mess with this more and try to incorporate the design into the character. Here are some images:

 

Blog Entry – Research and Project Updates – 2019 #2

This week I began my research of art styles. As this semester is focusing on character art, I will have to decide on what interests me and what will work the best for the outcome of the project. 3 areas of focus for this week was creepy, study of styles, and sketching. While I had limited time to sketch, I did sketch for the 3d art class’ project. That style is the Tim Burton gothic look. Sketching out houses (the main focus of the 3d work), I enjoyed the craziness. Not caring for perfect lines. Not caring about perspectives. I have always enjoyed Tim Burton’s style. With that in mind, I entered a rabbit whole of reference search. Collecting as much reference to help me get started, I believe I have an idea for a look – dark/gothic, Disney-ish/Tim Burton faces/bodies, Victorian era clothes, and wet plate overlay/distortion. Combining them all together should create a unique and “creepy” look. Next week, I will be focusing on sketching up at least a few faces, and maybe a few bodies.

Here are a few links:

https://www.pinterest.com/pin/286471226268779511

https://www.pinterest.com/pin/412572015838010536/

https://www.pinterest.com/ReneeRossBooks/gothic-romance-art/

http://cvicworks.blogspot.com/2013/06/retro-gothic-dark-romance-paintings.html

An Analysis of Art & Design in the Films of Tim Burton

Blog Entry – Research and Project Updates – 2019 #1

This week I started to test two free A.I. behavior plug ins for Unity. This is important as I needed to test them for a game studio and my own project. The two free plug ins are: PandaBT (https://assetstore.unity.com/packages/tools/ai/panda-bt-free-33057) and Behavior Bricks (https://assetstore.unity.com/packages/tools/visual-scripting/behavior-bricks-74816).

(AI plugin testing – custom demo “game” scene)

The “game” I made had the AI chasing after the ball (player). Once the AI is out of the red, it will constantly loose health a5 until it’s death. The AI decides to pick whatever red zone is closer to heal. Once topped off on health, it will go after the player again.


PandaBT is a minimalistic script to create behavior trees. It uses a basic script called BT script. To create tasks, one can create a single c# script (or many) to build the tasks for the AI.

PandaBT

There are many positives with using this plugin. One of which is the ease of use. Getting started is easy. I got a custom demo “game” up and running in a few hours of messing around. Another major benefit of using the plug is the mass amounts of documentation. They have their own site (http://www.pandabehaviour.com/) j59 full of access to examples and information needed to get up and running. There are also many YouTube tutorial videos. I did enjoy using the plugin but some issues I ran into was the BT script. As I am using visual studio, the structure of the script is key. If the spacing is off, it throws an error. It is minor but annoying. Another issue (not really an issue but personal preference), the layout of the behavior is a list. I fear once the AI becomes more complex, this list is going to become confusing and difficult to debug. This is where Behavior Bricks shines, node trees.

“Down the stairs and near the safe, she found her space in which she escapes.”


Behavior Bricks is a behavior tree with a visual editor. I got it up in running about the same time as PandaBT maybe a little bit more as it forces you to take the modular approach which is a good thing t119!

Behavior Bricks

I found the visual editor easy to visualize what I needed to do but it was buggy. The editor’s colors, while running the game, glitches but I did not see any affect on the game. Another issue was the poor documentation. There is a some but much. It does include examples and their site has some api information (http://bb.padaonegames.com/doku.php). Regardless, I found it difficult to start off. So, there is a learning curve. With saying that, I believe it is worth fighting through as the visual editor helps a lot more than a list view. The task management isn’t too hard, but the API can be confusing for beginners to start off. For a project, I suggest creating templates of the code. That way it saves time having to change the namespaces and such repeatedly.

What plugin do I suggest?  b11 They are very similar, and both are great and free! As I will be suggesting one plugin to use for a game studio, I want the students to learn the concept of behavior trees and use a modular approach. With that being said, I am favoring Behavior Bricks. The good thing about using this for our projects, we can transfer to other behavior trees with limited difficulty which we might end up doing. As it is free, the development is not consistent and updates are put off. This reason alone, we might move to a paid plugin like Behavior Designer, Node Canvas, and playmaker. I read many great things about them. Their prices are around the same price – $70 although playmaker is $45.

 

119.89. 137.47.89.77.29.131.29.107. 23.53.113.17.89.131.29.107.29.23. 119.47.53.113.: 5.137.29.113.89.77.29. 59.89.11.!!! 137.29.71.17.89.77.29. 119.89. 119.47.29. 77.35.5. 95.107.89.41.107.5.77.! 95.89.125.107. 149.89.125.107. 95.5.113.113.53.89.83. 53.83.119.89. 149.89.125.107. 17.107.29.5.119.53.89.83.113.. 71.29.119. 149.89.125.107. 5.107.119. 11.29. 149.89.125.107. 131.89.53.17.29.. 83.89.137., 41.89. 89.125.119. 119.47.29.107.29. 5.83.23. 47.5.131.29. 35.125.83.!

77.5.119.119.

Blog Entry – Research and Project Updates 8

This week, I worked on transforming my game, Hopshock, to an art piece that has no interactivity from user. As of right now, I am done with it. I do feel like I might need to adjust the wheel speed as the character’s animation does not look that appealing. (Mind you, Not many people can actually survive that long in the game to see the animation looking weird.) Through the process of de-gaming it, I realized how much the UI and the game are connected together. I would change or remove a few pieces and break a bunch of other things. The process took longer to debug than making the autojumper. The way I created the autojumper was a basic collider detection. As the ring collides with the node, the character passes true boolean to the touch control script. I did not have to rewrite any prior code to get it to work.

The only worry I had with the de-game version was Unity crashing after a few hours of the game running continuously. If it did crash, I had a plan in place that would reset the game after so many hours. Thankfully, it did not. So no need for the reset-er. I also spend some time upgrading some graphics and optimation of the game. I baked and removed some lights in the scene. The lighting in the forground was off, I adjusted that. Since Unity had been upgraded, I had to recreate the color grading and other post processing effects. After all the updates and fixes, the game runs from 30-40 fps on an iPad Air 2 which I capped at 30.

 

Other projects I have been working at work, Photogrammetry. My boss was interested in it for a project. We have been testing it with this camera. Unfortunately, we have not had success. I believe the camera we are trying to photograph has a smooth, black, and glossy surface. I am trying a new way with the same object but trying to cross polarize the lighting. I am hoping it will pull some detail out and help the process.

 

As for the interactive frame, I am still reading about the speech to text. I will be implementing at least one next week for testing. I will focus on the default Microsoft one as it is already embedded with Windows.

 


ALSO for game studio class. We ran into issues with colliders breaking and we had a mess of triggers and colliders. I found a function that would of solved some of these issues. So for the future:

Physics.IgnoreCollision(col1, col2);

https://docs.unity3d.com/ScriptReference/Physics.IgnoreCollision.html

Blog Entry – Research and Project Updates 7

This week’s research contains with speech recognition. I got the Kinect speech functionality to work in Unity to display my command and the percentage of confidence. I believe this is not going to work for my project as I need more functionality than only commands. The way it recognizes phrases does not seem to understand the phrase when it is used in a sentence. After some debate, I was recommended to try out a few different services that are tailored to my needs.  – https://blogs.unity3d.com/2016/08/02/speech-recognition-and-vr/

 

IBM Watsom:

https://www.ibm.com/watson/

https://github.com/watson-developer-cloud/unity-sdk

Google Cloud Speech:

https://cloud.google.com/speech-to-text/

https://assetstore.unity.com/packages/add-ons/machinelearning/google-cloud-speech-recognition-vr-ar-desktop-desktop-72625

 

Unity Built in – Windows 10 – UnityEngine.Windows.Speech

https://docs.unity3d.com/ScriptReference/Windows.Speech.DictationRecognizer.html

 

Plugin for Unity that contains all:

https://bitbucket.org/Unity-Technologies/speech-to-text

 

Only difference on paper between Google and IBM is the amount of free monthly send requests. Google is 60 minutes and IBM is 100 minutes. After the free monthly use, the prices are comparable. I do not think I will pass the limit but if I do, I will make sure there are measures in place. Side note – I believe the windows speech might do exactly what the Kinect was doing. I am going to be testing that one first as it is already built within Unity.

Next week sprint:

Try out, one or all, speech to text services within Unity and decide what service is the right one to use.


Side Project – Turn HopShock into a infinite auto jump art piece

I am working on transferring my game, HopShock, into a automated art piece. As of right now, I removed the GUI, and other interactivity. Only thing left to work on is automating the jump and having the character randomly get hit by the spinning circle. I am planning to work with my cousin, who was the lead programmer on the project, to help create a successful solution. I am expecting at the end of the week, the edits will be done and fully working on an iPad. If not, then by this weekend.

 

 

 

 

 

 

Blog Entry – Research and Project Updates 6

This week’s sprint required me to detect if a person is present in the scene, and to detect/track a face and the face features the Kinect sensor registers. I completed it using the  Kinect v2 Examples with MS-SDK and Nuitrack SDK  plugin for unity. There are two main necessary scripts to use. One is KinectManager.

KinectManager script is required for the Kinect to initialize and run. It also contains numerous classes that are important for body tracking and could be useful later in the project. The other script is called FaceTrackingManager. This script is like the KinectManager but only manages the face and head of the user. With these scripts, it is easy to debug any issues. For instance, I have it set up to create a small window with a color map video. In that video, right now, displays a rectangle box around my face. It enables me to see if the face tracking is working. With those two scripts working, I edited a script that was a demo. That script was only to detect a smile. I added in all the face properties Microsoft allows. I should be able to call the variables once I start creating my database. These properties should give a direction to what script/animation needs to be played at a given time.

Next week’s sprint:

Get speech recognition to work with some basic phrases. Then create a script to call all the input data and display them.

 

Also, as I mentioned above, the KinectManager has some useful classes so I wrote them down. Later, I discovered a website that has it all indexed:

https://ratemt.com/k2gpapi/annotated.html