Posts

Showing posts from 2018

Tactics Movement Tutorial (Cont.) - Jumping and State Machines

December 23rd, 2018 Tactics Movement (Cont.) – Jump State Machine Jumping in Tactics Game Unity Tutorial - Tactics Movement - Part 4 By: Game Programming Academy This part of the tutorial focused a lot on the jumping aspects of the player movement. The movement when the unit jumps up or down to different elevation tiles should operate differently than when it just moves around on equal elevation tiles. A state machine is created to deal with all the various aspects of a jump, as well as the possibility of jumping upward or downward. The state machine however appears to have significant bugs in it that will need to be worked out. Terms Stack: Pop, Peek Protected class Problems This part of the tutorial had several bugs that could possibly occur, which the creator of the videos also encounters. The tutorial video showed an issue where the unit would just float in a straight line when it should come down, but I have yet to have that occur. Most bugs I saw had the unit not perf

Learning Tactics Movement (Cont.) - BFS and Collections

December 22, 2018 Tactics Movement (Cont.) – Programming Collections Breadth First Search (BFS) and Using Programming Collections Unity Tutorial - Tactics Movement - Part 3 By: Game Programming Academy This section begins to finally create the breadth first search algorithm for creating list of available selectable tile options. This section relies heavily on collections type elements in C# programming which I will need to delve into more. Notes Look into breadth first search, stacks, queues, and lists. Stacks: Used to add things to a collection in a certain order and use/apply them in reverse order. Stack uses command “push”. Queues: Use “enqueue” to add to queue and “dequeue” to remove/pull from the queue. halfHeight was a variable used to find the center point of the game object in conjunction with the “bounds” and “extents” values of the collider. This is used when positioning the unit on a tile to make sure it is on/above the tile. Lessons Learned Had an issue where t

Creating a Basic High Score System in Unity

October 13th, 2018 How to Make a High Score in Unity How to make a HIGH SCORE in Unity - Brackeys How to make a HIGH SCORE in Unity - Youtube Link This youtube tutorial from Brackeys shows the bare bones way of getting a high score system started for a game in Unity. It uses the built in PlayerPrefs function to save data to the user's system. PlayerPrefs.SetInt and PlayerPrefs.GetInt were used. Playerprefs.SetInt lets you set a key value (which is basically a name for this value when you want to find it) and the actual value to set to this key at the time. Playerprefs.GetInt will return the value stored at the key value given to it, or if nothing is stored within that key location, it will return the default value, which is the second variable value you set when using PlayerPrefs.GetInt. Saving Data in Unity: PlayerPrefs Saving Data in Unity: PlayerPrefs - Youtube Link Youtube tutorial by Board to Bits Games going over the basics of PlayerPrefs in Unity. This shows limitat

GDC Talks - GDC 2018 - Math for Programmers by Squirrel Eiserloh

September 26th, 2018 Math for Programmers: 6 Courses on Procedural Content Generation for Games - GDC 2018 by: Squirrel Eiserloh There are 6 talks about techniques and implementations of procedural content generation in games. The order is as follows: The Power of Procedural Recipes - Procedural Recipes Semi-Procedural Content Pipelines - Semi-Procedural Methods Staged Parametric Map Generation - Staged Parametric Generation Digging with Perlin Worms - Perlin Worms (for rivers/roads/caves) Discrete Constructs in Endless Worlds - Infinite Worlds Juicing World Generation with Metadata Feedback - Juicing PCG with Metadata

Learning to Create Tactics Movement in Unity

September 20th, 2018 Learning to Create Tactics Movement in Unity Links to Tutorials from Game Programming Academy Link to Game Programming Academy Tutorials for Tactics Movement Link to Youtube of 1st Tutorial

Experimenting with Unity: Player Movement - Rotation

August 1st, 2018 Experimenting with Unity: Player Movement Player controlled by rotation about a point Vimeo - Video of Rotational Movement I was experimenting with controlling a player agent solely through rotational forces. The first style I looked at was not a force in the physical sense as it just operates on moving the player at a constant rotation speed. This is dictated by the placement of a rotation pivot which the player can place to indirectly move the player agent. To add an extra amount of control, the player can also press a key in order to reverse the direction of the rotation (switch between clockwise and counterclockwise). This combination of features led to some interesting movement patterns. One of the first things that jumps out is the fact that the movement being dictated by a constant rotation speed still leads to varying velocities by the player agent as this will vary drastically with the radius between the pivot point and the player object. Large pivot dist

