#code-talk

2 messages ยท Page 23 of 1

pure sierra
#

i then pass that on to your tiler.exe derp for leaflet layers

subtle gust
#

How did you guys come to the x = 5644 size of the world? The equation for this is (3 / 2 + 4) * hex_width, right? For 1024 this then results jn 5632 px

wide gazelle
#

I love how code is so common now it gets passed casually around threads ..

subtle gust
#

For a person that has basically grown up next to computers that is kinda a funny comment.

pure sierra
#

@subtle gustits the pixel size of my world map after my tiler spits it out. so i guess if theres something wrong with my tiler calcs it might come out wrong

#

i took my spacing from @safe mist

#

so it seems shard2 is still staying ๐Ÿ˜ฟ

#

they should have made the map wider not longer so both shards could fit

pure sierra
#

yeah i think you might be right @subtle gust maybe @safe mist made a mistake

subtle gust
#

Well that mistake has been there for some time ๐Ÿ˜›

pure sierra
#

$gridInterval = ['x'=>770, 'y'=> 444];

subtle gust
#

I had to implement a hard fix for it.

pure sierra
#

to calc x interval it would be total ((width of hexagon - side length) /2) +side length

#

((1024 - 512)/2)+512

#

=768

#

not 770

#

this is what im calling x interval

#

the distance at which a new column starts

subtle gust
#

One nice property of regular hexagons is that their side lengths are always halve of the width.

long raft
#

if samas made a mistake then i made it too

#

and so did kastow. because all of our maps are interchangeable

pure sierra
#

no, samas did his differently

#

i copied his method of column spacing/interval

long raft
#

oh ive been using samas's map and it lines up correctly with the roads i drew previously like last year

subtle gust
subtle gust
#

I think in the end agreeing on the variables is more important than having them perfect ๐Ÿ˜›

pure sierra
#

i just copy pasted his value of 770 without calcing it myself

#

but looks like it should be 768

subtle gust
#

I never knew they existed before I calculated them.

pure sierra
#

before via kastow it was expressed as a formula rather than fixed number

#

and calced from a center of 0,0

#

i switch to top left with this update

lunar cobalt
pure sierra
#

no i didnt at all

long raft
subtle gust
long raft
#

i think it is responsible for the borders not being perfectly placed

#

but i used the same coordinates, 1024x888 and i didnt copy anyone else

subtle gust
#

But yea, I am already happy I understand the problem. You guys can agree on what it should be, then I will just follow suit.

long raft
#

did we just round the wrong way?

pure sierra
#

thats what im thinking

long raft
#

shouldnt have rounded them at all maybe...

pure sierra
#

a decimal point both sides will give you 2

long raft
#

2 * 6 = 12

subtle gust
#

In my code I no longer round before I need to submit the pixel values ๐Ÿ˜›

long raft
#

god i should just write a c# stitcher for this

#

doing this in bash was a mistake

pure sierra
#

in my code there are not decimals

subtle gust
pure sierra
#

im in python and php and js wardenlol

long raft
#

what id like is a control file that says which image goes to which coordinate

#

i suppose hard coded python is ok

pure sierra
#

mind you there is also a decimal on the y spacing too

subtle gust
#

In the end making sure the map is defined by $worldSize = ['x'=>5644, 'y'=>6216]; should solve most problems.

pure sierra
#

so y could be off too

subtle gust
#

just on top of eachother

pure sierra
#

but you still need to calc the offset between one and the next

safe mist
pure sierra
#

sure center column is just stacked but each next to that is offset

#

by apothem

#

but i just copy @safe mist again and put in 444

subtle gust
#

yes simple enough

#

I think the error was only in the x direction

#

but it might be wise to leave the error in for now

#

until we have a code / algorithm that we can all agree on.

safe mist
#

Where correct spacing ? xD

subtle gust
safe mist
subtle gust
#

@safe mist

#

With spacing the defined origin is also important

safe mist
#

5632 x 6216

subtle gust
#

That would be the correct map I think, but it will make all the things we drew on top of it off ๐Ÿ˜›

safe mist
#

Where are diffence xD

subtle gust
#

In those variables I do not really get what the outputImageSize is?

safe mist
#

Foxholestats work 5644, me 5633 ๐Ÿ˜ฎ

pure sierra
#

that is just my own thing for generating a scaled down map for my home page

subtle gust
#

5633! an odd number! the pain....

#

well at least you have a nice pixel in the middle of your map ๐Ÿ˜„

safe mist
#

more 1 pixel xD

subtle gust
#

ow noes it is not even in the middle ๐Ÿ˜›

safe mist
#

5632 is ok

subtle gust
#

But yea, the roads for logiwaze are currently drawn on the 5644 map

#

they can be rescaled I heard

safe mist
#

Why 468 and not 470?

long raft
#

rescaling them not very hard

subtle gust
safe mist
subtle gust
safe mist
#

old value is 770

long raft
#

i would like to see if it makes things fit in the borders better

subtle gust
safe mist
#

I found that with 770 it was good, but with 768 I do not see a difference xD

subtle gust
safe mist
#

All image is 1024x888px

pure sierra
#

so there not perfect hexagon ?

#

so 444 is correct for these

#

dev man bad

subtle gust
#

I think the equation of what you guys are using is y = w - w / 4 = 768 for w = 1024

safe mist
#

444 x ??? px

pure sierra
#

for half the height

#

technically if 1024 width the apothem should be 443.xxxx

subtle gust
subtle gust
#

Again... might be better to agree on wrong metrics instead of fixing all of them ๐Ÿ˜›

#

I am also fine with doing the perfect calculations

pure sierra
#

so is the width wrong or height @zealous sonnet

subtle gust
#

The hex heights are drawn exact onto the image

#

I would say the widths are wrong

pure sierra
subtle gust
#

maybe I am jumping the gun... but it seems the corners are cut from the hexes ๐Ÿ˜›

pure sierra
#

yes i agree

subtle gust
#

on the sides

zealous sonnet
#

hmm let me see...

pure sierra
#

its not important phil, we just mucking around

#

it would seem you cropped the sides to not have to deal with decimal pixels and have the image width be the hex width

subtle gust
#

well I assume the game is also using pixels to show the map. so in the end they will need to use some displacement for each hex

zealous sonnet
#

in terms of world units:
Width 218,399.999994
Height 188,999.999991
the picture hayden posted looks close enough ratio wise

subtle gust
#

how much pixels a world unit on the ingame map?

zealous sonnet
#

