Stationeers Building the Harvie 500

  Рет қаралды 7,594

Cows are evil

Cows are evil

Күн бұрын

Пікірлер: 39
@blidis
@blidis Жыл бұрын
You are a great teacher thanks for all the good tips and trix has taught me a lot how to write the mips code
@MrHakisak
@MrHakisak Жыл бұрын
I'm loving these videos!!! Keep them up.
@tinygriffy
@tinygriffy Жыл бұрын
Seeing this spectacular framerate on that map I would assume you got some new gear, congrats to that ! Also thanks for the video of course ! Greetings !
@danielmills7972
@danielmills7972 Жыл бұрын
I just had a bit of a bigger brain moment: remove the stack need entirely: do the equivalent of a "do" loop and just constantly count upwards. Setup: make sure everything has a common name with a number at the end (like what you did) pseudo-code: set max -> number of harvies set r0 0; start loop: set r0 r0+1 -> Proper initialize the function if r0 > max set r0 = 1 -> return the ticker to the start set r1 hash("name"+r0) -> so r1 is the equivalent of "harvie0", "harvie1", "harvie2", etc >>DO ALL THE CODE PROCESSES -> batch name targeting what is in r1 return to start of loop The only part I don't know if it will work is the hash naming thing to use a variable like that.
@malrift3027
@malrift3027 Жыл бұрын
As always, thanks for the wonderful content.
@Grimly89
@Grimly89 Жыл бұрын
If you consider the hash is no more than a CRC32, you could make so it takes a last index and compute all hash as you go through the indexes
@TallinuTV
@TallinuTV 5 ай бұрын
Can't compute hashes on the fly, HASH("") is a preprocessor directive. Running MIPS code in Stationeers has no string handling capabilities. It evaluates all the hashes when the chip starts up, the only way to change any of them _while it's running_ is to use a different chip loaded with different hash values to overwrite them. But considering there's only 127 lines of code allowed per chip, this is awkward at best. If you want to use all 500 names, you need to put them all in the stack using four separate push programs (and first set the stack pointer to the right starting point, because flashing it resets that, and even for the first 127 you don't want the program looping and putting them somewhere different), export each set of code to the IC, run it, do the next set, and finally put the Harvie 500 code back in (with no names being pushed at the start the way Mick has it currently).
@josephduke7744
@josephduke7744 Жыл бұрын
mad respect for what you do Mick
@jezm-l3941
@jezm-l3941 Жыл бұрын
Can you not just call them a number then increment a integer variable?
@nickbuss3834
@nickbuss3834 Жыл бұрын
Device names are strings. Even if the name is "1" it's still a string and the hash values are derived from that string. To use an incrementing integer as the id you would need to have and use a reverse hash function to precompute the necessary device names to yield your number sequence, which would probably give you rubbish english names.
@jezm-l3941
@jezm-l3941 Жыл бұрын
@@nickbuss3834 can you not hash the name each time. I.E increment an int hash it then batch call name it? To be fair it would be easier if I got off my arse and tried it in game!
@TianarTruegard
@TianarTruegard Жыл бұрын
I noticed you don't have chutes on the inputs of your Harvies. Have you found a good way to automate feeding the harvies with seeds or plants to plant? I'm setting up a greenhouse for farming oxygen and would like to automate the growing of the filter ferns. Kind of annoying to have to feed the harvies.
@HelgiSkaft
@HelgiSkaft Жыл бұрын
I am having some issues understanding how the whole sp thing works, is it that once it hits restet, and sp gets set to 0, it goes back to the first value that is pushed?
@cowsareevil7514
@cowsareevil7514 Жыл бұрын
That is correct. sp points to the position in the stack where we get the set name from (peek). We can change the sp to any value to read any part of the stack. Setting it to zero goes back to the start of the stack.
@symoris9854
@symoris9854 Жыл бұрын
Thanks for the great information. Love your content.
@majortripps
@majortripps Жыл бұрын
This looks awesome and is a great use of the new commands, and of course you are always on top of this. Question, how are you handling the grow lights?
@cowsareevil7514
@cowsareevil7514 Жыл бұрын
For the grow lights, I use a solar sensor and use the sun angle to turn them on during the day and for a little while during the night.
@blidis
@blidis Жыл бұрын
I use this. But when I won't the seeds harve don't harvest the for example potatoes so sold it be like that?
@inneedofmedication
@inneedofmedication Жыл бұрын
You could preload like 50 names and add a query if the set of harvies exists below where you check for the end of the stack. Then reset it when it finds a set that doesn't exist. Prevents it running the unnecessary amount of times for sets of harvies that don't exist. You could also move your yield to the reset section so it'll run the entire thing every tick, if you wanted. I may or may not of already butchered your harvie script to do that yesterday.
@cowsareevil7514
@cowsareevil7514 Жыл бұрын
By only pushing the names of the sets installed means that there is no unecessary attempts to access sets that dont exist. You could move the yield but that would be spamming a lot more batch commands and the plants dont grow fast enough to require that urgent attention.
@Bjurran
@Bjurran Жыл бұрын
Thank you! Just installed this and it seems to be working
@boyraceruk
@boyraceruk Жыл бұрын
Would it be possible to use relative names to push into the stack? So the name is a variable and you increment it by one then push to the stack?
@jojoskunk
@jojoskunk Жыл бұрын
coding is amazing that stack thing keep impressing me i need to experiment and learn to use it.
@wudimusic
@wudimusic Жыл бұрын
Your Scripts are so helpfull..thank you for your content
@AliziaKaline
@AliziaKaline 7 ай бұрын
Hm... The harvies doesn't have anymore Plant and Harvest parameter... I don't understand how we are supposed to do now.
@johnturner9546
@johnturner9546 Жыл бұрын
Oh your poor poor cpu is going to be suffering. Also is there a reset command to clear the stack or do you have to make a chip?
@cowsareevil7514
@cowsareevil7514 Жыл бұрын
You dont need to reset the stack. You just set the stack pointer to 0 and push more items to overwrite the old values.
@m0rjjj666
@m0rjjj666 Жыл бұрын
I wish they used a high level programming language. I am a software engineer in real life and wrote enough ASM code back in the day :D I wish there was an option to use lua or python or JS or even C
@exe089
@exe089 Жыл бұрын
Isn´t it possible to use a register in the hash name? Something like HASH("Harvie" r1)... If this would work you could use as many harvies as you want without using the stack
@voidseeker4394
@voidseeker4394 Жыл бұрын
In the form you've written - probably not. I don't think string operations are implemented in this language.
@cowsareevil7514
@cowsareevil7514 Жыл бұрын
The HASH command is a pre-process command and get executed prior to the script running, so dynamic naming is not possible.
@danielmills7972
@danielmills7972 Жыл бұрын
@@cowsareevil7514Pushing things a bit further then: instead of mix naming can we just give the harvie a name just a number (i.e. "1", "2") and target that?
@lumirbaca1831
@lumirbaca1831 Жыл бұрын
When you speak about the harder work for computer and responsibility and don't use batch named when you don't have to etc. at 11:15 why dont you just use the pins to assign 3 more items on them and get rid of the whole problem?
@cowsareevil7514
@cowsareevil7514 Жыл бұрын
The code cant change which items are connected to the pins. 6 pins means 6 items only. More than 6 items requires batch commands.
@lumirbaca1831
@lumirbaca1831 Жыл бұрын
@@cowsareevil7514 no I know that for long from ya, but I want You to edit the code so that it can run the 512 sets and 3 extra that can be called whatever.
@lumirbaca1831
@lumirbaca1831 Жыл бұрын
In your second video you told us "don't build a furnace inside your base. Then you did it 5 seconds later. Exactly 2 years ago (in programming video 9 - arrays) you told us don't mess around with stack pointer and also rewarned us about the furnace-inside-base bad idea. 5 second later you did mess around with the stack pointer. And I'm gonna ask now: are you gonna mess around with the number that is actually the hash? Are you gonna write a simple yet rules breaking program? move r0 HASH("WHATEVER") s db Setting r0 Now imagine you found a mathematical pattern of how the game actually generates the hash values. (can't be THAAAAAT hard) How about you just label your harvies from 0 to 511 and a whole lot beyond that and instead of storing the hash values beforehand you generate them right when you need them. Disclaimer: of course I'm trying to picture how large the numbers would get. I don't remember game not allowing me to name a thing #5 or H&H or 37% so when I think of it (as a not so bad mathematician) ... yeah that's gonna be exponential growth at its finest. Also you built the code such that devices are called something something number so good luck to someone figuring that heavy math out. Or you rewriting all that. I won't even mention how extra processor heavy it is. Edited disclaimer: finding number of hashes is THAAAAAT hard. I have just made and run a simple program to show hash values of just the numbers and the were all over the place. It looked absolutely randomly, even approximately half of them was negative integers. Now is there anyone older and more of an experienced than me (I'm just ahead of high school) to explain me what the FOOL is that? But you should really try it. At all cost. What can you lose if you are careful.
@cowsareevil7514
@cowsareevil7514 Жыл бұрын
The script cant work with strings st runtime, so you would have to use sequential hash values for the script and then find a sting name for the device that would generate whatever number you are using. This would make naming things a nightmare.
@lumirbaca1831
@lumirbaca1831 Жыл бұрын
How did you know that, as I have just written, the numbers seem random?
Stationeers Deep Miner, Centrifuge and Chutes update
30:51
Cows are evil
Рет қаралды 16 М.
Stationeers experimental project. Gas fuel generator
19:07
Cows are evil
Рет қаралды 17 М.
Sigma baby, you've conquered soap! 😲😮‍💨 LeoNata family #shorts
00:37
Mia Boyka х Карен Акопян | ЧТО БЫЛО ДАЛЬШЕ?
1:21:14
Что было дальше?
Рет қаралды 9 МЛН
The Singing Challenge #joker #Harriet Quinn
00:35
佐助与鸣人
Рет қаралды 16 МЛН
Stationeers In world water update
46:18
Cows are evil
Рет қаралды 8 М.
Stationeers Harvie script build for updated farming
37:10
Cows are evil
Рет қаралды 7 М.
Stationeers - IC10 Safety Door
9:13
Shining Light
Рет қаралды 180
Stationeers: Simple Phase Change Device Heating or Cooling Setup
30:35
Stationeers How to Use the Logic Sorter
16:49
Drunk On Knight
Рет қаралды 2 М.
Stationeers Thermodynamics update
36:56
Cows are evil
Рет қаралды 18 М.
Stationeers - Introduction to and understand IC10 - Tutorial
30:46
Stationeers - Understand The Rocket Update - Tutorial
41:06
Stationeers Programming a Custom Airlock
1:11:02
Cows are evil
Рет қаралды 6 М.
Sigma baby, you've conquered soap! 😲😮‍💨 LeoNata family #shorts
00:37