Bardess

From RogueBasin
Jump to navigation Jump to search
Bardess
Beta Project
Developer Jordan "Deepshock" Thomas
Theme High Fantasy, tactical
Influences D&D 4th Edition, ADOM, Dragon Quest IX, Elder Scrolls Series, Diablo, TOME, Team Fortress 2, various fighting games
Released 2011 Jun 13
Updated 2013 Jun 12 (0.7prc)
Licensing Open Source as of August 11, 2012
P. Language C Sharp
Platforms Windows
Interface ASCII/Windows Forms hybrid, Keyboard, Mouse
Game Length Short (Caverns al-Azar/Combat Demo modes)
Official site of Bardess


Bardess is an ASCII based rogue-like game set in the continent of Nexus.

Description

The game is written in pure C# via Windows Forms and features mouse support, remappable keys and parties of up to six units, with one controlled manually and five controlled via AI.

System requirements

Earlier versions than 0.6 ANX require XNA Framework 4.0 and Visual Studio 2010 Framework (Redistributable). 0.6ANX was made specifically to waive those requirements. It still has yet to work on Linux and Mac platforms, but the creator has recently open-sourced the program in an attempt to make future versions accessible to those types of computers. This version changed all of its XNA references to http://anxframework.codeplex.com/ (ANX Framework). This will be necessary work before Deepshock can release 0.7.

Edit: Version 0.7PRC uses Open TK.

Source Code

https://sites.google.com/site/bardesstemp/bardess-source-code.zip

Story and World Context

Nexus is the largest continent in Mundi. Its two regions, Quinzia and Catorce, have recently been thrown into war. Catorcians say that they invaded as a response to a Quinzian attack on the trade hub of Catorce. Quinzians insist that Catorce wants to pillage their land and take its heavenshard reserves by force. As this senseless battle rages on, the continent cries out for a hero. Many cry out to the Resonant Voice for Their aid an end to the fighting. Could it be time for Them to call on a new aspirant Bard, to write a new tale for this land?

Modes of Play

  • Combat Demo

This mode, from the infancy of this game's development, squares any number of allies (up to 6) against any number of foes in a 1 floor, 50x50 dungeon. Victory comes when all enemies are routed.

  • Caverns al-Azar

Here, you choose between one and six characters to brave the 20 floors of the randomly generated Caverns al-Azar, to challenge the Ascendant Bard and prove yourself/selves worthy as defenders of Nexus.

  • Event Mode

Here, you can play 13 different optional tutorials and engage in a series of character-specific challenges (as yet unfinished). Six of them deal with character unique abilities, and the other seven deal with weapon use. There are more to follow in future sub-versions of 0.6. All events have non-randomized units and goals, and the map is fully visible. Any walls that may exist are non-randomized as well.

Game Timing and General Play

  • Party Control

When running multiple units, you use one manually while the others are AI controlled. The unit that you control directly is called the 'active' unit. You can change which unit is active with the appropriate keys (Z/X/C/V/B/N by default, can be changed in the keybindings menu). If the active unit is incapacitated (dead or dying), then the active unit switches to a random usable unit in the team. If all units are incapacitated the game ends in defeat. Allied units are color-coded by class. Bards are purple, guardians are blue, rangers are pink, mages are orange, hunters are green and pugilists are red. The active unit is depicted as a '@' while his or her inactive allies are '$'.

  • Timing System

The timing system of Bardess is based on 'recovery'. Every action has a recovery cost, which determines how long you stay inactive before your next action. This is measured in what the game calls 'frames'. Speed affects the recovery costs of each action. If a unit is immobilized, recovery doesn't count down until the duration of the immobilization expires.

Interface

  • The Unit Card

