#code-talk
2 messages ยท Page 23 of 1
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
I love how code is so common now it gets passed casually around threads ..
For a person that has basically grown up next to computers that is kinda a funny comment.
@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
yeah i think you might be right @subtle gust maybe @safe mist made a mistake
Well that mistake has been there for some time ๐
$gridInterval = ['x'=>770, 'y'=> 444];
I had to implement a hard fix for it.
to calc x interval it would be total ((width of hexagon - side length) /2) +side length
((1024 - 512)/2)+512
=768
not 770
i got side length 512 from https://hexagoncalculator.apphb.com/
this is what im calling x interval
the distance at which a new column starts
One nice property of regular hexagons is that their side lengths are always halve of the width.
if samas made a mistake then i made it too
and so did kastow. because all of our maps are interchangeable
Where is my error ?
oh ive been using samas's map and it lines up correctly with the roads i drew previously like last year
I think in the end agreeing on the variables is more important than having them perfect ๐
i just copy pasted his value of 770 without calcing it myself
but looks like it should be 768
I never knew they existed before I calculated them.
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
a 2 pixel difference probably wouldn't be that noticeable
no i didnt at all
youd think not ... but i dunno
it is a 12 pixel difference, roughly the size of the road.
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
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.
did we just round the wrong way?
thats what im thinking
shouldnt have rounded them at all maybe...
a decimal point both sides will give you 2
2 * 6 = 12
In my code I no longer round before I need to submit the pixel values ๐
in my code there are not decimals
You have it in python now ๐
im in python and php and js 
what id like is a control file that says which image goes to which coordinate
i suppose hard coded python is ok
mind you there is also a decimal on the y spacing too
In the end making sure the map is defined by $worldSize = ['x'=>5644, 'y'=>6216]; should solve most problems.
so y could be off too
yea but hexes tile much simpler in the y direction.
just on top of eachother
but you still need to calc the offset between one and the next
768
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
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.
Where correct spacing ? xD
what do you mean?
That would be the correct map I think, but it will make all the things we drew on top of it off ๐
Where are diffence xD
In those variables I do not really get what the outputImageSize is?
Foxholestats work 5644, me 5633 ๐ฎ
that is just my own thing for generating a scaled down map for my home page
5633! an odd number! the pain....
well at least you have a nice pixel in the middle of your map ๐
more 1 pixel xD
ow noes it is not even in the middle ๐
5632 is ok
But yea, the roads for logiwaze are currently drawn on the 5644 map
they can be rescaled I heard
Why 468 and not 470?
rescaling them not very hard
what variable?
'basinsionnach': {
x: 768 * 3,
y: 0
},
nice, but the call is up to you guys.
old value is 770
i would like to see if it makes things fit in the borders better
let me find the equation for you
@pure sierra and @safe mist https://www.omnicalculator.com/math/hexagon
I found that with 770 it was good, but with 768 I do not see a difference xD
it is those 12 pixels in the end
I think the equation of what you guys are using is y = w - w / 4 = 768 for w = 1024
444 x ??? px
they are not, but that might be a matter for another day ๐
seems close enough though. That is less then two pixels for each hex
Again... might be better to agree on wrong metrics instead of fixing all of them ๐
I am also fine with doing the perfect calculations
what do you mean ?
maybe I am jumping the gun... but it seems the corners are cut from the hexes ๐
on the sides
hmm let me see...
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
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
in terms of world units:
Width 218,399.999994
Height 188,999.999991
the picture hayden posted looks close enough ratio wise
how much pixels a world unit on the ingame map?
depends on resolution and zoom level
The cutoff is the same for U45 map images
Looking through Wiki history, it's been the same since .26
the map is like 3 orders of magnitude in pixels, so no need to go much further than 4 decimals ๐
Ow yea, I seem to be the first that has encountered an actual problem with it.
first to ... be concerned about it 
i suppose i was always bothered with the placement of the borders tho
I think we are thus far thinking of no zoom at all and max resolution
can we morph this into a collie bias conspiracy theory ?
i couldnt pinpoint why those were off on the outsides
only if you find a mistake in the y axis ๐
it's hidden space on the map so when we build partisan bases you can't find them

thats right, if they cropped the height, than if origin top left the wardens get more space
theyve been giving those 2 pixels per region to colonials the whole time, thats the tech bonus

