RSSAmplifier

Blog

Brook Miles

Recent content on Brook Miles

brookmiles.caRSS feed ↗46 posts

Latest posts

Japan (mainly Tokyo)

This was written for visiting friends, but there’s nothing private here, feel free to share it if you found it useful. Thanks to [REDACTED] for some of these tips. WIP. 
 General Tips 
 This short video is worth a watch, it has some simple phrases and good advice for shopping or ordering in a restaurant. 
 Google Translate ’s live camera view is extremely useful for…

Doing Something Every Day for 10 Years

In 2016 I started a project to learn something every day of the year , eventually evolving into a life logging habit that I’ve kept up since then, which includes these year end review posts. 
 I guess this is the 10th year of my Doing Something series, so that’s something! 
 2016 ,
 2017 ,
 2018 ,
 2019 ,
 2020 ,
 2021 ,
 2022 ,
 2023 ,
 2024…

What If: A Cooperative?

The Pitch 
 A worker cooperative that provides online services to regular people. 
 My Goals 
 Broadly speaking I have two separate but intertwined goals. 
 First, I want to provide online services (like email, file hosting, photo hosting, blog hosting, etc. ) as alternatives to those provided by capitalist behemoths like Google, Apple, Microsoft, etc. 
 Second, I want to do a…

Doing Something Every Day of 2024: COMPLETE

In 2016 I started a project to learn something every day of the year , eventually evolving into a life logging habit that I’ve kept up since then, which includes these year end review posts. 
 I usually manage to post these updates around new years day, but for reasons both practical and motivational I didn’t manage to pull that off this go around, so it’s a bit later than…

You Can't Join Mastodon

Mastodon Is Not A Place 
 I think that Mastodon has a messaging and terminology problem, specifically in relation to the experience that a user will have by “joining Mastodon”. 
 There are at least four different things that people might be referring to when they talk about “Mastodon”, “joining Mastodon”, “having a Mastodon account”, or…

De-Googling: complete... ish?

A couple of years ago I started the process of disentangling my online life from Google . It took a while, and I still use a few Google services regularly… but I’ve managed to reach a level of minimal dependence that I’m fairly comfortable with. 
 It isn’t so much that I’m trying to attain the perfect purity of never again interacting with single a Google…

Doing Something Every Day of 2023: COMPLETE

In 2016 I started a project to learn something every day of the year , eventually evolving into a life logging habit that I’ve kept up since then, which includes these year end review posts. 
 Doing Things 
 I didn’t start or finish anything major in 2023, so it doesn’t really feel like I did much of anything, though I continued to work on various long term projects like…

Doing Something Every Day of 2022: COMPLETE


 2022 
 For me personally, 2022 was a considerable improvement over the previous year. My health situation returned mostly to normal, and mentally I was able to take the experiences from the past years and continue to apply what I had learned and develop the way I want to be.

De-Googling

The Pact 
 
 Ever think about how making a gmail account is like a warlock (you) making a binding pact with a powerful demon (google)? 
 Sure their minds are inscrutable and they possess far more power than you could ever hope to weild on your own. But gosh darn it’s just so useful. Barely anyone is incinerated or driven mad so long as they follow the covenants. 
 –…

Draw A Manga Page Every Week Challenge - Abort! Abort!

Abort! Abort! 
 As I worked on page #2 it became clear that a pace of one page per week was unsustainable, but I did manage to power through and complete it in about a month. 
 Working on page #3 though, with the initial inspiration and novelty worn off, it has become more clear that I’m not prepared to put in the amount of work that even one page per month would require, in order to…

Draw A Manga Page Every Week Challenge - Week #2

Page #2 In Review 
 The “week” in the challenge title is already increasingly aspirational instead of descriptive, as week #2 took an entire month. 
 I’m not happy with the pace, but better late than never! Several external factors conspired against my timeline somewhat, but mostly it came down to difficulty and motivation. 
 
 Page #2 final 
 
 

…

Draw A Manga Page Every Week Challenge - Week #1

What 
 I decided that to improve my drawing/illustration skills I would try producing a manga page every week this year. 
 
 Here's the first page! 
 
 

 Why 
 Wanting to improve my art skills has been a running goal for me for a very long time (25 years give or take), and every once in a while I put in some effort, but am rarely able to sustain it, usually because…