The unit card lies to the left of the playfield and displays all data specifically associated with the active unit. From top to bottom, it displays the unit's name, level, HP, stamina, power, items, status conditions and technique availability. Items can be used from this section of the field, either via the item use key (M by default) or by clicking an item from the drop-down menu and clicking use. Technique descriptions can be accessed by clicking once on the name of a technique on the availability chart. They can be used by either clicking the use button while highlighting a technique, double clicking the tech name on the list, or pressing a hotkey (1-0 for lesser techniques, Y/U/I/O/P for greater techniques by default).

  • The Stage Display

The stage display merely shows the player's current location and (for dungeons and other indoor areas) his or her current floor. In the Caverns al-Azar mode, it merely shows the current floor.

  • Ally Health

This displays the names of your inactive allies in their appropriate colors, with current and max HP. In dire situations, use this in order to rush to the aid of a unit in distress or even take control of that unit.

  • The Message Box

The message box tells you everything about the flow of the game that the rest of the field does not. One can filter messages to tune out ones that they lack interest in.

Combat and Tactics

Fighting in Bardess is simple and straightforward on the surface, but there are lots of things that must be considered. Randomization is generally removed from combat, with damage and numerical effectiveness of attacks and abilities being solely dependent on one of the five primary stats and, for techniques, the potency of the ability.

  • Attacking and Damage

Weapon damage is based on the attacker's Combat value and is always consistent. Damage dealt to a unit also affects maximum HP at the rate of 1 for every 5 HP dealt. This max HP damage can't be healed by the life surge. It must be restored via techniques or items. Techniques and even some weapons can affect enemies at a distance, based on range (determines how far you can place the point of origin) and area (how many squares away from the point of origin you can affect using this weapon or ability). Ranged weapon attacks are activated by the R key (By default. This can be changed in the keybindings menu).

  • Healing, Dying and HP

HP can be restored via items, techniques or gradually (at a rate of (character level) per frame) via Makura's Life Surge trait after 50 frames without damage. If a unit runs out of HP, they are dying and must be revived either using a Revival item (Herb, Extract) or a technique such as Revival Hymn. Dying units lose max HP at a rate of 2 per frame, and if that reaches 0 the unit is dead. Dead units are beyond any help, however a dying unit that doesn't take any damage in 1000 frames will be revived by the life surge.

Stats

  • Primary Stats

The six primary stats are Combat (governs attack damage and the effectiveness of weapon-based status ailments), Vitality (HP and Status resistance), Speed (Governs the recovery cost of movement and action), Technique (Governs technique effectiveness in general), Energy (Governs technique cooldowns and power gain), and Level (Affects gains of other stats and what abilities the character has learned). All of these except for Level can be directly affected by techniques and abilities. Characters gain levels as they complete primary objectives.

  • Secondary Stats

Secondary stats are HP (Damage tolerance), Stamina (Capability to use unique abilities), and Power (Capability to use greater techniques). Every 4 levels, your maximum power increases by 10000 (to the amount required by your most recent Greater Technique).


List of characters

NOTE: When referring to characters in the game, their names and classes can be used interchangeably for description's sake.

  • Makura von Muir, the Bard

The Bard. She is the healer and the primary support character in the team. Over time she learns debuffs and advanced healing and protection abilities to further aid her team without having to go too far into the fray herself. Her ability to concentrate allows her to speed up the recharge rate of her techniques. Only a rare few of her techniques cause damage.

  • Lyon O' Brien, the Guardian

The Guardian. He is the defensive melee character of the team. He possesses high durability and learns lots of abilities that further protect himself and his team, and some that immobilize and push back the enemy. His ability to guard allows him to endure for longer than normal.

  • Shade Norquist, the Mercenary

The Mercenary. She is the speed-based melee character of the team. She moves and attacks quickly and learns abilities that allow her to debuff opponents while causing them damage. Her dash allows her to perform a 'teleport' of sorts, which instantly places her in a new spot within 10 panels of her previous one.

  • Volcane Mulana, the Mage

