Jesse Lawson

Bestselling author and open-source evangelist.

Apr 23, 2019 - Tutorials Lecture Notes

Dynamic Strings in C and a Crash Course in Pointers (Lecture Notes)

Since C has no string type, we use arrays of characters to represent something like a full name, a bio, or even dynamically sized lines of text–like a JSON string. Imagine a system where we needed to dynamically create strings whose lengths we do not know at compile time. How might we go about doing that?

The answer lies in pointers, pointer-pointers, and memory allocation.

This is a crash course in pointers, memory managment, and dynamic strings in C.

Apr 3, 2019 - Research Python

Introducing CARES: The Cellular Agent Research Experiment System

We need the tonic of wildness… At the same time that we are earnest to explore and learn all things, we require that all things be mysterious and unexplorable, that land and sea be indefinitely wild, unsurveyed and unfathomed by us because unfathomable. We can never have enough of nature.” ― Henry David Thoreau, Walden: Or, Life in the Woods For about four years now, I have been architecting some philosophical foundations for what I believe is a promising new way of thinking about emergent intelligence.

Oct 8, 2018 - Waystation Echo Unreal Engine

Waystation Echo DevLog 6: Animations and Items

When you first start out it seems like a lot of what you are doing is never going to pay off. Countless times I have sat in exhaustion wondering when I will see some progress on what I am doing; everything goes by so slowly when you are a solo indie developer, that when times of great progress do come, you have to remind yourself to stop and celebrate your accomplishments.

Sep 30, 2018 - Unreal Engine

How to get PNG transparency in your material

If you try to drop a texture containing transparency onto an object, the material that is automatically generated is going to be incorrect. The same thing will happen if you try to create the material from the texture yourself. The reason is because you have to customize the material to understand that it is supposed to account for transparency. Just trying to drop it in automatically will result in some nonsense like this:

Sep 30, 2018 - Unreal Engine

Passing an enum as a function parameter

I’m using Unreal Engine 4.20.2. Here’s how I am successfully passing an enum to a function for use in a TArray. In my Item.h file: UENUM(BlueprintType) //"BlueprintType" is essential to include namespace EInventoryItem { enum Item { Nothing UMETA(DisplayName = "Nothing"), Battery UMETA(DisplayName = "Battery"), Thing UMETA(DisplayName = "Thing"), AnotherThing UMETA(DisplayName = "Another Thing"), RedBadge UMETA(DisplayName = "Red Badge"), BlueBadge UMETA(DisplayName = "Blue Badge") }; } In my Character.

Sep 29, 2018 - Waystation Echo Unreal Engine

Waystation Echo DevLog 5: Some bad video and animation updates

I tried using Open Broadcast Server to record a demo of how I am handling arm animations, and to show off a little bit of the look and feel (in alpha stage, of course) of Waystation Echo. Some things to note in this devlog update: I am constantly learning new things in Blender. Since teaching myself how to use it about a month ago, I have been going full-speed at modeling, texturing, and animating.

Sep 29, 2018 - Unreal Engine

How to Import a Custom FBX Mesh and Skeleton from Blender into Unreal Engine

For Waystation Echo, I am using a custom armature based off of the UE4 mannequin. Since I want to practice making FPS arm animations, I decided to abandon any delivered stuff designed for the mannequin and make my own armature. Since this is a unique skeleton, I wanted to go over how I exported it from Blender and then successfully imported it into Unreal. In Blender I’m assuming you already have a mesh that you added bones to.

Sep 23, 2018 - Waystation Echo Unreal Engine

Waystation Echo Devlog 4: Big Decisions, Being a Solo Dev, learning Blender, and Biting Off More than I Can Chew

Buckle up! This one’s a big one. No more third-person TL;DR: Trying to do my own animations for a third-person game is ridiculous and one of the dumbest things I have ever done in game development. An old Gamasutra article caught my eye this morning. In it, the author discusses the differences in player immersion between first and third-person games. While primarily focusing on shooters, I think the article speaks to a psychological phenomenon that all players experience regardless of the POV: a sense of empathy for the player.

Sep 3, 2018 - Waystation Echo Unreal Engine

Waystation Echo Devlog 3: No really, Unreal

Waystation Echo was always going to be prototyped in Unity, but when it comes to actually building the game, I wanted to use Unreal. Now that the prototype is finished, I’ve grabbed a new copy of Unreal Engine and have been working this weekend on getting what I had in Unity up and running in Unreal Engine. The goals for the prototype were: Can I invoke a mysterious, dark, horror-esque feel to a remote space outpost on an asteroid?

Aug 27, 2018 - Waystation Echo Unreal Engine

Waystation Echo Devlog 2: Environment cleanup

It’s been a long while since I’ve posted anything about Waystation Echo, the third-person survival puzzle game I have been designing for about two years now. I started integrating ootii’s Interactable Core with my custom door and charge handling scripts to see if I could save some time designing these puzzle doors. Ootii is incredibly talented and made basically the same thing that I did, except out of the box my materials looked a little weird.

Aug 24, 2018 - Blog

Unity vs Unreal Fees - When does it matter?

Game developers interested in Unity and Unreal will often ask about pricing. Both engines have paid tiers, with very specific caveats–and considerations for those of us interested in comparing the two from a price perspective. Unreal Engine requires you to pay 5% of your gross revenue beyond $3,000 per quarter. That means you can make up to $3,000 in any four-month period without paying royalties, but if you exceed $3,000 before that 4-month period is over, you will pay 5% royalties on the amount above $3,000.

Aug 5, 2018 - Astromos Godot

Astromos DevLog 1: Look and feel and the general idea

So my daughter has been drawing a lot of aliens recently, and at night she likes to lay in her bed and draw while I work on my own art. This month (August), I promised myself I would focus my creative energies onto ONE project–which, if you know me, is a massive challenge–and that focus is going to be on Astromos. (I need something to distract from the fact that I have 30 more days until the Austin Film Festival results are announced!

Jul 21, 2018 - JavaScript

Easy JavaScript testing for CodePen

Looking to do test-driven development in CodePen? Consider TaoJS! Tao is a very tiny testing tool that’s perfect for places like CodePen. Using it is as easy as 1-2-3! Add the CDN to your external scripts Put <div id="tao"></div> at the bottom of your HTML Write your tests in your JS editor! Add the CDN to your scripts Click on the gear icon next to the JS editor and add the following CDN link to your external scripts:

Jun 24, 2013 - Tutorials WordPress

Custom Category Style in WordPress

When I worked for an online newspaper, we put a customized header image at the top of every category page sort of like how NYTimes does it for their blog pages. These days, it’s a lot more attractive to use custom CSS styles for each category. In this tutorial, we’ll create a custom category style in WordPress so you can add your own CSS to pages belonging to a specific category.

Jun 24, 2013 - Tutorials WordPress

dropzone.js WordPress Integration Tutorial

Over on the Hacks forum at, user Manwoll was looking for a way to add drag-and-drop functionality to a contact form in WordPress. Not a fan of commercial contact form products myself, I sought out a method of doing this that would most accomodate a theme developer who is working on a custom solution for a client. The solution involves using dropzone.js and some basic PHP, and the end-state is a fully-functioning drag-and-drop box on a WordPress page that uploads files straight to your WP uploads directory.