They were someones kid too

Suggestions for Parents

Last night an acquaintance told me how he was driving home from work. Another day, much like any other. This one, someone jumped in front of his car. He missed them thank Goodness, but only to look in the rear view mirror and see to his horror that person jump in front of another car and get hit. Later that night he cared enough to call the police a second time to find out how the person was.

They died on impact. Drugs were likely involved.

So many souls lost to this world. So many lives wrecked by other peoples focus only on themselves. Life is hard – we all know it. It is no secret why kids turn to drugs. We understand it, we have studied it. It comes down to life’s pressures and not enough support from the people around them.

So why do so many parents make it harder on their kids?

Ive got three kids myself. One wants to be a nurse at least, maybe a doctor, so they can help people. Another has an engineer, analytical, mindset.

And one wants to work at Chili’s restaurant.

Every one of them I am proud of, and I tell them that. They are not super human somehow, though one of them might be. But they are all in this world together, a world that often doesn’t care, but sometimes does.

A seemingly modern problem is how all these kids want to identify themselves as a different gender than they were born with. Girls want muscle car toys, boys want to play with dolls. Everyone wants to act like a cat or dog, since they see them in all the kids books, teaching us lessons on life.

Who does this hurt? The relationship between parent and child. That is it. And completely unnecessary. Parents tell their kids that’s just not what a girl does. Yes it is. If you want to whine about equality in pay, you first better check the fact that you are limiting them from the day they are born. Not the world, but you, parent.

Even with drugs we get the message wrong. Say no to drugs, but then tell them to take aspirin when they feel sick.

A clearer message is be careful what you put in your body. Some drugs help, but only if you take the right amount. Some drugs can get you addicted with a single try. Some drugs, like alcohol, can be moderated. And yet some of those drugs that are perfectly fine for one person (alcohol again) will addict and destroy the next person.

Parents have high hopes for their kids. Its understandable, we hope they will be better than us. But survival expects a lot to begin with. Warn them, prepare them. Do not make the bar higher than it has to be.

Unreal: Mac support (part 1 of ?)

It’s super annoying that searching the internet doesn’t work for Unreal. So here’s something I just learned that might help the next person.

I’m trying to work out why Lightmass refuses to run on my Big Sur Mac. Not even the “direct from Epic Installer” version would work. I was working with 4.26, but the underlying code is unchanged through at least 4.27, and probably 5 as well. The documentation says Macs don’t support Swarm. Okay. So I think nothing of it when the Lightmass stuff times out after 60 seconds trying to do a network call that returns with

checkf(bConnectionEstablished, TEXT("Tried to open a connection to Swarm, but failed"));

But then almost immediately, the Lightmass process dies with

Assertion failed: CurrentThread == GetCurrentThread() [File:/home/user0/gre/sa/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp]

What’s going on here?

Digging into that block of code… The Recipient isn’t valid, so in the worker thread it’s calling to Ping the MessageEndpoint. Okay. But then it starts waiting for something with FTaskGraphInterface::Get().ProcessThreadUntilIdle(ENamedThreads::GameThread);. What took me a while to understand is that was stating that the calling thread was named ‘GameThread’. Except it wasn’t, it was a worker thread.

How did this ever work?

What’s supposed to happen

  • The Editor needs to be running.
  • That bConnectionEstablished? Has nothing to do with Swarm.
  • It’s a connection to the Editor. For passing back status updates.
  • And is a lie, because to return that “established connection” only checks that the socket can be opened.
  • Which normally does a connect in the actual main thread.
  • And gets a response on the main thread.
  • And sets the Recipient valid in the HandlePongMessage callback. How very clear.

What’s actually happens

But the thing is – and this is what took me many days to figure out – is that just because you can open the socket doesn’t mean you’ll get a response.
For example, if you have your firewall turned on, like it should be.
No version of the Editor and Lightmass is signed for Big Sur, so the Firewall automatically blocks all the traffic.

Even if you ‘enable network connections’ for them both, you have to restart both apps for it to ‘take’, and if you rebuild of the Editor it invalidates the ‘pass’. Which, if you’re developing via a from-source build of Unreal, you’ll be doing all the time.

In the end… you have to disable your Firewall. Otherwise you get an error that makes no rational sense in code that’s written to suggest something else is wrong.

Why Freelance?

Why do I do freelance game development?

First is to consider the alternatives:

  • Make my own game
  • Work for someone else
  • Work for an application development company

My goals center around providing a stable environment for my family. Everything else is in support of this goal.

Making games requires time, money, a very supportive family, and a team. For as long as Ive been a game dev, Ive only had one of those: a good family. It took many years to finally find a great team. Even though I now work with my fellow consultants in this group, we are all in a similar position that we dont have money to invest.

