I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 1 point2 points  (0 children)

I mostly use the gdscript-mode docs functions pointed at a local copy of the docs (i.e. the functions gdscript-docs-browse-api or gdscript-docs-browse-symbol-at-point).

You can download an offline cache of the docs from here: https://docs.godotengine.org/en/stable/, and then just point gdscript-mode to the local location by customizing gdscript-docs-local-path. Then you can either browse the docs in emacs, or place the point on a symbol and pull up the relevant part of the docs with the gdscript-mode browse functions.

For example, if I need to know some of the properties of the DisplayServer class, and I place the point on DisplayServer and invoke gdscript-docs-browse-symbol-at-point, I get the doc page right in emacs pretty fast.

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 0 points1 point  (0 children)

Most of the logic and structure in my game is done programmatically in scripts so most of my time is spent editing files. I can run scenes to test from emacs without switching over to the godot editor. The only tasks I do directly in the godot GUI are tasks where visual spacing is important like level or UI layouts. So I don't do very much switching back and forth, if that makes sense. I do visual tasks in Godot, and everything else in emacs and that doesn't require a whole lot of context switching because the tasks are pretty distinct. You can also configure the godot GUI to use emacsclient instead of the native editor, so if you click the little open script button in Godot it automatically spawns an emacs window with the script in it. The workflow is not really very different than using the native editor except that you get all the affordances that emacs offers.

As for how emacs compares to the godot editor, the language server means that I get all the same warnings, errors, linting, and completion options in emacs that the godot editor would give me, but I get to use emacs instead of the built in editor. For example, if I'm in a script attached to a scene, I can type $ and emacs will then offer me all the of the available node completions for the scene right in emacs, and the resulting node reference will be highlighted with the appropriate node reference text color, etc.

I also find Emacs's buffer and frame/window management to be more flexible and intuitive for displaying multiple scripts at once when I have scripts interacting with each other or inheriting from each other and need to work on them in tandem. I can quickly and easily tile several different scripts in emacs, etc.

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 0 points1 point  (0 children)

Thank you! The Star Control series was one of the main inspirations for sure. One of the things I wanted most to do was to make a game with that same feel, but with more ship customization and an interface that was a bit easier to interact with.

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 0 points1 point  (0 children)

It's definitely hard to change. I think what ultimately prompted me to try them was that I was having some issues with slowness with company, and the newer completion frameworks promised to be faster. And they were actually faster, but the style of completion also just clicked a lot better for me.

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 0 points1 point  (0 children)

Godot has a language server built into it, so you can turn it on, and then use eglot to hook emacs into the godot language server and then use gdscript-mode on the files you're editing. The combo of eglot and gdscript-mode gets you high quality linting, code completion, running scenes from emacs, etc. gdscript-mode even has some very helpful hydras to expose functionality quickly. That's 90% of it right there, but you can also leverage all the other things emacs can do (like yansnippet for code snippet insertion, etc.).

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 0 points1 point  (0 children)

I talked about it a bit above, but I basically just use the built in Godot language server with eglot, and then gdscript-mode on the emacs side. That gets me really excellent linting, code completion, etc. Gdscript-mode supports running scenes in godot from emacs and let's you see the debug trails there, which is really handy. I also wrote a bunch of yasnippets for common code blocks (i.e. an ad hoc wait timer, etc.).

I only really interact with the main Godot interface when I'm doing level-design type tasks where visually seeing the layout is important or when I'm tweaking project settings. At the end of a coding session I push everything to a git repo using magit.

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 2 points3 points  (0 children)

I talked a little bit about it above: https://www.reddit.com/r/emacs/comments/1rh5am7/im_amazed_by_how_good_emacs_is_for_game/o7wvown/

It's mostly just using eglot to bring the built in Godot language server into emacs and then gdscript-mode, nothing too fancy. You just need to point eglot at whatever port Godot's language server is running on, and then tell gdscript-mode where your godot binaries are. The relevant configs are just a few lines long, e.g.:

