Recreating the town of Scarborough, Yorkshire: Post 1: Geography, Quodlibet 1264


This is a step by step guide to building the 3-D geography of the port of Scarborough. Later posts will deal with landscape and (early/high medieval) building and set assets. This 3D landscape model is being used as a main set for the movie Quodlibet, which is presently being filmed. The lead character in the film, a healer from York, can be seen in some of the below images. 

The post shows how the basic geometry can be used to create environments centered on the area. While most of our effort is focused on 1264 - we have used this post as an excuse to quickly build a possible Viking port in the area ~900CE.* 

Elsewhere, on this blog, there are posts showing initial attempts to visualize the port in 1264CE and 1538CE.

Before proceeding, I would like to express my appreciation for the tremendous work of the Scarborough Archeological and Historical Society which, for many years, has helped build our knowledge of the town and the wider district. Please, do not confuse my efforts (and errors) in creating a cinematic set to tell the story of a potion seller at the Scarborough Fair with the steady science based approaches of those involved with the Society.  I encourage all those interested in the history of the town over the centuries to look to the material the Society has produced - I have relied a great deal on a research report of the Society: Trevor Pearson's excellent "The Archaeology of Medieval Scarborough".


Why Scarborough?

As a young jurist, I became one of a handful of people responsible for reviewing the ancient written and once written laws of England, which at that stage, surprisingly, remained bedrock law in faraway Australia. My studies took me back to Saxon and Danish laws in force in pre-Norman England, and instilled in me an abiding interest in that period. 

At the same time, I followed in Tolkien's footsteps, enjoying both his fantasies and his more serious work around the literature of the time (especially the Icelandic sagas). Inevitably, the law and Tolkien introduced me to the Law Speaker of the Icelandic Althing, Snorri Sturlason, and the Icelandic poet /warrior Kormac who led me to the coastal town of Scarborough. 

Of course I knew the song. But, it turns out I did not understand it. 

A little while back I finally turned from the law (with some relief) and started to hunt and catalogue the 15,000 lost waterfalls of SE Australia.  Along the way, intertwined with relearning the ancient stories of this country, I found myself writing short stories and then a novel, Ancora Tu, based around Kormac's Saga. That time I found myself telling the stories from the vantage point of Betty, a New England librarian - and for a year I found myself in the glamor of the riddle that is the old song of lost love at Scarborough Fair. More recently, I have become involved in writing a new novel, Quodlibet, only to stumble onto the enormous canvass that is the history of the fair and the town, and a bunch of amazing folk at the Scarborough Archeological and Historical Society. The new novel is slowly moving off paper and into film, based on the town, as it was, in 1264.

Here is not the place to talk about the film's story - but a theme in the story revolves around the different recollections of the town, from the dawn of time, through Roman occupation, Saxon rule, religious, monastic and political strife through to our own strange modern time. Scarborough, on the sharp edge of the emerging kingdom, seems to have been a little different and a step ahead of the rest of English history. Perhaps one reason was its connections to the rest of the world (partly through the fair, but also the returning monks), or perhaps it was its ability to resist the wolves, real and human, that hounded its fate.

The rest of this post deals with how I have gone about creating Scarborough for cinematic purposes. Absolute reality is beyond my grasp - although, everyday, the amazing work of the Scarborough Archeological and Historical Society brings us a little closer to that goal. 

Part One: Geography

The first step in creating the world of Scarborough involves recreating its natural features: the seascape, the headland (Castle Rock), the beaches and the inland forests. Less obvious is the realisation that Scarborough was a planned town - the southern slopes was extensively reworked into terraces to house the old town.

I chose to start that process using Unreal Engine ('UE' started its life as a games engine and is now becoming a powerful cinematic tool). 

This process is a little like creating a set for a theatre production. However, at this stage, every part of the world will be open to cinematic technique - actors need to be able to move on a believable 1:1 scale surface - the sun must turn and throw shadows and light according to real-world constraints, the stars must shine, the sea must wash upon the shore, sometimes calm, sometimes changeable. 


Surprisingly, many (but not all) of my cinematic needs are met by a 2km square map. 2km is sufficient to cover the old and new towns, as well as Castle Rock and the hinterlands. Of course, from the town, you can see much further than the bounds of the map. This is, in part, compensated for using skysphere with haze, to simulate far detail.


However, it is sufficient for most other purposes, 


