Jesse Lawson

Software engineering, artificial intelligence, writing, and open-source tools

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.

Jan 26, 2019 - Blog

Dealing with Distractions as a Writer

I have had a problem since I started writing seriously in high school, and that problem is called **computers**. I’m part of a dying generation of people who had to build their computers from the ground up, learning how to operate one of these machines back when DOS was the only option for filesystem activities. Come to think of it, the only thing you really could do was create, update, and delete files.

Jan 25, 2019 - Reviews

EReader News Today One-Day Campaign Results

On January 15th I put out a one-day campaign for a discounted book deal through EReader News Today. The results? Good enough to want to do it again. Today is the tenth day after the January 15th promotion of Evolved. The purpose of this promotion was to test out strategies for broadcasting the series to new audiences while working on the second book in the series. I am working on a strong marketing campaign for when book #2 is finished, and one avenue I wanted to explore was EReader News Today.

Dec 6, 2018 - Blog

A "Coping with Creativity" Podcast Update

I am still working on the next episode of Coping with Creativity, a podcast project of mine that was part of a self-therapy regimen I prescribed to myself, but not in the way that everyone expected. I really like audio work. Music is very natural to me, and self-expression through the auditory senses is a pursuit I will never be able to rid myself of. That being said, diving into a podcast when I did was tough because, like all of my big projects, it was born out of a response to a nearly-crippling existential crisis.

Nov 12, 2018 - Blog

The Fortunate from the #CampFire

Many people have been spared from the #CampFire that has scorched Paradise in Northern California. But far more have lost everything. Northern California has had quite a punch in the face with this Camp Fire burning seemingly unabated through Paradise. I live in the sister town of Chico, and was evacuated the other day about an hour after getting the kids to bed. After a painfully long car ride with three sobbing kids trying to understand why police cars had filled our neighborhood with blue and red lights and officers were knocking on all the doors to ensure everyone was packing up to pack out, we arrived in a pet-friendly hotel in Sacramento at about 1:30am.

Oct 8, 2018 - Waystation Echo

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

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 27, 2018 - Blog

I'm a Quarter Finalist at the 2018 Austin Film Festival!

My audio drama Blank Page made it to the quarter finals at the 2018 Austin Film Festival! So what does this mean for the show? Well, not a whole lot–right now. I’d like to spend some time getting it cleaned up and ready for another round of submissions next year. I did find my old notes about producing it myself, so that’s always an option, too. I am hoping to keep my focus on Waystation Echo for the time being, and keep this as a project for the future–with hopes that one of these submissions will result in a successful option to produce.

Sep 23, 2018 - Waystation Echo

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

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

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

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 - Blog

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 12, 2018 - Blog

Respecting my Readers and Killing Opportunity

I don’t like mailing lists. I don’t want to send blasts of information to people who follow me, because if they wanted to know what I was doing they could just check on my blog. This, as you may know, is not very good business practice. This, as you are fully aware, is going to kill my ability to advertise my books and my work, since if I’m not blasting people in the face with new books and things I’ll never be a signal inside the massive cloud of noise that is today’s digital publishing universe.

Jun 3, 2018 - Blog

Evolved is set for a Fall release!

Great news! Evolved is now in the pipe for a Fall release. It’s been a whirlwind of emotions trying to sink my teeth into the story and kick the reader in the gut as many times as possible, but after listening to some feedback from a trusted source, it looks like the story does a fine job of doing just that.

May 7, 2018 - Blog

Back to Long-Form Fiction

This weekend is wrapping up on a very good note: I finished my Austin Film Festival submission of BLANK PAGE, churning out the series synopsis in a whole day of writing and getting both it and the pack of three episodes at exactly 75 pages. In a way it’s like a whole chapter of my life is finished, but instead of moving to a new chapter, I’m dusting off the old books (quite literally, actually) and hitting both EVOLVED and CAIN hard.

Apr 30, 2018 - Blog

Don't use Facebook Ads to sell your book

Are you thinking of using Facebook Ads to sell your book? Don’t, unless your goal is exposure and not sales. I have a bestselling book on Amazon that I was thinking about running Facebook Ads for. With a campaign targeted toward a broad audience, I opted to calculate the maximum possible likelihood of conversion based on past ad performance, other articles around the internet of people talking about how Facebook Ads worked for them, and Facebook’s best guess as to the minimum and maximum clicks the campaign would receive.

Apr 10, 2018 - Blog

Podcasting, the Austin Film Festival, and Patreon Rewards

A while ago I was talking on Twitter about starting up a podcast for creators about the psychology of needing to create–and how to cope with all the things that come with being a creator, like self-doubt, motivation, actually succeeding, and everything between. That podcast is called Coping with Creativity, and it has gone live with two episodes as of right now. As I work through the kinks of getting the EQ settings perfect for my weird voice (which I think I’ve done in Episode 2; it’s much easier to listen to), I have been extending collaboration opportunities to people for conversation-format episodes about topics that I think could benefit from having more than one voice in the room.

Apr 3, 2018 - Blog

Pursuits and my digital brand and where I go from here (and how to support me)

TL;DR I am rebranding all my artistic pursuits as myself (so no more pseudonyms or entity names) and working on audio dramas. My Branding Problem I have always had a problem with “image.” If you have been visiting this site for the past eight or so years since I’ve had it, you’ll notice that every six months or so there is a radical change–in image, purpose, and content. Sometimes that even brought with it a heavy change in me; sometimes I would focus a lot of software or game development, other times on open-source tools, and even more times on my artistic pursuits.

Feb 27, 2018 - Blog

Fluid Typography Examples for Beautiful Mobile Reading Experiences

One of my projects I’m working on, in addition to crowdfunded storytelling, is a platform to connect other crowd-funded storytellers with readers. One of the principal components of this platform is the ability to read stories on your mobile device in a way that is aesthetically pleasing to the eye. In this article, I’m sharing with you some examples of fluid and responsive web typography that I’ve come across, along with my thoughts on how I will or will not integrate it into my platform.

Feb 19, 2018 - Blog

Writers who are software developers

Whenever I talk to a writer who is also a software developer, there will undoubtedly be a point in our conversation where we are both talking about the hours and hours we’ve spent on writing tools for writers instead of actually writing. It’s almost like an inevitable tar that sticks to us and well never let go. It’s probably not that big of a deal, but I do know it affects how much fiction I focus on in a given week.