Blog
-
Unreal Replication: Update Frequency, Relevancy and Priority
Replication is the process of synchronizing state between the server and clients to create the illusion that players are all participating in one consistent game world. In Unreal, replication occurs at the level of Actors, and there are three primary settings that control how an Actor replicates: Update Frequency, Relevancy and Priority.
Read more...
-
Why you should avoid Tick()/Update() functions
In the game engines I'm most familiar with (Unreal and Unity) and many others, there is the common notion of a Tick()
(or Update()
) function. It makes sense, all games have a game-loop which runs logic each frame to update the game world. So providing an easy way for all the Components/Actors (I'll call them entities) in your game world to run some logic of their own each frame is only natural. This seems just fine on the surface but in my experience it can sometimes make logic a lot more complicated than it needs to be, and can be a cause of performance problems. Let me explain...
Read more...
-
Island Mini Putt - Devlog #1 - The First Milestone
The inception of Island Mini Putt. A new video game experience that will revolutionize the game of golf as we know it... or maybe it's just a fun little mini golf game that takes place on an island :D
Read more...
-
C# Delegates and Memory Allocations: Summary
Knowing how memory is managed under the hood is really important for writing high performance C# code. In this blog post I summarize how creating delegates from different types of functions can affect memory allocations.
Read more...
-
C# Delegates and Memory Allocations: Local Functions
In this blog post I look into memory allocations associated with creating delegates from local functions.
Read more...
-
C# Delegates and Memory Allocations: Lambdas
In this blog post I look into memory allocations associated with creating delegates from lambdas.
Read more...
-
C# Delegates and Memory Allocations: Static Methods
In this blog post I look into memory allocations associated with creating delegates from static methods.
Read more...
-
C# Delegates and Memory Allocations: Class Methods
In this blog post I look into memory allocations associated with creating delegates from class methods.
Read more...
-
C# Delegates and Memory Allocations: Introduction
Knowing how memory is managed under the hood is really important for writing high performance C# code. In this blog post series I dive into how memory is used in relation to delegates and how creating delegates from different types of functions can affect memory allocations.
Read more...
-
Making Breakout with Data-Oriented Design (Part 3)
The final part in my series about re-creating the game breakout in C++ using data oriented design. In this episode, I talk about the final results of the project.
Read more...
-
Making Breakout with Data-Oriented Design (Part 2)
Part 2 in a series about re-creating the game breakout in C++ using data oriented design. In this episode, I talk about how I set up the project to build for multiple platforms.
Read more...
-
Making Breakout with Data-Oriented Design (Part 1)
Part 1 in a series about re-creating the game breakout in C++ using data oriented design. In this episode, I talk about the reason for starting the project and the rules for implementing it.
Read more...
-
Understanding Unity's Input Action Asset (Input System Package)
Unity now has a much better system for handling player input with the introduction of the Input System package. This package includes much improved management of input controls and bindings, and that's done through an Input Actions Asset. This post goes over how to create one and how they work.
Read more...
Unreal Replication: Update Frequency, Relevancy and Priority
Replication is the process of synchronizing state between the server and clients to create the illusion that players are all participating in one consistent game world. In Unreal, replication occurs at the level of Actors, and there are three primary settings that control how an Actor replicates: Update Frequency, Relevancy and Priority.
Read more...Why you should avoid Tick()/Update() functions
In the game engines I'm most familiar with (Unreal and Unity) and many others, there is the common notion of a Tick()
(or Update()
) function. It makes sense, all games have a game-loop which runs logic each frame to update the game world. So providing an easy way for all the Components/Actors (I'll call them entities) in your game world to run some logic of their own each frame is only natural. This seems just fine on the surface but in my experience it can sometimes make logic a lot more complicated than it needs to be, and can be a cause of performance problems. Let me explain...
Island Mini Putt - Devlog #1 - The First Milestone
The inception of Island Mini Putt. A new video game experience that will revolutionize the game of golf as we know it... or maybe it's just a fun little mini golf game that takes place on an island :D
Read more...C# Delegates and Memory Allocations: Summary
Knowing how memory is managed under the hood is really important for writing high performance C# code. In this blog post I summarize how creating delegates from different types of functions can affect memory allocations.
Read more...C# Delegates and Memory Allocations: Local Functions
In this blog post I look into memory allocations associated with creating delegates from local functions.
Read more...C# Delegates and Memory Allocations: Lambdas
In this blog post I look into memory allocations associated with creating delegates from lambdas.
Read more...C# Delegates and Memory Allocations: Static Methods
In this blog post I look into memory allocations associated with creating delegates from static methods.
Read more...C# Delegates and Memory Allocations: Class Methods
In this blog post I look into memory allocations associated with creating delegates from class methods.
Read more...C# Delegates and Memory Allocations: Introduction
Knowing how memory is managed under the hood is really important for writing high performance C# code. In this blog post series I dive into how memory is used in relation to delegates and how creating delegates from different types of functions can affect memory allocations.
Read more...Making Breakout with Data-Oriented Design (Part 3)
The final part in my series about re-creating the game breakout in C++ using data oriented design. In this episode, I talk about the final results of the project.
Read more...Making Breakout with Data-Oriented Design (Part 2)
Part 2 in a series about re-creating the game breakout in C++ using data oriented design. In this episode, I talk about how I set up the project to build for multiple platforms.
Read more...Making Breakout with Data-Oriented Design (Part 1)
Part 1 in a series about re-creating the game breakout in C++ using data oriented design. In this episode, I talk about the reason for starting the project and the rules for implementing it.
Read more...Understanding Unity's Input Action Asset (Input System Package)
Unity now has a much better system for handling player input with the introduction of the Input System package. This package includes much improved management of input controls and bindings, and that's done through an Input Actions Asset. This post goes over how to create one and how they work.
Read more...