Reproducible map generation

OpenTTD is a fully open-sourced reimplementation of TTD, written in C++, boasting improved gameplay and many new features.

Moderator: OpenTTD Developers

Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Reproducible map generation

Post by Wahazar »

The only safe method of changing newgrf within existing scenery is to create new scenery.
Therefore, we need a method to instant generation of such scenery (with a little random effect).

My rough attempt to reproducible map generation is based on two issues:
1. generation of rivers where they are supposed to be,
2. importing landmarks (cities, objects, signs, industries etc) from external txt file.

Ad.1.

Forcing rivers to flow along adequate paths is simple - just engrave riverbeds in your heightmap.
Because 16 height levels are too small to precisely reproduce river valleys, you need to have additional data.
Even with more height level available now, river valleys are usually not well defined in original heightmaps.
If you are creating real based map, you can use GIS date for inland water, it can be found for example here:
http://www.diva-gis.org/gdata
Now we can use GIS data, if converted into bitmap, to apply as mask layer and decrease slightly brightness of the original heightmap.
Raw data of combined rivers and inland reservoirs, converted to bitmap, looks like that:
http://149.156.194.203/~mczapkie/Train/ ... lwater.png
Before you can use it to engrave riverbeds, you need to thicken rivers, because one pixel is to small to make functional riverbed.
You can use erode or dilate filter (available for GIMP and other graphic editors), depending on colour of water and background.
Dilate and erode filters are also great for removing discretisation noise from height bitmap.
Height bitmap before riverbed and lake beds engraving:
http://149.156.194.203/~mczapkie/Train/ ... 96_16c.png
and after:
http://149.156.194.203/~mczapkie/Train/ ... nd2048.png

By the way, rivers in valleys are, in my opinion, better that plain ones, because:
1. valleys itself add a subtle structure to the landscape (landscapes based on real heightmaps have usually flat lowlands due to discretisation threshold),
2, bridges over river in valley looks (and works) much better than "bumpy" one,
3. it is possible to build dock without making heap at the river bank (which is barely possible if basecosts are set to prohibit terraforming).

Even if we have heightmap with riverbeds, existing river generator does not work fine - lakes are small and located randomly, rivers are tiny and not continuous:
standard river generation
standard river generation
mapstandard.png (153.46 KiB) Viewed 14725 times
but it can be improved by scenario import tool, described below.

Scenario import tool can import towns, industries and other objects from txt files.
You can prepare these files in text editor manually (see syntax description in second post) or use aDe converter/importer:
http://ade.se/ttd/scenario-import-tool/
which can import towns from GeoNames and prepare input text for this patch, or convert water bitmap into text (other objects also can be imported if some text editor search&replace trick are used).

