Yet Another Game Design Studio Blog http://www.yagds.com/blog.php Yet Another Blog on the WWW en-us Mountain Bandits - A one-shot adventure for any RPG system http://www.yagds.com/blog.php?d=19

The adventurers find themselves in a small mountain village, the local innkeeper has just informed them of a recent string of thefts that have been taking place in the area. 

The local militia suspect a band of bandits have been targeting the village for some time, but have had no luck tracking them down.

The adventurers have been requested to investigate the thefts, and put an end to the banditry.  
They are given a map of the area and told to search the nearby mountains for any sign of the bandits. The adventurers make their way up the mountain, and after a few hours of climbing, they come across a small cabin in a clearing. The door is open and inside they find a band of bandits, who immediately draw their weapons and demand to know who the adventurers are.

The adventurers must then decide how to proceed. Do they attack the bandits and try to take them down, or do they attempt to negotiate and try to get the bandits to leave the area peacefully?

Whichever path they choose, they must be careful, as the bandits are no pushovers and they are not alone. In the corner of the cabin, they find a strange figure, a powerful mage who the bandits have been using to help them with their thefts.

]]>
Wed, 18 Jan 2023 01:44:32 -0800 http://www.yagds.com/blog.php?d=19
"Dark and Misty" - A One-shot Adventure Scenario http://www.yagds.com/blog.php?d=18 The players find themselves in a small village on the outskirts of a dense forest. They have been summoned by the village elder, who tells them that a powerful artifact has been stolen from the local temple. The artifact is said to be able to grant immense power to whoever possesses it, but it must be returned to the temple before it falls into the wrong hands.

The village elder has heard rumors that the thieves have fled into the forest, and he believes that they are planning to use the artifact to summon a powerful demon. The players must venture into the dark and misty forest to track down the thieves and retrieve the artifact before it's too late.

As they make their way through the forest, the players must contend with treacherous terrain, dangerous creatures, and eerie supernatural phenomena. The mist is so thick that visibility is limited, and the players must use their wits and skills to navigate the forest and avoid getting lost.

As they get deeper into the forest, the players come across a clearing where they find the thieves performing a dark ritual to summon the demon. They must fight the thieves and their minions to retrieve the artifact. The fight will be difficult, as the thieves have harnessed the power of the artifact to make themselves stronger and more dangerous.

If the players are successful, they will have saved the village and prevented the demon from being summoned. They can return the artifact to the temple and be rewarded by the village elder. If they fail, the demon will be unleashed upon the land and the players will have to face the consequences of their failure.

---- DM NOTES ----

This is a DARK and MISTY adventure.  The fog is so thick it makes navigation difficult.  Thus, for this adventure travel through the forest should be a significant amount of game time. 

Have the PCs decide on one PC that will be the navigator (best survival, navigation, outdoors skills).  Every 10'-50' of travel should create an opportunity for a PC skill check for direction.  On failed rolls, take the difference between the required success and the actual roll.  For example if the character needs a 15 or less and rolls 18, then they missed by 3.  Using a standard Hex starting at the top as 1 move clockwise to each face for 2, 3, 4 (down), 5 and 6.   2,3 are the angle faces to the right and 5,6 are the angle faces to the left.   The miss calculated above would be the direction of travel PCs actual move.   This way there is a 1 in 6 chance that while they are lost, they actually moved in the right direction.

Every 50'-100' there should be a check for a random event:  Encounter, Trap, Marsh, Cave, Object, Non-Encounter Creature (squirrel), Unique Feature, Noise in distance, etc.

Travel from Village should be between 5,000' (about 1 mile) and 15,000' (3 miles) before encountering the thieves.  Checking every 10' and 50' will make this travel time long and much of the game time.   Remember that game time of 2-3 hours might be only 20 minutes of travel time.

Use of Random Tables from multiple sources should be used.  Changes in terrain should occur no more often than once every 1,500'-2,500' and should be slow and gradual.  If a Random table wants the terrain to change from Forest to Desert, it should occur over 1,500'-2,500'.  Meaning it will be 4,500'-7,500' to exit one terrain type, travel in the new terrain type and exit it before a new terrain type can be fully encountered.  

]]>
Sun, 15 Jan 2023 14:34:19 -0800 http://www.yagds.com/blog.php?d=18
"Bandit Surprise" - One Shot Side Adventure #2 http://www.yagds.com/blog.php?d=17

The sun was high in the sky as your party of adventurers approached the small village of Oakdale. As you entered the town square, you noticed a group of people huddled around a notice board. Upon closer inspection, you saw that the notice was a call for help from the town's mayor.

According to the notice, a group of bandits had been terrorizing the town and stealing from the merchants. The mayor was offering a reward for anyone who could bring an end to the bandits' reign of terror.

Your party decides to take on the task and set off to track down the bandits. After several hours of searching, you come across a small campsite on the outskirts of town. As you approach, you see the bandits lounging around their campfire, completely unaware of your presence.

You have a few options at this point. You could try to sneak up on the bandits and catch them off guard, or you could confront them head on and try to intimidate them into surrendering.

If you choose to sneak up on the bandits, you'll need to make a stealth check to see if you can get close enough to take them down without being noticed. If you succeed, you'll be able to take out several of the bandits before they have a chance to react.

If you choose to confront the bandits head on, you'll need to make a persuasion check to see if you can talk them into surrendering peacefully. If you succeed, you'll be able to bring an end to the conflict without any further violence.

However, if either of these attempts fail, you'll need to engage the bandits in combat. The bandits are a tough group, but with your party's skills and abilities, you should be able to emerge victorious.

After defeating the bandits, you return to the town of Oakdale to collect your reward from the grateful mayor. Your adventure in Oakdale may have been just a side quest, but it was a valuable experience that helped to strengthen your skills and earn some much-needed gold.


]]>
Sat, 07 Jan 2023 20:31:21 -0800 http://www.yagds.com/blog.php?d=17
New Feature - One-shot short side adventures http://www.yagds.com/blog.php?d=1

This is the first in what while hopefully become a series of short one-shot side adventures for use in any campaign setting.  These are system agnostic and can be used for whatever purpose the GM requires.  To make it an easy improvised session use Random Roll tables for settings, environments, NPCs, etc.   Now on to the first adventure.

-----------------------------

"The Missing Mayor"

A small town has been thrown into chaos after the sudden disappearance of the mayor. The town council has offered a handsome reward for anyone who can find him and bring him back safe and sound. The mayor was last seen visiting an old, abandoned mansion on the outskirts of town, and rumors have circulated that the mansion is haunted.

As the players arrive in town, they are quickly drawn into the mystery of the missing mayor. They may choose to investigate the abandoned mansion, speak to the townsfolk to gather clues, or search for other leads.

As the players explore the mansion, they encounter strange and eerie occurrences. They may hear ghostly whispers, see objects move on their own, or catch glimpses of shadowy figures in the corners of their eyes.

As they delve deeper into the mansion, they uncover a secret underground tunnel leading to a hidden laboratory. In the laboratory, they find the missing mayor, who has been kidnapped by a group of mad scientists experimenting on him.

The players must now decide whether to rescue the mayor and bring him back to the town, or expose the mad scientists and their illegal experiments to the authorities. Whatever they choose, their actions will have consequences for the small town and its inhabitants.

