With new technologies, new frameworks, and new management fads coming and going every year, I feel pretty badly for beginners. Here you are, just trying to learn to code, and you’re getting overwhelmed with all of these different learning paths.
On top of that, you’re being hit on both sides from people promoting various programming ideologies. Is object oriented programming The One True Way? Shall we renounce it and embrace functional programming as the path to enlightenment?
All of these seem like important…
If you create games on any of Apple’s platforms, there’s a decent chance your game is using Metal as the renderer. This not only applies to games you create with a third party engine like Unity or Unreal. It also applies to Apple’s game tools like Sprite Kit and Scene Kit.
Even if you’re nutty enough to create your own game engine like I have, and you’re shipping to one of Apple’s platforms, you will likely be working with Metal as well.
In this article I will show you how to render perfect pixel art that scales by any arbitrary…
There are roughly 8 billion people on planet Earth. Every single one of them needs to eat, be clothed, and stay sheltered from nature and disease. We require expensive medical care. To do all of these things, we need money.
Money is a form of leverage which allows you to hire people to help you with these most basic of needs and more. You hire people to ship food from all over the world to a single location so you can eat it and stay alive. You pay your government to keep foreign invaders at bay, so you can have…
If you’ve been reading my articles, you may wonder if all of this advice is backed up by any real world accomplishments. It’s a reasonable question to ask. Indeed it is the only question you should ask of anyone whom you might consider a mentor or source of learning.
I’ve been working on this game since last September, and it is the most ambitious project to date. …
I’ve been making software for nearly twenty years now. It’s amazing to reflect back on my early days and to see myself as someone just learning how to code.
The character of that experience is punctuated with moments of confusion about the structure of the software I was writing. I would often stare at the screen while my mind raced trying to think of how the various code modules I was about to write would fit together. I was, in effect, trying to solve big code organization problems before actually writing a single line of code.
Indeed, my story is…
About a year ago, I received a mildly discouraging comment on one of my YouTube videos.
At the time, I had been working on my indie game and game engine for about a year. I’d made some progress, but it wasn’t totally obvious how far along I had come, so the guy writing the comment seemed justified in some way in what he was saying.
Here’s what he said:
“What’s wrong with just using a commercial game engine? I have a feeling you will have great-great-grand children before a game is ever done with this.”
Now, I don’t want to…
Believe it or not, I am in the business of hiring people. I have been working on a video game project for the past six months, and it has finally gotten to a place where I can start bringing other people onto the team.
And this is a rather refreshing feeling because it’s nice to work with other people and not be totally alone on this journey. It’s also great to look over the work of these artists. I’m frankly blown away with their skill and talent, and I can only wish that I could possess such talents.
Thanks for writing this. You put it way more diplomatically than I would have, and for that reason I think your message will have more reach.
In my experience, design patterns turn otherwise brilliant engineers into drooling morons. Instead of simply solving the problem at hand, we waste precious hours debating MVVM vs MVC or maybe considering a "reactive architecture" for what probably only needs a few hundred lines of code.
Patterns often fetishize code and elevate it above problem solving, leading to all sorts of tangled messes and needless complexity.
I'll paraphrase Jonathan Blow, the famous independent game creator…
About two years ago, I was starting to get more solidly into game programming. I was doing some of it on the side, and I had been using popular game engines like Unity and Apple’s SpriteKit.
Unfortunately, none of those tools (at the time) really fit the sort of thing I was trying to make, and I never seemed to create anything that felt truly playable.
The controls would be kinda sluggish, the rendering not quite right, overall the whole experience could be described with one word: soupy.
It’s right around then that I decided I would try something different…
For almost ten years, I have held contracting and consulting jobs in the software industry, mostly calling myself an “iOS developer.” If I want to sound fancy, I’ll put the word “senior” in front of it.
This gives me the ability to say what everyone seems to want to hear, that I have “ten years of experience,” and in the special thing they think they need right now.
How couldn’t it be a fit? My “experience” and their need for someone with programming skills that apply to a specific hardware platform, seems to be the ideal match.
Except I’m bored…