Doing Something Every Day of 2021: COMPLETE

2021 
 
 

 Plague year 2 defeated. 
 ADHD 
 The additional strain of pandemic life (and various other ongoing catastrophes), combined with winter introspection at the start of the year, led me to the realization that it is very likely that I have ADHD. Far beyond the pandemic situation, as I investigated and began to connect the dots through various experiences in my life,…

Doing Something Every Day of 2020: COMPLETE

2020 
 
 

 Well, that was a year. 
 From Orbit 
 In 2019 I launched my first indie game From Orbit on PC, and in 2020 I worked towards completing the stretch goal: launching From Orbit on the Nintendo Switch ! 
 
	 
	 
	 

 
 I’m glad to finally be able to call this project finished!

Black Lives Matter · Defund The Police


 Dear White People, 
 Racism is just fascism that hasn’t caught up to you yet. 
 @absurdistwords · Mar 18, 2018 
 
 2020 US Police Riots 
 Two weeks ago, the Minneapolis police murdered George Floyd . 
 Since then, thanks to the internet and ubiquitous smartphone coverage, I’ve witnessed a nearly realtime stream – hour by hour, day by day – of…

Curving Corner Texture UVs


 

 About 4 years ago while working on Griftlands I had a rendering problem that I didn’t solve to my satisfaction: I wanted to smoothly curve a repeating texture around a corner for shorelines, as well as transitions between different ground materials. 
 What I implemented at the time was “ok”, but still resulted in visibly sharp UVs on some corners, especially…

Doing Something Every Day of 2019: COMPLETE

2018 was about steady progress, 2019 was about finishing. 
 This multi-year project began in 2016 as learning something every day for the entire year . In 2017 I started my indie game project From Orbit , in 2018 I continued development , and in 2019 it was finally completed and released. 
 I also left my job at Klei, sold my apartment, and moved to Japan. 
 It was a lot, and I’m…

Doing Something Every Day of 2018: COMPLETE

In keeping with my pace of writing a single blog post per year, this is my 2018 in review. 
 In 2016 I started a project to learn something every day for the entire year , and in 2017 that pivoted into a focus on working on my side project, indie game From Orbit . 
 2018 was more of The Boring Middle Part of a project. It was already underway, and I didn’t complete it, but I did get…

Doing Something Every Day of 2017: COMPLETE

In 2016 I undertook a project to learn something every day for the entire year . But what to do in 2017? Should I call that good, or continue for another year, or do something different? I decided not to do exactly the same thing, but to continue to apply the same routine and tools that had worked for me on the learning project towards a single larger creative project. 
 From Orbit 
 And…

Learning Something Every Day of 2016: COMPLETE

One year ago I set myself a goal of learning something every day for the entire year. Well I did it. Yay! 
 
 The things I learned in December. 
 
 

 Previously: 
 
 January 
 February 
 March 
 April 
 May 
 June 
 July 
 August 
 September 
 October 
 November 
 
 Problems 
 One year ago, to the surprise of no…

Learning Something Every Day of 2016: November Report

Nailed it. It’s been a while since I managed to complete a month completely without missing a day (although I do allow myself to skip a day, usually Friday night, and then make it up the next day with two units of learn). 
 
 The things I learned in November. 
 
 

 Previously: 
 
 January 
 February 
 March 
 April 
 May 
 June 
 July…

Learning Something Every Day of 2016: October Report

You know what’s cool? Jetlag. Jetlag and having a cold. Jetlag, and having a cold, and days on days of darkness and rain. It’s just really, really good. 
 
 The things I learned in October. 
 
 

 Previously: 
 
 January 
 February 
 March 
 April 
 May 
 June 
 July 
 August 
 September 
 
 Japan 
 October was…

Learning Something Every Day of 2016: September Report

I made some art and not much else. 
 
 The things I learned in September. 
 
 

 Previously: 
 
 January 
 February 
 March 
 April 
 May 
 June 
 July 
 August 
 
 Hopefully a quick update this month since I’m packing and getting ready to go to Japan! 
 Visuals 
 In the name of moving forward on game visuals I…

