Hey, everyone! It’s been a few months since I posted on my blog like this, but that’s because I’ve been hard at work on a new tutorial for you all!
One of the more popular pages on this site has been a link I provided to ActiveState’s C++ A* Algorithm, and, while that’s good and all, it’s not really a tutorial by any means, and, well, it’s someone else’s stuff. I wanted to show you guys not only how it’s done, by the whos and whys.
So, the time is come for me to make my commitment. I have committed myself, I have dedicated myself to the pursuit of the Dragon. And having made that commitment, having decided that once and for all, now, all of a sudden, I can see him.
We all live in a fantasy world. It’s a fantasy that we make up for ourselves, but we don’t really realize it. We all battle monsters that we conjure up for ourselves – Skeletons in our closets, Demons in our heads – and we personify our issues with images of monsters that we wage battle with. We sum up the most trying times in our lives with the idea that we were battling a horrific monster. I hear about this stuff every day: So-and-so “beat” cancer, Such-and-such “escaped” the streets. These struggles – real world struggles – are reverse-LARP’d into a fantasy quest. That’s what it feels like, doesn’t it? We were forced into a bit of hardship, and reluctantly we set out to overcome the obstacle set forth. Once our quest is finished, we tell others of our doings and our deeds as if it was an adventure. What if it was, in retrospect? It may sound like a page out of Don Quixote (and it should, since I already referenced Chris Crawford), but what if those monsters and demons and dragons we were told of long ago are real, and they exist as illness and debt and mistreatment? What if the dragon is not a scaly fire-breathing beast, but some goal that lies before you, and you have to fight in other ways to achieve it?
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?
3D Modeling is nothing to shake a stick at. You can’t even shake the whole tree at it. May different tools out there exist to make modeling “easier” by honing in on a very specific style or feature, like Crocotile 3D or Wings 3D. But, when you’re trying to find an end-all-be-all to all forms of modeling, you go for the big boys: Maya, 3DS Max, and, of course, Blender.
A problem with all these heavy-bliters is that their toolset is huge! Tiny icons surround the boarders of your screen, and many, many more tools hide in secret little menus. Most of the time, I find myself knowing what I want to do, and I’m on 18 different tabs trying to figure out the damn workflow!
Well, like any good craftsman, the best solution to having too many tools is to add more tools.
I’ve been very busy lately. I know I don’t post often enough, but I’m working on changing that up. And, for starters, I’ve posted a brand new tutorial! Been a few years since I’ve done that, right?
Well, for you AI newbies, I’ve posted a tutorial for a Finite State Machine I made a few years ago, affectionately called the Super Simple State Machine. I even posted the code and a Unity package demo project up on my GitHub for you. Isn’t that nice?
Give the tutorial a look-see, let me know if you like what you see and you want more.
That sounded really dirty… Sorry about that. Later!
Did I ever tell you guys about the time I took my Virtual Reality work on the road to Washington DC, and had a booth for the internal Engility Trade Show convention? That’s totally a thing that happened. My Virtual Tour demo of an FAA Facility with the Oculus Rift won 2nd place Best In Show, too.
Afterwards, I was asked to help provide content for a blog post on the Engility website about, well, making stuff user-friendly! I provide a little insight into the world of user-interfaces in real-world application, and blur the line between what makes a user interface work for a professional business application and what works for gaming applications.
Go ahead, give it a read if you’d like. This might be seen as me just tooting my own horn, because I’m liking an article I wrote on another blog on my own blog, but, hey, if that’s the case…
… toot toot.
(PS: I’m glad I got second place, but I also lost to a bunch of guys dressed up as scientists from the movie Starship Troopers. They had robots.)
There are a lot of ways to connect Linux and Windows together: Cygwin, VNC, even Chrome RDP works. But what if you had to do something real specific, like recording a window on the Windows desktop from a Linux command line?