Posts

Showing posts from October, 2020

Architecture AI Pathing Project - System Manager and Automating Component Application to Imported Models

October 29, 2020 Automating Component Application and System Manager Architecture AI Pathing Project System Manager and Initialization The integration of several classes and adding more has started to create a lot of necessary references becoming difficult to time properly. To make sure a certain class has already initialized or some other class has performed its Awake() method I end up making extra references and method calls within other classes so the proper references are set before peroforming those methods. In an effort to organize this better and make the timing more understandable, I am looking at making a SystemManager gameobject to replace the DemoManager, and either add an Initialization class to this or make it its own class if it does not require being a monobehaviour. This Initialization class will be responsible for calling all the major system classes initialization methods in the proper order to ensure references are met. This will also require moving som

Unity Input Action Assets Intro with InfallibleCode

October 26, 2020 Input Action Assets Unity Title: Unity Input System | How to Use Input Action Assets By: Infallible Code Youtube - Tutorial Description: One of the better tutorials covering all the basics of utilizing Unity's new Input Action Asset for their new input system. Tutorial - Part 1 - Reference by String Initially there are already some issues since they are using an older version of the new Unity input system. GetActionMap and GetAction are no longer methods associated with the InputActionAsset object and the InputActionMap object. To get around this I just used the FindActionMap and FindAction methods and they appeared to work fine here. There are to callbacks tied to the movement action we created: movement.performed and movement.canceled. According to the Unity documentation, performed means "An Interaction with the Action has been completed" and canceled means "An Interaction with the Action has been canceled". The

Gridzzly Printable Graph Paper

October 21, 2020 Graph Paper Design Resources Title: Gridzzly Graph Paper Layout Gridzzly - Main Page Description: Site that gives several graph paper-like options that can be accurately printed. Overview This site provides a quick and accurate way to make several different graph paper-like designs that can be printed onto paper to sketch ideas and concepts. Along with the general graph paper square pattern, it has a few dot patterns, several other shape patterns such as triangles and hexes, and even a music bar option. These various options can be good for quickly working on some ideas or building out paper prototypes for testing phases.

Open Closed Principle

October 20, 2020 Open Closed Principle Programming Title: SOLID Principles in C# – Open Closed Principle By: Marinko Spasojevic CodeMaze - Information Description: Quick coverage of the open closed principle for programming with C# examples. Overview "The Open Closed Principle (OCP) is the SOLID principle which states that the software entities (classes or methods) should be open for extension but closed for modification." This basically means it is preferable to write code in such a way that when a change or extension is suggested for that original class that it can be done through addition instead of modifying the existing class itself. Many of the examples shown do this by adding new classes to handle the additional functionality required instead of modifying the original classes created. Example #1 - Salary Calculator The first example they cover somewhat resemebles the factory pattern tutorial I was checking out recently that introduced m

Factory Pattern Basics for Creating Objects

October 20, 2020 Factory Pattern Unity Title: Creating Objects in Unity3D using the Factory Pattern By: Jason Weimann Youtube - Tutorial Description: Introductory tutorial to the concept of fatories and the factory pattern in OOP using Unity. Overview This tutorial quickly covers the basic idea behind using factories and the factory pattern in OOP through an example in Unity. The overall concept is pretty simple in that it focuses on using an object to create other objects, but they explore putting this idea to use as well as some of the pros and cons of its use. Notes Factory: in OOP, an object for creating other objects; a function or method that returns objects of a varying prototype or class (from Wikipedia) Some of the benefits noted are that this allows you to put all of your object creation into a single place and that you can extend it quite a bit without modifying the underlying logic (following the Open Closed Principle). You do not even need

Basics of Dependencies in Unity

October 19, 2020 Dependencies Unity Title: Dependencies in Unity By: Infallible Code Youtube - Tutorial Description: Covers the basics of dependencies in programming, with a focus on them within Unity and how they deal with expensive method calls. Overview This tutorial nicely breaks down dependencies in programming in general in a very basic and understandable way. This is good for defining it well at the foundational level. It also covers some of Unity's more expensive method calls and the different ways to cache these results, as well as the different ways to organize and manage dependencies within Unity specifically. Notes Dependency: When one object relies on another to function. The initial example in this tutorial nicely shows how improper code can also hide dependencies. Since they were using FindObjectOfType in the Update method (an extremely expensive and inefficient process), it could be lost that that class was dependent on the Inventor

Adding Details to Enhance the Player Character

October 16, 2020 Detailing and Enhancing Player Character Title: 6 DETAILS TO MAKE A GREAT PLAYER CHARACTER - UNITY TUTORIAL By: Blackthornprod Youtube - Tutorial Description: Tutorial on adding a few small details to enhance the feel of the player character. Overview I came across this tutorial that covers a few quick ways to add some details to a player character to make them feel much more fun and interactive to use. They used Hollow Knight as a base for the types of details they were looking to add. The key details they created were: landing animation, jumping/landing vfx, moving vfx, background interaction while moving, and jumping/landing sound effects. While on the simpler side, these are all very nice features to add that can quickly make your character much more enjoyable to use. As an important side note they mention, this can actually be beneficial to the developer because it can make them for motivated to work with the character.

Exploring Unity's New Input System Further

