← Home About Archive Photos Replies Also on Micro.blog
  • It’s 51 degrees and raining cats and dogs.

    → 8:38 AM, Sep 27
  • The Playdate

    The Playdate I ordered 10 months ago has arrived. I forgot I ordered it so it was a nice surprise. It gave me an idea for a new delivery service, you order and they’ll deliver to you sometime within the next 2 years. It’ll be like a surprise gift for your future self!

    I’m looking forward to Mars After Midnight by Lucas Pope. It’s the reason I heard about the Playdate and ordered one. He made some hit indie games, such as Return of the Obra Dinn, and one of my favorite games, Papers, Please.

    playing the playdate

    → 4:40 PM, Sep 17
  • View from the outdoor office.

    → 6:31 PM, Sep 14
  • Got the outdoor office setup.

    → 6:28 PM, Sep 14
  • Unity What?

    Unity just announced that they’re adding a fee per install starting next year, with the highest fee being 20 cents per install. There’s a lot of confusion among the game dev community with all the different edge cases this might impact and how it will affect low price mobile games.

    The main argument I’ve seen is to not worry, it will only affect you after you reach 200,000 installs and $200,000 revenue which you’re unlikely to achieve. I don’t find it reassuring to use an engine where you’ll be fine, as long as you’re not successful.

    I’ve been on the fence about using Unreal for personal projects due to all my experience using Unity at various studios, but now I’ve decided to go all in and learn Unreal. Overall I think this will be the right choice, regardless of whatever weird stuff Unity does. I’ve been noticing on a lot of game dev job posting that they’re looking for Unreal experience, so in the long run I think it’ll be beneficial to have Unreal experience. Time to dust off my C++ brain cells.

    → 11:28 AM, Sep 12
  • Wife’s parents visited and stayed with us for 3 months over the summer and just left yesterday. It’s bittersweet. They’re helpful to have around and the kiddo gets to spend time with them, but I’m also looking forward to my solitude during the weekdays while my wife is at work and our kid is in daycare.

    → 10:30 AM, Sep 11
  • Asshole Managers

    Was still feeling frustrated by my manager acting belligerent in a meeting a few weeks ago. I was just thinking about it as I lie in bed instead of sleeping. Then I remembered that we’ll all be forgotten some day. Some people get freaked out by that, which I understand, but it gives me comfort. Every now and again, a thought about a past time where I did something embarrassing or said something stupid bubbles up from my subconscious, I remind myself that I’m the last person in the universe that still has that memory and feel no residual negative feelings. It takes all the emotion away from it, leaving just a thought that floats by.

    Sometimes people are assholes at work. They get anxious and stressed out, but they don’t realize that it’s all make believe. We’re all pretending that what we’re doing matters and is of significant importance. When in reality, whether the project is released or not, whether the company succeeds or fails, it will have no lasting effect on the world. Either way, everything will keep going as it was. Everything that we’re working on that we think is so important will be forgotten in a 100 years, if that.

    It’s a coping strategy against the fear of death, because if what we’re doing is important then we can cheat death by leaving something behind that will outlast our frail, mortal bodies. Because if what we did is forgotten, when all we are is an old photograph that our children’s children’s children keep at the bottom of a keepsake box, when the picture eventually fades and we too are forgotten, then what was the point of it all?

    → 12:11 AM, Sep 11
  • 🎵Tool - Lateralus Rehearsal
    I’m always mesmerized by the control and precision professional musicians have.

    → 10:15 AM, Jul 21
  • Wife has been gone for the week. As I ate a peanut butter and jelly sandwich at 12:47am, I wondered how pickles would taste on it but was too chicken to try it. I’m reverting to my feral state. I think I’ll go have another bowl of cereal.

    → 1:11 AM, Jul 21
  • Poem by Xin Qiji translated by Eileen Cheng-yin Chow

    → 1:05 AM, Jul 21
  • I’m reading House of Leaves by Mark Z. Danielewski tonight and came across two passages about echos that I liked:

    “Ironically, hollowness only increases the eerie quality of otherness inherent in any echo. Delay and fragmented repetition creates a sense of another inhabiting a necessarily deserted place. Strange then how something so uncanny and outside of the self, even ghostly as some have suggested, can at the same time also contain a resilient comfort: the assurance that even if it is imaginary and at best the product of a wall, there is still something else out there, something to stake out in the face of nothingness.”

    and

    “Myth makes Echo the subject of longing and desire. Physics makes Echo the subject of distance and design. Where emotion and reason are concerned both claims are accurate.
    And where there is no Echo there is no description of space or love.
    There is only silence.”

    → 11:10 PM, Jun 24
  • Bad Thoughts - Dev Log #3 - Bugzzzzzzzzz

    Nothing interesting to show. Been slogging through bugs as I integrate features from the pre-setup isolated test scene into the actual scene with Bad Thoughts spawning.

    • One bug that was tricky to figure out was caused by things being called in the wrong order. It seemed like it should be working and the variables would be assigned correctly since the functions that assigned them would get called, just not in the order I thought it was.
    • I’d scream and the Bad Thoughts would go into their Running Away state, but they wouldn’t run away!
    • Fixed that one and now they ran away, but they’re running in the wrong directions!

    I think I figured out all the bugs so far and can now continue with implementing object pooling for the Bad Thoughts and VFX. Object pooling is when you pre-load all the objects you might want to use when the level loads. That way there aren’t any hitches by loading/unloading during runtime. Then it’s onto implementing the Died state when they run into traps.

    → 1:05 PM, Jun 4
  • I saved this poem from somewhere and promptly bought the book it came from: The Human Line by Ellen Bass.

    → 12:41 PM, Jun 4
  • I posted a video via the website, but it became blurry. Any ideas why? @help

    Here’s an example: https://greghendrix.micro.blog/uploads/2023/14c61beede.mp4

    → 11:28 PM, Jun 3
  • Why does the formatting look correct when I view my post through the Posts page, but not when I click on the post directly? @help

    → 11:25 PM, Jun 3
  • Deep Work Notes

    Whew! Finally got around to processing my notes from reading Deep Work by Cal Newport. I transferred them from my notebook to Notion and used Notion’s AI tool to fix spelling and grammar. It was the first time I tried using their AI tools and it was helpful in allowing me to type quickly without worrying about typos. It also did a good job in fixing grammar mistakes.

    Here are some stand out parts that I liked, but first let’s define deep vs shallow work.

    • Deep Work = professional activities performed in a state of distraction free concentration that push your cognitive capabilities to their limit.

    • Shallow Work = non-cognitively demanding logistical style tasks, often performed while distracted.


    • Shallow work is unavoidable, but we can mitigate the negative effects of context switching by approaching our day with intention and use time blocks for different tasks.

    • Build days around core times chosen for deep work. Batch process shallow work.

    • When starting a task, attention residue from the previous task still resides in your brain. That’s why it takes some time to warm up. The longer you can stay focused on one task, the better you can negate the negative effects of attention residue.

    • Being visibly busy, like answering emails, responding to messages quickly, chiming in on a random discussion, makes you seem productive. Without clear metrics on how productive people are, they rely on being visibly busy to prove their worth in a tangible way.


    Who you are, what you think, feel, and do, what you love - is the sum of what you focus on. - Winifred Gallagher

    • Our brains construct our worldview based on what we pay attention to.

    • When you lose focus, your mind tends to fix on what could be wrong with your life instead of what’s right.


    • Willpower is a finite resource. It’s not enough to rely on willpower or good intentions. You must add rituals and routines into your daily life to minimize the amount of willpower required to stay focused.

    • The more you try to do, the less you actually accomplish. Keep your goals and projects small. Focus only on the most important.

    • Don’t just plan your work and projects, but also plan how you’ll spend your leisure time. Unstructured time runs the risk of wasting it on trivial things, like YouTube or other infotainment websites.

    • Schedule your day in time blocks. People worry that strictly scheduling their time will hinder creative pursuits. The schedule isn’t rigid. If you stumble upon a great insight, then keep on going, and when you lose steam, reschedule the rest of the day. The schedule is meant to introduce thoughtfulness to your day, not rigidity.

    • Focus on activities that give the biggest value in pursuit of your goals. People mistakenly believe that low value activities that provide some value are harmless. Whether it’s a high or low value activity, both use finite resources of your time and energy. It’s a zero-sum game. Be intentional with the activities you do.


    Zeigarnik effect: The ability of incomplete tasks to fill our thoughts.

    • Create a shutdown ritual for the end of every work day to help clear your mind of thinking about work. It’s helped me by just doing a simple bullet point list of which tasks I should start doing the next work day and make notes of any in-progress tasks. As long as you make a plan on how you’ll finish incomplete tasks, your mind will be able to let it go.
    → 10:55 PM, Jun 3
  • Bad Thoughts - Dev Log #2 - State Machines and Visual Debugging

    Implemented a finite state machine to handle the AI behaviors. Even though there won’t be too many states, having a bunch of if/else statements will get unwieldy pretty quick. I’m happy with how it turned out. Now all that’s needed to add a new state is to create a class for the state that inherits from BaseState and add one extra line to BadThoughtStateMachine.

    I almost added state changes within the states themselves, for example, when RunningAway is finished it could auto change back to the Following state. Instead, I opted to keep all state changes in the BadThought script, which is also where all the Bad Thoughts' settings are located. That way if I need to find out why it’s not reaching a certain state, I don’t have to dig through various state scripts and only need to look in one place.


    So far I’ve been diligent with adding visual debugging to everything I’m implementing. It adds a bit of time, but I’ve worked on projects in the past that didn’t do this and it can make things more complicated than they need to be further down the road.

    I’ve been using ALINE from the Unity Asset Store to create the visual debugging shapes. It’s much easier to use rather than Unity’s built-in Debug.Draw and Gizmo drawing functionality. Here’s an example of the arrow beneath the cube and the text to show which state it’s in:

    → 11:19 AM, May 26
  • Bad Thoughts - Dev Log #1

    First time trying to upload a video to micro.blog. It’s a WIP prototype of my game where your bad thoughts follow you around and you can only scream to scare them away.

    It became blurry as hell after uploading, so I’ll explain what’s going on. The white blob is the player and the red blob represents a bad thought. So far I got the basics of run away/come back working. The red blob that appears over the white blob is the scream text I’m using to replace the scream audio cause I’m tired of hearing the scream audio as I test it.

    → 8:53 PM, May 23
  • RSS
  • JSON Feed
  • Micro.blog