User Tools

Site Tools


The material on this site is owned by Samuel Penn, and any queries should be directed there. Most of the material on this site is licensed under CC-BY-SA. You can view my profile on Google+.

Other pages:


Roleplaying and Wargaming

Glendale is an old website about gaming written by Samuel Penn. It may contain other things as well, but it's mostly related to gaming in some way. By gaming, I mean the tabletop variety - roleplaying games, wargames and sometimes boardgames. I play computer games, but I don't talk about them much (unless I'm writing them). Since some of the content here dates back to 1996 (when the address was on my bifrost domain at Demon), it can vary greatly in style.

Most of the content on here is entirely original. Some of it is based on material published by other people - e.g., game content for published RPGs or Wargames.

Campaigns Roleplaying Wargaming


Bumpy Worlds

I've been playing with the Javascript 3D library three.js to generate textured globe images for my WorldGen application. This allows me to relatively simply wrap a map texture around a globe, and have it rotating on a web page.

It also has a bump map feature, so applying a height map means it is possible to simulate differing heights for different parts of the world, and have them rendered on the globe. This is currently being used to show up coastlines, mountains and craters on the world as having varying heights.

Three.js also has the concept of a distortion map, which allows true height differences to be shown. Since most worlds are pretty flat at the scales shown, I'm not using this for now, though it seems like a good option for small bodies which aren't entirely round.

The original map for the world uses an icosahedral projection, which means it is non-contiguous (it has gaps inserted at regular intervals along the poles, to account for the reduced circumference at higher latitudes). Since it is made up of triangles, craters appear as obvious triangles or hexagons (as does the shading and coastlines), but I rate the benefits of triangles tiling perfectly into the icosahedron to be a bigger advantage. It would be possible to make the triangles smaller, but previous experience with world mapping has shown me that lower resolutions are easier (and quicker) to generate. Getting continents which actually look like real continents is easier at low resolution. High resolution fractal maps always ended up looking artificial without a lot of post-processing.

To generate the texture map, it's necessary to stretch the map to make it contiguous. It's a simple process to take each row, remove any background pixels, and then stretch the remaining pixels to fit the whole width of the map. As can be seen in the stretched image, the poles are quite heavily distorted, whereas the equatorial regions are left more or less intact.

This is a problem present on any rectangular real-world map - how to minimise the distortion at the poles in a way that is most beneficial.

Finally, there is the height map. Possibly due to me not fully understanding 3D graphics, my original attempts at bump mapping resulted in a large number of black lines all over the map, wherever there was a height difference. Since the height scale ranges from 1 to 100, every triangle was a different height to its neighbours, it looked like a mess. When the height map is first generated, it uses a semi-fractal algorithm which guides the creation of continents, and is used to produce shading.

After that though, it is flattened. Seas, craters and rifts are given a height of 1, the highest mountains a height of 100 and everything else is set to 50. This produces a very flat looking height map, but it seems to create better bump mapping effects than the more gradual scaling did.

By combining these various maps, I can display a practical flat map showing the world surface, as well as a more graphical textured globe for seeing what the world actually looks like. It should be relatively trivial to add in cloud effects, and even colouring according to the local starlight. The brightness of the globe is actually affected by the proximity to the local star, which is currently making hot worlds very bright. Whether that is accurate or not is something I need to check.

→

· 25 Feb 2018 · Samuel Penn

D6 Adventure

I just finished running a one-off game (over half a dozen sessions) using the D6 Adventure system. Though I've played (and run) plenty of Star Wars D6 in the past, this was the first time I've tried using the D6 system for another setting.

Published by West End Games in 1996, D6 Adventure (along with D6 Fantasy and D6 Space) is a set of rules tailored for a specific genre. Though they share a lot of the core mechanics (roll a number of D6 equal to your skill, try and beat a target number), there are some differences in terms of the names given to attributes and skills. The Adventure rules are aimed at 'contemporary' settings - sometime around the 20th century.

My own game was based on the idea that the PCs were members of German military intelligence (the Abwehr) in 1927 (so prior to Hitler grabbing power, and at the height of the roaring twenties), hunting down a rogue agent who was selling secrets to French communists. It was relatively pulp, and wasn't entirely based in the real world since they soon found some glass tablets that allowed them to see a live map of the surrounding area (including being able to see people moving around, or zooming out to see the whole Earth). A chase from France to Russia and finally Sumatra led them to discovering a way to a post nuclear-war future, and evidence that they were living in a fake world running in a simulation (though they didn't quite understand that part, being from the 1920s). We ended the game with them getting hold of nuclear weapons, and planning a way to ensure Germany didn't lose the next war.

A few things I found useful were Youtube videos of the time period. Since most people were unfamiliar with the period (myself included), it was helpful to stick some videos of the various cities up on the TV (thanks to Chromecast) when they got there, so they had an idea of what they were seeing. I also shared pictures of people and artefacts in this way.

For the system, I had some difficulty balancing the combat system. Players were a lot more effective than I first assumed, so I had to scale up combats a bit towards the end to make them a bit more challenging. I played it far more narrative than I normally would though, so it wasn't too bad. There were some options though we had to 'fix' pretty early on though (+3 to difficulty to get a head shot doing +12 damage, when most guns were rolling 3D6 for damage felt very broken) in order to make things a bit more interesting.

