Link: Subsurface Scatterings – Texture-Driven Water

Link -> Texture-Driven Water by Subsurface Scatterings


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.

Advertisements

A-Star Pathfinding Tutorial by Me!

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…

Check out my A* Pathfinding Tutorial!

heroAnims
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!

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

Super Simple State Machine!

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!

Getting a Gist Of My Code

 

I know I don’t post very often – believe me, 2015 and 2016 have been a helluva ride – but I have been writing a lot of code. I mean, a lot. A lot of the code I write, since it’s Unity, I have compartmentalized in scripts that I import over to a multitude of projects. Seeing as how a lot of these are used and fleshed out in projects that will never see the light of day, I thought “Hey, why not just put them up on the site?”

So, I’ve created a Github account, and I’m placing them in their own GitHubGists (or Repositories, if they span multiple files). This would be a quick, dirty, and effective way to get my code out to you guys so maybe, just maybe, it can actually be used in a project somewhere.

Any code I put up in my Gist, I’ll also link to it somewhere on this site as well for direct linkage.

So, go have a look at my GitHub Gist! Maybe you can find something useful there!

SUDDEN GLORY Development – Particles and flashy bits

Here’s a small video of me working on some of the particle effects (and the game logic that spawns them), and some of the art assets (and the logic on how they behave).

For the particles, the idea is that when certain things get destroyed, they leave a crater behind (or some burnt wreckage). I also wanted a random chance to spawn other things, like fire, smoke, electrical arcs, and what-not. The script I created uses a “chance” variable for calculating the odds in which a special “additional” effect would spawn.

For the art, I have these big battle ships, and they have weak points for the other team to attack. However, I have no way to convey to the player that they needed to attack these points. So, I’m creating “ship components” that will flash to show they are “points of interest,” and since all you do is fly and shoot, you’ll naturally try shooting it, and it’ll explode. See? Conveyance.

More of these are likely to come. Stay tuned. I also use that channel to put up my Twitch streams, so… uhh… like and subscribe? I guess? Is that how the TubeYou works?

 

Link: Game Programming Patterns – The Observer

Link: Game Programming Patterns – The Observer

OK, first off: No, I’m not dead. 2: No, I’m not a zombie. 3: Yes, zombies are considered dead. 4: I’d like to take a moment to consider a pivotal part of any game programmer’s arsenal of design patterns: The Observer.

The observer pattern, to put it simply, is an object that will only perform a specific action when another object/objects (called “the subject”) are in a particular state. A gentleman by the name of Bob Nystrom is working on an online (and soon physical) book regarding game programming, called GameProgrammingPatterns.com. In his book, he describes the fundamentals and design of the Observer pattern in a fun and simple way that can have even the most basic programmer up-and-running with Observers in no time; like a strange digital voyeur of code.

OK. That was disturbing.

Anywho, go run over to his site, and check out the other “chapters” he’s done. His book is still a WIP, but it’s already a classic. Take care!