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…
You want to be a good developer, right? That’s why you’re on Medium, looking at articles tagged “software development.”
You’re being smart and making sure to only read the articles with headlines relevant to what you want, articles that say things like “The Seven Habits of Highly Effective Programmers” or “The Top Five Things You Need To Do To Become A Senior Engineer At The Top Five Software Companies Your Mom Will Be Proud Of You For Working At.”
Surely, you would never deign to waste your time reading “The Bottom Three Things You Need To Know To Master Software…
People have a tendency to bite off more than they can chew.
I learned this lesson in the snowboarding world, where hitting huge jumps is a routine thing and people often get very hurt in a matter of moments. It’s not uncommon for a kid to see someone do something cool and want to emulate it right away without fully understanding the risk.
Everyone wants to be “that girl” or “that guy” who fearlessly does something big, who can go home and brag to their friends about their skills on the mountain.
As a snowboarding coach, I faced this problem…
I’ve always wanted to make my own games. I tried several times with off the shelf engines, but I always felt like I wasn’t learning the real way to do it.
Not only did I not quite get the proper “game feel” and result that I wanted, I also didn’t find it satisfying to more or less wave my hands and trust that the off-the-shelf engine was doing what I wanted it to (and no more than that).
Back at the end of 2014, Casey Muratori started the rather ambitious project of livestreaming himself building a professional quality video game…
A field guide to dismantling extraordinary claims and “religious” debates.
The software field is practically dripping with ideology. You can’t pick up a textbook and simply learn how to program without also hearing a slew of claims about how this particular way of doing programming is guaranteed to give you results.
On some level, you can’t blame the authors and the conference speakers for making such claims. If they can’t say their thing is useful, why would you buy their book? …
Casey spends day five answering various questions about graphics on Windows. I wanted to do something a little different. We’ve already got a great start with graphics on the Mac, but I think we could take care of another pet project of mine, getting the debugger to work inside of Xcode.
Before we start, I must apologize for the slight difference in code between the articles and the videos. When recording Youtube videos, I sometimes realize later on that I may have bitten off more than I can chew for a given session. …
Holy cow there is a ton to learn in the software world. If you wanted to, you could quit working and invent a job for yourself doing nothing but learning the latest frameworks and languages. We all instinctively know this isn’t a good use of time, and yet so many of us feel a bizarre pressure to keep up with the trends.
I’ve been thinking a lot about this lately, and it occurred to me that our field is much like pre-enlightenment history. There are many competing ideologies. We haven’t quite agreed on what the essentials are, nor how we…
It’s time to get back to the 80s. In the previous article, we did all of the setup work to create a buffer we can draw to. Now we’re actually going to draw something to that buffer, and it is going to be amazing.
I’d like to note one thing. The content we will cover isn’t all that different from Casey’s Handmade Hero Day 004 stream. We’ve actually come to a part of the series that is mostly cross-platform.
I am merely covering it because I want to give you a seamless ramp from day one to whenever Casey finishes…
Welcome back. The last time we left off, we got a resizable window to render to the screen. We also used a custom run loop to make sure the game closes when the little red x on the window is clicked.
This next part in the series is where I start to get excited because we are getting close to the point where we can draw something to the screen! To do that, we will create a pixel buffer and write to the raw pixels themselves.
If you’re looking for a Mac OS platform tutorial that is as far…