Friday, September 4, 2009

Bad News

Yesterday, I found out that over the next eleven months, I'll be extremely busy with work. Unfortunately, this will probably affect my modding badly. I don't know for sure how badly it will be affected, but let's just say that I'm more likely to produce models than modules, and my output will probably be meager.

Sigh.

Saturday, August 22, 2009

My Abishai, Part 1

A month ago, Jolly Jenkins posted a request for an abishai model at the Custom Content forum. Since I was planning to make several infernal models for Faithless anyway, I offered to help him out. Jolly said that he'd be needing the abishai in about a month's time. Little did I realize that in the interim, I'd be saddled with much more work for Shattered Dreams.

One month later, all I have to show for myself is the high-poly mesh pictured here. I still have to make the low-poly model, UV map, texture maps, skeleton rig, and animations. Now I'm starting to wonder what the devil possessed me to commit to this thing. Oh, well.

Thursday, August 20, 2009

STAR*DRIVE -- Is This Impressive or What?

I was idly browsing the Neverwinter Vault when I came across this bit of news from Yaddaman about his upcoming sci-fi module, STAR*DRIVE. The picture on the right was shamelessly lifted from the STAR*DRIVE news page at the Vault. There are more screenshots to be found there, so if this picture does not amaze you, head over to Yaddaman's announcement and prepare to be floored.

There are three things about this module that impress me: (1) The custom models are awesome. (2) The module and its custom content were all done by one person -- Yaddaman. (3) Yaddaman would like to see other modders use his custom content to create their own sci-fi modules. Don't take my word for it. Read this quote from Yaddaman, which he posted at the Comments section.

"I wish I could tell you exactly when it will be done but it's hard to say since I'm doing it alone and I don't have a huge amount of spare time (job, wife and two kids). I just hope you won't be dissapointed with the final mod and that you will enjoy playing it as much as I enjoy making it. It would be really cool if people would like to make their own sci-fi modules using the mod and maybe even contribute with some new resources eventually."


Hear, hear!

Sunday, August 9, 2009

Look into the Mirror, Part 2

Most creators of custom models for NWN2 probably learn 3D modeling by first making placeables. This was not the path I took. I felt that making a placeable was not challenging enough to hold my interest, which is why I decided to plunge head first into creature modeling. Ironically, the most complicated model that I've done to date is a placeable, the one shown in the picture to the right. It has more mesh parts than I care to count, and the whole thing weighs in at over 14,000 polygons. It has been several weeks since I first blogged about this model, which gives readers an idea of how long I've been working on it. Now, I'm tired and would like to rest. Must play Neverwinter Zork.

Monday, July 27, 2009

Harry Potter and the Half-Baked Scenes

Over the weekend, I saw the movie version of Harry Potter and the Half-Blood Prince. Having read the book previously, I wanted to see how the story was adapted for the wide screen. I am well aware that anything longer (or shorter) than a novella will not survive the transition to a movie version without serious changes. This is a situation that I accept, and I appreciate clever adaptations of written works such as that of Neil Gaiman’s Stardust. With the Half-Blood Prince, however, I was disappointed with the extra screen time devoted to some scenes and the inadequate time spent on others. While I do not intend to write a full review of the movie, I want to set down my thoughts on why I felt that certain scenes could have been written better. This blog post may serve as a guide on keeping one’s stories tight without making them feel rushed.

Shifting the Balance of Power

In the movie version of Half-Blood Prince, a couple of Death Eaters launched an attack on the Weasley family home. I felt that this scene, which was not present in the original novel, is completely pointless. What did Voldemort and his Death Eaters hope to achieve by destroying a single house? If their attack was intended to weaken Harry Potter and his friends, there was nothing in any of the subsequent scenes that showed they had succeeded. In fact, David Yates, the director, could have left the scene in the cutting room floor, and the audience wouldn’t have missed it.

The way I see it, the purpose of any scene involving an on-going conflict between two parties is to shift the balance of power between them. This is true regardless of whether the scene in question comes from the latest James Bond thriller or any of Jane Austen’s romances. The shift in the balance may be subtle most of the time and heart-pounding in only a few instances. Regardless, for the shift to be meaningful, its effects should be felt in the later parts of the story.

Introducing New Conflicts

Not all scenes are intended to develop an on-going conflict between two parties. Some are meant to introduce conflict between parties that had hitherto been at peace with each other. Nevertheless, if one party takes a swipe at another in one scene, we expect this conflict to escalate and eventually be resolved in later scenes.

Hence, I feel that the opening sequence showing the destruction of London’s Millenium Bridge could have been left out altogether. The wizard-versus-muggle conflict was never developed in the later parts of the story, and the screen time taken up by this sequence could have been better utilized in other scenes. I realize that the opening scene was intended as a more dramatic replacement for the first chapter in J.K. Rowling’s book. Nevertheless, I also feel that this chapter could have been safely deleted from the book for the same reason that I stated earlier.

Establishing Characters

Who is Narcissa, and why is she in the company of Bellatrix? Who is Romilda, and what’s her relationship with Harry and Ron? Who is Dean, and why is Harry upset with him? Those who saw the movie without ever having read the Harry Potter books may never know the answer to these questions. That’s because there aren’t enough scenes in the movie to establish these characters, their relationships, and their motivations. Any character that is at the heart of one or more conflicts must have enough scenes devoted to establishing them clearly enough for the audience to appreciate the conflicts in which they are involved.