To be sure, a lot of the action takes place inside buildings and ships. I have also created a lot of differently sized 3D maps for this area for different purposes - but the technique I used for the main map (described below) can be easily adapted for other-sized maps. 

I found I needed two maps at this stage: a features map and a geography map which covered precisely the same area. For the purposes of UE, both maps needed to be exactly 2,011 square pixel image using a bicubic greyscale png form.

The features map requires as much research as you can give it. I spent months collecting maps and absorbing the history of the place and Yorkshire, spanning a number of centuries, and converting them into a single features map. I spent a lot of time decoding an old plat of the town and rebuilding the town as at 1538.  Here I was looking for a mix of map detail that would help me place ancient roads, medieval buildings, walls, streams, and dykes - and, eventually, real people (or, at least, actors). Just as important were indications of modern earthworks that changed the shape of the environment (particularly modern roads or gravel pits) and which would need to be removed. I quickly found that there can be a lot of variation between the source maps - particularly old maps or scratch maps that locate buildings or features. 

The geography map is not your ordinary sort of map. UE5 uses 'height maps' to build a 3D world surface - it is a greyscale record of surface height. I used Tangram Heightmapper to generate the area around Scarborough - https://tangrams.github.io/heightmapper/#15.33367/54.2849/-360.3999   Here I set it to record underwater details as well as above water. In the image below the sea is represented by black - while the higher headland is white.

[Notes: there are far more detailed 'height maps' - today it is possible to get high quality maps with ground resolution at 1m (eg, in the UK search for Lidar UK). Today, the region around Scarborough is significantly disrupted by recent human activity - so greater precision does not particularly help us here.]

TIP: I come back to this page when creating new sets for different locations. There is a simple shortcut to get you to any location in the world and display (roughly) a 2km (top of image to bottom) height map of the area. You can navigate to a location by going https://tangrams.github.io/heightmapper/ #scale / latitude (north+, south-) / longitude (East +). For example, the town of Crookwell in New South Wales (which features in the feature film "Long Tailor") has a lat of 34.4580° S, and a longitude of 149.4703° E. To get the 2km height map, i use a variable for scale of #15.33 and navigate  to the outcome with https://tangrams.github.io/heightmapper/#15.33/-34.458/149.47) .

 The Scale variable is a bit hit and miss. The scale variable will change from monitor to monitor, and as Tangram is a projected map, away from the equator there are stretching issues. On my monitor, I start with the following values to get the right top to bottom distance. Then I fine-tune.  As a rough guide: #10 = 100km, #11.25 = 40km, #12.1 = 20km, #13.3 = 10km, #15= 4km, etc.  To fine tune, compare with a map such as Google Earth where you can get precise N/S distances.

With Tangram, you can also get a faint overlay map of the town roads and the rivers by selecting "map lines" and "map labels" in the Tangram control panel - remember to turn these off for the height map - but it will be useful to also get a copy of this additional detail for set creation.)

The features map and the geography map need to cover precisely the same area - a fiddly business that requires a bit of trial and error.

TIP: Before proceeding, you will need to massage the maps into a 2011 pixel by 2011 pixel 16 bit grayscale png image - trying not to lose any detail. I use Photoshop to square off the area i want to work with (using Image:canvas size), then adjust the size to 2011 (using Image:image size to bring the size to 2011 selecting the bicubic smoother - enlargement option). If you are confident in using Layers in Photoshop and the images cover the same area, the process can be a lot faster - simply load both maps into the same file and do all the operations at the same time.

Unreal Engine requires the height map to be 16 bit greyscale - and while the x and y axis can take in more or less distance, the z axis (height) is fixed to values between -512 and +512. As with the map above - black (-512) represents the lowest ground while white (+512) represents the highest. 

Note that you can download and use Unreal Engine 5 for free - but it is increasingly hungry for computer space, memory and graphic card power - so check out the requirements before jumping in. On the other hand, if you have been wasting your time playing higher end computer games in between mining cryptocurrency, you probably already have all the right gear - and this is the perfect time for a change of focus.  

Having built the two maps - I opened UE5 and created a third-person project (this will enable you to 'walk-around' your world - an important part of this creative process). I then created a new 'Empty Level'. I then imported my features map dragging the png file into the Content Drawer. 



I then changed the 'SelectMode' to 'Landscape' 


While on Manage:New, select 'ImportFromFile' and navigate to your geography png map in your computer's file system. After you chose it, UE5 will fill all the variables, which you can leave for now. A sparse wireframe representation of the map will appear - ignore it as well. Resist the urge to fiddle.



