#code-talk

2 messages · Page 27 of 1

hollow gyro
#

Adding:

There is a relationship between both 'dynamic' and 'static' data, for example a Town Hall's label (e.g. 'Allsight'), and the position of the Town Hall structure itself; however they do not share the exact same x/y positioning.

pure sierra
#

You need to say specifically to match one against the other you must loop through all labels and find the closest

hollow gyro
#

Have re-worded the bit you referenced:

Combining this with World Extents allows you to have a highly accurately proportioned hexagon, and positioned structures/items within; however it is not a blocker for generating a graphic of a hex.

pure sierra
#

change 'a blocker' to 'necessary'

#

also maybe mention that "Region Zones" are calculated with Major map markers and Hex vertices location and Voronoi math

hollow gyro
#

I have not implemented either of those, you're welcome to add a section if you like

pure sierra
#

Id rather you just do it for me 🙂

#

just say what i said, the main key word missing from the api docs is Voronoi which needs a mention

hollow gyro
#

Not sure where to fit that right now, maybe another day.

#

If you want to DM me some resources for them, I could learn it and then be more confident on what to write about it.

pure sierra
#

just as a section after flags

#

you dont have to say anything more than,
To calculate "Region Zones" (control sectors within regions) use Major map marker and Hex vertices locations with Voronoi math.

hollow gyro
#

Enlistments - Is that the unique number of players, whole war, or total deployments.
e.g. if I login to 1 Region once, and another twice over the war, will they be [1, 1] or [1, 2]?

pure sierra
#

its the number of unique players to have played on that map in that war

hollow gyro
#

Cool, so [1, 1]

pure sierra
#

only count on first join

#

but key thing is that its not unique across maps

hollow gyro
#

Yup, got that:

Note, the enlistments here are unique players per map as per the API; a player deploying to two regions will count to both's 'totalEnlistments' value; therefore totalling the enlistments for all maps would not report unique players for the war, but significantly more.

#

Changes uploaded.
Voronoi another day

#

Your feedback is appreciated @pure sierra thanks

pure sierra
#

seconday one

hollow gyro
pure sierra
#

missing r

hollow gyro
#

Gonna have to be more specefic than that @pure sierra

pure sierra
#

spelling

#

secondaRy

hollow gyro
#

ah "secondary one" thanks

#

I thought you meant my second-edit

keen dawn
#

That should fix it

long raft
#

i wonder if the best approach is correlate 3 regions, and then base everything off of those derpthink

#

that seems like the simplest way

#

still gotta sample the height along the borders at every border, but the algebra is trivial

#

makes me think just 3 points along the same border might have enough variation to correlate them even... hmm

pure sierra
#

this is neat

summer bobcat
pure sierra
#

@glad whale so how hard/likely will it be for you or us to update these as the game maps change ?

#

@torn pike did you see post above by rust

torn pike
#

Thx

pure sierra
#

i think that is what you are looking for

long raft
#

my calculator figured out all the algebra. this thing seemed like a waste of money until now

hollow gyro
#

@neat fossil

long raft
#

ti nspire cx ii

long raft
long raft
#

thanks!

neat fossil
lost pier
#

is there any way to get tech information from the api or any website?

pure sierra
lost pier
#

do you know of a discord or site that would have that?

pure sierra
#

no sorry

#

im not in any clans or faction specific servers

hollow gyro
lost pier
hollow gyro
long raft
#

also im having trouble lining them up with the normal maps. my assumption is there is 200 pixels buffer on every side

pure sierra
#

im just working on mine too

long raft
#

its not going as smoothly as i hoped, i derived the math, but i can hardly find 3 different values on a border to correlate together

#

made a program to sample the border points and spit them out, but theyre not aligned

pure sierra
#

are you trying to normalize ?

long raft
#

yes

pure sierra
#

do you think its possible to find a fixed offset per map ?

long raft
#

i sure hope so, i need to find 3 shared points on a border for 2 maps to do it

#

they have to be 3 different points, and its 3 because im assuming these are quadratic

#

maybe im just not lining the maps up where i sample them. but i couldnt help but wonder if the height was in the G and A channels then it should be 16 bit but this grayscale png is only 8 bits

pure sierra
#

could be something simple like that

long raft
#

then maybe tiff format would be best?

#

tiff will do 16 bit grayscale

#

or raw format

pure sierra
#

need to get @glad whale input on it, he did offer the scripts, likely you should get a copy

long raft
#

but yea theres not a lot of variation on a single border, so i fear there will be significant rounding errors

pure sierra
#

1st attempt, just mask and tile

long raft
#

where do you crop them at? looks like you have stuff lined up pretty well

pure sierra
long raft
#

feels like less variation than last time doesnt it?

pure sierra
#

2 sec

long raft
#

its like the pixels have been quantized

#

it almost looks like 4 or 6 bits to me

pure sierra
#

seems better yes

#

im not going for 100% detail

#

as i resize the height maps down to 1024x888 and crop and mask before tiling and do contour

#

but could be done at full rez if i wanted too, but for my needs not necessary

long raft
#

i feel like we might be dumping precision, which i would want more of for normalizing

#

also everything just looks very flat now

#

which matt totally warned was the case

pure sierra
#

old new

long raft
#

sure looks quantized

#

maybe better to compare the grayscales but yea, ... yea

pure sierra
#

let me run a contour on the 'raw' map sent from rust b4 i work it

long raft
#

im hopeful rust can dump it in 16 bit glory

pure sierra
#

you know the maps i got say 16 bit

long raft
#

really...

#

im using the uncropped ones

pure sierra
long raft
#

you are too?

pure sierra
#

thats all there is

long raft
#

so they are 16 bit grayscale pngs??

#

didnt think png could even do that

pure sierra
#

they have been saved that way, but i guess it doesnt mean the data is actually there

long raft
#

windows reports 64 bit depth wow

#

i did not know png could do that, gonna google

#

wow legit 16 bit

#

awesome, ok ill make adjustments in how i open them

#

and where are you cropping them at? i dunno where exactly to ...center them

#

they seem like theyre all offset unevenly

pure sierra
#

no its even

#

resize to 1118px wide

#

crop to 1024x888 centered

long raft
#

i dont really need to resize but i will need the crop

#

the size is 2395

#

so I crop to 2236 wide?

#

and 1776 tall?

pure sierra
#

prev maps and new maps.... def detail loss

long raft
#

looks ... totally different in shape

pure sierra
#

odd hey

#

(great march)

long raft
#

is that DL?

#

oh ok

#

well maybe rust can tell us more about the precision

#

seems like i have something more to work with tho now

pure sierra
#

so the original ones report 16 bit too

lunar cobalt
#

the new maps are more correct I believe

long raft
#

i wonder if the devs have been normalizing them and redrawing them, i dont even notice it in game

#

or maybe theyre flattening stuff actually, for building mechanics

lunar cobalt
#

would make sense

pure sierra
#

that did cross me mind (that matt may have been at work)

long raft
#

it would make total sense, also i would expect to notice it

lunar cobalt
#

the maps tend to be "flat area -> height step -> flat area" rather than "ramp"

