• Register

Lugdunon is a 2d multiplayer RPG / sandbox game that is reminiscent of the 16 bit console era. Lugdunon runs within your web browser, so no client download is needed. Lugdunon can also be played ‘on the go’ on mobile devices such as iPads and Android tablets. Players can engage in combat with each other or with NPCs, craft and trade items, empower their character with the advancement system, place and decorate in-game signs using the full-featured sign editor, and more! However, what is really interesting about Lugdunon is the ability to take the game and truly make it your own. With powerful in-game editors available to players who have been designated ‘Game Masters’ and the ability to run your own server, the sky is the limit! Currently, from within the game itself, Game Masters can create new crafting recipes, add and edit NPCs, paint the landscape using up to 16 terrain layers, raise and lower elevation to create cliffs and chasms, place items, and edit NPC spawn points.

Post news Report RSS 0.5.3 released!

Alpha 0.5.3 released. Important features: modifiers (buffs and debuffs), visual character effects, item and modifier tooltips, a proper implementation of player and NPC death states, and more.

Posted by on

Alpha 0.5.3 released. Important features: modifiers (buffs and debuffs), visual character effects, item and modifier tooltips, a proper implementation of player and NPC death states, and more.

Character modifiers (buffs and debuffs) finally make their debut. Modifiers for your character appear in the upper right hand of your screen. Modifiers have a fairly robust API, and can be extended to modify a character's stats, behavior, and more in a large number of ways.

Buffs / Debuffs Bar States

Here is a quick demonstration of what modifiers look like when they are applied and when they expire:

A Buff Expires

Actions and modifiers can now apply various visual effects on a character's sprite. Modifiers can specify an applied effect, expire effect, and an effect that persists for the duration of the modifier. Actions can currents specify only an effect that is triggered when the action occurs.

Here is a demonstration of several of the effects currently available in game:

Visual Effect: ClawVisual Effect: SlashVisual Effect: Interrupt
Visual Effect: ShieldVisual Effect: HealVisual Effect: Resurrect
Visual Effect: DispelVisual Effect: Flare

Taking into account the increase in the number of items and item types, as well as the addition of modifiers, the need for tooltips quickly shot to the front of the development queue. Tooltips appear when you mouse over (or touch on mobile) an inventory item, or a modifier icon. They provide a wide range of information such as: a short description, crafter, whether or not the item can be crafted, or is used in crafting, tool and weapon use, equipped and modifier effects, and more.

Tooltip: Tool and Weapon
Tooltip: Equippable Item
Tooltip: Direct Damage Spell
Tooltip: Buff Spell
Tooltip: Buff
Tooltip: Crafted

A proper death state is now implemented. No longer will NPCs simply disappear, and no longer will players immediately respawn at their home point.

When an NPC or a player dies, they will fall down dead. Attacks, heals, and modifiers will have no effect on a dead character. In the case of an NPC, their corpse will disappear in 30 seconds, and players will be presented with a dialog informing them of their death. Pressing the button on the dialog will respawn the player at their home location.

In the future, players will be able to wait at this dialog for a party member to resurrect them.

Death! (animated)

Bears are now roaming the land. Beware!

Bears!

Another important addition is that players are now informed if they are attempting to load the client with an unsupported browser, or if certain features are disabled on a supported browser. In the case of an unsupported browser, the player will be presented with download links to several supported browsers.