The Mage. She is the indirect ranged attacker of the team. While her initial spell (Flame Burst) only targets one unit, she quickly learns spells over time that attack multiple enemies at a distance and over a fairly wide area. She also has limited debuff and buff ability. She can use her stamina to invoke her spells in addition to the standard cooldown system, if so desired.

  • Jochannan Burkhard, the Hunter

The Hunter. He is trained in the use of mundane ranged weapons and he learns techniques that either alter his stats toward a specific focus or charm, scare and mark monsters and animals specifically. He doesn't excel at any one attribute, but he is decent with all of them. His Mark ability will make it easier for his allies to damage and minimize damage from the foe closest to him. His greater techniques summon powerful beasts to fight on his side.

  • Vigoro Harnax, the Pugilist

The Pugilist. He is the offensive melee character of the team. He fights with his bare fists, uses techniques that damage enemies on a line, and like Lyon he also learns a few techniques that immobilize, rush toward and knock back the enemy. He has the lowest Technique value of the six characters but his Extend ability allows him to double the damage and overall power of those techniques.

Abilities

Unique Abilities

Each character has one unique ability that can be described in one word. These abilities always have some kind of support role. Unique abilities require Stamina to use.

  • Bard- Concentrate

Bards can concentrate in order to quickly recover their power and recharge their techniques. At a stamina cost of 200, they cause all spent techniques to cool down 200 frames and gain 1000 units of power.

  • Guardian- Guard

This toggled ability immediately puts the guardian in a defensive position. As long as the guardian holds that position, he moves at half his regular speed and any damage dealt to him or her is subtracted from stamina instead of HP. Overdamage to stamina affects HP normally.

  • Mercenary- Dash

This ability allows the mercenary to near-instantly move up to 10 panels away, taking 80% of the recovery he or she would spend walking to that location. Each use costs 300 stamina.

  • Mage- Invoke

This ability primes the next lesser technique the mage would use to spend stamina equal to the cooldown that normal use of the technique would incur, instead of the cooldown.

  • Hunter- Mark

This inflicts the Marked status on an opponent within 10m of the hunter, for 1000 frames. Marked units take 25% more damage, deal 25% less damage and can be identified even without line of sight. This requires all 1000 stamina to use.

  • Pugilist- Extend

Once the pugilist uses the Extend unique ability, his or her next lesser technique will do double damage and have doubled potency. This requires all 1000 stamina to use.

Traits

Traits are passive abilities that are either always-on or dependent on a secondary condition. They are learned at levels 2, 6, 10, 14 and 18.

Lesser Techniques

Lesser Techniques are moderately powerful regulated by cooldown timers. After using a lesser technique, the cooldown time on it is based on the level it was learned at and the user's Energy stat. On the unit card, they are displayed in green.

Greater Techniques

Greater Techniques are highly powerful techniques regulated by a power gauge that builds as the unit takes damage, receives damage, and uses abilities. Each greater technique uses power equal to 2500 * the level it was learned at (always a multiple of 10000). Finally, every greater technique learned increases the owner's maximum power by 10000 (up to the power cost of the most recent technique). On the unit card, they are displayed in red. If lesser techniques are spells and special moves, greater techniques are limit breaks and supers.

Glyphs

Glyphs are accessories that can be attached to a weapon based on its number of slots. These have minor, positive effects.

Weapons

Each character can use one of three weapons based on his or her class. These weapons are primarily balanced around base rate of attack, range and glyph capacity. All weapons are meant to be equal in overall power with the differences between them being tactical in nature.

Armor

Each character can use one of three armor types based on his or her class. Two of each character's armor types have a series of benefits and an equal set of drawbacks. For example, Shade's Spectral Armor will halve the cooldown on all lesser techniques, but when any one is used, all of them suffer that cooldown instead of just the one used.

Screenshots

Preparation:

Gameplay:

Future Plans

0.7 Additions to Wave mode (Endless mode, fight various waves of monsters until you beat them or they beat you)

