I’m a simple man – I like creating big effects using a minimal amount of processing power. Sure, you can go and make something look “Industrial Light & Sound”-level good, but sometimes simple is better, depending on your situation. And one thing that’s gotten better and easier with age is Water Effects.
I came across Adeniran Moses Adeagbo Jr‘s blog while looking up some water normal maps, and his demo for Texture-Driven Water, where, not only does he utilize normal maps for creating some nice looking water (which, for most engines, is child’s play), but he pulls out a bit of refraction and Schlick’s Approximation to really get some great reflections out of it.
As a fellow Jerseyan, I gotta show some recognition for what this dude is doing. So, please, check out his site for some great tutorials.
Honestly, how much planning do you put into a project? A lot of people just dive right in and let the code take them as far down the rabbit hole has it needs to go, like a painter on a canvas. Well, guess what, Bob Ross, this is programming. There’s no happy little tree, no titanium white, and no happy little gnarly accidents that will save you. Diving in without any idea of what you’re going to be working on, or what tools or patterns you’re going to need, is the biggest killer of any project. I don’t care what you think the front-end should look like – you’ll just be left with default assets if you can’t visualize it.
I can say, at this point, I’ve been working on video games for 10 years. I can’t tell you how many projects never made it up to this blog, let alone out in to other peoples hands. All of them started with an idea, a gimmick, and then, as the project grew and got more fleshed out, more was added to it in a fever feature creeping, and then, bam, the project would die. Why? Many reasons: bloating features slowed down the game, asset creation became absurd, code became unmanageable, people dropped off the project, and so on. But it all boils down to one centralized issue:
We fell out of scope.
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, without further TODOs…
It’s got history, jokes, source code, images, the works!
Let me know what you guys think! Tell your friends! MAKE THE MACHINES BEND TO YOUR WILL!
That last part is a little exaggerated, but that’s basically what you’ll be doing!
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?
Well, that's when we call in Chaikin. Continue reading
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.
Hey all! How’ve you been?
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!