hexagram30 / map Goto Github PK
View Code? Open in Web Editor NEWA map-making library for worlds, cities, dungeons, and buildings in hexagram30 projects
License: Apache License 2.0
A map-making library for worlds, cities, dungeons, and buildings in hexagram30 projects
License: Apache License 2.0
See the following:
Open sourced weather models:
This would most likely be ASCII representations of caves.
Tasks:
Note: some or all of this ticket is being superseded by hexagram30/raster#15 ...
Once the biome lookup work is done (#23), let's add land cover support:
Also create config functions.
Note: this ticket is being superseded by hexagram30/raster#15 ...
Tasks:
lake?
flag to tilelake?
flagsea?
Also create the config functions.
Some initial images have been added , Resolution was arbitrarily set to 1600x1020. These notes are in the config file:
:pixels {
;; With these values, one pixel is approximately the area of a city
;; whose size is between that of Chicago and El Paso, ~ 626 km^2.
;;
;; Walking for two pixels is approximately the same distance as walking
;; the length of the Chunnel (between England and France), or 50 km.
;;
;; Note that the average size of a medieval "city" was ~ 2.6 km^2. As
;; such, in one pixel you could fix 100 medieval cities. Which, of
;; course is absurd ;-) But! If one uses the oft-quoted measure of
;; placing cities a distance that can be walked, there and back, in one
;; day, one pixel can hold, for example, one whole city (10 mile radius),
;; two halves of two cities, and one quarter of another city.
:x 1600
:y 1020}
Which, of course, begs the question: what is a good resolution, really? How granular do we need to get? Things to consider:
Tasks:
Tasks:
swamp?
flag to tileswamp?
flagFrom work done on:
we need to standardize on the following resolutions:
x | y |
---|---|
6144 | 4096 |
3072 | 2048 |
1536 | 1024 |
768 | 512 |
384 | 256 |
192 | 128 |
96 | 64 |
48 | 32 |
24 | 16 |
12 | 8 |
6 | 4 |
3 | 2 |
Image changes needed:
Also, the README will need to be updated:
Note: this ticket is being superseded by hexagram30/raster#15 ...
Add distinction for leeward/windward (i.e., take elevation as well as direction into account).
Check out the following:
See:
Ondrej Nepozitek:
Note: this ticket is being superseded by hexagram30/raster#15 ...
Tasks:
Note: this ticket is being superseded by hexagram30/raster#15 ...
Now that #23 is done, let's integrate it into the map service ...
Once the rainfall map is created, use that in conjunction with the forest biomes to determine where rainforests are.
Contributing factors:
Might be good to also generate a .bmp file that shows this ...
Sinusoidal data:
Tiles in Redis:
Questions:
Notes on Redis GEO:
Tasks:
desert?
flag to tiledesert?
flagOr, another approach:
Contributing factors:
Ignore the following types of deserts:
Will support:
The JVM is decidedly not known for its abilities in the rapid manipulation and analysis of image data. Perhaps a Golang, gRPC-based solution could be integrated into Hexagram30's suite ... and image service, maybe backed by memory-mapped image files (with more and larger images not being stored in memory, we'd be able to support a finer-grained player experience of the world ...).
Steps:
Note: this ticket is being superseded by hexagram30/raster#15 ...
Check out the following:
If you take a look at hxgm30.map.tests.system.tile
, you'll see what I mean. Creating a tile from band info requires not only the bands info (pixel-bands
in the tests) but also a complex set of options. Each tests calculates most of these options based upon:
current-row
)row-item-index
)There are several issues with these:
Note that the initial intent for the existing API was simply as an ingest tool: parsing and correlating file data to be saved in a backend data store. However, now that the need has arisen to use this API more interactively or for scripting the generation of map features, it has become evident that the API in its current form is too limiting and difficult to use.
Dev tasks:
bands->tile
function(s), or create new ones with different semantics for a better developer experience (if refactoring, we'll need to make lots of updates to the system tests)Currently, we can tell a player that in a given 25 square kilometers of world space there is a river; by looking at surrounding pixels, we should be able to say if there are other rivers/tributaries that join it/split from it "near by"; but there's currently no way of telling a player that:
"To the North, the river is upstream, and to the West, the river is downstream; that there is a tributary to the East, coming from the hills, and that a gorge to the south causes the river to split into two (the second downstream branch being to the south)."
This feature should support the following usage(s):
lein describe x y
lein observe x y
OBSERVE
command include surrounding pixels?This would be useful for the map service:
Change BMP processing to this:
Then we'd also get TIFF support for free:
org.apache.commons.imaging.formats.tiff
Could be interesting.
Tasks:
prairie?
flag to tileprairie?
flagWith the creation of the raster service (see hexagram30/raster#4, etc.), the map service will be divesting of many of its current responsibilities. Lots of questions will arise as part of this, such as:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.