Work for another game company? Maybe a decade ago or longer Id heard that for every game thats been successful, there were nine that never turned a profit. In the current explosion of indie developers relying on the professional tools that are cheaply or freely available, Im guessing that has risen to at least a hundred to one successful project, if not a thousand.

So why not work on normal applications? Its steady work, even pays more, and its available country-wide. Over the years Ive done normal applications. My early career I intentionally searched for application work despite already having done some game dev. I wanted to have a wide range of experience. What it taught me is that I have a special gift that applies more to games. Im at best a mediocre app developer.

But Im a really good game dev.

Clearly there are games being made. Some successful ones. Being a consultant means I get to swoop in and help people with my specialized experience and help them reach their goals in a fraction of the time and expense than for their group to try working it out for themselves.

Its not like we just leave in the middle of a project. We support the projects and hand off the work in ways so the clients can maintain what weve done long after we have moved on. And we dont simply drop off the face of the planet. We answer questions for old clients when they come up. Most of our new work comes from references given by people we have helped in the past.

So yea. This is where I need to be. Helping as many people the best ways I know how.

The beginning of Wisdom

Congratulations! You’ve just realized that God has a power over both your life and the world at large. You’ve seen glimmers of hope that can only be explained by a God who cares about you and has power in the world. It feels like a tenuous grasp, difficult to notice on a daily basis, but it is there. What do you do with this knowledge?

You learn more.

God is all around you, and his touches are all around as well. But our lives have hidden Him in so many ways. Pain, suffering are everywhere. Love of any kind is scarce, evil rules the land. That is, until you look at the world from God’s eyes. Then you see people who care, beauty in simple things, and the realization that largely it is up to us to make things better.

The Bible is what God gave us to understand Him better. Instructions for life, a history of where we come from, a guidebook for where we should go. But it also understandibly daunting. It can be scary to approach it alone. It is much more approachable with a friend. I don’t claim to know all, but I do have experience. Questions are good. The more questions you ask, the more you can learn. You know how to reach me: throw a rock in the east river and I’ll get back to you.

The book we will learn from is the “starting place” for anyone who wants to understand what it is to be a modern God-follower. It is a letter sent to the Romans in Italy. They are not of Jewish descent; they are “grafted into the tree,” as God truly loves all, not just the chosen people. BibleGateway.com

I hope you will join me as I walk through God’s word and unpack it as best I can.

Never have I ever…

Is this you: you’re on your couch, scanning through facebook, looking at posts by people who are cooler than you because they got off the couch and did something? Have you realized yet that the people you follow are people who remind you of the version of yourself that you want to be?

Have you ever met someone who is different from you? Actually had a conversation about who they are, what life is like for them, how they got to be where they are in life?

It’s natural for us to gravitate towards others who are similar to us. There is nothing wrong with that, on the surface. The trap that so many have fallen into is to see that border and to stop looking beyond it.

Parenting in this age for some is a very different experience from what we grew up with. A century ago, children were not expected to survive to adulthood. Emotionally, it was simply easier to not get too attached, because you never knew if they would be there in the spring. Life was hard for most everyone, just trying to get by. This hardened most people’s hearts to the plights of others, as the “self” had to be paramount.

With our increasingly expensive modern science and healthcare, things have shifted drastically. There is finanancial support for those who are poor; most of the basic needs can be purchased at mass produced, at relatively little cost. Children in rural areas of the United States have a very good chance of surviving. Even in the cities, the most likely causes of death involve each other, not starvation.

This has given rise to a sea of people who have every reason to believe that this is the best we will ever have, as it truly is the best we’ve ever had it. We are comfortable. We can survive almost effortlessly. The “self” has been taken care of. Even the ever present threat of world destruction of the Cold War has been largely forgotten.

Except that’s not actually true for everyone. If you’re one of the ‘majority,’ it is true. People are so very good at divisions, aren’t they? Always “us” and “them,” not “all.” There is an entire world of people who are not actually taken care of. In fact, they are being crushed by the very comfort that you are taking for granted.

In this new comfort of many decades, parenting has shifted considerably. Each child is cherished. We each want to make things better for our kids than we had it. We love on them with all our might, sometimes even in misguided ways. This is good.

But consider how a child who has little adversity in their life grows up. Never having faced the hard truths that life starts with survival. That the best way to survive is to band together as teams, groups, friends, families. That a day may come that you must rely on the person next door who you’ve never met before because you didn’t need to. Or your life might depend on whether the person on the other side of town who is at your grocery store is wearing a mask.

As parents we have made life comfortable for our kids. The lesson here is that we need to look for ways to get our kids out of their comfort zone so that they understand the importance of “us together,” not just the “self.” The earlier, the better. We don’t need to harm our kids. But we do need to show them what happens outside of the bubbles we created for them.