All Posts

Migrating the Site to Astro

updates

Behind the scenes I've been rebuilding smallindie.dev on Astro instead of Jekyll. Why bother rewriting it Jekyll's done fine for years, but the Ruby/Docker setup had gotten annoying to maintain, and I wanted something with a faster dev loop and less ceremony for the stuff I actually touch often: writing…

Read more

Refactoring Video Code Snippets

programming

I recently cleaned up how video code snippets are stored and rendered on the site. Under the hood this change makes it easier to manage and organize video content. In doing this I also fixed some bugs/errata with the course video pages' content. Course Video Updates Some of the course…

Read more

Adding Old Notes to the Site

updates

Today on stream I started going through my old notes to convert them into blog posts that I can share out with all of you. You may see some posts dated all the way back to 2023 start to show up randomly on the site. It may be a bit…

Read more

Serialize property in unity #blog-this #unity

unityc#

How to serialize properties in C# classes in Unity

Read more

Creating Animations Without a Sprite

unityanimation

Creating an animation actually requires a sprite which is kind of weird, but you can always create the sprite, add an animator, then assign the controller to the one you're editing. I figured out the requirements for this from the Unity animation editor documentation: > - A GameObject must have…

Read more

OnPlayerJoined Not Called Even When PlayerInput is enabled

unityc#multiplayer

Trying to fix multiplayer cameras and joining I think the main issue why my joining isn't working is because currently I have to disable PlayerInput and OnPlayerJoined does not get called when PlayerInput components are disabled. OnPlayerJoined callback isn't being called even when my PlayerInput component is enabled, so it…

Read more

Fixing UI Button Listener Bugs in Unity

unityuic#

I noticed other people using AddListener to add onClick listeners for Unity UI buttons, so I tried doing the same. I also noticed that hiding/showing my multiple menu GameObjects was causing the listeners to stop functioning. What went wrong? What's the real difference between setting the listeners on the inspector…

Read more

Input System Actions and Action Maps

unityinput system

Here's a quick overview on Unity's Input System Actions and Action Maps. The names that show under Actions, are in fact, the names of the events that should be coded: OnNavigate, OnSubmit, OnCancel, etc. The Pass Through action type tells unity not to try and resolve conflicting inputs for the…

Read more

Local Multiplayer in Unity

unitymultiplayerresearch

Method 1 - Using PlayerInputManager <iframe title="Local Multiplayer with NEW Input System - Unity Tutorial" src="https://www.youtube.com/embed/g_s0y5yFxYg?feature=oembed" height="113" width="200" allowfullscreen="" allow="fullscreen" style="aspect-ratio: 1.76991 / 1; width: 100%; height: 100%;"></iframe> I found a nice YouTube video on implementing local coop. She talks about using a PlayerInputManager to handle multiple player inputs as…

Read more

Tooltip attribute in Unity

unityc#

Today I discovered the [[Tooltip("string")]](https://docs.unity3d.com/ScriptReference/TooltipAttribute.html) c# attribute for fields on MonoBehaviour classes. Here's a quick example: ``cs [Tooltip("Player prefab to create at the spawn point")] [SerializeField] GameObject player; `` Will produce: unity inspector with tooltip

Read more

Set Animation Framerate in Unity

unity

Set Animation Framerate in Unity I was having issues getting my animations to play at the right speed. After mucking around for about an hour or so I realized the problem I had was that I needed to set the sample rate of my animation, but the reason I couldn't…

Read more

More Pixel Art Research - Mega Man

pixel art

Pixel art is tricky! Let's analyze the graphics from some of the best titles from the past to discover new techniques. Mega Man X3 Interestingly a lot of the tiles here use long, flat, horizontal lines. There are some windows here which expose the parallax background effect and some search…

Read more

Phind - AI Powered Search

resources

Phind.com Today I discovered phind, an AI powered search engine for engineers, by watching Meags on the Team VASH programming stream. I haven't used it much yet but it looks like it could be an interesting resource to help with software development.

Read more

Setting up OBS on Mac OS

streaminglive stream

I started setting up OBS on Mac OS. I discovered that the macOS Screen Capture option actually has a number of useful settings that can help us limit visibility, so it doesn't have to cast the entire screen. 1. We can choose Display Capture to grab the whole screen 2.…

Read more

Replacing a Color in Aseprite Across Multiple Frames / Single or Multiple Layers

asepriteartpixel art

Color Replace All Frames/Layer 1. Select all frames for the layer you are on by either clicking and dragging over the frames you want to replace on or just clicking the name of the layer to select all frames on that layer Selecting all frames on a layer 2. Select…

Read more

Bundler has already activated X but your Gemfile Requires…

jekyllwebdockerruby

I ran into this error when trying to upload today's blog post: > You have already activated publicsuffix 3.1.1, but your Gemfile requires publicsuffix 5.0.3. Consider using bundle exec. To fix this I took the message's advice and switched to bundle exec instead of calling jekyll directly in my command:…

Read more

Sizing in Pixels - Learning from the Pros

pixel art

I decided to rethink and revisit character and tile map pixel sizing today. I took a look at this video for some insight. Octopath I also did some googling around to see what Square does on some of their titles. I couldn't find an exact size for Octopath but I…

Read more

Kanban For Everyone!

obsidian

Kanban For Everyone! Today I decided to try some kind of Kanban. Options I looked at briefly: 1. Trello 2. Monday.com 3. Obsidian Kanban Plugin Trello seems to offer the most for free which is great for collaboration, while staying very focused on kanban only. Monday seems to be the…

Read more

First playable demo released!

demoshaninja

The first playable demo has been released. Go to the download page to check out the details!

Read more