0.8 I will respond directly to feedback about the game and apply it as best I can.

0.9 Campaign (The main story. Explore the land of Nexus and end the war between its two regions)

1.0 Final bug testing, rebalancing, feedback response, and the addition of tiles, a french-language mode, and a command-line version for multiple platforms.

Past Development Notes

Jul 12, 2013- Version 0.7prc

-Finished all Greater Technique demonstrations

-Tiled contents information display in a window

-Reduced text spam upon walking into a trap

-Fixed mouseover bugs on target marking

-Fixed revival items. Document the difference between incapacitation and death.

-Fixed pathfinding crashes. Start with 360o strike demonstration and work from there.

-Fixed crash on closing the keybindings window.

-The game now displays AI units' last action and add previous actions to a list for each unit (including the active unit), with timestamps just like the general message buffer has.

-Implemented on-the-fly ally commands

-Implemented a basic wave mode.

Jan 09, 2013- Version 0.6-2013

Aggro changed: Provocation/fear/taunting/repelling are now handled by movement heuristics. Provocation no longer overrides units straight into attack. Makura's, Lyon's, Shade's, Volcane's, and some of Burkhard's lesser technique events are now done. Shade's Dash uses 300 stamina instead of 250.

Jul 23, 2012- Version 0.6ANX

Replaced all XNA references with ANX ones, thereby eliminating the requirement for XNA dependencies.

Jun 13, 2012- Version 0.6prc/1 year development edition

  • Shade's Sprint UA replaced with Dash (a teleport of sorts)
  • Burkhard's Mark UA targets enemies now, instead of choosing the closest.
  • Speed system revamped. Recovery formulas streamlined.
  • Unbreakable Stride now nullifies instant kill attacks without being consumed.
  • Shade's Blinding Speed greater technique (learned at level 4) replaced with Bloodlust, which heals Shade whenever she deals damage for a limited time. It does not recover max hp.
  • Unique Ability and Weapon tutorials (13 total) put into "events and challenges" mode. Walls, units and unit locations can be put in and modified easily, and non-randomly.
  • A more informative HUD. It now shows the weapon, armor, and unique ability of the unit in question. The longsheet ('l' key by default) now has weapon, armor, move recovery and attack recovery information.


Mar 23, 2012- Version 0.52

  • 1) Debuffs to stats now work properly. Before, they basically had zero effect, now they lower the affected stat by 25% (Shade's ~ break techniques, Venomous Dagger), 50% (Shade's Wide Awake Nightmare), or 5/cumulative per hit (Shade's Blitzkrieg). The Venomous Dagger and Wide Awake Nightmare affect Vitality, making enemies more susceptible to further debuffs.
  • 2) Enemy stats have been narrowed slightly. Peaks have been lowered and valleys have been raised.
  • 3) Each character class now has 2 alternate sets of armor. Alternate armor has one drawback and one benefit.
  • 4) Glyph of Bloodlust replaced with Glyph of Blessings (Adds a random bonus to damage, healing and status potency between 1 and 20%, checked each instance.)
  • 5) Guard now works on a 1:1 relationship between health and stamina. In addition, Counterattack has been moved to level 2 with Intervention (formerly Protect) at level 6. Intervention puts Lyon in a guard stance -before- taking the attack for the other unit.