Currently following additional console commands are available:
import_land
(for importing all stuff from text file into scenario editor)
expand_towns
(for expanding imported towns - if some are to small)
industry_list
object_list
(both useful to check numeric Id's)

Note: it doesn't work in standard openttd version.
You need modified version of console_cmds.cpp - you can overwrite original file and recompile whole openttd.
Alternatively you can get already compiled Win32 version.
Both files, the newest version, are located here:

http://149.156.194.203/~mczapkie/Train/ ... load/rmgp/


Detailed description of input txt files goes in next post, below.
Attachments
mapwiderivers.png
mapwiderivers.png (152.68 KiB) Viewed 14725 times
Last edited by Wahazar on 16 Jun 2015 21:32, edited 4 times in total.
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: Reproducible map generation

Post by Wahazar »

Ad.2.

For importing map features from external txt file, I utilised Zydeco patch, which was developed here:
http://www.tt-forums.net/viewtopic.php?f=29&t=69007

Now it is possible to import not only towns, but also objects, signs, industries, water, trees, rocks and other landmarks.
It is rather rough, unfinished and not an elegant way of data input, but it works.
Note - it is not a alternative scenario format, rather tools for (re)generating scenario with slightly randomisation.

Name of command is changed to

Code: Select all

import_land <filename.txt>
It works only in scenario editor context.
Import files must to be located in .openttd/scenario directory.

External files contain header and list of objects, each object is described in separate line with the following format:

Code: Select all

<object name>,<object type>,<object size/importance>,<latitude>,<longitude>,<object layout>
Header consist of three lines:
line with 4 coordinates of map edges
line with 3 probabilities of village founding low probability, very small town probability and village to industry conversion probability (discussed later)
line with 10 industry IDs for village to industry conversion.

Example of such file:

Code: Select all

55,24.19,48.4,13.95
1,15,20
9,9,9,9,9,9,9,3,3,2
# header above, city or object list below:
KAUNAS,M,1,54.897280,23.899059,3
Druskininkai,S,0,54.016667,23.966667,5
Naujeliskiai,V,1,54.45,23.2,5
Rubaiciai,V,0,54.45,23.65,5
# etc.
Object fields lined up are as follows:

<object name>
Name of town, or other object - it can be printed on the map if building failed, therefore you can easily seek for it. You can also force printing this sign for industry or other objects by using non zero <object size/importance> value.

<object type> - capital letter, one of: L,M,S,V,T,N,Y,F,R,W,D; where it stands for:

L: Large city
M: Medium city
S: Small city
V: Very small city (or Village)
T: objecT (antenna,
N: sigN
Y: industrY
F: Forest
R: Rock
W: Water
D: Demolition

<object size/importance> is an integer, usually 0 or 1 (or more in case of area objects - forests, water, demolition).

<latitude>,<longitude> - as in import_towns patch, but you can use map coordinates instead of real coordinates
- in this case you need to put -X instead of longitude and -Y instead of latitude, additionally max. map edges must to be negative.
For example
[code]Powerplant1,Y,0,-3,-1822,1[/code]
will place power plant (without Powerplant1 sign if succeeded) at tile with X=1822 and Y=3.


<object_layout> is a number for object layout, type etc.

Below is an comprehensive list of parameters meaning:

Code: Select all

<object_type>       <object_size/importance>       <object_layout>
L,M,S               0/1: town/city                 0...4 town layout, 5: layout from game settings
V                   0/1: small/large probability   0...4 town layout, 5: layout from game settings
T                   0/1: place sign                0: antenna, 1: lighthouse
N                   none                           none
Y                   0/1: place sign                0: coal mine, 1: power plant, etc...
F                   forest size (0 for 1 tree)     tree type
R                   number of rocky areas          none
W                   size (0 for 1 tile)            0: river, 1: canal
D                   demolition area size           0: square, 1: diamond
Comment about V: size is like S, small, but founding probabilities are defined in second header line of import files,
as a two numbers from 0 to 100 (100 means 100% chance).
It was done to cope with huge number of cities without relevant population data.
V cities, if failed, are not verbosed as sign.
Additionally, probing area depend on city size+importance - for example, large city, if founding failed, is probed again for other 4x4 tiles,
medium town - 2x2 tiles, very small city or village - only one trial.
Another feature related with villages (V,0) is optional founding industry instead of small towns.
Third probability value (0...100%) is responsible on that - if greather than 0, some industries would be inserted instead of villages,
and type of industry is randomly choosen from list of 10 industry IDs (you can specify given ID repeatedly to increase its weight).
In above header example, because I have more than 40000 records with small towns and villages, probability of V,0 object is set to 1% - only 400 small cities would appear, and quarter of them will be founded as industries instead of towns.
It should generate aprox. less than 300 small towns, 70 farms, 20 forests and 10 sawmills - quite enough for 2048x2048 map.

Part of the map generated with help of above tools:
Clipboard01.jpg
(180.53 KiB) Downloaded 10 times
Clipboard02.jpg
(213.46 KiB) Downloaded 10 times
Example of input files and 2048x2048 heightmap as well as modified source files for landscape and console_cmd are attached below.

Recommended order to import_land is: plf.txt plr.txt plw.txt plo.txt plt.txt pls.txt
Note - pls.txt contains both static industries created during map generation and cotroll strings (with '>>>' prefix) for industry builder gamescript - it will be described later.

PS. please delete second obsolete post.
Attachments
scenariotxt.zip
(899.86 KiB) Downloaded 604 times
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: Reproducible map generation

Post by Wahazar »

Sorry, I forgot to attach the most important thing: the modified source code.
Below is an attachment with modified landscape.cpp and console_cmds.cpp (version 1.4.1) and compiled binary for Windows (due to lack of some libs, only bmp bitmaps are supported).
I'm not making patch against trunk, because map created with such newer version would not work with the official one.
Attachments
scenariotxtsrcbin.zip
(2.87 MiB) Downloaded 482 times
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
User avatar
Leanden
Tycoon
Tycoon
Posts: 2613
Joined: 19 Mar 2009 19:25
Location: Kent

Re: Reproducible map generation

Post by Leanden »

What did you use to convert latitude and longitude into TTD Map Co-ords. (I believe the original patch did this for you)

This is what im finding most difficult
Image
User avatar
Leanden
Tycoon
Tycoon
Posts: 2613
Joined: 19 Mar 2009 19:25
Location: Kent

Re: Reproducible map generation

Post by Leanden »

Ok, you dont have to use TTD Co-ords as the Co-ords, you can use normal lat and lon :)
Image
User avatar
Leanden
Tycoon
Tycoon
Posts: 2613
Joined: 19 Mar 2009 19:25
Location: Kent

Re: Reproducible map generation

Post by Leanden »

Ok, so i've got this working, but the placement doesnt line up right across the map, as the latitude increases the placement spreads out further than it should. Any chance this can adjust to accomodate the reduction in scale of longitude as latitude increases?
Image
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: Reproducible map generation

Post by Wahazar »

What did you use to convert latitude and longitude into TTD Map Co-ords.
You can use TTD cooridinates instead of lat/long real cooridnates, if they are negative and reverted.
Example for 512 wide and 256 long map:
# header:
0,0,-256,-512
# factory with TTD coordinates X = 10 Y = 20
Factory,Y,0,-20,-10,6
Any chance this can adjust to accomodate the reduction in scale of longitude as latitude increases?
You need to adjust map coordinates (first header line, example above).
User avatar
Leanden
Tycoon
Tycoon
Posts: 2613
Joined: 19 Mar 2009 19:25
Location: Kent

Re: Reproducible map generation

Post by Leanden »

So here is the problem. Over the distance of my heightmap top to bottom, the west and east figures are not the same at the top and bottom of the heightmap, so whichever value I use will be wrong as the placement at the bottom or at the top will drift :(

I think what I will do is simply split the coordinates into two seperate files adjusting for the variance between the top and bottom half of the map :)
Image
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: Reproducible map generation

Post by Wahazar »

Leanden wrote:So here is the problem. Over the distance of my heightmap top to bottom, the west and east figures are not the same at the top and bottom of the heightmap
Seems that you have heightmap in wrong projection system.
If you want to import objects using its real lat/long cooridinates, you can only use heightmap generated in cylindrical equirectangular projection.

Good projection:
http://en.wikipedia.org/wiki/List_of_ma ... ion_SW.jpg
bad projections:
http://en.wikipedia.org/wiki/List_of_ma ... ion_SW.jpg
http://en.wikipedia.org/wiki/List_of_ma ... ion_SW.jpg
etc.
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
User avatar
Leanden
Tycoon
Tycoon
Posts: 2613
Joined: 19 Mar 2009 19:25
Location: Kent

Re: Reproducible map generation

Post by Leanden »

Ok thats fair enough. So next question, how are we meant to get heightmaps now that the SRTM servers have been shutdown? Where do you get your elevation data from?
Image
User avatar
Leanden
Tycoon
Tycoon
Posts: 2613
Joined: 19 Mar 2009 19:25
Location: Kent

Re: Reproducible map generation

Post by Leanden »

Britain.png
(113.09 KiB) Downloaded 5 times
Well after 3 days of trial and error, it worked :)

