Saturday, October 18, 2014

Quick Dice Roller 2.0.0

It took a while, but finally the version 2.0.0 of Quick Dice Roller is out.
The change in the major release number is due to important features added to the dice rolling app.

Get the latest version of Quick Dice Roller on Google Play:

Get the latest version of Quick Dice Roller on Google Play

Improvements

Two new functions were added to support Shadowrun 4th and 5th edition.

Some functions (exp, expUp) were greatly improved, allowing optional parameters. Optional parameters can be omitted in order to keep formulas clear, or can be specified in order to make the function more flexible. Check the complete functions reference for further details.

The output of many functions were changed in order to make it more easy to understand, using same symbolism across different functions - i.e. the character "»" always refers to an extra roll, "!" stands for a success and "≡" refers to an alternate interpretation of the result.

Aspect

Important changes were made to the overall aspect and interface. The main theme was changed to make it more clean.
Overall theme before and after
Edit panels were changed to dialogs in order to provide a better render on large devices.
Edit die, before and after
A special keyboard, customized for the needs of the dice rolling app, was added to ease the task of editing dice formulas. If you prefer the standard keyboard, you can disable the customized one via app settings.
Edit die, custom keyboard
Two new themes were introduced for a total of four themes to choose from: classic, clean, light and dark. It is possible to change theme from the app settings, and a restart it is no longer required.
Light theme, landscape mode

Named Values

Named Values represents a very effective improvement of Quick Dice Roller, bringing the app to a next level of flexibility.

The most direct application of Named Values is to use them as counters for game scores. You can use it to keep track of character's Hit Points, for example. But this is not the real purpose of Named Values.

Named Values can be used by dice by their label.
A Named Value whose label is "PTS" can be used in a dice formula such as "1d20+PTS". Each time the roll is made, the label is substituted with the actual value of corresponding Named Values. So if it's value is 10, the roll made is "1d20+10". If the value of this Named Value is changed to 15 and then the dice is rolled agani, the roll made is "1d20+15".

So, thanks to Named Values, you can define rolls that refers to a character's statistics and you don't need to change such formulas when the statistics change - just change corresponding Named Values.

If you play with a game using pool dice system, you can set a Named Value for the pool size (=number of dice to roll) with label "POOL", and one for the pool target (=value to reach to obtain a success) with the name "TRGT". Then defining a single dice with the formula "pool(1d10, POOL, TRGT)" you can perform any roll simply changing the value of the two Named Values.

And these are just two of the possible applications of named values. You can use them to define an overall modifier for the roll, or to computed derived values, or other.
I've defined a Named Value representing the current level of my character, and then i defined the following dice to automatically compute the damage of a Magic Missile (AD&D):

rak(1d4+1, min(rup(LVL/2),5))

that roll a single missile (1d4+1) at level 1 and another missile each two levels (round up current level divided by two), with a maximum of 5 missiles.

Saturday, April 26, 2014

Quick Dice Roller 1.4.3 and some news

Version 1.4.3 of Quick Dice Roller is now available for download on the Play Store.

This release contains mainly changes to the interface to ease the user experience, such as:
  • move dice to any position in the dice bag and even through different dice bags
  • clone dice and dice bags
  • swipe right to left to delete a result from the list
  • restore deleted results
  • delete all results without confirmation, and ability to restore them
  • link roll results on demand
as well as the usual minor bug fix (thanks to everyone who promptly reported errors) and the new function "abs" for extracting the absolute value.

Get the latest version of Quick Dice Roller on Google Play:


Open Source Project

From now on Quick Dice Roller become an open source project hosted on google.code platform. The project home is located at https://code.google.com/p/quick-dice-roller/ and contains all code and resources needed to build and run Quick Dice Roller.
I hope to intrigue some skilled developer so to get some help.

Translations

Without external help I can no longer mantain all the supported language except for English, Italian and French. And even the English translation should be fixed, because as you can read my english is all but perfect.
I hope that opening the source of the app will be of help from this point of view. The help of anyone is welcome.

Community and Beta Testing

A google+ community has been created to keep in touch with users about how to use the app, issues and suggestions.
All members of the community can join the beta test program in order to receive updates of the unofficial versions of the app.
You can join the community at https://plus.google.com/u/0/communities/103741122374648637652

Saturday, November 23, 2013

Quick Dice Roller 1.4.0 is now available

Version 1.4.0 of Quick Dice Roller is now available for download on the Play Store.

