voronoi-map-js
JavaScript port of Amit Patel's mapgen2 https://github.com/amitp/mapgen2 Map generator for games. Generates island maps with a focus on mountains, rivers, coastlines.
Based on commit: e05075cbb82851e2a3bacaa2e49e4da998894379
Flash dependencies removed.
Built with JavaScript, Node.js, JQuery, Lo-Dash, Browserify, UglifyJS, Nodeunit, Sublime Text.
Installation & usage
Using npm
:
npm install --save voronoi-map
In CommonJS / Browserify:
var PIXI = ; var islandShape = ;var lavaModule = ;var mapModule = ;var noisyEdgesModule = ;var pointSelectorModule = ;var renderCanvas = ;var renderPixi = ;var roadsModule = ;var style = ;var watershedsModule = ; var map = ;map;map;map;map;map;map;map; var lava = ;var roads = ;roads;var watersheds = ;watersheds;var noisyEdges = ;noisyEdges; // render with Canvas Context 2D var canvas = document;renderCanvas;renderCanvas; // or render with Pixi / WebGL var context = renderer: ;documentbody;renderPixi;renderPixi;contextrenderer;
In vanilla JavaScript, all modules are exported to global voronoiMap
object :
Tasks
- fix smooth rendering bug for square point selection
canvas-render.js
~line 300, problem is withgraphics.stroke()
original render logic only draws fill paths. HTML canvas fill path does not join other paths and shows a seam between them. stroke() worked to hide the seam but square point selection exposes a bug where some strokes are not the correct color
- fix point-selector square and hexagon so distribution is symetrical when size is asymetrical
- pixi WebGL rendering is quite slow, too slow for animation
- moving some of the rendering functions into GLSL shaders would help, especially the noisy edges parts