Mar 4, 2012- Version 0.51

  • 1) HUD is more legible, flexible with window size.
  • 2) Allies show their recovery value in addition to their current HP in multi-character games.
  • 3) Allowed log saves after defeat and victory, with frame timestamps.
  • 4) Improved the timing system. Actions don't happen in chunks anymore, but on the frames they're supposed to.
  • 5) Greater Techniques are significantly faster. Before, it was a crapshoot getting them out at a time you were even remotely threatened.
  • 6) Concentrate (Makura's Unique Ability) has a recovery cost based on speed instead of a flat 100.
  • 7) Fixed a latent bug with timing in which ranged weapons requiring a target could be fired off infinitely as long as the user didn't move, with no response from the rest of the game.
  • 8) Changed the way the Life Surge trait and the Lament of Life greater technique work. The life surge causes gradual HP regen after 50 frames without taking damage. LoL will immediately bring HP up to the maximum (without healing wounds) after 50 frames, and it will cause regeneration as long as it's active. LoL still causes a healing song's worth of HP restoration once it's activated.
  • 9) Confusion, charm, fear and provocation now work as intended. They will render a unit uncontrollable and force an active unit switch if a party member is hit with it and there's another party member that's unaffected. Fear prevents melee attacks and halves the rate of ranged ones in the AI. Provocation prioritizes melee attacks above all else. If the only conscious unit is affected by these statuses, it will still act automatically for the duration.Confusion randomizes nearly every aspect of artificial intelligence while avoiding impossible actions. Charm will change targeting choices based on unit alliances.
  • 10) Status durations no longer tick down during invalid actions.
  • 11) Fixed out-of-bounds errors with knockback techniques pushing units to the edge of the map.
  • 12) Makura's second lesser technique (Suppress) has been replaced with Divine Shout, a range 0, area 3 ability that knocks foes back by a distance based on Makura's technique value. The LT was meant to close a very serious gap in her ability to deal with ambushes and surrounding enemies.
  • 13) Glyphs that accelerate technique recharge now do it based on a fixed percentage of the cooldown the technique has rather than the damage dealt.
  • 14) Fixed a bug that prevented AI characters that had greater techniques costing 50000 power from using them
  • 15) Downed characters can get autorevived after spending 1000 frames downed, as long as Makura is in the party at level 2 or greater. They get up with very little HP, but regenerate it immediately.
  • 16) Allowed the option to suppress allied messages
  • 17) Removed second-person and gendered language from messages, to keep them from being chained to a specific perspective

Jan 21, 2012- 0.5 (complete) version

Bugs fixed and changes made:

LOS issues fixed:

  • 1) LOS problems with inconsistent blocking of sight (air blocking) (Solved)
  • 2) Some visibility through walls (Edit: Visibility radius still 15m) (Solved)
  • 3) Visible stuff made more distinct to explored stuff (Solved)
  • 4) 'E'xamining now shows the target marker but not the range markers, which obscure the data (Solved)

UI issues fixed:

  • 5) Healing Song (Makura's lesser technique learned at level 1) now updates the active unit's HP. (Solved)
  • 6) Hotkeys are now placed before techs in technique availability (Solved)
  • 7) GTs have their power costs where LT cooldowns are, and are highlighted red. LTs are highlighted green. (Solved)
  • 8) More visual representation added.
   *Bars for life, stamina and power (Solved, could do a two layered bar)
   *Black or dark grey messagebox with white text (Solved)
   *More/better options with window sizes, for a wide variety of monitors. [Solved]
  • 9) Found some way to make the mouse usable on the playfield itself, for targeting and one-shot examining [Solved]
  • 10) Items on the character select sheet given descriptions. (Solved)

AI issues fixed:

  • 11) Monsters used to get confused between walls, this was exploitable. [Presumed solved unless somehow proven otherwise later on in testing.]
  • 12) Some monster movement used to be counterintuitive and exploited by zigzagging. [Solved]

Older versions:

Jan 16, 2012 - 0.4.20120116 (0.5 peer review candidate (revision 4, fixing compatibility issues with 64 bit computers))

Minor revisions:

-Set the build to specifically target x86 architecture. This should solve any problems for 64-bit computers. -Clarified the version number and the nature of the early-version combat demo.

  • - Added a detailed help and information menu
  • - Eliminated the following bugs:
    • - Terrain showing up under walls
    • - Colored 'bare ground' dots
    • - Different-colored levels
    • - Burkhard's pets don't swap places when I try to sidestep them.
    • - Monster stacking in some cases (knockback/rush trigger this.)
    • - Some minor invalidation/refresh bugs regarding the HUD
    • - Some minor timing bugs regarding enemy positions (anyone also at 0 recovery moves if the active unit performs an invalid action)
    • - Enemies don't move after loading from the main menu
    • - Loading from the main menu is buggy, defeat crashes the game with a null reference exception, enemy placement and map layout differs inexplicably.

