Atavism Blog

Atavism Blog

Here you will find Blog posts about atavism

  • Home
    Home This is where you can find all the blog posts throughout the site.
  • Categories
    Categories Displays a list of categories from this blog.
  • Tags
    Tags Displays a list of tags that have been used in the blog.
  • Bloggers
    Bloggers Search for your favorite blogger from this site.
  • Team Blogs
    Team Blogs Find your favorite team blogs here.
  • Login
    Login Login form

Posted by on in Uncategorized
Working with movement speed

To Setting and managing the movement speed of players and mobs is an important part of game design,and a highly requested feature by developers. As of release 2.1.1 Atavism users can now easily set and work with movement speeds i their games. Working with movement speed is simple in Atavism, base movement speeds can be set for players and mobs through the Atavism Editor tool, and effects can be created to modify speed through abilities and items. These are covered below.

Setting Base Movement Speed

As of the current release (2.1.1) all mobs share the same movement speed, and player characters can ahve thier speed set by character/race template.

To set mob movement speed go into the Stats plugin in the Atavism Editor, click the Edit button and choose the movement_speed stat. If no stat with that name is listed, you can create it and give it the exact name: movement_speed. The Base Value is the speed the mobs will run at. By default a speed of 7 is suggested.

To set player movement speed go into the Player Character Setup plugin and you will find the movement speed stat listed. As stats are defined for each class/race combination you can have different speeds for different races or classes. Once again, a speed of 7 is the recommended default value. Note that any changes made here will only take effect for new characters, not per-existing ones.

Note: For those interested in Mob Controller development in Unity, the runSpeed variable from the AtavismMobController abstract class is updated from the server and should be used for showing correct movement of players and mobs.

Creating Speed altering effects

We now have the base movement speed for our mobs and players, but what about creating a speed boost or slow effect/ability. To achieve this , Stat Effects are used. To create a speed boost effect go into the Effects plugin and set the Effect Type to Stat. Set Stat 1 to movement speed and give it a value. Make sure the duration is set to greater than 0 or the effect will be removed straight away. In the example below I have created an Effect called Speed Boost which increases the movement speed by 25% and lasts for 10 seconds.

The same idea can be used for Slow Down Effects by using a negative value for the Modification value.

Creating Speed altering Equipment

The other way to alter the speed of a player/mob is to apply a movement speed stat modification to a piece of armor or a weapon. For example, a pair of boots could be given a speed boost of 2 so when equipped the player starts running faster. To achieve this, go into the Items Plugin and select the item you want to add a speed modifier to. At the bottom section, titled Item Effects, click Add Item Effect Type to Stat. Choose the movement speed stat and give it a non-zero value.

As shown, working with movement speed in Atavism is now very easy. To finish up, a handy tip is to make an ability or pair of boots that increases movement speed for any test characters to make traveling around a bit less tedious while testing.

Hits: 2445
0

Posted by on in Uncategorized
Creating a Damage over Time Effect

This week I’m going to explain how to create a Damage over Time effect (DoT) along with setting up the ability, the skill and giving it to players. For any who aren’t familiar with the term, DoTs are used for bleed, poison, burn or curse (or other) style abilities where the target continues to take damage for a period of time.

For this blog I am going to create an ability called Lacerate which causes a DoT called Bleed. The ability will be part of the Knife Style skill. There are 4 parts to cover: Creating the Skill, creating the Effect, creating the Ability and giving the Skill to a player.

Creating the Skill

Open the Skills plugin in the Atavism Online Editor and create a new Skill called Knife Style. Make sure Automatically Learn is checked and hit Save Data. The rest of the settings don't matter for this example.

Creating the Effect

Open the Effects plugin in the Atavism Online editor. I have set the properties as below:

Name: Bleed

Effect Type: Damage (as this effect will be dealing damage).

Damage Effect Type: Physical Dot (Bleed effects generally use physical stats for their damage calculations. By default the physical stats are strength (physical power) and dexterity (physical accuracy)).

Damage Property: health (the target will be losing health from this effect).

Damage Type: I have chosen slash, but it could be any.

Damage amount: 30 (this is the full amount that will be dealt by the DoT before other modifiers).

Damage modifier: 1 (leaving this as default)

Transfer Rate: 0 (I don’t want the caster getting any health from this)

Bonus Damage Effect: None (I’ll cover this at the end of the Blog)

Bonus Damage Amount: 0 (if there is no bonus damage effect, there’s no need to set an amount)

Is Buff: False (buffs are for positive effects, damage effects are negative)

Is Passive: False (this effect is activated by an ability)

Skill Type: Knife Style (the skill I setup in the first step)

Skill Mod: 1 (Add 1 damage for every level the caster has of the Knife Style skill)

Stack Limit: 3 (The caster can stack the ability 3 times on the target allowing it to deal up to 3 times the damage).

Allow Multiple: True (multiple casters can all put this effect on the target at the same time)

Duration: 15 (the effect stays on the target for 15 seconds)

Num Pulses: 5 (the damage from the effect will be applied 5 times)

Effect Particle: None

Tooltip: You are bleeding! You will lose health every few seconds. (if the UI is setup to display effects on the player, this message will show up when they have this effect).

The main settings to look at here are Damage Amount, Duration and Num Pulses. The Damage amount is split up by the number of pulses. In this example the 30 damage is split between 5 pulses resulting in 6 damage per pulse. There are 5 pulses over 15 seconds, so each pulse happens 3 seconds apart, the first one occurring after 3 seconds.

Once the settings are as wanted, hit Save Data. With the effect created, an Ability now needs to be setup to apply the effect.