The full changelog is listed below:

  • Character appearances can now specify an overall alpha value for rendering the sprite.
  • Added an air / interrupt effect.
  • Added a weapon / claw effect.
  • Fixed an issue with the warp command not operating properly.
  • NPCs will now turn to face you before attacking.
  • Added a ghostly scholar NPC.
  • UnitFrames should now respond properly to all character events.
  • Added net.lugdunon.ui.unitFrame.TargetFrame. npcDestroyed(npcId) to client-side API.
  • Added net.lugdunon.ui.unitFrame.ParyFrame. npcDestroyed(npcId) to client-side API.
  • Input handling is now disabled when a dialog is present.
  • Added an air / dispel effect.
  • Added a fire / resurrect effect.
  • Added a weapon / slash effect.
  • Increased the frame count on several existing effect sprites.
  • Added net.lugdunon.command.Command. canPerformAction(Character character) to the server-side API.
  • Added net.lugdunon.command.Command. canPerformActionOn(Character character) to the server-side API.
  • Added net.lugdunon.command.core.player. RemoveNPCCommand.
  • NPCs now fall down dead when killed. They persist in the ‘corpse' state for 30 seconds before being removed from the game world.
  • Modified the aggro behavior to take character death into account when picking up / dropping aggro.
  • Added a flag to modifiers to indicate that they should persist through death.
  • Characters should now cease all actions upon death.
  • Fixed an issue with auth server that was causing erroneous guest account connect refusals.
  • Players that attempt to load the client on an unsupported browser will now be informed of the fact.
  • Players that attempt to load the client on a browser that does not have local storage capabilities (here's looking at FireFox with cookies disabled) will now be informed of the fact.
  • Death state implemented for player characters.
  • Added net.lugdunon.character.Character. isDead() to the client side API.
  • Added net.lugdunon.character.Character. died(cause,agent) to the client side API.
  • Added net.lugdunon.character.Character. revived(cause,agent) to the client side API.
  • Added net.lugdunon.character.PlayerCharacter. showDeathPrompt() to the client side API.
  • Added net.lugdunon.ui.unitFrame.UnitFrame class to the client-side code base in order to better consolidate unit frame code.
  • Fixed some initialization issues with the net.lugdunon.ui.LabelGauge class.
  • Added Namespace.validateBrowser(allowedBrowsers,clientFailureRedirect) to the client side API.
  • Added die and dead frameSets to all the character sprites.
  • WarpCommand is now more general purpose.
  • Added net.lugdunon.command.core.player. PlayerDeathCommand.
  • Added net.lugdunon.command.core.player. PlayerReviveCommand.
  • Added net.lugdunon.state.character.Character. clearFreeMovementBits() to server side API.
  • Added net.lugdunon.state.character.Character. isDead() to server side API.
  • Added net.lugdunon.state.character.Character. revived(int health) to server side API.
  • ItemInstance now properly serializes crafter value.
  • Added net.lugdunon.character.effect. CharacterEffect.complete() to the client side API.
  • Added net.lugdunon.state.sprite.Sprite. hasFrameSet(frameSet) to the client side API.
  • Added a new command for applying effects: net.lugdunon.command.core.player. ApplyEffectCommand.
  • net.lugdunon.state.character.advancement. ICharacterStats.attacked() now returns a boolean (true if the attack was successful and damage was done).
  • Added support for effects to modifiers.
  • Modifier effects can specify three different animation sets: one for when the modifier is applied, one for when the modifier expires, and one to run while the modifier is active.
  • Added net.lugdunon.state.character.modifier.BaseModifier. hasEffectPresence() to server side API.
  • Added net.lugdunon.state.character.modifier.BaseModifier. getEffectPresenceClass() to server side API.
  • Added net.lugdunon.state.character.modifier.BaseModifier. setEffectPresenceClass(String effectPresenceClass) to server side API.
  • Added net.lugdunon.state.character.modifier.BaseModifier. getEffectPresenceInitData() to server side API.
  • Added net.lugdunon.state.character.modifier.BaseModifier. setEffectPresenceInitData(JSONObject effectPresenceInitData) to server side API.
  • Added support for targeted effects on item use.
  • Added net.lugdunon.state.item.Item. hasTargetEffect() to server side API.
  • Added net.lugdunon.state.item.Item. getTargetEffectClass() to server side API.
  • Added net.lugdunon.state.item.Item. setTargetEffectClass(String targetEffectClass) to server side API.
  • Added net.lugdunon.state.item.Item. getTargetEffectInitData() to server side API.
  • Added net.lugdunon.state.item.Item. setTargetEffectInitData(JSONObject targetEffectInitData) to server side API.
  • Added an alpha property to net.lugdunon.state.sprite.FrameSet.
  • Added a duration property to net.lugdunon.state.sprite.FrameSet.
  • Added a light blessing sprite effect.
  • Recipes are now sent to the client on initial connect. Will need to update recipe editor to use these, instead of the current method.
  • Tooltips now display how many crafting recipes have the item as the result.
  • Tooltips now display how many crafting recipes use the item as an ingredient.
  • net.lugdunon.item.Item.isSpell() will only return true id item type is ‘SPELL' and the item is nonInstanced.
  • Keybinds, and related actions / indicators, are no longer instantiated or used on mobile devices.
  • Added game.getRecipesWithResult(itemId) to client side API.
  • Added game.getRecipesWithIngredient(itemId) to client side API.
  • Removed an erroneous recipe definition. There are now 164 recipes in the default data set.
  • Added net.lugdunon.character.effect.SpriteBasedEffect to the client side codebase.
  • Added three new effect sprites, a heal, shield, and fire blast.
  • Added an effectsOffset property to the net.lugdunon.state.sprite.FrameSet class. This property is a Point class that indicates the location offset (from the frameset's base offset) to draw the effect sprite.
  • Added an itemInstance parameter to the net.lugdunon.item.renderer.DefaultRenderer. renderTooltip(itemInstance) function in the client side codebase.
  • Added a renderData parameter to the game. showTooltip(renderer,renderData) function in the client side codebase.
  • Item tooltips now show the crafter's name.
  • Item tooltips now indicate if the item is a quest item.
  • Cleaned up the net.lugdunon.ui.inventory.InventoryDialog code.
  • Added bears. RAWR.
  • Fixed an issue that was causing crafting to not work.
  • Added a close button to the spellbook UI.
  • Added support for tooltips.
  • Added net.lugdunon.character.Character.EQUIP_SLOT_NAMES to client side API.
  • Modifiers definitions are now sent to the client on initial connect.
  • Added net.lugdunon.item.Item.actionRenderer to client side API (instance of the items Action Handler).
  • Added tooltip and label support to modifiers.
  • Added Number.msToTimeString() to the client side API.
  • Added game.showLabel(text,offset) to client side API.
  • Added game.hideLabel() to client side API.
  • Added game.showTooltip(renderer) to client side API.
  • Added game.hideTooltip() to client side API.
  • Added net.lugdunon.item.renderer.DefaultRenderer. renderTooltip() to the client side API.
  • Added net.lugdunon.state.character.modifier.BaseModifier. renderTooltip() to the client side API.
  • Added net.lugdunon.state.item.action.IActionHandler. renderToolUseInformation(toolDef) to the client side API.
  • Added net.lugdunon.state.item.action.IActionHandler. renderWeaponUseInformation(weaponDef) to the client side API.
  • Added net.lugdunon.state.item.action.IActionHandler. getValueFromRandomDefinition(value) to the client side API.
  • Added a pop in and pop out effect to modifiers for when they are applied and when they expire.
  • Fixed some issues in the icons and ui image assets where the drop shadows bled over onto other tiles.
  • Added a new command for interrupt spells: net.lugdunon.command.core.spell.DirectInterruptCommand.
  • Added net.lugdunon.state.item.action.spell. DirectInterruptActionHandler to the client side API.
  • Added scroll, spell, and recipe for ‘Gale Force'. Spell instantly interrupts a hostile target's currently charging action. 1 minute recharge.
  • Added scroll, spell, and recipe for ‘Cleansing Winds'. Dispels one buff form a hostile target or one debuff from a friendly target. 3 second charge and 3 second recharge.
  • Added recipe for Strength of Earth.
  • Added recipe forBlessing of Lugus.
  • Added modifiers UI.
  • Added net.lugdunon.state.character.advancement. ICharacterStats.draw(delta) to client side API.
  • Added net.lugdunon.state.character.modifier. BaseModifier.update(delta) to client side API.
  • Added net.lugdunon.state.character.modifier. BaseIconRenderer to client side API.
  • Completed implementation of DefaultIconRenderer.
  • Added net.lugdunon.ui.Modifiers to the client side codebase. Accessible via game.modifiers.
  • Added net.lugdunon.input.keybind.modifiers. ModifiersFocusKeybinding to client side codebase. Default key id ‘n'.
  • Modified the modifier icon assets to fit their final size.
  • Modified net.lugdunon.command.core.spell. DirectDamageCommand to be invokable by NPCs.
  • Modified net.lugdunon.command.core.spell. DirectHealCommand to be invokable by NPCs.
  • Added net.lugdunon.ui.unitFrame.PartyFrame. getMember(memberName) to client side API.
  • Added net.lugdunon.ui.unitFrame.PartyFrame. modifierApplied(character,modifier) to client side API.
  • Added net.lugdunon.ui.unitFrame.PartyFrame. modifierExpired(character,modifierId) to client side API.
  • Added net.lugdunon.ui.unitFrame.TargetFrame. modifierApplied(character,modifier) to client side API.
  • Added net.lugdunon.ui.unitFrame.TargetFrame. modifierExpired(character,modifierId) to client side API.
  • Added net.lugdunon.state.character.PlayerCharacter. isInPartyWith(Character t) to server side API.
  • Added net.lugdunon.command.core.spell.ModifierApplyCommand.
  • Added net.lugdunon.command.core.spell.ModifierDispelCommand.
  • Added net.lugdunon.command.core.spell.ModifierExpireCommand.
  • Added net.lugdunon.command.CommandProperties. getModifier(String key, BaseModifier defaultValue) to server side API.
  • Added net.lugdunon.command.CommandProperties. getModifier(String key) to server side API.
  • Added net.lugdunon.command.CommandProperties. setModifier(String key, BaseModifier value) to server side API.
  • Removed net.lugdunon.state.character.advancement.def. DefaultCharacterEffecChangeCommand.
  • Added net.lugdunon.state.character.advancement.def. DefaultCharacterStatModifierChangeCommand.
  • Added net.lugdunon.state.character.advancement. ICharacterStats.applyModifier(modifier) to client side API.
  • Added net.lugdunon.state.character.advancement. ICharacterStats.expireModifier(modifierId) to client side API.
  • Added net.lugdunon.state.character.advancement. ICharacterStats.getCharacter() to server side API.
  • Added net.lugdunon.state.character.advancement. ICharacterStats.getHealingAmount(int amount, int causeType, Object cause) to server side API.
  • Added net.lugdunon.state.character.advancement. ICharacterStats.expireModifier(String modifierId) to server side API.
  • Added net.lugdunon.state.character.Character. characterToData(EnhancedDataOutputStream data, Character character) to server side API.
  • Added net.lugdunon.state.item.action.spell. ModifierApplyActionHandler to client side API.
  • Added net.lugdunon.state.item.action.spell. ModifierDispelActionHandler to client side API.
  • Added scroll, spell, and modifier for ‘Blessing of Lugus'. Spell imparts a modifier (buff) that grants 25% to all healing taken for 2 minutes.
  • Added scroll and spell for ‘Strength of Earth'. Spell imparts a modifier (buff) that grants 25% to all damage done for 5 minutes.
  • Added icons for strength of earth, blessing of lugus, and an as of yet unnamed air based dispel.
  • Added art assets for buff icons.
  • Fixed an issue that sometimes caused the incorrect orientation to be set on the client after pathing completed.
  • Fixed an issue with spellbook tabs not animating on FireFox.
  • Added net.lugdunon.state.character.modifier.BaseModifier class to client and server side codebases.
  • Added net.lugdunon.state.character.advancement.def.modifier. CharacterStatModifier class to client and server side codebases.
  • Added net.lugdunon.state.character.modifier. ModifierDefinitions to server side codebase.
  • Added net.lugdunon.state.character.modifier. DefaultIconRenderer to client side codebase.
  • Added net.lugdunon.state.character.advancement. ICharacterStats.applyModifier(String modifierId) to server side API.
  • Added net.lugdunon.state.character.advancement. ICharacterStats.hasModifier(String modifierId) to server side API.
  • Added net.lugdunon.state.character.advancement. ICharacterStats.listModifiers() to server side API.
  • Added net.lugdunon.state.character.advancement. ICharacterStats.drawModifiers(delta) to client side API.
  • Updated DefaultCharacterStats implementations to reflect client and server changes to ICharacterStats.
  • Added modifiers.json to server side codebase.
  • Added modifier support for mods.
  • Added net.lugdunon.state.mod.Mod.listModifierDefIds() to server side API.
  • Added net.lugdunon.state.mod.Mod.getModifierDef(String modifierId) to server side API.
  • Added net.lugdunon.state.mod.Mod.hasModifierDef(String modifierId) to server side API.
  • Added net.lugdunon.state.World.getModifierDefinitions() to server side API.
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: