#code-talk
2 messages ยท Page 2 of 1
i havent played for months, depressing in that there seems little point investing time into upgrading for example refinery facilities as it will all get reset tomorow
@young pilot โ ๐
someone figured out his question lol
i think you can just specify in a header what your last record is to reduce traffic of useless updates you already have
i believe they are optional ...
It depends on your project.
For example, if you creating maps then I honestly believe that ETags aren't necessary because you want to make sure that whatever has been created is the latest.
While a bot that logs which towns have been destroyed, ETags can be useful because there is no purpose of going through all the maps while some haven't had their towns destroyed.
You are correct Derp, they are optional.
The War API says that they want you to use ETags
our interactive map now archives all warapi snapshots and gives them out all at once in a json array
i called it Raw Coppersondent
i actually don't know how long this can last without taking all of ram
but i'll let it run for a couple of days
What do you guys use for your Foxhole websites?
could you be more specific?

ok apparently if you save war api data as text every 5 minutes it adds up to about 12 MB per day
for a proper server thats okay but for glitch thats a big oof
so we'll look for another way
Like what web host do you use and what not?
@barren quarry just like, mongo lmao
I feel like Mongo is a spear everyone uses the wrong way
I think it's good for a certain situation, but most the devs I know use it because it's sexy and not because it's the right tool
@barren quarry you can throw it through deflate or gzip and it will compress 75%
trading cpu cycles for profit!
Here's my take on etags, i dont really fully use them (though could fully implement it) , as i dont consider myself a heavy api user (believe it or not) and i dont think the game is at the point where there would be a lot of load on the api that it would need the performance relief their use by me could give, (but if i need to use them i will).
My rational behind this is that i only request from the api once per map and endpoint every 5 mins, so i dont feel that is a big load compared to what even a modest web server can handle.
But if however you were making something that relied on the fastest performance possible with the fastest (live) response time, eg you wanted to know asap when something in the api changed, rather than wait till in my example my 5 min loop, which might happen to fall 4 minutes after the actual api has changed, as they are likely out of sync, then you would be polling (checking) the api maybe every second, for every map, and endpoint, so you can see this is substantially more, and would warrant the use of the etag header system, both for yours and their systems sake.
So currently i just use the etag to tell if there is a change in the dynamic api and if i should check and generate events in my event log, otherwise i skip that block of code. (i dont actually use the full header reject method, to just use your existing data instead of requesting new but same data)
Aaah that's interesting
Im very new to etags
So it changes only when the json file is different right?
So if no towns are taken in an hour, the etags wont change?
correct, the way it works is you submit in your request headers the last etag you got, and the server compares that against what it currently is and if it has not changed it repies 'no change' (in effect) rather than the same identical json again
screenshotted from in game map, will do for now, icon type 38 salvage mine
@barren quarry
payback for the maps you sent, thanks
Actually i wanted to ask for colored safe house icons
My pc with photoshop went rip
I wish the devs would just fucking give us high quality ones of those
i can give you mine
not the fucking 25x25 pixel ones
48x48
Such a big difference

