---
title: "Paul Mattione (@radiantsoftware) | Hashnode"
description: "Principal Engine Programmer @ Volition Games. Read the latest articles by Paul Mattione on Hashnode."
url: "https://hashnode.com/@radiantsoftware"
---

@radiantsoftware

# Paul Mattione

@radiantsoftware · Bethesda, MD · Joined November 2022

Principal Engine Programmer @ Volition Games

### [C++ Object Streaming - Part II](https://radiantsoftware.hashnode.dev/c-object-streaming-part-ii?utm_source=hashnode&utm_medium=feed)

In Part I we discussed our overall strategy for object streaming, which needs to be handled carefully to support deserializing objects in-place in memory. We introduced the streaming operator, how to stream simple types such as arithmetic types, and ...

10 min read · [radiantsoftware.hashnode.dev](https://radiantsoftware.hashnode.dev/c-object-streaming-part-ii?utm_source=hashnode&utm_medium=feed)

[Jan 16, 2024](https://hashnode.com/posts/c-object-streaming-part-ii/65a604bf937618cca071bca4)

### [C++ Object Streaming - Part I](https://radiantsoftware.hashnode.dev/c-object-streaming-part-i?utm_source=hashnode&utm_medium=feed)

Introduction You often need to serialize (save) C++ objects to files for storage, and deserialize (load) them later on a subsequent run of a program. In video games, these data can be resource assets such as textures and meshes, gameplay information ...

11 min read · [radiantsoftware.hashnode.dev](https://radiantsoftware.hashnode.dev/c-object-streaming-part-i?utm_source=hashnode&utm_medium=feed)

[Jan 16, 2024](https://hashnode.com/posts/c-object-streaming-part-i/65a60436937618cca071bca2)

### [C++ Lock-Free Queue - Part II](https://radiantsoftware.hashnode.dev/c-lock-free-queue-part-ii?utm_source=hashnode&utm_medium=feed)

In Part I of this blog series, we discussed how to write a lock-free queue for the case of a single producer thread and a single consumer thread (SPSC). This is handy when sending messages between dedicated threads, but we often want to have multiple...

16 min read · [radiantsoftware.hashnode.dev](https://radiantsoftware.hashnode.dev/c-lock-free-queue-part-ii?utm_source=hashnode&utm_medium=feed)

[1](https://hashnode.com/posts/c-lock-free-queue-part-ii/651a5e0e0b40966cba661f63) [Oct 2, 2023](https://hashnode.com/posts/c-lock-free-queue-part-ii/651a5e0e0b40966cba661f63)

### [C++ Lock-Free Queue - Part I](https://radiantsoftware.hashnode.dev/c-lock-free-queue-part-i?utm_source=hashnode&utm_medium=feed)

The queue is one of the fundamental data structures of multithreaded programming. It is often used for message-passing between systems and/or threads, commonly for event handling, task pools, or other types of work queues. In multithreaded environmen...

15 min read · [radiantsoftware.hashnode.dev](https://radiantsoftware.hashnode.dev/c-lock-free-queue-part-i?utm_source=hashnode&utm_medium=feed)

[Oct 2, 2023](https://hashnode.com/posts/c-lock-free-queue-part-i/651a5d9dff262cdd7943dd43)

### [C++ Lock-Free Object Pool](https://radiantsoftware.hashnode.dev/c-lock-free-object-pool?utm_source=hashnode&utm_medium=feed)

In C++, you often need a container where the objects will remain at a fixed location in memory so that you can easily refer to them individually. For example, our game could contain hundreds of thousands of Entity's and Component's, and our game syst...

14 min read · [radiantsoftware.hashnode.dev](https://radiantsoftware.hashnode.dev/c-lock-free-object-pool?utm_source=hashnode&utm_medium=feed)

[Jun 5, 2023](https://hashnode.com/posts/c-lock-free-object-pool/647d2eb4239ad949a108051c)
