
Elite for Emacs - Immortalin
http://sami.salkosuo.net/elite-for-emacs/
======
jimmcslim
I've always wondered if there is scope for a MMO version of Elite that is less
ambitious (especially graphically) in some ways than the current Elite:
Dangerous but still has the essence of Elite; I'm thinking 3D graphics with a
retro vibe, maybe primarily text based menus for in-station activities (and
certainly no desire for on-planet or first person shooter components). Even
keep the generative universe of the original with its nutty planet
descriptions.

~~~
kleiba
Slightly unrelated: if you're into "3D graphics with a retro vibe", check out
"Return of the Obra Dinn" by Lucas Pope (of "Papers, please" fame):

[https://dukope.itch.io/return-of-the-obra-
dinn](https://dukope.itch.io/return-of-the-obra-dinn)

It has nothing to do with Elite or space adventures or anything like that,
though.

~~~
RBerenguel
His development blog is awesome too, I specially liked when he was working out
the best way to create effective looking dithering for 3D objects.

~~~
vanderZwan
And then a mathematician who happened to read the blog started to think about
it and created a new dithering algorithm just for him[0], which was pretty
awesome.

[0]
[https://forums.tigsource.com/index.php?topic=40832.msg121280...](https://forums.tigsource.com/index.php?topic=40832.msg1212805#msg1212805)

------
cha5m
They also just released "Getting work done" for vim

~~~
imglorp
True, I think half the point of emacs is _not_ doing work but hacking on emacs
instead :-)

See also:

M-x butterfly

M-x doctor

M-x tetris

M-x hanoi

etc. etc.

~~~
acomjean
also M-x dunnet

is a text based adventure game in most versions of emacs.

------
twoquestions
This is amazing.

Anyone know of any other text-based trading style games? I think there could
be a market for this, as even Eve Online is nicknamed "Spreadsheets in Space",
and I wonder if there are other games that have embraced that and left out the
quasi-dogfighting mechanics.

~~~
technomancy
I'm working on a spaceflight game that features trading and can be operated
from a text interface, though it features graphics by default. My vision is to
be a bit more story-based than the procedurally-generated or MMO-type games
would be, but it might be what you're looking for:
[https://technomancy.itch.io/bussard](https://technomancy.itch.io/bussard)

It features programming as one of its core mechanics on top of the piloting
features. I made a trailer for it here:
[https://p.hagelb.org/bussard-1.3.webm](https://p.hagelb.org/bussard-1.3.webm)

My goal for the next beta is to make it so you can purchase an upgrade for
your ship's computer in-game that would allow you to connect to it from an
external program like Emacs over the nREPL protocol:
[https://gitlab.com/technomancy/jeejah](https://gitlab.com/technomancy/jeejah)
You start the game without an autopilot routine, but eventually you find/write
one, and at that point you can play from Emacs or Vim or the CLI or whatever.
Right now the external connection only provides you with a REPL, but the
protocol is extensible, and I plan to add features that would allow you to run
more of a HUD-style REPL in your client of choice.

~~~
DigitalJack
Moving away from clojure? I can't get to the itch.io site from work for some
reason, but saw an older version github. What were some of the factors in
choosing lua? Has it been weird, difficult, or liberating?

~~~
technomancy
Not as much "moving away from Clojure" as "haven't needed to write any server-
side code in a long time". I would still use Clojure for that, unless it was a
socket-level cluster thing where BEAM would work better.

Lua is a great fit for this for several reasons. Mainly it's because I want to
make it a game where you can learn to program, and teaching beginners Clojure
is incredibly difficult. Lua's relentless simplicity really shines here.
Teaching tables is a snap, and trying to teach lists, vectors, hashes, and
structs in Racket makes my kids' heads swim. Secondly because the of in-game
programming, you need sandboxing, and Lua has excellent facilities for this.
And Lua's speed and access to the LÖVE game framework make it the best choice
for games that I've found.

Lua has its problems, but in the context of games 90% of them can be summed up
with "you had a nil where you didn't expect it" which is something Clojure is
quite bad at too. I would say in some senses it's been liberating to work on a
codebase that doesn't need to interact with the madness of the web, and being
able to count my dependencies on one hand (and read through their sources
exhaustively) is wonderful.

What were you trying to do on itch.io that didn't work?

~~~
DigitalJack
I think it was just a corporate firewall issue. That manifests in odd ways
that don't always point clearly to the firewall.

------
outworlder
Oh, this is fantastic!

I've toyed with the idea of creating a browser-based version of the original
Elite. Went as far as the galaxy generation, based on the C version. Then had
trouble, because the algorithm is pretty much obfuscated (unintentionally)
behind layers of bit manipulation. And you need to do it the exact same way,
otherwise you won't get the iconic galaxy, starting on Lave and with Riedquat
as the nearby anarchy.

From a quick glance, the elisp version is slightly more readable in some
places. I guess I should try again.

Also, will dig up my Portal Ending recreated in Emacs, as I didn't know there
were other crazy brains that found this sort of thing interesting. I wonder if
I need to get Valve's permission first.

------
Annatar
Elite in LISP, showcasing both serious coding skill and the power of LISP. If
LISP can do this, what else would be possible if it could talk to one or more
3D accelerators, and send synthesised, mixed sound to one or more audio
devices?

This article finds me in a middle of a dilemma, pondering whether to develop
my web application with AWK through cgi-bin (functionally of course), or use
ANSI common LISP...

~~~
technomancy
Can you give an example from the code of how this shows the power of lisp?
From reading the article it sounds like it's a port from the C version.

~~~
Annatar
I mean that he was able to do this at all it shows what LISP can do, not
literally. If you want to see the power of LISP though,
[http://www.gigamonkeys.com/book/practical-an-
mp3-database.ht...](http://www.gigamonkeys.com/book/practical-an-
mp3-database.html), and look how trivial it is to add functionality without
changing the structure or semantics of the program.

~~~
moron4hire
It would be very hard to make a programming language that was not capable of
this.

------
qwertyuiop924
That's pretty magical.

------
jobesian4lyfe
How elitist.