On the other hand, characters that don’t figure in any of the story’s conflicts may be safely glossed over or left out. For instance, the director and screenwriter were wise to make Blaise Zabini practically invisible in the movie. Because the romance between Remus and Tonks did not make it to the movie version, giving these characters less screen time is justified. If the attack on the Weesley home had been left out, Remus and Tonks could even have gone with it.

Conclusion

In this blog post, I gave three reasons for developing a scene: establishing characters, introducing conflicts, and shifting the balance of power. I don’t claim that these are the only reasons for crafting a scene, but these definitely revolved around my dissatisfaction with the Half-Blood Prince movie. As usual, everything written here is just my opinion, and readers may apply or disregard all or part of my blog post as they see fit.

Friday, July 10, 2009

Designing Puzzles

I haven’t been working much on my 3D models these past several days, having been instructed by Dirtywick to design a puzzle for our module, Shattered Dreams. While trying to come up with a good one, I pondered quite a bit on the difference between good and bad puzzles as well as what principles go into designing different types of puzzles. I’m writing my thoughts here, partly as an aid for other game designers and modders who want to make their own puzzles, but mostly so I can refer to my own notes when the need arises. None of these ideas are written in stone, of course, and I may change or refine my opinions at any time in the future.

Please note that the puzzles I’m referring to here are the ones that may be used in adventure or role-playing games.

Puzzles to Avoid

There are various kinds of puzzles, some of which are so bad that they deserve special mention. The following are the ones that I feel deserve to be in the Puzzles’ Hall of Shame.

  • Mazes. Seriously, mazes are not fun at all. They are especially bad in games where the point of view is first-person, although they can also be tiresome in 2D graphical adventures. If an area you’re designing branches out like a maze, consider redesigning it.

  • Mathematical Word Puzzles. “Sally is two years older than Tim. Ten years ago, Sally was twice as old as Tim. How old is Sally now?” When was the last time you had to open a locked container by solving a mathematical word puzzle in real life? You never had to? Well, that just goes to show how contrived these kinds of puzzles are when they appear in adventure or role-playing games. Mathematical word puzzles can be amusing for some and vexing for others, but unless you’re a scientist, engineer, or programmer, you’ll probably never encounter them outside of textbooks and silly computer games.

  • Riddles. As a means of gaining entry to an otherwise inaccessible place, riddles are almost as bad as mathematical word puzzles. What makes riddles halfway acceptable in adventure games is that Oedipus and the Sphinx had set a precedent for them thousands of years ago. Nevertheless, if some NPCs really wanted to secure a place, they could have done better than to leave a clue to entry out in the open. Unless you don’t mind some silliness in your game, you might want to avoid using riddles. There are some good exceptions to this guideline, however. Nowadays, it’s not uncommon for people who have a tendency to forget their email password to allow a means to retrieve it by having the computer ask a question that only they and perhaps few other people know the answer to. Use your judgment when determining whether a riddle is appropriate to use in a game situation. Chances are it’s not.

  • Pixel Hunting. In some games, particularly 2D graphical adventures, one of the challenges facing a player is determining which visual elements can be interacted with. Some of these visual elements are so small that they can be easily overlooked. In such cases, the player winds up wrestling with the interface. Hunting for pixels is mostly an irritating experience. Fortunately, in NWN2, a player can highlight all useable objects in visual range by pressing the [Alt] key. Many other adventure games do not have a similar feature. If you ever create an adventure game from scratch, you would do well to provide some means of making all useable objects readily apparent.

Some Principles of Puzzle Design

There are things that I call “principles” (for lack of a better word) that go into the making of a puzzle. Some of these principles may be combined to create more complex puzzles. Not all these principles will be found in each puzzle, but every puzzle has one or more of these principles behind their design. I can’t claim to have an exhaustive list of these principles, but the ones I came up with may help generate some ideas for puzzles.

  • Toggling. This is probably the simplest puzzle design. A player may activate or deactivate an object by toggling some sort of switch. For example, a certain switch may open or close an electronic door. The puzzle can be made more complicated by requiring the player to flick a set of switches in the proper combination, not unlike entering a binary string code. Sometimes, the only way to figure out what each switch does is through experimentation.

  • Matching Type. In certain puzzles, players are required to match certain objects or bits of information with other objects or snippets of info. For example, in Baldur’s Gate 2: Shadows of Amn (2000), there is a puzzle in which players have to match a set of objects with the famous personage who uses each object. Players who are familiar with the Forgotten Realms will find this puzzle easy, but those who aren’t steeped in the lore of the realms may still benefit from the textual clues provided.

  • Timed Movement. Sometimes, passage through a dangerous area may be safely negotiated by timing one’s movement precisely. For example, if a deadly blade on a pendulum swings by every few seconds, players have to time their characters’ movement so that they move past the pendulum on its upswing. If many similar traps are stringed along the passageway, it becomes a challenge for players to observe the traps’ patterns of motion.

  • Positioning. Some puzzles are solved by positioning certain objects in accordance with a set of rules. The oft-used Towers of Hanoi puzzle is an example of this. Sometimes, these objects have certain “powers” that are brought into fore or even activated from their new positions. This is particularly true of puzzle-like games such as chess and Othello.

  • Code Breaking. Simple codes can be deciphered by observing the patterns when the codes appear. The game of Mastermind is a well-known example of this type of puzzle, variations of which can also be found in role-playing games like Neverwinter Nights 2: Mask of the Betrayer (2007) and Fallout 3 (2008). A more subtle example of this type of puzzle is when the player has to decipher an alien language by observing the situations when certain patterns of symbols appear.

  • Combination. Some objects can be combined with each other to produce a new object or to change the state of one of these objects. For example, by combining a key with a locked chest, the player character transforms the locked chest into an open chest. The principle of combination is a staple of many text and graphical adventure games and is used to solve the puzzles therein.

  • Substitution. When an object is required to solve a problem, but the player character does not have it, sometimes, a suitable substitute may be used instead. For example, if the player character does not have the key needed to open a locked chest but has a wire coat hanger and a pair of pliers, the character can use these objects to produce a makeshift lockpick. The principle of substitution is a good way to add some lateral thinking to your puzzles. Nevertheless, it can be abused badly. In Monkey Island 2: LeChuck’s Revenge (1991), for instance, when the player character needs to shut off a water pump that is lacking a handle, he can pull out a monkey from his inventory and use it as a monkey wrench. Duh.

  • Misdirection. Every magician and mystery writer knows that one can hide important information with misdirection. The trick is to bring some unimportant thing into focus while keeping the salient clue in the background. In a mystery adventure, for instance, suppose that forensic examiners have determined that a certain victim’s murderer is left-handed. Later, the player character might come across an old photo of a group of people standing near a building with an impressive-looking edifice. Players who examine the photo closely might notice that one of the people in the photograph is holding a cigar in his left hand. That person just so happens to be a suspect in the case as well. Bingo. Clues can also be hidden in text by focusing on an unrelated topic while mentioning the seemingly unimportant clue in passing somewhere in the middle of the text.

  • Physics. In some puzzles, objects interact with each other in accordance with certain rules, what I call the “physics” of the game world. For example, a ball can be made to roll down a sloping surface or bounce off a spring. These objects can be positioned in certain ways so that their interaction will solve a particular puzzle. The in-game physics may or may not be related to real-world physics. For example, there is a kind of “physics” involved in the way counters interact with each other in the game of Othello, but this has nothing to do with the physics of the real world. On the other hand, there is a bit more real-world physics going on in The Incredible Machine (1992), a game where players can create Rube Goldberg machines that achieve some stated objective. The beauty of this type of puzzle design is that more than one solution can be implemented to solve the same puzzle.