giving them to the collies would only make them drive longer every time ๐
but their roads are faster
i cant be accurate without height maps
but in general my spot tests have been colonial roads are way shorter
omg.... heightmaps....
matt already said no to height maps
so its confirmed ? 
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
we have seen them before have we ?
we have seen deadlands, via matt
but we leave the metrics as they are?

ill be going to 768
but im not in a rush to regenerate
we just need to keep asking
ow w8, thats a heightmap?
Ya
ive been asking for height maps for years lol
I wonder... if the code is already there...
i give up
i dream of topographical maps
heeeeey phil
me too. and accurate road distance. and accurate artillery calculators

"make a github issue"
tm
"closed with no comment"
what if we protested by shutting our sites down 
do you know how many ... people would ask the devs whats happened to foxholestats?
it would be a deluge
Do you know how many people already ask in #technical-chat whenever Foxholestats does something odd?
The region color bug? #technical-chat
Server responding with 404 errors or something else? #technical-chat
if sigilhq went down you could count all the sigil people complaining too
im thinking there will be quite some players for this new update
im sad they still need/want shard 2
the frontline isn't wider
they should have made it wider rather than longer
mhm hmm
big missed opportunity there
i would have thought the biggest objective of making them map bigger would be to not need 2 shards
they want longer wars, not bigger wars evidently
Is sigilhq in active use still? I'm an unwashed shard 2 type, been using foxehole-hq.com, which is now pretty broken looking with the upcoming update.
I opened a few pull requests on foxehole-hq.com, but dunno if the maintainers even play anymore either.
The sigil version
To my knowledge it is, but I'm not in sigil, and the stats page works
Yeah, looks like it's updated for new hexes, icons etc.
((width of hexagon - side length) /2) +side length
if you guys like electronic music, twitch is great https://www.twitch.tv/taylorp1ays?referrer=raid
currently live
one of my favs
an update just pushed, doesn't have any map changes I can see
orly
correct, knowing: sidelength = hexwidth / 2
@pure sierra FYI you're getting a ton of garbage data right now, not sure if that matters for your collecting at all
nah
Cool and good
i discard resistance data now
fod tech support for fhs
are the colors new?
yes
A topographical map with contour lines would be sick. I'd print Heartlands or another logi hub and hang it above my desk lol
now do it for the whole map + outside the hex
... how?
That's the only Heightmap Matt gave us
oh
nvm then I thought u got this yourself
why would Matt tease us like this
wait no nvm
ah yes. the war started in the 70s
ah yes. having issues logging in to foxhole
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.
ive never seen this, even the lobby home region has a queue
:ohno:
i've seen it happen before but the queue wasn't as long
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)
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
๐ค So wait, from the array of 100 robots, you want the coords to be [0, 0] to [9, 9] ?
can you give me an example of what are you trying to accomplish
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
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
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))
but your way is very complex
๐ Let's make it more complex
Oh shit I didn't read, I did exactly the same thing as the js guy
xD
calculate sqrt(robot_amount) before the for loop
or I won't approve your code review
Lol, is this channel leetcode practice now?
@earnest gladeanything to avoid going into #foxhole-discussion
since we are on non-foxhole programming here is my perlin noise map generator https://streamable.com/qm1wxw
<@&448665379196108815> Reeeeeee
reeeee
Damn, now I want this shirt
Critical syntax error
Awesome ngl
same
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
You can help the creator update the road map
@long raft <== creator
Oh, that's neat
my apache volume is getting too damn high
How would you track the players location though?
which is what GPS is.
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
Have fun with that ;p
yea
Is there a way to query the state of the tech tree via API?
no, because it is opsec
i suppose weather is opsec too?
The jump on the 23rd is remarkable
We live in a society
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.
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);
});
});
}
What is this languange
It's called javascript
Semicolons are optional with js
optional? heresy
Just use eslint and make it put semicolons for you lmao
Cant ever be python, it has closing brackets
and we all know, python is a bitch and just uses tabs to indicate a cycle
as a c/c++ enthusiast i can't do anything more than laugh in tears
code goes brrr
I love python
me too, it was a bit weird to begin with but its very usefull
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)
and widely adopted
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
\t as opposed to a bunch of spaces
you can do it with code blocks
thats still 2 spaces on my end
well i typed a tab
cause tabs are not like a ... replacement for 4 spaces
but you cant mix them
tabs are much more complicated and interact with tab stops
im glad c++ doesnt care about that
but i know a lot of python people use yaml, and its interesting to me yaml bans them
leading to this https://www.youtube.com/watch?v=DEqXNfs_HhY
"Donut math: how donut.c works" blog post by Andy Sloane:
https://www.a1k0n.net/2011/07/20/donut-math.html
Deobfuscated code: https://bit.ly/2BITbQm
sometimes, you need a break of tabbing ๐
Me, on a slow day at work: https://www.pinterest.com/pin/525936062716867330/
Me the day before a sprint closes: https://i.pinimg.com/originals/ef/c1/b5/efc1b5dc792c67d97fde30b2f0956f72.gif
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
correct
I'd like to see if I can make a model to predict who will win
there's not enough data types available,
have you looked at the limited amount of data in the api ?
it would still be interesting to try, I'm pretty sure the number of casualties is correlated to winner but thats just a hunch
i have some data from all wars, but the game has changed lots
yeah but I can't do much with the API since it doesn't have enough historical data
@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