depends on resolution and zoom level

pure sierra
#

i cant even put that number into my real calc

#

i have to use pc

lunar cobalt
#

The cutoff is the same for U45 map images

#

Looking through Wiki history, it's been the same since .26

subtle gust
subtle gust
long raft
#

first to ... be concerned about it julianlol

#

i suppose i was always bothered with the placement of the borders tho

subtle gust
pure sierra
#

can we morph this into a collie bias conspiracy theory ?

long raft
#

i couldnt pinpoint why those were off on the outsides

subtle gust
lunar cobalt
pure sierra
#

thats right, if they cropped the height, than if origin top left the wardens get more space

long raft
#

theyve been giving those 2 pixels per region to colonials the whole time, thats the tech bonus

pure sierra
subtle gust
#

giving them to the collies would only make them drive longer every time ๐Ÿ˜‰

long raft
#

but their roads are faster

pure sierra
#

that would be a cool metric derp you could calc

#

warden road length vs collie

long raft
#

i cant be accurate without height maps

#

but in general my spot tests have been colonial roads are way shorter

subtle gust
#

omg.... heightmaps....

long raft
#

matt already said no to height maps

pure sierra
#

so its confirmed ? wardenlol

long raft
#

i mean he said its not his thing to do

#

but thats just as good as saying no

#

this is foxhole, hayden. nothing is ever confirmed. but we've been living it for 3 years, so practically speaking.

#

i think the height maps are stored on the server, personally

#

maybe somebody could monitor their game traffic and find them ... some haxor

pure sierra
#

we have seen them before have we ?

long raft
#

we have seen deadlands, via matt

subtle gust
#

but we leave the metrics as they are?

long raft
pure sierra
#

ill be going to 768

lunar cobalt
pure sierra
#

but im not in a rush to regenerate

subtle gust
#

How did you even make that?

lunar cobalt
#

Matt gave that one

#

said he wouldn't give others

pure sierra
#

we just need to keep asking

subtle gust
#

ow w8, thats a heightmap?

lunar cobalt
#

Ya

long raft
#

well we are asking the wrong person

#

need to ask mark

lunar cobalt
#

this is it after hitting it in Illustrator a bit

#

Lighter = higher

long raft
#

ive been asking for height maps for years lol

subtle gust
#

I wonder... if the code is already there...

long raft
#

i give up

pure sierra
#

i dream of topographical maps

lunar cobalt
#

heeeeey phil

long raft
#

me too. and accurate road distance. and accurate artillery calculators

lunar cobalt
long raft
#

"make a github issue"

pure sierra
#

tm

lunar cobalt
#

"closed with no comment"

long raft
#

what if we protested by shutting our sites down julianlol

#

do you know how many ... people would ask the devs whats happened to foxholestats?

#

it would be a deluge

lunar cobalt
#

Do you know how many people already ask in #technical-chat whenever Foxholestats does something odd?

long raft
#

if sigilhq went down you could count all the sigil people complaining too

pure sierra
#

im thinking there will be quite some players for this new update

#

im sad they still need/want shard 2

lunar cobalt
#

the frontline isn't wider

pure sierra
#

they should have made it wider rather than longer

lunar cobalt
#

mhm hmm

pure sierra
#

big missed opportunity there

#

i would have thought the biggest objective of making them map bigger would be to not need 2 shards

long raft
#

they want longer wars, not bigger wars evidently

olive parrot
#

I opened a few pull requests on foxehole-hq.com, but dunno if the maintainers even play anymore either.

long raft
#

The sigil version

#

To my knowledge it is, but I'm not in sigil, and the stats page works

olive parrot
#

Yeah, looks like it's updated for new hexes, icons etc.

pure sierra
#

currently live

#

one of my favs

lunar cobalt
#

an update just pushed, doesn't have any map changes I can see

pure sierra
#

orly

subtle gust
pure sierra
#

seems like they taking regions offline

#

my stats all died

lunar cobalt
#

about half the map is offline

lunar cobalt
#

@pure sierra FYI you're getting a ton of garbage data right now, not sure if that matters for your collecting at all

pure sierra
#

nah

lunar cobalt
#

Cool and good

pure sierra
#

i discard resistance data now

lunar cobalt
#

Someone just asked why deadlands was outputting 30k deaths an hour

pure sierra
#

fod tech support for fhs

lunar cobalt
#

are the colors new?

pure sierra
#

yes

cerulean urchin
#

A topographical map with contour lines would be sick. I'd print Heartlands or another logi hub and hang it above my desk lol

tawdry thunder
lunar cobalt
#

That's the only Heightmap Matt gave us

tawdry thunder
#

oh

#

nvm then I thought u got this yourself

#

why would Matt tease us like this

#

wait no nvm

subtle gust
#

#matt-teasing-heightmap

barren quarry
#

haaaaydeeeen

mossy pelican
#

ah yes. the war started in the 70s

deft quartz
#

ah yes. having issues logging in to foxhole

long raft
#

you guys have a nameless relic base too?

#

i hear its "Reaching River" of which there is already a location, hmm

#

api out of date?

#

or just a derp problem?

#

or maybe it's 2 locations with the same name

#

oh i think i was downloading them from the devbranch oof

#

nvm doesnt fix it.

pure sierra
#

@barren quarrywars getting longer

pure sierra
#

ive never seen this, even the lobby home region has a queue

languid harness
#

:ohno:

mossy pelican
#

i've seen it happen before but the queue wasn't as long

coral sundial
#

code friends I need some math help

#

how do I arrange an array of numbers, with a position of x,y in a perfect square

#

with a single for loop

#
for i in range(len(robot_list)):
    robot_list[i] = Robot()
    x = 2*i + 1
    y = 1*i
    robot_list[i].set_pose(x,y)
flint basin
#

How about 2 nested loops?

#

One for the row and one for the coloumn

coral sundial
#

I thought there was a way to do it without nested loops

#
for i in range(len(robot_list)):
    robot_list[i] = Robot()

for i in range(len(robot_list)):
    for j in range(len(robot_list)):
        robot_list[i].set_pose([i,j])```
#

this doesnt work

#

all the j coords are 99

lavish crystal
#

๐Ÿค” So wait, from the array of 100 robots, you want the coords to be [0, 0] to [9, 9] ?

barren quarry
coral sundial
#

arrange the robots in a square

#

where all the dots are coords

#

I mean, I could do every 10th x, go one down in y

barren quarry
# coral sundial
import math

list = 100
for i in range(list):
    x = math.floor(i % math.sqrt(list)) + 1
    y = math.floor(i / math.sqrt(list)) + 1
    print(x, y)```