Procedural Generation - Far Cry 5 GDC Content Generation

July 30th, 2018 Procedural Generation - GDC 2018 Talk - Procedural World Generation of 'Far Cry 5' By: Etienne Carrier GDC 2018 - Procedural World Generation of 'Far Cry 5' - GDC Vault Link GDC talk where Etienne details a large scale tool they created using procedural generation techniques to help build the world of Far Cry 5. It covers both the user end (world editors/designers) and the behind the scenes processes that make everything possible. They use Dunia and Houdini together to create these tools.

Instantiating Objects Randomly Within a Given Polygon

Image
June 11th, 2018 Randomly Selecting Points within a Given Polygon References Used: Stack Overflow - Random Points in a Quadrilateral Wolfram Alpha Information on Points in a Triangle Notes I needed to be able to randomly but evenly distribute a number of objects within a 2D area so these are the sources I started with. The Stack Overflow question ended up being a very good starting point, but there were errors with the calculations that I needed to solve in order to actually use their logic. Fixes from Stack Overflow First calculation to fix was the originally randomly selected position of the object. It turned out that it was very close, but it actually only worked if v0 was the origin. It was simple enough to fix by adding v0 to the x equation. The second equation to fix was the v3 equation. They were subtracting v0 twice which is incorrect (again something unnoticeable if v0 is that origin as you're simply subtracting (0,0) twice). v0 should only be subtracted once to ob

Using Masks with Particle Systems in Unity

June 7th, 2018 Unity - Particle Systems - Masks Example Video Tutorial: Game effect tutorial - How to use Mask Particle in Unity 2017 Youtube Tutorial for Mask Particle in Unity - by: imn nam

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

Image
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 th

DIGM 540 - Engineering Statics Game Project - Forces in Unity

Image
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 ma

Talks Every Game Designer Should Watch

May 23rd, 2018 Talks Every Game Designer Should Watch These are two talks suggested to be seen by anyone in game design by Squirrel Eiserloh in his talk "GDC 2015 - Math for Game Programmers: Fast and Funky 1D Nonlinear Transformations". They cover general game design topics on making your game feel good no matter the concept. Juice it or lose it - a talk by Martin Jonasson & Petri Purho Youtube - Juice It or Lose It Jan Willem Nijman - Vlambeer - "The art of screenshake" Youtube - The Art of Screenshake
May 22nd, 2018 Research Papers on Procedural Content Generation for Games Darwin’s Avatars: A Novel Combination of Gameplay and Procedural Content Generation by: Dan Lessin, Sebastian Risi Citation : [Lessin & Risi, 2015] D. Lessin and S. Risi, “Darwin’s Avatars: A Novel Combination of Gameplay and Procedural Content Generation,” 2015, pp. 329–336. Key Terms: Evolved Virtual Creatures Artificial Life Muscles Drives Physics-based Character Animation Procedural Content Generation Summary Use evolved virtual creature (EVC) system from Lessin et al. reference to procedurally generate creatures that provided interesting control and locomotion problems. Originally these were piloted by an AI trying to learn how to move, but this “brain” was removed for this paper so that players could run them. Movement was determined by the activation of muscles/actuators between the procedurally generated segments of the creatures. These muscles could range in value from [0, 1], whe
May 20th, 2018 Sources to Learn Procedural Generation Techniques for Games Procedural Generation in Unity Unity Tutorial: A Procedurally-Generated Galaxy - Part 1 by: quill18creates Youtube Link to Part 1 of Tutorial A tutorial to look into for basic procedural generation of a galaxy in Unity. Also has some information on different variable types in C#. Unity - Cellular Automata Tutorial Unity Link to Cellular Automata Tutorial Tutorial directly from unity on the basics of using the procedural generation technique of cellular automata.
May 20th, 2018 Procedural Content Generation in Games Galactic Arms Race (GAR) Youtube Link - Evolving Particle Weapons in Galactic Arms Race | AI and Games by: AI and Games AI and Games briefly describes how GAR uses evolutionary algorithms to design weapons that the player likes using. The player takes the place of the fitness function to determine what is "good". Techniques such as CPPN and cgNEAT are lightly touched upon and offer topics to be further explored.
May 19th, 2018 Math for Game Programmers - Talks from GDC - Notes GDC 2015 - Math for Game Programmers: Fast and Funky 1D Nonlinear Transformations Presenter: Squirrel Eiserloh Youtube link to presentation Notes: Other names used for these concepts in other fields: Easing functions Filter functions Lerping functions Tweening functions Implicit vs. Parametric Equations Implicit: Ex. x^2 + y^2 = R^2 Parametric: Ex. Px = R * cos(2*pi*t); Py = R * sin(2*pi*t) Parametric Equations use a single variable (usually a float) as input Opportunities to Use Parametric Transformations Anywhere you have a single float to change Anywhere that could be expressed as a single float Anytime you use time The two most important number ranges in mathematics and computer science are: 0 to 1: Good for fractions and percentages -1 to 1: Good for deviations from some original value These functions are normalized Input of 0 has output of 0, and input of 1 has output of 1 Th
May 13th, 2018 Procedural Generation Unite 2016 - The Power of Procedural Meshes Unity Talk by Alexander Birke Youtube Link to Talk Suggested Reading: “Essential Mathematics for Games – A Programmers Guide” by James M. Van Verth & Lars M. Bishop Links to examples to learn about procedural generation of meshes Mesh Presentation Unity Environments Trinagle.net Port to Unity Notes from talk: Why use procedural meshes? Player Made Content (Ex. Spore) Unique Mechanics (Ex. Gish) Procedural Generation (Ex. Sir You're Being Hunted) Unity Procedural Meshes Mesh starts by creating vertices, and then making triangles from those vertices Components Needed: MeshFilter - stores the mesh MeshRenderer - shows the mesh Script - to generate the mesh Normal vectors used to determine surface orientation Colors Used to be determined by assigning values to vertices Can be used to provide more information to vertices still Can be done as bytes or floats Bytes general
May 7th, 2018 AI Wish List from GDC AI Wish List: What Do Designers Want out of AI? - GDC Vault GDC Talk with Raph Koster, Dave Mark, Richard Lemarchand, Laralyn McWilliams, Noah Falstein, and Robin Hunicke. They go over what directions they would like AI to move in in the future to further good game development. Some Topics Discussed: Content Creation: Don't focus on procedurally generating a tree, or a forest of trees. Generate interestingly varied trees that have other interactive elements within/about them to create a much more detail-rich environment that could not be created by human hands in any practical way. Create a world, with a forest, with a pond, with tadpoles that you can interact with. Feelings to Invoke: Feeling Proud for something. Have the player feel proud that they were able to guide something else to perform an action on its own. Create systems of interactivity that decentralize the player. Make the player understand that their actions are upsetting a
May 6th, 2018 Terms and Definitions for Investigating Real-Time Rigid Body Deformations in a Game Environment Engineering Terms Stress Strain Deformation - Deformation - Wiki Page Elastic Deformation True Stress/Strain Plastic Deformation Deflection - Deflection - Wiki Page This is just a list of useful terminology for understanding rigid body deformations in the real world in an effort to translate them into a virtual setting, preferably for games. I am currently looking into research that uses finite element analysis and modeling techniques in order to create physically accurate deformations in real-time in a video game setting.
May 5th, 2018 Finite Element Analysis in Games - Deformable Objects Unity Tools DefKit - Deformable Bodies Toolkit for Unity [v0.2] - FEM and SBD Plugin for Unity that uses FEM to deform solid bodies. Fractuccino - Real time fracturing for Unity Tool that attempts to allow for real time fracturing of solid objects in Unity. This tool is based on methods that were researched by Matthias Muller, Nuttapong Chentanez, and Tae-Yong Kim in the PhysX team. Paper Fractuccino is Based on can be found here.
May 3rd, 2018 Unity - ProGrids Brackeys Tutorial on ProGrids - Youtube Progrids is a tool that can be obtained for free on the Unity asset store. It allows you to have a grid-system in Unity for constructing your scenes. This can be useful for basic level design and simply keeping items in line with each other. This can be extremely helpful for prototyping and grayboxing level designs, or even full game creation, especially in a 2D sprite/tile setting.
May 2nd, 2018 Game Jams in Ludem Dare Ludem Dare Site "Ludum Dare is one of the world's largest and longest running Game Jam events. Every 4 months, we challenge creators to make a game from scratch in a weekend." This site lets users participate in a game jam every 4 months where they create a game based on a theme over one weekend. The users can see others submissions, and it is a competition where submissions are based on multiple categories.
April 23rd, 2018 Using Procedural Generation Techniques in Game Design Effectively GDC Talk - Math for Game Programmers: Semi-Procedural Content Pipelines - Squirrel Eiserloh Link to GDC Vault (May be locked content) 2nd of 6 talks on semi-procedural content generation for games by Squirrel Eiserloh at GDC 2018. In this video he goes over many techniques and how to use them effectively. Variants: Have multiple versions of things. Multiple colors for grass, dirt tiles. Multiple different sounds when running through grass. Do I need a tile to be the same forever? Whenever possible, let the designer provide multiple alternatives. Blueprint Definitions: Don't make an orc, create "orcness". This blueprint has many ranges of values for different characteristics of a character. "Do I need an int, or an int range? Do I need a float or a float range?" Use these types of questions for every trait/parameter. Whenever possible, let the designer provide number
April 21st, 2018 General Game Design Thoughts Keith Burgun on the Difference Between Tactics and Strategy in Games Keith Burgun on Randomness and How It Affects Strategy Games Specifically
April 21st, 2018 Game Design Podcasts Clockwork Game Design Podcast by Keith Burgun
April 21st, 2018 More Potential Physics Related Subjects to Explore Through Gameplay Statics in Engineering Field Forces (magnetism, gravity) Buoyancy Buoyancy Wiki Page on Buoyancy
April 21st, 2018 Exploring Uses of Physics in Gameplay Physics in Games: A New Gameplay Frontier - from Gamasutra.com Article by Pascal Luban on Dec. 4th, 2007. This is an older paper explaining some of the possibilities opened up by computers becoming stronger and being able to process physics in games more readily. The author suggests ways of using physics as a core gameplay element as opposed to just some aesthetic element.
April 18th, 2018 Useful Online Resources for Developing Engineering Games - Statics General Forces and Statics Learning Resource Engineer 4 Free Site Covers a lot of basics on forces all the way up to shear force and bending moment diagrams. Games that are Relevant Schnittkraftmeister - App Game
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.
April 9th, 2018 Science of Sound for Coral Invasion Game Techniques Discovery of Sound in the Sea This site has a lot of basic information on how sound works, especially underwater with sea animals.
April 8th, 2018 Pokemon Fusion Sprite Generator Code Link to Github of Code This is a link to the frankenpokemon github files. Want to look into this more later.
April 6th, 2018 Research Games of Similar Genre to Coral Invasion What genre is it? Wiki Page for Shooter Genre Shooter Game - Subgenre: Shoot 'em Up "Shoot 'em ups are a specific subgenre of shooters wherein the player may move up and down and left and right around the screen, typically firing straight forward." Top Down Shooter: "(sometimes referred to as twin-stick shooters) where the levels are controlled from an overhead viewpoint" Game may also benefit from being categorized as strategy, or potentially puzzle. These two genres help drive the idea that the game may not be pushing the limits of speed, and will be played in a slower and more tactical way than a general shoot em up. This can be useful for rounding out another view on the way the core gameplay can be implemented. Example Games of this Genre Armed to the Gears Link to steam page This game has the player move throughout the level/world, shooting many enemies in a top-down fashion.
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"
March 20th, 2018 Current Research Exploring Game Play at Science Center Tom Tits Experiment - Project Experimenta Tom Tits Experiment Homepage This was referenced in the research paper "Designing for Transformative Play" by JON BACK, ELENA MA´RQUEZ SEGURA, and ANNIKA WAERN. The basics of it are that there was work done on a project called Experimenta (originally "The Mission"), where designers worked to create a large scale game that visitors of the Tom Tits Experiment science center in Södertälje, Sweden could play while they interacted with the various experiments around the exhibit. Key Quotes on Details from the Paper "The design has been iteratively developed over two years, and repeatedly studied over the course of the project. It is now installed as a permanent part of the science center’s exhibitions." "Allen [2004] describes an interactive experiment as typically including: (1) a surprising phenomenon, (2) some way to interact to ex
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 15th, 2018 Coding Conventions - Write Better C# Code Some practices to write better C#/.NET code As I teach myself more about C# for scripting games, it becomes more apparent that it would be beneficial to learn some of the general conventions for coding to help stream line my process. Things as simple as deciding where to list out types of variables in classes can take a small amount of time that adds up over many projects, but can be eliminated by having committed to hard set conventions. This will provide resources to look to to help with the organization of code in my scripting, and increasing its efficiency. Book on Proper Coding for Game Development http://gameprogrammingpatterns.com/
March 12th, 2018 Coral Invasion - Nearing Final Product Link to Coral Invasion Game
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
March 10th, 2018 Working with Meshes Via Scripting in Unity Creating a Game Object and Mesh at Runtime Tutorial Series - Moving Mesh Vertices at Runtime This short video shows a very basic way to manipulate existing vertices. It simply moves a few vertices along their normals in a sine wave type pattern. Writing to .CSV Files with Unity Scripting How to write data to CSV file in UNITY Printing out arrays of data to .CSV files can be useful when creating large arrays of data for things such as vertices and tris as it can give you a better way to figure out where errors are occurring. Using InputFields with C# Unity 5.4 (Basic Tutorial) This video shows the most basic use of input fields in Unity. This may be a direction to take to connect the player to the variables in the gear mesh editor. Basic UI Functionality - Interacting Directly with Game Objects Unity Unity 5 UI Tutorial - Input field and event handlers This video is in the middle of a series by this author on some b
March 10th, 2018 Adding Fog of War Effects - Unity Some full asset tools created that can create fog of war effects RPG Map Editor - Fog Of War - Youtube This tool looks to setup a fog effect on a grid based tile system in a 2D game/environment. Tutorial 3 : Fog of War - Fog of War 3D Effect - Youtube This tool looks like it uses light to emphasize the fog of war effect, which it can do since it's set in a 3D environment, which is more commonly associated with lighting in Unity.
Image
March 9th, 2018 Creating Interesting Particle Effects in Unity Ripple Effects | Unity Particle Effects | Visual FX Tutorial - Youtube This video is a tutorial on setting up a basic ripple effect using the particle effects given in Unity. This serves as a basic introduction to some of the different parameters of particle systems. This was useful in setting up the visuals for the projectile in our DIGM 530 project Coral Invasion. Images and Video of Use as Projectile for Project Video of Projectile in Motion with Audio Some Useful Notes: As a projectile effect, it was important to make sure to edit the parameter to have the particle gameObject destroy itself once all the particles died. Editing the parameters of lifetime, rate, scaling size/color all useful to fit the particle between two circle colliders. Was able to attach the particle system prefab to the player script exactly like would normally be done for a generic gameObject used as a projectile. Can instantiate particl
Image
March 5th, 2018 Examples of Progress with Gear Mesh Generator in Unity The approach for creating a full gear mesh in Unity was to create a single section of a gear with one tooth with the given parameters/dimensions, then replicate this a number of times equal to the total number of gear teeth and rotate each of these instances appropriately to create a single full gear. An extra bit of scripting was added to place small black spheres around the vertices of the first gear segment created, to highlight the locations of the created vertices. The prior setup was tweaked to account for the control of spaces between the gear teeth. This appears to have made the instances of the meshes concave in some manner though, so the convex mesh colliders do not completely accurately follow the model around the teeth now. Another technique will be looked into to prevent this from happening. Parameters: Number of Teeth: 10 Thickness: 0.1 Body Radius: 0.5 Tooth Height: 0.1 Tooth Width: 0.1 Sp
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: Human-Computer Interaction (HCI) Human-Centered Computing Interaction Design Interaction Design Theory Explorative Play Creative Play Transformative Play Further Topics to Look Into: Ludic Design by Gaver et al. 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
Feb. 28th, 2018 Research for DIGM 540 Predictive Physics Simulation in Game Mechanics by: Perttu Hämäläinen, Xiaoxiao Ma, Jari Takatalo, Julian Togelius Interactive Control For Physically-Based Animation by: Joseph Laszlo, Michiel van de Panne, and Eugene Fiume Other Interesting Topics Encountered 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
Feb. 27th, 2018 Scripting Enemies to Check Distance for Ranged Attacks - Unity Scripting is Fun - Unity 2D Game Basics - Enemy AI - Ranged Attack - Youtube Video This video shows the basic setup for allowing an enemy in a 2D game to rotate, locate player with raycasting and distance tracking, and fire projectiles in the proper direction. Unity Manuals - Layers This is placed here for the use of layer masks to control raycasts. Layer masks allow the user to either ignore specific layers with their raycasts, or specifically target layers. This was searched because I had an issue where raycasts where colliding with the object itself and/or the parent object, both of which have colliders.
Feb.26th, 2018 Outline for Project for DIGM 540 UPDATED: Link to Google Doc of Outline
Feb. 25th, 2018 More Gear Calculations for Real World Physics Example Gear Train System Equation Use Many gear train system types setup with different uses of general gear equations and parameters to show different uses. Basic Gear Definitions Has some general gear terminology and shows/describes them in a very basic and easy to understand manner.
Image
Feb, 25th, 2018 DIGM 540 Project - Resources Basic Mesh Scripting Tool Description for Unity Creating Basic Billboard Mesh Through Unity Scripting Shows how to create a vertex array, set these into triangles, and create a full mesh. More Help for Procedural Generation of Mesh This shows that it is possible to create/modify meshes within Unity using scripting. Project Direction - Create Script in Unity that Will Take User Inputs to Instantiate a Gear Model Based on Said Parameters This may be possible through the general use of the Mesh class in Unity scripting. Something along the lines of creating a set of vertices for the central body (some smoothness level of cylinder), then creating a gear tooth mesh that can be multiplied and geometrically positioned around the central core body mesh created. Bump Mapping Normal Maps from Unity "Normal Maps and Height Maps are both types of Bump Map. They both contain data for representing apparent detail on the surface of simple

DIGM530 - Setting Up GitHub

Resources for Setting Up a Unity Project in GitHub How to Commit Changes for Unity Project with Github Desktop - Youtube Video

DIGM530 - Coral Invasion - Sources

Image
Unity - Making 2D Sprite Flash Upon Taking Damage Make A Sprite Flash? - From Unity From gilad905 in this post: Create an animation controller state machine and an animation clip for the flashing state, just like creating a normal animation state. If you want to mix the flashing with another animation (e.g flash while walking), create a new animation layer in the animator and do all below in the new layer. In the new layer's configuration, make sure it's set to Blending: Additive (so it won't override the base layer) and that its weight is set to 1. Enter the animation view (Window -> Animation), chose the wanted GameObject and the empty animation clip you just created. If any properties are already attached to the clip, remove them. Click 'Add Property' -> Sprite Renderer -> Enabled -> the '+' icon near it. Using this, you make the object flash by turning SpriteRenderer.Enabled on and off. But for a different effect than flashing, you can
Feb. 19th, 2018 Creating a Basic Cam Model - Maya Using Maya, I was able to create a very basic cam mechanism using a basic cylinder as the main body, and moving a few of the edges symmetrically to create a more interesting shape for the follower to follow as it rotated. Colliders for Cam in Unity Placing Colliders Use Capsule Collider for main body of Cam (turned sideways, the body of the capsule collider works well as a cylinder collider) This capsule collider has its radius set to that of the Cam main body, and its height can be adjusted to fit the thickness Create gameObject - cube Remove components: Mesh Renderer and Mesh Filter (leaves cube's collider: this collider has more flexibility for more complex designs) Set this as a child of the original game object of choice (the gear model in our case) This was rotated at a 45 degree angle and moved to fit the sharp tear-shaped location of the Cam Setting Up Cam-Follower System Cam Constraints: Frezze Position - x
Feb. 19th, 2018 Research - Learning Physics Modeling with PhysX - Book This is a book by Krishna Kumar going over the basics of PhysX as a physics engine. Could be useful for better understanding the default physics engine, PhysX, to properly drive engineering mechanisms. Research - Book - Engineering Finite Element Analysis "Finite element analysis is a basic foundational topic that all engineering majors need to understand in order for them to be productive engineering analysts for a variety of industries. This book provides an introductory treatment of finite element analysis with an overview of the various fundamental concepts and applications. It introduces the basic concepts of the finite element method and examples of analysis using systematic methodologies based on ANSYS software." This could be useful for learning and using finite element analysis, if looking into real time finite element analysis for use in games. List of Physics Engines Wikipedia page for Ph
Feb. 18th, 2018 Creating Multiple Copies of Models with Different Parameters - Maya As was mentioned in the last post, it seems that it was effective to save an original copy of models of mechanisms in Maya with the past transforms and history in tact to edit to create modified versions of said object. Using this, I was able to create another gear that simply had double the radius of the original, and export that model to Unity as a separate object. Colliders for Gears in Unity Placing Colliders Create gameObject - cube Remove components: Mesh Renderer and Mesh Filter (leaves cube's collider: this collider has more flexibility for more complex designs) Set this as a child of the original game object of choice (the gear model in our case) Need to position with local x and z position relative to parent, as well as correct rotation, to fit collider to single gear tooth Determine angle value (&Theta) between centers of teeth (use 360deg / # of teeth) Use x = Rcos(&Th

Modeling in Maya and Exporting to Unity - Scaling

Image
Feb. 15th, 2018 Import/Export Between Maya and Unity - Scaling Maya to Unity Scale Guide The scaling between Maya and Unity can act a bit strangely. It appears to be because Unity treats its units as "meters" by default, and Maya treats its units in "centimeters" by default. This guide helps in figuring out how to set up your Maya work file and its export, along with the Unity import, so that the scaling of objects makes sense. Directly from the guide: "The best reason I can figure from all the posts on the web is that Maya’s native units are centimeters and that is how it “thinks” about its scenes. Anything exporting FROM Maya will essentially be in centimeters, so even though we set the scale of our objects to Meters, they are actually still in centimeters. The FBX, however, doesn’t really care about scale. It will, however, pull the relative scale value out based on what you are trying to export it as. In this case, we have a centimeter based file and we

Sources for Basic Gear Equations and Parameters

Feb. 15th, 2018 Gear Equations Basic Gear Equations The basics of gear ratios. Gear Parameters Gear Parameters This site includes a list of many parameters involved in gear design, and some of the general equations to obtain them. Types of Gears Types of Gears This site shows all of the different types of gears and gear mechanisms in a very basic fashion with short descriptions of the general uses for each of them.

TRANSLATING PHYSICAL PHENOMENA INTO GAMES (CONT.)

Presentation Sources, Jan 5, 2018 Engineering Mechanisms as Game Elements Mechanisms (Engineering) - Wikipedia "A mechanism, in engineering, is a device that transforms input forces and movement into a desired set of output forces and movement." Examples of Mechanisms: Gears and Gear Trains Belt and Chain Drives Cam and Followers Linkages Friction Devices Example Games Dealing with Engineering Mechanisms Gears - FantasticChoice - Flash Game This game has one intitial gear powered by a robot, and the player must place gears to fi

TRANSLATING PHYSICAL PHENOMENA INTO GAMES (CONT.)

Presentation Sources, Jan 4, 2018 Example Games Dealing with General Relativity Velocity Raptor - Online Flash Game This is a game by TestTubeGames that covers some general consequences of general relativity, such as length contraction, time dilation, and the light doppler effect. A Slower Speed of Light - Video Trailer This is a game developed by the MIT Game Lab where the collectibles lower the speed of light, which allows the player's normal speed to come close to the "universal speed limit", creating more observable consequences of general relativity. This is open source, and works with Unity, so they allow anyone to access the coding behind it to use it as a sort of engine for a game. Example games Dealing with Conservation of Energy and Temperature

TRANSLATING PHYSICAL PHENOMENA INTO GAMES

Presentation Sources, Jan 3, 2019 Example Games Dealing with Light Lazors - Mobile Game Refraction - Mobile Game Tilted - Mobile Game Legends of Learning - Games on Transmission and Refraction of Light Legends of Learning is a site that has many educational based games that are small and simple, normally covering one or two main subjects at a time. PhET Lens Simulation PhET is a non-profit open education resource project centralized in University of Colorado Boulder, and founded by Nobel Laureate Carl Wieman.