Compare commits

..
9 Commits
Author SHA1 Message Date
Mark Bools 135d53bae6 Add ground up part 2 2024-08-27 18:43:52 +01:00
Mark Bools 0e62bf8c60 part 3 of mod dev series 2024-08-27 17:04:55 +01:00
Mark Bools 981e63fcb8 Adding supporter buttons to footer 2024-08-25 10:49:40 +01:00
Mark Bools d1b01fb422 Add articles associated with module development youtube 2024-08-24 18:52:24 +01:00
Mark Bools 88af3553b4 Add github to social links 2024-08-24 18:51:42 +01:00
Mark Bools 3a7d376e95 Minor typo 2024-08-24 18:50:31 +01:00
Mark Bools 4d5044a4ee Couple of typos 2024-08-21 13:06:28 +01:00
Mark Bools ec28babb7b Added finding a game 2024-08-21 12:54:46 +01:00
Mark Bools 505e573d60 Add start of FVTT GroundUp 2024-08-21 12:08:45 +01:00
13 changed files with 164 additions and 3 deletions
@@ -114,7 +114,7 @@ And so play proceeds.
Don't panic. Your GM will help guide you through what dice to roll and when. You'll soon be anticipating what to roll and when.
Okay, how does the GM decide on the target number for these dice rolls? Well, they make it up. If the GM is running a pre-made module the type of roll and the target number will be specifed in the module, but often your character will be trying something the module does not provide information for, so the GM will make something up on the spot. The harder the thing you are trying to do, the higher the target will be. Sometimes the GM will tell you the target but often they will not. It depends on the GM and whether they feel it will add to the fun if the player knows the target number. If you are planning on being a GM we will cover how we go about deciding this later. Sometimes the rules offer guidance, but the GM can ignore or modify this as they wish. For example, the Dungeon Master's Guide (DMG) says that a character can jump horizontally up to their Strength (one of your characters attributes) in feet if they have a run up of at least ten feet. Say Thrud had strength of 17 they can jump 17 feet horizontally. Why did the GM make the player roll a dice then? Perhaps they decided Thrud was tired as it was late in the day, or they had just been in combat. Perhaps the GM decided the terrain was unven warranting the roll. Whatever the reason the DMG says that a DC 10 Athletices check is apporiate for tricky situations. Is this what the GM was using? Who knows. Again it is up to the GM to decide the DC for the specific situation.
Okay, how does the GM decide on the target number for these dice rolls? Well, they make it up. If the GM is running a pre-made module the type of roll and the target number will be specifed in the module, but often your character will be trying something the module does not provide information for, so the GM will make something up on the spot. The harder the thing you are trying to do, the higher the target will be. Sometimes the GM will tell you the target but often they will not. It depends on the GM and whether they feel it will add to the fun if the player knows the target number. If you are planning on being a GM we will cover how we go about deciding this later. Sometimes the rules offer guidance, but the GM can ignore or modify this as they wish. For example, the Dungeon Master's Guide (DMG) says that a character can jump horizontally up to their Strength (one of your characters attributes) in feet if they have a run up of at least ten feet. Say Thrud had strength of 17 they can jump 17 feet horizontally. Why did the GM make the player roll a dice then? Perhaps they decided Thrud was tired as it was late in the day, or they had just been in combat. Perhaps the GM decided the terrain was uneven warranting the roll. Whatever the reason the DMG says that a DC 10 Athletices check is apporiate for tricky situations. Is this what the GM was using? Who knows. Again it is up to the GM to decide the DC for the specific situation.
Offsetting the difficulty of the roll target, your character has innate abilities, skills, magic items, and other effects that make the task easier (or harder). All of these effects are represented by roll modifiers that you add to or subtract from the actual dice roll. The final number is then compared with the target and the GM narrates your success or failure.
@@ -0,0 +1,26 @@
+++
title = "Finding a Game Online"
date = 2024-08-21T09:00:00Z
draft = false
summary="You want to try RPG but how do you find a game online?"
categories = ['Player']
prev = ['/post/do-you-want-to-play-a-game/']
+++
Role Playing Games sound fun? How do you find a game?
Play online or in person? Back-in-the-day most people met in person (sat around a table) to play table-top RPGs (the name kinda gives this away). A common experience though was for groups to break apart as players had to move because of "life" (kids grow up and go to separate colleges, college students graduate and take jobs in different locales, etc.). This sucks and players then either quit the hobby, played infrequently (when the old group could assemble), or found new groups. Whichever, it was dissruptive and often difficult.
Now we can play online. Some folk find this an inferior experience to playing around a table and I sympathise with this view. There is little better than sitting round a table with a group of friends to while away a few hours in epic battle, crawling a dungeon, or investigating a new world. That said, it can be a challenge to all gather like this, especially as people grow older and accumulate responsiblilities with family, work, etc. In these circumstances playing online is, in my opinion, no only a practical solution but often a superior experience as one can play with people all over the world, playing in multilpe games is as simple as loggin in, and therre is always a game to play in when you find yourself with a few spare hours to play.
How the do we find an online game? There are endless possibilities, here are just a few...
The "big dog" is [Start Playing Games](https://startplaying.games/). Here you will almost always find a game to play. Most games are pay-to-play and vary widely in price (the average seems to be around $18 US as I write this).
An alternative is [Tabletop Wizard](https://www.rpgtablefinder.com). A small collection of RPG tables, but you may find something to your taste.
If you have more lead time, try the following:
* On Reddit:
* [r/Foundry LFG](https://www.reddit.com/r/FoundryLFG/) for Foundry VTT groups.
* [r/lfg](https://www.reddit.com/r/lfg/) for more general "Looking For Group"
@@ -0,0 +1,18 @@
+++
title = "Github Repository Setup"
date = 2024-08-22T09:00:00Z
draft = false
summary="Learning Foundry VTT Module Development from the very start"
categories = ['Technical', 'FoundryVTT', 'Foundry VTT for Module Developers']
prev = ['/post/lets-build-a-module/']
+++
In the [previous post]({{< ref "/post/lets-build-a-module/" >}}) I proposed we build a couple of Foundry modules. This post starts that process, looking at Github to hold our module code.
{{< youtube nXZ-fwcygYk >}}
Although not a detailed lesson on Github, this session covers:
* Setting up your account to use SSH keys.
* Creating a repository to hold our module.
* Cloning that repository to our local development machine so we can work on the module.
@@ -0,0 +1,41 @@
+++
title = "Local Project Documentation Setup"
date = 2024-08-24T09:00:00Z
draft = false
summary="Learning Foundry VTT Module Development from the very start. In this session: setting up the local project dcumentation system."
categories = ['Technical', 'FoundryVTT', 'Foundry VTT for Module Developers']
prev = ['/post/fvtt-mod-dev-local-project-setup/']
+++
Continuing our Foundry VTT module development journey. Having set up some basic tooling on our project we now want to keep our project well documented.
{{< youtube _p_1ItoDo8U >}}
In this session we set up a system for creating a documentation website. We cover:
* Creating a 'starter' set of documentation'
* Create a system for transforming that source into a web site.
* Putting all this into our project version control system.
# Why go to all this trouble?
## For users...
Firstly, our users will likely want some documentation helping them to use the module.
It make sense to keep this alongside the module code to make it easier to keep the documentation in line with each release of the module. (There is little more annoying, as a user, than checking documentation to find it is only relevant to some version of the module that you are not, or worse cannot, use.)
## For Foundry administrators/game masters...
Adminstrators will appreciate it if we produce clear, concise release notes explaining changes we make to the module. This is especially true if the changes are likely to change their players' experience (or worse, break their current setup).
The objective here is to provide just enough infomation so that administators can make the decision about updating a module (and what work might be involved to adopt a more complex update).
## For developers...
Finally, it is nice for developers to have docmentation for our code. While I believe that code should be (so far as practicable) self-documenting there is certainly a need in anything but the most trivial module, for documentation that:
* orients the developer, letting them know the broad architecture and function of the module, and
* documents *why* certain design decisions where taken.
While some of this can, and should, be in comments in the code, there is a lot of useful information that belongs in external documentation.
@@ -0,0 +1,25 @@
+++
title = "Local Project Setup"
date = 2024-08-23T09:00:00Z
draft = false
summary="Learning Foundry VTT Module Development from the very start. In this session: setting up the local project."
categories = ['Technical', 'FoundryVTT', 'Foundry VTT for Module Developers']
prev = ['/post/fvtt-mod-dev-github-repository-setup/']
+++
Having cloned our Github repository to our local development machine we now set up some basic tooling that will help later as we develop our module.
{{< youtube 8Qm0XJSWqYU >}}
In this session we set up:
* [`npm`](https://www.npmjs.com/), initialising our project.
* [`husky`](https://typicode.github.io/husky/) to marshal our `git` hook scripts.
* [`commitizen`](https://github.com/commitizen/cz-cli) to enforce standard `git` log messages.
These tools provide some 'guardrails' on our project that, although they may seem onerous now, will pay dividends later by facilitating:
* The production of consistent a changlog for our release notes (poviding users and other developers with timely and accurate details of what changes occur to our module).
* Management of our release versioning.
A few minutes of setup now will save hours over the life of our module.
@@ -0,0 +1,22 @@
+++
title = "Foundry VTT Ground Up Part 1"
date = 2024-08-21T09:00:00Z
draft = false
summary="Learning Foundry VTT from the very start"
categories = ['Game Master', 'FoundryVTT', 'FoundryVTT Ground Up']
prev = ['/post/setup-a-local-foundryvtt/']
+++
Having set up a Foundry Virtual Table Top (VTT) (locally, on your own server, or on one of the cloud services) you, the Game/Dungeon Master (GM), are confronted with the task of setting up your VTT. In a series of articles we will step through setting up Foundry VTT for Dungeons & Dragons 5e (although a lot of this material will apply no matter your chosen game system).
{{< youtube kJh_fkLvtVM >}}
In this first installment we look at:
* Installing the game system (this is essentially the 'DM Guide' and 'Players Handbook' for FVTT)
* Create an empty world
* A lightning fast tour of the standard interface
* Add Users/Players
* Create an empty Scene
* Create Actors (player characters) and let Players access them
* Create Tokens to represent Actors on our Scenes
@@ -0,0 +1,23 @@
+++
title = "Foundry VTT Ground Up Part 2: Basic scenes"
date = 2024-08-27T09:00:00Z
draft = false
summary="Going from grey background to interesting scene"
categories = ['Game Master', 'FoundryVTT', 'FoundryVTT Ground Up']
prev = ['/post/fvtt-v12-ground-up-part-one/']
+++
Last time we looked at the Foundry VTT interface. We left our world with two scenes, but these were rather dull as they were just gridded grey backgrounds. In this session we introduce basic scene setup.
{{< youtube ADf2Vvu0wpI >}}
In this installment we look at:
* Adding a background.
* Adding a foreground.
* The relationship between layers.
* How elevation effects tokens and layers.
The diagram below shows the layers we use in this session and their relationship to one another.
![Basic Scene Layers](layers-diagram.png)
Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

@@ -3,7 +3,7 @@ title = 'Investigating a FoundryVTT Install'
date = 2024-07-30T09:00:00Z
draft = false
summary="Layout of a new Foundry Install"
categories = ['Technical', 'Game Master']
categories = ['Technical', 'Game Master', 'FoundryVTT']
prev = ['/post/setup-a-local-foundryvtt/']
+++
@@ -4,7 +4,7 @@ title = 'Set Up a Local FoundryVTT'
date = 2024-07-29T09:00:00Z
draft = false
summary="To start learning Foundry VTT 'inside and out' we create a local development server."
categories = ['Technical', 'Game Master']
categories = ['Technical', 'Game Master', 'FoundryVTT']
prev = ['/post/do-you-want-to-play-a-game/']
+++
+3
View File
@@ -40,3 +40,6 @@ timeZone = "Europe/London"
[[params.ananke_socials]]
name = 'youtube'
url = 'https://www.youtube.com/channel/UCbpj4ryAcG1eIVXHuRSDRXw'
[[params.ananke_socials]]
name = 'github'
url = 'https://github.com/Mondarth'
@@ -3,6 +3,7 @@
<a class="f4 fw4 hover-white no-underline white-70 dn dib-ns pv2 ph3" href="{{ .Site.Home.Permalink }}" >
&copy; {{ with .Site.Copyright | default .Site.Title }} {{ . | safeHTML }} {{ now.Format "2006"}} {{ end }}
</a>
<div>{{ partial "supporter.html" . }}</div>
<div>{{ partial "social-follow.html" . }}</div>
</div>
</footer>
@@ -0,0 +1,2 @@
<a href="https://www.patreon.com/bePatron?u=125162698" data-patreon-widget-type="become-patron-button">Become a member!</a><script async src="https://c6.patreon.com/becomePatronButton.bundle.js"></script>
<script type='text/javascript' src='https://storage.ko-fi.com/cdn/widget/Widget_2.js'></script><script type='text/javascript'>kofiwidget2.init('Support Me on Ko-fi', '#29abe0', 'E1E012BACV');kofiwidget2.draw();</script>