0.4.20120108 Jan 8, 2012

  • - AI and overall speed have now improved significantly thanks to proper A* pathing.
  • - Enlarged the main part of the field to font size 8 (done)
  • - Made it so that dead players are 100% unaffected by anything (One guy managed to find a case where a dead character was a legal target for healing song)
  • - Replaced Absorb (gain power when Volcane is hit with magic while doing this) with Invoke (use stamina for the next lesser technique instead of cooldown) for Volcane's unique ability
  • - Made Bloodlust so that you gain HP equal to half an opponent's HP when he or she goes down
  • - Removed the tech dropdown list, make the 'use tech' button compatible with the current cooldown list
  • - Gave more information about items, possibly with a namechange
  • - Allowed for sidesteps/displacements if I bump into an ally
  • - Color coded character names
  • - Allowed immediate feedback after using a tech or item via the mouse and button.
  • - Made it so that panels have character/wall data directly in them to minimize 'for' and 'foreach' loop use (Still needs to be thoroughly verified. Causes the side effect of not being able to pass over downed/dead units.)
  • - Allowed cancel key in keymapping
  • - Allowed OK to autosave in keymapping
  • - Fixed stair up/down inconsistencies, any remaining terrain glitches
  • - Expanded usable key range
  • - Made it so that squares are visible permanently once uncovered, but enemies are not visible, with the view range being 15 for squares at all times, and the greater of 15 and weapon range for enemies in a viewed square
  • - Improved LOS, fixed bugs with the uncover() method
  • - Allowed the AI to use unique abilities.
  • - Included a look command
  • - Added file save/load dialog for game saves
  • - Changed Mark to also allow one to view a marked enemy even beyond the view range/fog of war. Useful if Burkhard's using the hawkeye.
  • - Gave players 10000 Fari (the currency of the game) and a list of items to buy with it before setting out. Then, remove the random items on the ground to compensate.
  • - Implemented extra terrain types and rules for them
  • - Implemented a new A* system, eschew the botched dotnetperls one

I'm within a few balance patches and debugging sessions of 0.5 now.

0.4.2 Sept 30, 2011

Changes:

· Implemented a much faster timing system. · Moved minibosses (capital letters) to the last four floors of the Caverns al-Azar. · Fixed a number of bugs involving techniques, movement, player health state, interface updating, and game win/loss state. · Imposed a game-wide rebalance of nearly every mechanical aspect. · All AI functionality has been added except for unique abilities. · Added a modified version of dotnetperls.com's A* pathing scheme.

Rebalancing:

· Removed level from HP and base weapon damage calculations. Max HP is now Vitality * 40 instead of Vitality * 20 + Level * 250. Base damage is Combat * 4 instead of Combat * 2 + Level * 25. · Level only affects base stat gains and abilities learned. · Level 1 Stat range has been narrowed, from 30-70 (+10 per interval) to 40-60 (+5 per interval) · Weapon rates of attack have been narrowed: Slow is now 2500/speed instead of 3000/speed, Fast is now 1500/speed instead of 1000/speed. · Enemy stats (except for speed) are half of player stats, except for minibosses (capital letters) and the ascendant bard.

0.4.1 (Aug 30, 2011) Rogue Temple announcement revision

-Wider main form design (with data on each side of the playfield rather than above and below it. -Loading can be done from the intro form -Save/Load are menu items rather than buttons on the main form -Extraneous, unused forms removed from the project -Fixed dark screen bug where the screen wouldn't show unless a button was pressed.

See also

Related topics

Related links