Will the players be able to solve the mystery of the missing mayor and restore order to the town, or will they succumb to the dangers lurking in the abandoned mansion? The adventure is up to you!


]]>
Sat, 01 Jan 2023 20:12:35 -0800 http://www.yagds.com/blog.php?d=1
An Assassins' Guild http://www.yagds.com/blog.php?d=16 This guild is based on BehindTheTables by Orkish Blade found at www.reddit.com/r/DnDBehindTheScreen

The guild's leader is a dashing swashbuckler.

The guild's symbol is a snake.

The guild's main goals include eliminating a corrupt Trappers guildmaster in foreign city or region. (leadership and rank-and-file members could have different goals but as a Guild this is the main goal).

The guild's headquarters is located/hidden on or near a merchant's office.

The guild is feared by soldiers and warriors and respected by guards and sheriffs.

The guildmembers typically strike with ambush tactics.

The guild's preferred method of execution is burning alive.

The guild typically plans their attacks to take place the wee hours of the morning

The guild will not take out contracts on young children.

Guildmembers are typically armed with bows and arrows and operate by infiltrating an organization. Each Guildmember typically knows several other guildmembers.

A few of the Guild Members
=====================

1 The assassin has a wide-brimmed hat., carries a blade with a hilt carved of oak and is looking for someone to frame up for a murder.
2 The assassin has a scar on the forearm., carries a blade with a bat sculpted into the steel of the guard and is looking for a rowdy evening of carousing.
3 The assassin has a mask covering the face., carries a blade with spiders sculpted into the steel of the guard and is looking for a rowdy evening of carousing.
4 The assassin has a dagger in each boot., carries a blade with a gently curved hilt and is looking for rumors that may lead to a new client.
5 The assassin has a high-pitched laugh., carries a blade with a gem embedded in the pommel and is looking for an easy contract.
6 The assassin has a dagger in each boot., carries a blade with a hilt carved of ivory and is looking for a rowdy evening of carousing.
7 The assassin has a scar on the face., carries a blade with a gently curved hilt and is looking for someone to frame up for a murder.
8 The assassin has a scar on the face., carries a blade with a gently curved hilt and is looking for rumors that may lead to a new client.
9 The assassin has neatly trimmed mustaches., carries arrows/bolts with bronzed tips and is looking for an easy contract.
10 The assassin has a flashy earring., carries arrows/bolts fletched with crow feathers and is looking for extra muscle for a tough assignment.
11 The assassin has a wide-brimmed hat., carries arrows/bolts fletched with crow feathers and is looking for an easy contract.
12 The assassin has a gold signet ring., carries arrows/bolts fletched with peacock feathers and is looking for a rowdy evening of carousing.

]]>
Wed, 26 Oct 2022 18:24:28 -0700 http://www.yagds.com/blog.php?d=16
10 Adventurer Guild Job Postings http://www.yagds.com/blog.php?d=14 So here is something new from me.  Random Tables for Solo RPG play or to use in your group RPG games.

Roll 1d10 

-----

1) Save the Prince: On Success:1200gp, +1 Reputation On Failure:-800gp, -2 Reputation, -5 "skill points"/Levels between all party members.


The kingdom is in turmoil because the prince and heir to the throne has been taken hostage by an evil Skeleton. Explore the area North west from your current location. Here the adventurers will locate the Skeleton's camp. Rescue the Prince.

Before each combat turn, roll 1d20:
15-19: the Skeleton moves towards the Prince, each PC gains 1 attack of opportunity. (all distances must be taken into account)
20: the Skeleton cast a Death-Ray spell at the prince. Each PC gets 1 action to distract Skeleton to stop the Prince from being killed.

If Skeleton has previously moved towards the Prince, roll 1d10:
1-4: moves closer
5-7:Skeleton stabs Prince for 12 damage, +3 bleeding damage per turn.
8-10:Skeleton slashes Prince's throat for 16 damage and 7 bleeding damage per turn.

If Prince dies, PCs suffer an additional -3 Reputation. Each member of the party needs to roll 1d20. If any PC rolls a Natural 1: the King places a bounty of 8400gp per PC. The PCs are now "WANTED" and suffer a -5 penalty to all reaction rolls. PCs must use disguises to enter any settlement.

Any escape reaction roll by the monsters should be ignored.
------
2) Extended Dungeon Delve: (Enc Modifier: +10 On Success:3000gp On Failure:-300gp)
Enter and explore the dungeon as indicated on the provided map. Explore 4 levels of the dungeon. Explore at least 500 feet on the lowest level.
------
3) Medicine Hunt: (Enc Modifier: -10 On Success:34gp On Failure:-1/3 gold)
An illness is spreading through the area. Collect 3 sesame (Sesamum indicum) in order for the priest of the village to make a cure.
------
4) Mystic Study: (to be expanded on)
------
5) Relic Expedition: (to be expanded on)
------
6) Manuscript Hunt: (to be expanded on)
------
7) Explore Dungeon: (Enc Modifier: -5 On Success:300gp On Failure:-900gp)
Enter and explore the dungeon as indicated on the provided map. Your assignment is to explore either the entire dungeon or 2875 feet into the dungeon. (Whichever is less).
------
8) Totem of Finesse: The Totem has been lost to the ages, however, a local shaman recently was given a piece of cloth with a new "clue" to the Totem location.  The Shaman would like for the adventurer's to travel to a lost temple in the nearest desert and locate the Totem.   Totem of Finesse +5 Dexterity while carried in off-hand, +3 Dexterity if worn as necklace/amulet, +1 Dexterity if carried on person (belt bag, back pack, etc).
------
9) Treasure Expedition:  The adventurer's have found either a map, a description or heard a tale of lost treasures.  Travel 6 Hexes and locate an old ruin in that or one of the adjacent hexes.   Use Overland Travel rules for this expedition.  Each hex = 36 miles.  Exploration of a single hex should take 3-4 days.   Roll 1d20 each 1/2 day.  Roll of 1 or 20, ruins found.   1 = Correct ruins.  20 = wrong ruins, but party will find a letter/book/map showing the location of the correct ruins.  Randomly assign location at least 1 day away from the found ruins.
------
10) Extended Dungeon Delve: (Enc Modifier: +10 On Success:1000gp On Failure:200gp)

Enter and explore the dungeon as indicated on the provided map. Explore 2 levels of the dungeon. Explore at least 200 feet on the lowest level.
------

]]>
Mon, 24 Oct 2022 17:20:50 -0700 http://www.yagds.com/blog.php?d=14
Slow return to this website/blog http://www.yagds.com/blog.php?d=13 I have not posted here in just over a decade.  Sorry, real life got in the way.   In summary:

2013-2018 I changed jobs and was working for myself along with as an independent contractor (Consultant) for a large firm.  The Consultant work put me on the road between 26 and 40 weeks out of the year.  YES, 40 weeks one year.  The rest averaged around 34 weeks on the road.  Multiple times I would come home on a Saturday night (arriving around 6pm), do wash, eat dinner with the family, finish wash, go to bed and then leave 4am to head back to the airport on Sunday morning and gone for another 6 days.  Yes, I was home less than 12 hours.   I think the record was home 9 hours between trips.  However, there were multiple times where I would fly to client/event #1, leave and fly to client/event #2, leave and fly to client/event #3 before finally returning home.  Every time I was on the road to a client or event location I was scheduled for 6 days (Monday through Saturday noon).   Thus, many of these trips I would be on the road 14 or 21 days straight without seeing my family. 

