• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            天行健 君子當自強而不息

            Controlling Players and Characters(18)

             

            Shops and Bartering

            Resources are commodities, so characters will want to buy and sell their wares from
            and to each other. Only specific characters in a game are open to bartering. These
            characters are commonly called “shopkeepers” because they tend to appear only in
            stops. You know the drill—enter a shop, approach the counter, and begin dealing.

            There are specific types of shops for each type of resource dealt with—item shops,
            weapon shops, armor shops, and so on. You can use a standard approach to shops
            in all instances.

            Character inventory control systems are not just for PCs; here the inventory control
            system (ICS) comes in great for shops and shopkeepers.
            Shopkeeper characters have a unique ICS attached to them, one that determines
            which items a given shopkeeper character can sell. You don’t have to worry about a
            shopkeeper buying items; all shopkeepers can buy all items marked as sellable (for
            a reduced cost as defined in the item definition, that is).

            Buying an item from a shopkeeper is a matter of displaying the shopkeeper’s list of
            items and their cost. Normally, shopkeepers never run out of stock, no matter how
            many items the player buys; but occasionally you’ll want a shopkeeper to sell only
            one instance of an item.

            Some tinkering with the ICS is in order, but only in terms of quantity of items. If a
            shopkeeper has an unlimited amount of an item, you set the quantity of that item
            in the ICS as 2 or more.
            A quantity value of 1 means that the shopkeeper can sell the item only once.
            Ingenious, isn’t it?

            You will find it better to work with shops outside the character code and in the
            game’s main application code.

             

            Working with Magic and Spells

            Naturally, a first-rate role-playing game must have characters capable of harnessing
            the mysterious magical powers of the unknown in order to reduce the game’s
            denizens to small piles of charred flesh. Even if you’re not into the deadly side
            of magic, don’t just dismiss the benefits of a well-timed healing spell. Magic plays a
            major part in role-playing games, and now is the time to find out how to blast your
            game’s players with awesome spells and their inevitable effects on the targets.

            From a gamer’s point of view, a spell is a fancy flash of graphical goodness,
            although from the game engine side, a spell is nothing more than a function that
            alters character data. Your game engine can separate graphics and functionality,
            the two components of a spell, thus making each component easier to handle.

             

            Spell Graphics

            Using 3-D meshes, you can easily deal with the graphical portion of a spell. These
            spells originate from the spell caster and journey forth to their intended targets, at
            which point, the spell takes full effect on some poor character. This happens in
            three steps—origination of the spell mesh, traveling of the mesh, and when the
            mesh reaches the target. With each step, you can assign an animated mesh, which
            means that a spell can have up to three meshes graphically representing it.

            To increase the choices in creating your game’s spell effects, the position and motion of those three
            meshes are not fixed. In fact, any of the three meshes can hover over the caster or target, move from caster
            to target or target to caster, or stretch out between the caster and target.

            Whenever a mesh is hovering over the caster or target (or stretching out between the two), it remains
            there for a fixed amount of time (measured in milliseconds). This gives your mesh the chance to
            complete its animation cycle (or multiple cycles).

            NOTE
            Each mesh is displayed separately.Two spell meshes can never be displayed at once.When one
            mesh completes its cycle, it is released, and the new mesh takes its place.

            As for moving meshes (moving from caster to target or vice versa), a mesh is
            assigned a speed of movement (measured in units per second). Once a mesh
            reaches a target, that mesh is dismissed, and the next mesh takes over (if any
            meshes are to follow).

            Say that you have a fireball spell. Only two meshes are required. The first mesh,
            a fireball, originates from the caster and moves toward the target, as illustrated in
            Figure 16.8.

            The second mesh, an explosion, takes over when the first mesh reaches its target.
            The explosion mesh hovers over the target and cycles a few times to give the
            appearance of some real damage taking place. You’re probably wondering about
            those times when you don’t want a spell to move but still want it to extend toward
            your target. That’s the reason for the stretch positioning of meshes.

            If you define a mesh that extends outward in the positive Z-axis (which you should
            always do), that mesh can hover over the caster and scale so that the farthest extent
            of the mesh touches the target. This stretching (or rather scaling) is perfect for
            spells such as lightning or a groundball spell that ruptures the ground between the
            caster and the victim. Although not apparent at first glance, the groundball spell
            described in Figure 16.9 shows a small brownish-colored mesh
            that is stretched out from the spell caster to the target character.

            As you can tell, tracking the three meshes of the spell graphics component is just a
            matter of loading the appropriate meshes and rendering the correct one at its
            proper position over a period of time. Upon completion of the required mesh
            cycles, the graphics segment of spells is complete, and it’s time for the functional
            portion to take over.


            posted on 2007-11-14 23:08 lovedday 閱讀(170) 評論(0)  編輯 收藏 引用

            公告

            導航

            統計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關鏈接

            搜索

            最新評論

            国产激情久久久久久熟女老人| 久久久久久免费一区二区三区| 久久影院亚洲一区| 99精品国产99久久久久久97| 久久亚洲国产成人精品性色| 久久人人爽人爽人人爽av | 精品久久久久久国产三级 | 久久午夜无码鲁丝片午夜精品| 欧美激情一区二区久久久| 成人久久精品一区二区三区| 欧美与黑人午夜性猛交久久久| 色8久久人人97超碰香蕉987| 久久久久国产精品嫩草影院 | 欧美日韩中文字幕久久伊人| 亚洲日本久久久午夜精品| 91精品国产色综久久| 亚洲AV无码久久精品成人| 日本久久中文字幕| 99久久国产综合精品成人影院| 久久精品国产2020| 欧美亚洲另类久久综合婷婷| 大美女久久久久久j久久| 国产精品免费福利久久| 久久婷婷五月综合色奶水99啪| 久久精品国产99久久香蕉| 久久国产精品国产自线拍免费| 无码AV中文字幕久久专区| 久久久久亚洲AV无码专区首JN| 亚洲国产成人精品91久久久 | 久久精品国产清自在天天线| 久久夜色精品国产亚洲av| 久久久久婷婷| 日日狠狠久久偷偷色综合96蜜桃| 色综合久久精品中文字幕首页| 久久精品国产亚洲av日韩| 欧美午夜精品久久久久免费视 | 亚洲国产成人久久综合一区77| 久久97久久97精品免视看秋霞| 久久久久国产精品三级网| 色播久久人人爽人人爽人人片aV| 久久夜色撩人精品国产|