long raft
#

the gradients are awful for bunkers eh

lunar cobalt
#

yeah and just general overhead camera stuff

long raft
#

or the height maps are normalized but then scaled in game display ...

pure sierra
#

but theres just no data there in some places, not just a lack of change

long raft
#

what do you mean

pure sierra
#

whole hills are gone

#

you cant scale nothing

long raft
#

oh right

#

hmm ive been doing a ton of scaling work lately, it never occurred to me somebody would want a mathematically correct image scaling method before now, but for an application like this it would be useful

#

the high quality image scalers use what is more visually correct than mathematically correct. they try to avoid 'ringing' because it looks bad

#

i guess you could just use bilinear in this case and get away with it

pure sierra
#

i just thought of something @long raft

#

my contour program is only creating steps in increments of 1 from 0-255 (8 bit) but when i go over the map with picker it shows changing detail with decimal values, so 16 bit ?

long raft
#

yeah unless its interpolating between pixels

#

whats the 0..100? is it scaling it?

pure sierra
#

oh missed that

#

same thing on 0-255

#

one pixel 117.2

long raft
pure sierra
#

the next 117

#

im in gimp

long raft
#

sure seems like it has extra precision in there

pure sierra
#

my countour plugin would be ignoring that

long raft
#

in my program i think i will have more control than paint.net allows me

#

youd have to convert them all to another format i would think

#

realistically they should be treated as floating/fixed point

pure sierra
#

my countour plugin at most adds a line every 1 value change

long raft
#

and it only works with 8 bit?

pure sierra
#

as its a plain text script plugin i can likely change it

#

but could there be a way to scale the 16 bit to 8 bit without data loss ?

long raft
#

if you ... normalized it? like the min -> max range

#

but it would still incur some precision loss, and it would look wrong

pure sierra
#

those are the plugins, the map one call the base one

long raft
#

is scm gimp format?

#

no way too small

pure sierra
#

script

long raft
#

oh the contour script

#

its for gimp? but gimp is already using the precision correctly, right?

pure sierra
#

gimp is but not the plugin, it is user authed

#

seems only written with 8 bit in mind

long raft
#

not sure where it loses precision in that

pure sierra
#

so the gross change it wont loose, but it will loose the fine detail in between

#

if its only drawing lines every whole number change

long raft
#

yes, but where...

pure sierra
#

it misses changes that are just a fraction

#

where where ?

long raft
#

i dont see any rounding or casting to integer values

#

and the height range is still between 0 and 255 even though it has 16 bit precision

#

so the math should be the same

#

perhaps the smoothing amount is too much

pure sierra
#

i could try that on 0

long raft
#

is this python? im not familiar enough to be able to spot a rounding

pure sierra
#

i think its python but not 100%

long raft
#

god it looks like ... haskel or something

pure sierra
#

it might be native

long raft
#

gimp script o_O

pure sierra
#

there is a python console as well but i think that seperate to script-fu console

#

its called scriptfu

long raft
#

i wonder if it creates an 8 bit pixel depth layer

#
(theLayer (car (gimp-layer-new theImage
                    (car (gimp-image-width theImage))
                    (car (gimp-image-height theImage))
                    RGBA-IMAGE "Contour Map" 100
                    NORMAL-MODE)))
     )
#

maybe RGBA-IMAGE is inherently 32bit pixels

pure sierra
#

no its not

#

well maybe

#

i can check

long raft
#

i cant find the docs on it

pure sierra
#

that is your interval

long raft
#

perhaps the seperation value should be /256

pure sierra
#

would it not be /10

#

to add a decimal

#

essentially trigger by 0.1 change rather than 1

long raft
#

no, its 8 bits of precision

#

2^8

#

to get your value youre doing x/(256-1), but it should be x/(65536-1)

#

its binary, not decimal

pure sierra
#

(in gimp afaik you cant have layers of different precesion, its image wide)

#

problem could just be that the widget to pick the sep only allows whole numbers but i can easily tweak that

pure sierra
#

so while i was able to make it calc every 0.1 difference i still ended up with pretty much the same picture

#

it took much longer so i know it was different

#

maybe theres just only so much space for a 1 pixel line

#

you cant draw 2 lines in the space of 1 ...

long raft
#

maybe you can shrink the line weight

pure sierra
#

i did

long raft
#

oh maybe you should leave it the same

pure sierra
#

i did 1 px lines

languid harness
# pure sierra prev maps and new maps.... def detail loss

I wouldnt call it detail loss but rather better playability. The region can cause quite a headache with its slopes. You can see they have flattened most playing terrain. As for the hills, they are covered in rocks anyway, so little care has to be taken there

pure sierra
#

i agree its a good thing, its just at the time i thought it might have been a problem with our map aquisition.

pure sierra
#

and maybe even a result of our original topo maps, as it generated some talk about how bad it was to build in for example great march @languid harness

languid harness
#

Ah yeah, I hadnt read the whole talk, just noticed those maps and commeted what I saw beside it 😁

pure sierra
#

@long raft i ended up tweaking that resize a little bigger

#

1124px

long raft
#

ok will try it myself

#

im wondering if my methodology will ever work for this, i am finding it difficult

#

just finding 3 matching points on borders that are supposed to be already aligned, e.g. I deadlands/marban is difficult

#

im seeing the 16 bit precision tho

#

perhaps its just a scaling issue

pure sierra
#

or dont worry about it

#

do you need them to all line up ?

#

i figured i didnt

long raft
#

for all the regions that arent normalized the same i need at least 1 shared border, with 3 different values on the border

#

i cant use the height data if its isnt unified, frankly

#

i would happily pay $100 if i just had all the scaling values for each region lol

hardy crane
#

Is it possible to get a higher res version of the topo map? This is incredible, and I'm in awe at the work that's gone into it

long raft
#

this is what i have

long raft
#

wow hayden that crop width looks fantastic

hardy crane
long raft
#

this one is cropped to the specs hayden said, he posted his script fu gimp script for making the lines although i dont know the exact settings, but you could remake it higher def

pure sierra
#

@hardy cranecan do the contour at higher res than i did , but not the basemap, though we can just enlarge/zoom it and its still looks about the same

#

@long raft once i correct my reduction i got rid of those black lines between

#

1124px

#

thats just at standard api rez

long raft
#

i still feel like... the texture is shifted by a small amount vertically

#

probably horizontally too thinkangery

#

i realize some missing textures in the water isnt a big deal generally but it jsut seems .... i dunno ...

#

i keep pulling bad samples its very difficult to sample points around the borders

#

also you know would be nice for the topography - add the satellite map as a layer, use it to select all the pixels the color of water, and delete them from the height map before doing topography

#

so that below sealevel stuff doesnt show up

plush bolt
#

is it possible to use higher res map files than the default ingame

pure sierra
#

Im not sure they are available anywhere

long raft
#

skaj would know...

pure sierra
#

only option would be if they in the pak

long raft
#

he took the unprocessed, reprocessed them, they are 4x the size

#

not sure if he had to rescale them back down

#

i assume its a texture so 0.0-1.0 is still the same regardless of size

