#programming
1 messages · Page 86 of 1
they're not even accepting the job i don't think???

it made sense when writing it
oh wait
now i just have to never touch it again
i can't really use room.Find for most of the stuff because of the overhead iirc. so i had to make my own cached system.
i never actually tested if its really that bad...
yes the fuck i am wtf
overhead?
Anyone know how they coded MiSide 😭

i use C#
due to the interlop between the wasm and the js
prob only the devs lmao
I found SOME leaked information but only a bit
i mean its prob not too difficult seperating each individual part as a function
but still
Ngl I might as well ask the devs
"There is also a small up-front cost to using any methods that involve JS interop, similar to a JIT, as it has to import and bind code to the JS api. This cannot be avoided." 
I don't know if they will respond though
maybe im overcaching 
wat exactly do you wan to know aboutiside anyways?
if its the source code you wont get it
wdym? its just a unity game no? so in c# using unity
it is
no they used javascript 
god no
okay, builder code works
i just realized... im not doing any garbage collection in my c# code
i currently use 3.38 CPU each tick
i'm not sure if my code will work well for multiple rooms
cos the room itself is using like 3-5 CPU per tick
well.. will every room be the same size?
assuming so, i can only have 4 before i start saturating my limit
meanwhile i think shiro's probably running with less than 2 CPU per tick if they're letting their creeps just expand themselves
i think the way to do it. is figure out a plan for each creep during the room being active then switch focus but still make the creeps follow the plan without calculating new things
but also don't forget the overhead
like calling something for the first time a tick. maybe the calculations are not expensive but the first time is. so if you only have 1 room you don't know how expensive that call is... maybe
i wonder if there's an intrinsic limit to how big you can get because of the 20 CPU limit
technically speaking obviously
or if you could write code that, despite you being massive and covering multiple sectors, still keeps you below the 20 CPU limit
you would need to delegate tasks and not simulate each room
like have low-priority rooms
definitely fix that 
if you're storing anything in creep memory, it's slowly piling up
and you do not want the state fuck explosion that happens if you hit the mem limit
thats the best thing im not 
idk how either of you survive with random script resets
im doing everything with epheral c# storage. so a psuedo memory
if my state all got reset...

part of why my stuff is so fast is because i can cache a bunch of stuff long-term and rely on that
i assume nothing lasts and just make sure the tasks are delegated each time they are asked for
e.g. my wall algorithm is super expensive but it's run once ever per room and then cached until the end of time
but i also don't do anything too complicated yet..
its basically just go a-b and do a-b no actual info needs to be know
my screeps store a great deal of info about themselves
i dont wanna leak too many of my innovations tho 
ok maybe its not that much info
but a few little important nuggets
this is literally my whole memory layout
but also..
i just removed all my caching.. and it didn't change a thing for my ms
i cant fit the rest in a picture
ive profiled my code to death and confirmed that my cache helps
the slowest creeps are, 99% of the time, ones with cache misses
the only thing im caching was room.Find calls
thats the worst thing to cache
so.. ye



