Giter VIP home page Giter VIP logo

jowe's Introduction

jOWE is a world map engine

(to be included in a more complex and bigger project...)

jOWE creates random worlds - height maps - (from 4x4 to 2048x2048) and displays the result in your browser in a 3d-style (2d-isometric), or with hexagonal or diamond tiles.
It is done in javascript and works with the canvas tag.
You can navigate through the grid by dragging it and you can display a cursor that follow the mouse inside the grid.

(screenshot from the demo of jOWE v0.1r9 - A simple world with its minimap on the left...)

And the world is yours... You can combine several calls to the engine (as it is done in the demo) to make your world with all the geographical characteristics you need. Below, you can see for the same world, from left to right, the relief, the fertility, the rainfall, the temperature and the population.

(click the image for full size)


Please take me to demo!

Please, be advise that it is work in progress! Some buttons may not be functionnal, and you could encounter some strange behaviour.

Here it is, http://jowe.dolu.fr/jowe-demo.html (Firefox, Chrome, Opera, IE9 and every other "canvas compliant" browser).

For IE users below version 9, you can try ChromeFrame, it's a free plug-in for Internet Explorer (from version 6 to 9) that let you have Chrome functionnalities inside Internet Explorer.

At last, if you can't use it there is a specific demo, http://jowe.dolu.fr/jowe-demo-ie.html, using ExplorerCanvas. It will work for very small maps, and unfortunately, after loading, moving will take too much time to be usable.


How can I help ?

This project looks good and you want to participate ? There's a lot of things to be done :

  • Javascript optimization for the "core" and the "ui".
  • Find and fix bugs.
  • Makes the demo look even better.
  • Every other things usefull you could have in mind...

Image Galery

Screenshot Detail
first working jOWE
(22,2ko, 600x400)
screenshot from jOWE v0.1a
(24,2ko, 600x432)
screenshot from jOWE v0.1r6
(30ko, 600x540)
screenshot from jOWE v0.1r7
(28,8ko, 640x460)
300x300 map 300x300 world map
(617ko, 3600x1800)
screenshot from jOWE v0.1r8
(30,7ko, 660x462)
first try having hexagonal tiles
(35,6ko, 580x300)
New World map generator
(42,3ko, 628x298)
Help for the enhanced World map generator
(270ko, 1230x651)

Click on the image for full size


Content:

  • jowe-alea.js : Mash() and Alea() functions, used to make repetitve random map (reusable seed). This file is optional.
  • jowe-core.js : Create an heightmap.
  • jowe-ui.js: Manage display of the grid.
  • jowe-ui-2d-hexa.js: Object for displaying map with hexagonal tiles.
  • jowe-ui-2d-diam.js: Object for displaying map with diamond tiles.
  • jowe-ui-2d-pixel.js: Object for displaying a pixel map from an heightmap.
  • jowe-demo.html : HTML demo file.
  • jowe-demo-ie.html : HTML demo file for Internet Explorer with ExplorerCanvas.
  • jowe-demo-worldmap.html : HTML demo file for world map generation.
  • jowe-demo.css : style sheet demo file.
  • jowe-world.js : world object to be used in the demo.
  • jowe-demo.js : To be used with jowe-demo.html for the demo.
  • images/*.png : images for the toolbar (demo).
  • js/*.js : external javascript files (for now, "excanvas", "jQuery" and "json2.js").

The name of the files could probably change in the future to reflect a better structure.


To do :

  • Function to move the map with arrow keys
  • Add "world" to the demo (will contain many cities)
  • Fix bug :
    • sometimes border of the canvas is not filled
    • in the demo, enabling draw cursor before build is not taking in account
  • Random position for population within a city
    • Manage city size
    • Calculation for city average values (fertility, rainfall, ...)
  • Cell object (within the ui) should be enhance :
    • cell type sometimes not good
    • calculate average value of each point?
  • Better color management
  • Use function Alea() to repeat map.
  • Save/Load a grid
  • Tools to rise/sink a cell
  • Add other properties to the map :
    • fertility
    • rainfall
    • temperature
    • city and population
    • ...
  • Technical documentation (mainly for jowe_core.js and jowe_ui.js) => In progress...
    • jowe-core.js example
  • Better file organization (functions, classes, ...)
  • Online demo
  • "Zoom" function (increase/decrease cell size)
  • Make flat water level
  • Add minimap
  • Add more colors (deep ocean, moutains, snow,...)
  • Issue with missing cells on the border of the canvas
  • Issue when moving grid with cursor (previous selected cell with incorrect color)
  • ...

jowe's People

Contributors

dolu- avatar

Stargazers

 avatar  avatar Valor avatar

Watchers

 avatar

Forkers

wty0512

jowe's Issues

Uncaught ReferenceError: width is not defined jowe-city.js:326

What browser and version are you using ?
Chrome

What version of the product are you using?

r42
What steps will reproduce the problem?
1. Generate city map

Please provide any additional information below.
I fixed by adding var width,height; on line 324 (After fixing the width error 
the height error appears)

Original issue reported on code.google.com by [email protected] on 6 Jul 2012 at 3:04

3 dimensions of generation?

It would be very cool if this world generator could generate z-levels as well. Are there any plans for this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.