Now click 'Import'. The wire frame will turn into a complex grey mesh - which will become your landscape. Don't muck around with it just yet.


At this stage you need to add light to your world - I opened the Environment Light Mixer and chose Create SkyLight, CreateAtmosphericLight0, CreateSkyAtmosphere, CreateVolumetricCloud and CreateHeightFog. Your grey mesh will turn into something that resembles a half baked loaf poking its way out of a bunch of steam.

 


Tangram gives us a great height map - but, as you can see, it produces a landform which will usually exaggerate the landscape height. Before we use the landscape, we need to scale the height to real-world values. Return to the Select mode and click on the mesh that is your landscape and navigate to its Details panel. Each Tangram heightmap will have a different height ratio to the natural world (the -512/+512 greyscale noted above) and will need to be adjusted.  Here by measuring the map height at sea level (I dropped a cube at sea level and checked its Z axis value) and at the top of castle rock i determined my proper scale ratio values to be X:100 Y:100 Z:16.5.

When you adjust the scale values, the world snaps into place. The real world features of Castle Hill and South Sands become recognizable.


The natural present-day shape of the area is now visible and you can interact with it by flying over the scene or  going for a walk. Now save the level and give your level a name. At this stage you might want to then save it again, with a different name - allowing you to come back to this initial stage if you need to later. If you do this, you will have two levels - remember which one you are going to be working on.




Now we add water. We add the sea plane by opening Plugins and activating the water plugin. UE will restart. Click on OpenLevel and select your working level (the new one you saved a moment ago).

Open the 'place actors' panel and type in Water to find the water options.  For the purposes of this walk through, I will spell out an 'easy' way of creating the water plane. A later post will detail how to deploy a water plane that has realistic waves, foam and surface details. The ocean around Scarborough is not a passive actor - a family of 19th century Scarborough painters were famed for producing images of the sea at its most violent, and most serene.

Click and drag WaterBodyCustom onto the map and drop it near the usual high water mark of the landscape mesh (use the line of the new port as a guide). At this stage it will be a drop of water. Open its details panel while it is still selected and adjust the scale to X:1000 Y:1000 and Z:1. You may need to adjust your world Z position a little so that the water moves up or down to your desired height (use the present port to help you out here).  While moving the water plan around, reflect on the earthquake a couple of centuries back that emptied the bay for a while - and also on the fact that the port works had a long term impact on sanding up the South Sands and changing the alignment of the shore.

Adjust X and Y positions to ensure that the sea covers all the coast line areas. If you happen to navigate through the ground surface on the hill, you will see that the water is down there under that part of the map. Try not to spend a lot of time worrying about that or looking around for Pratchett's turtle, or his elephants (I checked, they are not there). Remember that this is Unreal.



Up top, in the bay, the default water material looks quiet - but that can change without warning. 




Walk up to Castle Hill and admire your work :) Or rather, walk over the map, and discover that getting up to the top of Castle Hill is quite difficult - unless you discover the Rock's secret. It was this initial exploration of the map that made me stop and think - short of levelling modern day Scarborough, how many insights into a place might be gained by actually tramping around it.

Because we are working on a 2km piece of flat earth the distant hills do not exist, even when the mist lifts.  I noted above, for scenes that require distant views, we need to use a much bigger set or deploy a skysphere that includes that far detail.



Closer to hand, while we have the surface, the skin of the surface is covered by a very unappealing checkerboard system. This is easily changed by making landscape materials (rocks or sand or grass or foliage) and then painting them onto a new landscape skin. I use this process to also paint roads, paths, water courses, apple orchards and building surrounds. There are limitations - keep the number of distinct materials between 1-7 (perhaps, sand, dirt. cobbles, grime, grass without trees, grass under trees, water). There are some good YouTube videos on painting your landscape. 
 
UE allows you to change your landscape skins - and one important possibility is to swap out the checkerboard skin with the features map we imported and forgot about a little while back. This map provides a master guide to where all the bits fit - letting you place known features with accuracy and to test the more speculative features such as removing the harbor sand build up, redrawing the coast boundary, and placing the old town wall/gates and the new town defenses.

 The next step is a little harder than those to date - but it is worth the patience. Open your contents draw and navigate to the features map we imported a moment ago. Get a coffee and be prepared for the next bit to take a couple of months. The first goal is to turn your features map into a 'Material' that you can cover your map with. This will enable you to precisely add all the detail your research has identified.



