Monday, November 29, 2010

Thursday, November 11, 2010

Bits of Blender #60 - Normals and Nodes



Due to some bugs with the 2.55 beta, Richard and I go back to Blender 2.49b to show you a tip on normals and material nodes (the info in this Bit will work in 2.5x eventually).

Speaking of bugs, we normally distribute our videos via blip.tv. But two weeks ago blip.tv had some big changes and I've had trouble with both display and distribution of Bit #59 and #60 (this one). I've been using Vimeo for some time, but now I've upgraded to Vimeo Pro and will be using it as my main method of distribution.

Wednesday, October 06, 2010

Make your own battlefield!

Check out my ActionScript 3 based terrain generator. You learn how to randomly generate terrains as part of my forthcoming CartoonSmart.com course: Strategy Games.

After 7 Blender courses, I'm developing my first ActionScript 3 course for CartoonSmart.com. It's not just a cookbook lesson, I am teaching concepts that can be carried forward to other languages/frameworks. In it you'll learn about:
  • Terrain generation: Learn how to create your own randomly generated maps with the BitmapData class and without.
  • Pathfinding: Ever wonder how A* pathfinding works and how to integrate it into a game? I'll take you step-by-step through the process.
  • Statemachines: With state machines you'll be able to give your objects some easily extendable behavior.
Along the way, you'll also go from learning how to deal with bits, all the way up to how to use some common design patterns.

Next CBUG: Oct 21st



When:
Thursday, October 21st
7:00-8:30pm

What:
General meeting (no presentation). Come hang out with other Blenderheads, chat about Sintel, your current (or past) Blender experiences, show and tell (bring your work).

Where:
Parker Library
10851 South Crossroads Drive
Parker, CO 80134

Who:
John R. Nyquist
blender@nyquist.net

It will be in the Parker Conference Room just inside the entrance.


Sunday, September 05, 2010

SWCs and FlashDevelop, Part 2

Quite a while back, I wrote about the method I was using for developing using SWCs and FlashDevelop. At that time, I was discussing using inheritance (an "is a" relationship) and the issue of which direction the inheritance went: write in FlashDevelop and have the Flash MovieClip extend from it, or create the MovieClip and have the code in FlashDevelop extend from that. I found my preferred approach is: neither.

I have migrated to a style I used when I was developing in Director and Lingo. In Director, I'd have my Parent Script's using artwork. In other words, a "has a" relationship (also known as "aggregation"). So now I'll create a class in FlashDevelop, have it extend Sprite (or MovieClip), and then that class will create and use an instance of a MovieClip from the SWC as a child.

I've used all of the above approaches over the years, and I'm sure I'll still find times I'm choosing one of the "is a" methods. But for the moment, "has a" is working best.