I'd appreciate that. I'ts just going to be a fun (maybe?) little side project
Strange sense of fun ๐
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.
It would be nice to have data on resource gathering rates and tech though I doubt the devs would publicly release that type of data if they even have it
first time player. colonials or wardens?
Lmao
warden, if you get depressed because some clanmen are stupid, try colonial, if you are still depressed shard 2
Warden for hard mode, colonial for easy mode.
Ok but the fiddler tho
Ok but the ISG, Bain, mpt, argenti, Ltd, earlier artillery, better roads tho
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
The wardens have mountains which is both a blessing and a curse. This causes our roads to be very curvy and winding.
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.
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
So skill floor? Thats a reasonable take
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?
Yeah
Noot, try both sides and make your own judgment
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
i fucking hate everything that has ever existed
are you making a guitar pedal
are those mini dvds from like 2005?
... what is that abomination
and why isn't the wire going to D23 on the outside????
@lunar cobalt sometimes life is just completely unfair
at least i got this cool effect going on, looks like it's in 3D!
yep dvd-rw even ! for a little handycam
Oh I have one of those cameras
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
https://github.com/Kastow/Foxhole-Map-Tiles/ this, maybe?
thats got all the imgs chopped into squares at 6 diff zoom levels
https://github.com/clapfoot/warapi/tree/master/Images/Maps then maybe this?
I mean like this:
yes its here
cept the white is transparent
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"
If you have Adobe Media Encoder it will do PNG to TGA correctly, it's a bit finnicky though
it is a curious format. i wonder if theyre using it for the map in game
does it?
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
because Adobe killed all the competitors?
nah even png sucks these days with high range colors
what, gonna be using AVIF
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
It has really good HDR support
its gonna be like 12 bit color tho huh
I think that's what it is
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.
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
........
yes
code-talk
Sounds like an assignment from a 2nd year college class
well yes but no
Wow thatโs super cool, the tiler and WarApi
Java's most widely used cache.
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?
define work
for foxhole or otherwise ?@unreal cloak
both, either
paid to do it
Don't suppose anyone has a picture of Kastow's tiled maps put together?
Does anyone have information on current projects for Foxhole disc bots? Either in progress or plans?
the satellite map, timber?
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
The regular map. The one on your git is really small.
@kind glacier try https://foxholestats.com/tiles/worldmap.png
@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
gotcha. thanks!
Thanks, that ought to do the trick. Now to figure out how to get the new labels in the right places
You mean locations corrected?
yes
I don't think any one bothers
@pure sierra How'd you get the town names for the new tiles to show up in their proper places?
GET /worldconquest/maps/:mapName/static
Static map data includes things that never change over the lifecycle of a map. This includes map text labels, resource nodes, and world structures.
You only need to request this once per map between World Conquests.
this?
No, I mean where they need to go. (Same with icons, really.)
The ones before Entrenched got mathed out, but not the new ones. They just clump together in the middle.
oh you mean the labels position
yes
since the x and y in the API are relative to the tile center rather than the map center
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
Yeah, but how does that work
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
Tried using leaflet once, it didn't go well
looks nice
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
it is a duplicate name apparently
@long raft this is straight out of foxholestats. may wanna check if its overwriting
oof it was the thing i specifically checked. that fixed it. glad i didnt make an issue
lol nice
Oof I play around with JavaScript from time to time... comments are necessary for a project to not get scrapped. ๐คฃ
๐
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
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)
i hear almost nobody has like functional projects they can easily demonstrate
i think it's even harder when you're writing code for hardware
or proprietary code for proprietary hardware
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
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.
is this a non-euclidean experiment?
Nice job! ๐
Nothing quite so fancy, I'm afraid
๐ธ
If someone wants it, Height maps: https://drive.google.com/file/d/1W2DsUkWJB7cC_hpr_4tKxNibnRW3HhOX/view?usp=sharing
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?
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
I've seen those, no idea how they could be stitched tho
Well this will be fun calculating new road distances with accuracy
@glad whale nice one, topo map here we come
(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.

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.
ah
@glad whale what is difference between your 'normal' and 'height' maps
I found this 'plugin' for gimp and tried it out
https://www.cartographersguild.com/showthread.php?t=25929
some things line/match up, others may not
generated from Deadlands_HeightMap.png
This map is old, but it's the image that Matt posted of the Deadlands heightmap, maybe run it against that and compare? https://cdn.discordapp.com/attachments/523401134107525121/753284429404831764/unknown.png
They look the same visually though
his is much lower rez, but ill run it
mats,
(finer line looks much better)
just for reference
hmmm that works pretty well
im running it on the full rez again with finer lines
how long is it taking for each one?
it seems to take like 5 mins on the outside edge, not sure why but it gets thhere eventually
huh, weird
once the edge is done about 30 sec for the main content

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
looks good
i know doesnt it
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
for the in game map screen ?
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
im thinking the map you show above is wrong then
?
lines up better, but the dark brawn patches dont seem to make sense
the one I posted is from Matt, and he posted it multiple updates ago
wouldn't surprise me if something has changed
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
so rocks are not in the height map ??
nope, because they don't alter the ground terrain
ok
@mossy pelican it's linked above
my computer thinks the scripts are starcraft scenarios lol ๐
That's enough for today
nice! looks cool
Yeah, how long did it take?
that topography map looks cool
Thank you Rust, these heightmaps are sick!
yea really we have wanted these for years
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
it draws a vector line along a color border
So first it differentiates the colors into layers, and then draws lines around their edges
enough is enough
@zealous sonnet
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
i have to admit that really reminds me of subnautica
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
๐ฎ
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
I'm excited to see Caoiva rendered as a giant tabletop 3D surface
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
Yeah vector would have been a lot better tbh
something like this?
Whoa
Does that program output vectors by chance
dunno its just blender

I was thinking of just the contour lines being the colors, but that's equally as impressive ๐ฎ
this is a major advancement! ๐คฉ
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
in python.
variable =
""""""
what does this mean and why is the backslash there<
@glad whalevery cool, how did you get the rock data too ?
the \ is a line continuation
variable =
""""""
is equal to
variable = """"""
afaik
x =
1
print(x)
Write and run Python code using our online compiler (interpreter). You can use Python Shell like IDLE, and take inputs from the user in our Python compiler.
tested there
have a beer to celebrate
@glad whale islands please

man, thats cool
meh
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
need help with the algo to trim sat hexes?
the borders are funky huh
i did height tile prep in gimp bimp (batch)
theyre all normalized differently arent they
i think thats what matt implied about the elevation data
orly
yeah I'd suspect so
So the "low" point in terrain in one area might be the high point in the next map
low terrain seems to all be grouped into the same strata
seems like it needs to be scaled exponentially first
Forgot this place existed
hi
Like how the north side of deadlands is higher than the south, the south side of CP is based off that
@pure sierra you have offset issues
scroll up to #code-talk message
what does it look like in grayscale (combined)?
yeah could spend more time on alignment but i got it close enough for now
yeah, i tried to do that, but couldnt work out how to do it with my batch processor
could do them individually, but meh
Howl County is way out of alignment
Thank you o7
yea thats what i do, individually, then combine
and the low elevation should be boosted ...
All of the northeastern maps are vertically misaligned by a lot
but seeing topographical map totally changes my understanding of the map
northwestern too
the height maps from @glad whale are not evenly offset from warapi maps
oh
yeah, as if they would just line up
lol
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
autocrop hm?
crop to content
it gets more and more off the further you get from deadlands
that might be from how rust made them?
he patched them together from these things
possibly
... somehow
just tiled
you can see an example of different map height standards with this spot of water between tiles
i think they each have their own scaling and offset
i dont think the are made to line up
^
as each height map is still only ever used individually
true, you never see them together
when you see the "other" map on the other side of the border it's actually just the map you're on
yep
oof this is a linear algebra problem
im not sure about the see the othher map thing
if its your current map or not
i tried to press them on this
it's your current map
?
need to get binoc and see how far can see
and they seemed confident it was loading the other map
but i guess it depends who you talk to
histogram shift
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
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
"how to kill low end GPUs in one simple step!"
mine does
i mjust jumping in game to check
6gb dedicated, 16gb shared
god i remember the old days. no shared memory.
my PC GPU doesn't do shared memory
not a surprise though, it doesn't really need it
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
hmm maybe it changed or me being way in the sky didn't show it properly
would anyone be able to create an interactive map where you place two markers and it tells you parameters for the artirelly?
I believe that if you join Colonial Sigil, they have a tool for that
May I ask what does the pulsing circle next to the casuals/hr mean and it's colour?
On foxhole stats
This the place to post development suggestions?
@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

autocrop seems dangerous
yeah not suitable in this situation
i will need to mask each with same size hex
this is with them vertically middle aligned
is it possible they are aligned the same? and its just texture sloppiness?
fingers crossed
what size are the images?
2395x2395
interesting. i would assume 2048 x 2048 is the real content
i got to go out to work , talk later
ok so
i noticed something
some images have a noticeable-ish border we can work with
deadlands border
@long raft what do you think
yea i mean im also hopeful they are all centered with slop-over that looks uncentered
hopefully masking them gets it exact
heartlands
sadly only some have this
weathered expanse for example doesn't
unless this bottom line can be used
maybe i can run a stitcher program on it now
we dont have a height map for fisherman's row?
No island maps
yea oar, tempest and godcrofts are missing too
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
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
the height maps are made out of 63x63 pixels squares
Should load
i think i squished the hexes lol
Up to about 15 mb load
its the dimensions that are choking it
Not showing on my phone though
it's like i have the wrong files in the wrong places, it looks funky.
the hex ratio is 3/rad(2) right?
Don't ask me, I don't use it
i shall try again
Are you just cropping a central hex?
i think i am, but maybe im not
The maps are not centred to the height maps though
Yes, if I generate contour, than add warapi map as new layer in centre it doesn't line up, you must offset it
That looks good
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
Like I said, I'd hope they are off centre equally
it would make sense to use the new regions as guides as they seem very consistent
what about the pulse does it represent live casual rate?
Sorry just trying to understand the stats
Thank you, do you have a git?
Not for this website, but I can share code snippets on request
Never really dwelled into web dev so might be an interesting exercise
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
"Everyone thinks that they care about performance, but nobody bothers to measure it." - someone on stackoverflow
real truth
"We care about the performance and conversion rates of our website, that's why we added 8 different tracking pixels so we can measure that!" - brand manager probably
Only months later, you'll get a ticket asking why a website is so slow and what we can do to increase performance ๐
Even better when blocking the tracking pixel completely breaks the website
whats a tracking pixel?
Analytics, scripts that "hook" into buttons or links for when someone leaves the site
โ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
i despise tracking pixels
?warden
height
seems to have lost some data
for sure its not right
maybe my assumption 2048 was wrong
or maybe my offsets were wrong
im not talking about alignment, (that is off thought it seems) but im talking about the contour lines
some are missing
I didn't make any contour lines
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 
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
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
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
interesting...
looks really centered
do you know what dimensions i should crop the large images at then?
then zoom the warapi map instead
height comes out to be 1900 exactly... 
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
do those height maps all have the same height scaling?
no
doubtful
you can check on borders maybe? compare under water height + mountain height and see if you can get some linear relation
the new regions are tho, so ...theres only 23 to fix 
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
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
wow that is pretty close
good enough
@glad whale Gib Islands 
like said if wanted to for final version when got islands go and blend all the boundaries
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
true, yeah work out if there is linear offset we can apply
Foken beautiful
yeah it makes its look much better
what are these though
the same color as rock im guessing 
F
might be able to remove those with too small area? idk which image program you using
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 ?
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 
should be easy to compensate for and then check if all other things line up
oof never thought about it being the sea floor, just assumed was sea top
will have to compare land instead only to compare
well it might be sea top
but the lines you sometimes see in the water suggests it might be bottom
it will be bottom as they show contours going into it
correct
but you can pretty accurately see where the water level is either way
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
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....
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
Make the contour a vector
Remove the contour in the borders between hexes
Make contour back into a (new) height map
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?
@umbral mulch come here nerd. you do maths