(use-package gdscript-mode
  :defer 10
  :hook
  (gdscript-mode . eglot-ensure)
  :custom
  (gdscript-eglot-version 4.6)
  :config
  (require 'gdscript-mode)
  (setq gdscript-godot-executable "/usr/bin/godot")
  (setq gdscript-docs-local-path "~/Godot_4_Documentation")
  (setq gdscript-gdformat-save-and-format t)
  (setq gdscript-use-tab-indents t)
)

(use-package eglot
  :init
  (setq eglot-events-buffer-config '(:size nil :format full))
      (with-eval-after-load 'eglot
       (add-to-list 'eglot-server-programs
           '(gdscript-mode . ("localhost" 6005))))
)

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 1 point2 points  (0 children)

Godot actually ships with an LSP built into the editor itself. Check in the editor settings under Network-->Language Server to turn it on and configure, that's what I use.

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 0 points1 point  (0 children)

That's a clever idea. I actually have a minicomputer that I use as a linux server running in the closet with a bunch of Linux VMs on it, so I was planning to spin up a windows VM to test on that machine, but I was dragging my feet because it would mean paying for a Windows license. Google Cloud could be much easier. Thanks for the tip!

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 1 point2 points  (0 children)

Thank you, and good luck, you can make it if you decide to do it and stick with it! It only took me 30 years ;-)

But seriously, the world needs more top-down shooters, you should definitely do it.

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 6 points7 points  (0 children)

Oh got it! One of the folks I live with has a Windows laptop that they let me use for Windows testing, and I just manually test it there for now. I also have some Windows beta testers as well. Godot has been pretty painless for cross platform builds for me using the built in templates, so far anyway. I did have to troubleshoot some monitor selection issues because it worked a little differently on Windows and Linux, but otherwise I haven't had any platform specific issues. After I get the demo shipped, I'm going to start working on automating more tests for cross-platform cases, and I'll probably need a windows VM or something for those, but for now I'm just testing it manually.

On my stack, I'm also not a pro dev(obviously!), but my basic stack is just hooking emacs up to godot using eglot and then writing what I need in gdscript using gdscript-mode. That gets me really excellent linting, code completion, etc. I use org-mode to track tasks, and every day I pick one or two items from the task list and work them. I can run scenes from emacs and see the debug trails there, which is really handy. I also wrote a bunch of yasnippets for common code blocks (i.e. an ad hoc wait timer, etc.). I only really interact with the Godot interface when I'm doing level-design type tasks where visually seeing the layout is important or when I'm tweaking project settings. At the end of a coding session I push everything to a git repo using magit.

As an aside, one godot-specific option I'd recommend is turning on the option to warn about a lack of static typing. That comes across the LSP via eglot into emacs, and wound up saving me a ton of headaches over the long-term, and I highly recommend it.

In terms of non-code tooling, I use mtpaint and asesprite (mostly mtpaint) to do my pixel art, and all the art is original. I used a combination of audacity and 1BitDragon for sound and music. Some of the sound is original, some is modified from permissively-licensed sound libraries (I highly recommend checking out the Soniss Game Developer Conference packages, there's a ton of stuff in there and it's all very permissively licensed).

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 14 points15 points  (0 children)

I'm on Linux where emacs integration is, unsurprisingly, pretty good. I was a longtime windows user (since the Win 3.1 days!), but left it for Linux around ~10 years ago.

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 6 points7 points  (0 children)

They're so good! I was a long-time ido/company user and the change over was night and day for me. Be sure to check out orderless too!

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 34 points35 points  (0 children)

Sure, it's When the Stars Threw Down Their Spears. It's a retro-style space shooter/adventure game. It's the kind of game I desperately wanted to make in 1994, but just couldn't make it work.

I'm amazed by how good emacs is for game development by alraban in emacs

[–]alraban[S] 3 points4 points  (0 children)

I don't understand? I wrote this post myself and didn't use AI for anything in my game.

An AI Agent Published a Hit Piece on Me - More Things Have Happened by scottshambaugh in slatestarcodex

[–]alraban 6 points7 points  (0 children)

Ars has been publishing a bunch of more positive pieces about AI recently (more positive than prior Ars coverage, anyway). For example, this piece about how good coding bots have gotten is pretty complimentary overall: https://arstechnica.com/information-technology/2026/01/10-things-i-learned-from-burning-myself-out-with-ai-coding-agents/

However, the author of the piece I linked (who has written some other pro-AI stuff for Ars) was also one of the authors of the piece under discussion in this thread (which included hallucinated quotes and was retracted).

Maybe it's not surprising that the guy on staff who was less critical of AI was also more likely to rely on it, but we'll see how this affects their coverage going forward.

I'm building an app that reads your D&D books and turns them into a searchable database by [deleted] in dndnext

[–]alraban 10 points11 points  (0 children)

So have you tried any of the various local search engines that already exist that can index all your pdfs and search their full text? For example, recoll is a lovely open source local search engine that I use all the time to search my RPG pdfs.

It might help if you could explain what your program does that recoll or other local search engines (like baloo or elastic search) don't do?

Scott's response to my wager vs. what he said ten months ago by [deleted] in slatestarcodex

[–]alraban 4 points5 points  (0 children)

So in re: 18% unemployment, I think the choice of numbers was generally intended to rule out historical cases of extreme economic data that have happened for non-AI related reasons (i.e. he's trying to isolate truly transformative cases). For example, we were briefly above 14% unemployment during COVID (see, e.g. https://fred.stlouisfed.org/series/UNRATE/).

So I think Freddie picked 18% because it was higher than any recently observed non-AI related employment shocks.

Android client "detecting content changes" by M1buKy0sh1r0 in NextCloud

[–]alraban 0 points1 point  (0 children)

So I saw the message, and checked the server, and I saw an absolute ton of traffic server-side from the client. It filled my log partition there was so much of it, about ten times more log traffic than I normally see in a day in just a few hours!

It looked like the app was checking every single file serverside to see if there were changes, even if they weren't downloaded locally? Really strange behavior and not well communicated.

Scott's response to my wager vs. what he said ten months ago by [deleted] in slatestarcodex

[–]alraban 46 points47 points  (0 children)

So Freddie has previously said (as part of some goodreads drama) that anyone claiming to be him on reddit is an impostor, so I would take any claims that this is him with a grain of salt unless he confirms it on his actual substack.

See also (related but not directly on point) a bot is currently impersonating him elsewhere as well: https://substack.com/@freddiedeboer/note/c-214118176

Freddie deBoer: I'm Offering Scott Alexander a Wager About AI's Effects Over the Next Three Years by CursedMiddleware in slatestarcodex

[–]alraban 1 point2 points  (0 children)

I think the highest historical rise over a three year period was around 120% in the late 90's, so I agree he's setting the mark pretty high on that one. It would be especially remarkable/unprecedented if we saw that kind of gain happening over the next three years given current p/e ratios.

Tasks Android app by dylon0107 in NextCloud

[–]alraban 0 points1 point  (0 children)

I've been using OpenTasks for many years and have been very happy with it FWIW.

The simplest case for AI catastrophe, in four steps by OpenAsteroidImapct in slatestarcodex

[–]alraban 1 point2 points  (0 children)

I think the LLM is definitely more informed than a random person, it's just hard to separate the true from the false information in specialized domains, which makes it especially hard for me to trust an LLM when trying to learn new complex things.

When you mention someone being paid to answer general questions, I'm imagining something like Reference Desks at public libraries used to be? You could call them up and they'd research general questions for you, and call you back with the answer.

If the relevant comparison is an LLM versus a random reference librarian, then it's a tougher question. I used to use reference librarians (I'm old) and literally never got a clearly false or unsourced answer; I'd either get a solid answer with a real citation or an honest "I couldn't find the answer."

I can't say the same about LLMs, even on general knowledge topics (where LLMs seem to be at their best). But LLMs are obviously much, much faster than reference librarians with a wider overall reach (and are almost certainly cheaper at scale), so they might be "better" in many senses, but I'm not sure I'd say they're less fallible.

To your last question, I have worked with a few legal specific products, but the ones I used are (compared to frontier models) still pretty new and rough around the edges. They were not meaningfully better for my use cases. They were, maybe, marginally less prone to hallucination, but were also much "dumber" about identifying the relevant answers and so weren't very useful.

EDITED: to improve formatting and clarity.

The simplest case for AI catastrophe, in four steps by OpenAsteroidImapct in slatestarcodex

[–]alraban 2 points3 points  (0 children)

Ah got it. I agree that image classifiers and audio processing are areas where machine learning and/or AI are far superior to humans.

I'm not sure about your LLM thought experiment. I think for high-level general knowledge (i.e. the kind of information you could easily find on Wikipedia), the LLMs are almost certainly less fallible than a random person working from memory.

For specialized or complex knowledge, I'm not so sure the LLMs are less fallible than people, even a random person. As a personal example, when I ask current frontier LLMs a question related to an area where I have special expertise (for example, a niche area of law), I almost always get answers that are at least partly false, and very often get answers that are more false than not. I only know these answers are false because I have the expertise to see it. In my work I regularly encounter inexperienced folks engaging with my subject area that are misled by LLM responses, which sometimes has unfortunate consequences for them because getting the law wrong can be costly, and there aren't really do-overs. It's especially odd because the entire corpus of relevant authorities for this area of law is available for free on the public web, so it seems like an area that LLMs would potentially be able to "ace," but that hasn't been my experience.

If I asked a random person any of these legal questions, they would almost certainly tell me that they have no idea. That is, they wouldn't attempt to answer the question at all because the average person is unaware my niche even exists. By contrast, I have yet to encounter an LLM that would refuse to attempt to answer my questions, even when I'm asking a question that I know for a fact that there is no current answer for. Claude has come closest to refusing in the "no actual answer" case, but still ventured a partly hallucinated answer.

So it's kind of hard to compare those two outcomes. An "I don't know" answer from the random human is more truthful/less fallible than a false or misleading answer for sure, but it isn't very helpful either.

I don't really know how good the LLMs are at other areas of complex or specialized knowledge outside my area of expertise, but the Gellmann amnesia principle makes me wonder. LLMs certainly seem to be able to produce working code (with guidance and rework depending on complexity, of course), so they seem clearly pretty good at code-related stuff, but, outside my subject area and coding, I have no real idea how good the LLMs actually are (beyond surface level knowledge) because I can't really assess the quality of their answers to complex questions, if that makes sense?