#

boom

coral sundial
#

berry nice

#

I figured I could use the formula for a square

x-100 = y
lavish crystal
#
list = []
robot_amount = 100

for i in range(robot_amount):
  list[i] = Robot()
  list[i].set_pose(robot_amount % sqrt(robot_amount), robot_amount // sqrt(robot_amount))
coral sundial
#

but your way is very complex

lavish crystal
#

๐Ÿ˜Ž Let's make it more complex

#

Oh shit I didn't read, I did exactly the same thing as the js guy

#

xD

coral sundial
#

nice

#

definetly not gonna plagiarize this

long raft
#

yay modulo operator to the rescue here

#

or pointer arithmetic

tribal niche
#

calculate sqrt(robot_amount) before the for loop

#

or I won't approve your code review

earnest glade
#

Lol, is this channel leetcode practice now?

pure sierra
mossy pelican
pure sierra
#

<@&448665379196108815> Reeeeeee

lunar cobalt
#

reeeee

kind glacier
#

Damn, now I want this shirt

languid harness
#

Critical syntax error

flint basin
#

Awesome ngl

cursive flame
neat fossil
#

I decided that I'm going to try to make a logi 'gps' app. I'll probably fail horribly.

#

Step 1: catalog every single road and intersection...

#

Step 2: Measure the length of every single road....

#

What am I doing with my life

barren quarry
#

You can help the creator update the road map

#

@long raft <== creator

neat fossil
#

Oh, that's neat

pure sierra
#

my apache volume is getting too damn high

spare pumice
#

which is what GPS is.

mossy pelican
#

i don't think there is a way to do that with the api

#

maybe you could somehow read the player's minimap and compare it to the map image to find where the player is but why

spare pumice
#

Have fun with that ;p

mossy pelican
#

yea

slender dragon
#

Is there a way to query the state of the tech tree via API?

barren quarry
long raft
#

i suppose weather is opsec too?

languid harness
#

We live in a society

slender dragon
# barren quarry no, because it is opsec

Right, as a public API, that makes sense. Dumb question, but would the devs think of the situation differently if you had to OAuth an account to hit the endpoint (and are thus presumably tied to one faction or another)? And if so, any interest in the lift around making a private API so that more of that info can be exposed and programmed? Totally get it if that is of no interest to anyone else or simply way too low priority to make sense for the devs. Just want a simple bot that pings our regiment update channel with the state of our faction's tech tree so that we can stop screenshotting it from the Engineering Center.

young pilot
#

Took some time but I'm finally getting around to implementing shards, here is my code if anyone wants to see how its implemented:

const shards = [
    { name:'live-1', url:'https://war-service-live.foxholeservices.com/api'},
    { name:'live-2', url:'https://war-service-live-2.foxholeservices.com/api'},
    //{ name:'dev', url:'https://war-service-dev.foxholeservices.com/api'}
];

module.exports.updateWarData = function () {
    // Create data folder if it does not exist
    if(!fs.existsSync('data')) fs.mkdirSync('data');
    // Loop through shards
    shards.forEach(shard => {
        // Create folders for each shard
        if(!fs.existsSync(`data/${shard.name}`)) fs.mkdirSync(`data/${shard.name}`);
        
        // Query active regions
        queryRegions(shard).then(regions => {
            // Save regions to file
            fs.writeFileSync(`data/${shard.name}/regions.json`, JSON.stringify(regions, null, 1));

            // Query war state
            queryWarState(shard).then(data => {
                fs.writeFileSync(`data/${shard.name}/war.json`, JSON.stringify(data, null, 1));
            }).catch(error => {
                console.error(error);
            });

            // Query dynamic regions
            Promise.all(regions.map(region => queryRegionDynamic(shard, region))).then(data => {
                // Save dynamic regions to file
                fs.writeFileSync(`data/${shard.name}/dynamic.json`, JSON.stringify(data, null, 1));
            }).catch(error => {
                console.error(error);
            });

            // Query static regions
            Promise.all(regions.map(region => queryRegionStatic(shard, region))).then(data => {
                // Save static regions to file
                fs.writeFileSync(`data/${shard.name}/static.json`, JSON.stringify(data, null, 1));
            }).catch(error => {
                console.error(error);
            });
        }).catch(error => {
            console.error(error);
        });
    }); 
}
coral sundial
#

What is this languange

barren quarry
#

It's called javascript

coral sundial
#

This unholy scripture that looks like python but has the ; of c

#

Oh

hexed raft
mossy pelican
#

optional? heresy

ancient egret
#

Mixed SemiColons and No Semicolons

#

I try not to but it happens to me every time

barren quarry
#

Just use eslint and make it put semicolons for you lmao

languid harness
#

and we all know, python is a bitch and just uses tabs to indicate a cycle

mossy pelican
#

as a c/c++ enthusiast i can't do anything more than laugh in tears

pure sierra
#

code goes brrr

coral sundial
#

I love python

pure sierra
#

me too, it was a bit weird to begin with but its very usefull

coral sundial
#

I am create snake in phyton and I will call it phiton (no not the dutch word for python, but the rollercoaster in the efteling)

pure sierra
#

and widely adopted

long raft
#

python uses tabs?

#

was just digging into yaml, come to find out it specifically excludes using tabs in it's white spacing

#

evidently tabs are handled differently all over the place

mossy pelican
#

tabs?
u mean
this?

#

or what am i missing

long raft
#

\t as opposed to a bunch of spaces

mossy pelican
#

yea cant do tab on discord

#

it selects the message box instead

long raft
#
  you can do it with code blocks
mossy pelican
#

thats still 2 spaces on my end

long raft
#

well i typed a tab

pure sierra
#

you can use tabs or 4 space

#

i prefer tabs

long raft
#

cause tabs are not like a ... replacement for 4 spaces

pure sierra
#

but you cant mix them

long raft
#

tabs are much more complicated and interact with tab stops

mossy pelican
#

im glad c++ doesnt care about that

long raft
#

but i know a lot of python people use yaml, and its interesting to me yaml bans them

languid harness
jagged talon
full fog
#

Hey I'm a data science student and I was wondering if/how I could access data on all 83 wars.

#

maybe I'm missing something but the API is only for the current war

pure sierra
#

correct

full fog
#

I'd like to see if I can make a model to predict who will win

pure sierra
#

there's not enough data types available,

#

have you looked at the limited amount of data in the api ?

full fog
#

it would still be interesting to try, I'm pretty sure the number of casualties is correlated to winner but thats just a hunch

pure sierra
#

i have some data from all wars, but the game has changed lots

full fog
#

yeah but I can't do much with the API since it doesn't have enough historical data

long raft
#

kastow's got the data

#

its complicated to unroll tho

#

hes got a compressed format

pure sierra
#

@full fog i can provide it too you but you are better off focusing on your real life than foxhole data , just let me warn you that first wardenlol HBjoy

full fog
languid harness
#

Strange sense of fun ๐Ÿ˜‰

proven quail
#

... -. .... .-.

#

Code chat...

#

Morse code...

hexed raft
# full fog it would still be interesting to try, I'm pretty sure the number of casualties i...

You could make an argument that logistics infrastructure is the determining factor here, not casualties per side.

Are there more casualties on one side due to a lack of supplies/tech?
Were there instances where one side had a higher amount of casualties but still won that war due to consistent resupply of their war fronts?
There are also scenarios where one side would have had even more casualties in a prolonged fight for a hex/city/base but lacked shirts/supplies and it fell more quickly than if it had the logistics to support it.

Overall, an interesting data set to look at and think about though, I feel.

full fog
inland panther
#

first time player. colonials or wardens?

long raft
#

warden

#

if you have to ask why, then youre a natural warden

languid harness
#

Lmao

old ibex
bronze rain
#

Warden for hard mode, colonial for easy mode.

old ibex
bronze rain
old ibex
#

Agree with ISG, arty and MPT and LTD (altough I do like some of the warden alternatives a lot), disagree on bane a bit and on argenti a lot. THe roads no idea, never drove there

bronze rain
#

The collies have a highway protected by a wall

#

The reason I would say wardens are on hard mode is simply the usability of many of the weapons and vehicles

#

Sure we have things like the fiddler, but thatโ€™s an outlier.

#

Many of our vehicles are costly and slow, making them less user friendly.

old ibex
#

I agree on a lot of vehicles, but foxhole balance as a whole is a zigzag and everyone knows it

#

"Nerf SVH!" devs: ok (nerfs SVH and buffs MPT) "Nerf MPT!" devs: ok {rinse repeat}

#

but it does keep our winrates close to 50:50

#

Which I would like if it was natural, but the artificial 50:50 is feeling weird

#

I dont know who would be winning with exactly the same tech tree, would be a fun experiment

#

April fools update: merged collie and warden tech trees to make for a more fair game

old ibex
#

You are saying that the base skill required to correctly make use of a lot of weapons is quite high and makes an warden noob worth less than a collie noob if i got you right?

bronze rain
#

Yeah pretty much

#

Kind of

old ibex
#

oh also very off-topic

#

the whole conversation

bronze rain
#

Yeah

frozen oriole
long raft
#

so it anyone else having problems with the labels in the API - seems like the most obvious one i see is reaching river. i dont have a label on the relic base, but instead reaching river is a minor location name in another region

#

i sure suspect the API is out of date but i don't want to make an issue about it without confirmation

timber onyx
#

i fucking hate everything that has ever existed

pure sierra
#

@timber onyx

timber onyx
#

are you making a guitar pedal

long raft
#

are those mini dvds from like 2005?

lunar cobalt
#

and why isn't the wire going to D23 on the outside????

timber onyx
#

@lunar cobalt sometimes life is just completely unfair

lunar cobalt
#

....

#

that's pure pain

timber onyx
#

at least i got this cool effect going on, looks like it's in 3D!

pure sierra
long raft
#

Oh I have one of those cameras

exotic steppe
#

I think i've seen this in here once or twice but can't find it, it was an archive of all the current map files already chopped into hex format ?

#

if anyone has it or link it would be greatly appreciated

mossy pelican
exotic steppe
#

thats got all the imgs chopped into squares at 6 diff zoom levels

mossy pelican
exotic steppe
#

I mean like this:

exotic steppe
#

cept the white is transparent

long raft
#

the warapi images have transparency, although its broke AF

#

you need a good tga editor to open them

#

or ya know just convert them, ffmpeg -i "input.TGA" "output.png"

lunar cobalt
#

If you have Adobe Media Encoder it will do PNG to TGA correctly, it's a bit finnicky though

long raft
#

it is a curious format. i wonder if theyre using it for the map in game

lunar cobalt
#

all the images in-game are .tga

#

probably because tga handles alpha better than png

long raft
#

does it?

lunar cobalt
#

lemme specify, for a while PS didn't like saving alpha on PNGs

#

It was fine for TGAs though

#

It's been a while since I last saved an Alpha'd png in PS so I dunno

long raft
#

why is everything dominated by photoshop

#

like wtf

lunar cobalt
#

because Adobe killed all the competitors?

long raft
#

nah even png sucks these days with high range colors

lunar cobalt
#

what, gonna be using AVIF

long raft
#

avif huh?

#

does it alpha?

#

what i want is like ... 128 bit floating point image with lossless options

#

with wide support. also i want a pony

lunar cobalt
#

It has really good HDR support

long raft
#

its gonna be like 12 bit color tho huh

lunar cobalt
#

I think that's what it is

long raft
#

hmm its av1 must be killer compression

#

yea 12 bit color is hot, and i appreciate the human eye can only see so much variation

#

i just wish i had an awesome image format i could use for intermediate work, so keeping a much higher level of precision

#

im sure that would compress well.

lunar cobalt
#

if it's not designed for final I don't really care how big it is

#

That's why i work with RAW files whenever possible for photos

long raft
#

yea i guess i just want raw lol

#

with some definition that has alpha

sonic mulch
#

........

summer bobcat
#

yes

sonic mulch
#

code-talk

coral sundial
#

whats wrong?

#

do you want some OOP snake game code?

#

I got it

earnest glade
coral sundial
#

well yes but no

unreal cloak
#

Wow thatโ€™s super cool, the tiler and WarApi

#

There is a database that automatically slices and serves tiles, but they have to be TIFF with location data

#

Does anyone on here work as a game dev?

lucid ridge
#

define work

pure sierra
#

for foxhole or otherwise ?@unreal cloak

unreal cloak
#

both, either

unreal cloak
kind glacier
#

Don't suppose anyone has a picture of Kastow's tiled maps put together?

kind glacier
#

lmao Origin has the region id 42

#

well played

#

So does the world extent work?

worldly locust
#

Does anyone have information on current projects for Foxhole disc bots? Either in progress or plans?

long raft
#

the satellite map, timber?

worldly locust
#

Is that the map that shows current structures n stuff? Iโ€™m interested in helping with development related to bots or sites n things that help out foxhole players

kind glacier
pure sierra
#

@worldly locust maybe try a search of this channel

#

@Seabass#0062 I'm not sure there are many/ any game developers here other than the official ones. Mostly we are developing outside

worldly locust
#

gotcha. thanks!

kind glacier
pure sierra
#

You mean locations corrected?

kind glacier
#

yes

pure sierra
#

I don't think any one bothers

kind glacier
#

So none of the labels are in the right place?

#

curious

kind glacier
#

@pure sierra How'd you get the town names for the new tiles to show up in their proper places?

mossy pelican
kind glacier
mossy pelican
#

oh you mean the labels position

kind glacier
#

yes

#

since the x and y in the API are relative to the tile center rather than the map center

mossy pelican
#

you need this i think

The minimum and maximum in-game world units. Used for mapping normalized coordinates to in-game coordinates.

WorldExtent.Minimum = (-109199.999997, -94499.99999580906968410989)
WorldExtent.Maximum = (109199.999997, 94499.99999580906968410989)

#

to convert the coordinates

kind glacier
#

Yeah, but how does that work

barren quarry
#

two years ago i wrote a method that converts region coordinates to world coordinates

#

actually world extent is not used in the calculations

#

because object coordinates are floats ranging from 0 to 1

#

you need to first find out where the region center is

#

and then offset the coordinates in the needed direction

#

but since it doesnt look like you're using leaflet, its useless to you

#

leaflet has this autistic coordinate system

kind glacier
#

Tried using leaflet once, it didn't go well

barren quarry
#

looks nice

long raft
#

i keep a towns.json file if you want to harvest it

#

but im angry because some region names appear incorrect

#

i dont ... think the API is up to date

#

the major locations appear right (although some missing) but the minor locations I suspect are incorrect, still looking for confirmation on this

#

see no relic base label in cal's pass for this:

#

but the minor location name (the same name reaching river) appears in the wrong map:

#

i assumed maybe its a duplicate name and the minor comes last so overwrites it, but thats not it either

#

i think the api is broke but making an issue on github seems ... fruitless

#

also i dont want to complain about it if its a derp problem

mossy pelican
#

it is a duplicate name apparently

#

@long raft this is straight out of foxholestats. may wanna check if its overwriting

long raft
#

its the first thing i checked. hmm

#

i will check again

#

thanks for checking though

long raft
#

oof it was the thing i specifically checked. that fixed it. glad i didnt make an issue

mossy pelican
#

lol nice

timber onyx
fossil phoenix
# timber onyx

Oof I play around with JavaScript from time to time... comments are necessary for a project to not get scrapped. ๐Ÿคฃ

long raft
#

writing comments is admitting your code is bad.

#

#idontmakemistakes

long raft
#

do any of you have a project that youd share at a job interview as proof of your work? say you were applying for a job using a language you dont know, but you want to demonstrate your ability

#

cause stuff you do for an employer is usually awful

#

like embarassing

olive hamlet
#

Depends on the job

#

Last job I applied for I wrote a quick python program that took a list of URLs, and dumped their status code back out again

#

Really simple 15 minute application but gave them a taster of my style and abilities, in an area similar to what they were working on (SRE)

long raft
#

i hear almost nobody has like functional projects they can easily demonstrate

timber onyx
#

i think it's even harder when you're writing code for hardware

lunar cobalt
#

or proprietary code for proprietary hardware

timber onyx
#

how do you demonstrate you can make something that works well with a specific component if you dont have it on hand, or even worse, if it's made by the company you made the code for

kind glacier
#

Don't really think anyone would care, but after rewatching the beginner's guide for the nth time, I couldn't help but try and experiment myself.

mossy pelican
#

is this a non-euclidean experiment?

kind glacier
mossy pelican
#

Height maps you say

#

Do those extend outside the borders? Im assuming thats why they are pixelated and with deformed shapes

#

@long raft were you the one that wanted height maps?

long raft
#

Yes!

#

How??

glad whale
#

Extracted "raw" tiles with vector info from game's files using UEViewer and then wrote a lil python script to "stitch" them together and convert to Height and Normal maps

#

the island maps are not included tho because theres a certain bug with UEViewer

barren quarry
#

impressive

#

@glad whale is this what you used?

#

or are there some other files

glad whale
#

nah

#

i used these

#

violet - greenish ones

long raft
#

I've seen those, no idea how they could be stitched tho

#

Well this will be fun calculating new road distances with accuracy

pure sierra
#

@glad whale nice one, topo map here we come

kind glacier
#

(reposted message cuz I remembered FOD has a higher upload limit)
Decided I needed to rethink my approach though you can see it's still finicky and figured I'd skip blockout entirely and go with some free unity assets to save myself the trouble of replacing it all later.

#

Dunno if I'll keep this going to the point of an actual game. So far I'm having fun doing it and that's what keeps the ball rolling.

mossy pelican
#

๐Ÿ‘

#

very nice

lunar cobalt
languid harness
#

nice work @kind glacier !

#

See you are making a lot of progress

#

๐Ÿ‘Œ

kind glacier
# languid harness See you are making a lot of progress

I'm treading both old and new ground. Had a blockout of several rooms when I decided I couldn't just rely on a fixed raycast. That meant you'd had to actively look at something to trigger the change. Now I check whether or not I'm looking at the thing that changes.

#

But now I'm back to just a room and corridor

#

though the door asset came with an animation, so that took a bit to figure out

#

the check is finicky in that while the object might not be on screen, it's close enough to the edge be considered visible anyway. Hence the double take at the door.

languid harness
#

ah

pure sierra
#

@glad whale what is difference between your 'normal' and 'height' maps

#

some things line/match up, others may not

#

generated from Deadlands_HeightMap.png

lunar cobalt
#

They look the same visually though

pure sierra
#

his is much lower rez, but ill run it

#

(finer line looks much better)

#

just for reference

lunar cobalt
#

hmmm that works pretty well

pure sierra
#

im running it on the full rez again with finer lines

lunar cobalt
#

how long is it taking for each one?

pure sierra
#

it seems to take like 5 mins on the outside edge, not sure why but it gets thhere eventually

lunar cobalt
#

huh, weird

pure sierra
#

once the edge is done about 30 sec for the main content

lunar cobalt
pure sierra
#

i suspect something to do with black outside, and it draws a line for each step up from black to the first color of edge

#

i tried deleting to transparent but no effect

#

maybe if i fill with a color closer to the map base elevation

#

same problem (i filled black with water color), spends like 1000 iteration on the canvas edge now, there would be a reason but cant work it out right now, will just let it finish. if you need to stop it (the cancel buttons dont work) you just delet the active layer it adds while its building it up and that kills it

lunar cobalt
#

looks good

pure sierra
#

i know doesnt it

lunar cobalt
#

oohhhh, I just realized something

#

those squares that this got made from are what generate the map in-engine, that's why we could never find full map files in the engine or find their streaming data

#

so the client does the rendering calculations for terrain color / texture and stuff

pure sierra
#

for the in game map screen ?

lunar cobalt
#

no, for what you walk around in

#

the in-game map screen is made up of processed hexmaps

#

like these, stitched together

#

but the square master maps are what the engine uses to generate the terrain you're walking in

pure sierra
#

im thinking the map you show above is wrong then

lunar cobalt
#

?

pure sierra
#

lines up better, but the dark brawn patches dont seem to make sense

lunar cobalt
#

the one I posted is from Matt, and he posted it multiple updates ago

#

wouldn't surprise me if something has changed

pure sierra
#

no i mean the hex warapi one just above

lunar cobalt
#

mountains aren't terrain so they won't show up on the topo map

#

they're just big rock objects

#

they don't change the height of the terrain under them

pure sierra
#

so rocks are not in the height map ??

lunar cobalt
#

nope, because they don't alter the ground terrain

pure sierra
#

ok

mossy pelican
#

@pure sierra what script did you use to do those outlines?

#

the contour map thing

pure sierra
#

@mossy pelican it's linked above

mossy pelican
#

my computer thinks the scripts are starcraft scenarios lol ๐Ÿ˜›

kind glacier
lunar cobalt
#

nice! looks cool

stone void
#

Yeah, how long did it take?

long raft
#

that topography map looks cool

cerulean urchin
long raft
#

yea really we have wanted these for years

mossy pelican
# pure sierra mats,

does anyone know how the contour algorithm works? i would like to implement it in c++ for my personal use but i have no idea how it works

lunar cobalt
#

it draws a vector line along a color border

#

So first it differentiates the colors into layers, and then draws lines around their edges

pure sierra
#

in my quick research i also found this page

barren quarry
#

enough is enough

pure sierra
#

@zealous sonnet

lapis prism
#

Trying to extract the map files for the game to use in an animation but im having trouble finding what they are in the first place

flint basin
pure sierra
#

these settings are much faster, to get going, would just need to check all tiles to see that there is no grey scale value outside range 120-150

#

only takes about 10 sec to make

languid harness
#

๐Ÿ˜ฎ

cerulean urchin
#

That's an amazing contour map! Later today I wanna take a closer look at that plugin to see if I can add color for various heights.

Blue for water, green for valleys, gray/white for mountain peaks would be sick to overlay with city names / roads

mental granite
#

I'm excited to see Caoiva rendered as a giant tabletop 3D surface

lunar cobalt
#

The thing that annoys me about that plug-in is they arenโ€™t vector lines

#

If it was for inkscape itโ€™d be so amazing

#

Because then I could pretty easily laser cut a foxhole map

cerulean urchin
#

Yeah vector would have been a lot better tbh

lunar cobalt
#

Whoa

lunar cobalt
#

Does that program output vectors by chance

glad whale
#

dunno its just blender

lunar cobalt
#

So no

#

Damn, means I have to make it manually

#

That looks amazing though

cerulean urchin
summer bobcat
mental granite
#

You might have to adjust some of that scaling

#

it's been a while since I was at the Pits but I don't remember them being that trypophobia inducing

lunar cobalt
#

yeah each layer is a bit too high I think

#

but it's pretty damn close

celest cobalt
#

in python.
variable =
""""""

what does this mean and why is the backslash there<

pure sierra
#

@glad whalevery cool, how did you get the rock data too ?

mossy pelican
pure sierra
#

i know in bash it is, not sure about python

#

prob is too

mossy pelican
#

x =
1
print(x)

#

tested there

pure sierra
#

cool

#

i learnt something

mossy pelican
#

have a beer to celebrate

pure sierra
#

@glad whale islands please HBjoy wardenlol

languid harness
#

Oh, never knew

#

I always threw a

X = """
Text
"""

pure sierra
bronze rain
#

man, thats cool

lunar cobalt
#

I just wish it was vector

pure sierra
#

meh

lunar cobalt
#

If it's not vector I can't laser engrave it which is why I'm annoyed, because I don't want to do it by hand

long raft
#

you could trim the hexes

#

looks awesome tho

barren quarry
long raft
#

the borders are funky huh

pure sierra
#

i did height tile prep in gimp bimp (batch)

long raft
#

theyre all normalized differently arent they

#

i think thats what matt implied about the elevation data

pure sierra
#

orly

lunar cobalt
#

yeah I'd suspect so

#

So the "low" point in terrain in one area might be the high point in the next map

long raft
#

low terrain seems to all be grouped into the same strata

#

seems like it needs to be scaled exponentially first

honest trail
#

Forgot this place existed

lunar cobalt
#

hi

#

Like how the north side of deadlands is higher than the south, the south side of CP is based off that

barren quarry
#

@pure sierra you have offset issues

pure sierra
long raft
#

what does it look like in grayscale (combined)?

pure sierra
#

yeah could spend more time on alignment but i got it close enough for now

long raft
#

maybe itll look better after masking the hexes

#

they wont have overlap issues then

pure sierra
#

yeah, i tried to do that, but couldnt work out how to do it with my batch processor

#

could do them individually, but meh

lunar cobalt
#

Howl County is way out of alignment

long raft
#

yea thats what i do, individually, then combine

#

and the low elevation should be boosted ...

lunar cobalt
#

All of the northeastern maps are vertically misaligned by a lot

long raft
#

but seeing topographical map totally changes my understanding of the map

lunar cobalt
#

northwestern too

pure sierra
#

the height maps from @glad whale are not evenly offset from warapi maps

long raft
#

oh

pure sierra
#

yeah, as if they would just line up

long raft
#

lol

pure sierra
#

i fill black edge with tranparent, autocrop, resize, crop with top left as origin to recenter, then crop again from center

#

to get to 1024x888

#

it was aligned correctly for dealands

long raft
#

autocrop hm?

pure sierra
#

crop to content

lunar cobalt
#

it gets more and more off the further you get from deadlands

long raft
#

that might be from how rust made them?

lunar cobalt
#

he patched them together from these things

pure sierra
#

possibly

lunar cobalt
#

... somehow

pure sierra
#

just tiled

pure sierra
#

you can see an example of different map height standards with this spot of water between tiles

long raft
#

i think they each have their own scaling and offset

pure sierra
#

i dont think the are made to line up

lunar cobalt
#

^

pure sierra
#

as each height map is still only ever used individually

long raft
#

true, you never see them together

lunar cobalt
#

when you see the "other" map on the other side of the border it's actually just the map you're on

pure sierra
#

yep

long raft
#

oof this is a linear algebra problem

lunar cobalt
#

i'm out

pure sierra
#

im not sure about the see the othher map thing

#

if its your current map or not

#

i tried to press them on this

lunar cobalt
#

it's your current map

long raft
#

?

pure sierra
#

need to get binoc and see how far can see

pure sierra
#

but i guess it depends who you talk to

#

histogram shift

lunar cobalt
#

as of the last time I tossed myself above the world in an APC, I couldn't see the other maps as far as I remember

long raft
#

i doubt theyd load the whole map

#

it would really obliterate texture memory id think

#

even if youre not rendering invisible stuff youd have to load the textures into vram

lunar cobalt
#

"how to kill low end GPUs in one simple step!"

long raft
#

i think ironically it might not

#

low end gpus on laptops might share system ram lol

lunar cobalt
#

mine does

pure sierra
#

i mjust jumping in game to check

lunar cobalt
#

6gb dedicated, 16gb shared

long raft
#

god i remember the old days. no shared memory.

lunar cobalt
#

my PC GPU doesn't do shared memory

#

not a surprise though, it doesn't really need it

pure sierra
#

i think it does load/show the next map

#

as im at a border with bino

#

and can see a long way on next map

#

further than shown on the height maps

lunar cobalt
#

hmm maybe it changed or me being way in the sky didn't show it properly

celest cobalt
#

would anyone be able to create an interactive map where you place two markers and it tells you parameters for the artirelly?

green wigeon
rigid estuary
#

May I ask what does the pulsing circle next to the casuals/hr mean and it's colour?

#

On foxhole stats

worldly crest
#

This the place to post development suggestions?

coral sundial
pure sierra
#

@rigid estuary color representation of casualty rate, warmer = larger

#

@long raft@lunar cobaltso i thought of a step i did that may well have led to the offset contours, I did a auto crop (crop to content) just to remove un-needed black but if the grey content was different sized between maps id end up with a different size content output that would get scaled to the same size

long raft
pure sierra
#

yep

#

both at 33% zoom

long raft
#

autocrop seems dangerous

pure sierra
#

yeah not suitable in this situation

#

i will need to mask each with same size hex

#

this is with them vertically middle aligned

long raft
#

is it possible they are aligned the same? and its just texture sloppiness?

pure sierra
#

fingers crossed

long raft
#

what size are the images?

pure sierra
#

2395x2395

long raft
#

interesting. i would assume 2048 x 2048 is the real content

pure sierra
#

i got to go out to work , talk later

mossy pelican
#

nvm its in the top of the image

mossy pelican
#

ok so

#

i noticed something

#

some images have a noticeable-ish border we can work with

#

deadlands border

#

@long raft what do you think

long raft
#

yea i mean im also hopeful they are all centered with slop-over that looks uncentered

#

hopefully masking them gets it exact

mossy pelican
#

heartlands

#

sadly only some have this

#

weathered expanse for example doesn't

#

unless this bottom line can be used

pure sierra
#

What derp said. Hope for the best

#

And one rule can apply to all

long raft
#

maybe i can run a stitcher program on it now

#

we dont have a height map for fisherman's row?

pure sierra
#

No island maps

mossy pelican
#

yea oar, tempest and godcrofts are missing too

pure sierra
#

On another note, possible the reason the maps are broken up into smaller tiles in the pak, is so at border it only loads bordering segments not the whole next map

long raft
#

yes

#

they could just load the next height map tho they dont take up that much space

pure sierra
#

The height map might not but the world would

#

I mean the 3d output of it

#

Possible even within a map it does not load all the map but just the segments around you

mossy pelican
#

the height maps are made out of 63x63 pixels squares

long raft
#

here's my attempt

#

guess thats not gonna load because too huge

#

its only 1.5 mb

pure sierra
#

Should load

long raft
#

i think i squished the hexes lol

pure sierra
#

Up to about 15 mb load

long raft
#

its the dimensions that are choking it

pure sierra
#

Not showing on my phone though

long raft
#

it's like i have the wrong files in the wrong places, it looks funky.

#

the hex ratio is 3/rad(2) right?

pure sierra
#

Don't ask me, I don't use it

long raft
#

i shall try again

pure sierra
#

Are you just cropping a central hex?

long raft
#

i think i am, but maybe im not

pure sierra
#

The maps are not centred to the height maps though

long raft
#

are you certain?

pure sierra
#

Yes, if I generate contour, than add warapi map as new layer in centre it doesn't line up, you must offset it

long raft
#

yea looks like i need to center a little better

#

but they seem to be consistent

pure sierra
#

That looks good

long raft
#

the new regions have a unified height

#

i guess im masking it centered, so maybe they are off center, but i wonder if theyre off center consistently...

#

itd be such a pain to manually test each one

#

but it must be because it looks offset in the final

pure sierra
#

Like I said, I'd hope they are off centre equally

long raft
#

it would make sense to use the new regions as guides as they seem very consistent

rigid estuary
#

Sorry just trying to understand the stats

pure sierra
#

Yes, one pulse equals one casualty

#

If I recall

rigid estuary
#

Thank you, do you have a git?

pure sierra
#

Not for this website, but I can share code snippets on request

rigid estuary
#

Never really dwelled into web dev so might be an interesting exercise

long raft
#

web development is the hardest development besides graphics

#

its several languages, a handful of protocols, a ton of IT, backend, front end, data, security, and if youre crazy also, performance

mossy pelican
#

"Everyone thinks that they care about performance, but nobody bothers to measure it." - someone on stackoverflow

long raft
#

real truth

cerulean urchin
#

Only months later, you'll get a ticket asking why a website is so slow and what we can do to increase performance ๐Ÿ™ƒ

lunar cobalt
#

Even better when blocking the tracking pixel completely breaks the website

long raft
#

whats a tracking pixel?

cerulean urchin
#

Analytics, scripts that "hook" into buttons or links for when someone leaves the site

lunar cobalt
#

โ€œTracking pixelsโ€ where theyโ€™re a single pixel wide are more common in emails, where theyโ€™ll be a 1x1 pixel icon that gets loaded from a website to see that itโ€™s been opened

#

All the main email senders (E.g. mailchimp) use them

long raft
#

oh ok

#

thats what i need on logiwaze derpthink

mossy pelican
#

i despise tracking pixels

neat fossil
#

hi

#

where do I get this funky warden role?

lunar cobalt
#

?warden

pure sierra
#

@long raft

#

did use the height or normal named maps ?

long raft
#

height

pure sierra
#

seems to have lost some data

long raft
#

for sure its not right

#

maybe my assumption 2048 was wrong

#

or maybe my offsets were wrong

pure sierra
#

im not talking about alignment, (that is off thought it seems) but im talking about the contour lines

#

some are missing

long raft
#

I didn't make any contour lines

pure sierra
#

i did

#

thats as best as i could scale and align deadlands

#

examples of lost data

#

the height maps might even be at different scales HBjoy

#

i tried to match world map to the outter edge of your compiled height map, its not too far off, but it seems some tiles are more off than others and int various directions

long raft
#

you mean different ranges?

#

i think i did a sloppy job it would take more tinkering

#

but because the new maps are unified height ranges it should be easier to match up

#

it might help to have more info from rust, what he thinks about the centering issue

pure sierra
#

on another note, interesting to see where they build beaches

#

just checked with stonecradle, and just resizing 46.68% down to 1118 pixels it center aligns with warapi map

long raft
#

interesting...

#

looks really centered

#

do you know what dimensions i should crop the large images at then?

pure sierra
#

larger ?

#

oh crop

long raft
#

well they are 2k+ size

#

im cropping at 2048x2048 now

pure sierra
#

im trying again now

#

resize 46.68% and crop to 1024x888

long raft
#

id prefer to keep detail

#

i cannot do algebra in my head tonight

pure sierra
#

then zoom the warapi map instead

long raft
#

so ... 1024 / .4668?

#

so 2194 roughly

pure sierra
#

depends what you want to do

#

yeah

long raft
#

height comes out to be 1900 exactly... frysquint

#

gonna try 2194x1900

#

wow thats close

#

problems with height, i see some borders only on the top and bottoms

#

seems minor and fixable

#

seems between regions are really going to trigger your topography lines, they need to be smudged to be blended together

#

and yea matt wasnt kidding, they all are different. only the new regions are normalized

#

i suspect there's an offset somewhere, because all my maps are shifted a little bit

vague otter
#

do those height maps all have the same height scaling?

long raft
#

no

vague otter
#

i was hoping it was just an offset

long raft
#

doubtful

vague otter
#

you can check on borders maybe? compare under water height + mountain height and see if you can get some linear relation

long raft
#

the new regions are tho, so ...theres only 23 to fix Julian

#

well theres for sure a linear relation

#

if i was sure the regions were being cropped properly, then you can adjust all the old maps until they line up with the new ones

#

nah im wrong even the new regions arent all normalized

vague otter
#

Remember the old maps were originally designed to be single zones
So it's unlikely they'll match in any kind of fashion

#

Only thing that matches probably is the vertical and horizontal scaling

pure sierra
#

this is yours, pretty close

#

im just redoing mine

#

not masking

long raft
#

wow that is pretty close

pure sierra
#

good enough

#

@glad whale Gib Islands markfootapproves

#

like said if wanted to for final version when got islands go and blend all the boundaries

long raft
#

eh...

#

if they arent the same height ranges, blending the boundaries will add artificial terracing to the border areas

#

i think they need ... to be unified

#

or kept as individual regions for display

pure sierra
#

true, yeah work out if there is linear offset we can apply

pure sierra
#

chug chug chug

#

with rocks added

vague otter
#

Foken beautiful

pure sierra
#

yeah it makes its look much better

vague otter
#

what are these though

pure sierra
#

the same color as rock im guessing HBjoy

vague otter
#

F
might be able to remove those with too small area? idk which image program you using

pure sierra
#

gimp

#

ok i just did an preliminary look at different maps scale/gamma differences of water,

#

origin against westgate water 117 vs 120

#

the fingers vs allods bight 117 vs 122

#

should be no problem to just adjust the gamma, but likely will have to do it per map

#

only thing will be if you make the water line up , will the land too ?

vague otter
#

Well
thing is it's bottom of ocean height, so it's not even guaranteed to line up across every map
best approach might be to find 2 distinct planes that cross a border for neighboring maps and comparing those two

#

should give you a linear scale comparison for both those maps

#

Or just hope it's an offset and not a scale difference and see if it works Jlol

#

should be easy to compensate for and then check if all other things line up

pure sierra
#

oof never thought about it being the sea floor, just assumed was sea top

#

will have to compare land instead only to compare

vague otter
#

well it might be sea top
but the lines you sometimes see in the water suggests it might be bottom

pure sierra
#

it will be bottom as they show contours going into it

vague otter
#

this e.g. makes no sense if it's top

pure sierra
#

correct

vague otter
#

but you can pretty accurately see where the water level is either way

pure sierra
#

so i took 4 sample regions and only needed to adjust the gamma on one to get the ground to all line up

#

but going to have to try masking the height maps, as the excess flanges on each map dont seem to conform

pure sierra
#

so i trimmed/masked them all to hex, but i introduced a small gap, which at first i was damn sad as could not batch mask them, and did each map by hand and was like, well that was a waste. but now i see that when you have a decent border line around each hex, as i would anyway when showing the world map to show the hex edges it hides any difference in gamma or sea floor, so it actually looks more perfect/easy on the eye, than if you matched the terrain levels, as you'd still have sea flor levels out, and would have to try correcting sea floor levels.... im off to bed....

long raft
#

I'm afraid the terrain heights need to be normalized all at the same time. A linear systems problem. It sounds hard... Not even sure where I'd begin. Probably by not working with integer values in bitmaps

mossy pelican
#

Make the contour a vector

#

Remove the contour in the borders between hexes

#

Make contour back into a (new) height map

long raft
#

or vectorize the grayscale and then delete the fills...

#

we should get somebody strong at math to solve the normalization problem

#

we have any strong linear algebra coders here?

#

maybe a matlab wiz?

mossy pelican
#

@umbral mulch come here nerd. you do maths