Now to get the river concept down :P

EDIT: Forgot to add attachment.
Image
User avatar
Leanden
Tycoon
Tycoon
Posts: 2613
Joined: 19 Mar 2009 19:25
Location: Kent

Re: Reproducible map generation

Post by Leanden »

I tried to use this to place industries and the game crashed when I tried to open the industry list. Also crashed when i clicked on an individual industry. Any ideas?

Code: Select all

*** OpenTTD Crash Report ***

Crash at: Sat Aug 23 13:13:26 2014
In game date: 1900-01-01 (0)

Crash reason:
 Exception: C0000005
 Location:  0059BDE4
 Message:   <none>

OpenTTD version:
 Version:    1.4.1 (0)
 NewGRF ver: 14186803
 Bits:       32
 Endian:     little
 Dedicated:  no
 Build date: Jun 17 2014 22:30:35

Registers:
 EAX: 05E55D80 EBX: 00F4E714 ECX: 00CBF760 EDX: 00000000
 ESI: 0000E006 EDI: 0D7E765C EBP: 0028CD04 ESP: 0028CABC
 EIP: 0059BDE4 EFLAGS: 00010246

 Bytes at instruction pointer:
 0F B7 12 C7 85 9C FE FF FF 00 00 00 00 89 95 98 FE FF FF 0F B6 40 36 89

