Posts

Showing posts from March, 2018
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