Conclusion

This concludes my post on designing puzzles. There are other types of puzzles that I did not expound on because of their limited use in adventure and role-playing games. (Word puzzles such as crosswords come to mind.) Nevertheless, I may have missed a few puzzle types or design principles that can be useful in these types of games. Readers who would like to offer their own insights into the puzzle design process are invited to leave their comments here.

Tuesday, June 30, 2009

Look into the Mirror, Part 1

It’s been a while since I last posted a screenshot of any 3D model in the works. That’s because I am currently making a very complex placeable, the kind that should have players realizing that this is no ordinary object when they first look at it. As can be seen from the concept art to the right, the placeable consists of a fairly ornate mirror held by a couple of angel statues. I had to craft and assemble several meshes to produce the high-poly version of this piece. In the process, I came across some new challenges for me to hurdle.

Firstly, there is the matter of the mirror frame, the design of which is inspired by art nouveau and the stories of H.P. Lovecraft. It may come as a surprise to some people that Lovecraft and art nouveau go very well together. One of the main features of art nouveau is the presence of vine-like tendrils that curl about in a stylized way. Well, it doesn’t take much tweaking to replace tendrils with tentacles, the appendage of choice of Lovecraft’s famous creation, C’thulhu.

Heretofore, I had been using only ZBrush to make all but the simplest meshes. The mirror frame, however, consists mostly of planar shapes that are often curved along the edges. ZBrush isn’t really suited for constructing planar shapes, so I turned to 3DS Max instead. I used splines to build the meshes, something that I had never done before. It’s actually a pretty cool technique once you get the hang of it. I later refined the wings, tentacles, and curlicues in ZBrush, but even before then, these shapes, which I first built in 3DS Max, were already somewhat complex. The only part of the mirror frame that I did not create with splines was the cherub’s head, which I sculpted in ZBrush from a sphere.

Like the cherub, the angel figure that holds up each side of the mirror was sculpted in ZBrush. As can be seen in the screenshot to the right, I put in a lot more detail in the figure’s dress than what I am accustomed to doing. It seems to me that each time I create a new model, I push the boundaries of my knowledge and skills. I see this as a good thing, and I really wouldn’t have it any other way.

Hopefully, I’ll be able to post an in-game screenshot of the entire mirror in my next blog post.

Monday, June 22, 2009

Welcome to the Team