Learning Something Every Day of 2016: August Report

Month 8 down. How is a year simultaneously so long and so short. 
 
 The things I learned in August. 
 
 

 Previously: 
 
 January 
 February 
 March 
 April 
 May 
 June 
 July 
 
 A Wizard Is Never Late 
 If only I were a wizard. So here we are almost half way through September and I’m writing the August update. Not great…

Learning Something Every Day of 2016: July Report

Month 7 down, and 4 months of working on my side project. 
 
 The things I learned in July. 
 
 

 Previously: 
 
 January 
 February 
 March 
 April 
 May 
 June 
 
 Ugh It’s Boring 
 It was very temping to procrastinate on writing this post, but it’s sort of part of the plan and practice in itself, so here we are! 
…

Learning Something Every Day of 2016: June Report 'Half Way There'

A bit late on the update this month, as I spent part of the Canada Day long weekend at a rental cottage with my family. Happy Canada Day! 
 
 The things I learned in June. 
 
 

 Previously: 
 
 January 
 February 
 March 
 April 
 May 
 
 There’s Good News And Bad News 
 The good news is: I made it to the half way mark! Huzzah! I…

Learning Something Every Day of 2016: May Report

I’m approaching the halfway mark now. Some of the things I am feeling at this point include: Cool, this is going really well ; Is that really all I’ve accomplished in five months? ; and How is the year almost half over!? 
 
 The things I learned in May. 
 
 

 Every day for five consecutive months is almost certainly the most consistently I’ve ever done…

Learning Something Every Day of 2016: April Report

So this is still a thing that I’m doing, that’s good. The hardest part is probably taking the time to make these review posts, but they are a nice way for me to check in with where I’m at. 
 
 The things I learned in April. 
 
 

 While last month had a focus on drawing, as well as some general programming background knowledge, and a detour to play around…

Map Of The Ninja

I’ve been meaning for a long time to write about how I did some of the things that went into Mark of the Ninja , and since somebody asked about the map rendering on twitter, it’s as good a time as any. There isn’t much to tell, it’s done in a very simple way, but I was ultimately quite happy with how it turned out. It was potentially one of the very first real rendering…

Game AI Pro Articles Available For Free

The first Game AI Pro book was published back in 2013 . As part of the publishing deal, those articles have now been made available for free on the web: 
 
 Game AI Pro 
 
 …including one I wrote covering some of the details of the AI in Mark of the Ninja : 
 
 Chapter 32. How to Catch a Ninja: NPC Awareness in a 2D Stealth Platformer 
 
 Or, if you want to…

Learning Something Every Day of 2016: March Report

Three months and still going strong-ish. A whole quarter of a year has passed, yikes. At times this month the marathon feeling of this endeavor started to sink in. Am I still doing this I ask? Looks like! Dedicating 30 minutes to learning is still not a problem. But I had another goal for this month… drawing! How’d that work out? 
 
 The things I learned in March. 
 
…

Learning Something Every Day of 2016: February Report

After two months, the 30 minutes of learning every day has become routine enough that I don’t really notice it. It’s just a thing that I do, the time flies by, and then I have the rest of the evening to do whatever. It no longer feels any different from before when that 30 minutes would have simply been burnt away idly reading twitter or some other ill-defined, unrewarding activity.

Learning Something Every Day of 2016: January Report

For the past month I’ve had a mission: to learn something new every day. And I’m pleased to declare this mission a resounding success. There was that one day where I just played games all evening, but I’m not looking for perfection, only progress. 
 
 The things I learned in January. 
 
 

 Some of these things were completely new to me, some of them were…

About

I’ve always wanted to be an animator and game designer but got distracted for 20 years and became a programmer instead. Canadian living in Japan. 
 Previously 
 My indie game company is Tentacle Head Games : 
 
 From Orbit 
 
 I was programmer and designer at Klei Entertainment: 
 
 Oxygen Not Included 
 Griftlands 
 Invisible, Inc. 
 Don’t…

In Which Statements Are Made Against #gamergate

It took me a really long time to write this post. I’ve re-written it several times. Every time I try I can’t quite figure out the best way to put together the things I want to say, so I give up until I think about it again a few weeks later. So instead of putting them together, I’ll just put them apart: 
 There are many subjects about which I have opinions, of both great and…