it was a smart idea tho
if it wasnt auto-cached, that would be a huge performance gain
im used to this kind of things being expensive in literally every other API 
its expensive in this one
thats why it's one of the very few methods with built-in caching
the other being creep.moveTo
i would suggest tho that there's a few more things worth caching for you
if you ever spot yourself doing a
room.find(...).filter(...)
or
room.find(...).sort(...)
(or the C# equivalent)
those are good candidates to at least consider
it only works with my cache code
damn
idk if you're using the same cache wrapper system
Finally managed to fix the NeuroSynth trainer installer
That was much more of a pain than expected
how are you handling it?
it feels a bit like shooting myself in the foot but here 
I now have a major dislike for Python script based installers
*for use, ensure that you import the module and call clear() each tick before any methods using wrap() are declared
beyond that, use just looks like
bodyCost: cache.wrap(function(body) {
return body.reduce((sum, part) => constants.PART_COSTS[part] + sum, 0);
}),
haiiiii

just making sure, this channel is for programming in general right? not just AI?
programming in general
you are allowed and encouraged to ask more than just "how do i make my own neuro"
i use 5 CPU per tick shiro
where does your profiler say its going
oh cool! cause i know nothing about ai programming 😅
creep ticking
my thing is making apps
i have an
A+ speedup
for you
i discovered it a while ago
and was blown away by how useful it is
im gonna dm it
i also have one: rm -rf my-screeps-code
actually...
what about rm -rf / --no-preseve-root 
(don't run that)
while you were writing this. i was literally writing my tower logic that looks like that.
aight guys im going to bed, goodnight
so far my best project is an app for music that i made using html and javascript, mostly javascript. also goodnight, Sam!
we need more non-ai programming here 
gngn!

do you like writing javascript code?
You mean non-llm or non-screeps?
yes! it's been a hobby of mine for 6 years now
Cuz if you want cursed vulkan its coming soon
would you play a game that revolved around writing javascript, but was much more interesting and active than a pure coding sim like bitburner?
yeah, that sounds like a lot of fun actually

Screeps: World is an open source MMO RTS sandbox game. With all the attributes of a full-fledged strategy game, you control your colony by writing script that operates 24/7 in the single persistent open world filled by other players on par with you.
Your colony can harvest resources, build units, conquer territory, trade with other colonies.…
$7.49
1839
read thru the description and see if it interests you
a number of us are playing it right now
OOH, ill have to get that soon. it looks so fun

+1
yeah if you ever hear us talking about screeps in here
thats the game we're on about
gotcha, as soon as i get the chance, ill buy the game
welcome to neuro-sama headquarters!
please feel free to ask any questions you may have to staff or community alike! 
you got it!
https://youtu.be/sWZRQsejtfA bruhhhhh
🌏 Get NordVPN 2Y plan + 4 months extra here ➼ https://NordVPN.com/sabine It’s risk-free with Nord’s 30-day money-back guarantee! ✌
A growing number of people believe that current AI chatbots are actually sentient beings. Some even believe that they’re lost souls trapped inside computers. Are they just trolling? I think not.
🤓 C...
seeing AI and sentient in a sentence together 
i decided to look at the rust bindings for screeps to see how much work porting it to zig would be and apparently it's 16k lines of rust 
People are losing their minds over chatgpt
anywho, ill introduce myself really quick. Hi I'm Partygamer, but you can call me Jess! I like coding and drawing. in terms of coding, my specialty is html/javascript/css, but i also know python.
Linear Algebra: 
Linear Algebra, OpenAI: 
delete that message before sam sees it
i could do cpp -> c -> zig 
I don't know what gary is trying to cook here, but he's got the spirit I guess
oh god.. i thought this was screeps for a solid minute
SAME
I WAS LIKE "HOW DID YOU TURN THE NUMBERS ON"
SAME
awa
That's what made you wonder and not the fact that the're belts? 
neuro sdk integration in screep when?

possible
i debated doing it actually
honestly how long the ticks take it would give her enough time to think
Both Shapez and screeps use JS. If this integration goes somewhere usefull, could be worth it.
oh shit it's 1am i should probably sleep
nuro-as-screep or nuro-as-player
the builders in E37N39 right now 
lemme give my builders the ability to repair and then i think i'll be good
i mean.. both are possible
im exhausting my single energy source 500 ticks before it regenerates...
mrrp
Well... good luck at screeps 
my new room is a single source, i know the struggle 
ty infernal 
eeeliv needs a business suit model

i tell the builders they can repair structures and they immediatly decide that they MUST repair something that's 85% repaired
i found a bug in my wall filling code
not the wall algorithm, just the code that puts down the actual construction sites
almost died to this bug
i'm gonna die to this builder bug if it reoccurs
fixed another small bug that would fill my ramparts with walls
im not that worried about my security
found the cause 
some leftover damage from the battle i put my creeps through
... and some badly written repair priortization code
okay, i think my code is working now?
@real sierra if you see my creeps just outright die off ping me and laugh at me
i probably wont see it
just set up emails
new code
let hasCreeps = false
for (let creep in Games.creeps) {
hasCreeps = true;
}
if (!hasCreeps)
Game.notify(":neuroWAJAJA: :evilWAJAJA:");
email tomorrow:

you jest but
i have independently confirmed that the emails also render HTML
i havent tested the <img> tag, but...
<img src="https://cdn.discordapp.com/emojis/1328963855698886716.webp?size=44" /> <img src="https://cdn.discordapp.com/emojis/1328963853995737189.webp?size=44" />
?
ik it'll work in console
i'm going bedge
i just dont know if it works in email
Sounds Java or something similar

Wait, these aren't the same thing? 
if we identify languages by how much hate they receive, then yes
php is truly one of a kind
php screeps player when?
AI 
convert SQL to lua please
I don't understand purpose of echoing the console
Wha
.NET/Python
@burnt rock fuck off
For context, at least 5 necro pings to (regrettably) a non vedal individual
Was looking for this answer, stumbled upon this.
Seems like https://github.com/TranscryptOrg/Transcrypt is used in the python impls.
@olive sable :xdx:
Only other thing I can think of is rust-python with a PO3 for screeps. Way too much jank for python.
idk about calling javascript elegant chief 
i suppose i can see where they're coming from, it do be kinda comfy once you're used to it
Might be too late, but HAPPY BIRTHDAY SHIRO 
nice abbreviation 
The 3090 has proven itself worthy of the title of the NeuroSynth training device, it can easily run NeuroSynth training at an increased feature level at 16 batch size, with VRAM to spare
i have zero hope of grok 4 coming out on api


it is actually out
or is it
man fuck this musk time
awa
should do. emails allow html. i dont see why this wouldnt work

Teehee
dude wtf
now where's the 90° restriction
Teehee
There are four 90° angles, are there not?
Hehehehehee
Nooooo
there are like hundreds of much worser variants of this gif
I know
Mods, add an electron to every atom in their body
What about the
"Mods, grind him up by the essence of the stars and splay their profane form across the galaxy... END THEM NOW"
Canada computer build this for me... WTF how is my gpu still alive after 2 years. AND WHY DID I NOT ASK ANY QUESTION!?!?
R E A L
¿?
I mean is it actually four right Angles? If it's circles directly i dont think there'd be a true right angle since it'd always be rotating
no (?)
i think there'd only be a single point to which the circle would be a right angle to the lines
I mean yeah probably
Actually no
Right angles can be as small as necessary
Looking at this here is always bizzare for me lol
did you just say bizzare
Nuh uh
It can be an adventure at times
I thought about it like this, if circles are defined as 0 sided shapes then your adding 4 angles from each extension.
If someone is on the circles have infinite angles side however, this doesn't work
wait actually
In geometry, two circles are said to be orthogonal if their respective tangent lines at the points of intersection are perpendicular (meet at a right angle).
A straight line through a circle's center is orthogonal to it, and if straight lines are also considered as a kind of generalized circles, for instance in inversive geometry, then an orthog...
Math side of #programming I summon thee
<insert
>
hi i am being schizo
MWAHAHAHHAAHHAHAAAAA
bwaa

Heh
straight lines as generalized circles is crazy
tripartite attention is pretty kool
i see the square
it's right there
...
This infuriates me
I am unsure as of to why
But it does
surprisingly my creeps didn't break themselves overnight
they are just like me frfr
i wonder... what is your average cpu and how many creeps.
i feel like 1ms per creep is a bit much on average. (7 creeps and i have a 7 cpu average tho some take longer for somereason..)
(defun hamt-insert (hamt key value &optional (hash (shash key)) (shift 0))
(let*
((idx (* (bitwise-and 31 (arithmetic-shift hash shift)) 3)) (node (vector-get hamt idx)))
(cond
((nil? node)
(begin
(vector-set! hamt idx hash)
(vector-set! hamt (+ idx 1) key)
(vector-set! hamt (+ idx 2) value)))
((integer? node)
(if (eq? hash node)
(vector-set! hamt (+ idx 2) value)
(let ((leaf (vector-make 96)))
(hamt-insert leaf (vector-get hamt (+ idx 1)) (vector-get hamt (+ idx 2)) node (- shift 5))
(hamt-insert leaf key value hash (- shift 5))
(vector-set! hamt idx leaf))))
((vector? node)
(hamt-insert node key value hash (- shift 5))))))
(defun hamt-get (hamt key &optional (hash (shash key)) (shift 0))
(let*
((idx (* (bitwise-and 31 (arithmetic-shift hash shift)) 3)) (node (vector-get hamt idx)))
(if (vector? node)
(hamt-get node key hash (- shift 5))
(if (eq? node hash)
(vector-get hamt (+ idx 2))
nil)))))
behold the worst hamt ever conceived

shiro hates me
Hi thats me

Wrong, thats 270° in the center, not 90° stupid
What literally makes no sense, 2 of the 90° angles are on the outside, where the circle connects to the rest of the shape
You're not allowed to use the outside
Well time to check on my screeps
Oh ye, goodmorning 
What's up Sam
i would be interested to know what your average cpu is like? you have so many creeps
I have no idea what this is but it looks like what I'd imagine LISP looked like
lemme show you
[09:55:21][shard3]Starting execution for tick 71185897. 2975ms since last tick.
[09:55:21][shard3] Checking for missing creeps took 0.09808630000043195ms
[09:55:21][shard3] Creep b_7d51c78209 took 0.18104059998586308ms
[09:55:21][shard3] Creep u_dcd756d484 took 0.25421519999508746ms
[09:55:21][shard3] Creep u_96746b12bf took 0.2320033999858424ms
[09:55:21][shard3] Creep u_8aa4345225 took 0.23053960003016982ms
[09:55:21][shard3] Creep u_a21e3302cd took 0.231944899976952ms
[09:55:21][shard3] Creep d_35a83dc9fd took 0.04601480001292657ms
[09:55:21][shard3] Creep d_1c78f19b09 took 0.027740699995774776ms
[09:55:21][shard3] Creep b_cb8568c726 took 0.11579360000905581ms
[09:55:21][shard3] Creep b_9ab8c1499a took 0.11486410000361502ms
[09:55:21][shard3] Creep l_cef84bcabf took 0.41117980000854004ms
[09:55:21][shard3] Creep l_3aee195050 took 0.3615496999991592ms
[09:55:21][shard3] Creep l_ea232a0d9e took 0.11600550000730436ms
[09:55:21][shard3] Creep m_925c5eeb98 took 0.3048853000072995ms
[09:55:21][shard3] Creep l_6ddc54e5b8 took 2.167105400003493ms
[09:55:21][shard3] Creep m_045c01fa60 took 0.39686159999109805ms
[09:55:21][shard3] Running creep jobs took 5.321401000008336ms
[09:55:21][shard3] Creating creeps too 0.0046787000028416514ms
[09:55:21][shard3] Spawn Manager took 5.4489726000028895ms
[09:55:21][shard3] Structure Manager too 0.003248699998948723ms
[09:55:21][shard3]Room E37N34 took 5.4657777000102215ms
[09:55:21][shard3]Finished execution after using 5.532078999996884ms CPU time. 6007 CPU currently in bucket.
interesting
good to see that your logistic bot also takes about 2-3ms
i managed to get 5-7ms now
my repair bot and logistic bot are the most expensive ones.
i should try to look for a way to enable/disable profiling at runtime. rightnow im doing it through a compile preprocessor
i just always profile
it spams the console too much for my liking. i also don't think its overly useful
also not sure about the overhead of it
since im creating and destroying IDisposables when the scope ends
could clog up the GC and cause larger spikes
hmm maybe...
this is the profiler that i wrote
can't read that on mobile 

classic discord with their embeds
i guess i'll have to do this:
using System;
using System.Text;
using ScreepsDotNet.Native.World;
public class Profiler : IDisposable
{
private static double _startTime;
private static double _endTime;
private static NativeGame? _game;
private static bool _isProfiling;
private string _name;
private double _starttime;
private struct ProfileEntries
{
public string Name;
public double cpuTimeStart;
public double cpuTimeEnd;
public ProfileEntries(string name, double starttime, double endtime)
{
this.Name = name;
this.cpuTimeStart = starttime;
this.cpuTimeEnd = endtime;
}
}
private static List<ProfileEntries> Entries = [];
public Profiler(string profilingname)
{
this._name = profilingname;
this._starttime = _game?.CpuTime ?? (double)0.0f;
}
public static void Init(NativeGame game)
{
_game = game;
}
public static void Start()
{
_startTime = _game?.CpuTime ?? 0;
_isProfiling = true;
}
public static void PrintProfiling()
{
_isProfiling = false;
if (_game == null)
{
Console.WriteLine("Profiler was not initiated Correctly");
return;
}
_endTime = _game.CpuTime;
StringBuilder print_string = new();
print_string.AppendLine($"-----Profiling Results for Tick {_game.Time}------");
print_string.AppendLine($"Total Time: {_endTime - _startTime}ms");
//var lastcputime = _startTime;
foreach (var item in Entries.GroupBy(x => x.Name))
{
var count = item.Count();
{
if (count > 1)
{
var combinedCPUTime = item.Sum(x => x.cpuTimeEnd - x.cpuTimeStart);
var averageCPUTime = combinedCPUTime / count;
print_string.AppendLine($"---{item.Key} -- {averageCPUTime}ms -- {combinedCPUTime}ms Total -- (Average of {count} entries)");
}
else if (count != 0)
{
var group = item.First();
var entryTime = group.cpuTimeEnd - group.cpuTimeStart;
print_string.AppendLine($"---{group.Name} -- {entryTime}ms");
}
}
}
Console.WriteLine(print_string.ToString());
Entries.Clear(); // TODO: maybe make average over a certain tick range?
}
public void Dispose()
{
GC.SuppressFinalize(this);
if (!_isProfiling || _game == null) return;
Entries.Add(new(_name, _starttime, _game.CpuTime));
}
}
and then i use it like:
using Profiler profiler = new($"{role.GetType().Name} Role Execution");
and it automatically adds a new entry
i wrap functions in my profile function and that returns a function which calls my function and returns it's result, while also console logging the profile
i log at the end of a tick to not (hopefully) change the profiling results
all it does during a tick is save the name,startcputime and endcputime. the actual calculation and logging is done at the end and all combined add about 1ms to the end result
maybe i should do that, but i profile everything tbh 
6-8
i kinda want to add a rolling profiler to it. so it maybe profiled 10 ticks and only then prints it

alright so i guess my code and the c# wasm isn't too much of a overhead
eventually i want a system that achieves <10ms average per tick on several rooms
same
probably because it is lisp, at least a variant of it
ah neat
im gonna speedrun lvl4
i finally installed constantly running upgraders
how did you survive without that
i always had atleast 1 upgrader running 24/7
sometimes i scaled up or down depending if i were building or spawning things
i had tasks that'd upgrade when i wanted them to but otherwise keep it from downgrading if it got too close
is there a downside to upgrading?
i thought it only has benefits
besides invaders getting stronger after lvl4
6-8
at the time i only had harvesters and builders

6-8, forgot to reply
so my downside was that i wouldn't be able to fill my spawners and keep everything running
you sent 6-8, 3 times now
now i've got 5 different types, i turned the harvesters into upgraders
6-8

My wifi is dogshit lmao
E
(they're pretty lax if i get my work done
)

haven't seen that one in a long time 
but that's partially cos i'm a volunteer lol
Imagine having a job, couldnt be me
Dubrovnik 
Im on a plane back to belgium at 6pm tho so 
Ill be lannding in charleroi though 
Its better than nothing ig
job: screeps player
Id rather think of myself as a game-dev 
Go to the room controller if spawn is full!!!!!!

make other players pay you protection money 
-# surely that's against ToS
i think it depends on how you do it... you could create creeps that go to enemy rooms with just a move component and say like a time until you have to pay them something and if not you send a army to their room 
like resources or something. that you then can sell for actually valuable thing
maybe even steam community market items
you can transfer energy into the controller?
i thought you always have to use upgrade
Is that not how it works?
there is a upgradeController method on creeps that levels the controller up and requires a Work Component
Lemme try
you have to use upgrade
Y'all doing fun programming there. Meanwhile me, here, doing boring programming 
Tomorrow I should be able to join tho 
Don't worry I am also doing boring programming
I love enterprise Java code full of ChatGPT-generated garbage and nonsensical design decisions 
Yay
Ill be on desktop then
No more coding on shitty phone or laptop suffocating on the hotel bed
it would have been more impressive if it wasn't chatgpt
Due to me not being able to
I've not managed to be on screeps for a while. I would be blaming this on AI work behind the scenes but I've just not bothered to do it.
-# Not to be confused with the NN work I'm doing on this channel
Now they're not bothering to do anything at all
They're all just chilling there with full carry
I get the feeling my colony is too high maintenance
As soon as a the spawn is full it needs to make a new screep cuz someone died
I scaled down the amount of screeps
so wait
are you unable to or
are you just not

Yesn't
Fuuuck
Then what is the new one?
just to see how long they'll stick around
Time to write even more code 
There were no warnings lmao
I halucinzted worse than chatgpt
So what do i need to use???
Shir
spawn.store.getUsedCapacity(RESOURCE_ENERGY)
creep.store and it's properties and functions
They're hogging even worse now 
the store property should be accessible for most objects that can hold any resource
then you use the getCapacity, getUsedCapacity, getFreeCapacity methods on the store as needed

i would probably just do (spawn.getFreeCapacity() <= 0) if that doesn't work your code is wrong somewhere down the line 
you never know what you can store in these things 
or what changes screeps may receive in the future
doesn't hurt to insert the constant
Dont equal
Just do <
I have a container that accidentally has a bunch of some weird resource despite the fact that none of my creeps can transport it
idek how it got in there
you can't have less than 0 free capacity
== would be the correct one. but i like doing <=
but yes.. i forgot the argument for Resource. it does require the resource argument. i just have removed it for me and make it default for energy
If freeCapacity is 0 it needs to go upgrade the controller
No, cuz this is not part of the upgrade code
That line should check if theres free capacity in spawn, cuz it makes the screeps go to spawn
then do > 0 idk
it doesn't require the argument
without arguments, it just consider all resources
oh.. its optional
i just have it default to Energy for me
since that is the most likely usecase
i.e. a container with 10 energy and 10 ghodium will have getUsedCapacity() return 20 and getUsedCapacity(RESOURCE_ENERGY) return 10
but will it make a difference for getFreeCapacity?
good question honestly
i mean.. it doesn't matter what resource it can only take so much regardless
I hope not
it would suck if it just subtracted the used capacity for that resource from the total capacity of the container
I'll have to check
I think that's a resonable implementation
Returns free capacity for the store. For a limited store, it returns the capacity available for the specified resource if resource is defined and valid for this store.
Returns available capacity number, or null in case of an invalid resource for this store type.

unclear from docs
will need to experiment
luckily I now have a container with a bunch of a random resource somehow
so I can check
are there resources that take more than 1 capacity per resource?
then it would make sense
nah but there might be storages that are locked to a particular resource
or at least some of their capacity is
like labs probably
yeah
that's pretty funny
can you send a static webpage in an email when you get a notification?
yeah probably
btw are you guys running a private server to test stuff. or are you guys doing everything on the live server
I'm doing everything live
cloud is supposed to start a server but
nah everything is in a try catch
tho i was thinking about doing it just so i can work on auto expansion code
without attacking any of you guys on accident 
i should add a list of usernames to never attack to my memory

surely I'd never attack anyone by accident
surely I have adequate protections on my expansion code
and then i'll devour everyone. including qis and crazyfish
QIS is my victim 
waiting for my GCL to go up so I can claim their room after
my code won't waste resources on expansion and scouting if my GCL is too low for a new room
they have 2 more safemodes...
i'll try launch it tonight

you think they set up their code to use safe modes? 
they barely even set up wall repairs
how do you know?
but they build a few walls manually no?
they did that ages ago
no 
just
in
maybe i'll just walk in and kill them before you

then I'd kill you

idk if you noticed but I'm stuck in a corner and they're the only useful tile I can get to
you could try
they also cut me off from
literally the entire rest of the novice zone
so I WILL use that tile as a passage
i was just planning to kill not to also claim
I have a machine that I don't use that's suposed to act as a server. Maybe I can look around on how to set up a screeps server (I don't know if I could run it 24/7 but... maybe I do it cause funny?)
cloud already setting one up hopefully
To send a message 
no worries
Suuuurely 

is anyone going to settle in E35N37? i might make that my secondary base
Good to know. I'll look into it just out of curiosity too.
^
below QIS?
2 left of me
I'm blind. I don't see messages
I can't see the map so

where sam died 
but either way no I'm not planning for it
I was gonna murder QIS and that's about it
by then the novice zone will be over
so I can look outward
Imma share this out of context
we are surrounded by lvl 7 and 8 people 
not the worst out of context thing of mine
its gonna be fun once the novice area is gone
I'm almost there 
just a little more 
the provismet guy to the right of me is making me scared 
(i still had no invasions
)
yeah
provismet scares me too
burn that bridge when I get to it
need to ensure my subjugation squads work
Is crazyfish still crazy?
and I think their AI needs a little more work
yeah they scare me but they're further
i'll be honest.. we could probably just run into crazy fish
they barely have energy for defense rightnow
?
maybe i should plan for that soon'ish

the downfall of crazy fish
he could build like 1-2 big guys at most
that's still a lot
i could prepare with like 5-6 
dud i can pump out like a full spawner (about 800 energy) every 50 ticks
a move part is 50 energy
that's only 16 move parts
attack, ranged attack, and heal are even more expensive
heal is like 250 alone
it's a far cry of the max unit parts of 50
well he can't make max units either
are you sure?

like total
you've given me an idea for a way to set up my rooms
in his whole room 
bro is cooked
i might be able to improve my empire a lot this way
he is pumping everything excess into the controller
i'm currently gaining energy unless something is invading
like im not 100% sure.. but like pretty sure i can kill Crazy but...
he has 5 safe modes 
i should send a random scout unit so he automatically activates his controller
(surely he has automatic safe mode)
if he's as smart as he looks, his safe mode might only trigger on hostile units with attack parts
plus some proximity to the controller
that's what id do
then.. 1 move 1 attack 1 tough 
You know, I wonder if this convos is worth moving to #gaming and see how confused people are 
unit roles:
Reasonable assumption tbh
how do you track your energy production
why do i need to track it?
You don't 
See? Called it 
I currently only use creep memory for loading in creep types after reuploading my code
yeah I use the actual memory object for everything
i only use global memory for RoleLimits so i can edit those without recompiling 
(well and roles for the creeps..)
And your assumption is tick always move forward 
it's cache for a reason
i know i'll be fine
do things like creeps and items retain their memory after server reset?
shiro the only thing i use cache for technically doesn't even need cache
because i have that everytime i change my code..
creep.memory is shorthand for Memory.creeps[creepid]
so it is also wiped
btw. the room.Find() cache was actually useful. was able to cut down my time from like 3ms to 1ms average
ok, good to know
does memory even get wiped? i thought that is stored forever
likewise for room.memory
oh ya it's stored forever
wtf am I talking about

sorry I was confused
i was like... obviously its stored in their DB
🐥 🚬 shiro spreading misinformation
anything in Memory is retained
thats why there is a limit 
i spoke too soon my creeps aren't moving
SMH shiro, this isnt #neurotic-neurons you cant spread misinfo like that

and now the website doesn't work
website used cache
Time to check on my screeps
...website?
A daily message of the #programming community since shiro invaded
Cloud, I need answers, WHAT WEBSITE? DID YOU CODE A WHOLE WEBSERVER IN SCREEPS?
guys i think my creeps are dead
I have a debug print for seeing if the memory was loaded on startup so I can check if global memory is retained
screeps is just a website... you know...
Screeps is 502'ing me 
502 bad creep
No, I though cloud somehow managed to get his idea of calling web api works in a twisted way
oh
80 TABS 
i can't even sign up 
...you don't have more than 50?
can't even log in these days mhm
Who the fuck is angie?
No, i did have 120 bookmarks when i was working on my paper tho
the server
After 3 digits it'll just display 99+
(it's an nginx fork)
Angie is the servers name?
:D
A software name, yes
The server is a woman 
I only have 40 now

At one point in my old phone, i had so may tabs open, It just said "∞"

there was a time when I consistently had 550+ tabs open at any one time, I have since trimmed it down to only 90
I used to be good with tabs but I'm getting worse over time
Brother yall are the reason we need more ram to play games
I need to do another purge
it's happy now
general rule of thumb, if I can't remember what's in a tab before clicking it, then I won't ever reference it again
On desktop, I've mitigated the habit somewhat by the extension Tab Session Manager
That's why now I rock 64GB of RAM 
I don't dare to look at the exported json size tho
Same, i got 4x16 3600 now

the memory wasnt wiped
me when my init takes 17ms
My screeps are upgrading now

when i get home i'll probably work on why my tower does nothing at all
mad?
also screeps on mobile is terrible

i only use it to check up on things
nothing more...
you can't even select overlapping things 
were you hoping to do strenuous JavaScript development on your phone
me modifying my compiled js code expecting it to persist 
my only mobile support complaint is that the button to open the sidebar in the docs is miniscule
Go one step further. Use screeps in a quest 3 
I wonder if I should've checked on my screeps
I didn't actually look at them this morning
just verified I didn't have any urgent emails from screeps
I do kinda wonder how my new room is doing
i have like 30 emails from screeps 
idk how much they got built
because everytime i recompile my cpu limit is hit so it sends me a email for it after an hour
?
idk I'm just letting the creeps figure it out
I haven't placed anything in that room by hand
can you only own a second room with gcl 2
one room per Gcl
you can reserve neutral rooms but it's kinda pricy in my experience
but you can probably claim more than that?
isn't it just a bot with claim and move? to reserve
but only claim/own up to your GCL
yes but the stats are abysmal
I have provincie 4 hours on screeps mobile now 
why?
one CLAIM part costs 600 and lets you increase the reservation counter by 1 per tick
also, creeps with those parts can't be refreshed

so.. i should just rather have a bunch of miners in multiple rooms than claiming a room for the 3k source?
the reservation counter, of course, drops naturally by 1 per tick, so
if you don't claim the room, you can't build much
containers and roads only
i mean.. that is enough
but otherwise there's nothing saying you can't operate in a neutral room
reserving the controller prevents other people from claiming it, I suppose
to avoid someone wandering in and grabbing your room while you're using it
it's kinda a losing battle there by virtue of lower GCL

i guess
they don't but if you claim it then they will
basically anything bordering neutral rooms can get invaders from that entry

(but judging from me not being invaded once yet... not so sure about it
)
there is a spawn in the room next to me... maybe that is preventing invaders?
i've also not been invaded yet from what i can tell
"can appear only at exits to neutral rooms. " 
that makes me think they can appear in neutral rooms then
So having a roman wall neighbor helps
if that's the only condition aside from energy collection
but if there's an RCL requirement then maybe not
Hi konii 
topologically equivalent but geometrically, square must also have two sets of two parallel sides, which meet the other set at right angles
awa

I was waiting for someone to finally answer this, smart
I knew this, I just enjoy fuckin with people
And this is a perfect place where I get lots of people replying to one thing, it's really amazing
People here are cool
Imo squares should be convex too
topological equivalents 
regular polygons are convex yeah
Ye
the same also applies to regular polyhedra
thats when type theorists come in "see this is literally the same as dependent types"
I love it when things are convex 
I DESPISE the non-convex shapes 
type theorists can have a star as a treat
programmers cant i refuse to give it to them
im nort giving you a star just because you say so

so is a straight line
also a square
also any other polygon
While not actually concave, they're colinear which makes them mid
from the perspective of the surface of the circle the shape is always concave
draw tangent line at any point on circle
if it doesnt touch the circle aside from the tangent point, then its concave at that point 
konii is a starknight confirmed
repeat for all points
what if i ask nicely 
can confirm by induction that circle must be concave
maybe 
What? I dont see how this makes a curcme concave?
please konii i'll treasure it forever 🥺

it doesnt, its a false proof deliberately meant to mislead 
Konii im so confused rn
it worked 
The point can only go "down"
What does that even mean?
Imagine: A circle
I am
how can a proof be false when you can build two balls out of one ball (all of the same size) maths isnt real you can make it up as you go
Now imagine: A tangent line passing a single point on said circle
the actual definition of concave and convex on lines are based on the gradient. by this logic if we consider the gradient of the surface of the circle: x = -sin(t), y=cos(t)
Like an infinitly long line or one with a start?
Whatever works, The fact that it is tangent and passing said point is what matter
I still dont get it
sin(t) and cos(t) are both concave and convex at multiple points, and thus we can conclude that a circle is both convex and concave (based on where you are on the circle)

Konii i have made an executive decision that circles are convex
i see some programmers havent been pleased by this info but its ok programmers can have copy paste instead 
type theorists dont need copy paste because they know isomorphisms
Parametric equation my beloved
What are yall even doing with tangentual lines?
the falseness is this proof is it doesnt consider dy/dx, only dy/dt, dx/dt
Konii i still have no clue what you're yapping about so your false proofs arent even being understood by me
we can easily fix this by dividing dy/dt by dx/dt, which gets use -1/tan(t), which is infact concave excluding discontinuities

i didnt check the graph but just trust me 
If you put QED and a checkmark at the end I’ll trust you.
I still am of the opinion vircles are convex, and i dont care about your proofs
All the proof i need is my massive brain

"The proof is left as an exercise for the reader" The exercise being one of the millennium prize problem
Say no more.
chatgpt style proof
oh wait i forgot its just -cot(x), which is concave except at discontinuities like i said
im so smart 
hence circle is concave 
i realized so many problems can be solved by copy pasting
polymorphism? nah just copy paste
unfortunately recursion says no
(but i didn't ask)
you forced me to think about tangents of lines :ReallyMad:
erm, i get convex and concave switched around a lot
so basically just accept what im saying at face value and dont think 
Then its convex at that point

Circles are convex
proof by graphical calculator
same proof but in words (switch concave and convex)

i agree with you i just switched convex and concave 

nope its final circles are concave
good morning everyone, well morning for me. not sure about everyone else. ive been making changes to my code all morning
konii wouldnt lie to us would she

actually easy way to remember convex and concave - simplex rhymes with convex
3pm is basicly morning
If i wasnt on vacation idd wake up at 4pm probably
Not helping 
At least for me
i dont like to remember the simplex algorithm

I got the miners to build their own containers
they first use their resources to build a container and then when built, they will keep storing resources into that container
the spawn and controller will be starved of energy for a bit but I think that's fine
it's only 5k energy
the plan is to have runners that do all the moving so that I can be more efficient with parts
my creep state machine is starting to pay off
Airport
i made my own 
ok i dont like that it took me 40 minutes

i have two books on mathematical optimization, one about writing BASIC programs and one that i picked up and then spent 5 hours on the first 10 pages
i liked what i read though
Decoded to print getFreeCapacity cuz it wouldnt work
Where the fuck is it getting 158 from????
i wanted to give the star to neuro but her head is too concave
Bro its full, wdym 202?? 
eat her
i will, in fact, NOT do that
The spawn was just gering copied once into the screep and never updated. So 202 was the number of the spawn free space when the screep got created
maybe we can reach a compromise, eat the star deal or no deal
this is acceptable



Im getting -7 invalid target for the controller
Thats prob why everything is dying
-9 now smh
Not in range, bro just move there then
At least this one is ez to fix
The 3090 appears to have taken about 3-4 hours on the first part of training, and was easily able to sustain 24 batch size while only using 17GB of VRAM
On NeuroSynth with increased feature level

3-4 hours is not that much
You could prob invrease batch size too
I fixed my screeps

Wdym 413/200????
Why does everything keep breaking???
Bros even playing on the phone, what
Im at more than enough progress
Playing on phone sucks ass, but i cant use a pc in the airport and i need to fix bugs beford they all die
Yeah, definitely, probably for next run
@real sierra help, my room controller progress is at 413/200
By the way, this is the first time we're training NeuroSynth with breathiness and energy embeds, so will be interesting to see how those work out

Imm getting the problem where if the carry is empty it only collects 1 and hoes back yo work
Imma need to use a variable for if its collecting or working instead ig
hoes back yo, sounds like a good time





my walls algorithm is so good right guys? haha
actual emojis








GLOBAL STORAGE USERS




