domingo, 19 de marzo de 2017

Poker Planning como herramienta

Una de las etapas mas delicada de un proyecto, es la estimación de esfuerzo de trabajo, donde determinamos cuanto tiempo llevara completar una tarea dada, generalmente en mi caso, una funcionalidad en un programa.

Cuando por ejemplo, como Scrum Master, me reúno con mi equipo, y pregunto:

"La funcionalidad X que consulta base de datos y devuelve el informe M, ¿cuanto tiempo nos tomara tenerla lista para demostración?"

El tiempo estimado dependerá en gran medida de a quien le pregunte primero, si le pregunto al programador mas experimentado, dirá por ejemplo 3 días, y los demás usaran ese numero como pivote, si le pregunto a los mas inexpertos dirán 8 días,los demás dirán números aproximados a este.

Para evitar esto, podemos utilizar una herramienta conocida como Poker Planning,

Básicamente cada participante recibe un mazo de cartas, con valores de esfuerzo estimado, estos valores no son consecutivos, se emplea generalmente la serie de fibonacci, pues es difícil diferenciar una tarea de dificultad 3 a una de 4, pero no así una de dificultad 5 de una de 14.

Cada participante elige su estimación y la coloca boca abajo, cuando todos han hecho lo mismo, se dan vuelta las cartas, el menor y el mayor valor, son explicados por los que lo colocaron, y se realiza una nueva ronda en busca de consenso.

Cabe destacar que los números no representan necesariamente horas o minutos, en mi casa un 1 representa el tiempo que le lleva al equipo realizar una aplicación de acceso (login) desde cero ( unos 17 min. aprox.  :-P ). Obviamente, el valor que represente debe ser el mismo para todo el equipo.



En hacktoon hicieron una versión muy buena la pueden ver  y descargar aqui

Para mi uso, realice una traducción al castellano de las mismas, la pueden descargar aqui

Espero esta herramienta les sea tan útil como lo ha sido para mi.

Función "siguienteMasGrande" en PHP

No hace mucho tiempo, durante una búsqueda de empleo, se me presento la siguiente prueba técnica:

El desafío es escribir una función "siguienteMasGrande" que toma un entero positivo y devuelve el siguiente entero positivo más grande formado por los dígitos del número original.

En caso que no exista un número más grande debe devolver -1.

Ejemplos:
next_bigger(12)==21
next_bigger(513)==531
next_bigger(2017)==2071
next_bigger(9)==-1
next_bigger(111)==-1
next_bigger(531)==-1
next_bigger(1234)==1243


El tiempo limite eran 3 horas...

Mi enfoque para abordarlo fue el siguiente:


  1. El numero es pasado a la función por el método POST, esta crea un array con el mismo y obtiene todas las permutaciones posibles con las cifras que lo componen.
  2. Esta permutaciones son guardadas en otro array.
  3. Este nuevo array es examinado y se le extraen todas las combinaciones que son mayores al numero original.
  4. A este array con los números mayores, se le extrae el numero mas bajo, que vendría siendo el "Numero Siguiente Mas Grande "
  5. Si el array esta vacio se despliega -1.



Quedo una aplicación bastante buena, :)  

Dejo acá el código fuente por si les es util:



<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // tomamos el valor que viene por el POST desde input.php
    $numero = $_POST["valor"];
}

$proceso = new Proceso();

$array1 = str_split($numero);

$array2 = $proceso->permutar($array1);

$array3 = $proceso->mayorespermuta($array2);

$mensaje = $proceso->mensaje($array3);

// este codigo es para llevar seguimiento de las variables
/*
 * print_r("<br>Valores de array1 ");
 * print_r($array1);
 * print_r("<br>Valores de array2 ");
 * print_r($array2);
 * print_r("<br>valores unicos de array2 ");
 * $tempo= array_unique($array2);
 * print_r($tempo);
 * print_r("<br>valores de array3 ");
 * print_r($array3);
 * print_r("<br>");
 */

// $array1 es el numero original convertido a arreglo
// $array2 son todas las permutaciones del numero original
// $array3 son las permutaciones mayores al numero original
// $resultado es el menor numero en el array de numeros mayores

class Proceso
{
    
    // /***Funcion permutar***///
    public function permutar($array1)
    {
        $array2 = array();
        $cadena = "";
        $temporal = $array1;
        array_shift($array1);
        
        for ($u = 0; $u < count($temporal); $u ++) {
            for ($i = 0; $i < count($array1); $i ++) {
                array_push($array1, $array1[0]);
                array_shift($array1);
                
                for ($e = 0; $e < count($array1); $e ++) {
                    $cadena .= $array1[$e];
                }
                array_push($array2, $temporal[$u] . $cadena);
                array_push($array2, $temporal[$u] . strrev($cadena));
                $cadena = "";
            }
            array_shift($array1);
            array_push($array1, $temporal[$u]);
        }
        return $array2;
    }
    
