Did I just make LARrE actually work? | Stationeers Venus

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ก.ย. 2024
  • เกม

ความคิดเห็น • 42

  • @dghost6506
    @dghost6506 13 วันที่ผ่านมา +10

    I just observed, you AC is no longer working properly. Dining Room increased by 2 degree to 23 and green house is already at 28. This could be the next dead green house if not handled.

    • @Zhoron
      @Zhoron 8 วันที่ผ่านมา

      He turned it off the week prior to limit power problems and has forgotten to turn it back on

  • @shadowdrake082
    @shadowdrake082 13 วันที่ผ่านมา +3

    I think coding the LARrE is a good example how half your total stationeers playtime can be the IC10 coding… sometimes you just sit there for hours to figure out and fix code problems.
    Still congrats on the more complicated setups and sequencing.
    I definitely agree having someone who knows the stack sit with you 1on1 to explain it better and how to manipulate it. Im pretty sure the chat could explain it, but grasping how to work and understand an already hard to visualize part of programming is worse with 15 different people explaining it in that many ways.
    Only thing i can say is that when you use the push instruction to write to the stack, it writes the data in and increments the stack pointer (sp) register. But when you want to grab data with the pop or peek instructions, it grabs data from where the stack pointer currently is. Logically that means you grab the last data you put in first. So working with the stack is putting data in at specific stack pointer locations and then manipulating the sp register to only pull what you want out.
    The stack memory can hold 512 numbers, it is highly recommended that messing with it you have your own paper and pencil table of what data should be at what memory location. It may be able to help you form a pattern or logic for manipulating the stack pointer in the event you want to use it for looping instructions.
    Once again, congrats on the LARrE code! The dopamine rush from making something work like that is awesome, and you saved it for later use so you can upscale the operation to have a robot workshop of LARrE’s harvesting and planting for you!

    • @GimbleOnDew
      @GimbleOnDew 12 วันที่ผ่านมา

      Tell him to find a local card shop and learn Magic the Gathering

  • @sisu4u
    @sisu4u 11 วันที่ผ่านมา

    Hey Splitsie, that was very good progress in this episode with the LARrE code! I have one suggestion that might simplify it slightly (no stacks).
    Create one label (after the start: label, I just have it here to make sense while writing this).
    checktray:
    # put ra in r12 because I think your other functions (harvesting, planting) are using r13 and would overwrite it
    move r12 ra
    # do all branch checks here using the registers Tray & Seeding (r15 & r14)
    lbns r0 -12345 Tray Seeding Sum
    beqzla r0 0 harvesting
    lbns -12345 Tray Occupied Sum
    ...
    move ra r12
    # will jump back to the last checktray to continue with the next Tray in the row
    j ra
    Then modify your start: code to just:
    start:
    move Tray HASH("Planter 2")
    move Station 2
    jal checktray
    move Tray HASH("Planter 3")
    move Station 3
    jal checktray
    ...
    j start
    That way, your "main loop" will just go through all trays, set all the registers (aka variables), and then jump to the function "checktray" to do the work and then control your LARrE from there.
    This will save you a couple of lines and might be less confusing in a couple of months when you look back at the code :) Hope it makes sense to you! :)
    PS: I might have messed up some IC10 instructions (like spelling) here and there, as I'm doing this all from memory, but the overall structure should still work :)

  • @ChaddK
    @ChaddK 13 วันที่ผ่านมา +2

    TL;DR: If this is confusing, then don't worry about it. It works fine as is if you don't change much.
    I just wanted to offer a suggestion in your Larry code. Where you have the hash name being moved to r15, you might want to move that up a line so that you can use the r15 (or Tray alias) in your lbns line.
    jal WaitIdle
    move Tray HASH("Hydroponics Device 2")
    move Station 2
    lbns r0 -1841632400 Tray 0 Occupied Sum
    beqzal r0 Planting
    jal Harvesting
    It will mean fewer lines to edit when adding more stations (only saving editing one line but still).
    My other suggestion is to prevent yourself from possibly being confused in the future. At the end of your SeedCrop section, you are moving the jump location from r13, back to ra ('move ra r13'), but you are relying on this being what it was set to by the Harvesting section.
    Instead, you may want to make the branch to SeedCrop be `bgtzal` instead (adding "al" to the end), and save ra to another register ('move r12 ra' at the beginning then 'move ra r12' at the end). The reason being that it can be very easy to see something being moved from a register, but not see it being set within that section (r13 is never being set in SeedCrop), and wondering why it's doing that.
    Anyway, great job on learning how to program the LArRE!

    • @Pystro
      @Pystro 7 วันที่ผ่านมา +1

      From moving the 'move' commands above the check, it's just one more step to how I would have done it. Which is to move the check into a function, just like the check for seeding. The advantage is that you're only repeating 3 lines, which will be invaluable once you want LArRE to tend to 25-ish planters.
      Here's the parts of the code that would change:
      -------------------------------------
      Start:
      jal WaitIdle
      move Tray HASH("Hydroponics Device 2")
      move Station 2
      jal Handle_one_Plant
      move Tray HASH("Hydroponics Device 3")
      move Station 3
      jal Handle_one_Plant
      ...
      j Start
      ...
      Handle_One_Plant:
      move r13 ra
      lbns r0 -1841632400 Tray 0 Occupied Sum
      beqz r0 Planting
      lbns r0 -1841632400 Tray 0 Seeding Sum
      bgtz r0 SeedCrop
      move ra r13
      j ra
      -------------------------------------
      Where the "Handle_One_Plant" function replaces the current "Harvesting" function.

  • @smeghead0
    @smeghead0 13 วันที่ผ่านมา +1

    it's asteticaly a poke in the eye, but you could try putting the grow lights on the floor, then mock ones where you actually wanted them. that way you get the look of the lights, even tho they don't work and the one below them doing the heavy lifting.

  • @fatsoda
    @fatsoda 13 วันที่ผ่านมา +1

    Loving this series

  • @txgorilla
    @txgorilla 13 วันที่ผ่านมา +1

    Should setup Suit Stations and mabe a Water Fountain. Agreed on knocking out an area for living space in that wall of the green house

    • @ParanoidMarvinMk2
      @ParanoidMarvinMk2 13 วันที่ผ่านมา +1

      Disagree. I think he should make the elevator/lift go up to a penthouse apartment with a view over the Venusian landscape.

  • @MMuraseofSandvich
    @MMuraseofSandvich 12 วันที่ผ่านมา

    Calling the programming language "MIPS" is ironic since it resembles a superset of RISC style assembly languages. This is very much like assembly, except actual assembly can be more cryptic as I'm pretty sure there are limitations on text labels. In effect, Splitsie, you're starting really low-level or close to the silicon where many students would start at a much higher abstraction level like Python or Lisp.
    I actually did university coursework on actual (virtual) MIPS processors. Very efficient design, though unfortunately no one had pockets deeper than Intel (and later ARM, Apple, Samsung, and Qualcomm...). So I'm kinda excited about the new RISC-V architecture, hopefully it can become what MIPS could have been if it were more competitive. Everyone who doesn't want to pay ARM mucho licensing fees is sticking RISC-V cores into their chips.

    • @exarch404
      @exarch404 12 วันที่ผ่านมา

      One of the devs said they made MIPS the way it is in the game on purpose. They specifically didn't want a higher level programming language. I presume it would also make the underlying game code much more difficult to manage (or even risk breaking the game). Plus, like everything else in stationeers, it means the player is forced to experiment in order to get (and keep) things running smoothly.

  • @fourdotsYT
    @fourdotsYT 12 วันที่ผ่านมา

    *"We have a Fern! .. It is Planted!"*
    - Had to replay that clip 3x times to figure out what lead to it. It was like Archimedes shouting "Eureka", running naked from his bath through the streets (after discovering buoyancy).
    # I'd kinda zoned out short up to that point, waiting for the Splitz to get there.
    I remember my first Eureka moment in coding (having felt like a poser, despite my education).. then realizing it all just works, the same.. _"just stop complaining about it, you already know what you have to do"._ Yes.. just more of that. It's just logic.. but more of it (but group it together.. if you don't want to repeat the same, over and over.. if it seems there's a pattern.. abstract it, and re-use.. loop it etc.).
    Break the problem into ever simpler parts until you can tell the thing explicitly what to do.
    ..Then.. after a personal little hissy-fit.. do it faster.
    Then after a while, my brain doesn't hurt as much.. I actually started to believe I have an ok brain.
    Maybe an even smart one. Just let the brain do it.. don't make it personal.

    • @tomvanaarle2622
      @tomvanaarle2622 7 วันที่ผ่านมา

      Archimedes did not discover buoyancy but relative mass.

    • @fourdotsYT
      @fourdotsYT 7 วันที่ผ่านมา

      ​@@tomvanaarle2622 That comment of mine was more to make a point, than to present actual facts (which may or may not have been true - I hope sincerely they were, but I was just going off my own fallible memory, off the top of my head).. but I'm glad to be corrected on the finer points you'd want to present.
      Thank you, for calling me out on it, if I made a mistake.
      I tend to look things up before I make statements like that.
      So I just did (google) it again.. if you google: ""who discovered buoyancy"... and the first answer that comes up is¨Archimedes".. then your criticism should be directed towards Google, not towards me. Right?
      Though I could still have misread it in haste to answer your comment.
      I just remember something about a rubber ducky in his bathtub.. and him running naked through the streets, shouting Eureka.
      I guess it could just be apocryphal like the apple falling on Newton's head, or Washington chopping down the cherry tree.. right..
      If the larger point was about them being founders of he US, or of Calculus.. does that really matter?

    • @tomvanaarle2622
      @tomvanaarle2622 6 วันที่ผ่านมา

      @@fourdotsYT I "asume" you are on point with Newton and Washington ... and yeah most likely Archimedes too.

    • @fourdotsYT
      @fourdotsYT 6 วันที่ผ่านมา

      ​@@tomvanaarle2622 If I understand correctly, the "buoyant force" is proportional to the mass of the body in question.
      According to Britanica:
      "Archimedes' principle: A body at rest in a fluid is acted upon by a force pushing upward called the _buoyant force,_ which is equal to the weight of the fluid that the body displaces. If the body is completely submerged, the volume of fluid displaced is equal to the volume of the body."
      So you were also correct..

    • @tomvanaarle2622
      @tomvanaarle2622 6 วันที่ผ่านมา

      @@fourdotsYT It was rather obvious that someone living in a time period and region crawling with trade vessels did not discover buoyancy as such.
      But he did explain *why* some objects float and others do not.

  • @creeperkiller590
    @creeperkiller590 11 วันที่ผ่านมา

    If you write it to work with a batch reader and writer you can have multi on one input

  • @gum__
    @gum__ 12 วันที่ผ่านมา

    Good job getting it to work!

    • @Flipsie
      @Flipsie  12 วันที่ผ่านมา

      Thanks 🙂

  • @TheXkyneticx
    @TheXkyneticx 10 วันที่ผ่านมา

    It's been great to see your progression in coding 😁Don't be afraid of the stack! It can be such a useful tool.

  • @ZeroZemial
    @ZeroZemial 13 วันที่ผ่านมา

    i know my programming is also not the best but if i am not wrong u could shrink the down code at least 25% and with an reapead command i think u need only 2 tray positions but then i think larry would move all the time to scan the plants ^^°

  • @dacoz
    @dacoz 13 วันที่ผ่านมา

    only at 16 min into the video, so I don't know if you solved this. I expect with your current comfort level with the coding you will want to limit the number of hydroponics devices each larrie services to the number of spare pins on the IC housing. I would have a seperate IC10 for controlling the chute in/output and going from there.
    My second thought would be to have one (or a group) ic10 to read the stats of the hydo bays, and pass the station number to a second IC10 that controls the larrie via the IC housing. and based on what the larrie picks up from the station, it decides to do different actions. (only issue is if the hydro station is empty then how to tell the larrie to pickup a seed/plant first. one thought on this is add 100 to the station number and have it programed in that station numbers > than 100 are go to pickup chute then subtract 100 from station number then go to station number and interact)

    • @dacoz
      @dacoz 13 วันที่ผ่านมา

      and with the logic listed above if you add 200 to the station then it can tell us that that station need fertilizer

    • @dacoz
      @dacoz 13 วันที่ผ่านมา

      ok now i'm at the 2 hour mark. and have further input
      load device 1 into r15, and it's station stop into r14. Then jump to check cycle. once there, check to see if it is occupied if not jump to plant. if it is then check if seeded if is is then jump to harvest seed then plant. if it hasn't seeded then jump back and load next device/ station into their respective r# and jump to check cycle again.

    • @dacoz
      @dacoz 13 วันที่ผ่านมา

      and it looks like that is exactly what you did. except you are using one less subroutine

    • @dacoz
      @dacoz 13 วันที่ผ่านมา

      the only change I would make to your script is define the pickup and dropoff station (incase you set it up differently or want to add fertilizer as another pickup)

  • @jasonfabrick9308
    @jasonfabrick9308 13 วันที่ผ่านมา

    Will the grid snap allow you to have the grow lights between the rails of the LARrE so the light is more even for the plants? Sorry, I posted before seeing all of the video.
    "Nun Soup". As bad as people consider Ben's jokes now that was one of the ones I remembered most. When playing Jedi Academy I would sometimes use the Mind Trick cheat where I could remote control opponents. On the levels that had lava and molten metal I would jokingly think to my self "Stormtrooper Soup".

  • @robert_the_great2842
    @robert_the_great2842 13 วันที่ผ่านมา

    Good video and I enjoyed watching. And I have a question; Do you have any videos on how to build an Ai Radar? I watched other videos on this subject however; the radar that I build does not work.

    • @Flipsie
      @Flipsie  12 วันที่ผ่านมา +1

      I've not tried yet, it's on the list to try at some point though

    • @robert_the_great2842
      @robert_the_great2842 12 วันที่ผ่านมา

      @@Flipsie Thank you replying and i look forward for see it.

  • @_ratfink
    @_ratfink 13 วันที่ผ่านมา

    I need to play more Stationeers

  • @Arlti91
    @Arlti91 12 วันที่ผ่านมา

    Hi, unfortunately I'm not familiar with the programming language in Stationeers, but wouldn't it be possible to program a loop? If you always increase a variable +1 in the loop, you save the code for each pot and only need it once. This means you could cover many more pods with one LARrE and not run into space limits in the code.

    • @Flipsie
      @Flipsie  12 วันที่ผ่านมา

      As far as I'm aware, no it's not possible, because you can't increment the hash that way

    • @exarch404
      @exarch404 12 วันที่ผ่านมา

      @@Flipsie I do think it's possible to parse through the hashes one by one.
      I.e. set the hash for a specific tray, jump to do all the checks on that specific tray, replant or harvest if needed, then return to that initial parse-loop and set the next hash, rather than having a separate check for each hash before going to the actions.
      Although in the end, it wouldn't save you THAT many lines of code, it might make adding more trays a little bit easier.
      But it seems to work fine as it is now, so perhaps keep the code optimization for the next Larry setup..

  • @Ben-wi4ww
    @Ben-wi4ww 13 วันที่ผ่านมา +1

    No assert acquisitions this week?

    • @Flipsie
      @Flipsie  13 วันที่ผ่านมา

      If you're ever wondering about stuff like that, make sure you check the community page of my channel as I posted about it here :) th-cam.com/users/postUgkxywnL6GELPQVfYhEQ7D2kc4frWEa4G-EO

    • @DemTacs
      @DemTacs 12 วันที่ผ่านมา

      I assume, it didn't get made.
      Because of the poweroutage TFE suffered.
      Be patient and "suffer" in the anticepation.
      Have a wonderful day, nonetheless.😃

    • @Flipsie
      @Flipsie  12 วันที่ผ่านมา

      Your assumption would be wrong, it did get made but it's a big special so it took longer and will be coming out today instead (all info that's in the link I posted) :)

    • @DemTacs
      @DemTacs 11 วันที่ผ่านมา

      @@Flipsie I've noticed.
      Haven't seen it yet.
      Will do once fully rested and awake.
      At the time the episode wasn't up, so it was the most plausible conclusion for me.
      Thank you for the nice comment.
      Enjoy your trail on the deathworld with Shadow. ;)