Several months ago, I identified the members of the Shattered Dreams team, all of whom have contributed their unique talents to our creative undertaking. While a few have since left to pursue other projects, most are still active with us. Since then, we’ve had some noteworthy additions to the team, whom I’d like to welcome in this blog post. Here they are, arranged according to when they joined us:

  • Henry Solberg, Composer. I first met Henry online when he messaged me with an offer to compose music for Faithless, the module that is supposed to be this blog’s reason for being. (Ahem.) It became obvious that I wasn’t about to release Faithless any time soon, so Henry asked if he could be a part of what was then known as the “secret bouncyRock project.” After listening to samples of Henry’s music, Dirtywick said yes. Henry joined the Shattered Dreams team last December, but it’s only now that I finally got around to blogging about his involvement with us. Thanks to him and Gallaen Frost, we’ll have new music for our players to enjoy.

  • Wyrin D’njargo, Writer. Last April, Dirtywick posted a request for a writer to join the Shattered Dreams team. It is well known among modders that the two major bottlenecks in module building are area design and writing. While we have some really awesome area designers, Dirtywick (being our lead writer) was the only one who was active with writing at the time. This was on top of his activities as project leader and area designer, which put a strain on his writing duties. A day after posting his request, Dirtywick informed me that he got an offer from none other than Wyrin D’njargo, creator of the popular “Dark Avengerseries. I emailed Dirtywick with the following response: “Wyrin? Wy rin’t we hiring him on the spot?” Dirtywick emailed back, saying that he was looking to fill only one writing position, but he had received a second offer from someone else. My eyes nearly popped from their sockets when I found out who the other guy was.

  • Amstradhero, Writer. It turned out that Amstradhero (aka Shadowbeast) had also offered to join the writing team. Amstradhero is the creator of “Fate of a City,” which was one of the modules that won the Neverwinter Vault’s 2008 Gold Award for module of the year. In an unprecedented move, “Fate of a City” shared the gold award with another module – Dirtywick’s own “Subtlety of Thay – Chapter 2.” (Have I mentioned that Dirtywick is our lead writer?) Anyhow, I pleaded with Dirtywick to let both Wyrin and Amstradhero join us. Dirtywick wasn’t sure at first if he could handle two writers at the same time, but he eventually decided to welcome both of them to the fold. Woo hoo!

  • Baron, Writer. Some weeks back, Barry the Hatchet told a friend of his named Baron that Dirtywick was looking for additional writers for Shattered Dreams. Baron (not to be confused with Baron Rosencheckl of Robinson Workshop) was highly recommended by Barry the Hatchet, who enjoyed his stories. I got a chance to read samples of Baron’s writing when Dirtywick forwarded a module that contained some of his conversation files. While the context of the dialog remains hazy to me, I did find the writing entertaining, and several lines brought a smile to my face. It seems that Baron has an affinity for comic writing. Anyhow, Dirtywick has already brought Baron to the team. Judging from Baron’s work, I’m sure it’s a decision well made.

Welcome to the team, guys. Glad to have you aboard.

Monday, June 15, 2009

With Friends Like These

Meet Mister Grin, one of the potential companions that player characters may take up in Shattered Dreams. The picture shown here is how I envision this character to appear. I’ll make a 3D model of this NPC later. For now, I’d like to say a few words about him to give a preview of what he is like:

Although Mister Grin is dressed in the height of fashion, people tend to be taken aback by his appearance for three reasons. Firstly, almost every part of his body is covered with some article of clothing. Mister Grin explains that his heavy clothing helps him resist the ague, to which his frail constitution is highly susceptible. Secondly, while Mister Grin is obviously a man of breeding, it is not entirely certain what breed he is of. An occasional peek at his pointy ears suggests that he may be of elven stock, although he is taller and bulkier than the typical elf. Also, even with Mister Grin’s hat, scarf, and dark glasses on, it is easy to tell that he is completely devoid of hair. Mister Grin explains that he is in fact predominantly half-elven and that his non-elven father had passed on a genetic trait that causes all hair to drop off and stop growing when its carrier reaches a certain age. Finally, there is the matter of his strangely upturned nose, a feature that he explains is due to his father having some orcish blood in him.

Mister Grin is a charming and eloquent gentleman, and he speaks with such ease and conviction that no one bothers to question his statements. That and his desire to help player characters defeat their greatest foe will surely make Mister Grin a welcome and trustworthy addition to any party.

Sunday, June 7, 2009

Boss of Bosses, Part 4

“My name is Enemigo Monstruoso. You killed my minions. Prepare to die.”

Well, that’s what the big boss seems to be saying in the picture to the right. It may look impressive, but I’ve found that from a modeling standpoint, this monster has a whole slew of new challenges to hurdle. The most obvious problem is the sheer size of the thing. Having a monster this large means that in combat, players will almost never see it in its entirety. To make it more visible, I lowered the height at which the creature hovers above the ground, but I can’t get it lower than fifteen to twenty feet without its appendages sinking below ground during its animation cycle. I could bring the mob to a more manageable size, but its background story would hardly make sense unless the creature is as large as possible without making it unplayable.

Another problem is that I may have made the creature’s collision spheres too large, because even at fifteen to twenty feet away, a player character can still hit it in melee. I’ll have to confer with the other core designers of Shattered Dreams to see if this is going to be an issue. I can always shrink the collision spheres if necessary, but that might mean having to make more of them to cover the parts of the creature that are exposed.

Another problem that I’ve had to deal with revolves around the limit that the NWN2 engine imposes on the number of bones a model may have. According to Jonny Ree, a single model may have no more than fifty-four bones, although there is a way to work around this limitation. Creatures with separate models for their tail and wings can have another set of fifty-four bones in each of them. I decided to model the creature’s tentacles as a separate wing model, something that I’ve never done before. (Considering that this is only the second or third model that I’ve had to animate from scratch, there’s really a lot that I don’t know about yet.)

I managed to get the tentacles to appear in the toolset as an animated wing attachment on the boss creature, but in the game, the tentacles were nowhere to be seen. For two days, I tinkered with the 2DA, GR2, and MDB files to try to get the tentacles to appear. After long hours of experimentation, I eventually discovered that the tentacles appeared in game when attached to creatures like humans, pit fiends, and mind flayers but not when attached to horses, dire boars, and One of Many. The salient difference between these two groups of creatures is that the first group has a head model that is separate from its body, but the latter does not. In other words, creatures from the first group are built from two or more MDB files, and those from the second group have all their meshes in one MDB. Because I had originally constructed the creature’s head and body as a single mesh, I had to make changes not only to my MDB files but also to my 2DA entries. Fortunately, that solved the problem.

I haven’t finished making all the animations that the big boss will need, but I expect that this task will be easy going from here on. Then again, I said something to that effect in my last blog post, so one never knows what surprises I may come across. I’m keeping my fingers crossed.