pure sierra
#

lmc in game

#

so i just checked it game

#

and the map seems pretty similar to the api ones

#

so id say there arent better ones available @plush bolt

plush bolt
#

oh i didnt mean the original map I meant using any higher res texture ingame

mossy pelican
#

ingame map is not high res at all

long raft
#

like i said, skaj would know

#

he made the map mod

pure sierra
long raft
#

oh jeez i misread

#

yea i would think in theory you could replace textures with higher res

plush bolt
#

replacing the low res map used ingame with anything higher res

long raft
#

i dont think anyone has

pure sierra
#

but how would you get a high res map ?

plush bolt
#

hypothetically it could be anything

pure sierra
#

but anything wouldnt line up ?

long raft
#

you would use the sat maps

#

they are twice (squared) the resolution

mild sphinx
#

Yo @pure sierra, im the one from Reddit who is trying to 3D print the map. You told me to ping you

pure sierra
#

@mild sphinx

#

this is the height map i generate the countour lines from

#

we can get the a higher rez version in time if you need

#

but one thing you might have to deal with is that some of the regions are 'scaled' differently than others

#

an extreme example of this is the lighter segment you can see middle right

lunar cobalt
#

and the darker farranac

#

land colors appear to be somewhat the same, but water colors are different for basically every map

pure sierra
#

@long raft is working on trying to normalize programatically them but im not sure its worth it or possible, maybe just by eye it could be done if we had a 3d model of it

long raft
#

i could at least make a program to do the adjustments ... hmm

#

i wonder, is there any way to go to the maps themselves and correlate any heights? and the bias/offset could be eyeballed

pure sierra
long raft
#

like survey the maps in person, and relate that per map

pure sierra
#

thats what im thinking

long raft
#

and pray its linear

pure sierra
#

im going to try getting it into blender

long raft
#

no i mean playing foxhole, calculating something known

pure sierra
#

ha, playing foxhole.... how you going to measure height in that

#

hard enough to even see it

long raft
#

im not sure how but ... yea

lunar cobalt
#

Well we know areas where they should be the same

long raft
#

maybe over a large distance

pure sierra
#

cv for scale

long raft
#

using binos? it might reveal the altitude difference

lunar cobalt
#

like go to the same road crossing on both sides and base it off that because those should be the same altitude

long raft
#

we need 2 points involved

#

assuming its linear

#

so like how tall a mountain is

#

im not sure if using binos like surveyor equipment would work. based on altitude difference your max bino distance is different

#

maybe its consistent enough to measure elevation differences

lunar cobalt
#

it's probably rng

long raft
mild sphinx
pure sierra
#

you might want to just start with one map at a time

long raft
#

i wonder what they look like normalized

#

i mean even on their own

#

0-1 range

pure sierra
#

deadlands

#

'the world'

hollow gyro
#

"Get that to Tabletop Simulator" 😀

pure sierra
#

cnc mill

#

@mild sphinx@long raft@lunar cobalt 🧑‍🔧

long raft
#

i wonder if the river bed can be used as the scale

#

like from sea level to the baseline water in a region

pure sierra
#

that thought has crossed my mind

long raft
#

its interesting it doesnt go to the bottom

pure sierra
#

extreme scale difference

long raft
#

that one just looks offset by .5

mild sphinx
#

Yeah I couldnt get the command prompt to work for the STLs, but I used a different program and saw how crazy some of the height differences were

#

I just got this warden highlander off the printer

long raft
mild sphinx
#

Maybe if we found a way to smooth out the map so its not so sharp (probably in blender) it would be easier to print the model

#

More like the topographical globes you can buy that have texture. Its not exact but more of generalization

pure sierra
#

i loaded just godscroft and tempest next to each other as seperate mesh

#

tweaking the strength (height) on godscroft to 85% so the water was even, you can see the land still way off

#

so not linear

lunar cobalt
#

Or the land and water have different offsets

#

Especially since for the islands each "land" is a different world mesh apparently

#

Also, it's gonna be 3d print only, because making a CAM path for a mill from a STL / 3d mesh is pain

pure sierra
#

i just would love to see this 10m x 10m

#

but printing each region more resonable and fitting them together

lunar cobalt
#

If we can get the model to be a lot smoother (and I can get enough money for that much material) i have access to a 5'x8' CNC router

#

But that's a LOT of time on the router and a lot of money in material and endmills

pure sierra
#

smoothing is not issue, as i did not do that step yet

#

ok heres some wierdness

#

so i was able to tweak godscroft height texture contrast and brightness, contrast would compress or expand the height while brightness would just raise or lower the whole map

#

i tweaked the values until the sea and ground was level with tempest... easy enough, but then wtf the other part of land top red circle is not level !!! hbeyes 🤷‍♂️ HBjoy

#

im guessing this is related to the islands issue where even within a region segments are put together by rust

#

@long raft

lunar cobalt
#

yeah each island is scaled differently I guess

#

I guess you could edit the mesh itself? Just grab the points and raise them?

long raft
#

yeah

#

my stitching program will let me scale them, if i knew how much to scale them

#

but yea, if you had 3 samples and the scaling model is quadratic you can solve it, or if its linear then you just need 2 of those points

#

youre visually doing what i was doing in excel heh

#

its very easy to see what the samples are there visually...

pure sierra
#

would it be possible to just get the highest value and the lowest one (other than black )

#

and use that as a way to compare them and scale them to a standard

#

though would not work for maps with no water

long raft
#

yea i could try to analyze that

#

i dunno if we will find exact numbers

#

the ones i should ignore are 0.00?

pure sierra
#

yes as black is like alpha

long raft
#

i hope its true 0

long raft
#

can do 0-1 floating point if you prefer

#

i figure nothing under water matters but i didnt ignore underwater stuff for these

hollow gyro
dull aspen
mild sphinx
dull aspen
#

yea man thats like night and day compared to a filament printer, i always wanted to print videogame guns and vehicles and it was just too complex to make it look good

dense fog
#

Hey guys not sure if this is the right place for this, but I'm looking to get my hands on the map icon files for things like bunker bases so I can manipulate them on an image/video. does that sound possible?

flat estuary
#

@twilit wave has access to some icons i believe?

long raft
#

theyre also on the github

#

for the map icons

dense fog
#

awesome thank you!

tropic root
mild sphinx
#

want a collie vehicle so I can make a nice diorama of them engaging in combat

long raft
#

what printer do you use? it indeed looks like a very clean print

#

also curious which resin

#

i tried printing a BT before and it came out like crap

reef kelp
pure sierra
reef kelp
#

until the sea floor and the ground are at the same level

pure sierra
#

keep reading

reef kelp
#

you don't need to edit the image

pure sierra
#

it will mostly work, its just a matter of doing them all.....

reef kelp
#

you can do it whit blender

pure sierra
#

i dont edit the image

#

i adjust the contrast and brightness of the texture in blender

#

then once its all done you could re-export a corrected height map

reef kelp
#

you where spaeking about constrast

#

yes

#

it's a poly

#

you can use the rescale

pure sierra
#

contrast expands or compresses the height

