Implemented a polyfill for URLParameters to ensure links to particular maps are more robust and the code is simplified.
Layout and style changes to make the user interface more logical and with a clear order.
The new random number generator is faster, and the app can cope with up to size 20 worlds ... but you may have to tell the script to 'continue' if asked because it will take time. My aim of being able to generate Size 33 ('Z') worlds is still unfulfilled.
Layout has been modified to include tool tips and adjusted so that the 'Generate Map' button is more prominent and at the top of the screen.
There have been many backend coding changes to make the app more robust into the future. There will be a few more changes to the user experience and background code into the future.
The rules interpretations will be better documented at some point in the future and circulated for discussion.
Many thanks to Joshua Bell of travellermap.com fame for casting a professional eye over the website. He raised a host of issues which I am working through.
The first change is a to the general user experience. So there have been major changes to layout. Navigation bar to explanatory and background text introduced. User input now gathered at the top with less scrolling down to buttons to get the action going.
For now, functionality is the same. There will be changes to the random number generator coming to speed up generation - this matters for larger world sizes. There will also be various background changes to the code based on inexorabletash's feedback. But one thing at a time!
As always, feedback is welcome. Just e-mail me - I have a gmail account - jonathan dot a dot sherlock.
You can now drill down to the World Hex, Terrain Hex and Local Hex levels. Click on an individual hex in any hex map to drill down to the next level. All maps include a key and a scale.
I have roughly documented my interpretations of the rules in this PDF file. As always, feedback is welcome - I have a gmail account - jonathan dot a dot sherlock. I would very much like feedback on interpretations of the rules, but also on website layout and, of course, any bugs.
You now have the option to generate a map in black & white. This makes it easier to photocopy.
The API is now open in a similar way to travellermap.com.
The "API Documentation" help button under the "Select A World" heading gives more information about how to use it.
Every map generated also has a URL posted beneath it to enable a direct recreation of that map using the world data just used.
I have changed the random number generator to a faster algorithm with the seed still exposed. If you have saved seeds, many apologies, they will no longer produce the same map.
It is now much faster. Although trying to generate a Size 20 world will give the 'script is taking too long ... continue or stop script' message, if you continue, it will generate the world. Try it, it's fun (just substitute "L" for the size digit in any UWP).
This release fixes issues with World Hex maps and contains many background updates to rationalise the code.
If you click on a Frozen Lands hex next to an Ice Field hex, the Ice Field now "creeps" onto the Frozen Land in a similar way that ocean "creeps" onto land to give wriggly coast lines.
Half-hexes for Twilight Zones are now imposed on World Hexes and are a bit wriggly.
Ice-caps now "creep" onto neighbouring hexes World Hex maps.
Overall, the World Map provides an abstracted collection of world hexes, while each individual World Hex map provides more of the "crinkly bits" so beloved by Slartibartfast.
In this partial release, precipices and the two precipice lines for chasms are now traced onto World Hex Maps. I am not completely satisfied with the results.
The generator picks a random hex edge for the start, a random non-adjacent hex edge for the end, and picks a start and end hex from those edges. Then it traces a random path from one to the other.
The script does lock up occasionally because of a do..while loop that becomes infinite somehow when generating a World Hex Map with a chasm. But it happens so rarely I thought it worth a release.
The two precipice lines of a chasm are in different colours so you can see what the generator has attempted to do even if the line turns out to be a funny shape.
This is a partial new release. World Names with UWPs are now bigger and at the top of the world map. The Download as PNG button now renders the SVG graphics at a higher resolution.
In future I plan to implement leeting the user choose the resolution of the PNG button. At present a typical size 5 world is about 300kb - 400kb with the new resolution. The trade-off will be better resolution for a larger file size.
But most exciting for me, click on the background (not the terrain symbol!) of any hex on the world map and you get a map of that world hex. I acknowledge this may cause issues with touch-screen devices.
World Hex Maps are only in draft form. I am still to implement Chasms and Precipice lines; the rules simply state "draw a precipice line through the hex" and I need to decide how this will work to be suitable squiggly and work in with shorelines and other terrain.
At present, World Hex Maps do not take into account half-hexes in Twilight Zones. I also want Frozen Lands and Ice Fields in Twlight Zone and Frozen worlds to have "shorelines" that are squiggly in a similar way to normal oceans and lands operate now.
So check out a favourite world map, then generate a variety of World Hex maps. You can download them in SVG or PNG format.
Instead of over-writing the world map when the "Generate Map" button is pressed, a new map is added. The map download buttons are now produced for each individual map. This allows users to generate multiple world maps for different worlds without starting again and still having access to previous maps generated in a particular session. It also allows for using different random seeds until a satisfactory result is produced.
Marc Miller has e-mailed in some great suggestions. I will be working on them next, but for now I want to implement World Hex maps. I will work on Marc's suggestions after that, before getting back to Terrain Hexes and Local Hexes.
I also had a request to implement a 'Seed Me!' button. This quickly creates a new random seed. This means you can load or enter a world, generate a map, and if you don't like it, press the "Seed Me!" button and generate another map. You can compare all the maps you have generated before downloading your preferred one.
The seed for random numbers is now exposed. Enter any string upto 256 characters in length, or leave blank for a random seed. If you wish to save a seed, copy and paste the seed for yourself. I may add a "saved seed" library for individual users using cookies or an equivalent.
Ocean placement is now randomised, not just world triangles marked off as oceans. Maps are now looking heaps better.
This meant I had to change the definition of a 'continent' for the purpose of placing features that the rules require placement of 'one per continent'. A continent is simply all the land hexes in a particular world triangle, regardless of whether they are separated by ocean or not.
To get around world of lower size (less than 5) and higher oceans (more than 7 for hydrographics), the program now simply selects a certain percentage of hexes overall as ocean hexes instead of trying to place separate oceans in neater shapes. The randomly placed hexes on these kinds of worlds generally work out to a reasonably pleasing shape given there are few land hexes left.
To simplify placement of settled areas, all settled areas must now be placed on land or islands.
I will be working on exposing the random seed generator next.
Twilight Zone now works except for Size 1 worlds. For now, all settled areas (cities, towns, arcologies, starports, cropland and rural areas) are still placed randomly, ignoring the Twilight Zone.
Users will have the option, in future, to control where settled areas are placed. But I need to change the way that oceans are placed which will change assumptions about what constitutes an 'ocean' and what a 'continent' is.
UPDATE: Size 1 was easier to implement than I anticipated. Now also done.
Map key added.
Rendering of world details with neat black outline added. Open to feedback on design.
Map can now be downloaded in either PNG or SVG formats.
Option added to select a world from OTU sectors using travellermap.com data.
Users now enter comprehensive T5 data, or modify what was loaded before generating and / or downloading a map.
BUG FIX: to enable worlds to load in Chrome.
Map generator first published. User input a name and UWP and number of resources, and the generator calculated Trade Codes and generated the map.