Saturday, May 30, 2009

Boss of Bosses, Part 3

I spent the last few days constructing a low-poly version of Shattered Dream’s ultimate boss. With 5,208 triangles, however, this mesh exceeds the poly count of most, if not all, official NWN2 models. Considering that this creature is one of a kind, I think that the relatively large number of polygons can be forgiven. As can be seen from the in-game screenshot on the right, I’ve also textured the mesh. My next task is to rig and animate the model. Because none of the skeletons of the existing NWN2 models fits this creature, I’ll have to make one from scratch. This, together with creating the animations, will probably be easier than building the mesh itself.

Here’s another picture of the creature. If, during the game, you can see the pupils of its eyes, you are too close.


Update, May 31, 2009

Stop the presses. Feedback from Nicethugbert and Josh/Anduraga has prompted me to try to retexture the boss to make it look more natural. The new look is shown on the right. Oh, by the way, that cute little thing beside the boss is a full-grown red dragon. It's just there to give a sense of scale but won't appear in Shattered Dreams. Player characters will have enough to worry about without red dragons getting in the way.

Wednesday, May 27, 2009

Boss of Bosses, Part 2

In my previous blog post, I presented a new design for the main boss of Shattered Dreams. When I started working on the high-poly model, I realized that what looks good in 2D does not necessarily look good in 3D. In particular, the crown of heads really didn’t work out so well, so it had to go. Also, the tentacles make more sense when put in front of the model rather than behind it. Anyhow, I hope this latest incarnation of the main boss will have the desired effect on players of our module. Time will tell.

Saturday, May 23, 2009

Boss of Bosses, Part 1

Thus far, I’ve constructed a number of mobs for Shattered Dreams, some of which are bosses in their own right. Nevertheless, all these creatures are mooks compared to what I’m about to make. Behold the boss of bosses, the thing that will have players’ adrenalin pumping on overdrive as their characters hang on to dear life.

Actually, the picture shown on the right is my initial concept for the main boss. When I first drew this picture, I had not yet learned about making silhouette studies. With my newfound knowledge at hand, I decided to make a quick and crude silhouette of the creature to make sure that my design is on the right track. Below is the result.



What’s wrong with this picture? Simply put, the silhouette does not look dangerous at all. It’s generally bell-shaped, which brings to mind not only bells but also pears, statistical graphs, and women in Victorian dresses. How threatening are those? Clearly, a redesign is in order.

It didn’t take me long to come up with a silhouette that I like. The general shape of the drawing on the right is that of an inverted triangle. Most of the weight is at the top, which suggests upper-body strength, unlike the bottom-heavy bell shape, which looks much less strong and mobile. Also, triangles with their sharp angles look far more dangerous than pears with their soft curves. This whole discussion on shapes and their significance is part of what is known as “form language,” which professional concept artists and product designers are familiar with. Being the amateur that I am, it takes a bit of research for me to figure these things out.

Satisfied with the above silhouette, I then painted the details. Below is what I finally settled on. Not bad, in my opinion.

Thursday, May 14, 2009

Angel of the Deep, Part 3

Man, I would never have guessed that animating models would be so much fun. I find it even more engaging than sculpting with ZBrush. It took me only one day to learn the basics in 3DS Max. The hardest part in making an animation sequence is getting the motion to look natural. I imagine that this is especially so for creatures that walk on land, but since my model hovers above the ground, I didn’t have to worry about how a shift in weight from one bone to another affects the rest of the bones.

Below are screenshots from my test run with the model. They are poor substitutes for seeing the creature in action, but these will have to do for now. I don’t really have time to make a nice video. There are more models that I have to build. Busy, busy, busy.

Monday, May 11, 2009

Angel of the Deep, Part 2

I’m still working on the model that I introduced in my last blog post. So far, I’ve made a low-poly mesh and textured it, though I may change the texture later on. I’m having doubts as to whether the glowing hair and tentacles is a good idea.

In terms of polygon count, this thing is a real monster – 5484 triangles in all. That’s not the worst thing about this model, though. I’m planning to construct a new skeleton for this creature and animate it. Initially, I thought of re-using the skeleton and animations of One of Many, which is why this model bears a slight resemblance to it. None of the available versions of Tazpn’s MDB Import/Export plug-in properly imports the OoM model and skeleton, however, so it seems that I have no other option than to put together some bones and animate them. That’s not as necromantic as it may sound, but I’ll still have to draw upon far greater wizardry than what I’m accustomed to.

More to come in my next blog post.


Update, 11 May 2009

I've decided that as far as making this particular figure glow, less is more. Check out the latest screenshot below.

Monday, May 4, 2009

Angel of the Deep, Part 1

If you plunge the depths of your subconscious, what will you see? We may never know the answer to that question, but players of our upcoming module Shattered Dreams may encounter the creature shown on the right… that is, if I succeed in constructing and rigging a low-poly version of it. We’ll know for sure in my next blog post.

Sunday, May 3, 2009

Conceptualizing Creatures with Silhouette Studies

I wasn’t thrilled with the last model I made, which I felt was seriously lacking the “wow” factor. The problem isn’t so much in the execution but in the design. My approach is to do a hasty sketch that I will wind up changing on the fly as I construct my mesh. It therefore comes as no surprise that my designs are hit-and-miss, more of the latter than the former. When I started creating a high-poly mesh for the lovely creature shown on the right, it wasn’t long before I stopped what I was doing and said to myself, “This isn’t working.”