They're still useless for anything wiki related
this is my rough job of it
i use gimp for everything i can, never use ps
@barren quarry
but since i made them i worked out how to do it dynamically programatically as im making my maps, to do the red shade on the icons when nuked, as i wasnt going to make red shade for all icon....
u can actually check the size of snapshot, lol @barren quarry
apparently when this data is archived it literally takes 200 times less space
Yeah I am just going to set up a 5 minute loop rather than setting up etags.
i actually implemented etag check
so now it saves 1/3 of regions
because apparently regions update in cycles every 15 min
another way was just checking json hash
Lizard, devs never said you must use it, they said it is a good practice
And like Hayden said, 5min loop will practically do the same
Tbh 5min loop is much easier and will give you less problems
I wish default C# had ienumerator support, but whatever it is not that much more difficult.
@barren quarry "because apparently regions update in cycles every 15 min" what makes you think this ?
still why 10 ?
I changed the code so it saves war api data if etag is different from the previous one
and ?
19 24 GMT saved regions 9, 5, 7, 2, 6, 1, 16, 12
19 19 GMT saved regions 2, 1, 4, 7, 12, 3, 16, 14
19 14 GMT saved regions 5, 7, 1, 6, 9, 16, 4, 2, 14
Huh
i thought it saved one half first and then another half 5 minutes later
but it appears to not be the case
๐ค
you might just be just out of sync with their loop, how often you checking ?
5 minutes
well you might be checking halfway through their update
idk, maybe
but it depends if they update them all at once
or sequentialley over 5 mins , i have no ideea
it really could be any behaviour
anyway, this etag check that was being discussed here saves me about 40-50% of space
thats good, i dont keep the whole json historically just the values i chart, and i need them every 5mins so i just collect them regardless of change
also i got a massive project coming up in the next 2 weeks
(hopefully in 2 weeks)
the biggest community creation foxhole has ever seen
ah so FH related, i thought u might have meant work related
the etags are easy
Yeah they are
@hidden path the IEnumerable support is in System.Linq and has been supported since 3.5
ya know, just ... using System.Linq; and call it a day
@long raft I'm referring to this, which is a something supported in Unity C#. You can not do this when programming in default C# as far as I am aware, which is what I originally meant.
void Start()
{
StartCoroutine("Example");
}
IEnumerator Example()
{
DoSomething();
yield return new WaitForSeconds(wait);
StartCoroutine("Example");
}
yes you definitely can
IEnumerable<return type> Iterator() { yield return blah; }
thats from 3.5
thats SO old
but yea in classic c# youd want to use an IEnumerable<T> where T is your type of iterator
๐
its pretty insane how the compiler manages that, it unwraps all that code and saves the whole stack every time it does a yield return
people try to implement that stuff in other languages - and they end up having to use multithreading to get even close
so what's magical in saving stack per caller?
that's just how they thought it should be working in c#
and so I also dont get "and they end up having to use multithreading to get even close" part too
it saves stack and then returns to your code, then returns BACk
its pretty complicated, so thats why iterators are somewhat limited in what they can do inside
its implemented in the compiler, so if you want something like that in another language, you spawn up a thread to fill a queue and then the original thread to pull the items out of the iterator
https://stackoverflow.com/questions/2352399/yield-return-in-java <- lots of uninteresting details regarding doing it in Java for example
im so paranoid someone is going to tell me im #general-discussion
I understand what its doing, but what's a point? that's not a big deal
there is also lambda solution for this sort of problem in java
or using Streams
ofc threads, but I dont get it - threads are threads, they always were here
because something that sophisticated has to be implemented in a compiler, not in a language
and ive never seen any ...non academic language ever do that
its just a matter of convenience and readability, just another feature that makes the language awesome
and all the performance benefits of using the stack instead of heap allocations or spawning threads or using a threadpool or locking mechanism
My little foxhole data project is ready to be left alone and just run. Going to let it run over night and see what I get.
@long raft "just another feature that makes the language awesome", gotcha, praising tools is not my league, Imma out
you seem like a hard to impress person, pip.
Im just familiar with asm, c++, js, java, python, ruby, php, erlang (a bit), now Im using elixir (erlang) @long raft
well i know a lot of languages too and im still impressed with it. its like a unique feature
and its at least 10 years old, so it should definitely be in any standard c#, although it might look a little different than how unity does it
and in global scale it doesnt make much cuz it just solves something in c# area, I know that some stuff will be not so elegant without it, but again - in other langs there will be other way of doing same things
Im not talking about exact alternative of some piece of code in other langs, I was talking about same behavoir or same task cuz that's not a big deal if u r programmer and u need to solve some task
that kind of stuff matters for a game programming language
this question is too broad and opinionated in terms of stackoverflow
and I prefer to stick with more specific questions
oh, yea i only meant it to show how the mechanism works, and that he should just swap out IEnumerator for IEnumerable<type>
that's not bad if he learnt them both before going for yield magic
err yield magic is the way to go actually
i mean ... if you use that language you should really use it, right?
it depends on ur knowledge of what exactly u can do with this and when to avoid it
same with nearly everything
you in telecom industry or university?
yep
Welcome back pip
@pure sierra ๐ค ๐ค ๐ค
Told you steam api didn't have long left...
Yeah, with release of 0.20 they silently 'turned it off'
ok, so they are still using it but just turned players listing off
They have me a heads up but never mentioned it to the community
Nah, it's gone completely afaik
u can still get player numbers tho?
They do their own server discovery
funny
I pull the total player pop from a broader steam api that does not talk to their servers
So it even counts people on menu afk
hmm
I did the same thing for my site. Used steam api to pull total player pop.
It is in!
Focus sent a hello... Haha
Soon โข I will conquer the world
Good buy! ๐ ๐
yeah, it is crappy photo, but it is the Raspberry Pi W I talked about a few days ago with some lads in here
I like the raspberry, but I don't have enough money to buy :/
This is south America!
oof
u can buy cheap copy of rasp/android - that's how skynet supposed to grow from poor, crippled child into maniac
bold of you to assume skynet isnt alreay upon us
u know, we are brave men
have you started using it yet? did you already have a memory card for it?
Pi zero is only about 5us
Speaking of Pi's
ah fuck it nvm
basically I have this $9 computer that is like a Raspberry Pi, but I don't know what to do with it
๐
Plus, the company behind it went out of business. Pretty surprising considering their Kickstarter campaign was very successful.
theres a lot of knockoffs
can always turn it into a media machine for another room if its capable of that
also curious if steam has an install for ARM architecture - could use it as a steam video streaming device
@long raft Thanks for some inspiration. I have no experience with Linux on these babies and it's just kind of daunting to me.
some people slap a controller on top of them and use it as a gaming station
like SNES emulator or whatever...
i made a guitar effects peddle with one before ... but then i realized people make much better devices for less money
use it to make Foxhole Neural Bot
since we cant block scrap spawn with anything
the fun part is - it is doable if u have gpu to teach ur network
I remember there was a Serpent_AI sreamer tried to make framework for game bot
OCR and stuff
the sad part - even simple game required tons of iterations to train network
now figure out where was da joke
gpu on raspberry pi?
1000 raspberry pi's later 
@long raft not yet, gonna look into it today. I am still figuring out stuff
@long raft nah, just shitting on devs about em fixed scrap yard blockage
Can someone tell me from where I can get a good quality image of the World Map without labels & icons and with the changes introduced in the last patch please?
@karmic siren Perhaps the foxhole wiki, or the pinned messages on the discord
Thanks!
do we really need over 9000 supa dupa interactive foxhole maps?
@raven zodiac ofcourse not, we need many more!
better to have too much competition than too little
competition for competition?
Sometimes people make tools for themselves
sometimes they make them for glory
i would be the second kind of person
lol
and sometimes, they do it to test their abilities, mhuhahahahaha