In 2014 my wife closed her medical practice and became a salaried employee for an Urgent Care Center.

In 2019 I couldn't take it any longer and things were working out that I would be on the road for 40 weeks for a second time.  Half way through the year I said, "No" one time to many and got push back from my manager and his boss.  I needed to be on the road more.  So I said, "Your choice, no or I resign".  They pushed and pushed and pushed and so I said, "My private business has grown as much as the work from y'all, in order to better serve my direct clients, Bye".     

2020 and then COVID-19 hit the US.  I lost 75% of my business over the month of May and June.  I was able to continue and keep my business open, thankfully due to my wife having changed to a salaried position in 2014. 

2021 COVID-19 continued to impact my business with slow growth re-starting in June 2021.  

2022 In March I had an angio-cath done and found that I had 100% blockage of the "Widow maker", along with 85% and 60% in two other arteries.  I had Open Heart Triple Bypass surgery and have been recovering ever since.   In May 2022 (7 weeks after Open Heart surgery), my wife and I travelled to the Artic Circle.

And so that brings y'all up to speed.  I recently started Solo-RPGing and will be organizing and posting to this blog.  No idea how things will go, if like other endeavours, probably slowly.




]]>
Tue, 05 Jul 2022 13:31:05 -0700 http://www.yagds.com/blog.php?d=13
Part 2: Developing a Magic System for RPG http://www.yagds.com/blog.php?d=12 OK so lots of information posted in the prior post.  This is going to be a real quick post about restrictions/prohibitations related to learning the different planes of magic and associated penalties.

I have been using the term PLANE Energy User going forward I am going to use the generic MAGE or MAGES to refer to these individuals.

A Mage will learn one primary Plane of Magic.  Once a Mage learns spells in his Primary Plane, and is of sufficent level, the Mage can attempt to learn spells in both of the adjacent Planes.  However, the Mage will suffer penalties when dealing in the adjacent Planes.  These penalties are summarized as follows:
 
50% Penalty
To Learn Spells
50% Penalty
To Successfully Cast the Spells
50% Penalty
Damage/Range/Time
100% Penalty
In Mana Energy Cost
Table 1: Penalties for spells in Secondary Planes
 
 
The 100% Penalty to Mana Energy Cost means that the cost is doubled.  (Add 100% to the base cost.)

Because of the flow of energies, Mages are prohibited from learning the Plane of Magic directly across from them.  Additionally, the two Planes immediately adjacent to the Plane directly across from theirs are also prohibited.  A Mage can attempt to learn spells in the Planes just outside of their secondary Planes (Mid-Line Planes or Tertiary Planes), however the penalties for doing so are heavy.


These penalties are as follows:
 
90% Penalty
To Learn Spells
75% Penalty
To Successfully Cast the Spells
50% Penalty
Damage/Range/Time
200% Penalty
In Mana Energy Cost
Table 2: Penalties for spells in Tertiary Planes
 
 
The 200% Penalty to Mana Energy Cost means that the cost to cast the spell is tripled.  Add 200% to the base cost.  If the cost is 10 Mana then for a spellcaster to cast a Tertiary Plane Spell the cost will be 10 Mana + (200%*10 Mana) = 10+20=30 Mana or 3x the Base cost.

Also the Penalties are the last adjustment applied to any calculations.  Therefore, if the chance to cast a spell is calculated at 80% before the adjustment, then the actual success chance will be 20% based on 80% - (75% of 80%) = 80% - 60% = 20%.

The following table listed the accepted and prohibited planes based on primary plane.
Primary Plane
Allowed Secondary
Allowed Tertiary
Prohibited Planes
Life
Shamanic
Bardic, Druidic
Illusion, Conjuring,
Sorcery, Necromanic, Summoning
L&T Mix
Druidic
Shamanic, Conjuring,
Bardic, Summoning
Illusion, Sorcery, Necromanic
Terrestrial
Conjuring
Druidic, Summoning
Shamanic, Necromanic
Bardic, Illusion, Sorcery
D&T Mix
Summoning
Conjuring, Necromanic
Druidic, Sorcery
Illusion, Bardic, Shamanic
Death
Necromanic
Summoning, Sorcery
Conjuring, Illusion
Bardic, Shamanic, Druidic
D&E Mix
Sorcery
Necromanic, Illusion
Summoning, Bardic
Shamanic, Druidic, Conjuring, Summoning, Bardic
Ethereal
Illusion
Sorcery, Bardic
Necromanic, Shamanic
Druidic, Conjuring, Summoning
L&E Mix
Bardic
Illusion, Shamanic
Sorcery, Druidic
Conjuring, Summoning, Necromanic
Table 3: Acceptable Secondary Planes and Prohibited Planes


The Mage will be strongest against Mages of the Plane directly opposite of them. Thus a Life Mage is strongest against a Mage from the Death Plane.  The Mage is weakest against Mages in his own Plane.   The Mages effectiveness against other Planes are based on the how close/far they are to each other.  Please refer back to my octagon picture in Part 1

To summarize this:
  • Primary Planes are Strongest against attackers/defenders using the plane directly across from them. (100% Spell Effectiveness)
  • Primary Planes are 80% effective against attackers/defenders using the planes adjacent to the plane directly across from them.
  • Primary Planes are 60% effective against attackers/defenders using the Planes that form the Mid-Line between their Plane and the Plane directly across from them.
  • Primary Planes are 40% effective against attackers/defenders using their own Secondary Planes.
  • Primary planes are 30% effective against attackers/defenders using their own Plane.

Please note that all success and Mana Energy costs stay the same (i.e. normal, 100%).   The above is applied to damage/effect after the spell has been succesfully case.  You will not round results but drop anything to the right of the decimal.  Thus 5.75 will be 5 and not 6. You are basically being penalized based on the type of Mage you are facing.
 
Example:  Carlos, a level 20 Life Mage, is facing Beauford, also a level 20 Life Mage.  Carlos attempts to cast his "Cause Wounds" spell.  He has just enough Mana to cast the spell and it is successful for his 6d12 worth of damage.  Carlos rolls 29 points of damage.  Since he is only 30% effective against other Life Mages thus he does 29*0.3=8.7 (drop everything to the right of  the decimal) 8 points of damage.  If Beauford had been a Death Mage then the full 29 points of damage would ahve been dealt.
 
Hope y'all are seeing how this system of magic is being put together and how it will on one hand be a much better magic system than other games but on the other hand as complex or simple as the referree wants it to be.
 
Till next time!
]]>
Tue, 29 May 2012 13:45:09 -0700 http://www.yagds.com/blog.php?d=12
Part 1: Developing a Magic System for RPG http://www.yagds.com/blog.php?d=11 This is a system I have been working on since around July 2009.

Over the past several months I have been working more and more on this magic system for RPG style games.  One of the major things that I have contemplated is that most magic systems do not actually look at the underlying "energies" involved.  These "energies" must interact not only with the Player Character and Non-Player Characters but also the world that they interact with.

What I have developed is basically a system that looks at 4 primary Energy Sources for magic.  These 4 energy sources interact in such a way as to make for 8 different "Planes of Magic".  I represent this best by using an octagon divided into eight pie slices.  Graphically these eight Planes of Magic can be looked at like this:

Planes of Magic

The Four Energy Sources of Magic are:

  1. Life
  2. Death
  3. Terrestrial
  4. Ethereal