Disheartened, I did a few deep breaths and cleared my mind, concentrating my energies on the mystical reservoir of wisdom known as Google. I soon discovered a cool technique that professional concept artists use to design creatures – silhouette studies. From what I gathered, the idea is to draw a silhouette of a creature then to fill in the negative spaces with white to flesh it out. One can come up with different designs from a single silhouette if desired.

I can see how this is a useful technique. The silhouette alone should look interesting. If it isn’t, filling in the details will probably result in an unexciting design. When a player sees a creature from afar, its details will blur into each other, and the player will perceive the creature as little more than a silhouette. One of the artist’s challenges is to try to make the silhouette look awesome.

I decided to give this method a try. I created a 512 × 512 blank image in Photoshop and painted a silhouette over it. I zoomed out to about 25% of the picture’s size so I could focus on the general look without being bogged with the details. Afterward, I zoomed in to full view and refined the silhouette further. The technique is deceptively simple, but I found that coming up with a good silhouette isn’t easy. The first few drawings I made were so bad that I didn’t bother saving them in the computer. Eventually, I came up with something that is similar to the sketch shown at the beginning of this blog post. The main difference is that the silhouette shows much more promise.

Having painted a silhouette that I liked, I laid a transparent layer on top of it and painted over it with white. As I progressed, I added shades of gray. The end result doesn’t look as polished as my original pencil sketch, but I felt that the design is better by a mile. I’ve already started constructing a high-poly mesh based on this new picture, and I really like the results so far. I’ll show a screenshot or two of the model in my next blog post.

Monday, April 27, 2009

Behold a Pale Horse, Part 3

I've been working hard on this "horse" model, grabbing what little free time I have just to finish it. The rig isn't perfect, but the model will need only a few tweaks here and there to be done. I lack sleep and can hardly write coherently, so I'll let my screenshots do all the talking. Together, they should be worth a couple of thousand words, more or less.

Tuesday, April 21, 2009

Behold a Pale Horse, Part 2

I’ve finally added barding to the creature that I showcased in my last blog post. With armor on, this model looks a lot more like a horse than a greyhound sort of thingy. Much of the detail work that I did on the creature’s body is now lost under its barding. I don’t know if this monster looks scarier naked or armored. I’m tempted to have both versions of the creature in the module, but I don’t know if the monster in the buff has a place in the story. We shall see.

My next blog post will feature a playable version of this creature. I hope it won’t take me long to create so I can move on to my next 3D model.

Friday, April 17, 2009

Behold a Pale Horse, Part 1

I can’t seem to get myself out of creature modeling. I tried making a placeable object for the first time and wound up turning it into a creature. Currently, I’m building critters of the four-legged variety once again. The concept sketch shown on the right is of a horse. At least I think it’s a horse. It’s either that or a really large, armored greyhound. Let’s call it a horse for now. Anyway, this is what’s been keeping me busy lately. (That and a certain video game babe that I’ve been modeling on and off.)

The screenshot shown on the left is of my current work in progress with the high-poly horse model. I’m supposed to give this creature barding, which I will add later. I felt that its present appearance is interesting enough to blog about, which is why I’m posting this picture here.

More to come in my next blog post.

Thursday, April 9, 2009

Super-Simple Skeleton Building and Animation Tutorial

Author's Note, 29 May 2012: Looking for an animation tutorial? This one is next to useless. It was intended to show how statues can be made into enemy creatures without having them move. For a full-blown animation tutorial, check out my blog post here.

In my last blog post, I showcased my latest 3D model, a statue of an elven warrior. It’s perfectly fine as a placeable, but Dirtywick wanted me to make it a creature. The statue is supposed to be some kind of magical defense against intruders, but there seem to be problems with trying to get placeables to be targeted by NPCs and to fire visual effects without resorting to a bunch of workarounds. Dirtywick wanted to keep things simple for the area designers on our team, which leaves me with the burden of providing a solution. In this particular case, one solution is for the statues to be implemented as creatures that can shoot spells from the crystals they are holding. None of the existing skeletons and animations in NWN2 is suitable for our needs, however, so I took this as an opportunity to teach myself how to make skeletons and animations from scratch. As usual, I’m documenting the things that I’ve learned in a tutorial.

Its title notwithstanding, this blog post is not a super-simple tutorial on skeleton building and animation. This is a tutorial on building and animating a super-simple skeleton. The skeleton will consist of only one bone and a few attachment points. It will have only one idle animation that does absolutely nothing. The animation is for a statue after all. It’s not supposed to fidget while it stands in place. Nevertheless, the statue will be able to shoot spells from the crystal it is holding, and because it is effectively a creature, NPCs will be able to target it for destruction without any changes to their AI.

Preliminaries

It is assumed that you have 3DS Max version 6, 7, or 8 as well as the Expotron plug-in that Obsidian Entertainment used in developing NWN2. This plug-in will not work with any other version of Max, nor will it work with other 3D modeling software. (The Expotron plug-in used to be available at the Vault but has since been removed because of legal issues. If you happened to download it before it was removed, lucky you.) It is also assumed that you’ve already constructed and textured the main skin mesh of your model as well as its two lower level-of-detail meshes. The third and final assumption is that you know how to rig the mesh with the new skeleton that you’ll be creating.

It’s important to name your meshes properly. For creature models that are neither PCs nor NPCs, the main mesh should be named C_name_ar_BODYxx, where name is a unique identifier for your model, ar is the type of armor your model is wearing (CL if the model is unarmored), and xx is a two-digit number from 01 to 99. Mesh names are not case-sensitive.

If, like me, you’ve been using Tazpn’s plug-in to import MDB models as a reference for setting the scale of your models, the Expotron will export them at a very tiny scale. You should resize your meshes at 10,000% of the scale that Tazpn’s plug-in works with. After rescaling, you should make sure that the base of each mesh is at world coordinate (0, 0, 0).

