pandemic nearing v1

so games::pandemic 0.8.0 has just been uploaded on cpan. this release saw lots of improvements:
  • diseases can be eradicated
  • performing infection outbreaks
  • detecting game over condition when too many outbreaks
  • allowing player to choose which disease to treat in multi-infected cities
  • return/escape bindings for dialogs
  • tooltips for various game information
  • fix unfair epidemic repartition
  • fix never-ending too many cards / deal more cards when dropping a card but still being beyond max number of cards
  • better dialog for past cards / infections
the game is thus playable, with only 2 things missing to have a full game: augmenting number of infection when epidemic strikes, and special event cards. when those will be done, i'll issue 1.x

of course, this does not mean that game is complete and won't be improved after. for example, the startup dialog to choose the game and player roles, ui improvements, etc. will be post 1.x material.

but in the meantime, enjoy 0.8.0, which is already quite interesting to play.


perl 5.10.1 has hit cooker

perl 5.10.1 is out, so i just built it for mandriva cooker - after fighting the build system which seems to be broken very often those days. :-(

it's currently propagating on mirrors, and should hit your machines soon... lots of other packages will need to be rebuilt, so you may want to run urpmi with the --keep flag.

in other news, parrot 1.5.0 is also available on cooker since yesterday.


new pandemic release

games::pandemic 0.7.0 is now on cpan, with a lot of improvements and a crash fix:
  • wiping all cubes from a city if a cure has been found for the disease
  • reacting to winning conditions
  • reacting to game over condition when no more disease cubes
  • possibility to see cards already played / discarded
  • possibility to see past infections
i'm taking my time, but all in all there is progress... :-)


more dzil goodness

i'm happy to announce yet another plugin for dist-zilla: critictests.

in your dist.ini, just add:
and dist-zilla will automatically create for you an xt/author/critic.t file that will criticize your code during author tests.

of course, since your code will be munged by dist-zilla, code that passes critics in your repo may fail after being rewritten... case in point: stricture use, since dist-zilla-plugin-pkgversion will insert a version just after the package statement - and thus before any use statements. in order to make your code compliant again, just move the use strict / warnings before the package. indeed, use is lexically scoped, and thus the scope of the use statement will be the whole file.

your code will now look like:
use strict;
use warnings;
package Foo::Bar;
and of course, perlcritic this time will now be happy.


perl 5.10.1-rc1 available on mandriva

perl 5.10.1-rc1 has been released 3 days ago, so i packaged it for mandriva. the good thing is that a lot of patches that we were adding to our perl are now merged upstream.

the new perl (perl-5.10.1-0.rc1.2mdv at the time of writing) rpms are available in mandriva testing media. you can install them with:
# urpmi perl perl-base --media "Main Testing"
please report any problem to either mandriva cooker mailing list, or to perl 5 porters if that's a perl related bug.


epidemics strike in games::pandemic!

games::pandemic 0.6.0 is now on cpan, with a lot of improvements:
  • introducing epidemic events - fear! :-)
  • closing current game is now supported
  • player cards now displayed in a window of their own
  • detecting game over condition when no more cards
  • sorting cards by type then by disease then by city name
  • introducing a new "action" menu, with shortcuts for actions
  • actions now independant of buttons / menu for easier reuse
of course, there are still a lot of things to do, but it's shaping up nicely...


shipping compile tests with dist-zilla

perl community places some emphasis on testing. which is great, since it enhances the overall quality of perl ecosystem.

the first, easiest test that one should provide is basic: making sure the modules compile. we have 2 options here:
  • either create a test and add some use_ok('Foo::Bar'). but we then need to update it whenever we add more modules to our distribution - without forgetting to update test count.
  • or, to get rid of this burden, ship a test that automatically finds the module and tries to compile them.
but shipping the exact same generic test is boring, and could be automated. which is now the case for dist::zilla with the new module dist::zilla::plugin::compiletests. just add the following in your dist.ini file:
and you will get a brand new t/00-compile.t that will test your modules and your scripts one by one. this my take some time if your dist ships a lot of modules having lots of prereqs, especially if they are a bit slow to compile such as Moose. but this will potentially find more compile errors in your modules.


more moose support in dzp:autoprereq

dist::zilla::plugin::autoprereq just gained more moose support: it can now extract the base module declared with:
extends 'Foo::Bar';
it's not perfect since it only extracts the first base class, but i think it will cover 90+% of the cases out there.


bash completion for dzil command

lazyness strikes once again: i've created a (rough) bash completion file for dzil command that rjbs just merged. it will be available in next dist::zilla release.


converting & rebuilding mandriva perl modules rpm

as time went by, the %perl_convert_version[0] macro in rpm has proven useful to convert perl version number to something that rpm will (should) always be able to parse. i also patched mandriva's perl.prov and perl.req (that automatically extracts requires & provides for perl in rpm packages) to use %perl_convert_version also.

the last step happened this week, when guillomovitch has converted youri checks to also compare newer cpan version with %perl_convert_version. therefore i'm currently migrating the not-yet converted mandriva perl rpm package to use %perl_convert_version also[1]...

expect some problems during installation till all modules are converted. this should be solved soon.

[0] so that eg 1.54 is understood as 1.540.0, and thus greater than 1.470 - as on cpan.
[1] when the build system works! :-)