{ "info": { "author": "Federico Tomassetti, Bret Curtis", "author_email": "f.tomassetti@gmail.com, psi29a@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "WorldEngine - a world generator\n=========================\n\n[![Coverage Status](https://coveralls.io/repos/Mindwerks/worldengine/badge.svg?branch=master&service=github)](https://coveralls.io/github/Mindwerks/worldengine?branch=master) [![Build Status](https://travis-ci.org/Mindwerks/worldengine.svg?branch=master)](https://travis-ci.org/Mindwerks/worldengine) [![Build status](https://ci.appveyor.com/api/projects/status/io4ljim2ra83df23?svg=true)](https://ci.appveyor.com/project/ftomassetti/worldengine)\n\n_The current stable version is 0.19.0_\n\nYou can generate the data for your own world, including a number of images (heigthmap, biomes, etc.).\n\nFor example:\n\n```bash\nworldengine world -s 1 -n seed1\n```\n\nWorlds are generated using plate simulations, erosion, rain shadows, Holdridge life zones model and plenty of other phenomenons.\n\nThe created world can be used for simulating the evolution of a civilization (see project [civs](https://github.com/ftomassetti/civs)).\n\nIt is also possible to generate additional maps, for example an ancient looking map:\n\n```bash\nworldengine ancient_map -w seed1.world\n```\n\n![](https://raw.githubusercontent.com/Mindwerks/worldengine-data/master/images/examples/ancient_map_seed1.png)\n\n\nWe started a [Google group](https://groups.google.com/forum/?hl=en#!forum/worldengine): Should you have ideas, problems, suggestions or want to contribute, please [join us](https://groups.google.com/forum/?hl=en#!forum/worldengine)!\n\nInteroperability (Python, Java)\n===============================\n\nWe would love to see WorldEngine used together with other tools. Worlds generated by WorldEngine can be loaded into python applications using WorldEngine itself as a library. Java applications can instead use [WorldEngine-Java](https://github.com/Mindwerks/worldengine-java), a java library to load WorldEngine files.\n\nWorlds can be saved using the protobuf format or hdf5, for which there are libraries in several languages. We keep working on supporting more formats and always interested in ways to improve interoperability.\n\nBinary packages\n===============\n\nFor Windows, Linux and Mac are available on the [releases page](https://github.com/Mindwerks/worldengine/releases).\n\nGui\n===\n\nAn experimental (and limited!) GUI is available as a separate project: [https://github.com/Mindwerks/worldengine-gui](https://github.com/Mindwerks/worldengine-gui).\n\nInstall\n=======\n\n### Using pip\n\n```\n# Currently not yet released on pypi, you may want to still use Lands or WorldSynth\n# or alternatively download the source\npip install worldengine\n```\n\n### From source code\n\n```\ngit clone or download the code\n\n# for unit-testing: also clone worldengine-data\ngit clone git@github.com:Mindwerks/worldengine-data.git ../worldengine-data\nnosetest tests\n```\n\n### _On Windows_\n\nIf you want to install Worldengine on Windows you can read these [instructions](https://github.com/Mindwerks/worldengine/wiki/Installing-Worldengine-on-Windows).\n\nExecutable file is also available under [releases](https://github.com/Mindwerks/worldengine/releases), but is currently out of date.\n\nNote: you need also a copy of the worldengine src directory in the same folder as the exe.\n\nDependencies\n============\n\nThe gui is based on QT, so you will need to install them\n\nOutput\n======\n\nThe program produces a binary format with all the data of the generated world and a set of images. For examples seed 1 produces.\n\n## Elevation Map\n\n![](https://raw.githubusercontent.com/Mindwerks/worldengine-data/master/images/examples/world_seed_1_elevation.png)\n\n## Precipitation Map\n\n![](https://raw.githubusercontent.com/Mindwerks/worldengine-data/master/images/examples/world_seed_1_precipitation.png)\n\n## Temperature Map\n\n![](https://raw.githubusercontent.com/Mindwerks/worldengine-data/master/images/examples/world_seed_1_temperature.png)\n\n## Biome Map\n\n![](https://raw.githubusercontent.com/Mindwerks/worldengine-data/master/images/examples/world_seed_1_biome.png)\n\n## Ocean Map\n\n![](https://raw.githubusercontent.com/Mindwerks/worldengine-data/master/images/examples/world_seed_1_ocean.png)\n\nThere are several optional outputs and many options to control the result. The [manual](http://worldengine.readthedocs.org/en/latest/) is your friend!\n\nUsage\n=====\n\n```\nworldengine [options] [world|plates|ancient_map|info]\n```\n\nFor details about all the possible options please refer to the [manual](http://worldengine.readthedocs.org/en/latest/).\n\nFor example these commands:\n\n```python\nworldengine -s 4 -n an_example -q 25 -x 2048 -y 2048\n```\n\nProduce this output\n\n```\nWorldengine - a world generator (v. 0.19.0)\n-----------------------\n operation : world generation\n seed : 4\n name : an_example\n width : 2048\n height : 2048\n number of plates : 25\n world format : protobuf\n black and white maps : False\n step : full\n greyscale heightmap : False\n rivers map : False\n scatter plot : False\n fade borders : True\n\nstarting (it could take a few minutes) ...\n\nProducing ouput:\n* world data saved in './an_example.world'\n* ocean image generated in './an_example_ocean.png'\n* precipitation image generated in './an_example_precipitation.png'\n* temperature image generated in './an_example_temperature.png'\n* biome image generated in './an_example_biome.png'\n* elevation image generated in './an_example_elevation.png'\n...done\n```\n\nThis is the corresponding ancient map\n\n```python\nworldengine ancient_map -w an_example.world\n```\n\n![](https://raw.githubusercontent.com/Mindwerks/worldengine-data/master/images/examples/ancient_map_large.png)\n\nAlgorithm\n=========\n\nThe world generation algorithm goes through different phases:\n* plates simulation: it is the best way to get proper mountain chains. For this [pyplatec](https://github.com/Mindwerks/pyplatec) is used\n* noise techniques are used at different steps\n* precipitations are calculated considering latitude and rain shadow effects\n* erosion is calculated\n* humidity in each zone is calculated\n* terrain permeability is calculated\n* biome is calculated using the [Holdridge life zones](http://en.wikipedia.org/wiki/Holdridge_life_zones) model\n\nDevelopment\n===========\n\nUsing virtualenv you can create a sandbox in which to develop.\n\nPython 2\n--------\n\n```bash\nvirtualenv venv\nsource venv/bin/activate\npip install --upgrade pip setuptools\npip install -r requirements-dev.txt\npython worldengine\n```\n\nPython 3\n--------\n\n```bash\nvirtualenv venv -p /usr/bin/python3\nsource venv/bin/activate\npip install --upgrade pip setuptools\npip install -r requirements-dev.txt\npython worldengine\n```\n\nDistribution\n============\n\nWe use PyInstaller to wrap everything up into one binary.\n\nThis will create a binary located `dist/worldengine` that has all the\nrequired libs necessary to run.\n\n### Linux\nBecause of the libraries we use, it is best to use their `develop` branch.\n```bash\npip install git+https://github.com/pyinstaller/pyinstaller.git@develop\npyinstaller --clean -F -n worldengine worldengine/__main__.py\n```\n\n### OSX\nYou'll need to have brew installed, this should give you all the tools you'll need.\n```bash\npyinstaller --clean -F -n worldengine worldengine/__main__.py\n```\nAt this time, it doesn't gather everything from protobuf. So you'll need to\ncopy google/protobuf python to dist/google/protobuf and create __init__.py in\ndist/google\n\n### Windows\nTurning your Windows into a developer environment is a long and drawn out process.\nI'll try to keep this as short as possible and to the point.\n\nRemember, be consistent if you are either win32 or win64 and everything you download\nand install is either one or the other, but not both.\n\nYou'll want to install msysgit: https://msysgit.github.io/ which will get you\na Linux like environment. After that, clone the repo and install Python 2.7 for\nwindows: https://www.python.org/downloads/windows/ This will get you also pip\nwhich is required for the rest. You'll first need to pip install virtualenv.\n\nThe layout is a bit different than in Linux.\n```bash\nvirtualenv venv\nvenv/Scripts/pip install -r requirements.txt\n```\n\nNumpy install will fail, so you'll need download a pre-compiled wheel file and\ninstall it with pip. http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy\nnumpy\u20111.9.2+mkl\u2011cp27\u2011none\u2011win_amd64.whl\nPick one for your arch, 32 or 64.\n```bash\nvenv/Scripts/pip install ../numpy\u20111.9.2+mkl\u2011cp27\u2011none\u2011win_amd64.whl\n```\n\nNext step is to get pywin32 which are win32api hooks for python, when downloading,\nyou'll need to pick either 32 or 64-bit otherwise it won't work. You'll also\ninstall it via pip. http://sourceforge.net/projects/pywin32/files/pywin32/\n```bash\nvenv/Scripts/pip install ../pywin32-219.win-amd64-py2.7.exe\n```\n\nThe last step is to get pyinstaller installed and this can be tricky\nbecause as of right now, we have to use a specific revision that \"good-enough\".\nThe issue is being tracked here: https://github.com/pyinstaller/pyinstaller/issues/1291\n```bash\nvenv/Scripts/pip install git+https://github.com/pyinstaller/pyinstaller.git@67610f2\nvenv/Scripts/pyinstaller --clean --console -F -n worldengine worldengine/__main__.py\n```\n\nDo you have problems or suggestions for improvements?\n=====================================================\n\nPlease write to us!\nYou can write us at:\n * f _dot_ tomassetti _at_ gmail _dot_ com\n * psi29a _at_ gmail _dot_ com\nThank you, all the feedback is precious for us!\n\nProjects using WorldEngine\n==========================\n\nWorldEngine is being used in several products and we are starting to list them here:\n* [Lost Islands](https://wl.widelands.org/maps/lost-islands/) WorldEngine has been used to generate a map for [Widelands](https://widelands.org), an open-source real time strategy game\n* [AX:EL - Air XenoDawn](http://store.steampowered.com/app/319830) a sci-fi aerial dogfighting commercial game released on Steam\n\nIf you are using WorldEngine please let us know!\n\nContributors\n============\n\nThis project is maintained by [Bret Curtis](https://github.com/psi29a) and [Federico Tomassetti](https://github.com/ftomassetti).\n\nAll contributions, questions, ideas are more than welcome!\nFeel free to open an issue or write in our [google group](https://groups.google.com/forum/?hl=en#!forum/worldengine).\n\nWe would like to thank you great people who helped us while working on WorldEngine and the projects from which it was derived:\n\n* [Evan Sampson](https://github.com/esampson) contributed the amazing implementation of the Holdridge life zones model and improved a lot the ancient-looking-map, biome, precipitation and temperature generators. Thanks a million!\n\n* [Ryan](https://github.com/SourceRyan) contributed the Windows binary version and discussed Lands on Reddit bringing a lot of users. Thanks a million!\n\n* [stefan-feltmann](https://github.com/stefan-feltmann) made Lands depends on pillow instead that on PIL (which is deprecated). This could also help when moving to Python 3. Thanks a million!\n\n* [Russell Brinkmann](https://github.com/rbb) helped saving the generation parameters in the generated world (so that we can use it to generate the same world again, for example), improved the command line options and added tracing information (useful for understanding the performance of the various generation steps)\n\n* [Joshua Coppola](https://github.com/pangal) implemented the satellite view. Thanks a lot, it looks gorgeous!\n\n* [Stephan](https://github.com/tcld) made WorldEngine make heavy use of numpy, helping to speed up the generation. He also made world-generation much more reproducible and helped improve compatibility with Python 3.\n\nHistory\n=======\n\nWorldEngine has been created by merging Lands and [WorldSynth](https://github.com/psi29a/worldsynth).\nLast Lands version was 0.5.3, last WorldSynth version: 0.12, first WorldEngine version has been 0.18.\n\nLicense\n=======\n\nWorldEngine is available under the MIT License. You should find the LICENSE in the root of the project.\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/Mindwerks/worldengine/releases", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/Mindwerks/worldengine", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "worldengine", "package_url": "https://pypi.org/project/worldengine/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/worldengine/", "project_urls": { "Download": "https://github.com/Mindwerks/worldengine/releases", "Homepage": "http://github.com/Mindwerks/worldengine" }, "release_url": "https://pypi.org/project/worldengine/0.19.0/", "requires_dist": null, "requires_python": null, "summary": "World generator simulating plate tectonics, erosion, etc.", "version": "0.19.0" }, "last_serial": 1824097, "releases": { "0.18.0": [ { "comment_text": "", "digests": { "md5": "1f18ae2cff48424bc92379e41a3dad25", "sha256": "f4cce3e57c8c3f624bd955e715de3c345c88bab91b461b8de40a2fab41ec3a5b" }, "downloads": -1, "filename": "worldengine-0.18.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1f18ae2cff48424bc92379e41a3dad25", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 44114, "upload_time": "2015-07-22T14:01:38", "url": "https://files.pythonhosted.org/packages/ee/a9/13d629381d1b7ef1d4f371c563a91733c3022dac67a99b1f7479fefdf176/worldengine-0.18.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "019b6febb4b7bd4d03570215650e434c", "sha256": "5d9d2927cfebcb6f726128aa097753f36a42bc07d2e03a2c999c949368c131eb" }, "downloads": -1, "filename": "worldengine-0.18.0.tar.gz", "has_sig": false, "md5_digest": "019b6febb4b7bd4d03570215650e434c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42495, "upload_time": "2015-07-22T15:50:06", "url": "https://files.pythonhosted.org/packages/75/72/07395707bed1ab7d92829d1d5eb9f0e456159d7b9f85f40a4b439a1347ba/worldengine-0.18.0.tar.gz" } ], "0.19.0": [ { "comment_text": "", "digests": { "md5": "a9dbfd6db4e01df2bff2670c92ab61ea", "sha256": "4f2a0aeb9436463abd412fcbdcfe927837716ad7db81e7b15ded3e0027b8b183" }, "downloads": -1, "filename": "worldengine-0.19.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a9dbfd6db4e01df2bff2670c92ab61ea", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 62654, "upload_time": "2015-11-19T10:02:28", "url": "https://files.pythonhosted.org/packages/aa/76/7e3a6d04391c3065de8ed4315302cde84805d1f6f2355d4a461e462c9d0f/worldengine-0.19.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9e5e06abd2c590cf7dc82deede2ccc7", "sha256": "26824f5e0bdff1800e060af21983131e39ba82f3e024258820ac45523fb8d772" }, "downloads": -1, "filename": "worldengine-0.19.0.tar.gz", "has_sig": false, "md5_digest": "c9e5e06abd2c590cf7dc82deede2ccc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64137, "upload_time": "2015-11-19T09:59:44", "url": "https://files.pythonhosted.org/packages/b1/3c/17a67bbb366e5660cac9d2ef3dfcedec2814f583f98dd7d890228aca2be2/worldengine-0.19.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a9dbfd6db4e01df2bff2670c92ab61ea", "sha256": "4f2a0aeb9436463abd412fcbdcfe927837716ad7db81e7b15ded3e0027b8b183" }, "downloads": -1, "filename": "worldengine-0.19.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a9dbfd6db4e01df2bff2670c92ab61ea", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 62654, "upload_time": "2015-11-19T10:02:28", "url": "https://files.pythonhosted.org/packages/aa/76/7e3a6d04391c3065de8ed4315302cde84805d1f6f2355d4a461e462c9d0f/worldengine-0.19.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9e5e06abd2c590cf7dc82deede2ccc7", "sha256": "26824f5e0bdff1800e060af21983131e39ba82f3e024258820ac45523fb8d772" }, "downloads": -1, "filename": "worldengine-0.19.0.tar.gz", "has_sig": false, "md5_digest": "c9e5e06abd2c590cf7dc82deede2ccc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64137, "upload_time": "2015-11-19T09:59:44", "url": "https://files.pythonhosted.org/packages/b1/3c/17a67bbb366e5660cac9d2ef3dfcedec2814f583f98dd7d890228aca2be2/worldengine-0.19.0.tar.gz" } ] }