Today is Friday, so it's time to indulge in our funny, strange passions. I hope that there will be an audience here, which, with the phrase "role-playing," imagines something different from the girl with a whip in latex ... If you thought about it, then you will most likely not be interested in reading.
In fact, we are talking about this.
A shot from the movie The Gamers delightful series.
Read on? Fine! Surely you have been playing DnD, WoD, warhammer or some other good game for years. I have been playing for several years in different settings of the World of Darkness - however, the post will be about universal chars, and not some specific system.
Formulation of the problem
If you play for a long time, you know that the papers tend to be lost, destroyed, sometimes it is very difficult to pick up the latest events (new stats, experience, etc.), and it’s a shame to lose all this. Me too. The thought of an electronic jelly comes to mind immediately. Of course, some of them are on the Internet, but I was not satisfied with any of the proposed. Why? Let's estimate the requirements.
')
- It should be edited online. Because what the hell is different?
- It should be possible to share the charnik on the masters of other interested persons.
- He must be beautiful. For example, Mr Gone's Character Sheets used by everyone for the World of Darkness look like this (carefully, by reference the heavy pdf). Electronic should be no worse.
- It must be adequately printed. The electronic version is good, but nothing replaces the warm lamp sheet on the table.
- He should have a notion of revisions. Audits should have comments, the ability to compare and restore.
- Desirable to leave comments.
- An auxiliary algorithm is desirable for generating a new character. In power generation systems, the devil himself will break his leg, and checking 10 times whether you have distributed the glasses correctly is very sad.
- It should be possible for anyone to make an arbitrary charnik. Well, or should be from the start a full set of required Charnik.
Unfortunately, the full set of these requirements (even without considering the “desirable” ones) does not satisfy anything. Therefore, two years ago, I decided that I would quickly make my system to work with the chambers. Hmmm, quickly ... How wrong I was.
Decision
In general, how long, how short - I made such a system. At the time of two years ago, she was in PHP + MySQL, and used JQuery + Bootstrap to display all sly goodness. Immediately I ask you not to throw rotten tomatoes - I am a backender, and not a fronder, so I did on the fact that I got my arm. But what was done was a big plus - it works and implements all my Wishlist:
- The ability to add any beautiful Charnik. Charniki themselves are autonomous entities written purely in HTML + CSS + JS.
- Charniki can be printed, although for this it was necessary to greatly pervert in some places;
- There is authorization through Google and the ability to give access to the Charnik;
- There are revisions with the ability to roll back and view the changes ;
- There is a possibility of commenting;
- Looks great with a tablet and even a phone;
As an example - this
is what the mortal mortar looks like , and this
is how the vampire glass has been styled as vampire the requiem.
It turned out incredibly convenient, but creating a beautiful charnik of time takes nemeryanno. Therefore, I threw the bait in a couple of communities for joint completion ... But there were no enthusiasts. So I stopped at these two chests.
So why am I writing this post two years later? I still hope for the help of the gaming community, and a good occasion has come up. The other day, I decided to fix a minor bug in a charnik for mortals ... And I came to my senses only when I made a charnik with the help of Node.JS, gulp, babel and browserify. Alas, it is not in my power to completely clear JQuery, since I do not own all sorts of good things like Angular, React, Vue and so on - and it will take a long time to look for and finish new components for the new stack. However, a start has been made - you can write on ES6, jQuery Deferreds were replaced by bluebird Promises, HTTP requests instead of JQuery are implemented using request-promise, some dependencies are now pulled from npm, and so on. I almost did not work on refactoring the code — the task was simply to start a version two years ago — so there is a certain amount of horror there. But I repeat - this code has a big plus - it works!
Plans
Theoretically, there are quite a few plans:
- Make a mock for HTTP requests from the charnik, so that you can fully test the charnik without interacting with the service;
- Crawl to some adequate frontend stack;
- Make more beautiful good charnik;
- Rewrite the backend of the service itself on Node.JS.
Practically, time is insanely short, and in splendid isolation I will only finish things that are useful to me with the same frequency once every two years.
I would like to write that you can do all sorts of good things for donations - but alas, it takes too long, and it is very expensive. So I hope only for the enthusiasm of developers. If you are interested, I will be very happy to participate. Themies themselves are in open source on github, MIT license. If you want to use them for something else - I am only for - but tell me, it’s curious!
Links
- System
- The same in the form of an Android application ;
- The author of the design that I used;
- Mortar's Charnik - fresh rework;
- A beautiful vampire Charnik , without Node.JS.