Stack trace:
 0000E006 00F76624 0D7E7660 0D7E7648 0028CB18 756C98CD 01220000 00000000
 756C98DA 412A5808 0028CBF8 0D7E7660 0D7E7660 00000000 00000001 00000013
 00000013 0028CAE0 00EA16F0 0028CFEC 01008CD5 00000000 00CBF760 0028CFEF
 0070870B 0000E006 00F60110 00000001 00000229 0028D08E 00000000 0D7E765C
 005993B0 0028CBA4 00F62BC2 00000000 00000000 00000000 01220000 0D7E7678
 0028CAF0 00000000 03AE00AB 0000791C 2B0FAC88 FFFFFFFE 0D7E7650 00000008
 00F4E710 00F4E710 00F4E910 0D7E765C 00F4E714 00F4E710 00F4E910 0D7E765C
 0028D08E 756C98CD 00000000 00000000 756C98DA 412A58F8 0028CCC8 0D7E7688
 0D7E7688 00000200 0028CCD8 0D7E5928 00000001 0028CBB0 0028CBEC 0028FFC4
 756E8CD5 346E0BF0 FFFFFFFE 756C98DA 0D7E7678 00000008 00F4EF30 00F4EF30
 00F4F130 0D7E7684 00F4EF30 00F4EF30 00F4F130 0D7E7684 00F4E710 00F4E910
 77B5E38C 5C92B254 0028CE48 0122038C 01220000 346E0BF0 FFFFFFFE 03900019
 0504CE07 0D7E7650 00000000 756C98DA 00CBFA60 01C9001A 0504CE07 0D7E765C
 0028D1A9 00EA0358 00000000 00000200 0028D1B1 00000000 04E76D38 00EA0048
 00EA0218 00F4EF30 00EA16F0 00F4EF30 0028CC20 00F4F130 0028FFC4 77BA71F5
 2B0FAC88 FFFFFFFE 77B5E38C 77B5E0F2 0028CE48 00000200 77B5E046 00CBF760
 0028D1B1 01000000 00000000 0D7E7678 00000008 00000000 01220000 0D7E7650
 0D7E7684 00F4EF30 03A900AC 00007967 0D7E7684 00F4EF30 00F4EF30 00000289
 00000000 0028D7EB 0028CF54 0059CB38 0028D7EB 00000000 00000000 00000001
 01220000 756C98CD 01220000 03A900AC 00007968 412A5E78 0028CE48 0D7E7660
 0D7E7660 00000000 00007968 00F4FD68 00F4FD68 00EA0358 0D7E76AC 0000001B
 00008CD5 00F76621 00CBF760 0028CFEC 00EA0168 0D7E7650 00EA0510 00F4E910
 0028CD10 0028D08E 0028FFC4 77BA71F5 2B0FAC88 FFFFFFFE 77B5E38C 77B5E0F2
 0028CF7C 0000001B 77B5E046 00F4EF30 0028CD40 00F4F130 0028FFC4 77BA71F5

Operating system:
 Name:     Windows
 Release:  6.1.7601 (Service Pack 1)
 Compiler: GCC 4.8.1 "4.8.1"

Configuration:
 Blitter:      32bpp-anim
 Graphics set: original_windows (0)
 Language:     C:\Program Files\OpenTTD Scenario Gen\lang\english.lng
 Music driver: win32
 Music set:    original_windows (1)
 Network:      no
 Sound driver: win32
 Sound set:    original_windows (0)
 Video driver: win32