Right click in a blank spot in the content browser. Create and open a Material.  Double click it to open the blueprint. Drag your features map onto the blueprint and proceed to add the other nodes with the values noted (again, there are lots of learning resources available for blueprints). If you have built a map with different sizes, you will need different parameters for some of the variables.


When the material is complete, compile and save, and then click on your landscape and go to its detail tab. Add your new material to the Landscape Material slot, and your details map will become the new skin of the landscape.




With the features map superimposed over the landscape it is easy to move a couple of hundred thousand tons of rock and sand to demolish the modern port and the ghastly road on the seaward slope of Castle Hill. I have also built over a couple of gravel pits and fixed a couple of modern landslips).

You can swap out the features map material from the landscape with your own grass/sand/rock material skin at any time to check progress. While I don't want to get into this detail here, it is worth knowing that once you set up and start using your grass/sand/rock material skin (and save the files recording that detail), you can swap back to the features map skin, and continue to paint the surface with one of your grass/sand/rock material skin materials (eg, do a bit of research before just applying, say, cobblestones - the old Scarborough streets were made of bricks). This allows for accurate placement of painted detail (such as paths, lost streams or house footings).



Here, I have also added the Damyot Stream that once flowed through the town and discharged onto the south sands. In building sets for the Henry II+ town, I use this technique to cut town terracing and the castle/town defenses. 


As mentioned above, the same technique could be used for recreating any number of other seaports or inland locations (which might have cobblestones). This may have some educative or mapping applications - but it also provides a platform for story-telling, just as we are doing with Quodlibet.

Swapping out the default checkerboard skin or features map skin with one that provides grass, rocks and sand is a satisfying goal - but the process can become very time consuming.  It is one job to make the basic landscape and another to make what you have created 'believable'. 

Update - almost a year on from our first efforts, a more refined landscape has taken shape, using projections of drainage flow maps and arial photography. Here are a series of photos looking from the common towards Castle Rock on 9 August 1264 (6:45am, midday and 6:17pm).





UE provides you with the capacity to replace your checkerboard skin with lots of different maps (perhaps reflecting different seasons) and landscape material. This is beyond the scope of this first post.  The next couple of posts in this series will take you through the process of recreating each of the main medieval buildings, and then those other buildings necessary for the fabric of a working town.



The first shot shows the castle under construction - the second a set based on the 1538 plat.

Having recreated the landscape for the purposes of this post - I have gone a little further and modified it to demonstrate one possibility. Here I have added a basic landscape skin - the rock forms do not match the layered strata and some of the plant inclusions are speculative. Still, for today's purposes it is sufficient. 


With additions of Damyot Stream and (imagined) steads and piers: 7:00am 15 August 900AD



To this landscape skin, I now add an oak forest and some assets to recreate the (perhaps mythical) Scarborough of the Viking Scardi.* In UE you can paint forests onto your maps - and there is a wealth of static mesh models of Viking buildings and ships. These are all 3D, so you can jump into the map and go explore them - or, more importantly, for my purposes, I can bring my cameras into the set and animate the world and those features.  

I have placed the settlement near the beach on banks of the Damyot which probably provided an accessible source of fresh water close to the port. This is entirely speculative - there is little hard local evidence for a Viking settlement. 

And it is here that reality and story-telling part company. I imagine that the Danish traders who came to the Scarborough Fair in the 13th century told all sorts of tall stories about Scardi's settlement. Perhaps more, perhaps less. Stories tend to get larger according to how many pints of cider one consumes (perhaps to the discomfort of the locals). Buried deep in the Scarborough Fair song, there is a faint echo of the failed love of Scardi's brother Kormac and the independent Steingerd. It may never have happened - but I would give the world to be sitting in some dark corner watching the story teller and feeling the old magic steal back into the world. And maybe, one day, we can make that happen.





Note

* There is plenty of suggestions of a Viking port from Kormac's Saga and the Law Speaker Snorre Sturlason - but, frustratingly, apart from traces of a contemporaneous chapel, little archeological evidence.


Index of posts in the series "Recreating the town of Scarborough, Yorkshire, 1264"

1: Geography

2. Shaping the town

3. Crucks, Siles and Forks of Yorkshire

4. Timber Framed Buildings

5. Surviving Medieval Structures

6. Port and Cogs

7. Lost Medieval Structures




Comments

Popular Posts