Some time ago, I have decided to try writing online rpg table program, similar to MapTool. I actually did consider starting from Maptool, as I used to work on it a bit in the past, but it is very much 2d oriented, while I wanted to try something 3d (actually, it is more 2.5d
)After that, I got distracted for few months, but now I'm back to the business and I would like to share the current state of development with you.
You can take a look at the small teaser video at youtu.be/6nwAJY3jIEc?hd=1
Trick which allowed me to bootstrap development is to reuse NWN (Neverwinter Nights) models and animations. Both me and my players have original version of NWN, so we can use the models for our play. There is also quite a lot of free models created by fans, so even without NWN, there should be enough content to get something working (said that, full version of nwn with all extensions costs few dollars in bargain bins...).
What is already implemented:
- a lot of framework code which is the foundation for later extensions
- client/server communication allowing to broadcast events between client machines
- model display and animation, partial implementation of particle system (visible in fire elemental for example)
- walk/run around action
- dice rolling using physics, properly displayed on all the clients (physics libraries are NOT deterministic...)
- basic big-jpeg-as-map display, with per-square height levels (editable online)
- shadows, bloom, glow, metallic reflections etc (jme3 engine provides this almost for free)
- basic footstep sounds synchronized to animations
To be implemented:
a LOT of things. It doesn't really make sense to list all the details, just few ideas I'm playing with
- PC model composition from equipment pieces (NWN way)
- movement acknowledgment mode - players are just drawing the path and sending to do GM for validation and execution
- targetting templates - shapes for spells/etc which will automatically highlight friends/foes in the range
- placeables - non-animate objects to be put on the map to make it bit more 3d
- macros - possibility to script certain sequence of actions
- MapTool-like walls/FOV? Only monsters in FOV would be visible to players
- possibility to compose maps out of smaller pieces connecting together
- proper walk path calculation, taking terrain into account (this means also possibility to define terrain types)
- per-model states/effects, to indicate conditions/spells active
- fight/charge/die animations connected to proper actions
- etc, etc, etc
What is NOT in scope:
- full implementation of any particular ruleset. Roll 1d20+modifier, compare versus static number, perform another roll if greater-or-equal -> possible, as script action, but not built-in assumption
- public servers/game finders/etc
- real-time mode
- any kind of AI/versus computer play
the link for virtual-mat.net times out. at least for me.
ReplyDeleteThanks for the info, indeed something is wrong at the moment. (www.)virtual-mat.net is just an alias for https://www.assembla.com/spaces/vmat, so for the time being, you can go directly there.
ReplyDeleteAny progress on this? Crazy, I was just looking at NWN2 to do something similiar but NWN1 has many more models for creatures. I would be happy just to track movement of placed creatures/placeables for projector use if you'd gotten that far...?
ReplyDeleteProgress is nil for a last year or so - got distracted by real life unfortunately.
ReplyDeleteMain reason for using nwn1 instead of nwn2 is that nwn1 models are actually lot more accessible for rendering/animation. I don't know any open source package for nwn2 format which would support animations etc.
There is a disadvantage to that - NWN1 format is very much oriented towards display lists and fixed pipeline (TNT2/Geforce1 type of hardware), which means that models are actually _slower_ on modern hardware due to amount of context switches. There would be a way to work around that, not really trivial, but doable (merging parts which share the texture and creating virtual skin/bone system with single bone for each part).
Is the system running as far as what was shown on video? I mean can u add creatures, track movement on desktop for use in projectors? That would be of real use to me if it uses all NWN models...
DeleteYes, but it is missing quite important usability pieces - creatures were added by console (something like 'spawn irongolem 10,5') and you had to extract models from .hak files by hand and put them in correct directory. There was only minimal support for persistence of map layouts and no persistence of monsters at all (anything goes wrong and you would need to respawn everything from scratch). Basically, I was working on engine/rendering/infrastructure parts, but not really got to the point where it was usable for other people. Which, incidentally, was one of the stumbling blocks - coming up with reasonable gui was very hard task.
Deletehow is it going? The project looks too promising to be terminated... ;-)
DeleteUnfortunately, it is at the moment. I'm getting 3d-programming craze every few years, so hopefully I will pick it up next time it happens ;)
DeleteNOOOOO! :)
ReplyDeleteHmmmm...about time to pick this up again, hey Artur? ;)
ReplyDeleteYes, I have actually started to work on this again few weeks ago. Doing a bit of redesign, but it is slowly coming to the end (80% of old functionality is in, plus some new one) and after that I should make some 'official' update.
DeleteWoohoo! I REALLY wanna use this. Got me a copy of NWN waiting. ;)
ReplyDelete