Fonts:
 Small:  sprite
 Medium: sprite
 Large:  sprite
 Mono:   sprite

AI Configuration (local: 16):

Libraries:
 LZMA:       5.0.4
 LZO:        2.06
 Zlib:       1.2.8

Module information:
 C:\Program Files\OpenTTD Scenario Gen\openttd.exe handle: 00400000 size: 5444110 crc: 7247BADD date: 2014-07-12 23:38:36
 C:\Windows\SysWOW64\ntdll.dll handle: 77b30000 size: 1292192 crc: 87C3B42F date: 2013-08-29 01:50:30
 C:\Windows\syswow64\kernel32.dll handle: 75a30000 size: 1114112 crc: 8F4ED6D1 date: 2014-03-04 09:16:17
 C:\Windows\syswow64\KERNELBASE.dll handle: 761e0000 size: 274944 crc: D5B7EFFE date: 2014-03-04 09:16:18
 C:\Windows\syswow64\advapi32.dll handle: 772e0000 size: 640512 crc: 939A0B41 date: 2013-08-29 01:48:17
 C:\Windows\syswow64\msvcrt.dll handle: 756c0000 size: 690688 crc: DAB48B3A date: 2011-12-16 07:52:58
 C:\Windows\SysWOW64\sechost.dll handle: 755b0000 size: 92160 crc: B624B29A date: 2009-07-14 01:16:13
 C:\Windows\syswow64\RPCRT4.dll handle: 771f0000 size: 664064 crc: 358EDEDF date: 2014-07-14 01:40:58
 C:\Windows\syswow64\SspiCli.dll handle: 75530000 size: 96768 crc: 1E8F2A1D date: 2014-06-05 14:25:49
 C:\Windows\syswow64\CRYPTBASE.dll handle: 75520000 size: 36864 crc: 00308E17 date: 2009-07-14 01:15:07
 C:\Windows\syswow64\gdi32.dll handle: 77680000 size: 311808 crc: CD8A8BBE date: 2014-07-16 02:46:24
 C:\Windows\syswow64\USER32.dll handle: 75e30000 size: 833024 crc: 9EFE504D date: 2010-11-20 12:08:57
 C:\Windows\syswow64\LPK.dll handle: 75590000 size: 25600 crc: 3A7246AE date: 2013-06-06 04:57:01
 C:\Windows\syswow64\USP10.dll handle: 760e0000 size: 626688 crc: 7CF1A954 date: 2014-04-25 02:06:17
 C:\Windows\syswow64\imm32.dll handle: 757a0000 size: 119808 crc: 38DB5163 date: 2010-11-20 12:08:51
 C:\Windows\syswow64\MSCTF.dll handle: 77390000 size: 828928 crc: DFE09EEB date: 2009-07-14 01:15:43
 C:\Windows\syswow64\shell32.dll handle: 76240000 size: 12874240 crc: C247DBF4 date: 2014-06-25 01:41:30
 C:\Windows\syswow64\SHLWAPI.dll handle: 76180000 size: 350208 crc: 23E05F73 date: 2010-11-20 12:21:19
 C:\Windows\system32\winmm.dll handle: 74f30000 size: 194048 crc: 849223C7 date: 2010-11-20 12:21:36
 C:\Windows\syswow64\ws2_32.dll handle: 771b0000 size: 206848 crc: FD00A753 date: 2010-11-20 12:21:38
 C:\Windows\syswow64\NSI.dll handle: 75800000 size: 8704 crc: 2ACE9671 date: 2009-07-14 01:16:11
 C:\Windows\syswow64\ole32.dll handle: 77050000 size: 1414144 crc: 74A1E844 date: 2010-11-20 12:20:49
 C:\Windows\system32\uxtheme.dll handle: 6e610000 size: 245760 crc: 60C5C746 date: 2009-07-14 01:11:24
 C:\Windows\system32\dwmapi.dll handle: 6e5a0000 size: 67072 crc: FC7CA4B8 date: 2009-07-14 01:15:13
 C:\Windows\system32\mswsock.dll handle: 739d0000 size: 231424 crc: 2A2905A9 date: 2013-09-08 02:03:58
 C:\Windows\System32\wshtcpip.dll handle: 739c0000 size: 9216 crc: BA963A19 date: 2009-07-14 01:16:20
 C:\Windows\system32\MMDevAPI.DLL handle: 6dca0000 size: 213504 crc: 93C0AA4F date: 2010-11-20 12:19:39
 C:\Windows\system32\PROPSYS.dll handle: 6d8a0000 size: 988160 crc: 888D0BCB date: 2010-11-20 12:20:57
 C:\Windows\syswow64\OLEAUT32.dll handle: 75600000 size: 571904 crc: 2B85E126 date: 2011-08-27 04:26:27
 C:\Windows\system32\wdmaud.drv handle: 610a0000 size: 172032 crc: D5B9F5FA date: 2010-11-20 12:16:50
 C:\Windows\system32\ksuser.dll handle: 6d3a0000 size: 4608 crc: EBE07232 date: 2009-07-14 01:15:35
 C:\Windows\system32\AVRT.dll handle: 6d3b0000 size: 14336 crc: 9818237B date: 2009-07-14 01:14:58
 C:\Windows\syswow64\SETUPAPI.dll handle: 75f30000 size: 1667584 crc: 1D0104E8 date: 2010-11-20 12:21:14
 C:\Windows\syswow64\CFGMGR32.dll handle: 755d0000 size: 145920 crc: 377B5190 date: 2011-05-24 10:39:38
 C:\Windows\syswow64\DEVOBJ.dll handle: 75b40000 size: 64512 crc: 66B02A5A date: 2011-05-24 10:40:05
 C:\Windows\system32\AUDIOSES.DLL handle: 6dce0000 size: 195584 crc: 0A7E52B1 date: 2010-11-20 12:18:05
 C:\Windows\system32\msacm32.drv handle: 6c5f0000 size: 20992 crc: 73923147 date: 2009-07-14 01:14:08
 C:\Windows\system32\MSACM32.dll handle: 6e5e0000 size: 72192 crc: ABA25814 date: 2009-07-14 01:15:42
 C:\Windows\system32\midimap.dll handle: 6c3e0000 size: 16896 crc: C000494C date: 2009-07-14 01:15:40
 C:\Windows\syswow64\CLBCatQ.DLL handle: 75d20000 size: 522240 crc: 6C130B8A date: 2009-07-14 01:15:03
 C:\Windows\syswow64\psapi.dll handle: 77380000 size: 6144 crc: 25B988F9 date: 2009-07-14 01:16:12