Where each of the above Energy Sources intersects or overlaps with other Energy Sources we have what I term "Hybrid/Mix".  The four  "Hybrid/Mix" Energy sources are:

  1. Life - Terrestrial Mix
  2. Death - Terrestrial Mix
  3. Death - Ethereal Mix
  4. Life - Ethereal Mix

Energies that are "directly" across from each other in the above graph can not interact with each other.  They effectively negate each other.  Therefore, a mage that utilizes pure Life Energy can not also practice Death Energy based magic.  However, the pure Life Energy user can practice spells (at high level) in which they "reverse" the flow of the energies.  Thus a Life user that normally would use the "Positive" energy flow to heal, can use the "Negative" energy flow to cause injury.  They are not using Death Energies to inflict the injury they have just reversed the energies that they normally use.  This reversal of energies tho' takes a lot of concentration and effort and can not be achieved at low levels of skill.  Additionally, the reversed energy spells tend to take/use more of the users magical reserves (Mana).  We will discuss this later when we get into more specifics of implementation of this system.

 

So what are we specifically talking about related to these 8 energy fields?

Starting with the primary energy sources this is what we would have.

Life Energy

The Life Energy source allows the practitioner to call energy from living beings, creatures and monsters, they do not call energy from plant life as plant life is dervied from both Life Energy and Terrestrial Energy sources.  The Life Energy form of magic allows for the mage to invoke mystically rituals that will heal others, cure poisons, stop disease or even at high levels restore life.  Because this is a ritual based magic, interruption of the proper steps may cause serious harm to the individual being helped. 

At low levels of knowledge the fledgling Mage can only provide restorative type spells.  As briefly discussed above, at higher levels of knowledge the Life Mage can with difficulty reverse the spells energy flow and actually cause pain and suffering, damage, poison, disease and even death to the target.

The pure Life Energy Mage is typically called Shaman, Doctor, Cleric, Priest, Faith Healer, etc.

 

Opposite of Life Energy is

Death Energy

Death Energies flow from dead and decaying things.  Death magic is another highly ritualized based magic.  Interruption of the proper steps have serious consequences to the caster. 

At low levels the Death Mage will be able to re-animate creatures/beings that have recently died.  This is not bringing back to life the creature, it is more like a puppet on strings.  While there are no physical strings between the Death Mage and the re-animated being, there is a "invisible energy string" that connects the two.  Because of this the Death Mage is limited in the number of re-animated creatures he could control at any one time.  However, the Death Mage does not need to verbalize commands in order for the re-animated being to do his bidding.

Other spells that a Death Mage may be able to cast include spells that allow for foretelling future events by extracting the knowledge from multiple deceased beings.  Further they are able to gain "special powers" from the use of the organs from the dead.  They can "integrate" the limbs of the dead into their own body for short periods of time, i.e. add a third arm, leg, hawk eye - distant vision, fish gills - breath underwater, etc.

They are also able to easily inflict pain and suffering, damage, poson or disease and even death on enemies.  At very high levels they can with difficulty reverse the Death Energy and heal others, cure poisons, stop diseases and in some case restore life.

The pure Death Energy mage will typically be called Necromancer, Devil Worshiper, Fortune Teller, Spirtualist, Voodoo Doctor, etc.

 

Terrestrial Energy

Terrestrial Energy flows from the planet.  Terrestrial Energy does not include plant life as previously stated, plant life is obtained from both Life Energy and Terrestrial Energy.  Users of Terrestrial Energy will typical form tools from the earth that are empowered with special abilities.  Typically these tools will be Jewlery, Shovels, Picks, Axes, Swords, Shields, Amulets and Armor.  Additionally the "tools" might be animated creatures such as Clay, Stone or Iron Golems.  Energy for Terrestrial users comes from the planet itself, therefore as long as they have a firm footing, they can still perform magic.  In fact, many Terrestrial Energy users are know to carry around small clay containers with earth or minerals in them in order to always have access to a little Terrestrial Energy at all times.

While not as ritualistic as Life or Death Energy users, Terrestrial Energy users tend to work with lots of potions, concoctions and mixtures.  In fact many Terrestrial Energy users might pose in "Non-Magical" professions and just happen to have the reputation of making items that do not wear out as fast, are the most colorful, or even a little "enchanted ".  Most Terrestrial Energy users will be involved in  "ore testing and refining, metalworking, production of gunpowder, ink, dyes, paints, cosmetics, leather tanning, ceramics, glass manufacture, preparation of extracts, liquors, etc".  At some point in their lifetime most Terrestrial Energy users will have pursued "The Philosphers Stone" or "Aqua Vitae" the "Water of Life".

Typical names for Terrestrial Energy users are Alchemist, Conjurer, Chemist, Scientist, Tinkerer, Machinist.

 

Ethereal Energy

The users of Ethereal Energy are working with Time and Space, Reality and Illusionary, and maybe even the "Spirit World".  The use of these energies allow the Ethereal Energy user to form illusions or divine events, make them appear as if they are telekinetic, telepathic or even clairvoyant.  Most Ethereal spells cause no damage, but they will mess with your sanity.  The use of Ethereal Energies tends to be a "Highly Intellectual" pursuit, and these users tend to be the most "egotistical" and "Holier than tho" individuals in a group, if you can even find them in a group.  These individuals tend to drive all around them away with their attitude and demeanor.

Because of the "Highly Intellectual" aspects of Ethereal Energy, simple whispers or thoughts are all that are needed in order to controla nd utilize the flow of energy.  Additionaly, Ethereal Energy users are above the need for a physical companion to assist them and typically will not have a familiar.  Why put up with the need to clean up after a messy creature when it is oh so more efficient to use one's mind.

These individuals may be known as Scholar, Scientist, Theoretician, Mystic, The Initiated, The Elightened One, Illuminati, Freemason.

 

"SCHOOLS OF MAGIC"

Many RPG type systems talk about schools of magic.  The schools they talk about are typically divided and segregated according to what I have termed Planes of Magic Energies.  In my system the Schools of Magic are:

  1. Alteration - spells which are used to create objects and/or change the characteristics of a physical object through an enchantment or curse.
  2. Abjuration - spells are used to banish and/or protect.
  3. Evocation - spells which are used to "call forth" and/or "summon".
  4. Divination - spells which are used to learn or extract knowledge.
  5. Psyche - spells are used to alter the mental processes of targets.  Typically you will find illusions, charm, befriend, enrage type spells in this category.

Each "Plane of Magic" may or may not have spells in each of these five "Schools of Magic".  Users of the magical energies may or may not learn spells in all five schools of magic within their plane. 

A quick example for Terrestrial Energy might be the following:

1. Alteration:  Enchant Item (ie. Sword of the Feather: a  2 handed sword that weighs the same as a dagger so no DX penalty, Sword of the Razor +2 to damage) only effects the item and not the user/wearer.

2. Abjuration: Protective Seal (i.e. Amulet of Protection Against Undead), Curse Item (Sword of Healing - damage is done to the user equal to the determined damage amount and the person being attacked is healed by that same amount up to 100% ) 

3. Evocation: Animate Object (i.e. Clay Golem, Iron Golem)

4. Divination: very limited.  Can "sense" the history of an item.  Since "Items" are inanimate and have no memories, you are actually pulling the essence of the owners that lingers on the item.  The more recent, more violent situation that left the "essence" behind, the easier it is to pull.

