10/14/2016

Omertà, generador de personaje

Saludos,

tras este parón de escribir o intentar escribir. He estado escribiendo… Pero en esta ocasión c#, para este año me he propuesto aprender o tener las bases de este código de programación que a bote pronto me parece sencillo. Bueno después de pelearme con el creo no lo es tanto, pero por ser algo más difícil no voy a tirar la toalla.


De tanto en tanto necesito comprarme un libro de programación o electrónica para obligarme a seguir aprendiendo o mirar que no se me olvida nada, me pille el libro “C# y Visual Studio 2015. Los fundamentos del lenguaje.” Y como dice su título explica los fundamentos y poco más, me decante por este por ser el único que estaba escrito en castellano. Si no tienes muchos conocimientos de la herramienta Visual Studio y de C# es un buen libro para introducirte.


Como con cualquier lenguaje de programación el primer escollo para aprenderlo es que hacer con él, si seguimos los ejemplos de los cursos o tutoriales sin más es algo muy aburrido. O a mí me lo parece. Así que había que buscarse un problema que solucionar para comenzar con un proyecto nuevo. Decidí algo que tenía en mente hace tiempo, un generador de Pjs para Omertà, el poder de la Mafia.




Primeros pasos en la aplicación



De buenas a primera seleccione “Windows Forms Application” con el estilo clásico de las aplicaciones de Windows, desconocía la variante “WPF Application”, que te permite customizar la interface gráfica de miles de formas, tanto que si no vas con cuidad puede quedar algo muy hortera. Pero a la que tengo que regresar en otra ocasión porque me parece muy interesante.



Una de las pruebas con WPF.



El motivo principal de crear esta aplicación, es la de crear pnjs de una forma sencilla y que cumplan los criterios de la creación de personajes, cuando desarrollo una historia, puedo imaginarme a los personajes que intervienen en ella, pero dejo sus características para el final y casi siempre reciclo los pnjs del manual o de otras aventuras, cambio algunos valores y a correr. Pero no me gusta, se pierde la esencia de los pnjs al ser tan iguales. Hacerlos a mano sería la mejor solución, pero requiere mucho tiempo y con Omertà, ciertamente requiere tiempo.



Un compañero de rol Alessandro le entretiene hacer Pjs de Omertà, las fichas de la familia Moretti y los Panepinto son obra suya, me debe unos cuantos desde hace tiempo. Pero el trabajo meticuloso requiere tiempo. entre los dos nos hemos propuesto hacer de Creekville una ciudad más detallada, con locales, pnjs e historia. Que sean herramientas para desarrollar las aventuras y enriquecer un poco más la experiencia. Pues creo que con esta herramienta puede ser más sencillo.







Los eventos en los años de la familia
Repartir los puntos de desarrollo



El funcionamiento es sencillo las tiradas las realiza la aplicación, y en Omertà hay muchas tiradas, tratando de respetar las reglas del manual, por ejemplo, para las características tiro 3D10 y sumo los dos más altos.  Igualmente, los valores pueden modificarse a mano en casi todos los apartados, profesión, características, genero, años de profesión, sino se quiere tener vinculación con la mafia, etc.






Aspecto actual de la interface.



Todo siguiendo las reglas del manual, si seleccionas los años de trabajo los puntos de experiencia que obtienes [nº de años x 5] y no [nº de años x 10]. De ahí pasamos a repartir esos puntos de experiencia profesional en una serie de habilidades. Tras ello pasamos a entrar en la familia y repartir los puntos a relación [10 puntos x año].





Puntos de Profesión.
Puntos de la familia.



Durante los años en la familia puede ser que el pj decida alistarse y ayudar a su país durante la gran guerra, únicamente para personajes masculinos, aunque estoy pensando añadir otras habilidades para los personajes femeninos, que sin duda participaron en la gran guerra por igual.





Eventos durante los años con la familia.
Puntos de desarrollo.



De ahí pasamos a los eventos por los años que se ha estado en la familia, se puede ganar dinero, reputación o acabar fichado por la policía, etc. Los eventos no pueden ser seleccionado por el usuario simplemente se muestran. Tras esto pasaremos a repartir puntos de desarrollo, que son [(Int+Des+Per)x8] con la limitación para las habilidades que no son de profesión, ni de Gánster  es de la base x2. Tras esto solo nos queda caracterizar a nuestro personaje con una o dos tiradas. Estas las podemos volver a lanzar si no nos conviene para el personaje.




Características personales y formato de salida
  

Al aceptar las características los botones de Re Roll desaparecen, el número de tiradas disponibles lo selecciona la aplicación pudiendo ser 1 o 2. Una vez tenemos todo esto hecho tenemos tres tipos de formato para exportar el personaje.

Pj Pdf: Rellena la plantilla que cree hace tiempo, una hoja de personaje doble.

Pnj Pdf: Rellena la plantilla semejante a las fichas de Alessandro.

Txt: exporta el pj p pnj en un archivo de texto.

Un ejemplo de txt:
Quique

Mote: Rótulas, Origen: Italiano, Profesión: Político 
Edad:29           Aspecto: Feo
Fue 19,Agi 14,Con 9,Int 15,Per 12,Com 11,Des 16,Pre 10
Coraje: 35,Reputacion: 1,Suerte: 1
Vida: 16,Bonificacion al Daño: +1D6
Los excelentísimo políticos , ganan 2000 $ anuales más mamandurrias varias. De sus anteriores trabajos :0
Habilidades
------------------------------------------------------
Callejeo 17, Charlatanería 53, Contabilidad 26, Correr 53,
Diplomacia 55, Discreción 28, Elocuencia 46, Esconderse 28,
Escuchar 42, Evitar 28, Idioma1 75, Idioma2 45,
Intuir 57, Juego 30, Leyes 68, Ocultar 32,
Percibir 45, Regateo 47, Seducción 20, Soborno 22,
Acorta 32,
------------------------------------------------------
Rasgos:
Superviviente. El PJ hará lo que sea por sobrevivir. Abandonará a sus compañeros y huirá si vienen mal dadas. -10% a Coraje, +25% a Correr.
De todas las cosas buenas y malas que te podían haber sucedido en tu vida, has salido muy normalito
------------------------------------------------------

¿Cómo está el proyecto? A nivel de código está casi todo hecho, seguramente mal o no de la mejor forma, pero funciona. Ahora bien, estoy teniendo problemas con las direcciones relativas, y es que una cosa es que en mi ordenador funcione muy bien pero no en el resto de la gente, se la he pasado a un par de compañeros para que la testeen y me den su impresión. Mientras me peleo de cómo resolver estos inconvenientes.




Anakleto