---- gamelog start ----
Tick 0: new game started
     Revision text changed to 1.4.1, savegame version 188, not modified, _openttd_newgrf_version = 0x14186803
     New game mode: 2 landscape: 0
     Added NewGRF: GRF ID 4D420100, checksum 1A5D28D0719FCDB928F59AEFDBE07B7C, filename: bobs_british_buses-0.2.1\bbbw.grf (md5sum matches)
     Added NewGRF: GRF ID 4D480201, checksum 9E914C31E5FC7FC3F686D009BD55F331, filename: alexandra_palace-1.0.0\alexandrapalace.grf (md5sum matches)
     Added NewGRF: GRF ID 44440A01, checksum FCEEC76CF44EC23E7FE9C88048CF11CC, filename: av8_aviators_aircraft_set-2.21\pb_av8w.grf (md5sum matches)
     Added NewGRF: GRF ID 44440A80, checksum EA44BA39269D3455FB1E05E30A45C399, filename: av9.8-0.81\av9point8.grf (md5sum matches)
     Added NewGRF: GRF ID 4D42000A, checksum BC3A0E791C74C1A04A3B90C3B2FA83A6, filename: bats-0.4\batsv0.4w.grf (md5sum matches)
     Added NewGRF: GRF ID 4D420000, checksum BCB0AC917F3DA91A3197C6A07D06BCE8, filename: bobs_random_vehicles_-0.9\brbvw.grf (md5sum matches)
     Added NewGRF: GRF ID 4A430001, checksum 4CF50E2A770F6672A77A8842A3129ECA, filename: british_stations_set-0.0.4final\dstatsw.grf (md5sum matches)
     Added NewGRF: GRF ID FBFB0502, checksum 55AE61673CBCDE4A7231DEA85973278C, filename: dutch_road_furn._uk_signs_addon-1.0.0\dutchroadfurnitureuksignsaddon.grf (md5sum matches)
     Added NewGRF: GRF ID FBFB0501, checksum 32533DE8356B7D38137770523929DFA3, filename: dutch_road_furniture-0.6.0\dutchroadfurniture.grf (md5sum matches)
     Added NewGRF: GRF ID 44573553, checksum EF7529EBEAF35758EE07E628B25F608D, filename: dwenewobjects-v0.1\dwe_newobj.grf (md5sum matches)
     Added NewGRF: GRF ID 49464653, checksum 7899EF1B577B7D682B8F6E76FD4C6739, filename: fake_subways-0.3\fakesubways.grf (md5sum matches)
     Added NewGRF: GRF ID F1250005, checksum 71231BAE6D5F4A5878933ADB74CABEE5, filename: firs_industry_replacement_set-1.3.0\firs.grf (md5sum matches)
     Added NewGRF: GRF ID 414E0101, checksum 5D665C64693A438E3046C22666F46E08, filename: fish_ship_set-0.9.2\fish.grf (md5sum matches)
     Added NewGRF: GRF ID 41501202, checksum B13DD8FB0D7C34CACAC2FE68BD137BB9, filename: heqs_heavy_equipment_set-1.5.2\heqs.grf (md5sum matches)
     Added NewGRF: GRF ID 4A430002, checksum 237EC8B4432F26C2721B69D0814045E6, filename: industrial_stations_renewal-1.0.0\indstatr.grf (md5sum matches)
     Added NewGRF: GRF ID 504A0013, checksum E2FB4F9E66207F8016B7303323FDD00C, filename: isrdwestyle_objects-1.0\isrdwe_objects_v1_0.grf (md5sum matches)
     Added NewGRF: GRF ID 4642FB21, checksum 117F6F1F07C18A9C15ADC6127AFBAE97, filename: modern_tram_set-3.1\motraset_r3.1.grf (md5sum matches)
     Added NewGRF: GRF ID 6D620601, checksum 537A2B9E5F0644BC360248B2B802D086, filename: newstats.grf (md5sum matches)
     Added NewGRF: GRF ID 444A5401, checksum 70955580042DE6758938EA904A2223CA, filename: nutracks-1.1.2\nutracks.grf (md5sum matches)
     Added NewGRF: GRF ID 54470203, checksum F84B6D37659F23D19E176C99BC48DEF6, filename: opengfx_airports_as_objects-0.3\airportobjects.grf (md5sum matches)
     Added NewGRF: GRF ID 46727806, checksum BBE029FCDD7A16F85876D417FF318D23, filename: opengfx_trees-0.8.0\opengfx+trees.grf (md5sum matches)
     Added NewGRF: GRF ID 43415000, checksum 8F77143D9432C52206D1730F9EEDFAE1, filename: opengfx_airports-0.4.1\ogfx-airports.grf (md5sum matches)
     Added NewGRF: GRF ID 4F472B34, checksum C15196D11C5461AC4733C645346BB10B, filename: opengfx_landscape-1.0.1\ogfx-landscape.grf (md5sum matches)
     Added NewGRF: GRF ID 415A0502, checksum D19CFB06FB060EC2B5CAA6A610419297, filename: total_bridgesUK.grf (md5sum matches)
     Added NewGRF: GRF ID 44441001, checksum 83915879F68DD174C953868C0629A4C9, filename: ukrs2_uk_railway_addon_set-gobi\pj1kadd.grf (md5sum matches)
     Added NewGRF: GRF ID 44441000, checksum DA36131A815D2D5FC158C7A27D67B5AF, filename: ukrs2__the_uk_railway_set-1.05\proj1000.grf (md5sum matches)
     Added NewGRF: GRF ID 554B524C, checksum 934F973D33A42EB858B80031F904F057, filename: uk_roads_with_signs-0.2\ukroadswsigns.grf (md5sum matches)
     Added NewGRF: GRF ID 72777473, checksum EBEAB33B398DE7F2921F853C496F6F91, filename: uk_town_set-2.2\ukts_2.2.grf (md5sum matches)
     Added NewGRF: GRF ID 504E0001, checksum E7781323D2B0086E2E76342DAA036054, filename: uk_waypoints-1\ukwaypointsw.grf (md5sum matches)
     Added NewGRF: GRF ID 55494354, checksum A768E8EEAABE2AE4B4F220C1970ADC06, filename: unintrusive_catenary-0.1\uicw.grf (md5sum matches)
     Added NewGRF: GRF ID 57A50001, checksum 318F3C3F17CA68EAD533BAC88B093094, filename: was_world_airliners_set-0.1\was.grf (md5sum matches)