reef kelp
#

edit an image is a way to introduice error

pure sierra
#

i dont edit the image

reef kelp
#

you edited the contrast

pure sierra
#

i use blender

reef kelp
#

i'm lost

#

halp

pure sierra
#

only how its loaded by blender, i will show you

reef kelp
#

load it whit the same parameter

that's what i'm talking about

edit only after the poly

#

by incising it size

#

or reducing

#

the way it read a heigth map is not linear i think

#

it can introduce error

mild sphinx
long raft
#

do all your prints come out that clean?

pure sierra
#

playing with the poly is more likely to create errors as you dont have standardised controls to do it and show adjustments

reef kelp
#

i will try miself

#

i just need to install blender

long raft
#

if you know the scales/offsets of each region i can modify my stitching program to apply them

reef kelp
#

cause i was using a voxel software+paint 3d to convert and edit my 3D models

pure sierra
#

@long raft do you have easy way to tile my high/full res height maps

long raft
#

yea

pure sierra
#

that is my blender project with 2 maps loaded to play with

long raft
#

oh uhh ... not image files?

pure sierra
pure sierra
pure sierra
long raft
#

final image is normalized 0-1 @pure sierra

pure sierra
#

what do you mean normalized 0-1

long raft
#

the range of heights is from 0 to 1

#

not like .25 to .75

#

it doesnt look like much because there are some black spots on the map

#

but if those were removed the normalization would be obvious, youd see more variance

#

darker darks, brighter brights

#

if we get each region scaled right, then normalize the whole image, the topography map will look amazing

#

probably should delete water too before normalizing

reef kelp
#

once i'm here how do i generate the heigh map ?

long raft
#

@pure sierra which maps did you change?

pure sierra
#

in what i gave you derp ? - none

long raft
#

oh

pure sierra
#

i just wanted full rez contour as is for now

long raft
#

did you see the one i posted yesterday with water deleted?

pure sierra
#

yes

long raft
#

i rewrote this stitching program to take an xml template, so now i just have a bunch of templates i can piece together

pure sierra
#

i cant contour that map you sent me derp, values are 0-100 but by script fu is 0-255

long raft
#

i dont understand?

#

you want them normalized to a different range?

pure sierra
#

0-255

#

maybe it will work as is

long raft
#

i spit them out in rgba64

pure sierra
#

let me try

long raft
#

same input format

#

i sure hope im using rgba64

#

actually im using rgbavector, which is 128 bit, it might be turning it into 32 bit before export

#

let me try a quick conversion

pure sierra
#

@reef kelp more details ? you want to load in height map or export one ?

reef kelp
#

load

#

i'm lost an i found no tuto :/

pure sierra
#

did you open my example ?

reef kelp
#

no

#

idk where it is

pure sierra
#

i also posted my tutorial

pure sierra
long raft
#

hmm i think my export was rgba32, gonna try again

#

this whole 16 bit png is new to me

pure sierra
#

it says 16 bit to me

#

it must just be some little setting

#

im trying to run it now

#

its just i only tell it to draw say values 110-150 to save time as thats where everything is rather than 0-255

#

but for yours im trying 66-88

long raft
#

oh, yea thats what normalizing changes

pure sierra
#

i just look at the color curve

long raft
#

i can turn normalizing off

pure sierra
#

just wait see how what im running comes out

long raft
#

unnormalized

reef kelp
#

wait i have my monkey way to do it whit no brain

pure sierra
#

gimp 10gb ram usage...

long raft
#

lol

pure sierra
#

i had to end task it

reef kelp
#

i think i've made crash blender

#

👀 ...

long raft
#

a lot of those mesas on borders could be used to get a very accurate scaling between two maps if its linear

#

because its really easy to get two different height values in those

pure sierra
#

@long raft can you make ur tiler output jpg if not a feature ?

#

@barren quarry calling me out on large png tile size

#

and figured easier to go to jpg rather than compress in node

long raft
#

i think the tiler does jpg already

#

tiler has new feature to specify output format, if you put .jpg extension it will do jpg

pure sierra
#

i tred dragging a jpg onto it and it made png

long raft
#

but you have to use it command line

#

Tiler.exe -input <input image file> [-size <tile pixel size>] [-zoom <max zoom level>] [-filename "output_directory/{z}_{x}_{y}.png"]

pure sierra
#

also here is full rez contour

long raft
#

in theory can just change the -filename to jpg

#

its something i added in the last 6 months

#

oooh contour map looks nice, is that normalized?

pure sierra
#

no

long raft
#

man this will look so awesome if we can get it

#

ok so i did the derivation for linear, its easy math

#

suppose the function to transform a point from map A to map B is f(x) = Ax + B

#

given two points from each map, lets call them C1, C2 and D1, D2

pure sierra
#

still making jpg

long raft
#

we know these two equations are true:

A(C1) + B = D1
A(C2) + B = D2
pure sierra
#

can you just make it autodetect, if it gets a jpg as drag/drop input it outputs as jpg

long raft
#

uhhh ... its complicated

#

so yea maybe i take in an RGB image, but it has to center it (thus on a transparent background) it needs to support RGBA on the output, even if the input is RGB

pure sierra
#

why does it need alpha ?

long raft
#

i dont want to assume a background color when i center the input image

#

so i assume a transparent one

pure sierra
#

my input image is already centered

long raft
#

otherwise you might be forced to crop every single tiled image

#

center inside of a square

#

its too hard to tile rectangles

#

imagine someone might want to put a JPG input but they dont want the output tiles to look like theyre centered inside of a black or white box

pure sierra
#

ill just try batch convert my png tiles

long raft
#

im surprised the ...output formatting isnt working

pure sierra
#

maybe i have an old version

long raft
#

thats what im wondering

pure sierra
long raft
#

wut.

#

i just tried the linux one it worked for jpg

#

lemme try windows

pure sierra
#

windows one wont run for me

long raft
#

yea also worked for me

#

i have never seen that error, interesting

#

are you on windows 7?!

pure sierra
#

yez

#

tryinng redis

long raft
#

oh crap ive never tested it on windwos 7

#

.net 6 ...might have issue with windows 7 crap

#

you might try the x86 version

#

i think i might need to compile a specific windows 7 version

pure sierra
#

same error

long raft
#

crap win 7 not supported, i never realized this

#

ill have to make a framework dependent version for windows 7, ill make a note, sorry

#

thats funny it works perfectly on linux and apple but not windows 7. oof microsoft dropping the ball on your own OS

#

they must really want to bury win 7

pure sierra
#

unless im missing a redist

long raft
#

no i compiled it to be standalone, which evidently doesnt work with .net 6 and windows 7

pure sierra
#

ok

#

ur old version worked for me , any chance you added the new jpg feature before this other change

long raft
#

nope, did them at the same time

#

ill see if i can make another binary

pure sierra
#

no rush

long raft
#

ok ill try to do it in a few hours i need to finish up pay work stuff

pure sierra
#

some other day

long raft
#

i would say just use linux subsystem, but windows 7 ack

#

i couldnt go back now. and also windows 11 is rough.

#

10 is still the sweet spot