October 15, 2020 Input System Unity Title: How to use the new Input System in Unity3D By: Coding With Unity Youtube - Tutorial #1 Description: Indepth tutorial on implementing Unity's new input system along with programming its use. Title: New Unity INPUT SYSTEM - Getting Started By: Dapper Dino Youtube - Tutorial #2 Description: Quick tutorial using Unity's new input system and using it with programming. UPDATE Title: Unity Input System | How to Use Input Action Assets By: Infallible Code Youtube - Tutorial #3 Description: Good all around tutorial for getting started using Unity's new input system. Title: Unity Input System Quick Start Guide By: Unity Unity - Input System Documentation v.1.0 Description: Unity's documentation on the new input system. Overview I have already tested using the new Unity input system a bit and it seems promising so I wanted to explore it further. These tutori

Resetting Keybindings with New Unity Input System

October 14, 2020 Rebinding Keys Unity - New Input System Overview I have been trying out the new Unity input system to see if it is worth using instead of the older method of building out everything yourself. In this process I wanted to make sure it had a way to rebind keys since this is a gigantic feature to have in almost all games. I was able to find that there are several different ways to change keybindings with the methods found in Unity's documentation on the new input system found here: Unity Editing Keybindings for New Input System Version 1.0 The two main methods I am focused on currently are ApplyBindingOverride and PerformInteractiveRebinding. PerformInteractiveRebinding allows for keybinding modification by the player at runtime, and is a quick way to implement a feature commonly found in many games where the player selects an action to change the keybinding for and the game awaits their input to set the new keybinding to that input. I do not think th

Creating an Input Buffer System for an Action Game

October 13, 2020 Input Buffer System Game Development Title: Character Action Game Development Tutorial 8-- Input Buffer By: Tyra Doak Youtube - Tutorial Description: Small segment of a tutorial list that focuses on creating an input buffer system in a 3D action game. Overview Having input buffering in a game can help a game feel much more responsive and smoother to a player, especially in hectic, fast paced gameplay such as fighting games or action games. This tutorial has a large emphasis on building out their input buffering system for their 3D action game so this is right in the prime territory for the type of game I am interested in building an input buffering system for as well. They also show a decent visual display of the frame data at the top of the screen during play mode that could be an ok starting point to help with starting to build frame data focused systems.

6 Design Patterns for Game Devs by Jason Weimann

October 8, 2020 Design Patterns Game Development Title: The 6 Design Patterns game devs need? By: Jason Weimann Youtube - Tutorial Description: Quick coverage on 6 general design patterns often used for game development. Overview This video quickly covers a lot of design patterns or design pattern-like architecture that are often used in game development. These include: singleton pattern, observer pattern, command pattern, component pattern, flyweight pattern, and state pattern. I have experience with most of these so this seems like a good video to cover all of them quickly to give me another view on them on how they might be utilized, as well as seeing if there are any I haven't used that could be good to keep in mind.

Workflow from Aseprite and Photoshop to Unity for Sprite Art

October 7, 2020 Aseprite & Photoshop Unity Workflow Title: Improve your WORKFLOW using Aseprite/PS with UNITY By: Dev!Bird Youtube - Tutorial Description: Tutorial showing workflow of creating sprites in Aesprite and Photoshop and importing them to Unity. Overview I initially looked into this because Aesprite is a software I have been interested in but haven't looked to far into it yet. Seeing how easy it is to work with and import your work into Unity here definitely makes me interested in looking to get it if I want to do some more focused sprite work again in the future. Aesprite's focus on sprite work making it rather simple to use but effective for both still images as well as animation make it a very appealing tool if you do not need the sophistication of Photoshop.

Unity Movement Basics Tutorial

October 6, 2020 Unity Movement Title: Move in Unity3D - Ultimate Unity Tutorial By: Jason Weimann Youtube - Tutorial Description: Tutorial for covering the basics of all the different ways to move objects in Unity. Overview Movement is something I have worked with a lot in Unity as it is part of basically every project in some way or another. Being such a prevalent topic, I just wanted to make sure I had a good understanding of all the different ways to apply movement so I could pick the best options for specific projects. This tutorial is very basic on every front, but inclusive so I figured it was a good point to make sure I knew all the options. There was not a lot to learn from this tutorial for me, but it did help support some of the approaches I already use. Tutorial Notes Transform Based Movement These approaches to movement deal with directly altering the transform values of an object, such as position and rotation, mathematically through gener

Newer Unity Input System

October 5, 2020 Unity Input Systems Title: NEW INPUT SYSTEM in Unity By: Brackeys Youtube - Tutorial Description: Tutorial for using Unity's newer input system. Overview This setup uses Unity's improved new input setup system. It provides a nice way to setup your inputs more specifically without directly going into the Project Settings -> Input Manager window. The user starts with a blank slate and adds actions to this input manager asset to match up with all the actions they will want in the game. From this tutorial they obtained the tools to use this new input system through a project on github, but now it is available as a standard package within Unity simply named Input System. It however mentions that the backend has been modified (I am using Unity version 2020.1.5f1 currently when testing this) so I am keeping an eye out for any problems it may cause. Tutorial Notes There are three major sections to this input system: Action Maps, Ac

Unity Create Your Own Keybindings Manager

October 5, 2020 Unity Input Systems Title: How to Create a Custom Keybinding Handler for your Unity Game - *Improved* By: Dapper Dino Youtube - Tutorial Description: Tutorial for creating your own basic input manager within Unity. Overview The idea behind creating an input manager is to have a flexible and easily accessible tool for both setting up your input system within a game as well as modifying it. This manager should help keep programming associated with the player input more organized and consistent, as well as providing pathways to allowing both the designer and eventually the players options to easily change the inputs to their liking. Tutorial Notes Setup Immediately they create an InputManager class that follows a singleton pattern, but also includes a DontDestroyOnLoad method. This is ok to start, but may be worth looking into editing that if using a more sophisticated multi-scene project setup later on. Within the InputManager, they cr