kiwotigo is world map generation tool.
the world builder algorithm generates randomly generated 2D maps, on which regions are distributed, with the following characteristics:
- each region has a base area that has a minimum size (can be configured)
- each region has at least one or more connections to another nearby region
- each region is accessible from any region via these connections
A group of regions that are close together form a continent, there may (but need not) be several continents, and a continent can also consist of only one region (like islands).
Although the generation of regions is essentially based on randomness, it can be configured quite extensively.
As output, the world builder provides a json structure, the intermediate continental format.
kiwotigo is written in javascript, whereas the core of the world map builder is developed in go and integrated via webassembly.
→ Just try it out for yourself!
kiwotigo creates worlds, but doesn't tell you what to do with them. that's up to you. you're a indie-gamedev and need a tool to create 2D or maybe 3D maps? or you just want to create a nice graphics demo and need random input? go ahead, let your inspiration run wild - and don't forget to drop me a message (or a PR) if you want to show something off 😉
As a precondition a current nodejs v16 and a go-lang (1.17 ) sdk has to be installed.
Build the kiwotigo library with:
$ npm run build # -> npx gulp buildAll
Start a http server for testing the kiwotigo.wasm module with:
$ npx serve
as an alternative you can use the gulp tasks:
$ npx gulp --tasks # show all tasks
or just start developing with:
$ npm start
have fun!
the kiwotigo code is licensed under the GPLv3. see LICENSE for details.