5. Psyche: Enchant Item (i.e. Love potions)

A quick note.  Enchantment of an Item affects the item only and not the user or wearer.  A Protective Seal or Curse will affect the item, user or wearer.  Therefore, Protective Seals and Curses are what give bonuses to Player Character attributes, not enchanments.

 

At this point I am going to stop as I think I have given everyone plenty to think about.  In future posts I will start breaking down the Hybrid/Mixed energies and getting into actual spells/rituals that would be appropriate for each Plane and School.

  I am hesitant to give specific spells as i intend to instead provide a framework for Player Characters to "study" and "create" their own spells.  Basically a player during character creation would state to the referree that I am ready to start creating my "Spell Book"/"Research Book" whatever.   At this point he will declare the type of spell he wants to study describing the components needed and the effects expected.  The referree will consult some standardization charts to determine the percentage chance of success and/or failure.  Part of the determinations will also be the time spent dedicated to that study.  Given the time, the # of ingredients, the affect/effect, the amount of affect/effect, the ref will allow for a random dice throw the see if he is successful.  The success rate will be complete failure (very low chance) to partial success (very high chance) to complete success (very small chance).  Based on the level of success will determine the end affect/effects.  Ok, you have "Cure Disease", it will allow you to cure sinus infections only. (just kidding).

Anyway, what I want is to move away from "Standard" spells and allow for players to determine their own fate. There might be a few 'standard spells" that have been researched and shared but most will need to be developed on their own.  Also, for the "standard spells" there is still a chance of "Learning" it, that will change the outcome for the individual Player Character.

For example, "Cure Wounds" the referree will tell the Player generating this character that he was taught a "Cure Wounds" spell in school and he can (randomly determine with a dice roll the number) the amount of damage he can heal with the spell.  That is to say the referree might roll a six side dice and a 20 sided dice.  The six sided dice is a three so the player can heal 3 dice worth of damage.  What type of Dice?  Well the 20 sided dice might be broken up to 1-4= four sided dice, 5-12=six sided dice, 13-14=eight sided dice, 15-16=ten sided dice, 17-19=twelve side dice and a 20=20 sided dice.  Thus a roll of 9 would imply that this Player Characters "Cure Wounds" spell does 3d6 (3-18 points) of health restoration.  If the ref had rolled a 5 and 17, this would determine that the Player Character could do 5d12 (5-60 points) health restoration.  The magic system I am coming up for is the framework for a referree to be able to create a unique spell system for his campaign, world, environment.

This should give you a basic idea of where I am headed so that you can actually branch out and start doing some of your own thing.  Until next time!

End of Part 1

]]>
Tue, 6 April 2012 09:49:15 -0700 http://www.yagds.com/blog.php?d=11
Interesting new MMO game http://www.yagds.com/blog.php?d=10 Found this the other day while trying to do some research on MMORPG's 

Looks kinda of interesting. Looks like it will have an MMORPG seperate from the Sandbox version. Sandbox version is suppose to be similar to MineCraft but space themed.

Check it out by clicking the image below.

Miner Wars MMO

]]>
Tue, 19 March 2012 08:48:19 -0700 http://www.yagds.com/blog.php?d=10
Maze for Rouge-likes http://www.yagds.com/blog.php?d=9 I have been working on a "Rouge-like" maze program for the past year and half.  Granted, most of the time is off the project, more so than on the project.  Basically, I have worked on it when I had available time away from my normal day job, family life and my secondary Computer Support/Consulting/Programming paying jobs.

One of the first hurdles to creating a Rogue-like is random maze generation.  There are a multitude of ways to generate "mazes" and they are all good.  However, they tend to be lots of hallways and very few rooms.  I wanted to generate "extremely large" mazes with lots of rooms connected by short and long hallways with some deadends and of course multiple-paths from the entry (up staircase) to the exit of the level (downstair case)

After studying different methods of generation of mazes, I decided to take a completely unique approach.  I sat down with a sheet of graph paper and started generating a random maze map by hand.  I took careful notes on the process I employeed and then sat back with the results to determine if there was a way to mimic the process via programming logical.  With a few tweaks and a couple of revisions, I ended up with a program that provides the following types of maps. 

Just Click on an image to see a full size version of the map

Level_0.maze

Moderate Size

Level_1.maze

Medium Size

Level_2.maze

Large Size

Level_11.maze (Small)

Small Size

Level_19.maze (small)

Small Size

Level_31.maze (really large)

Large Size

As you can see, the program I came up with allows for lots of rooms, connecting hallways, deadends, multiple paths through the level (so it is possible to miss the really good treasures).  The sizes of the map vary based not only on entered specifications but also due to the variability of the path ways.  One of the things I do is eliminate all of the sections of the randomly generated dungeon that do not connect to the section that contains both the Entry (up staircase) and Exit (downs staircase).  You can see this by the large areas of the "Empty" golden brown space on the maps.  The # represents Walls and the grey/gray areas are the dungeon floor.

The only problem I have is that there are cases where the program "hangs up" when trying to complete the "path finding" routine between the up staircase and down staircase.  Once I get this problem solved, then I am looking at releasing an .EXE version or .DLL version that others will be able to use in their programs without having to write their own code for generating dungeon maps.

Over the course of the next couple of months I will probably look at trying to put together a full tutorial on coding the Path Finding portion of the program and then maybe delve into the actual room/hall generation routines.  Not sure how much of my "secret" i want to share.

Until next time, may the games begin.

Kevin

P.S. Don't forget our sister site devoted to Flash and In-browser games.

The domain Free2Play247.com is  registered by YAGDS.com.  Free2Play247.com currently has over 1,500 games.  New content added daily.  Something for Everyone.

Check it out today!

]]>
Fri, 10 Feb 2012 07:45:04 -0800 http://www.yagds.com/blog.php?d=9
Ant Attack Game http://www.yagds.com/blog.php?d=8 Ant Attack Main Menu

Ant Attack is one of the many games I am working on.  This concept of idea demo was developed using Game Maker 8.1

Basically, my ultimate goal is to have a program that runs on IPad/Itouch and Android based smartphones/tablets.  The concept is to squish the invading ant hordes.  For now, you must use your mouse to click on em to kil them.

Black ants are easy to kill with a single "hit" (left-click).  Blue ants require 2 "hits" to kill, Red ant require 3 "hits" to kill and Gold/Yellow ants are basically like Black ants but are fast.  This demo version includes basic high scores, instructions and placeholder art.  Final Art is still a work in the process.

Youc an download and share the demo file here AntSquash.exe

Enjoy and hope you have a Merry Christmas and a Happy New year.

Kevin

]]>
Tue, 20 Dec 2011 12:03:39 -0800 http://www.yagds.com/blog.php?d=8
Games, games and more games http://www.yagds.com/blog.php?d=7 Our free2play portion of our website has really taken off and is growing left and right.  We have over 400 games published to the site with another 300 games pending publication over the next few days. 

Remember all of these games are previewed (not fully reviewed) by myself to insure that they are appropriate for children and teenagers.  I have removed the chinese games, games related to adult themes like drugs and alcohol.  If I have missed one PLEASE PLEASE use our contact page to let me know the name of the game so I can remove it. I want this to be a family friendly site and not just another dump of any and all games available for your use.