pure sierra
#

win 7 best win

long raft
#

no not anymore

#

win 10 pro is the best

pure sierra
#

im not sure u can convince me

long raft
#

with the 2022 update

#

just for the linux subsystem alone

pure sierra
#

i have debian for that

long raft
#

i very much like the intergration with windows

#

and now GPU support

mossy pelican
#

windows 10 is better except for the hard to get rid of garbage

#

like cortana

long raft
#

thats hard to get rid of?

#

never had trouble getting rid of it. dont even know if its on windows 11

mossy pelican
#

you can turn it off but not uninstall it

long raft
#

oh ok, yea no big deal to me

mossy pelican
#

its fully integrated afaik

#

i also had a lot of trouble getting rid of the windows game bar and xbox stuff

#

quite annoying

long raft
#

oh i like the windows game bar i use it in foxhole often

#

its how i get all my derp drops

mossy pelican
#

it has a recorder doesnt it

long raft
#

yea works the same as shadowplay

#

works with amd tho too

mossy pelican
#

for me it kinda gets in the way bc i got OBS and all my external tools already and it eats my low end CPU's power

long raft
#

i suspect it only uses h264 tho

mossy pelican
#

so i just disabled it along with the xbox thing

long raft
#

like most windows things, its not very configurable, kinda does basics well but nothing more

mossy pelican
#

another thing is the old programs

long raft
#

win 11 has the best UI but man the performance is crap i need to research how to fix it

#

jesus. my laptop is slow now

mossy pelican
#

like every windows version is built on top of the previous one so you got the fancy win 10 programs and then you open up the old win 7 stuff that is still on the system for some reason and it looks super weird

long raft
#

yea the different UI scaling heh

#

windows is a mess in general, thats not new to win 10 really

mossy pelican
#

i mean at least the win 7 control panel loads faster than the win 10 one

long raft
#

never had any performance issues with my win 10 control panel

#

i feel like if you get pro, and you disable the auto restarts, its a very reliable and solid OS now with all the updates over the years

mossy pelican
#

whast the latest? 21H2?

#

i think thats what i have

long raft
#

yeah

mossy pelican
#

i do have windows pro

#

i just need to get a better cpu tho, i still got an i3-7100

long raft
#

windows home doesnt let you easily turn off the auto restarts, which i imagine would drive a person insane

#

i3 pretty solid for gaming

mossy pelican
#

yeah very nice

#

i play some popular stuff with the igpu no problem

#

like gta 5 or kingdom come

long raft
#

high frequency CPU

mossy pelican
#

3.9ghz 🙏

#

thanks god i didn't get a 4th gen i5 for cheap like all my friends

long raft
#

yea the bigger number seemed better but not for games

#

i mean ... the i7s have better IGUs

#

but if you have your own video card an i3 is ideal

mossy pelican
#

i feel like the cpu's generation matters more than the first number thing

long raft
#

for the IGU yeah

#

but they do put the premium stuff on i7

mossy pelican
#

of course an i7 or bigger is gonna beat most of the lower end intel stuff but between a really old i5 and a modern i3 i prefer the i3

#

so yeah what im gonna do is either get a new cpu with a better igpu or get a dedicated gpu but i think getting a noticeable upgrade on the gpu side is way more expensive

long raft
#

GPU is probably the way to go, best bang for buck

#

the CPU sockets and RAM types change so frequently youll be forced to do a whole system upgrade, and still be on an IGU

mossy pelican
#

whatever i do i hope i dont have to change my RAM

#

im aiming for 32gb, i got 16gb rn just need to buy the other stick

mild sphinx
earnest glade
#

I'm thinking of doing a bit of janky data analysis on old foxhole wars

#

Anyone know if there's an easy way to get the full event log for a previous war (the one on foxholestats)?

Right now, I'm just copying the logs from the site and parsing them myself, not the end of the world, but an inelegant solution

barren quarry
#

you could probably ask hayden for an sql database of events

pure sierra
#

@earnest glade i can supply these on request

earnest glade
#

Sounds good, I'll let you know if it turns out I need them. thanks!

chilly burrow
viral snow
#

Hi, I'm new to Foxhole and I would like to create some app similar to FoxHoleStats.com, but with more data. First, I check the HTTP API (*.foxholeservices.com), but it's very limited. However, in-game, we have more information (in-game map). However, that more information seems to be retrieved using TCP/UDP (with a 'custom' protocol, rather than the HTTPS). I'm digging a little bit with wireshark and so on, trying to understand how that works. But, anyone already did that before? Thats odd, because /shardStatus contains multiples IPs (one for each hex) and port 7777, but it's never used (?!), instead it connects to a Valve Server (and Vivox). Anyone knows the game protocol?

viscid fern
viral snow
viscid fern
#

oof defs not that's too much intel to give out

viral snow
#

The idea is to build a simple app which I can see the map without pressing M (running the map on secondary monitor or smartphone) and also keep track of the resources nodes (maybe even adds some notification when those nodes re-spawn or new pings are added to the map), and such. Another feature that would be great, is searching for items (and building types). I mean, searching for "bmat" (or "tshirt", "120mm"...) will highlight all seaports/factories/storage that contains such resource (including your own reserved inventory), making easier to move it to the front, instead of need to check each storage one-by-one. Maybe it could be smart enough to draw a line from the source to the ping, automatically (if the ping contains "logi list", or similar keyword). Anyway, in order to do anything, I need the information from the in-game map....

I don't think it would be simple to get that type of data, sounds like the UDP is encrypted, and I need to hack the Foxhole to use another key. Then, I can proxy the data and still need to understand how the packet is crafted. Them finally, and hopefully, start to request information about the map, in background (while I'm playing and driving some truck around). 🤔

If anyone have some information about the "foxhole protocol" and how the game get the map data, would be really useful. 👍

fallow blade
#

The issue with this, is it could easily be abused to take enemy information and display it to the other side. Suddenly the Collies know that there is no BMats at a certain base and can destroy it with sustained fire or the wardens know shirts are getting low at a BB and can push.

I think your idea is cool, I just don't think it is in the spirit of the game and highly abusable.

Also if the UDP is encrypted, it most likely is that way for a reason.

#

@viral snow

viral snow
#

@fallow blade that wouldn't be an issue if it's not public. I mean, the software would be shared, but not the content (the map itself). The idea is that you must install one app on your desktop, which will connect/hook to your own game. That app could also display the map (and move it to the window to the secondary monitor). Alternatively, have another smartphone app, a client app, which connects to your PC (via wifi) to get the map information. Generally speaking: the app will only have access to the data from your own game (which will not provide information about the enemy stats). The only way to get the data from the enemies is if I had another account. Maybe that could be considered cheating: since it would manipulate/intercept/create messages on behalf of the player, but I'm not sure.

lunar cobalt
#

I would guess that intercepting in-game data is something the devs would not appreciate

#

As well as something that could very possibly get you banned if found out.

#

The data available in the API is the only data available for a reason.

fallow blade
#

^ Exactly this

#

