Research & Project Updates – 2020 #6

This week I worked on re-working the story and the character responder script. The main reason for the change was the complexity and scope of the project. Now, the project is easier to work on without the fear of fall too fear behind. Here is the algorithm: I made for the AI.

I am about 50%-65% done. All of isIdle is true is done. On the false side, I got the main run with random sentence selecting working. I have a plan to combine everything which should speed up the workflow to finish this. Hopefully next week, I can finish the code up and move on to the next part which would be recording the audio.

Thesis I – Project Blog 7

In Procedural modeling class, we ran into issues with assigning materials in UE4. I created a quick image that should help:

I also noticed with auto seams, it can be buggy. I used it a bunch of times because I could not find a way to cut uv seams proceduraly without using the SOP. Sometimes UE4 would crash because of the complexity of the mesh and I had to tweak the settings a bit to avoid this issue.


In studio, I worked on finalizing the code for A.I. responder. Nothing to complex but it is exciting to see the character interacting with us during testing.


Defense 4: Technopomorphism/Technomorpism

            As we know what anthropomorphize and the reason why humans tend to use it, there is another term worth noting – technopomorphism. Originally coined as mechanomorphism by Linnda R. Caporael, (Lum) Technopomorphism/technomorphism is the tendency to project technological characteristics to humans. (Hurley) This term has rarely been fully researched but as it relates to anthropomorphism, it has been indirectly studied. (Lum) Earlier in this paper I talked about the use of anthropomorphic terms, Technopomorphism is also used to describe and communicate human traits that we are uncertain of. A great example from Denis Hurley is the description of the “thought process like cogs in a machine or someone’s capacity for work may be described with bandwidth.” (Hurley) Unknowingly this term has been used in scientific studies to explain our bodily functions, but it can be used in other communities. In 3D animation, humanoid skeletons are reduced to nodes that are used to control and animation characters. Designing A.I., like in my project, we must transcode human social interactions or expressions and make algorithms to mimic and respond to the input. These are just a handful of examples that are technopomorphic. I believe we anthropomorphize and technopomoprhize for the same reason. That reason is to help us predict and comprehend the unknown. The only difference is in which direction the projection is going too.

 

 

 

 

 

 

Works Cited

Hurley, Denis. “Technical & Human Problems With Anthropomorphism & Technopomorphism.” 25 March 2017. <https://medium.com/emergent-future/technical-human-problems-with-anthropomorphism-technopomorphism-13c50e5e3f36>.

Lum, Heather Christina. “ARE WE BECOMING SUPERHUMAN CYBORGS?” 2011. <http://www.personal.psu.edu/hcl11/blogs/lum_597blog/Lum_Heather_C_201108_PhD.pdf>.

 

Spotter #7

Spotter #7

 

Hardware Components Used

  • 1 Photo-resistor
  • 2 Green LEDs
  • 1 Cardboard cutout
  • 2 330Ω Resistors
  • 1 10k Resistor
  • 1 Servo Motor
  • Arduino Uno Board
  • Breadboard
  • 5-volt power
  • 11 wires
  • Light

Concept

 

Description:

Spotter#7 is a little cardboard robot endlessly sweeps 180 looking for a friend.  When it finds a friend, it stops and blinks to show that it has spotted the person. If the person moves away fast, it will continue with its path and keep sweeping. If the person remains for longer time and then moves, the robot will shake back and forth in disapproval. After the reaction, it will begin sweeping endlessly to find a friend.

The emotional response expected from this piece is compassion towards the little robot. The personal value of the piece was the challenge of designing the interaction. Originally, it was designed to use a temperature sensor to detect the interaction. Plans changed when the only sensor I had was damaged and I had to rework the piece. I decided to swap out the sensor for a photo-resistor. Even with the redesign, the piece is enjoyable.

Other Technical Information:

This interactive piece is using a servo and a photo-resistor. It requires a spotlight to light the “friend”. Since the lighting is important with this piece, the photo-resistor can be set for either, back lit or front lit, to make it work correctly. The servo motor has a sweep from 0 to 180. The speed of the sweep is randomized after every completed rotation to break up the repetitions of the piece.

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.