DIGM 540 – Engineering Statics Game Concept 00 – Ring with Strings

May 24th, 2018

Engineering Statics Game Concept – 00

Vimeo – Concept for Engineering Statics Game

This was a quick proof of concept to show the idea from the last post at work. This concept takes inspiration from the hands on engineering kit that used masses on strings tugging on a central ring object to teach topics such as center of mass and vector math.

The forces from the nodes on the ring are calculated to emulate that of a mass attached to a string. Each node has a mass value associated with it (which would be the mass hanging off of it in the real world kit), and this influences how much force that node is applying to the main circular object. Moving the nodes or changing their mass value will influence the position of the ring, as it effectively represents the center of mass of the entire system through the forces applied by the nodes.

Using a simple example, I was quickly able to run a test to double check if the values provided by this toy were matching that of the true calculations and they did for the single test I’ve run so far. The center of mass equations of a system of particles was used, which can be found here on Wikipedia: Center of Mass – Wiki

DIGM 540 – Engineering Statics Game Project – Forces in Unity

May 23rd, 2018

Forces in Unity

AddForce – Unity Official Tutorials

Youtube – AddForce – Unity Official Tutorials

The bare basics of scripting forces in Unity with rigidBody’s. The AddForce can take two inputs: a vector for direction and magnitude, and what type of force it is.

ForceModes
  • Acceleration – Continuous change; not affected by mass
  • Force – (Default) Continuous change; affected by mass
  • Impulse – Instant change; affected by mass
  • VelocityChange – Instant change; not affected by mass

AddTorque – Unity Official Tutorials

Youtube – AddTorque – Unity Official Tutorials

The bare basics of scripting torques in Unity with rigidBody’s. The AddTorque can take two inputs: a vector axis to apply torque around, and what type of torque it is. This is very similar to AddForce. Important to remember, Unity uses “LEFT HAND RULE” for rotation.

ForceModes
  • Acceleration – Continuous change; not affected by mass
  • Force – (Default) Continuous change; affected by mass
  • Impulse – Instant change; affected by mass
  • VelocityChange – Instant change; not affected by mass

Game Ideation

Engineering Teaching & Research Equipment – Armfield

EF-1.1 – Statics – Forces experiment kitYoutube – EF series video Statics Forces 1 1 3

The links are similar videos, the first is just directly to the site of those that made the kit, and the second is a Youtube link. This kit provides hand on experience for understanding a lot of topics based around static equilibrium. Topics such as 2D shape center of masses, force vectors, and much more can be covered with this tool.

Game Idea – Engineering Statics Game

Following the general idea of the kit shown above, the game environment is populated with nodes that apply controllable forces to a central ring object. These forces can be altered to change the position of the ring. The environment will spawn collectibles that the player must direct the ring towards in order to collect them. To move the ring, they will need to intelligently alter the forces applied by the nodes.

Quick sketch of concept
April 16th, 2018

Research Readings for DIGM 540

Automatic generation and analysis of physics-based puzzle games

By: Shaker, Sarhan, Naameh, Shaker, Togelius

Learning Mechanics and Game Mechanics Under the Perspective of Self-Determination Theory to Foster Motivation in Digital Game Based Learning

By: Proulx, Romero, Arnab

Mapping Learning and Game Mechanics for Serious Games Analysis in Engineering Education

By:Callaghan, Savin-Baden, McShaneEguiluz

Link to Circuit Warz Game

Above is the link to Circuit Warz, the game created for the research paper on “Mapping Learning and Game Mechanics for Serious Games Analysis in Engineering Education”. This game attempts to teach some advanced electrical/circuit theories through a first person action game.

March 25th, 2018

Update on Gear Mesh Generating Toy

Link to Web Build of Prototype Currently

Current Controls
  • Left Mouse Button – Press: Select a gear to make it active
  • Let Mouse Button – Drag: Move selected gear around
  • Left Mouse Button – Drag + Spacebar: Destroy selected gear
  • w : makes the gear spawning object the active object (instead of any gears)
  • Typing in input fields: Changing the number in this input field will alter the corresponding parameter of the currently active (selected) object.

