Shot Supreme is available now!
Bronson Zgeb
by bronson
5M ago
Hi! I just released my first entirely solo-developed game, Shot Supreme! It’s the first game from my new studio, BrightWorm, and I’m super excited to share it! It’s available on Steam at a 10% launch discount until December 4th. Check it out here. If you’d like to follow along with my Game Development Updates, sign up for my specific Game Dev mailing list at the BrightWorm website. You’ll receive monthly updates about the games I’m working on and beta access to all my new games ..read more
Visit website
Custom Lighting in Shader Graph Part 2
Bronson Zgeb
by bronson
2y ago
In this article, we’ll continue to improve the workflow of the previous article, in which we created a process for converting Shader Graphs to a custom lighting function. The last article ended with a manual workflow, so we’ll fully automate the process in this post. Along the way, we’ll learn about Asset Postprocessors, Reflection and Scriptable Singletons. What’s the goal? We finished the previous article with a less-than-ideal workflow for converting Shader Graphs to our custom lighting function. After saving your changes, you’d select the Shader Graph, copy the code into a buffer, then pro ..read more
Visit website
Procedural Generation with Cellular Automata
Bronson Zgeb
by bronson
2y ago
In this post, we will explore the basics of cellular automata as a tool for procedural generation. Both cellular automata and procedural generation are topics with near-infinite depth, so we’ll only scratch the surface; however, it’ll provide a base on which to build your knowledge. What are Cellular Automata? A cellular automaton is a grid of cells where every cell is in some state belonging to a finite number of states. A single number often represents these states, so as a result, a cellular automaton is essentially a spreadsheet of numbers, which in itself is not particularly exciting. How ..read more
Visit website
The Command pattern with Scriptable Objects
Bronson Zgeb
by bronson
2y ago
In this article, we’ll implement another classic programming pattern in Unity. This time, it’s the command pattern. Why use the Command Pattern? At its core, the command pattern makes code more flexible. We use it to create functions that we can pass around our code as if they were variables. If you’re familiar with the concept of first-class functions from other programming languages, the command pattern is essentially an object-oriented way to mimic that behaviour. If you aren’t aware, first-class function support means that a given programming language can pass functions as arguments, retur ..read more
Visit website
Drawing with SDFs in Unity
Bronson Zgeb
by bronson
2y ago
This post will explore 2D SDFs in Unity. We’ll learn what SDFs are and see one way to draw them in Unity. What are SDFs? SDFs (or signed distance functions) are functions that describe primitive shapes. We use them to make shapes using pure math. Given a point, each function indicates whether that point lies within the shape, on its boundary or outside. It does so by returning a signed value, where the sign suggests if the point is inside the shape. In my experience, negative values are inside the shape, zero is the boundary, and positive values are outside. However, sometimes this conven ..read more
Visit website
Build a better collider importer with Asset Processors
Bronson Zgeb
by bronson
2y ago
This post will show how to automate your asset integration workflow in Unity using Asset Processors. We’ll build a tool based on the design of Unreal Engine’s static mesh importer that creates colliders automatically in Unity. What are Asset Processors? Asset Processors are Unity Editor scripts that run when assets get imported into your project. Asset processors automate your import pipeline and guarantee correct import settings for your project. Doing so simplifies your asset integration by removing any manual labour in the process. Let’s build an Asset Processor that automatically creates c ..read more
Visit website
The Scriptable Object Asset Registry Pattern
Bronson Zgeb
by bronson
2y ago
This article describes a pattern to serialize prefabs or any complex data. Doing so allows us to store data to disk or send it over a network to either a game server or another game client. This article pairs well with the previous article on saving and loading data, so I recommend you read that one first if you haven’t already. What problem are we solving? We need a stable way to store and retrieve game objects using a simple reference. Doing so allows us to save the state of our world using a minimal amount of data. How? We store the data in a standard prefab or scriptable object in the proj ..read more
Visit website
Low Power mode in Unity
Bronson Zgeb
by bronson
2y ago
In this article, I’ll show some ways to lower the power consumption of your Unity apps and games. But first, let’s talk about why we might consider doing this. Why bother? If you’re already on board, feel free to skip ahead. For the rest of you, let’s discuss the motivation for low-power apps. If you’re building a mobile app lowering your power consumption means saving battery life. Mobile games use a lot of battery, and if your game is too greedy with a user’s battery, they won’t want to play. Additionally, the more power your app consumes, the more the device will heat up. Mobile devices hav ..read more
Visit website
Save Data with BinaryWriter and BinaryReader
Bronson Zgeb
by bronson
2y ago
This article will explore saving and loading data to a binary format through BinaryWriter and BinaryReader. Additionally, I’ll provide tips for structuring your save data. Let’s get into it! What’s the plan? We’ll build a save data manager that’ll take a SaveData object and either write it to a file or read from an existing file. We’ll support Binary through BinaryWriter and BinaryReader and JSON through Unity’s built-in JsonUtility. The fundamental architecture doesn’t change from one format to the next, so you could always extend the manager to support other backends like MessagePack or Prot ..read more
Visit website
Custom Lighting in URP with Shader Graph
Bronson Zgeb
by bronson
2y ago
This article will demonstrate how to support custom lighting functions when using URP and Shader Graph. We’ll start by exploring how Shader Graph works. Then, we’ll build a tool to override the default behaviour with our custom behaviour. There’s a lot to cover, so let’s get started. Why would we want to do this? Shader Graph is a fantastic tool to enable artists to iterate on shaders. However, because it only supports PBR and Unlit workflows, it’s not very good at allowing non-photorealistic rendering. If you look around the internet, you’ll find hacky ways to do toon shading in Shader Graph ..read more
Visit website

Follow Bronson Zgeb on FeedSpot

Continue with Google
Continue with Apple
OR