Hacker News new | past | comments | ask | show | jobs | submit login

Some of the most performant games ever created were written in Lisp or a variant of it.

http://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp

Million polygon levels running at 60fps when the majority of games on that system had 1-2 orders of magnitude less geometry and ran at 30fps and were written in C/C++

I'm NOT saying therefore RMS should have used lisp instead of C but I am suggesting that any perf objections or memory objections are mostly not factual. It's perfectly possible to make a performant non-memory hungry lisp.




Written using Allegro Common Lisp, a "commercial implementation of the Common Lisp programming language developed by Franz Inc." Which was related to the Macsyma and going proprietary, and "the closing of the MIT Lisp and Macsyma efforts was a key reason Richard Stallman decided to form the Free Software Foundation."

https://www.ma.utexas.edu/pipermail/maxima/2001/001119.html

RMS: fighting proprietary software for more than 3 decades.

Also interesting: the game company "transitioned to C++ for future projects" according to Wikipedia.


> Also interesting: the game company "transitioned to C++ for future projects" according to Wikipedia.

They did after Sony bought them, to improve code sharing with other Sony game developers.

After they found out that this was not the case, they have been using Scheme (a dialect of Lisp) again in their development.

http://www.naughtydog.com/docs/Naughty-Dog-GDC08-Adventures-...

http://de.slideshare.net/naughty_dog/statebased-scripting-in...


Thanks for the slides (the second link)! What I can conclude is that only the game scripting was ever based on Lisp, never the whole engine? This sounds much less impressive and makes the achieved FPS claims almost irelevant.

And there were some other opinions on usefulness of such approach:

http://en.wikipedia.org/wiki/QuakeC

"Despite its advantages, the concept of implementing the game logic in a separate scripting language and writing an interpreter for it was soon dropped (even by John Carmack who had implemented this concept) because of the overall inflexibility of an interpreted language,[3]"

On another side, there are a some games which used Lua for scripting:

http://en.wikipedia.org/wiki/Category:Lua-scripted_video_gam...


Jak & Daxter the whole engine was lisp based.

As for the arguments that you can't interface with others because they don't know lisp and there aren't lots of libraries that's true of every language at some point in their lifecycle. There might be other reasons that's never happened for lisp or it might just be that no one has successfully made a concerted effort to get it there?

Maybe one of the LLVM based lisps would help a transition or at least let people try lisp on part of their C/C++ code base


> Jak & Daxter the whole engine was lisp based.

Only when "the whole" is defined to mean "the object scripting."

http://www.psxextreme.com/feature/45.html

"The final game engine has about nine different renderers, each is optimized for its specific task."

http://c2.com/cgi/wiki?LispInJakAndDaxter

"GOOL was used to control objects in the game"

Jak II had apparently the most of GOAL:

http://lemonodor.com/archives/000610.html

"Of the 1.2 million lines of code, roughly 900,000 lines are written in GOAL."

Still that leaves 300,000 lines which were certainly the most low-level and performance-sensitive ones.

The 900,000 lines aren't exactly "the Lisp," but that custom language, developed using the commercial Lisp, but I admit it's certainly an engineering achievement.


Strange.

Allegro CL appeared long AFTER Stallman decided to form the FSF...


And apparently is still a commercial (non-free) implementation.


Those games were written in C or C++ (and probably some assembly) and scripted in Lisp.


No they weren't. There was zero C/C++. Source Me. I worked on them


You mean even the renderer was written in Lisp? Didn't you have any issues with garbage collection?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: