need help with some fundamentals of for loops. it looks like im so close to fully grasping grabbing an item out of a list, but not quite. examples below
ShaunaTheDead @ ShaunaTheDead @kbin.social Posts 0Comments 243Joined 2 yr. ago

You could maybe make some kind of a lemmings style game where functions change the behaviour of the creatures in order to achieve some kind arbitrary of goal. Like arranging their colours based on the rainbow, or something to that effect. The creatures would be a stand in for data, and the things the players can do manipulate the data to achieve a specific outcome. Is that more what you were thinking?
Have you played other programming related games?
Here's a search result from Steam: https://store.steampowered.com/tags/en/Programming/?flavor=contenthubtoprated
A few that stick out to me, mostly because I've played them and they're pretty good, are Human Resource Machine, While True: Learn(), Opus Magnum, and Shenzhen I/O. I would say Bitburner too but that's more-so literally programming.
I think your idea is interesting, but based on the examples I've listed, which I must admit is not a huge sample, most of them are played in a sort of GUI experience sort of way. I think it would be very, very difficult to translate the core concepts of programming to a side scroller.
However, as I said, I think it's a really cool idea, just thought I'd point out some similar games in case you had never heard of them.
Oh, thanks for posting that second video! I'm sure the action video works great for some people, but it's not my style, I find those highly stylized, quick cut, action videos can be very misleading about how a game is actually played. They must be effective though because game developers always seem to release trailers like that... Anyway, the second video with the actual gameplay looks very promising, I'm excited for this game!
Yay! Happy to help! Enjoy!
@Stefh so a quick follow-up. I actually have this game and tinkered with it this morning to get it working. Here are the steps to get it working:
Click the Settings icon on Hyper Light Drifter (the 3 stacked slider bars icon) then click on WINETRICKS. Once Winetricks loads, click OK, select Install a Window DLL or component, then scroll to d3dcompiler with versions 42, 43, 46, and 47. Try installing any of them, I used the latest version, 47. But if you get an error, go back and try a different version. You can confirm that it was installed by going back into Winetricks and the version you installed should now be checked.
That should be it. It should work now. If that doesn't work, let me know and I'll try to help you out.
Alternatively, if you're more comfortable with command line stuff, go to the prefix folder for Hyper Light Drifter and run: winetricks d3dcompiler_47
or try changing the version number to 42, 43, or 46 if that doesn't work.
ALSO! I just want to point out that this actually isn't an issue with proton specifically. There are many Windows users complaining of this exact same issue.
At it's very basic, the only thing preventing Windows software from running on Linux is the order in which commands are called to start the program. What WINE (and Proton) do is reconfigure the order of command calls. Of course, it's much more complicated than that because of proprietary third-party software like DLLs, DirectX, and .NET redistributables. The difficulty is increased by nearly all of these being closed source, and so, developers just have to make educated guesses at what's going on behind the scenes much of the time.
As for getting games working specifically with WINE and Proton, it's nearly always better to run the game through a terminal window so you can see the logs output in real time. A lot of times, I find a big log at the start saying something like "{LIBRARY NAME} not found" or something along those lines, and simply installing the missing library through your package manager usually fixes the error. For example if it said "libssl errror" then try typing "sudo apt search libssl" and usually there will be a library literally called that letter for letter and install that, or try installing the closest candidate like maybe libssl3 or libssl-dev.
So, the way to actually launch games through a terminal window is this. Substitute your actual steam path for {your steam path} in the following examples. Then you'd type ~/{your steam path}/steamapps/common/{the name of the proton version you want to run}/proton run ~/{the path to the .exe you want to run}/{the .exe you want to run}.exe
.
It's as simple as that. You might immediately get an error saying KeyError: 'STEAMCOMPATCLIENTINSTALLPATH' or KeyError: 'STEAMCOMPATDATAPATH'.
For STEAMCOMPATCLIENTINSTALLPATH, simply add or update the environment variable for that key by typing export STEAM_COMPAT_CLIENT_INSTALL_PATH=~/{your steam path}/compatibilitytools.d
and for STEAMCOMPATDATAPATH type export STEAM_COMPAT_DATA_PATH=~/{your steam path}/steamapps/compatdata
AI has limits
It's not the color, it's the lack of outline around the text. You can put any color text on anything and as long as it has a contrasting outline color then it's perfectly readable.
For games, there's Heroic Games Launcher or Lutris which allow you to run non-steam games easily.
It's funny, I learned recently that you don't have to mash the button, you can just hold it down, but I still don't trust it and mash anyway.
@burndown okay so I installed it using Heroic Games Launcher and used Proton-GE-latest as the proton version. No other tweaks necessary. You can use Heroic Games Launcher to add your Epic Games games to Steam so you can launch it directly from the Steam Deck Library.
I've never played Rocket League, but I have it, I'll try installing it and see if I can figure it out. Generally if you're looking for help running games on Linux then ProtonDB or Lutris.net will usually have some useful information.
I think one of the most interesting applications of this technology is linking suspects to crimes. One of the key pieces of evidence used in convictions is proving that the suspect was at the scene of the crime. If they can't provide a solid alibi, or reason for them to have been there, then they're basically screwed.
Epic Games hasn't done it much lately, but when they first launched they paid a few big games to be Epic Games Store exclusives which is obviously anti-consumer behaviour. That and they're owned by China, so the chances of your data being funneled out to China is practically 100%. Also, Epic has historically been critical of gaming on Linux with the CEO going so far as to say that Linux users are a bunch of whiners and that Epic will never support Linux just to spite them. A very immature response to say the least.
In the past, games were developed with specific hardware in mind. They didn't really think of how their game would run on modern PCs 25+ years later. Some games even used that as a feature, famously, Space Invaders devs noticed that the game started speeding up as players destroyed more of the enemies because it didn't have to render them and so it made the game harder as you progressed which was more fun!
By the way, there are ways to run retro games with speed limiters, you've just got to look into it more.
Unfortunately, the guy in this video is a bigoted asshole. I'm truly confused as to how you can be a huge Star Trek fan and still be a bigot, but please don't support him in any way.
Free Code Camp is pretty great. It's mostly JavaScript and web-based stuff if that interests you.
I used to play a ton of online RPGs with a strong focus on actually roleplaying and I pretended I was a girl named Alia. So I'm kind of surprised I never considered that name when I actually came out. In my 20s I started hanging out with an older transwoman who was kind of like my mentor, and she named me Shauna. I ended up back in the closet for about 15 years, but when my egg cracked again a couple of years ago I floated a few options to my partner which the same first initial as my deadname, and she didn't like any of them except Shauna, and to be honest I also liked Shauna the best.
Oh, that's great!
You be able to just delete the prefix folder and start over. Maybe run echo $GAMEDIR
in terminal afterwards to make sure that the GAMEDIR Environment Variable was erased as well.
This is a pretty compact and - I think - easy to read way of doing it:
while(display != list(chosen_word)):
guess = input("Guess a letter: ").lower()
display = list(map(lambda c, d: c if d != '_' or c == guess else d, chosen_word, display))
print(display)
print("Congrats! You did it!")
Mapping over an array is a pretty powerful tool and also using ternary expressions. If you're not familiar, a map basically just iterates over an array and runs a function on that item, replacing it with whatever the return value of the function is.
For example:
ones = [1, 1] twos = list(map(lambda n: n + 1, ones))
It's running the lambda function with n as a parameter and returning n + 1, and it's pulling the numbers from the array "ones".
Then ternary expressions I also find quite powerful. The format of which is basically:
(result if true) if (condition to check) else (result of false)
Or:
2 if 1 + 1 == 2 else "You broke math. How did you do that?"