While I don't really like a lot of the games that are available due to their simplicity or generic graphics, I have found that some of the "less well rounded" games are actually the games kids like to play.  Therefore, I have left otherwise seemingly low-end games in place instead of removing them as they actually may appeal to visitors.

I hope you enjoy these games, over the course of the next few days I will be finishing up the sub-section of our website and get back to programming.  I have my first entry into the mobile app market almost complete.  Just waiting for some finalized artwork and tweaking some of the sprites and code and will be beta testing by the end of the month.

]]>
Thu, 03 Nov 2011 13:11:45 -0700 http://www.yagds.com/blog.php?d=7
Halloween Games http://www.yagds.com/blog.php?d=6 Check out our Free2Play games and all of the Halloween themed games that have been added in just the past 24 hours.

Looking forward to Turkey Shootin' games for Thanksgiving and who knows what for Christmas, maybe Reindeer killing spree or possibly Physics based get Santa downt he chimney.  I have no idea, but I want to thank all of the game design authors for their whimsical games.  Thanks for all the hard work so we can have fun.

YAGDS games will be joining the plethora of game content on the web in the near future.  It will be posted here first!

Kevin

 

]]>
Mon, 31 Oct 2011 09:54:12 -0700 http://www.yagds.com/blog.php?d=6
Free2Play http://www.yagds.com/blog.php?d=5 Free2Play all the time, Are you Free2Play?

We have added a Free2Play Flash Game site under the Free2Play link in the Nav Bar.

Are you Free2Play?  If so, come on over and enjoy Free Games, Available all the time!  More features coming soon!

Check it out today!

Free2Play247.com is now registered by YAGDS.com.  We have a completly seperate game site devoted to flash games and in-browser games.  Free2Play247.com currently has over 1,500 games.  New content added daily.  Check it out.

]]>
Sun, 30 Oct 2011 13:08:50 -0700 http://www.yagds.com/blog.php?d=5
Ultima Creator selling Mansion http://www.yagds.com/blog.php?d=4 Richard Garriott, creator of the Ultima Universe Role-playing computer games is selling his Mansion Britannia Manor II.  Read the full story here at Yahoo.com

 

]]>
Tue, 25 Oct 2011 14:42:44 -0700 http://www.yagds.com/blog.php?d=4
States - Take 2 http://www.yagds.com/blog.php?d=3 O.K.  it seems I covered a lot of information in the last posting and because of the DAMN Blogging software I am using cutting the last quarter of the previous post I never got to finish what I wanted to say.  I am not going to continue with examples of the XOR operator at this time.  Instead I am going to discuss why the use of Binary is preferred over other methods.

Take for example our monster with the 8 previously defined states: Awake, Hungry, Enraged, Poisoned, Trapped, Crippled, Confused and Scared.  Why not just setup a string with zero's and one's in it like "00000110" and store the string in memory.  The quick answer is because it is not efficient in two ways.

First, each "character" is represented by one byte (8 bits). Zero is represented by %00110000 (remember % means binary number) and a One is represented by %00110001.  So, that 8 state string would take up 64 bits. If you have a hundred creatures thent hat would be 6,400 bits taken up (6Kb).  If we use a Binary number then the 8 states take up only 8 bits and storage of the states of 100 creature would take up only 800 bits (0.78Kb).   Big difference.  If we are doing a multiplayer game and we have hundreds of creatures over hundreds of instances our memory utilization becomes quite signifcant and we will introduce lag into the game as the system must dump portions of memory to disk.

Second, determining each state introduces additional programming loops that would slow the game down even that much more.  In order to determine the one state of Crippled the following code would be needed:

[+] Code Snippet

IF VAL(MID$(current_mob_state,6,1))
;mob is crippled if Val<>0
ENDIF

For checking a single state all we added was the code to pull the single character located in the sixth position and convert it to a number.  Couple of extra commands in a single line of code but lots of extra code when compiled.  In order to check every state we might end up with something more like this:

[+] Code Snippet

FOR i = 1 to number_of_mobs
     current_mob_state=monster_states[i]
     FOR j = 1 to 8
          mob_state[i,j]=VAL(MID$(current_mob_state,j,1))
     NEXT j
NEXT I

Can you see all the memory you would be using up, along with all of the additional, and unnecessary program loops?  It really adds up over time and will be seen by the end user in the form of a slow game.

O.K.  I guess that is enough for today so that I don't exceed the limits of this simple blogging software.

Next, I will go back and offer the XOR examples.

Take care

]]>
Wed, 12 Oct 2011 11:34:43 -0700 http://www.yagds.com/blog.php?d=3
NPC States http://www.yagds.com/blog.php?d=2 I am going to try and post a basic topic of interest each week.  While my topics will generally be geared toward application for gaming, the topics should be of interest to programmers in general.  I will use psuedo-code in most cases, but will also try to include Basic code for any specifics.  I normally code in Purebasic or DarkBasic but also do some coding in C/C++, PHP and Perl (of which I hate C/C++ the most).

Stateful-NPC

The first topic I want to address is "Stateful"-NPCs.  A "Stateful"-NPC is a computer controlled actor that can recognize different "States" of the game.  For example, each NPC monster might have a "State" of Hunger.  If they are hungry ("Hunger state = 1"), they may be allowed to wonder further than normal from their spawn point.  If they are not hungry ("Hunger state = 0") then they stay closer to their spawn point, and/or return.  If an NPC monster has a Hunger state = "1" and there is a nearby NPC Mob that is smaller then it can attack and eat.  This would allow for a wondering adventurer to hear/see "natural" activities.

For example suppose we want to define the following states of an NPC:

  • Does the NPC currently have a quest to hand out?
  • Does the NPC have a magical item for reward?
  • Does the NPC have a normal item for reward?
  • Does the NPC have a monetary reward?

We can set this up in several ways

[+] Code Snippet

npc_quest=.t.
npc_magic_reward=.t.
npc_normal_reward=.t.
npc_money_reward=.t.
 
Suppose that the adventurer has completed his quest and wants to get all of his rewards.  In order to do this we would have to check each and everyone fo the reward states.  Not difficult but if we had more than the above three states could become quite cumbersome. For example suppose we have the following states for a woodland monster;
 
  • Is monster awake?
  • Is monster hungry?
  • Is monster enraged?
  • Is monster poisoned?
  • Is monster trapped?
  • Is monster crippled?
  • Is monster confused?
  • Is monster scared?

Would you want to run code that checks all eight (8) states on every single monster in a scene?

An easier way might be to assign numerical values to each state so that we can just check the value of the monster state against another value.  Using the above example what if we had this code:

[+] Code Snippet

#mob_awake=1        ; note # means Constant in Purebasic
#mob_hungry=2
#mob_enrage=3
#mob_poisoned=4
#mob_trapped=5
#mob_crippled=6
#mob_confused=7
#mob_scared=8
 
Now if we do a check in our code like this
 

[+] Code Snippet

If current_monster_state=6
 
Unfortuantely, the above introduces a problem. Does the current_monster_state = 6 mean we have a monster that is #mob_crippled (6), or do we have a monster that is #mob_poisoned (4) and #mob_hungry (2) (4+2=6)?
 
 So is there another, easier way that can give us what we need to know exactly?

The answer is of course YES, (otherwise I would have nothing else to write).

