• 9 Posts
  • 139 Comments
Joined 1 year ago
cake
Cake day: July 2nd, 2023

help-circle
  • Oh no don’t get me wrong, a year back I upgraded to an I5-7500 prebuilt, and it’s a beast for all my tasks. (maybe compiling is quick because I split modules a little too much?)

    Your advice is good for not knowing what I’m making. If I was making something multi threaded with much state I would fear UB more.

    may be much rarer in Debug because of speed difference

    Thanks, then I will remember to recreate bugs with opt-level = 3.

    Wait no, this doesn’t make sense if I don’t have access to the user’s machine, maybe I should send him a log-heavy version of some sort? How should I even what I am supposed to log? I should think about this some more before release.


  • Do you have any sources about this “unfitness” of Rust for gamedev? From my experience many people have problems with the borrow checker due to habits they obtained coding in other languages.

    I can’t say anything for sure, but I read this article, in conjunction with this article, before I made this post, so you might consider looking at it, and how it influenced me.

    Edit: wait, I’ll extend this reply even more.

    Edit 2: Done:

    So I’d be interested what special behavior occurs in gamedev that makes coding in Rust more difficult than for other software.

    Maybe it’s because the gaming industry is historically among the slowest industries, they stuck with DOS until there was literally no drivers on it for the latest GPUs, only then did they upgrade. There’s a video explaining how a recent AAA game could run on the steam deck, but not on Linux, it turns out the game was using a Windows XP library that’s too old for wine to support, so how did it work on the deck? they effectively added this to their code:

    if platform_name == "steamdeck" { use_modern_library() }
    

    , which explains why it only ran on the deck, but notice how they still stuck to the ~2003 library as the default even though the modern one works, that’s how much they hate change.

    Considering the above, suggesting they change the particular way of their forefathers wouldn’t be fruitful, unless extremely obvious B I G gains are to be found. Notice how Jonathan Blow’s game development language is literally ‘C++ but better’, and how it mimics C++ in everything but the universally hated parts, and adds none but the universally wanted features. (as universal as an industry can agree on anything, that is)

    That may be because games are a dangerous business, you pool all your resources in one project, and you get basically no income for up to four years, then you release and possibly succeed.

    I also speculate that games aren’t really maintained, most of the best games I know only received 3 patches at most (version 1.3). I think the priority isn’t: “How am I gonna remember how this works in 3 months from now and deal with technical dept”, it’s more like: “How can I implement this in a way that the only thing faster than the implementation time is the feature itself?”, so there is no fear of possibly breaking something that the checker can save you from down the road.

    The last sentence kinda doesn’t make sense since the first 3 years are more that enough technical dept for Rust to start doing its thing, but IDK how they think.

    Bonus: look for Jonathan Blow’s opinions on Rust on Youtube, he is an example of a studio owner fearing the risk of the possible “friction” that the Borrow checker could possibly cause.


  • Hello Pers,

    I made a mistake when writing the post, it reads like I am against the borrow checker, which I am not, I love the checker, and didn’t encounter any - major - problems with it.

    I meant that even if we used unsafe everywhere it would still be a good language, which is an attempt at arguing with those saying that Rust isn’t fit for gamedev because the of the checker. Which I failed at due to lack of experience, as this is my first time making a game, and Rust is my first language*.

    Regarding: “If it doesn’t panic in Debug, it won’t act weird on Release”, even if I got reported a really weird bug related to UB, I should (I am not experienced enough to make a claim) be able to know it’s UB since the game’s gonna crash when I try to recreate the bug in Debug.

    Some would say that shipping the game with runtime checks won’t have an effect on performance, which is probably true, since it’s so simple the list of entities is an array (not a vector), and the game state is - effectively - global (everything is impl CombatContext { fn x(&mut self) {} })**, and some (most? too early in development to tell) of the game is locked at 5fps (maybe I’ll bump it up a bit)***.

    I am so concerned about performance because I had to daily drive a computer that most people on this website - and especially on Reddit - would consider garbage E-waste, for 4 years, and was trying hard to play games on it, which was further amplified by my GPU not supporting Vulkan (nor Dx9 for some time), which meant I couldn’t use Proton, which taught me some hacks that are… let’s not talk about them.

    So I find huge pain in leaving any possible performance optimizations, especially that some people I know are stuck on - arguably - worse machines****; accessibility is a big priority.

    It also makes me angry to see pixel games come with 70Mib binaries and require Vulkan because:

    1 - internet costs money

    2 - they claim in the system requirements that their game “Should run on anything”.

    Memes like: “Oh my game could run on a potato” infuriate me (good thing I don’t use social media), NO, your game can’t run a potato, DooM can, it was actually optimized properly, your 2D pixels can’t even render on a machine a 100x more powerful, you should feel ashamed*(5).

    *: I was messing around with C# + Godot not super long ago, nothing serious.

    **: I have been refactoring my code lately to limit the scope of most functions, in a way inspired by ECSs, but significantly more primitive.

    ***: the game has both a 3D and a 2D part, the 2D part has locked FPS, the 3D part can run at any framerate.

    ****: Macroquad supporting OpenGL only down to 2.0ES would be a problem, if I wasn’t intending on forking it anyway to reduce the binary size (grim is an extremely bloated dependency, I managed to shove off 10 Mib in a few hours), and unless using 1.x is as hard people on the internet claim it is, which is probably false, as these people are mostly weak and say the same things about using a custom engine.

    *(5): this might sound toxic, but that’s how people get better.





  • bad hygiene (for olodumarè’s sake, bathe daily, and if possible brush your teeth at least twice a day).

    I know this is popular in this thread, but how to achieve that? I shower 0-3 a day, with 0 being in days waiting for the washing machine for I have showered too much, and have no clothes remaining.

    It seems no matter what I do, someone thinks I accidentally opened a shower on myself by how sweaty wet my underwear is, then proceeds to tell me I smell awful and banishes me from society back to my computer, which is what I would be doing anyway, also that person is the only one that complains and they (singular) can’t handle heat at all.

    I just checked and the temperature goes up to 42*, I don’t know how hot that is, since I never look at weather, if it’s hot I bear with it, if it’s cold I get sick for 3 days bear with it.

    Also I only wear winter-y jackets for some reason (A joke that went too far that’s been lasting for 3 years?), people underestimate how good they are at shading, and they come with a built-in hat, and protect your body better than any T-shirt ever could.

    Wait did I just answer my own question?


  • It’s hard to answer your request because, you see, your statement is like saying: “Everything is just atoms, so everything is basically the same”, it is “reductionist” of higher values, which even atheists have, but the statement itself cannot be denied, nor replaced with an alternative.

    Edit: I read your other replies, and you seem to not need this one, to ignore it.





  • We have (somewhat?) similar action in the US, there was a republican GOP member in New Hampshire that was pushing to keep legal marriage set at 16 rather than 18, described the 16 year-olds as “ripe”…super creepy

    I am pretty sure he’s an awful person just because he’s an American politician.

    But you’re missing the point though, you still think of young marriage as an absolutely-no-questions-asked obscene thing, which is understandable, seeing that most western teenagers are brainwashed into thinking they’re kids, and are therefore immature and aren’t ready for marriage. (Which creates some other problems because that’s the natural age for marriage)

    Where I live, we have 16-year-old men marrying 14-year-old women, and they have a child a year or two later, and they’re really fine, except for maybe being less educated that they could have otherwise been. Speed of maturity actually depends mainly on two factors: difficulty of life (maturity of the mind and body), and heat of the climate (sexual maturity), and considering how high both were at the time of prophet PbUH, marrying at 9 is absolutely normal.

    In fact, I am sure there are many marriage-ready 9-year-old women at places like Uganda and the poor African nations.

    Actually, the idea of setting a minimum age only came to us with the french when they decided to colonize us, so of course we won’t look positively at ideas brought by people who came to rape and pillage, and it still doesn’t seem so bright considering they’re still pillaging us implicitly through corrupt political affairs.

    Isn’t it weird that some resource-rich nations are dead-poor, while something like London can look like science fiction, and that a system as inefficient as democracy continues to function, and that every citizen somehow has human rights, and that the electricity doesn’t get cut daily. To this day I have a hard time believing that flat asphalt roads exist, and that driving on them doesn’t feel like riding a roller coaster of some sort; NO IT MUST BE FICTION, I WON’T BELIEVE IT TILL I SEE IT WITH MY OWN EYES!!!

    Note to Americans: you guys might say: “Oh, but our medical system is a scam and colleges cause students to drown in debt because we normalized the disgusting act of usury!”, it’s just because your government’s is spending a third-of-the-world’s-military-budget worth of money on bombing Iraq and Yemen and Palestine and Cuba and Afghanistan and some other things in the name of “War On Terrorism” against those they pillaged. (No wait they made it back when they built a dock in Gaza to steal all their oil, so your government actually has no excuse, it must be corruption/falling into usury)

    On the topic of American wastage, I read an article long ago where Americans were concerned that a 2000$ houthi drone was usually dealt with using a 2m$ missile, so the Pentagon spokesman or something replied with what was essentially: “Don’t worry, Americans! the houthi’s “terrorism” is already causing much more economic harm, so that’s a negligible efficiency loss”, like, how is telling people that the situation is much worse than they imagine supposed to calm them down?

    Edit: I forgot Russia, almost the only nation America has any right to actually fight.



  • Here’s the problem with English: I can not use the word “you”, and still have people know whether I am talking to them, or to people like them in general. Some of my "you"s were plural, some were singular. I need some way of coping with this language.

    You replied to only 1 paragraph of mine, and decided I am a troll just for suggesting pushing that slavery/“pedophilia” might not be bad, unlike what you were taught.

    Here’s an article I remembered, it’s written by a Christian:

    Although you’ve been lied to, it’s not the lies that’s the problem. As an adult, you can a lot of the times tell when the media is manipulating you, especially in the last past decade it’s gotten so obvious even a Boomer could see it. But what you don’t see is how when you were lied to (or told selective truths) as a child, you didn’t have the same BS-detector, and that allowed a lot of deep-seated impressions about the world to be formed. So a lot of people who don’t believe anything the media says now (rightly) are still mind-cucked. They accept the programming and differ on the details.

    I will give you this hint. Basically all of your programmed emotional responses are your enemies. There was an old Moldbug blog post where he talked about even far after “awaking from his dogmatic slumber,” he still was surprised that if he saw a group of Nazi LARPers, he would reflexively have a pang of emotional stress, but if he saw Stalinist LARPers, he wouldn’t have the same kind of emotional reaction. I think everyone raised in the West has that same programmed reaction. You might know with your head that the communist death count is supposed to be higher and the suppression wider, but it doesn’t click because you weren’t made sensitive to it.

    Edit: no, actually, English isn’t the problem, since I appended “guys” to my statement about looking at religion and deciding it’s silly, you should know that I wasn’t talking about you personally.

    I think the biggest flaw is assuming you’re among the atheist/agnostic crowd, but even then, I appended that claim with “(I guess)” to indicate that I am indeed putting words in someone’s mouth. Maybe you’re among the Christian crowd, or maybe you’re a… Zionist Jew? Hindu?

    For any passing people, the original reply isn’t edited, so I am safe from that side of accusations.



  • Then let’s talk facts and logic, why is an older person marrying a younger person bad? because you’re an educated Atheist/Agnostic (I guess), you must’ve questioned what you were taught at childhood, unlike those brainwashed and spoon fed Christians.

    “Minimum age of marriage”, who came up with concept? it surely isn’t common sense since it only appeared less than a century ago, so what is it? Some may say that young marriage is a mere relic of the ancients, a result of their underdeveloped logic and science, and that our advanced logic is better and is infallible.

    But wait, your people, just mere a century ago saw people 2 centuries a ago the exact same way, and so did those before them, so using our logic, we can deduct that our logic is illogical.

    How about statistical data we can speculate, a mere century ago, how did the world look like? there was certainly very little employees, even Christians believed in their book, Javascript did not exist (alhamdulillah), young people were treated as adults, and people older than Israel who to this day live under bombing by your morally superior society were being born; How does something like the depression rate among their youth compare to today? It is reportedly much lower, so how did your generation fail? Surely with all that development of medicine and the like, your people should “logically” be much happier. Are you really strictly superior to the ancients?

    “But statistics back then were biased and limited”, I see your point, unlike the “infallible” statistics of today, those statistics were surely awful, so let’s move to broader ideas.

    At childhood, you were spoon fed many ideas, like “Slavery is unacceptable”, “The old marrying the young is awful”, and “Humans evolved from monkeys”. By using the fact that our logic is illogical, we can conclude that these aren’t concrete facts. How is slavery involved with almost every product in the average American household? how did the ancients grow up to be healthy adults? Again, ask your grandmother. How is there not, to this day, concrete evidence of humans evolving from anything but slightly taller humans?

    How is slavery unacceptable in your eyes, yet you can’t live without it? Is the average McDonalds worker treated better that how Islam treats slaves?

    How did the ancients grow up to be healthy individuals? Is insisting that you’re much better than the ancients truly your way of avoiding depression?

    Why is anything that goes against the theory of someone named Darwin, of whose book you know nothing, and whose theory’s shortcomings you are ignoring, and whose teachings you were fed in school, and whose ways you never questioned, mere ancient fables?

    But there stands, the teachings of Islam, Allah’s divine revelation to us, it never failed, for 14 centuries it stood unchanged, yet who reads it could never tell, that this book wasn’t written by a scholar of today, how could it so accurately describe today? how did our caliphate, only a mere century from today, stand strong? How didn’t we truly fail, until we forgot the words and called it a day?

    //////////end

    I got a little peotic at the end.

    You guys just look at Christians and decide that religion is dumb.

    I thought of finishing with some miracles like the 360 joints, the beating of alcoholics and adulterers, and camel milk+urine, but the article south_park_remark reply got too long.

    I realize these miracles can be individually dismissed, it is not their individual traits that will persuade, it is their collected wight. It is the fact that the prophet, peace be upon him, never claimed anything that is wrong, unlike scientists of a mere decade ago, and that his medicines did nothing but heal, unlike scientists of a mere decade ago.

    This is likely to get downvoted, I say this because mentioning downvotes in your posts/comments usually prevents them from being downvoted (a little psychological thing probably)







  • Doods@infosec.pubtoProgrammer Humor@lemmy.mlgot him
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    edit-2
    3 months ago

    I just got some idea yesterday regarding impl blocks, ready to be my respondent?

    I had a big impl block with 4 levels of indentation, so I cut the block, and replaced

    impl InputList {
        //snip
    }
    

    with mod impl_inputlist; and moved the impl block to a new file, and did not indent anything inside that block.

    The advantage this has over just not indenting the impl block in place, is that people will have difficulty distinguishing between what’s in the block and what’s outside, and that’s why the impl was moved to its own exclusive file, impl_inputlist.rs

    Maybe I am overstressing indentation. Ss there something wrong with my setup that prevents me from accepting 4-space indentation?

    I use:

    Editor: Neovide

    Font: “FiraCode Nerd Font Mono:h16” (16px fonts are addicintg)

    Monitor: 1366x768, 18.5 inch, 10+ years old, frankenstein-ly repaired Samsung monitor.

    Distance: I sit at about 40-60 Cm from my monitor.

    That leaves me with a 32x99 view of code excluding line numbers and such.