Main feature of this release is the ability to import and export dice and bags definitions to external storage.
As for now the import operation will override all the current dice and bags definitions, so if in doubit first make an export to a new file, then proceed with the import.
This feature requires the permissions modify or delete the content of your SD card and test access to protected storage, that are new for this version.

This release also contains minor UI improvement, as the name of the current collection on the title bar and the ability to split dice names in two rows.

And, as usual, minor improvements and fixes.

I would like to publicly thank Henning for the German translation.

This is the official changelog:
  • Import and Export definitions
  • German translation (thanks to Henning)
  • Slightly improved UI
  • Minor fix and improvement

Get the latest version of Quick Dice Roller on Google Play:

Thursday, October 03, 2013

Formula D / Formula Dé

Image (c) by EuroGames
A friend asked me to add support to Formula D / Formula Dé dice on Quick Dice Roller, but it turns out that QDR is already capable to handle the unusual dice used in this racing game.

First gear

First gear die is a four sided die labeled 1, 1, 2, 2.
It can be handled like a d2 so we can use the following expression:

1d2

Second gear

Is a regular cubic die labeled 2, 3, 3, 4, 4, 4.
This is a little tricky to handle, but not impossible. The expression used is:

MIN(RDN(1d6/2),2)+2

That is:
Roll a d6 and divide by two (0.5, 1, 1.5, 2, 2.5, 3)
Round down (0, 1, 1, 2, 2, 3)
Take the lower value between the one obtained and 2 (0, 1, 1, 2, 2, 2)
Add two (2, 3, 3, 4, 4, 4)

Third gear

This is an eight sided die labeled 4, 5, 6, 6, 7, 7, 8, 8.
This is the Formula Dé's most complex die to reproduce. The formula used is:

MAX(RDN((1.3*1d4)+3.4),1d2+3)

We start with a d4 multiplied by 1.3 (1.3, 2.6, 3.9, 5.2)
Add 3.4 to this value (4.7, 6, 7.3, 8.6)
Round down (4, 6, 7, 8)
Take the larger value between the one just computed and 1d2+3 (4,5). This mean that if the computed value is 6, 7 o 8, it does not change. If the first outcome is 4, it can become 4 or 5.
So we have 1 chance out of 8 to obtain 4 or 5, and 1 chance out of  4 to obtain 6, 7 or 8, as required by the third gear die.

Fourth gear

Is a twelve sided die labeled from 7 to 12 twice. It can be achieved with this simple expression:

1d6+6

Fifth gear

Is a twentieth sided die labeled from 11 to 20 twice, that mean is equal to a d10 and can be achieved with the expression:

1d10+10

Sixth gear

This is a large thirtieth sided die labeled from 21 to 30 three times and like the Fifth gear die can be achieved with a simple d10:

1d10+20

Damage

Well, this is a simple d20 and no further explaination is needed...

Monday, December 24, 2012

Quick Dice Roller 1.3.3 is now available

Quick Dice Roller is now available to download for free (as usual).
New features includes:

  • Support to the Burning Wheel game system
  • Support to the HERO Body Damage (included half dice)
  • French language support (thanks to Magaolimpia)
  • Ability to swap dice name with extended roll result in result list, to improve visibility
  • Increased maximum number of dice for each dice bag
  • Fixed volume control via volume buttons

Get the latest version of Quick Dice Roller on Google Play:


Wednesday, December 19, 2012

Working on next release

I've been a bit busy lately (I mean: last five months), but I'm currently working on the next release of Quick Dice Roller.
The new release will be available before the new year, and will contain some improvement based on users suggestions. New features are:

  • support for the Burning Wheel system
  • support for the HERO system (body damage)

Thanks to all those who have sent me an email with requests and suggestions, I hope your patience has been well placed.

Tuesday, July 24, 2012

Minor Update

A minor update (1.3.1) has just been released to fix a couple of annoying bugs:

  • A force close happen on Exploding Rolls when a potential loop is detected
  • A force close happen randomly when the app is started or brought to foreground

In the first case when a loop is detected a warning message will appear. By its definition, the "Exploding Dice" allow to roll and add another die when the first is above a certain threshold. If this threshold is greater or equal to all the values, a loop can occour.
For example, ExplodeUp(1d20, 5) will re-roll all values of 16 - 20 (that is the five higher values). Putting 20 as threshold, all the values (1- 20) will be re-rolled, leading to an infinite loop.

The second error, as I said, happen pretty randomly and I'm not able to analyze its cause. So I'm not sure if it's definitively fixed.