• 7 Posts
  • 273 Comments
Joined 2 years ago
cake
Cake day: June 18th, 2023

help-circle
  • I work in gamedev, both on my own game in my free time, and professionally. Projects take years to develop, and Unity was doing pretty ok 6 years ago, when I started my own project. Will I make another one in Godot? Very probably yes, Unity sucks, but moving an existing project is unfeasible.

    Another reasons are console ports. Getting a Unity game to run (run, not release/port completely, but that’s an important step) on any console is pretty simple, since all the core libraries are prepared for you and you just include them. For Godot, you have to find someone who already has those libraries.

    Unreal is too heavyweight for a lot of games. It’s amazing if you want some kind of realistic-leaning 3D, but the project size and (editor) performance is a huge problem for smaller things. Still better in a lot of things compared to Unity, but it’s also harder to get into, since it’s C++. Unity with C# is way more approachable, especially for students with laptops, who can barely get the editor running (It was a reason why I barely finished my Unreal assignments on college, and stuck with Unity). So, you have a lot of people who grew up on Unity, making it easier to hire for it. And when you are used to one engine for most of your life, with years of experience that’s limited to it, it is difficult to switch (although, almost everyone I talked to who works in Unity has “learn Godot” on their todo list)

    I’ve been mostly seeing Unreal recently, when talking to other devs and studios at conferences, and not many new Unity projects. Anecdotal evidence, though.

    Also, while I’ll definitely use Godot for any future project (which I already did for some gamejams), I can’t imagine maintaining a large AA(A) codebase written in GDscript. To be fair, it might be because I don’t have any large-scale project python experience (which I also can’t imagine writing a large app with), and IIRC the C# support isn’t as good in Godot yet.


  • I’m more fan of the https://www.vim-hero.com/.

    Also, one think I was surprised by when I switched to Lazyvim/Ideavim/vscodevim setup few months ago - it’s a lot of fun. Learning vim properly is like the dark souls of typing. Sure, you probably won’t be as efficient for the first few years, but learning new motion combos is pretty fun, to the point where the minor loss in efficiency doesn’t really bother me. Blasting out combos you’ve been practicing to do that one move efficiently, or discovering another new cool way how to do something is a continuous and fun process. It’s basically gamifying typing.

    So, if you want a boost in efficiency, just learn all the keybinds your current text editor has (jump to next param/function, multi-line editting, go to definition without using mouse, etc.), and start using them. You’ll probably master all of them in few weeks and be much more efficient.

    If, however, you enjoy slowly mastering something, vim will give you years of stuff to learn and master. Is it worth it? Probably not, but it’s suprisingly satisfying!




  • Nope, thermostat (yes, that thing that has one "if temperature < XX, turn on heater) is literally considered an intelligent agent, as defined by the actual field of Artificial Intelligence, it’s one of the first examples taught on the most basic of courses.

    You should really go do your homework about absolute basics of AI field before insulting random people that at least have a semblance of knowledge about the field, other than “AI hype, AI cool”.

    People like you are insulting the whole field of Artificial Inteligence, so please stop spreading bullshit about it before you get good (or at the very least, don’t be a dick about it, when people try to educate you). You probably had no idea the field even exists two years ago.





  • The issue isn’t whether you can get a good results or not. The issue is the skills you are outsourcing to a proprietary tool, skills that you will never learn or forget. Getting information out of documentation, designing an architecture, understanding and replicating an algorithm, etc.

    You will eventually start struggling with critical thinking, there are already studies about that.

    Of course, if you use it in moderation and don’t rely on LLMs too much, you should be ok.

    But how did that work for everyone with short-form content and social networks in the last ten years? How is your attention span doing? Surely we all have managed to take short-form content in moderation, since we knew the risks to our attention span, right?


  • I’ve switched to vim on a whim few months ago, and it still is a pretty fun and satisfying experience. I couldn’t get LazyVim to properly work on our Unity project, since the LSP can’t handle the hundreds of projects it generates, but IdeaVim in Rider works pretty much the same, as far as the movements are considered.

    However, the important thing is that I said fun and satisfying, not faster and efficient. I still make mistakes, I have to look into a keybind reference sheet every time I want to do something I’m sure has to have a special keybind but I’ve forgotten which one it is, but once you do that it feels good.

    Slowly but surely learning new stuff, getting the hang of some motions you use often, not having to reach for your mouse, all of that feels good. It’s still no way near the speed or efficiency of me just clicking the damn mouse, instead of fumbling around with VIM modes, undoing random actions because I missed one important key and now half of my text is gone, or just remembering that your clipboards get overridden by almost any action unless you do it differently.

    So, if you want to get efficient and quicker in your programming, I highly recommend checking the keybind section of your IDE, and learning the few important keybinds it has, such as jump to next function/next parameter, search symbols, and the like. That will make you more efficient.

    If, on the other hand, you want your editing to be a skill you can slowly continue mastering, eventually (after years of use) min-maxing, but always having some cool new things to learn that will feel good, them vim is pretty nice for that.

    Just don’t expect it will make you faster or more efficient.




  • I can share my experience with college, which it took me a while to appreciate but eventually I realized that while it wasn’t apparent at the time, it did make a difference. But of course, your mileage may wary, it’s just my personal experience.

    I felt like I’m forced to go through a lot of bloat I’ll probably never need - why do I have to learn stuff like Prolog, Lisp, Smalltalk and other obscure languages that I’ll realistically never need? Why force so much in-depth math, I’ll probably never need to be able to formally prove the Big O of a Hashtable…

    After spending few years working after/during college in offensive cybersecurity, where most of my colleagues did not have a degree, I’ve eventually realized what was the point of all these classes. I noticed that people kept reffering to programming as in “I’m a python programmer”, or “I’m a java programmer”, but I never really felt like that - when someone asked me if I can write something in any language, it didn’t matter what it is, I can just relatively quickly pick up the syntax and write anything I need in whatever you need, and I eventually realized that that’s exactly thanks to the college - the point was not to make me a Smalltalk or Prolog programmer, but to give me a PTSD from every different style of languages, from OOP through functional to whatever Prolog is, and while I do not remember almost anything, I still have the basic understanding of how does that style works, and when I look up any new language I need to use for the job, I’ve already seen and was forced to once learn and understand (well enough to pass exams) something with similar concepts.

    And that’s a really big advantage that people without degrees don’t usually have (at least from my experience with my colleagues). It will teach you how to relatively quickly pick up different technologies and use new things, and that is a really valuable thing. And it’s the same about data structures and other math - you will probably not remember it, but the feeling that “wait a minute, this problem sounds familiar, isn’t there like a obscure tree-thing structure that solves exactly this efficiently?” or “wasn’t there some magic with stacking trig coeficients for this?” will stay with you, and give you a headstart in looking up the concrete details that would be pretty hard to find otherwise.

    So I’m really glad I went to college. And in addition to that, it was amazing for networking - I had a masters in Gamedev and while that didn’t teach me almost anything new, it gave me a lot of friends and an amazing community of passionate people that I keep on making games with.




  • I don’t think you need any active sabotaging in this regard. I’m not really worried about the future of LLMs, because we are already at a point of feedback cascade where thanks to LLMs, more and more of content they steal from the internet has been AI generated by them anyway, which will eventually cause the models to collapse or stagnate. And besides, you wouldn’t be able to sabotage at a scale required for this. Thankfully, the spread of fake AI generated websites and content it has enabled is so massive, that it works as well.

    I’m looking forward to that.



  • I didn’t know that LINQ had more usages than just me being lazy to write a for loop, I have something to look into, thanks. Judging by the first documentation page I found, I wouldn’t even recognize the syntax as the LINQ I’m used to. I really need to catch up on new C# stuff.

    Saying LINQ produces garbage is uncalled for when it’s a different use case and supports other or more use cases.

    I don’t think I understand why would it be uncalled for, though. At least in the context of game development, where even small allocations can be a problem, it feels ok to generalize, especially if most people probably only encounter LINQ in it’s basic form instead of the other use cases. Mostly for the sake of new programmers, who may fall into a trap of over-using it.

    Unless you are talking about using the term garbage, which now I realize may sound degradatory. That wasn’t my intention, and I don’t have any negative connotations with that word, so it was not meant in a negative way - I though it’s the correct terminology for allocations that need to be collected by garbage collector later, which is an issue in performance critical applications.


  • I started as part time without any experience durring my college. I was studying gamedev software engineering, but we had one voluntary class about Ethical Hacking.

    I just asked my professor if he can reffer me to someone in the field, followed OWASP Web App Testing guide to the letter when testing the interview homework website, and landed the job without much prior experience (I did attend a few CTF competitions, though).

    Just following the checklist in OWASP testing guide made my results comparable to, or even better to some of my colleagues, and I’ve slowly learned the rest (especially internal domain pentesting) from our internal documentation or shadowing seniors during pentests, and simply being interrested in the field, having initiative and looking up new tools and exploits eventually got me to a Red Team Lead role (not a very good RT, though, but it did improve eventually).

    The pay was pretty good compared to what’s usuall here in Czech, too. I could comfortably pay rent and get by even with part-time, during college.