March, 4th 2018

Creating 2D Enemy Movement in Unity that is Able to Avoid Obstacles

How can I make an AI that avoids obstacles WITHOUT using NavMesh?

This link contains oStaiko’s answer to the above question, and describes two standard ways to deal with basic enemy AI movement, especially on a 2D plane. These two ways are: a waypoint setup and a more “vision” focused setup.

Waypoint Setup Pros/Cons
  • Good on static maps where enemy can “know” the entire map
  • Deciding fastest routes can be tricky
Vision Setup Pros/Cons
  • Works better for non-static maps/obstacles
  • More difficult to setup (scripting-wise)
  • Better for open maps, can work poorly in more constricted spaces

Example Script for Setting Up Raycast AI to Move Around Obstacles

Unity 3D – Enemy Obstacle Awareness – AI – Code Sample

This link leads to some sample C# code for setting up a script that gives an object raycast vision to avoid obstacles and refocus on a target.

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

March 2nd. 2018

Talks on Game Design

SINFO, March 1st, 2018 – Greg “Ghostcrawler” Street from Riot Games – 20 Things I Learned in Twenty Years of Making Games

Talk on his career path as a game designer, and good ways to advance yourself as a game designer. Same key points are: Make things good enough, not perfect (consider diminishing returns); you will change jobs a lot; games ship when you run out of money; have goals and iterate; making a team is harder than making a game; as a game designer, not smarter than players (all people informed on game); empathy. Emphasize importance of varied types of people on teams producing elements of game (combine programmer, artist, designer, etc.)

Difference between Blizzard and Ensemble companies – Iteration. Ensemble: create something, put it in game, test. This worked but was a bit inefficient. Blizzard: Ideas must go through a lot of thought and people before even being created, which means most things created in game are going to be higher quality, which results in a more efficient process.

    How to get into game industry?

  • You have to stand out
  • You have to prove your passion
  • The best way is to make something

Compromise with feedback, take something from beginning to end, kill your babies, understand diminishing returns. Rather see someone finish things than start a bunch of things. See someone push through with changes and edits to finish something than just giving up (shows endurance, will to push through for end product).

Bennet Foddy – Bend Physics to your Will

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