Skeleton Building

  1. Step 1Hide the two lower level-of-detail meshes so that only the main mesh is visible. With the main mesh selected, go to the Display panel at the right of the screen and click the “See-Through” box to put a check mark in it. This will make it easier to position bones and attachment points in relation to the mesh.
  2. Step 2aGo to the Create panel and click the Systems button, which is the rightmost button just below the panels’ tabs. Under “Object Type,” click the Bones button.


    Step 2bClick successive points in one of the viewports to create bones. We only want to create one bone, so press the [Esc] key after clicking two points. This will actually create two bones, so select the longer bone and delete it. Rename the remaining bone using the following convention: C_name_SKEL, where name is the unique identifier of your model. This bone will be the root node of your skeleton hierarchy, which includes not only bones but also attachment points and collision spheres.
  3. Step 3Move the bone you created to the desired position. This is almost always the center of the pelvic area.
  4. We’re going to create and position a few attachment points, which are sort of like invisible hooks to which other external objects can attach themselves. All attachment points are prefixed with “ap_”. In NWN2, there is a standard set of attachment points with specific names. The ones that we’re going to use are the following:


    Attachment Point NameUsual PositionExample Attachment Objects
    ap_cameraInside the headThe camera’s focal point during cutscenes when the creature is the active speaker
    ap_haloAbove the headEffect icons, spell conjuration effects
    ap_hand_rightRight handPrimary weapons, spell conjuration effects
    ap_torsoCenter of and just behind the chest Spell conjuration effects


    I chose these attachment points because they are the ones most likely to be used for spellcasting and cutscenes. For the statue model, I want to change the position of ap_halo to just above the crystal and ap_hand_right to inside the crystal. Both of these attachment points are involved in spell conjuration and casting, and I want to make the statue’s spells seem to emanate from the crystal.

    Step 4aIn 3DS Max, attachment points are implemented as dummy objects. In the Create panel, click the Helpers button then click the Dummy button.


    Step 4bClick and drag the mouse icon over a tiny area of a viewport to create a dummy object. Change the name of the object to one of the standard attachment point names and set its desired position. Do this for all attachment points before moving to the next step.
  5. Step 5Nearly all creature models have one or more collision spheres, and this statue is no exception. Collision spheres are for determining if two objects are in contact with each other or if there is a straight line of sight toward an object. In NWN2, only creature objects make use of collision spheres. (Placeables make use of collision boxes.) Each collision sphere is attached to a single bone and moves with that bone. Generally, a collision sphere encompasses the bone to which it is attached.


    To create a collision sphere, click the Geometry button in the Create panel. Click the Sphere button and click-and-drag the mouse cursor in any of the viewports to create a sphere of the desired size. Adjust the position of each sphere if necessary. The first collision sphere should always be named “COLS00.” Subsequent spheres are named “COLS01” to “COLS99.”
  6. Step 6Select each sphere in turn and edit its Object Properties. Make sure that the “See-Through” box is checked and that the Renderable box is not checked. When you’re done, click the OK button to close the Object Properties window.
  7. Having created all the bones, attachment points, and collision spheres that we need, our next step is to arrange them in a skeleton hierarchy. In this example, the process is very easy because we have only one bone, one collision sphere, and four attachment points to connect. All of the attachments points as well as the collision sphere are connected to the bone, which is the root node by default. Hence, in our hierarchy, the bone is the lone parent object, and the attachment points and the collision sphere are its direct child objects.

    Step 7aSelect a child object then click the “Select and Link” button, which is the third button at the bottom of the main menu.


    Step 7bMove the cursor to the chosen child object then click the mouse button without releasing it. Drag the cursor to the parent object, which in this case is the only bone in this model. A dotted line should stretch out as you drag the cursor. With the cursor over the parent object, release the mouse button. The white outline of a square will flash briefly around the parent object to indicate that a link was created between the two objects. Repeat this process for all the other child objects.


    Step 7cSometimes, it’s difficult to link objects in this manner, especially if one object encompasses or is very near the other. If that is the case, first make sure that the “Select and Link” button is not pressed then select the child object that you want to connect. Now click the “Select and Link” button and press the [H] key. This will bring up the “Select Parent” dialog box. Click the name of the object that you want to set as the parent then click the Link button at the bottom of the dialog box. This will cause the two objects to be linked.
  8. Step 8Optional step: If you want to make sure that you linked the objects correctly, press the “Schematic View” button, which is one of the rightmost buttons just under the main menu bar. This will open a Schematic View window. You should see a hierarchical view with the root bone at the top and the child objects below it. The three skin meshes are independent of this hierarchy and are not connected to it. Close the Schematic View window when you’re done.
  9. Rig each of the skin meshes with the bones that you created. I won’t go into detail in this step, having already explained this process elsewhere in my blog.


Exporting the Skeleton

You are now ready to use the Expotron. The first thing to do is to export the skeleton.

  1. Step 10Select all the bones and attachment points of the model. The easiest way to do this is to press the [H] key to bring up the Select Objects dialog box and press [Ctrl]+mouse click on each object that you want to select. Click the Select button at the bottom of the dialog window when you’ve selected all the bones and attachment points.
  2. Step 11In the File menu, select the “Export Selected…” option. This will bring up a dialog box for you to enter the name and type of the file to export. Under “Save as Type,” choose “Granny Run-Time (*.GR2)”. The name of the file that you enter should be the same as the name of the root bone node. Click the Save button.
  3. In the Granny Export Settings window, click Models. Make sure that the box beside “Include reference in export” is checked and that the box beside “Move to Origin” is not checked. Click the Export button at the bottom of the window.