Creating the Ability

Open the Abilities plugin and set the properties as specified below (anything not mentioned can be left as default):

Name: Lacerate

Ability Type: CombatMeleeAbility

Skill: Knife Style (the Skill made for this example – this skill can be increased by using this ability)

Target Type: Enemy (can only be used on enemy targets)

Cooldown Type: LACERATE (I made a custom cooldown so this ability can only be used every 5 seconds)

Duration: 5

Act Target1: target (we want the effect applied to the target of the ability)

Act Effect1: Bleed (the effect made in the step above)

The Ability now needs to be added to the Knife Style skill. Open the Skills Plugin again and click on the Edit button and choose the Knife Style Skill. Under the Skill Abilities section set Ability 1 to the Lacerate ability created in the step above. Make sure Level is still set to 0 and click Save.

Giving the skill to a Player

Open the Player Character Setup plugin and go into Edit mode. Choose the template you want to edit and head down to Starting Skills. Click the Add Skill button and choose the Knife Style skill. This will give the skill to any new characters made that match the Race/Class combination for this template.

Give the server a restart and everything is ready to go. Make a new character and they will have a new Lacerate ability in their action bar. Now it's just a matter of finding an enemy to attack and trying the ability out on them. You should see them take some damage every few seconds after using the ability.

Images have been added below to show how my Effect and Abilities screens looked when I was finished.

Effect:

Ability:

 

 

Hits: 4405
0

Posted by on in Uncategorized

With the release of v2.1.1 developers will be able to connect their Atavism server account authentication to external systems such as a website or database. This will allow you to manage or control who has access to your game without making changes to the atavism master database. It also means those with a group of followers who have accounts on a website can use their website accounts to log into the game. The only challenge is it requires a bit of setup on the remote system to allow Atavism to get the data it needs.

The atavism server has built in support to send a request to a php page and get a response back to verify an account. The rest of this blog post is going to cover how to set that php page up to talk to your website database and how to get atavism to talk to your php page.

Note: There is also a skeleton file to work with direct remote database connections which will be completed later (but any keen programmers can modify it easily if they have access to the AGIS code – see RemoteDatabaseAccountConnector.java in the util package).

Setting up the PHP Page:

The Atavism server sends two parameters to the php page: 'user' and 'password'. You need to use the POST function to get the properies. i.e:

$user = $_POST["user"];

$password = $_POST["password"];

From here your php page will do whatever it needs to verify the username and password.

It then must echo either a “Success” or a fail message which the Atavism server will pickup. For example, I have a password check that echoes Success when the passwords match, otherwise Fail:

if ($password === $passnya) {

    echo "Success";

} else {

    echo "Fail";

}

That is pretty much all you need to get the php side going. The hard part is creating the logic to verify the account details. To help you setup your php page, an example php script is given on the wiki page: http://atavismonline.com/wiki/doku.php?id=remote_php_connector

 Getting the Atavism server to communicate with your PHP page:

A remote connector can be set in the auth_server.py file in the server files/bin folder. The following 3 lines need to be added or edited (which already exist in the file and just need the # symbol removed):

connector = RemotePhpAccountConnector()

connector.setUrl("http://www.yourdomain.com/verifyAccount.php")

ms.setRemoteConnector(connector)

Replace the url specified with the address of the php file you have uploaded and you are ready to go.

Note: To use other connectors, substitute in the different class name and the set functions.

 We will be adding this to the wiki as well. That's if for this week. Next week's blog won't be quite so technical, so don't worry if this is all a bit confusing.

Hits: 1858
0

Posted by on in Uncategorized
Fixes, UMA, AtVoxel and NGUI

Our main focus for the next few months is the server side pathfinding and player movement handling, but we will be doing small updates every so often to fix those pesky bugs and to fix up some minor features. The past couple weeks I have been spending a bit of time with our testers to get all our additional plugins up-to date with our latest release (2.1) and to fix up a couple things. This means you can look forward to seeing an incremental update of Atavism (version 2.1.1) along with AtVoxel 2.1 and the latest NGUI-Atavism scripts next weekend.

So what fixes or improvements can you expect?

Atavism itself has seen the WorldBuilding UI and client-side scripting split into two files allowing for easier integration with AtVoxel and any other UI customisations that others may wish to use. The player input and mob controller scripts have been modified slightly which have resulted in a Click-to-Move input controller that works properly (allowing Diablo-style control).

On the server side the remote-account connection system has been improved to make it much easier to connect external websites, databases or other systems to Atavism to control user accounts. Next weeks blog will cover this in detail, explaining how you can set up Atavism login to connect to your website. Quests will also get another fix so pre-reqs now work.

The UMA-Atavism package has had 3 fixes added in: pants for Male characters now work, unequipping a belt now removes the model from the character and the alt-tab (or minimise) bug has been fixed so the textures are applied again to all UMA characters when going back into your game. The update is already up and ready for you to grab.

AtVoxel has been upgraded to work with the new Claim/World Building system in Atavism and as a result now has a proper UI which can be used without any customisation. This means AtVoxel can now be adeed to your project and used right away rather than having to make other changes (or deal with ugly debug UI).

Finally, the NGUI package is being updated to contain scripts for all the new features added in 2.1 (such as Merchants). One of our key testers has been working to create a demo scene/project which will be released a little later to help users get NGUI working with Atavism.

It's looking to be a good weekend of releases next week with something for everyone. Keep an eye on the forums for the announcement of the releases.

Tagged in: Tech Blog 2
Hits: 2746

Intel

Unity

S5 Box

Sign On