Mark of the Ninja AI article published in Game AI Pro

Update 2016-04-03: These articles are now available as free PDFs ! 
 Over a year ago, I submitted an article to a new AI book project by Steve Rabin (of AI Game Programming Wisdom ). That article was on the sensory/detection system we used in Mark of the Ninja , and the book has now finally been published! 
 
 Game AI Pro: Collected Wisdom of Game AI Professionals 
 See Chapter 32.…

Pocket IRC is Open Source

Seeing as how the Windows Mobile platform for native C/C++ applications has effectively been killed off ( at least for consumers ) by Windows Phone 7 which runs only managed .NET applications, it seems like as good a time as any to release the code and maybe somebody will find some use for it or learn something from it. [I wrote this post in 2010!]

Mark of the Ninja: Best. Game. Ever.

Mark of the Ninja was recently released on Xbox Live Arcade for the Xbox360, and even more recently for Windows on Steam . I was one of the programmers on Ninja , my first project at Klei Entertainment . 
 I’d just like to take the time to point out that from Oct 24-25, 2012, Mark of the Ninja was the highest rated PC game… ever .

How To RTFM

I wrote this little story many years ago. It was originally posted as a section on the EFNet #winprog channel FAQ . The oldest copy of the FAQ page that the Wayback Machine has is 2001, so it’s at least that old, if not a bit older. 
 Since then, I’ve been occasionally curious to see if it ever gained any traction, and so I plug a quoted section of it into Google to see how many…

Memory Sand - Peer-to-Peer, Redundant Data Storage In A Can

Time for a bit of futurism. I would like to propose a technology, and I will call it Memory Sand, you heard it here first! 
 This is an idea I had quite a while ago, and maybe you or other people have had the same idea or are working on it already, but in the event it’s at least a moderately original concept, I figured I’d throw it out there.

Twitter OAuth in C++ for Win32 - Part 3 - Updating Twitter Status

Part 1 covered the OAuth process at a high level, and Part 2 went over the example code in detail. Here in Part 3, we’ll finish things off by adding support for doing OAuth POST requests, enabling you to update your Twitter status. 
 The example project and source files are available on Google Code github.
C++ code for Win32, with a Visual Studio 2008 project file. 
 OAuth POST…

No Sockets for Windows Phone 7

Update: Socket support was added in Windows Phone 7.5 
 So this weekend I was looking into some Windows Phone 7 development, with the intention of getting started on a WP7 port of Pocket IRC. It was all progressing along handily until, much to my dismay, I discovered that the initial release of WP7 will not provide application level support for sockets . I’ve seen other more…

Twitter OAuth in C++ for Win32 - Part 2

Part 1 covered the OAuth process at a high level, and Part 2 goes over the example code in what will likely turn out to be too much detail. 
 The example project and source files are available on Google Code github.
C++ code for Win32, with a Visual Studio 2008 project file. 
 Update: Part 3 builds on the code in this section. 
 Making OAuth Requests 
 Now lets take a look at…

Twitter OAuth in C++ for Win32

There seems to be lackluster support for Twitter in the C++ community. I haven’t yet seen a single Twitter client for
Windows written in C++ that was… acceptable. 
 Accessing the Twitter API using Basic Authentication is pretty straightforward, however Basic Authentication is going to
be turned off (dead link) on August 16th, 2010 (last I checked), and after that will…

Why are Twitter Clients all AIR or .NET?

I currently use twhirl , because it’s the only Twitter client I’ve found for Windows so far that I can stand. It’s simple, unintrusive, single column, and just generally looks decent and works well . There are a few problems though… 
 
 It’s written in Adobe AIR. Task Manager reveals that twhirl is second only to Outlook in using up my precious, precious RAM.…

Pocket IRC is now free


 Pocket IRC on Windows Mobile 5 
 
 

 Pocket IRC is my IRC client for Pocket PC and Windows Mobile devices. Version 1.3 has been released removing registration requirements and is now available for free, previously $14.95 USD. 
 This release doesn’t add a lot of new functionality, but it had significant re-factoring internally a couple of years ago, and not a whole…