---- gamelog end ----

*** End of OpenTTD Crash Report ***
Image
User avatar
Leanden
Tycoon
Tycoon
Posts: 2613
Joined: 19 Mar 2009 19:25
Location: Kent

Re: Reproducible map generation

Post by Leanden »

Its ok i've worked out what the issue is. Don't try and place industries before you place a town ;)
Image
Gigigonzalez
Engineer
Engineer
Posts: 91
Joined: 12 Jun 2014 14:24

Re: Reproducible map generation

Post by Gigigonzalez »

I dont see why this is really needed, its not like all maps look so fundamentally different, its all the same perlin? noise.

Now unless you have a 64x64 map, it all loooks pretty much the same in the long run. Go play on a 4K map, you wont see the difference between one spot and the other :)
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: Reproducible map generation

Post by Wahazar »

Gigigonzalez, I don't understand your point, seems like responding to another thread?
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
User avatar
Leanden
Tycoon
Tycoon
Posts: 2613
Joined: 19 Mar 2009 19:25
Location: Kent

Re: Reproducible map generation

Post by Leanden »

Ye i don't understand what he is getting at either >.>
Image
User avatar
Lordmwa
President
President
Posts: 899
Joined: 20 May 2006 19:30
Location: West Sussex, England

Re: Reproducible map generation