In addition, your app would most likely require user interaction in order to bring up certain information, such as what is in a seaport to use one of your examples and at that point you may aswell just press M and do it from there and not risk breaking ToS

viral snow
lunar cobalt
#

so just play the game?

pure sierra
#

@chilly burrowno idea

#

@viral snowyou wont find that information in any api

viral snow
# lunar cobalt so just play the game?

That is what I'm doing. But, is frustrating to hover into multiple mine fields, factories, seaport, storage (...) trying to find where have resources and if it's empty or not. Having such map-app, which keeps the data updated in the background, would be better and just save a little bit of time. 😅

pure sierra
#

as others have said, even if you could get access to the game packets that generate the map you see, others would might not wish to risk breaking rules to use it

pure sierra
#

@long raft little bug your tiler, (at least the version im using)

#

zoom setting

long raft
#

oh man i dunno what im gonna do about the windows 7 version

#

its got like a billion files i have to include

pure sierra
#

never mind

#

ill just stay on old version

#

or get you to run it

#

or do it in linux

long raft
#

yea but i deleted them so .. any other windows 7 people will be like wtf

#

evidently they changed something in .net the way self contained files work that is incompatible with windows 7 so id have to go back to .net 3 oof

pure sierra
#

so , default tiler generates to level 0-5

long raft
#

not sure what to do hmmm

pure sierra
#

but help says -zoom 6

long raft
#

it calculates the optimum zoom size (by default)

pure sierra
#

as if that is default

#

oh

#

ok

long raft
#

its some logarithmic calculation

pure sierra
#

ignore that then

#

i ran that full rez topo through tiler

long raft
#

((int)Math.Ceiling(Math.Log(Math.Max(OriginalSource.Width, OriginalSource.Height) / (double)tile_size)) + 1)

pure sierra
#

even at level 5 the higher rez over api rez is better

#

but i ran it to level 6

#

an now looks buch bettr

long raft
#

oh yea the lines are sharper

#

ive been considering using a different scaling method in the tiler

#

i use lanczos 3, but ive recently discovered a better image scaling filter

pure sierra
long raft
#

i imagine it will be painfully slow execution tho on a CPU

#

have you done any normalizing on the regions?

pure sierra
#

just adding level 6 adds 4000 extra tiles!

long raft
#

im curious to test one but dont really feel like doing the eyeballing myself

#

yea level 6 is intense

#

im kind of proud how fast it runs tho

pure sierra
#

pretty fast yes

long raft
#

i used 3 tiling programs before this and it was like a day to do the calculations lol

#

they were so horrible

#

crashed with any sizeable image, which is like wtf do you do tiling for. people only tile huge images

#

or some python script i couldnt get to work lol

pure sierra
long raft
#

i should set a small goal

#

ive got the equations, i should just ... install gimp and sample a couple points and see but meh, sink is clogged, so many other background interruptions

pure sierra
#

yeah i got plenty other things to do

long raft
#

we need an intern

pure sierra
#

L.O.G.I. Website: https://logiunion.com/
LOGI Discord: https://discord.io/logiunion
Letter on the r/Foxholegame subreddit: https://old.reddit.com/r/foxholegame/comments/rcnmgd/below_is_logis_open_letter_to_the_developers_with/


OPENING
00:00:00 | Intro
00:01:20 | Overview of the L.O.G.I. group

00:06:29 | [CIL] Wuatduhf's opening statemen...

▶ Play video
#

dev man feel bad when players have better dialog on suggestions with each other than them, such as #game-feedback-archive auto trash can

long raft
#

didnt even know there was a presscorps

pure sierra
#

really good talk

long raft
#

how long did it take to draw the contour lines on that new map?

pure sierra
#

full rez ?

long raft
#

yea

pure sierra
#

maybe 5 mins

long raft
#

oh not bad

#

did you have to download more ram?

pure sierra
#

nah gimp didnt go over 10gb

#

got 16

pure sierra
#

added casualty tally to war history

long raft
#

nice

brisk flint
#

Is there a way, via the API, to get access to the event log? How are people retrieving the event list? Apologies if this is a dumb question, but just not seeing an obvious API endpoint.

pure sierra
#

no dumb questions @brisk flint

#

there is no event log api as is shown on my site, my event log is generated by interpreting changes in the dynamic endpoints

long raft
#

foxholestats API when

pure sierra
#

kinda almost need it

shell karma
# viral snow The reason for the limited data is because it's public, not private. I'm not try...

