• 0 Posts
  • 706 Comments
Joined 2 years ago
cake
Cake day: June 10th, 2023

help-circle

  • There are a lot of moving parts, so let’s start from the ground up. Processors are glorified input-output machines, you put electricity in some pins, and it gives you back electricity in other pins. Some of those pins define which operation you want and others give the input, so for example sending 00000010 to the operation could mean addition, so the output pins will show the result of the addition of your inputs. Each binary number can be interpreted as a decimal or hexadecimal number, but people are bad at remembering numbers, so instead we can have a table of conversion that says for example that ADD means 00000010, so you write a program saying ADD 2 3 and that’s called assembly language.

    Each processor has their own table of which operations it can do, so writing assembly is tedious since you need to know and account for all of that. Instead you can write in a higher level language where a program called a compiler will translate your code into assembly taking all of the considerations for different processors.

    So far, so good, but there is some stuff which is recurrent and requires special care. For example a processor knows nothing of the disks or memory in the system, so you need a program to be running there to manage stuff. We call that program an Operating system.

    Different operating systems do things differently, one might store things in any order on the disk to save on write speed while others might choose to align data where suitable to save on read speed. And they provide different high level APIs for it, e.g. one OS might have the open_file(char* full_path) while other could have open(char* folder, char* file). So if a program tries to call open in an OS that uses open_file the program won’t know what to do.

    Then just like OS sometimes programs try to use libraries that they expect to be installed in your system, such as DirectX on Windows. These libraries also have their own functions that the program tries to call.

    So now we get to a game which is trying to call a function from DirectX which is trying to call something native to Windows. There’s no way Linux knows what to do with that.

    So a few people realized that if they reimplemented the functions from windows but calling the equivalent functions on Linux you could get the programs to run. They also realized that you can reimplement DirectX using OpenGL calls, or more recently Vulkan. Putting those stuff together almost every call a game is likely to make calls one of these reimplementation which in turn calls the Linux kernel, which in turn calls the corresponding set of instructions on the CPU to do stuff the Linux way. The end result is that most things work, however sometimes the game developer tries to be smart and makes assumptions about how the OS will do something, and then face some errors because Linux did something slightly different.

    But the VAST majority of times when a game doesn’t work is because the game developer is actively trying to ensure you’re not doing anything weird, such as running the game on a different OS.


  • Not gonna lie, you probably will get lots of hate, but fanboys will be fanboys, just ignore them.

    In any case, this probably means you enjoy multiplayer AAA games, since as a general rule those are essentially the only ones that don’t work out of the box nowadays. Unfortunately those games are actively trying to detect if you’re using Linux to prevent you from playing, and if you had managed to play them you could have gotten yourself banned (like some users reported with some games).

    The other large cause for problems is the wrong drivers or not using the correct GPU in multi-GPU systems. If you were having issues with games everyone else was playing in Linux this is likely the cause.

    You choose Mint, which is an excellent beginner friendly distro, and it’s very close to Ubuntu which is the de-facto common ecosystem agreed to use. That discussion about having a common ecosystem was over a long time ago, it’s Ubuntu. But that doesn’t mean you’re stuck with that, it means that developers can focus on targeting one OS, and the community will figure out how to get it working in other variations when it doesn’t work out of the box. If it requires changes from the game we usually submit a bug report explaining what needs to be changed and why. But for you, the end-user, just having Ubuntu or something similar like Mint should get you a good experience since games are tested using that.

    At the end of the day Linux is not for everyone, sometimes you want specific software that is not made for Linux and that’s okay (okay on your part, fuck the companies that are actively making software unusable on Linux).






  • Strongly disagree, Universe is my favorite Stargate. They got a lot of the great stuff from Stargate and managed to put it together with a lot of the great stuff in Battlestar Galactica.

    OG Stargate was always about exploration and discoveries, something they eventually forgot on SG-1 and that Atlantis never really followed. If any one of the 3 is getting dropped it should be Atlantis, it’s the least Stargatey of all of the Stargates.


  • Wow, that’s very unfortunate. If you installed docker through package manager and have added yourself to the group I believe this to be self-imposed, I don’t know which mechanism Docker uses to give access to users in the group to its service, but seems related to that since it looks like the service is running but just your user can’t access it. To confirm it’s just that run the compose command as root, i.e. sudo docker compose up, this is not ideal but if that works you know it’s a permission problem with your user.

    You seem to know your way around Linux, so it’s probably not something obvious. I’m almost sure it’s something stupid and self imposed, I’ve done my fair share of stupid shit like leaving a config file malformatted or deleting a library or installing something through manually copying files only for something else to break because I overwrote something important.


  • I know you probably heard this thousands of times, but really, if you’re into self-hosting docker is a blessing. People make it harder than it needs to be when explaining all of the ins and outs. I assume you have a Linux box where you run your stuff, just install docker and docker compose there (you might need to enable the docker service, add your user to the docker group and reboot, unless you’re using a user friendly distro like Ubuntu). Then just make a folder anywhere for Silverbullet, create a file named compose.yaml and put the following text there:

    # services means that everything inside is a service to be deployed 
    services:
      # this is the name of the service, you can put whatever you want
      silverbullet:
        # this is the docker image to use
        image: zefhemel/silverbullet
        # this is the rule to restart in case of crashes
        restart: unless-stopped
        # these are environment variables you want defined
        environment:
        # this is a specific variable for Silverbullet, it's essentially username:password change this accordingly 
        - SB_USER=admin:admin
        # volumes are local folders you want to be available
        volumes:
          # in this case we want that the folder ./space be mounted as /space inside the container
          - ./space:/space
        # these are the ports we want to expose
        ports:
          # This means expose port 3000 on port 3000, if you want to access Silverbullet on port 8080 this would be 8080:3000 (because internally the service is still listening to 3000)
          - 3000:3000
    

    Then run docker compose up and you should be able to access it on the port 3000.

    Ling story short docker compose looks for a file named compose.yaml in the local directory, and that file above has all of the information it needs to run the server. I’ve annotated each line there, feel free to remove the comments.


  • I can cite way more than 5 excellent games from this decade from the top of my head, We’re almost in 2025, so I’ll limit to games released in or after 2015:

    • Factorio
    • RimWorld
    • Stellaris
    • Fallout 4
    • Overcooked 2 (and all you can eat)
    • Life is Strange
    • Cyberpunk 2077
    • Before your eyes
    • Dead Cells
    • Shadow Tactics
    • Cities Skylines
    • The outer worlds
    • Two point hospital

    I can keep going, but this is just from the top of my head, there are always good games getting released, and very rarely they’re AAA.


  • Home alone has to be set during Christmas, these are crucial parts of the plot:

    • The entire block travels at the same time
    • Houses have decorations, which are used as traps
    • Houses have lights that turn on at a specific time
    • It has to be set during winter

    So if you could have a different holiday during winter where lots of people decorate their houses to turn on lights at a specific time, then it wouldn’t necessarily be a Christmas movie. Otherwise you need to change crucial points of the plot.

    Other examples are Jingle all the way or Nightmare before Christmas you can’t change the Christmas theme in those movies. I mean, you can but you’ll end up with a very different movie. Whereas if you change Christmas on Die Hard for any other party event only the decoration changes, the plot of the movie would be essentially the same.






  • I love the idea of the game, and started playing it. But realistically it needs you to commit to some continuous time otherwise you forget what you’ve learned, and I haven’t had the time yet. I played it for a few days, explored lots of places but didn’t learned anything, possibly I was looking on the wrong planets and trying to figure out how to do it right on that planet got frustrated because I didn’t have something that was needed, or something… But I do love the idea of the game, and I want to go in blind. But some of those puzzles can be really frustrating when you only have a few minutes per day and forgot all about them by the next time you try to solve them.


  • What issues? Who makes it out to be bad? As far as I remember everyone has always loved this game, it’s like saying “despite the issues with Fallout New Vegas, it’s not as bad as people make it out to be”, or Skyrim, or Red dead redemption 2, it’s the kind of game I don’t think I’ve ever heard someone complaining about it (except perhaps for the existencial dread caused by finishing such a good game and not knowing what to do next)


  • Depending on what you mean by casual, I consider Dead Cells a casual game, because whenever I’m bored I pick it up and play for a while, but it’s one of the hardest games I’ve played, however because it’s rogue like it doesn’t matter if you die a lot. Another similar example would be Factorio with enemies turned off, just go there, fix something, add something new and quit the game near the next thing you want to do so you remember it next time.

    If you’re looking for a more traditional definition of casual games I tend to play those in the phone, I really like mini metro and super hexagon (although again, this one might not fit your definition of casual)