Post by Lordmwa »

Any advice on getting the binary to run? It tells me no language packs which is odd seeing as I have a full set of files in the "lang" folder above the exe
The TT forums trivia tournament! Come along and join in the fun
http://www.funtrivia.com/private/main.cfm?tid=90722
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: Reproducible map generation

Post by Wahazar »

Lordmwa wrote:Any advice on getting the binary to run? It tells me no language packs which is odd seeing as I have a full set of files in the "lang" folder above the exe
Binary is compatible with openttd 1.4.1 version, therefore should be placed in 1.4.1 files directory, otherwise lang files doesn't match.
I don't want to compile against newest trunk due to backward map compatibility.
User avatar
Lordmwa
President
President
Posts: 899
Joined: 20 May 2006 19:30
Location: West Sussex, England

Re: Reproducible map generation

Post by Lordmwa »

Great, that certainly is an improvement - I am now able to load up but get a syntax error (Syntax error at stations.txt:4(Abbey Wood) on trying to import. Line 4 is:

Code: Select all

Abbey Wood,N,51.4908,0.1204


I have the header:

Code: Select all

59.42,1.74,50.04,-6.44 - Lat/Long going NESW (may be wrong)
100,100,0
9,9,9,9,9,9,9,9,9,9

Basically I have a list of signs to import
The TT forums trivia tournament! Come along and join in the fun
http://www.funtrivia.com/private/main.cfm?tid=90722
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: Reproducible map generation

Post by Wahazar »

Proper format need 6 fields, some of them may be redundant/unused but 6 input fields are fixed:

Code: Select all

<object name>,<object type>,<object size/importance>,<latitude>,<longitude>,<object layout>
In this case, you need to place something numerical after 'N' and at the end of line:

Code: Select all

Abbey Wood,N,666,51.4908,0.1204,666
- in case of sign these numbers have no meaning, but need to be parsed anyway.
Comprehensive list of all fields meaning was published 23 Jul. 2014.
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
Post Reply

Return to “General OpenTTD”

Who is online

Users browsing this forum: Ahrefs [Bot] and 5 guests