In order to understand how to implement something like this that can be easy and specific you really need to understand the binary numbering system and the application of "Bitwise Operators".  So for the rest of todays discussion we will make sure everyone is on the same page by starting off with an introduction to Binary.

The Basics of Binary

"0" or "1" that is it.  Leasson over. NOT! 

Why "0" Why "1"

Well a computer is an electrical system that can only register if the power flow is "Off" ("0") or "On" ("1"). Each "register" of memory is therefore either charged or not charged.  (By the way, as a side note, take a look at the power button on most electronic items, you will notice it is a line inside of a circle, a "1" inside of a "0" which is "On/Off" shorthand that has evolved due to computers).

A computer can check the state of memory locations or "registers". It will determine if it is charged "1" or not charged "0".  individually these numbers mean nothing, but standards have evolved to bring meaning to these two simple states.  Depending on the "place" of the "0" or "1" determines how they are converted to different representations whether that is a decimal number, hexadecimal or even Letters. For now, we are going to wory with conversion between Binary and Decimal.

In computers we work with Bit's which are individual "0" and "1". 

The next step above a Bit is a Nibble which is 4 bytes together represented in groups of 4 such as "0000" or "0010". 

The step above a Nibble is a Byte. Bytes are 2 Nibbles or 8 Bits and typically represented in the formate of  two sets of Nibbles together such as "0000 0000" (notice the spacing to make it easier to read). 

A Word is 2 Bytes, 4 Nibbles or 16 Bits and is represented as "0000 0000 0000 0000" . 

There are also Double Words (32 Bits, 4 Bytes, 2 Words) and Long (also known as Long Integer or Long Int, which is 64 bits, 8 Bytes, 4 Words).

             (Did you notice the sub-contextual references to food? No wonder programmers are always snacking).

     (O.K. back on topic, had to grab a quick piece of Pizza).

Binary->Decimal

In today's society we think in Decimal numbers and not Binary numbers. Therefore, how do we convert between the two different systems? The basic mathematical formula for converting Binary to Decimal is as follows:

(pn x 2^8) + (pn x 2^7) + (pn x 2^6) + (pn x 2^5) + (pn x 2^4)+ (pn x 2^3) + + (pn x 2^2)+ (pn x 2^1)+ (pn x 2^0)

where pn = Positional Number, either the "0" or "1" in that position.  Let us look at an example:

to convert 0101 0010 we would have the following formula

0 1 0 1 0 0 1 0
(0 x 2^7) (1 x 2^6)  (0 x 2^5) (1 x 2^4) (0 x 2^3) (0 x 2^2) (1 x 2^1) (0 x 2^0)
0x128 1x64 0x32 1x16 0x8 0x4 1x2 0x1
0 64 0 16 0 0 2 0
 
adding the bottom row of numbers together 0+64+0+16+0+0+2+0=64+16+2 = 82
 
Remember that any number raised to the zero'th power = 1
 
Here is a quick reference table for the numbers 0 to 17
 
Decimal Binary Decimal Binary
0 0000 0000 9 0000 1001
1 0000 0001 10 0000 1010
2 0000 0010 11 0000 1011
3 0000 0011 12 0000 1100
4 0000 0100 13 0000 1101
5 0000 0101 14 0000 1110
6 0000 0110 15 0000 1111
7 0000 0111 16 0001 0000
8 0000 1000 17 0001 0001

Here are a few more numbers

Decimal Binary
32 0010 0000
64 0100 0000
128 1000 0000

 

Setting States

So how do we use this for a game?  It is really simple. Going back to our first example the following states are needed to be tracked for an NPC that hands out quests.

  • Does the NPC currently have a quest to hand out?
  • Does the NPC have a magical item for reward?
  • Does the NPC have a normal item for reward?
  • Does the NPC have a monetary reward?

The idea here is that as adventurer's interact with the NPC they will have to give hime specific items in order to indicate that they succesfully completed a quest.  You might be familiar with these types of quest.  "Go kill 10 bears and bring me 10 bearskins". Well, with those 10 bearskin hides the NPC makes a Leather Armor Jerkin, that he can use as a reward for the next quest he hands out.  Therefore, the rewards are dynamic (changing) and not always static (10 gold pieces, everytime you bring him 10 hides).

In order to show what he has on hand at any given time we set up a variable called npc_quest.  This variable will be typed as a byte (.b) or character (.c) depending on your programming language.  A type byte (.b) allows for values from -127 to +128, whereas a character (.c) allows for values from 0 to +255.  We will use a type character (.c) in this example since all values will be positive.

Our binary number is 4 digits long "0000" each digit represents 1 question. 

0 0 0 0
¦ ¦ ¦ ¦
¦ ¦ ¦ Monetary Reward
¦ ¦ Normal Item Reward
¦ Magical Item Reward
Quest available

Thus

"1000" represents Quest available but no rewards

"1100" represents Quest available and a Magical Item reward

"1010" represent Quest available and a Normal Item reward

"1001" represents Quest available and a Monetary reward

"1101" represents Quest available and a Magical Item along with a Monetart reward are available

Coding this in Purebasic is pretty straight forward.

[+] Code Snippet

npc_quest.c=%1101

Again, this code "1101" would be interpreted as follows:

  • Does the NPC currently have a quest to hand out? 1 = Yes
  • Does the NPC have a magical item for reward? 1 = Yes
  • Does the NPC have a normal item for reward? 0 = No
  • Does the NPC have a monetary reward? 1 = Yes

WAIT! Why did you spend so much time on how to convert Binary to Decimal if we are going to be working in Binary, you ask.  Well because it is easier for us to think in decimal than it is to think in binary. When it comes right down to it, we will probably code our States into some constants anyway.

Lets look at this example (again this is Purebasic)

[+] Code Snippet

#has_quest = 8                 ; binary %1000
#has_reward_magic=4   ; binary %0100
#has_reward_normal=2  ; binary %0010
#has_reward_money=1  ; binary %0001

npc_quest.c= #has_quest + #has_reward_magic + #has_reward_money

Debug Rset(bin(npc_quest),8,"0")      ;Rset is used to "0" fill  upto 8 characters.
; I am using Debug for a quick show of results
 
In this instance we know that npc_quest=13 because we know 8+4+1 = 13.  We can do this math qucikly in our head, but could you have told me that "1101"=13? Quickly?
 

Gameplay using Binary

So how do we use this to drive game play?

Simple with Bitwise Operators AND (& in Purebasic) OR (¦ in Purebasic) along with XOR.

Bitwise AND (&)

    0 & 0 = 0   
    0 & 1 = 0
    1 & 0 = 0
    1 & 1 = 1
Bitwise OR (¦)

0 ¦ 0 = 0
0 ¦ 1 = 1
1 ¦ 0 = 1
1 ¦ 1 = 1
Bitwise XOR (!)

0 ! 0 = 0
0 ! 1 = 1
1 ! 0 = 1
1 ! 1 = 0
 
Bitwise NOT (~)
 
~0  = 1
~1 = 0
 
 
 

So in code we could do this to check it there is a quest to be done.

[+] Code Snippet

#has_quest = 8                 ; binary %1000
#has_reward_magic=4   ; binary %0100
#has_reward_normal=2  ; binary %0010
#has_reward_money=1  ; binary %0001

npc_quest.c= #has_quest + #has_reward_magic + #has_reward_money

IF npc_quest & #has_quest       ; alternative you could code IF npc_quest&%1000
    Debug "Has Quest"
    ; do quest functions here
