About Treason

Bugs

Enhancements

Various monsters should shoot at player.

Pirate should shoot on diagonals as well as cardinals.

Notes

Monster kill and mover

Low code cost

Updating display only when

necessary

Equal distribution

LOS Algorithm

Reverse cardinal then diagonal

Makes more sense than the outside in method

Coded for iPhone 3G processor

Coded for the web

Dynamic display

No real magic for player in game

Force of Will will affect game outcomes

Attributes

Strength

Obvious

How hard you hit

Bonus to defense as constitution

Increased by hand to hand combat

Agility

Not dexterity (that refers more to ability with hands and fingers)

How often you hit

Bonus to defense as dodge

Intelligence

Not for magic

Acts more as a crit rating

Speed of ingenuity

Bonus to defense as defense rating

Force of Will

Determination

Survival skill

Increases faster for female characters

Balances with strength for male characters

Plot

Breaks fourth wall

Moral choice to help or fight king

King missions violate Bill of Rights

Rebel missions are equally tough

King is trying to escape world on to Internet

Rebels want to close portal to Internet

Last three king missions involve throwing a magic object in to the dark portal where the 'evil' castle was

On each of three last missions new browser window opens to either Google, Fark or Reddit

When king sends you back to do something (keep the portal open?) he appears at the portal, jumps through, and then the browser opens a DoD window and shows the king messing about with it

If working with the rebels, at the

end there is an epic battle with the

king at the portal

King missions:

1) Freedom of speech

2) Freedom to bear arms

3) No quartering of troops

4) No unreasonable search or

seizure.

5) Due process, double jeopardy,

self incrimination, eminent

domain

6) Rights of the accused

7) Trial by jury

8) No cruel or unusual punishment

9) Protection of rights

10) Protection of powers of the

states and people

Rebel missions will essentially try to

foil the king's missions

Once you have gained the king's confidence, he will take you down to show you the 'magic' device he built and tell you about what his real plans are

Doing 3 missions for either King or rebels shakes faith for the other side

Doing 7 missions for either King or rebels destroys faith for other side

If faith is destroyed then player is not welcome and openly attacked at 'base' of either side

King's base is his castle

King's castle is in the NW area of the NW continent

Rebels' base is a fortress on the SW continent

SW continent needs a desert in the SE portion

King needs more metal of a specific purity to finish his machine which produces his 'magic' items

One of the rumors you hear is 'The king has a secret' and 'The world is bigger than you might believe' and 'do you ever feel like you're always being watched and tours with?'

Metal is scarce

Ettins mine the metal and use giants to protect them - NE continent

The people on the SW continent work the metal - they are the tinkers

Need a purpose for the swamp area and the islands and the SE continent

Display food

HP display doesn't update as you walk unarmed

HP display doesn't update when you use a healing potion

Can I make a function which senses changes in the HP? I think I can by calculating a difference in HP. I could hold the HP amount in a variable inside the function, setting it only when the amount changes enough to warrant a redraw. And I could only update the HP when needed

- break the update function in to separate parts and update only those parts what are needed. That would work.

Update HP

When adding HP only need to turn on another bar - not black out everything

Update attributes

Update gold and food

How does the scarcity of metal figure in to the plot? There could be sub-missions (missions between each main mission) which would sculpt the plot

Need favor with various factions

King

Rebels

Ettins

And how does the spell on the people in the SE continent figure in to the game?

User Interface

Functionality

The user interface should provide a dynamic and seamless player interaction with the game.

Problem

Too many games made for mobile devices (or not) rely on pop-up windows or multiple and complex menus to give the player choices.

Unique Solution

Dynamic buttons (which change value and function depending on

circumstances) many of these complex interactions are eliminated.

Monster Creation

Functionality

Monsters must be created throughout the game world.

Problem

When a player kills a monster a monster is either created according to a patterned spawn point or at random throughout the world. This can cause a huge imbalance in the monster population.

Also, monsters can be initially created at random across different terrains adding to the imbalance of game play.

Unique Solution

When a monster is killed, a new monster is spawned just outside the player's field of view thereby repopulating the area with a monster. On initial creation, monsters are created according to the terrain type of the selected map square.

Monster Culler

Functionality

Monsters have to occasionally be culled to add to the lifelikeness of the game. Monsters should not grow stale so the player can continually interact with the same ones over and over.