In general, your client does not receive data it does not need.
If you want to know if a field is empty, your only way to get the required data for that is to interact with the field in such a way that the server decides to send you that information to your client... which usually only happens when you can see the current status of the field anyway (Because that's why it sends it to you, so you can see it xD)

long raft
#

classic debian, always old versions for the sake of stability, leads to buggy ass versions haha

pure sierra
#

cant upgrade any further afaik

#

so now

long raft
#

is it good or bad that theyre idle?

pure sierra
#

can see prev yellow free slowly dwindling till meets green active

#

and timeouts ensue

#

now now free, just idle (blue)

long raft
#

god i hate web servers

pure sierra
#

as set minspare and max spare to max workers

#

so, no scaling

long raft
#

was just thinking how much i hate apache but then realizing i also hate nginx

pure sierra
#

nginx is fast but problem is you have to rewrite any htaccess files that come with your systems so you can just be a beginner, its hard

long raft
#

it aint that fast

pure sierra
#

everything written for apache htaccess

long raft
#

i mean inherently its gonna use threads instead of forks tho i think

#

i guess? i dunno i havent used htaccess in years

pure sierra
#

last time i tried it was ages ago though

long raft
#

you know theyre all fine when they work but when they dont theyre hard to figure out

pure sierra
#

htaccess used critically for rewrite and native cms seo url these days

long raft
#

i can tolerate tomcat and kestrel, but still have that web server vibe

#

was sort of shocked to find out kubernetes uses nginx for all its ingress/egress stuff

#

you can use traefik or apache but the default stuff is nginx, they claim its high performance due to configuration

long raft
#

@pure sierra in this i attempted to normalize godcrofts to tempest island. what do you think?

#

hmm everything looks kind of flat, i think my normalization needs another pass

#

this version makes everything easier to see. jeez godcrofts is super flat

#

i think proof of concept, this works

hollow gyro
#

These 2 images not loading for anyone else?

lunar cobalt
#

Open as original @hollow gyro, they're BIG images and discord doesn't like showing big images

hollow gyro
#

Ah I'm on mobile 😀

long raft
#

well in summary i nailed it

#

now i have to remember my linear algebra to chain these transforms, but i bet thats easy

pure sierra
#

was thinking about this this morning

#

do you just take several points along the border and adjust the image until they all meet ?

long raft
#

no, algebra, i used 2 points

#

it was very unintuitive the numbers i got, but i plugged them in anyway, and then the water looks insane but suddenly the land lines up perfectly

#

the problem im finding is the borders are so flat and uniform its hard to find 2 distinct points along it

pure sierra
#

my game day calc from game time was out by one as game day starts at 1 not 0

long raft
#

@pure sierra i made a win7 version I will add to binaries, if you get a chance to test this can you let me know if it works i dont have a windows 7 machine to test with.

#

has to be a whole package of files tho I can't just make a single executable 😦

pure sierra
#

OK after weekend

coral flax
#

What language was used to create Foxhole?

languid harness
#

human

coral flax
#

👍

#

Everything is made in C.

long raft
#

are those 2 different postings? cause i see little crossover between people who know linear algebra and people who do hard surface modeling

mossy pelican
#

those are 2 different job offers yes

#

one is game programmer the other one is i believe 3d generalist

pure sierra
#

@long raft

#

loaded in your normalised image

long raft
#

sexy, eh?

pure sierra
#

the land edges arent pretty

long raft
#

they arent?

pure sierra
#

dont worry about it

long raft
#

like the beaches?

pure sierra
#

it seems level

long raft
#

yea it did seem level to me too

pure sierra
#

but let me compare

long raft
#

you should see it without the water cropping. the water becomes like negative value, looks insane

#

i do not recognize the godcrofts tempest border in that image tho

#

i only normalized the 1 region

pure sierra
#

im not sure where the border is

#

somewhere in middle

long raft
#

i mean thats ... a testament to how good its leveled julianlol

pure sierra
#

that shot is camera looking east to west

long raft
#

if you cant even see the border...

#

you remember godcrofts used to be the craziest looking one, it had a large offset

#

and the scale value to normalize it is actually -.22, so its like its inverted

pure sierra
#

you seem to have leaveled out a bunch of detail though

long raft
#

relative to tempest it is just a very flat map

#

but its all preserved in floating point values, so when its all done the entire map can be normalized from 0-1

#

i thought i had deleted all detail at first too until i looked closer, its still there, just flat

pure sierra
long raft
#

i thought at the end of this, matt warned about how the maps appear very flat, its a different sense when playing

pure sierra
long raft
#

perhaps a high-pass filter is a good technique to preserve detail but keep them joining

pure sierra
#

those are meant to be the same island

long raft
#

what is the problem?

#

is the red line the border?

pure sierra
#

no that is just a guide in blender

long raft
#

does the border split that island then?

#

i applied the same scale and offset equally across all points in godcrofts

pure sierra
#

border is around there

long raft
#

seems ... good to me

#

unless something went wrong in deleting the water areas, that process can be refined

#

this may be something even the devs havent done, unified the entire height map

pure sierra
#

no

long raft
#

although i suspect they have leveled them independently to the same levels

#

and i also notice theyre repainting them to level up better around borders (actually makes it harder for me to level them)

#

i cant use a border thats all 1 height

#

but i can chain the linear transforms together, so my hope is its possible to find at least one border thats usable on every region

#

also if gimp is rounding to the tenth place, i might be losing precision in my math

#

just seems suspicious everything is 1 decimal place in the display

pure sierra
#

it look like in blender not as nice

long raft
#

i mean if it looks good in a topography map, if it helps arti, if it helps me calculate road distance better, thats good enough for me

#

and when its fully normalized, when i delete all the black pixels, it will really pop for a topography map, i say when like im destined to do it but i should say if lol

pure sierra
#

are you going to use gimp to do the contouring ?

#

as your image is still 0-100 and not sure that contour plugin will work

#

trying again now

long raft
#

i dunno, i can always adjust values

#

i can put them in any range needed

pure sierra
#

yeah it doesnt work

long raft
#

because of the range?

#

gimp just shows things as 0-100 that are not

#

its 0-65535 range but it just shows 0-100

pure sierra
#

seems, maybe image format not sure. in color range it shows 0-100 but the contour runs 0 -255

long raft
#

it seems like that contouring script could be using 8 bit values, i mean that can all still work

#

if youre gonna reduce precision from 16 bits to 8 bits, it would be best to fully normalize it, you would preserve the most detail that way

#

i think all that stuff is easy to adjust and compensate for

#

hard part is finding 2 points on each border different enough to solve the transform

#

and sampling them

#

this is why we need an intern

#

hah i wonder if its worth paying somebody on fiver to do this julianlol

#

afraid it woudl take some familiarity, as there are caveats, like you cant use water to level stuff, or any points under water (i suspect)

#

god i obviously like to talk about this shit i have a real tryhardon for terrain

pure sierra
#

do you have the contour plugin setup ? have you used it ?

#

actually it seems to be working

#

upper is urs lower is original

long raft
#

I haven't tried it yet

#

I just installed gimp last week even

pure sierra
#

gimp rules

long raft
#

i always see this channel lit up like it has unread messages but it never does, is it just scammres or people coming in with the same tired morse code joke?

barren quarry
#

so its not just me

lunar cobalt
#

I don't know what it is

pure sierra
#

i dont see it

languid harness
#

Didnt mention it, because why would I

#

It was already dealt with

long raft
#

dyno'd

#

i cant believe its happening that often

languid harness
#

I mean, FOD is a public discord

neat grove
#

What’s a good thing to practice like

#

Beginner level python stuff

viscid fern
#

Desktop/document task automation

#

Yes, that book

wicked island
#

Hi all, I was just watching a twitch stream, and the guy had a Foxhole life stats windows, with map and life stats, is there something like that I can download somewhere to use for my twitch stream?

#

I allready found the API files, but I really don't know how to start to code that myself

dusk grove
#

no clue exactly

pure glen
#

Check foxholestats, they say stuff about a Twitch/OBS overlay with the info from the API.

#

It's at the bottom of the page, haven't ever looked into it or tried it.

wicked island
pure glen
#

Oh okay, then no idea!

wicked island
#

This is the window he has up on his stream

pure glen
#

Maybe just ask him, if they're not a big streamer?

wicked island
#

He had it made by someone, but I had hoped someone over here maybe knows about it

wicked island
hollow gyro
# wicked island

Anything like that uses the Developer's 'War API' (and a bit of Steam); I am using it myself.
It is likly that this is custom made for the Streamer and therefore only they have access.
There is both foxhole stats, and sigil stats for war information; the latter is more mobile friendly.

wicked island
pure sierra
#

There are several mobile apps that it could be?

pliant lantern
#

@long raft Was this supposed to be an easter egg?

long raft
#

Credits

long raft
pure sierra
#

Cool

neon vaporBOT
#

@marble plinth Watch your language.

idle maple
#

I’m thinking about going into code what’s a good starter

#

I have heard that a lot it’s the best starter

languid harness
idle maple
ionic linden
#

I started with java

idle maple
#

Ok I’ll try Java and see how it goes

languid harness
#

Python is good if you are scared of the big syntax hassle, or like working with processing data
Java is a good one if you like to get knee deep and try to make an application of sorts

idle maple
#

Oh ok so python would be better for what I had in mind

#

Is there anything you recommend for python

coral sundial
#

Prototyping

#

Super easy to install a library and get to work

#

But if you want to get real good id start with C basics. It practically teaches you the basics of all languanges. Its just slow to get started with.

#

Good library to start with is raylib then

idle maple
#

Ok thank you

long raft
#

java is good to start with, tons of people starting with python and c# is amazing

#

C is pretty easy to start with but useless [for new programmers]

idle maple
#

Ok so what should I start with instead of C or is that the best to start with I heard C is the best for beginner python

long raft
#

C is simple and boring

#

python will give you a lot of power

#

being able to do things is important for motivation, in my opinion

idle maple
#

I agree there so start with C to understand it more then move to the complicated stuff?

#

Or skip C entirely

long raft
#

i'd come back to it, personally

#

consider it intermediate level

idle maple
#

Ok

viscid fern
#

Free, easy entry to coding, mostly from the web side of things at first

#

Idk why nobody suggests newbies to start with HTML and CSS. Its not programming languages but its such important subject to understand

#

CSS not only teaches you to aestetics/style, but also semi-introduces you to json/xml styling you'll be using everywhere till you're asked to make databases

long raft
viscid fern
#

Don't see how tech shifting should make a beginner uncomfortable

#

My young dumb ass was more excited creating a poopy web page at school rather than scripting a turtle movement but I guess I'm the only one

long raft
#

well if you write a tutorial on web development its likely out of date in 12 months

#

you know teaching the same old data structures in C hasnt changed in 50 years

viscid fern
#

I don't think basic html, CSS and js changed so much for my sites to require updating its code

#

The people making other js frameworks? They can fart

#

I use webdev for personal projects so I can only account for hobbyists

long raft
#

javascript is only like ... 27 years old and is in its 3rd renaissance

#

the only thing i can think of thats a faster moving target than web development is machine learning

#

i think some courses are afraid of overwhelming students with the scope of web development

viscid fern
#

No wonder everyone's switching to using apps and leaving sites... Who even knows what a forum is now.

#

Yeah maybe just forget about web dev. Just grab the automation book and learn python

#

Who needs all this margin management when you don't even need no goddamn ui

long raft
#

i mean ... CSS is terrible. i hope we dont keep using it forever

viscid fern
#

Oh, but...! You can get 5% off your lifetime squaresp-...

hollow gyro
#

@idle maple I used a program 'Processing' which is Java but it does drawing and mouse events, really good for making say a box and instantly seeing it exist.
Lots of good little demos to learn from too, I recommend giving it a look for an introduction.

jovial lake
#

learn C its the best for everything /s

stone void
#

Just code in Scratch, no one will notice

idle maple
idle maple
stone void
#

lmao

past phoenix
hollow gyro
past phoenix
hollow gyro
past phoenix
long raft
#

typical training is program flow > algorithms > data structures

cloud magnet
#

@idle maple Learning C first is like learning to drive a manual car before you learn how to drive an automatic. Learn basic programming concepts from C first and try to write your Code down semantically on paper before you Code. C is the best language to learn the fundamentals of computer theories like Computer Networks, Compiler Design, Computer Architecture, Operating Systems. So to learn about CPU Cache, memory, network adapters etc. C is a must. After that go to C++ and that builds on your knowledge of C and gives you a wide array of things you can do. Also if you learn C/C++ really well, learning any other programming language becomes like a walk in the park.

lunar cobalt
#

yeah but it's also like trying to learn to drive a manual before you crash off a cliff

cloud magnet
#

Can you elaborate why you feel that way?

long raft
#

i dont think anyone learns about cpu caches and network adapters in C

#

compiler handles all that for you now

#

proper libraries, ill never see this argument to learn a 50 year old language as the basis for your computer knowledge

#

god imagine writing a compiler in C, lol

cloud magnet
#

I am just saying that it is an option.

long raft
#

yea i mean C can do everything. it will just be 100x harder

#

and c++ will only confuse you

cloud magnet
#

Why would it confuse him?

long raft
#

c++ is a massive language with no transference to other languages

#

ive mentioned this about c++ before, just the simplest hello world is indecipherable to a new programmer in c++

#

i argue most people who claim to be c++ programmers dont even know how a c++ hello world works

cloud magnet
#

C++ is awful to look at as a newbie I get that but the concepts you have in C++ you can easily carry over to other OOP Languages

long raft
#

like what?

#

multiple inheritance? obscure operator overloads? templates?

#

about the only thing that carries over is exceptions

#

c++ is a freakin weird exotic language that does many bad things the industry avoids now

#

C is a must, but not a good first language, c++ not required

#

i suppose a universal rule is do whatever language keeps your interest

cloud magnet
#

Usage of classes, polymorphism, exceptions are the few things it can give you to other languages but if you start with Python as mentioned above you can miss out on numerous things.

long raft
#

python doesnt have classes and inheritance?

cloud magnet
#

C is an absolute must imo as a first language. It forces you to understand variables, pointers, functions, datatypes, etc

long raft
#

why cant python teach you variables functions datatypes and indices?

cloud magnet
#

JavaScript can also teach you functions and datatypes aswell but it still doesnt force you to it.

long raft
#

C doesnt force you either

cloud magnet
#

Sure you can just write var in C and forget about datatypes....

pliant prism
#

is that the recommended way to go? fuck no

long raft
#

you can use void * everywhere

pliant prism
#

you can learn the fundamentals in any language, but you ain't beating learning how to write code using a statically typed, compiled language

long raft
#

i dunno data type memorization seems like a pretty tenuous reason to make C your first language

cloud magnet
#

Yes that is the first thing people do. Use void * for variables.

long raft
#

so use a 50 year old language so you can memorize 50 year old data types

pliant prism
#

the only reason why i would maybe recommend C to a newbie is if you'd ever end up stranded on a desert island kind of scenario

cloud magnet
#

The entire reason why TypeScript is gaining traction is because of datatypes and because you have to use them. People nowadays can build an entire website from scratch or even build "AI" without knowing a single datatype

pliant prism
#

i personally learned javascript as my first language, and now i fucking hate vanilla JS

#

i love TS

cloud magnet
pliant prism
#

yeah

#

a fellow colleague who just joined our company was an embedded engineer working with C/C++

lunar cobalt
long raft
#

i just feel like these old languages that are a grind to work in may discourage people from continuing their learning

#

its really not up for debate that working in C makes everything harder

pliant prism
#

@long raft true, but there's quite a bit of stuff that newer languages miss out on

light cairn
#

I use C in order to do Arduino based programming - which absoultly sucks btw

pliant prism
#

i had a folk recently asked me about what structs were

#

which is something i picked up whilst learning C and go

long raft
#

you can find languages that dont do everything C does, but i think its hard to find a popular language thats missing out on something C has

pliant prism
#

yup

#

a whole bunch of shit's based on C nowadays

#

...even JS

long raft
#

based on?

lunar cobalt
cloud magnet
pliant prism
#

i have to disagree here

long raft
#

but they could have learned all that in a language they didnt hate

#

and they shouldnt be lumped together. c++ is 10x the language scope of C

pliant prism
#

how so?

#

both are general purpose languages?

long raft
#

people think they are programming c++ but theyre just doing C with a few extra features

#

c++ is absolutely enormous

pliant prism
#

oh, that is true

#

i thought you were referring to scope as in which branches the languages are used

long raft
#

nah, complexity

pliant prism
#

gotcha

#

nowadays, if i get asked which "lower level language" someone should learn, i just point folks towards rust.