test abilities? do we have some experienced devs around?
@pure sierra ^
wat
they thought u r exprienced dev, hi, btw
Yup just want to try something with the API for presscorp. Infact this week I finalized a Discord bot for them that sends casualty info grouped by map, region and world every 6 hours.
pure magic
Lol okay
Does anyone know what the ! Codes are in game? Can u find player count and other API stuff with it?
@potent panther sorry which codes?
What are you trying to achieve @potent panther ?
I wasn't sure if there was a list of the functionality of !
Also why does foxhole stats website run so slow?
of what?
I think he means in-game commands
ahh
Take a look at the chat commands here: https://foxhole.gamepedia.com/Chat
@potent panther if that is the case, I have to disappoint you: only moderators can access commands like that and those are limited to moderation like tp-ing and kicking and stuff. The reason foxhole stats runs slow can be answered by @pure sierra (he is the owner and maintains it)
But if I have to give a shot: it updates only every 15 mins because not much changes over such time spawn, thus resulting in minimal strain on data (which means cheaper hosting). If it is the speed of the site itself, I bet it just gets many requests (I personally would be doing like 2~3/hour over the day)
Yeah I figured it was because of the 15min update. Thanks for the heads up
yw
@potent panther hi, if you mean update speed, yes it is on a 5 min update loop, that is as fast as the api updates, you can see the countdown at the top, if it is the page load time plz let me know, i dont have the best home net so hard for me to tell performance of server in US from AU
in other news: We now have nice color coded icons !! ๐
This was jist added I assume?
taste the rainbow
ya know @pure sierra SEO is better if you use SSL
and http2 might improve performance for users, if youve got a lot of javascript assets
have not heard of http2, https does slow things down a litte though, there isa bit of js for the charts
http/2 maintains a single tcp connection and all files can be pipelines
standard doesnt require it, but in practice web servers require an SSL certificate to use it
letsencrypt is free, of course, and pretty easy to setup, but yah google will ding you in results for not using SSL
really... didnt know that, yes virtualmin my cp has one click letsencrypt , very easy
but http/2 allows for more than the typical 6 simultaneous connections to grab files
sounds cool, will have to look it up
why is it not default for a modern system then ?
it came to apache late, nginx got it early, and browsers all had it like 10 years ago
its easier to set up http/2 correctly than https 1.1
in terms of getting the right ciphers, not using SSLv2 and v3 and using tls 1.2, etc...
the new shiz thats comin is https://en.wikipedia.org/wiki/QUIC ... probably going to be http/3
QUIC (Quick UDP Internet Connections, pronounced 'quick') is an experimental transport layer network protocol initially designed, implemented, and deployed by Google in 2012, and announced publicly in 2012 as experimentation broadened.QUIC's main goal is to improve perceived...
they want to do browsers over UDP
Question about the warapi and Etags using Python:
In my get request do I need to include a header to check the Etag? Or I just store the Etag when I request and if I request again check against the Etag with the If_No_Match? I'm not sure how to structure
so the first request, you wouldnt pass any header for that request, but when you get a response includes an ETag you should save
then the second request you pass that ETag, and if there is no update you get 304 as your returned status code
so the response has ETag, and your requests have If-None-Match
first request has no additional header...
its kind of interesting, because since the data updates every 5 minutes ,if you polled it every 5 minutes you could be 9:59 delayed
so you'll probably poll it more frequently than 5 minutes, and thats why the etags are useful not to waste hitting their api servers
in more simple words: since there is no subscription model client pushed to check updates with some custom frequency, to compensate possible load they introduced etag mechanism so u can update info even every second without making much harm
In even more simple words: Etags are dumb
it depends on its usage
Haha thanks for all the input. I can see why it's useful especially if the api is ever expanded , it would be sweet to do a live heat map of infantry locations. I'd also love to get data from a past war to analyze.
Looks cool
@pure sierra whats that timer for? how long it has been under control?
yup
if >24hrs /24 = days
*that is one odd way of coding but yes
its just a gist
hehehehhe, I figured
otherwise I have some real respect for you producing something like this
prob some towns getting up close to the 24 mrk
you could also do maybe a 48hour cap
yep
would be nicer I think
because the difference between 1 and 2 days is way larger than 2 and 3
looks neat
well also if it says something like 67 hours, peeps be like, what is that
easier to understand in days, i correct it now
thanks
hey, thank you for doing this all
i web program for 'job' so its part hobby part practise
Very cool
you like to squint to figure out which mine is sulfur?
colorblind man, please help
then you wont have a problem switching to wardens
Blue is easier to distinguish, so yeah I will continue to shoot at blueberries.
many people describe the wardens as distinguished
im pretty sure we have higher moral standards
well we do have the high ground...
Give up Anakin I have the higher ground
no problem
fucking overlook
I feel the star war vibe for a sec there
void growUp(Ground* other){...
@pure sierra Colouring is great
Just, maybe, make it a little less saturated than FOBs, forts and such
I don't want to have an aneurysm, trying to figure out which faction controls TH in the middle of your kaleidoscope of colours
@native moth thanks, make what less saturated?
i guess the resource and production icons
Yes
@pure sierra how do you store all the data?
(and is this data aviable for some research?)
also, why these marks nani
oh well
lmao
@native moth ok will look into that
@languid harness mysql database ify ou want it ok
@raven zodiac im guessing that is mine, as i just checked and it looks similar
@pure sierra nope, that's not foxholestats
funny coz my page size was about 4mb too
That's about how long it takes foxholestats to load on my phone on mobile data
what I posted was stats on foxholegame

Yeah. And it makes it a fucking pain in the ass to save any of the photos they post
Because they're all fucking .webp
on the bright side wix includes every javascript library ever known to man, so youll never have a missing object...
has a missing object
The amount of imports at the start of my script are rarely justified
I must admit I've never been good about it, I'll import jquery just to run init function
Worth.
yea really need my stuff to work on IE6 
Sounds like something my brother would say
So this is why foxhole website takes weeks to load
yep
When a single image is 30 times as big as your code
@barren quarry who even uses png and jpg on the webs? gif is where it is at
Actually. Would making it into a .webm decrease the size?
I know those are pretty damn compressed.
madmen
hm, quite interestting
would appear there is not much difference with regular jpg by the looks of it
difference?
yes difference
what exactly do you mean by "not much difference"?
as in, you can not see much difference
they are image compilers
what can be different outside the quality of the image
and size
features
the giant png gets cached tho...
Yo
go to:optimizilla website
they'll optimize your images and wont lose quality.
or if you feel fancy, use texture packer 
@barren quarry try this.
if said image hasn't shrunk after going through this, it means the image is already optimized prior.
the clocks/duration on every town hall gives such a new depth to the map, @pure sierra
I know , its much better than i expected, you can really see the progression of the map
@long raft
you can instantly look at know where the fighting has recently been
or when i criticize people for not being able to tell whos winning? this gives a much better clue
its pretty great...
@pure sierra not sure about this, but I dont think that tower in northwest Farannac has been neutral for 2 days straight
I think it is more reasonable to think it was captured by wardens 2 days ago and maybe has went neutral over the night
not sure about it, could be that it has been neutral all that time, but it is something curious
@languid harness hmmm, interesting, i was looking in the event log on the farranac coast page, and there is no obvious mention of it, i thoght it would have been iuxta fort as that appears closest, but maybe it is transient valley valley, which would make 2 of them which might be port of the confusion if there is any
Perhaps
Also, can you please at a legend to the side of the detailed maps? trying to find the techmine thingies on the island maps...
@pure sierra icontype 38 is tech mine?
//ัะพัะผะฐัะธััะตั ัััะพะน ัะตะบัั ะฒ ัะพ ััะพ ะฝะฐะดะพ
@barren quarry
talking to dev phill, he's passod on the official rgb values for warden and collie, and said that it might make sense to transfer away from a system of providing variants for all icons and just let us shade them accordingly as th egame does
-Colonial
- (0.082283, 0.14996, 0.07036, 1.0)
- Hex Linear: 152612FF
- Hex SRGB: 516C4BFF
-Warden - (0.017642, 0.093059, 0.223228, 1.0)
- Hex Linear: 041739FF
- Hex SRGB: 245682FF
also he confirmed rocket site is ok/meant to report side in api and showing showing such data is ok
wow they give you both colors, how kind
makes it easier for them
@languid harness windows (arm) on rpi 3!
gonna try it later this week but theres a windows image for it now lol
i wonder how well foxhole wil run 
forget it
honestly why would you bother witth windows on a pi, its meant as an opportunity to learn and use nix
i dunno, same reason i use windows on a pc. cause i like to be productive hehe
its definitely just for fun...
i personally think its really cool such an inflexible OS as windows can be compiled on arm and has an amd64 emulator and stuff
microsoft had very little success with windows on arm half a decade ago
but $10 windows computer is pretty cool...
sure, but i can get them for free from any ewaste bin, but atleast its compact
its really low power too
i dunno, looking for things to do with raspberry pi, running is for linux is just so ... boring
linux lovely
way too much GPL ...
i slapped freebsd 11 on there the first week it came out. but whats the point of linux OR bsd without zfs. sigh
I havent had mine working yet,,, since I have a Pi Zero I need a micro hdmi for visuals, and those are hard to get for me for some reason
ah yea i needed one too, i ordered a couple for 6 usd
almost as expensive as the computer
its mini hdmi btw
i think micro is the smallest one?
Man this ahk script saved my day for not hurting my finger while grinding resources or building
so simple but made my day
you might not want to mention that.
Yeah. You really shouldn't have mentioned that. Especially with the actual code for the script.
granted, how could someone think saving their hands would be against the rules
void shadowDance(long time) { if (time % 2 == 0) moveLeft(); else moveRight(); }
@gentle sage Autoclickers are not allowed in foxhole.
well good luck to find that out who uses them and who not
Atleast this saves me from wrist pain
its still almost criminal how much they expect you to hold left mouse down
i would recommend using windows' standard mouse driver's click lock feature to help them with left click
i realize its no longer on topic of code but if somebody used a steam controller to play this game
^ That isn't against the rules as far as I know.
it would be very easy to configure it to hold mouse down, etc, is that somehow different than an auto clicker?
As far as I know - if it is physical, like a piece of tape, it is allowed. I believe the only program allowed is windows clicklock.
damn steam controller can be configured to type out macros and stuff
but its done in software, in the official steam controller settings for it
my god that thing can be configured like mad
if i didnt rely on a keyboard so heavily that would be my preferred method of playing it
guys, we all are humans, no need to play fair card when whole game is so time consuming 
I can also say that autoclicker and even ahk bot are not much effective w/o teammate helping u, so at the end of a day it doesnt even matter
yep, botting is bad, but that's a minor issue compare to other threats like actual bug abuse or cheating, griefing
can we have the RGB values pinned? very helpful for everyone making stuff for Foxhole
is this chanel only foxhole code things or can i post some silly code things ttoo
Its a geek den for anything code related
anything
@gentle sage silly code things?
@gentle sage it all says it in the Channel description and pinned messages
So as we recently discovered the map images for Oarbreaker, Fisherman's and Tempest islands are outdated on the github repo. I can't find them in the google drive assets either. @pure sierra You said you had a way of finding them?
try that
alright thanks so much ๐
ew .jpg
@sturdy stream .png files are here if you want them: https://drive.google.com/drive/folders/1tAUXolvEcetqLczbQ7xxbpcxOF-VbUgO?usp=sharing
Alright thanks! No worries though, I compress them slightly to jpg anyway cause you win so much memory while still preserving 99.99% of the quality. I like making my apps as small a download as possible ๐
@sturdy stream apps?
Yeah I'm making a kind of "companion" app for foxhole
android & iOS it's practically finished, just need to sort out all the AppStore & PlayStore stuff and then I can release it ๐
Someone shared this today and I think you guys should be allowed to enjoy it too. https://www.destroyallsoftware.com/talks/wat
i know what this is instantly without clicking
i love this talk and recommend this to everyone
yea pretty funny
we got em
do u guys have 0 experience with c/c++?
btw will this same video be funny for u w/o ppl laughing "in a back"?
cuz if it will be then u can try to read about tons of other shit in these languages and have fun
his comic delivery was funny also
@kind glacier Wat
Died at the Java arrays and objects
like what the fuck is going on there
Knew this was coming but nice to see it announced:
WarAPI
โ Statistics like Casualty count are no longer cleared when game servers restart


axyenno
In regards to the chats above with auto clicker and a using tape. I've developed a hardware fix for hold the LMB on long build jobs. Place your keyboard on it. I find that its a balanced solotion, as my hand is off the mouse and the keyboard is out of place, so it takes second or two to reposition and respond. GLHF. (Collie R&D Dept.)
yea but click lock
Click lock is grounds for ban. As weird as that sounds.
yeah, never got that. How are you supposed to check?
flying around construction sites, looking if people react if you suddenly land beside them?
Fun
@edgy harness KFC literally said that's not bannable anymore I swear the "being allowed" part was said somewhere, I just gotta find it
ban for click lock? lol.
thats a refund.
you cant ban me for my default laptop mouse driver settings
i mean you can but ... ill get refund haha
They can't even tell unless you fucking mine fuel for 6 hours
sure they can see me swinging my hammer at air
Yeah thats what i wanted to write too
@barren quarry is the tool up?
its kind of insane they have any say about my input means, is this the NYSE?
coolio
and that whole steam controller thing
its now posted into #community-resources
yea in the 80s when they hooked up computers to the NYSE for trades
Shame this devstream didn't have community highlights tho, i was really looking forward to it.
they implemented a rule they couldnt do that, because it was too fast to compete
so these guys rigged up typing machines to enter their trades for them
oh lol
like physical machines...pressing keys
and then years later they realized how dumb that rule was
but imagine youre dealing with somebody who uses macros or something because they have a physical accessibility issue
e.g. is the late steven hawking not allowed to play this game?
i know thats ridiculous, but ... yea
If we keep holding the mouse button down, I'm sure all of us are going to get a physical accessibility issue
damn fingers man
thats when i started using click lock, because i could feel that burn all up my arm
and clapfoot probably doesnt have deep pockets
When i was a mod i've seen people with bots that would go around and mine fuel or components for hours
that stuff we banned because its just too much
yea like full scripting
but putting weight on your mouse for several minutes isnt an issue
its ... kind of absurd to have to do
why?
"whites start and win" I dont need any *-ware trick to use "weight"
but if I need to farm tanks for 2-3-4-5... hours I can go full-scripting mode
I was thinking to suggest we could talk about seeing is we could agree on something new to be added to the api, to request together. Nothing too hard for devs, but maybe something that could change the out of game experience, even if it meant revealing what would other wise be sided information that is generally known by both sides any way...
white (destroyed) fob locations?
maybe it was too map specific, but I find giant missing pieces of map in my head when only the town halls are shown, i don't have a sense of where actual front line movement is happening
because the fobs are missing - and the destroyed fobs would be known to both teams
and perhaps its easy because its already similar to town halls
maybe a way to detect townhalls are being contested? that way you could draw estimated front lines
like, two opossing towns with neither detected means the front is in the middle, and if one of them is contested you can let it slightly move depending on how long the fight is going
u mean sort of heat-map overlay for map?
@languid harness
I mean u can use some heat-map algo to make something similar
or just use some curve algo to draw curves but there will be some edge cases
I was more about curves
which might slightly move depending on the "weight" of the points used
high-weight = contested, low-weight = uncontested for a day
If you would save all the data, you could get some advanced review capability for each war
dunno, Im trying to figure out which algo to choose for this
mb some chart algo can work for this
like u have x,y,0 for warden and x,y,1 for colonial
mb heat-map algo is better, u just need to find proper way of filling cells, nothing more
hmmm
I assume you are using some kind of libs or?
because you could do my idea very easily vector wise
it is a bit of geometry, but not necessary hard to do
nah, I was not using anything, just searching for same solved problem, like heat-maps, bezier curve mb some regression lines
for example cell solution can give u then a way to detect frontline and draw a border
no need for geometry
I mean we dont need to call this simple calcs a geometry LUL
but we want efficiency dont we?
This thing is running 24/7, so if you can cut on the effort it takes to draw something, that would mean less maintainance
thing is updating once in 5 minutes
and perhaps also allows for more effective data storage, which may be beneficial when doing research
so there will be 5*maps_count calculations + dont forget u can cache calculations
like they were doing it in Doom 2 lol
lol
what do u mean by data storage?
well, you want to see what has happened inthe past right?
cell algo needed to find "closed paths" nothing more
it depends on u how to store em
like, there is a difference between saving a bunch of PNGs and JPGs
no, I was thinking about sending paths to browser
and then draw it on client side
as overlay or sometihng
It is an example
just abstract from representation then
If you want to save griddata as for a heat map, you have a lot of data, if you can save a set of "random" datapoints and calculate from there, it would be more storage effective
u have map, u have size, u have townhall coords - that's all u need
exactly
nope, to hold heat-map u dont need tons of data
at least in this case
but it depends on heat-map lib tho
and then if u need to store "past data" then just store townhall history nothing more
so u can calculate every frame later caching calculations to abuse RAM etc.
or some risky solution to store "updates only", not whole dumps
bat even in this cases u can zip data, townhalls dump or heat-map dump, doesnt matter
u just need zip many dumps at once for better ratio
but I prefer not to start with premature optimization, better to have working algo so u can tweak it later
Boop, drew something because I figured we were talking past eachother.
This is my idea, you create a set of linear formulas and find the crossing of those and based on that you can draw a front line. You can expand this by giving weight to certain towns based on how long they have been under control by the faction, in which case the perpendicular line would move over the relationship lines
@raven zodiac It would require no actual extra stuff other than what is already aviable by the likes of foxholestats
Or, if you want to make it as accurate as possible, ask for a "contested" flag to be included in the api
and use that for the weight
yep, I sketched same solution some time ago, but if u have some isolated city what should u do?
for example Endless Shore
ofc u can apply ur solution for some maps, no questions
Well, if you have a single city on the island, you can simply make no connections. You would just draw a single point on that island and base its colour on that
Endless shore is quite easy in that tho, since every island has multiple holdings
but then again u need to fill area or draw a path
You could use a simple mask layer, could do it with 2 lines of code in python's PILLOW
just draw lines, then overlay with a coast map
or use machine learning, sorry for this python joke
why do u wanna draw it on backend?
idk, lemme sketch something
k, if u wanna use back end for prototype, why not
@raven zodiac you would draw something like this
and then put the map on top of it with (partly) transparent layers
ยฏ_(ใ)_/ยฏ
but again, if this works for u - noice
by hand? you could automate that
its a voronoi polygon
i think it wouldnt be at all accurate with only the town halls as data points though
You can automate it fully, I made something similar where certain squares would e coloured based on data in a table, and then it would automatically overlay with a different picture with terrain of a map.
@long raft and sure, it wont be super accurate, but it would give a little more of an idea of what is going on. It would be the easiest if you could get the data on defence positions and player actifity and all, but that would result in intel leaking and stuff, so with this detail it would suffice I think
destroyed fob
gives you that intel
it tells you the most recent defenses that have been destroyed - indicating where the front is
and its not leaked intel
sure, you could add that to my idea as well; would require a script to detect the nearest couple of other bases
but besides that would work I think
it would work but it would be ... extrapolated
((example of code output btw from earlier))
ive noticed people using the API for maps are very conservative and dont like to extrapolate
well, why would you?
lack of data points
you have a risk of displaying your intel wrong
exactly, lack of data points
But is it really necessarly game-wise to know everything?
Wonder if you should, rather if you could, if you get what I mean
yeah
and then put the map on top of it with (partly) transparent layers how do u wanna automate that?
ive noticed people using the API for maps are very conservative and dont like to extrapolate what's a reward? that's boring statisticall and event processing stuff
@raven zodiac well, there is a command for that in the Python Pilllow libary. Idk what language you use, but there is a lot out there
just open photoshop, select the interior, set it to 50% transparancy or something, then let it slap that layer on it after every time you generate the front lines
that's why I said by hand @long raft
This is what happens in my code:
1st line: the generated immage is assigned to Print_image variable
2nd: a cover image I once made by hand is pasted on top of it
4th Image is saved
you throw the points into a scrip for qgis, you get voronoi shapes out, spit to CSV file, adjust color values on each row based on duration, then convert with ogr2ogr into raster image
you just have to use photoshop once
this are the originals of the map I posted earlier
draw on top map, overlay bottom
easy as that
I mean, when u need this good lookin transparency u need to do it by hand
no?
anything you can do by hand the computer can do faster
you dont have to do it by hand, no
it does it automatically
dude, go, download actual Foxhole maps and try to teaach the computer to semantically choose proper regions
๐
yea there are plenty of heat map calculators
no its going to be sloppy, its going to slop over mountains and stuff
@raven zodiac it doesnt need to son
thats why its extrapolation
oh man, whatever, Imma outa here
that's why what we can see on picture should be prepared by hand
but it doesnt make it more correct to create regions by hand
thats the problem with doing it. makes the map look better, but its not more accurate
what we are discussing, I just said that its too hard to teach computer to make good-looking layers to hide stuff
just check our conversation
there are 2 images
oh i thought you said the computer cant figure out how to set the colors
naaah
I was talking about "hiding" stuff to make a good looking picture
like at first we have this
but then we apply transparency masks
but u need to prepare masks first by hand
that's what I meant
๐
ofc u can try to teach intellect to find water etc....but that's ridiculous
but on Endless Shore there are towns in the middle of the land
so u need to prepare transparency masks by hand
it his really small effort, and you only hve to do it when the devs change the maps, which is just ike 1~2 every update, and takes 10 mins if you are skilled enough
yep, but as I said - that's just not my approach and if it works for u then "noice"
nothing more, nothing less
idk, I am just a jack of all trades, for me this is an obvious way, but do as you please ๐
since I dont wanna generate pictures on the server I cant go this road
#thatsnothowmafiaworks
lol
So something ive thought maybe we could talk about requesting for the api,
something that would help with heat maps and knowing the front
no bites ? well maybe ill mention it later
in the mean time here's a handy plugin for gimp i use for batch conversion and resizing of the api images https://alessandrofrancesconi.it/projects/bimp/
@pure sierra well, we talked about it just a bit earlier before spinning off into a discussion about automated image editing
I know, but i was referring to my most recent comment , will ellaborate when i have time again
means its under cunstruction
something thats actually not shown in game any more
so i have 2 ideas
actually that one wont work
i thought we could make the town hall logs public for stats, but that is sensitive
Yeah, that's pretty sensitive.
dont want to hurt no TH feelings, do we?
ok so my other main original idea which is more a longer term one is
To make all or some of the map intel that "OVERLAPS" public
hdym?
In summary, The stuff that both teams see on their map, make public
not enough delay
You'd need at least a week delay probably.
That would likely be something only available at the end of the war.
so what do you thing my idea ? In summary, The stuff that both teams see on their map, make public
I dont care, just gimme gimme info
Mhm. Would be a lot of work, as I don't think the system is in place for that.
Would be cool though.
need 1 week - ok, make 1 week
even current system is enough, just make it more verbose
all they have to do is compare warden intel against collie intel and the matches get reported
Maybe. We don't know how they check intel though.
spam all updates to some simple server to store it as json, zip it, git gud
Wouldn't surprise me if each sides' intel gets marked differently for every foxhole.
no it wont
well it might
but it shouldnt
as each teams towers are seeing the same structure
this is foxhole...
the only problem i can see maybe with this idea is that peeps can keep copies of the intel after it is not shown in game, ie tower destroyed, but i think this bee too hard for any one to worry about keeping and displaying and it will also be ot of date
I'd hate if all map info became aviable
the whole concept of intel will go to waste
You also need to have a reason for people to log on ๐
we dont need it for intel - just for timelapse
for inf we already have enough info to find trends in casualties
per region
Well, I think if it is added, it should be published by the devs after the war has ended
because I bet yer ass someone is otherwise gonna get that data and use it to their advantage
depends on delay, if today I can get full data for same time from yesterday - its ok
80 servers running on war map bot
says 79
@languid harness for example, 1 day delay - why is it so bad?
@raven zodiac well, how long do you think it takes to build a base, how often do they get made, and what can you conclude of the position of bases
@young pilot It still dies like once a day.
@languid harness conclude what? base's pos with 1 day delay is nothing
You know where the enemies stockpiles and such will be, where they have a vehicle depot and which are the "back towns"
and so many more reasons imma not even bother writhing them down
It would need to be end of war only.
because I wont want to be here tomorrow
@lunar cobalt agreed
if you want that data for research, do it after the war
not during that war
NOOOoooo......
@young pilot I still fucking love that bot, thank you and your guys for making that.
huh, someone made a mobile app
Mhm. That's cool.
noice, ppl are going away from actual gameplay
Social media addiction strikes hard
@languid harness Yeah that's my mobile app ๐ If you have any ideas/suggestions/bugs/whatever feel free to message me
And yeah, just doing my part to spread addictive gaming media culture ๐haha
I was not joking btw
hhehehehehe
hey @sturdy stream , nice work
ok, I will give this game another six month to see what will happen
oh, your so negative sometimes
the moodswings of this man, unmatched
just added mobile detect
now a mobile will default to the slim version, though full is still a choosable option
hey, @native moth i dialed back the saturation on the colored icons, what do you think ?
Im not negative, and there is no mood for this sort of things
game and community moves in some weird direction so there is no point of tracking changes more often than once per 6 months
I also dont get the point of shifting focus from playing game to some social stuff, so 6 months
tracers and blood are fake, we have big ping (servers are located in canada), but ppl are in love with some app for smartphones? nah, that's some bs, I need to give it a time to grow 
idk, I regular check up on the game even tho I dont play regulary
the fact I am in this discord is a tribute to this, and I regularly use foxholestats. I would get this app if I had the space on my phone for sure, would reduce the hassle
Also: I made in the spawn of this day a Discord bot for playing checkers, it has basically everything except removing enemy pieces, but then it would be pretty much done I think
((spend most of the time actually implementing a system that prevents you from placing pieces on top of each other))
I feel like the amount of coded community content compared to people that actually play the game is enormous
hehehehehe, for sure is
Maps, tools, apps, wiki, timelapses
Its almost as if community is participating in development
also throw in all the art ๐
^
have you heard of murphies law ? it goes something like, Step 1 - Go on mini publicity blitz for the website, Step 2 - Make some changes, breaking it not knowing, Step 3 - Go to bed....
good thing I actually dropped it already
but I dont think that is how murphies law went to
thats how i fucked up the interactive map recently
i added the code to record the warapi every 5 min, was supposed to upgrade it in the 2 weeks but was lazy
so yesterday it ran out of space (190 mb)
and just stopped working
oh
it wasnt responding to my commands either because the disk was full so i had to manually delete the database file
yeah thats nasty when u run out of disk space that bad
do you think disk space will be a problem with you storing that data ?
@barren quarry
i turned it off
apparently the colonial discord has a bot that posts events
so i can just parse that
lol
so i just record the casualties now
"apparently the colonial discord has a bot that posts events" is this mine or someone elses ?
@barren quarry
i think so
looks like my format
i have all that in a db if you ever want it
i push that data, my event log, to anyones discord that wants it
@barren quarry
@sturdy stream damn, nice work on that app bro
Especially considering that an Apple Dev license costs $100+...
The price of a hobby I guess haha ๐ Hopefully I get to make more apps in the future to get the most out of it.
@barren quarry Yes, that is hayden's.
im in a lecture right now, they are not fucking around lmfao
oh god
@young pilot what else? Is it required to offer a child to the bloodgods?
maybe he's trying to make it hard
like whats wrong with using a continue inside a foreach ?
i guess they they are trying to make it easy to mark without a spaghetti of logic flow
and no shortcuts or ways out of weird logic situations by coder
@young pilot G L O B A L V A R I A B L E S
i must confess, i use global variables a lot
like, if you need to do multiple operations with a set of data at different times, where do you store it inbetween the operations?
Use a static object uwu
Only globals you should ever use are constants. Actually mutating global data is a rabbit hole that will kill any code base ๐
Welp, never had issues with it
but to be fair, I havent run my codes for a longer periods, so perhaps storage gonna give me headache
also update on my Pi: I have finally a mini-hdmi cable, this week is a really busy one, but next week I have a "free" week, so hopefully I can get everything running in a weeks span
and then eBic discord bot adventures
globals are as bad as singletons!
i dont normally use goto, but the few times i have they have been very useful
agreed! modern languages need a break command that can say how many loops to break out of, like:
for(x...) for (y...) break 2;
goto ends up useful there
https://www.youtube.com/watch?v=b_sfui2w740 @edgy harness
seeing as i didnt get to show it off in experimental i thought id record the demo and show you via the video, however a recent lecture in high level has give...
.
at the end the one of the cars misses the trigger box that tells it what lane its in
yeap welp a shame i might be doing away with it all XD
some of the instructions were mixed up though which is why it slow down when it shouldnt on straight parts
well i figured id go with something more chill
not sure some people would apreciate alestorm
or dragonforce
Is there a way to get infos about a Soldier / User and his War History?
Would be awesome if there is a way cause with this and Steam API we could check if someone can be trusted as warden or Colonial
Sorry @latent osprey any players information is not available anymore, bt maybe in the future
Damn
((foxhole stats is down for me))
yeah, it did, i rebootied it though, thanks
rebootied
rebootied
rebootied
rebootied
rebootied
:defaultdance:
dab dab dab dab
when did this become #cringe-corner ?
when you quoted a typo 
Maybe rebootied this channel?
goddamnit they got the salt
well, time to spend an hour changing a couple of passwords ๐
Also, Spectre 2.0?
Not relevant to this channel. @neat fossil
??? I've post something here ??? @edgy harness
Ohh lol sorry.. I thought I was on the off topic channel
ooh la la ! i spotted some new values in the api !!!
@barren quarry
@sturdy stream
29 is a fort
im talking about the two first keys
Better key to location maybe?
i guess unique identifiers
maybe they will use them to match up witth the text items too among other things, though currently those keys are empty in static
my current functions for matching objects in foxhole global are fucking horrible
they have to use region id, x and y
so i guess this will help
im guessing also one may be unique overall and the other just for that war ?
not all objects have it yet though
@rocky spade can you provide us some insight into these new things?
the objectindex and objectserialnumber
maybe @noble sage can
so this new feature is why my event log has been reporting spurious events for team none
some objects index/serials are changing
triggering my event code
this is a bug
but i can code to accomodate it as usual
@zealous sonnet might know
thanks
im also thinking maybe its something to do with the new resistance phase
for items that go between wars
@barren quarry
Could be
anyone noticed this ? https://github.com/clapfoot/warapi/issues/49
That's the color as far as I know
its practically black though
Not on my screen.
screen shot your color picker with the hex value in it
Is that what you want?
or
that is not relevant, its meant to be the colors for the icon team variants
It is relevant. Because that is the color it should be.
so phil says objectIndex and objectSerialNumber were never meant to get into the API and thus just ignore them as they will be removed @barren quarry

This is suppose to be code talk yes? Okay. I will send a coded transmission through here sometime in the near future.
@cold siren it says on the top, read the pinned messages first ๐
Oh, my apologies.
CoDeS n StuFf
But if most of the code is blueprints?
...


something about Warden clans. lol
