Posts

Showing posts from November, 2020

Aseprite Beginners Guide

November 30, 2020 Pixel Art Aseprite Tutorial Title: Aseprite Guide for Beginners (Pixelart Tutorial) By: MortMort Youtube - Tutorial Description: Intro to using Aesprite as well as some pixel art basics. Overview With Aesprite being on sale as well as finding that it was open source and possible to compile on its own, I wanted to look into finally using Aseprite to do some 2D pixel art. This tutorial looks like a reliable source for introducing you to a lot of the basics of using the software, which is all I should need to get going. Some extra tips on pixel art in general would be nice as well.

Architecture AI Pathing Project: Selecting Spawn and Target Positions from Objects in the Model

Image
November 23, 2020 Spawning and Pathing System Architecture AI Project Updated Spawning System to Use Objects within Model as List of Options We wanted to update the spawning system so that instead of being arbitrary points, both the spawn location and target location were tied to objects that could be found throughout the entire model. The system is already creating a list of all the objects within the model for applying colliders and various other components, so that could be accessed for this purpose as well. This list of objects was then put into a UI dropdown for selecting both the spawn position and the target position. The transform of the selected object was then used for that respective part of the pathing. Highlighting the Spawn and Target Locations I wanted to highlight both the spawn and target objects to make it more apparent where the agents would be aiming to path. The first implementation I went with for now changes the material of the object. The spawn obj

Architecture AI Pathing Project: Automating the Sizing of the Node Grid

Image
November 17, 2020 Automated Node Grid Size Architecture AI Project Title: Unity Bounds Documentation By: Unity Unity - Informational Description: Unity's documentation on their Bounds class and its methods. Automating Process of Sizing the Node Grid The A* pathing uses an underlying grid of nodes to inform the agents how to move through an area. A value must be input to tell the grid how large of an area to cover with these nodes. Originally these values, which are two dimensions of a rectangular area, had to be input manually. Since this grid will always be covering a full architectural model, it made sense to be able to access the model and automate the sizing process through the size of the model. Encapsulate Bounds of All Children Objects Since we are dealing with models in Unity, I looked to the Bounds class to help with automating this grid creation process. Immediately, Bounds can be used to find the bounding volume of a single mesh/renderer/c

Unity Component-Based Design: Breaking Up Code with Lost Relic Games

November 10, 2020 Component-Based Design Unity Title: Breaking up Code in Unity (Important game dev tips for beginners) By: Lost Relic Games Youtube - Informational Description: Introductory explanation of using component-based design in Unity and breaking your scripts down into smaller more manageable pieces. Overview As I work on larger and more complex projects, I want to explore ways to better organize and structure my code so this seemed like a good option to look into. Unity's components are the foundation for a majority of it's inner working, and as such component-based design is a popular way to handle meatier projects within Unity. It has a focus of breaking scripts down into very small and manageable pieces that focus more on a specific functionality, and then having those pieces interact with each other in a controlled and organized way. I have been working on breaking up my code into more unique pieces, but I am looking for more ways to h

Self-documenting Code with InfallibleCode

November 4, 2020 Self-documenting Code Programming Principles Title: How to Write CODE That Documents Itself By: Infallible Code Youtube - Informational Description: Quick rundown of how to make your code more self-documenting and reduce the need for comments. Overview Removing Old Commented Out "Zombie Code" They suggest continually removing old code that has been commented out to save for later possible use. They call this type of code zombie code, and say it is generally not worth saving and if anything can cause issues. It can be confusing extra amounts of information, or someone may be more likely to reactivate it when unnecessary in a group project setting. Some Cons of Extensive Comment Usage They suggest keeping comment usage to a minimum and having the actual code itself better describe what it does. This starts with the basics of effectively naming variables, but also leads into all around more readable code. One quick example they