    // /***funcion permutas mayores al ingresado***///
    public function mayorespermuta($array2)
    {
        $numero = $_POST["valor"];
        // creo el array que va a almacenar todos los numeros mayores al ingresado
        $array3 = array();
        // recorro el array buscando los mayores al ingresado
        $tamanio = count($array2);
        for ($x = 0; $x < $tamanio; $x ++) {
            if ($array2[$x] > $numero) {
                array_push($array3, $array2[$x]);
            }
        }
        return $array3;
    }

    ///***funcion que toma el resultado y lo convierte en mensaje final***///
    public function mensaje($array3)
    {
        if (empty($array3)) {
            $resultado = '-1 ';
        } else {
            $resultado = min($array3);
        }
        $mensaje = "El siguiente numero mayor es: " . $resultado;
        return $mensaje;
    }
}
?>



Pueden descargar la aplicación aqui,  solo copienla en su server php

martes, 24 de enero de 2017

Objetivos tácticos warhammer 40.000

Warhammer 40k ha ganado mucho en variedad y diversión con la implementacion de los objetivos tácticos, el tener siempre algo nuevo que hacer cada turno, le da mucho dinamismo al juego.

Les dejo para su descarga unas cartas de objetivos tácticos en español para imprimir que realice para mi. (enlaces de descarga al final)

Trate que todas las razas y facciones del juego estuvieran representadas, para hacerlo lo mas genérico posible.

Estoy trabajando en los  objetivos tácticos de las razas, las ire añadiendo acá...

Algunos ejemplos:





Aca tienen los archivos pdf para su disfrute:









viernes, 20 de enero de 2017

Cartas Para Warhammer 40.000

El usar cartas para identificar unidades en los wargames, es una costumbre muy practica, con Warmachine de Privateer Press conocí esta modalidad, y me parece genial.

En un intento por aplicarlo en otro de mis juegos favoritos Warhammer 40.000 , realice una búsqueda por Internet y conseguí varios recursos valiosos.

Utilizando el programa Magic Set Editor, y con algunas plantillas prediseñadas (al final les dejo el enlace para descargarlas) pueden crear sus propias cartas.

Dependiendo de la unidad, puede que no quepan todas las reglas especiales, lo que yo hago es dejarlas mencionadas en la carta, y si no las recuerdo, consulto el codex.

Las imágenes de las cartas, son las de mis propias miniaturas, lo que me permite identificarlas aun mas rápidamente, pero pueden descargar las que deseen de la web.

Pueden utilizar las cartas para personajes, unidades, equipamiento, o incluso formaciones completas.

La información de reglas y estadísticas la extraigo del Battlescribe es cuestión de copiar y pegar. Primero armo mi lista en el Battlesribe y luego hago las cartas.


Un HQ con sus estadísticas y reglas mas importantes

Opcion de tropa

Para vehiculos prefiero el modelo horizontal

Elites

El Magic Set Editor, un programa muy fácil de usar

Las plantillas empleadas, las realizo el usuario Meleck del foro dakkadakka, en el siguiente hilo pueden hallar los archivos

discusion en http://www.dakkadakka.com


o descargar un respaldo que tengo W40K_Unit_Card.zip.

Espero les sea de tanta utilidad como a mi.

martes, 1 de septiembre de 2015

Battletech, juego de mesa

"En el futuro, la vida es barata, los mech son caros."

Este juego es muy especial para mi, fue mi incursión en los juegos no tradicionales, una caja de inicio que contenía todo lo necesario para jugar, de la mano de la difunta FASA. Manual de juego, mapa, y las minis...oh Dios, esas primeras minis...

La caja de la editorial Fasa

En el juego pilotas un gigantesco robot, con armas devastadoras contra otras maquinas de similares características. Battletech es un juego veterano con mas de 25 años en el mercado, con un universo riquísimo con decenas de novelas, donde prevalece la intriga política y las grandes campañas militares,

La edición actual, a cargo de Catalyst Game Labs, contiene todo lo necesario para iniciarse en el universo de Batletech... Mapas, trasfondo histórico, manuales, y por supuesto las miniaturas...

La nueva caja de inicio

Ademas de las miniaturas de la caja introductoria, hay centenares de modelos que pueden ser adquiridos aparte, dando mucha variedad a las partidas,

Figuras adicionales para el juego de tablero

La variedad es muy amplia
El pináculo de la tecnología de guerra

Mas mech y vehículos



Pero el juego es mas que luchas de robots, puedes realizar campañas que abarquen sistemas estelares completos, experimentar la construcción de tus propias maquinas de guerra, diferentes niveles de tecnología, mapas adicionales, un juego de Rol, combate de naves espaciales, tanques y unidades de infantería en fin, muchísimas opciones.

El material adicional es abundante y de gran calidad general

Mis primeros mech.. pintados a mediado de los 90

Mismos modelos de otra caja pintados en una epoca mas reciente

Algo muy destacable de este juego, es su escalabilidad, puede jugarse con unas reglas muy simples conocidas como Alpha Strike, donde las características de los Mech están reducidas a una ficha muy sencilla, o puede elevarse su complejidad hasta usar unas hojas de datos bastante completas

Ficha Alpha Strike

Hoja de datos estandar para las reglas completas

