Math Magician – Path Smoothing with Chaikin

There are a lot of algorithms out there for making something follow a path. I should know, I’ve posted a couple. The thing is, a lot of times I find myself following a path just fine, but trying to make that path smooth is pretty frustrating. Some methods might take too long to execute, or don’t really work in realtime, or are just waaay too beefy for what I’m trying to do. So, I found a pretty simple algorithm for your Game-Dev-On-The-Go to help you find the way.

Alright, here’s the setting:

You have an enemy, he’s flying in space. He flies a basic patrol that selects a random path from a collection of waypoints. You generate your path, and it returns a List of Vector3s. Watching your enemy fly a path filled with extreme <90 degree turns looks dumb. Real dumb. You start to consider taking a job in construction, but wait; there's a simple solution: what if you could just cut out those sharp corners?

Well, that's when we call in Chaikin. Continue reading “Math Magician – Path Smoothing with Chaikin”

New Year, New Game, New Keith

It’s  been quite some time since I’ve made a real post on this blog. During the past few, well, years my life has been making a number of ups and downs. I landed myself a new job thanks to this blog, and now it’s time I payed some proper attention to it.

Starting with the game I’ve been working on – what, after all this time, you think I’ve just faded away and just spin my wheels? Bah, I say! It’s high time to unveil my pet project that I’ve been working on for the past 10-12 months.

Ladies and Gentlemen…

GfyCat Preview Continue reading “New Year, New Game, New Keith”

Guess Who’s Back!

Try to find me.

Wow! Man, have I been neglectful! So much crazy stuff has been happening lately! I left my job, got a new job, left that job, and went back to my old job, and I’ve been running all around this crazy state. But now, I’m back, and I’m going to try to provide more updates and more answers to your comments! First, news:

  • I added the game made during the last Global Game Jam: Silence On The Line. Make your way through a haunted submarine and try to escape while avoiding massive heart failure.
  • I’m working on an actual legit game that will be my ticket to the Indy Game scene. Lots of development is getting punched in, and more is to be done. I plan on launching a Kickstarter for this one, so, yeah, things are getting pretty serious.

So, there you go! I’ll be around, posting the usual snippets and whatever else I got going on! Take care, guys! Good to be back!

SOPA/PIPA – Going Dark

It's all downhill from here...

Today, millions of websites are going “dark,” in protest of the SOPA/PIPA bills that will essentially cripple the internet. You can read all about them from the many websites protesting the bills.

I’m here to make another statement, however. I agree, the bills are wrong. Taking a stand is the right thing to do. Blacking out websites for 24 hours, on the grand scale of things, seems pointless.

I have 2 problems with this plan.

  1. It’s not big enough. 24 hours? That’s nothing. I can spend my Wednesday doing something other than going online. And it’s not like any of the social networks went down. I feel a much bigger impact could be made if these sites went down for a week, 2 weeks or a month. Show them what the internet would be like if it were completely crippled.
  2. Terrorist win. By blacking out these websites, we’re basically caving in. How are we making a stand if we are doing to ourselves what they are trying to do to us? I don’t remember hearing Rosa Parks sitting in the back of the bus to protest sitting in the back of the bus. If we want to make a stand, we have to make more of a nuisance than we already are! Create a Pickett line in the street to block the flow of traffic! Write – with pen and paper – to your senator! That actually works! If they don’t listen to the people, then it’s time the people started making them listen!

Sign this petition by Google.  Make a stand. And if this blackout doesn’t work, then we must try something else. Where flower-power fails, we must 1-up it.

And that’s all I have to say on that.


No… The unthinkable… ZOMBOCOM has gone dark!


What the Heck is a “Cake Vector?!”

Rickroll cake and portal cake
Image by WordRidden via Flickr


I’ve been checking with WordPress’s traffic logs on what brings people to my site. It tells me everything from what site they found a link to my site on, to search queries. But one search term has brought at least 1 person to my site every day for a few months now.

Cake Vector.

I am totally baffled. What in heaven’s name is a cake vector?! Is it a vector graphic of a cake? Is it a mathematical representation that determines a direction to cake and a magnitude of frosting? What is it!?

To the people (or person) looking for a “cake vector,” there IS NO CAKE VECTOR OR ANYTHING OF THE SORT ON THIS BLOG. Maybe you can tell me what it is that you’re looking for! We can work together! But, please, just tell me WTF a cake vector is!


Just sayin’. That is all.

GDC Days 4-6 – The Conference

Hold on a second…

No, I’m not cramming everything I did for the last 3 days of GDC in one post. That’s madness. I will, however, sum up what I did in this post, and then, later, I’ll make new posts about the lectures I went to. It’s all part of my crazy post-GDC blogging plans! Mwahaha!

Continue reading “GDC Days 4-6 – The Conference”

“Keith’s a Slacker with his Blog” Update: August 22, 2010

OK, in my defense, it’s August – last month of Summer. Sorry for trying to enjoy it.

So, I’ve been working on adding updates to my Threadpool. I’ve since added a few little optimizations and upgrades like:

  1. A timer, to see how fast that sample application executes (3000 tasks executed in <1.6 seconds. Nice!)
  2. Made the threadpool its own .lib file. Now it’s easy portability for any project!
  3. A few Sleep() calls. As the threadpool stands, it’ll burn up your CPU with its constant processing. Add a Sleep(1) call right under your while(m_brunning) loop in KMThread_win32.cpp for a performance boost.

Once I’ve made my threadpool optimal, I’ll post the new version up along with another sample demo – ZOMBOIDS!