Exporting an Animation

Every skeleton needs at least one animation – the idle animation. Since our statue model will not move a muscle while it is idle, this section is going to be easy.

  1. Step 13Press the Auto Key button near the bottom of the screen.


    Normally, at this stage, you would be setting frames and moving and rotating bones into position at each frame. Nevertheless, our model will be as lifeless as a rock, so we’re done with making its idle animation.
  2. Step 14Select all the bones and attachment points of the model. In the File menu, select the “Export Selected…” option. This will bring up a dialog box for you to enter the name and type of the file to export. Under “Save as Type,” choose “Granny Run-Time (*.GR2)”. Name the file to export C_name_IDLE, where name is the unique identifier of the model. Press the Save button to continue.
  3. In the Granny Export Settings window, click Animations. Make sure that the box beside “Include reference in export” is checked and that the box beside “Move to Origin” is not checked. Slide the Oversampling button all the way to the right then set “orientation curve tolerance” to 0.15.  Click the Export button at the bottom of the window.  When the animation has been exported, click the Close button.
  4. If there are other animations you wish to make, you may repeat steps 13 to 15 for each animation file. Release the Auto Key button when you’re done. My advice, however, is to defer creating anything other than the idle animation until you’ve checked your model in the toolset. This is because you may have to correct the coordinates of ap_camera and ap_halo first.


Exporting the Model

  1. Step 17We’re now about to export the model to an MDB file. If the main mesh is see-through, uncheck the see-through display option. Unhide all the lower level-of-detail meshes if they are hidden. Now select all the skin meshes.
  2. Step 18Go to the Utilities panel. If you don’t see Expotron among the list of utilities, click the More button and select “Expotron Utility” from the list that appears.
  3. Step 19Under “NWN2 Types,” click the button beside “Character (skin).” If your mesh will be using transparencies, click the button beside “Transparency Mask” under “NWN2 Flags.” Otherwise, make sure that the button beside “No Transparency” is selected.
  4. Step 20Under “Skeleton Name,” type the name of the skeleton file that you created for your model.
  5. Step 21Add all collision spheres to the list of currently selected objects.
  6. Step 22In the File menu, select the “Export Selected…” option. This will bring up a dialog box for you to enter the name and type of the file to export. Under “Save as Type,” choose “Neverwinter Nights 2 (*.MDB)”. Under “File Name,” type the name of your main mesh then click the Save button. In the Expotron Export Options window, make sure that all the boxes are checked then click the OK button.


Testing Your Model

  1. Step 23Copy your MDB and two GR2 files to the folder “My Documents\Neverwinter Nights 2\override”. Copy the appearance.2DA file to your override folder and add an entry for your model. Create a new module in the toolset and add a creature blueprint for your model. Add an area to the module, and put your creature on it. Make sure that the Skeletons button, which is below the main menu bar of the toolset, is pressed. Now examine the creature and its skeleton. Notice any problems?


    If you find that ap_camera and ap_halo are in their proper positions, go ahead and create the rest of the animations that this creature will need, if any. Otherwise, you’ll have to change the coordinates of these two attachment points. The Expotron does not seem to export the position of ap_camera and ap_halo correctly. To the best of my knowledge, this problem was first reported by Schazzwozzer at the NWN2 forums on December 3, 2007. At the time that he reported the problem, no one came up with a solution. I believe I have found a solution to this problem, which I will explain below.
  2. We’re going to work with the creature model in 3DS Max again. Select ap_camera and ap_halo in turn and write down their exact x, y, and z coordinates.

    Now for these two attachment points, exchange the x-coordinate with the z-coordinate. You may have to add a number to the three coordinates of each attachment point as well. I can’t say for sure what those numbers should be for any given model. I had to go through a process of trial-and-error to find the numbers that I needed to add for the model I made. The following are the formulas I used to derive the new coordinates:

    New X-ValueNew Y-ValueNew Z-Value
    ap_cameraOld_Z + 115Old_Y + 20Old_X + 5
    ap_haloOld_Z + 50Old_Y + 10Old_X


    Step 24Each time you change the coordinates of either or both these attachment points, you’ll have to re-export the skeleton and possibly the idle animation of your model to your override folder. You’ll be able to check out your model in the toolset to see if ap_camera and ap_halo are in their proper positions. If the above formulas don’t work for you, you’ll have to experiment with the values to add to each coordinate. If all goes well, you’ll see that ap_camera and ap_halo are in the exact position that you want them to be.
  3. The iron test for any creature model is to check it out in the game. Bake the area of your test module and prepare for a few encounters with your creature.


Below are screenshots that demonstrate that the statue’s spells do shoot out from its crystal. In each picture, one of the statues is a placeable, and the other is a creature. It's easy to guess which is which.



Acknowledgments

This blog post is based in part on the document Exporting Animated Creatures by Jay Bakke of Obsidian Entertainment. Even if you've already read this document, my blog post has some important information that you won't find there.

The screenshot shown at the beginning of this blog post was made by E.C. Patterson, aka ciViLiZed. I emailed him a copy of my placeable statue model, and he sent me back this picture. I love the way he lit the area in the screenshot. It highlighted the etching on the statue's breastplate very well.

Edit, 30 March 2012. Thanks also to Eguintir Eligard for pointing out some errors in the text on exporting animations. I have since corrected the text.

Edit, 3 May 2012. I removed the dead link to the Expotron and added some explanatory text on why it disappeared from the Vault.