Para cerrar, dejo una foto de cuando jugaba Battletech como Sabathius por correo electrónico con los amigos españoles de solaris 7 por allá en el 1995.. desde acá un agradecimiento a Isoroku Agasawara por tan buenos momentos..



domingo, 2 de agosto de 2015

Escultura del Portador de la Noche C'tan Necron (1ra parte)

Realice un Curso de Escultura con el Genial Maestro Diego Gonzalez, aunque no pude terminarlo por motivos personales, me quedo pendiente el proyecto que inicie, una escultura de un Dios estelar, Conocido como el Portador de la Noche (nightbringer) del universo de Warhammer 40.000, Quería realizar mi propia versión en una escala que me permitiera utilizarla no solo de adorno, sino, como pieza de juego con sus propias reglas.

El personaje en miniatura

El material utilizado para la escultura es conocido como plasticera, una combinación de plastilina y cera de abeja, que permite el moldeado con gran detalle. El material es fácilmente maleable con las manos a temperatura ambiente, y en caso de endurecer un poco por bajas temperaturas, basta con calentarlo con una pistola de calor. Una vez realizada la escultura en plasticera, se procede a la elaboración de un molde de caucho, y el posterior vaciado en resina de la pieza final.

Primero realice un busto para plantear el personaje, lo mas representativo del personajes es su rostro, que refleja un gesto de pesadilla, como un grito de horror interminable.

Primer boceto, con la cabeza "normal"como modelo
Ya mas avanzado el busto
Busto en plasticera y su copia en resina
Puliendo detalles del busto en resina

 Luego sobre un esqueleto de alambre, que sera la base de la escultura final, jugamos con la pose y el volumen agregando material tratando de mantener las proporciones

Presentación sobre el esqueleto de alambre, en la base un exterminador como referencia en la escala
Siempre presente la referencia fotografica


Con el esqueleto cubierto de plasticera, comenzamos a agregar aun mas volumen y dar forma a la anatomía humana, el estudio de la proporción y la simetría en el cuerpo humano demuestra ser esencial en la escultura... quien lo diría ;)

trabajando la musculatura
Un libro de anatomía es de mucha ayuda para la correcta posición de los músculos

Luego llega el momento de trabajar el rostro, se supone que debe ser un rostro que evoque el terror más atávico,  sin duda los rasgos faciales son el punto más difícil de trabajar en la escultura.

Sonrie!

Comienzo a ensayar con distintos cortes de tela para la mortaja del personaje, pero es muy difícil lograr la caída correcta de la tela.

Luchando con la tela...

Reemplazo gran parte de la mortaja por plasticera, por lo menos la capucha y la falda.
Los retazos que rodean los brazos también los planteo en plasticera, pero me recomiendan usar otro material para realizarlos, preferiblemente sobre la escultura ya terminada en resina.

Capucha, retazo y un exterminador en el puño
Mas retazos y primera aproximación a la falda
poco mas de dos kilos de peso
Solo resta terminar la parte baja de la tunica

Ya  solo queda afinar detalles, la falda debe ser más firme para que soporte la figura final,  cortarla en trozos y proceder a fabricar los moldes para posteriormente hacer el vaciado en resina y proceder al pintado (casi nada)
.
La Escultura en plasticera casi finalizada

Las reglas para su uso en el juego de warhammer 40.000 funcionan  como una misión de juego, las estadísticas y habilidades de esta monstruos criatura rivalizan con facilidad con los Titanes imperiales, el C'tan puede durar con facilidad por cuatro turnos contra cuatro ejércitos de unos 2000 pts cada uno.

Puedes descargas las reglas acá
Primera pagina de la hoja de reglas para el C'tan viviente
El artículo Escultura del Portador de la Noche C'tan Necron (1ra parte) apareció primero en http://www.wargarage.org/

martes, 14 de julio de 2015

Mesa de Juegos Califa

Si bien mi mesa ideal es la que desarrolle en esta entrada: "proyecto mesa Sultan" la verdad es que las dimensiones son algo ambiciosas, y sus 10 estaciones de batalla, pueden no caber en un comedor promedio.

Por eso decidí modificarla y crear este proyecto, la mesa Califa, mantiene el espíritu del proyecto anterior, pero reduce sus dimensiones a solo 8 estaciones de batalla, su área de juegos, pensada para ser de 1,20 m x 1,20 m (4' x  4') es suficiente para la gran mayoría de juegos..

Este modelo incorpora algunos detalles que estaban ausentes en el proyecto original en sketchUp, como las bisagras, y ademas, los motores de entropia (torre de dados) están colocados de manera que los dados rueden hacia el área de juego, pero es sencillo darle la vuelta para que vuelvan a caer en la posición original


Detalle de la mesa original


Imagen del modelo

Modelo virtual (puedes rotarlo)

Pueden descargar el modelo 3d en el warehouse de skechUp Mesa Califa

Y el documento con la descripción del proyecto original esta acá:  documento descriptivo , aunque es el de la mesa sultan todas las observaciones se aplican igual.

Si alguno se anima a construirlo, no olviden mandar algunas fotos :)