When 2nd edition Star Wars came out, and introduced the wild die, my natural inclination at the time was to ignore it. We tried using it in this game, and personally I wouldn't use the wild die again. Rolling multiple D6 is already sufficiently random that it doesn't need any more, and you lose the consistency of high skill rolls that you got in Star Wars (there's still a chance of rolling 6 1s, but the chance of a really bad (or really good) roll goes down as your skill goes up).

On the whole though the system worked reasonably well. I chose it because I knew the base system, and leaving out the advantages/disadvantages options left a really simple system that was quick to roll up characters for and to play. Everyone seemed happy enough to be willing to use it again, possibly with a few modifications as mentioned above.

As a GM, I felt that the start and end of the game went quite well, though the middle of it dragged a little bit, mostly because I hadn't really figured out what to do with it. I had an idea for how to start things, and I had a vague idea of where things were ending up, but no good idea of how to get from A to Z. Given that it was a one-off game, it was never really meant to be an open sandbox, so was deliberately quite linear in the way it played out (though the PCs were sensible enough in their precautions at various points to sidestep some of the possible complications).

I think D6 is a good enough system that I also wouldn't mind giving it another go at some point, maybe with a setting closer to the present day. I'd definitely need to play with the combat system some more though, to figure out a better balance to add in a bit more danger for the PCs.

→

· 14 Feb 2018 · Samuel Penn

Surprised Mooks

Initiative Tracker

I've made some updates to my Roll20 combat scripts, to automate some of the initiative handling. The initial option was a command to add multiple tokens to the initiative track. I already had this, but now it performs a number of other features:

* Clears any current initiatives. * Automatically creates a start of round marker, for tracking number of rounds. * Determines initiative for all tokens, and adds them to the track already sorted. * Marks them as being flat footed, unless they have an ability to prevent that.

To complicate things, there is also an option to make a Perception check for all tokens, and add them as surprised if they fail the given difficulty. 'Surprised' and 'Have Surprise' are now two token states that I've added. A surprise state is automatically removed when a token's turn comes up, as is flat footed (once they are no longer surprised). I did try a feature to automatically skip surprised tokens, but that caused problems with the event handler.

It's also possible to add new tokens to an existing combat, adding them as surprised or having surprise (in case you want to build up a list of participants by hand). They are automatically sorted into the combat in initiative order.

Delayed Actions

There is also some support for delayed and readied actions, making use of colour tints on the tokens themselves to make it obvious who has a delayed or readied action. This information is also shown in the initiative tracker itself. A token can undelay or unready at any point, in which case they will be added to the top of the initiative track, either after or before the current token (depending on whether it was a delay or ready).

Additionally, some house keeping is automatically performed when a token's initiative turn comes up. As well as un-flat footing them, an unconscious token will get an immediate stabilisation check, and regenerating or fast healing tokens will have that applied. There is also a new Weakened status that halts any regeneration for a round, that is automatically removed on a token's turn (I'm not certain this is correctly following the rules, but it's simple and consistent). Dead tokens are also automatically removed from the initiative track.

Finally, I've added a modification to how Mooks are handled at negative hitpoints. One issue I've had is that in a low level campaign like I've been running, many creatures have greatly more negative hitpoints than they have positive. A goblin with 4 hitpoints, can survive down to -11, so their hitpoint bar stretches off to the left, several times larger than the token itself. They also tend to stick around for ages.

To resolve this, a token's negative hitpoint limit is now capped at half their maximum hitpoints (normally it is their constitution score). Creatures with twice as many hitpoints as they have constitution are unaffected, and this only applies to a token which doesn't have the vision property set. The result is that low level critters should die a lot quicker once they are 'down', removing them from the initiative and need to worry about them.

→

· 11 Feb 2018 · Samuel Penn

Improving World Maps

Some of the work that I've done on WorldGen recently has been around improving how world maps look. I'm still sticking to a few basic planet types for now, and the most ecologically advanced so far is the EoGaian world. These worlds are similar to what Earth was like billions of years ago. They are warm, wet worlds which have methane atmospheres, and the most advanced form of life that they have is bacteria, which only inhabits the seas.

This particular world shows barren land, ice caps and mats of bacterial organisms covering much of the ocean surface in the equatorial regions. This latter feature would be a potential random feature this type of world could have. Some fraction of worlds will have one or more special features that make them standout from typical worlds of their kind. The descriptive writeup of the world would include a description of the feature, as well as displaying its effects on the map.

What has also been added is a fractal height map, which is used to provide shading to the surface. Since I've also started looking at the three.js 3D Javascript library, this height map may be useful for creating a bump map to give the world's surface a more 3D feel to it (though realistically, even the highest mountain is going to appear like a smooth plain from orbit.

→

· 19 Jan 2018 · Samuel Penn

Star System Map

Work on the world generator is coming along slower than planned, but I'm currently starting work on generating the surface maps for worlds. In the meantime, there's also solar system maps which display the current positions of each of the planets in the system.

What is shown here is a system modelled on Sol, with several inner worlds, and asteroid belt and a couple of outer gas giants. Since the software is a simulation as well as a generator, the current position of the planets is shown according to the current time. At the moment, all planets follow circular orbits, with no real plans to expand on that. Though the map display only copes with a single star in the system at the moment, the back end database copes with binary and triple systems, so there is a plan to add in support for that at some point.

The asteroid belts are randomly generated (but using a fixed seed, so it's the same random belt each time). Individual asteroids orbit with their own period, since that's pretty trivial to do.

The labels show the planet number (I, II, III etc), the planet type and it's distance from the star. There's only a small number of planet types at the moment. Hermian worlds are hot barren worlds similar to Mercury, EuArean worlds are dry desert worlds with thin atmospheres similar to Mars. Junic and Saturnian worlds are different types of gas giants.

Generating maps and unique features of these basic planet types is what I'm currently working on. Actually producing populations and civilisations for the worlds is still some way off.

→

· 30 Nov 2017 · Samuel Penn
index.txt · Last modified: 2014/02/16 15:20 by sam