Else
    Debug "No Quest available at this time"
Endif
 
But what about the problem with the monster in the second example was it #mob_crippled or was it #mob_poisoned and #mob_hungry?  Have we eliminated the problem of multiple possible results?
 
Going back, remember we had the following States:
 
  • Is monster awake?
  • Is monster hungry?
  • Is monster enraged?
  • Is monster poisoned?
  • Is monster trapped?
  • Is monster crippled?
  • Is monster confused?
  • Is monster scared?
These states would be represented using a Byte ("0000 0000")
 
128 64 32 16 8 4 2 1
0 0 0 0 0 0 0 0
¦ ¦ ¦ ¦ ¦ ¦ ¦ scared
¦ ¦ ¦ ¦ ¦ ¦ confused
¦ ¦ ¦ ¦ ¦ crippled
¦ ¦ ¦ ¦ trapped
¦ ¦ ¦ poisoned
¦ ¦ enraged
¦ hungry
awake

Therefore, if our current_monster_state variable = 6, our monster would in fact be #mob_crippled and #mob_confused because there is only one way in which we can have a total of 6 and that is "0000 0110" which is 4+2=6.

In practice we can now get very direct answers in code

[+] Code Snippet

#mob_awake=128
#mob_hungry=64
#mob_enraged=32
#mob_poisoned=16
#mob_trapped=8
#mob_crippled=4
#mob_confused=2
#mob_scarred=1

current_mob_state=6
 
IF current_mob_state & #mob_crippled
    Debug "Monster appears to have a crippled right forepaw"
ELSE
    Debug "Monster appears healthy"
ENDIF
 
Even though we have defined our current_mob_state as being Crippled and Confused, the above If statement is only checking to see if the Crippled portion of our variable is set to true (true = 1).  We only have to check the portion of our state that is pertinent to what we are coding for.  We could check every single state if we wanted, and even check for multiple states, or we can check for a single specific state.
 
It is so much easier, and memory efficient to lookup the value of current_mob_state versus having current_mob_state_awake, current_mob_state_hungry, current_mob_state_enraged, etc.  One variable to tell us 8 states versus having to have 8 variables in memory for each monster in the area.
 
Finally a Bitwise OR example
 
Well FUCK!  This damn blog software keeps cutting off my hard work, sorry but I am too pissed to finish this now.
]]>
Mon, 10 Oct 2011 14:45:53 -0700 http://www.yagds.com/blog.php?d=2
Where we are http://www.yagds.com/blog.php?d=1 Well this is the first of hopefully many, many blog-post to come.  Basically, just want to get the ball rolling, so the speak, and provide a limited look through the keyhole.

Current Projects

  1. Escape from Dwarf Mountain - a First Person Shooter-type game where the object is to get out of a Dwarf Prison and through multiple-levels of Dwarf occupied mines.  Three levels of play provide for different time requirements and styles of play.  Easy will be a 10 level, easy to kill Dwarfs mobs only, lots of loot dungeon.  Moderate will be a 25 level, semi-tough mobs (Dwarfs + some other nasties), less loot dungeon.  Hard will be a 100 level, hard to kill mobs (a few Dwarfs, with lots of other nasties and maybe one or two Dragons), loot based on level and difficulty of mobs. This game was first started as part of The Game Creators and INTEL Atom Developers "But I Want to Explode Zombies on my Netbook" Competition.  The game was not finished in time, as a lack of good 3-D artwork prohibited us from releasing an unfinished game.  The game draws from the original ROUGE/Nethack by making LARGE RANDOMLY GENERATED 512x512 and 1024x1024 dungeon level mazes.  The game also features perma-death mode or death-restarts level with limited save (only current level is saved and you can not go back to previous levels).

    3D representation of part of the randomly generated mazeEscape From Dwarf Mountain - part of large randomly generated maze

    Dwarf Model from Escape from Dwarf MountainEscape from Dwarf Mountain - Dwarf Model


Textual representation of part of the large randomly generated mazePart of Randomly Generated Maze for Escape from Dwarf Mountain

  1. ATTACK OF THE KILLER .... - No not tomatoes, but something.  Can not get to specific here as this game is headed for deploymet on touch-sensative devices in the near future.  Quick game play style with extensive Hand-Eye coordination coupled to interesting story-line.  This is not another shoot-em up style game but a game that will involve a multi-part storyline (at least 4 distinct game episodes have already been designed based on the storyline).
  2. Duffer - A golf-based slot game with skill-based bonus rounds.  Slot machines meet Computer Golf simulation bonus rounds.
  3. Random-Acts-of-Kindness - a game with a social interaction, good citizen twist.  Two modes of play: Quick-play, out and about with your smartdevice?  Click on "Random Act of Kindness" to get an assignment, maybe "Help an elder-person cross traffic", or "Carry the groceries", basically a game that will make us stop and look around for all of the opportunites we otherwise might miss.  Points-play, get an assignment (starts out easy) and get points for completing.  Will be required to click a picture of you accomplishing the act and posting to your Facebook/Twitter page for the world to see how good you are.  Each assignment comes with points that you will accumulate.  New assigments automatically made upon completion of open assignment.  Fail to do an assignment and you will lose points. This is kind of like T.A.G. (The Assassain Game) but in reverse.
  4. Video Poker Helper - a basic video poker game, but will allow you to see the cards/hands that you could have had.  Early version of this game is a straight Random Video Poker game.  It does not utilize any of kind of "payout precentage" requirements.  Uses basic Video Poker payout tables.
  5. MMORPG-ServerEngine and RPG-Enviroment - an engine for designing and running a MMORPG Server along with a RPG-Environment builder to define the game-world.  RPG races, classes, stats, professions, et. al. are based on years of RPG play time.  The engine will allow for the rendering of graphics, storage/tracking of skills and inventory, stateful recognition of all NPCs and Objects, and so much more.  This Engine is approximatedly 65-75% designed and only 10-15% implemented as it is an intense undertaking.  Looking at a couple 100,000 lines of code when it is finished.  Ultimately I want there to be a end-user Adventure Builder that will allow players to design their own "adventures".  An "Adventure" might be a dungeon in an already defined "world" or it might be a completely new world. I like to describe this idea as "Dream Park" meets "Star Trek: The Next Generation - Holodecks", meets "Game Master".

Future Projects

Lots of notes with no specific designs in work.  Always looking for new ideas.  Drop us a line if you have a game idea that you would like to collaborate with us on.

Employment/Drones

YAGDS is a small, independent, private held organization that is looking to work with other like-minded individuals.  We do not foresee any time that we will employee individuals as much as we will collaborate on projects.  We can bring to the table, programming experience and business operations experience.  I would like to develope a pool of talent where other game designers can come to us and pitch ideas that will garner the need expertise from our friends.  In the near future we will be starting a "Classified" advertising section that will allow individuals to post "Can Provide" and "Needed" posting.  However, due to the multitude of jerks that navigate through the net looking for websites to exploit and ravage with garbage and spam, the system will be limited to "members" only.  Membership will be free, but will be monitored closely and at the sole-discretion fo YAGDS and our moderators.  Look for this valuable feature in the next month or so.

Well there is about a dozen other items, but for now, I will end things here.

Take care and have fun.

Kevin

]]>
Tue, 30 Aug 2011 09:15:14 -0700 http://www.yagds.com/blog.php?d=1