Selecting a gear and changing the value in the input field will immediately change that corresponding parameter on that gear. For example, if you left click a gear, then type the value “1” into the “Body Radius” input field, that gear will have its body radius value immediately change to 1, and its mesh and colliders will update along with it.

There is an invisible gear spawning object (“gear spawner”) that creates a gear when the “Create Gear” button is pressed. The gear created will have values based on whatever the spawner’s current values are. To change the spawner’s values, the spawner must be the active object. This is where the “w” key control comes in. Once the player presses “w”, as long as they don’t left click another gear in the mean time, changes to the input field will become the values of the spawner. Then the next time the “Create Gear” button is pressed, it will use those updated spawner values to create the new gear. This gear can then be altered as any other gear.

Current Issues to Avoid

The input fields do not show the values of an object when it is selected. This can be a bit confusing since it makes it hard to tell what the currently selected object’s values are, unless the player just remembers them. This is something that would be crucial to update as there is currently no way to actually see the current values.

The spawner does initialize at all values of “0”. Just be aware that if you try to create gears before changing the spawner’s parameters, you will be creating invisible empty objects.

When attempting to update the spawner, make sure to press “w” before changing any values in the input fields. This was something I found myself messing up a lot, and would be a feature to improve in the future. Again, make sure to press “w”, and not click any other gears, before changing the input fields to update the spawner’s values.

March 19th, 2018

Real Time Updating Gear Mesh – PROTOTYPE

Prototype – Real Time Gear Mesh Editor

This example build shows the real time updating capabilities of the current scripting behind the gear mesh creator. This also has some of the functionality of the original build, but that part is buggy when trying to tie it in to this current build. This build is solely to show that the real time editing of the mesh does work with the current script structure.

There is still significant work needed to combine this real time updating feature with the effective gear generation coding to create a single, cohesive build of all the elements.

March 12th, 2018

Prototype of Gear Mesh Creator in Unity

Gear Mesh Creator Protoype

This is a very bare bones version of the gear mesh generator in Unity. Enter values into all of the parameters on the left side of the screen, then press “Create Gear” to generate a gear with those parameters. Clicking and dragging a gear allows you to move it around on the xy-plane. While dragging a gear, press space bar to delete it.

The scripting allows for the functionality of real time updates to the mesh and colliders of the gears, but I was unable to implement a player based way to use that that. While editing the values in the Unity editor, it will change the shape in real time. This action just needs to be translated to the build side. I will be looking at something where clicking a gear selects it, then the parameters of that gear will fill the boxes on the side, and when the player edits them, they will see the changes immediately on that gear. Then there will be a separate way to access the parameters when needing to create an entirely new gear.

Mar. 4th, 2018

Research for DIGM 540

Designing for Transformative Play by: Jon Back, Elena Marquez Segura, and Annika Waern

This paper could serve as a very useful base behind my current project for designing editable physical engineering mechanisms within the Unity game engine. I could use this idea along with my toy to look into creating a more open, user defined play area. This paper focuses on play designed in an open way.

Some Important Key Words:
  1. Human-Computer Interaction (HCI)
  2. Human-Centered Computing
  3. Interaction Design
  4. Interaction Design Theory
  5. Explorative Play
  6. Creative Play
  7. Transformative Play
Further Topics to Look Into:
  1. Ludic Design by Gaver et al.
  2. Stenros Thesis on foundational theory of play

Current Progress of Research Paper

Link to Google Doc of Paper Information

Feb. 28th, 2018

Research for DIGM 540

  1. Predictive Physics Simulation in Game Mechanics by: Perttu Hämäläinen, Xiaoxiao Ma, Jari Takatalo, Julian Togelius
  2. Interactive Control For Physically-Based Animation by: Joseph Laszlo, Michiel van de Panne, and Eugene Fiume

Other Interesting Topics Encountered

  1. The lack of research in soft bodies (as opposed to rigid bodies) in the physics engines of games.

    Covered in: Unifying Rigid and Soft Bodies Representation: The Sulfur Physics Engine by DarioMaggiorini, Laura Anna Ripamonti, and Federico Sauro