Welcome to Planewalker Games! We are the home of The Broken Hourglass, a new CRPG in development for Windows, Macintosh, and Linux computers.
Inside the Engine: Introduction to dialogue

On the fourth Monday of the month, we discuss content development and modding topics in The Broken Hourglass. This month we build on our previous example and explore basic dialogue and store interaction.

Last month, we introduced Harika the shopkeeper as a CREATURE--she has basic stats, a sprite, some equipment, and an assigned area and X/Y position in the game. We also assigned her a dialogue and store resource, but we did not actually create those resources. We will do that now.

The important elements of Harika.CREATURE for our purposes in this installment are:

<Dialogue    value="harika-dialogue"/>
<Store        value="harika-store"/>

Dialogue in WeiNGINE is a state machine simulating a conversation between one or more gameworld characters. Participation from the player character is done through multiple-choice reply options.

We will create a file named harika.dlg/harika.d. (By convention, .d is the filename extension for files which contain dialogue code.)

A state of dialogue is identified by the dialogue resource it belongs to, and its state name. Each state in a single dialogue resource must have a unique name, which can be made up of almost any sequence of alphanumeric and some punctuation symbols.

One state label has a special, reserved meaning in the engine. When the player party clicks on a creature to initiate a conversation, the engine looks at the "talk" state in the dialogue (or dialogues) associated with that creature.

Therefore, this is how we get Harika talking:

Rules and Mechanics: Group Skills
On this third Monday of the month, we return to the subject of game rules in The Broken Hourglass. In this installment, we look at a special subcategory of skills and abilities, and find out why it can be very beneficial to have a few friends around.

Usually, the numbers and notation on a character sheet entirely reflect personal accomplishment, achievement, or potential. In the Broken Hourglass, however, some skills reflect the knowledge, ability, and potential of the entire party. These are collectively known as "group skills."

Most skills and statistics are not group skills. For example, a character's raw ability with a sword, or command over a type of magic, or agility, are all individual skills.

Group skills reflect those activities where it is reasonable or expected that the ability and insight of each member of the party could be used in conjunction, to increase the overall chances of success. For instance, it seems only natural that a group of smart shoppers working in tandem should be able to negotiate better prices in a shop than a single negotiator. Similarly, one strong tactical mind in a group during a fight is a benefit--but two working in tandem should be able to do even better.

First Gameplay Screenshots

We are pleased to unveil our first full gameplay screenshots from The Broken Hourglass! Click the thumbnail to download the high-resolution original.




On the Fly, Chapter 5

It's the penultimate chapter of On the Fly. If you missed the first four chapters, read them here.

On the Fly
By Bonnie Rutledge
Chapter 5

Absence makes the heart grow fonder.

Zephra could not wait any longer. She had made up her mind about leaving, yet now that she could spy the postman approaching the Aenarii villa, her feet were slow to move away from the window.

For nearly a week, she had clung desperately to the idea of remaining with Desonir. Mary's words had played a part in boosting her stubborn streak, but more than that, Zephra was reluctant to admit defeat. It was odd, but for the first time she experienced a measure of dread at the prospect of moving on to a new life. Zephra told herself that she should be eager to travel. She was bored, wasn't she? Whenever Zephra was bored, it was time for new escapades, new scenery--new men. Leaving was the simple, obvious answer.

But simple answers do not always bring simple comfort. Now that she was confronted with a practical resolution, Zephra managed to feel worse. Where was the passion in giving up? What adventure lay in being reasonable?

Lyrio, bless him, remained easygoing. "Have you ever been to the capitol? Ah, the sights!" he said. "You'll never think of Mal Nassrin as a city once you've seen the Imperial palace. Why, this place is like a dirty old stocking, while Azmadisha is the polished crown of Rhyth! I'll show you! There's the Imperial Arena, the Imperial Menagerie, the Imperial Gardens..."

"It all sounds very imperious," Zephra teased.

Lyrio rattled on, rapt with the prospect of playing her tour guide. "And the Imperial Post Office! They handle letters from Primarch Zaluris, herself, there. Did you know Imperial stamps are made of gold? The Primarch's postal officers use wax underneath to bevel the emperor's profile into the foil." The elf clasped his hands together and issued a wistful sigh.

Zephra did her best to appear appreciative. It was, after all, the plan. Zephra put the fact that this excellent progress depressed her down to last-minute nerves.

It wasn't that she feared that Mary or any of the other house men-at-arms would stop her from going. Not this time. The day prior had been fraught with intrigue, serendipitously easing her path out the door.

Ringing In the New Year, Tolmiran-Style
In the cities and villages of the Empire, the New Year is celebrated shortly before the spring equinox--what we would call March 1. Tolmiran traditions include:

- "Freeing the Old Year." In order to purge the old year and welcome in the new, Tolmirans often leave all of their doors and windows open all night, and employ pots, pans, and crude fireworks in order to shoo the demons and spirits of the old year on their way. Lighting streets and homes as brightly as possible is a newer tradition accompanying many New Year celebrations. Overnight illumination was originally reserved for a minor state holiday and had nothing to do with the change of the calendar, but as burglars began taking greater advantage of the "open-door" policy, larger cities subtly shifted the bright night to New Year's.

- "Prosperous New Year." Many look to the New Year to improve their fortunes, so throwing anything away on New Year's Day is widely considered to be bad luck. As the superstition goes, making oneself poorer on New Year's Day invites further destitution the rest of the year. Taken to extremes, in many areas trash and even dead bodies are not collected or hauled away, and kitchen and privy wastes have even been known to accumulate in the most orthodox homes. Many Tolmirans arrive to have something delivered to their home during the day as a spur to New Year's prosperity, ranging from a card or letter to a morsel of food to a floral arrangement.

Inside the Engine: Creatures
As promised last month, in this special Boxing Day edition of Inside the Engine, we take a deeper look inside creature definition files.

Broadly speaking, any living being on the screen is a "creature", whether it is the player character, a joinable NPC, a shopkeeper, or a bloodthirsty beast. Like most other WeiNGINE resources, creatures are defined by one or more XML data files.

There are actually three different types of file which can be used to define a creature. The first is the "character" file, a special resource which defines objects which a console player (the person sitting at the computer) can select to start a game session with. Character files are most commonly created using the game's built-in character creation interface, although they may be tweaked or edited once generated, or constructed from scratch if truly desired.

The second is the "creaturetemplate" file. Don't be fooled by the presence of "template" in the name--these resources can be fully-defined humanoids, animals or monsters, rather than just a fragmentary template. But they do not appear in the gameworld unless specifically called by a scripting command, such as _create_creature. A creaturetemplate may be modified as it is brought into the gameworld, and may be called multiple times. For instance, a party of four guards may be created through script. Each guard may use the "guard.CREATURETEMPLATE" resource as it is created, but have a different resource name assigned to it ("guard-1" through "guard-4"), so that further script actions may act individually on the guards by unique name.

The third is the "creature" file. The crucial difference between a creaturetemplate and a creature is that a creature has attributes in Area, X, and Y--that is, it is specifically defined to appear on a game map, in a predetermined position, and will "always be there" unless it moves around or is killed. Because they appear in one place and in one place only, and are not dynamically created by script, we sometimes refer to these as "static creatures."

<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>