Problem

Due to the constraints of the processor in mobile game units and because of the slowness of a compiled-on-the-fly language, monsters cannot be culled every turn on a global level. This would cost too many processor cycles.

Unique Solution

Monsters are culled in an area just outside the player's field of view as the player moves about. They are continuously culled and recreated assuring a fresh batch of monsters wherever the player moves

- assuring there are no areas devoid of monsters when there should not be.

Monster Mover

Functionality

Monsters have to move for various reasons.

Problem

Globally moving all of the monsters (as in Ultima ][) will cause huge buildups of monsters near the player. It becomes overwhelming.

Also, when monsters encounter an object around which they cannot move, they become stuck. Finally, when multiple monsters populate the screen, if there is not a good system in place to decide the order in which they should move, the monsters move erratically.

Unique Solution

Only moving monsters inside the player's field of view and those just outside the player's field of view disallows the chance of a monster buildup on the player. If a monster encounters an object it cannot move around (like a mountain or even another monster) it is given a random opportunity to select another direction in which to move. This can put the monster on a better path to the player and provides a more lifelike experience. Finally, in order to decide the monster move order, the screen (player's view and just outside the player's view) is scanned in a outward spiral pattern. This can be achieved with a relatively low number of code lines (five for/next statements). Monster move order is assigned based on this spiral so that the monsters closest to the player will move first. This allows monsters, which would otherwise be blocked from moving by monsters closer to the player, to move against the player.

Party Play

Functionality

Problem

Solution

Ranged Attack

Functionality

Ranged attack is a large piece of adventure gaming. Players must be able to attack monsters with ranged weapons.

Problem

Games such ad Ultima 3 employed a special battle screen for party play.

Unique Solution

Allow players to engage monsters on the main game field with ranged weaponry.

LOS Algorithm

Functionality

A line of sight algorithm is necessary to impart a more lifelike and mysterious essence to the game.

Problem

Typically, LOS algorithms are either costly in terms of processor cycles or they provide a spotty and incomplete LOS experience.

Unique Solution

Ultima 3 was one of the first games to employ a LOS algorithm. It used a cardinal-then-diagonal analysis of the game screen to determine which squares should be uncovered. Ultima 4 used this system as well as a diagonal then cardinal analysis and allowed for a more lifelike game experience. I chose to employ only the Ultima 3 system as having both systems in place proves too costly in processor cycles for decent game play. This also leaves a slightly greater portion of the game screen covered, providing a more dark and mysterious game play experience. Finally, the Ultima system analyzed the screed from the outside in (starting at the squares at the outermost reaches of the

screen) then backtracking to uncover 'visible' squares. I chose to employ this system in a rears fashion, designating 8 slices of the screen and moving in 4 L patterns to analyze the diagonals. This allowed my system to cover squares actively when designated such instead of backtracking to uncover squares thus saving precious processor cycles.

Attribute System

Functionality

Players want to know and see stats on their characters to determine how to build them.

Problem

In classic RPGs, the four attributes were strength, agility, intelligence and wisdom. These attributes reflected the character's abilities as far as how hard the character could hit, how often they would hit, effectiveness with wizard spells and effectiveness with priest spells. Later the attributes constitution and charisma were added as reflections of how stalwart the character is and how attractive to NPCs. Finally, the attribute of experience was used to determine the increases in the main attributes which were usually randomly assigned when the player hit another level of experience. The problem with this system of attributes and experience is that it is not lifelike enough. Random increases in attributes at a preselected leveling point do not reflect the character's specific actions or equipment.

Unique Solution

There are four attributes: strength, agility, intelligence and force of will. Strength determines how hard a player can hit and will offer some defense bonus. Agility determines how often a player will hit and also provides a defense bonus. Intelligence is something like a critical strike rating. That is it determines how often a player will do high damage but it will also provide a defense bonus. Force of will determines the tenacity and magic ability of the character. When attacking a bonus to strength and agility will be given in accordance with force of will. This reflects more of a real life experience in accordance with the old saying 'It isn't the size of the dog in the fight which matters, but the size of the fight in the dog'.

Inventory System

Functionality

Problem

Unique Solution

Map

Functionality

Problem

Unique Solution

Food

Functionality

Problem

Unique Solution