Hacker News new | past | comments | ask | show | jobs | submit login
Lisp REPL in Vendetta Online (a1k0n.net)
55 points by fogus on Feb 23, 2012 | hide | past | favorite | 9 comments



The blog post is from 2005[1].

[1]: http://www.a1k0n.net/


And really not all that interesting. Weird. Hi, HN.

Also, we ended up ditching Lisp. Goofing around in Lisp when we had no idea how to deploy it wasn't really a smart move for a four-man startup, in retrospect.


> Goofing around in Lisp when we had no idea how to deploy it wasn't really a smart move for a four-man startup, in retrospect.

Would you mind expanding on that? I'd be interested in hearing about why you chose Lisp and why it didn't work out.


Well, we wanted to add some "life" to the universe with some automated trade convoys and so forth, and I had the crazy idea to use a rule-based system to implement it, and found an off-the-shelf clone of CLIPS (the expert system type thing), using the Rete algorithm called Lisa (http://lisa.sourceforge.net/), and that was implemented in Common Lisp.

It turned out that the impedance mismatch between that and what I actually wanted to do was gigantic, and Lisa was way too slow as it would re-evaluate the whole world anytime anything changed, so I ended up reimplementing the rule interpreter to trigger based on state transitions while keeping the same sort of rules. It was much simpler, and worked ok, but still.

Writing it this way led to three levels of indirection: we'd write rules that tried to emulate a state machine that tried to emulate a do-this-then-that-then-that sort of thing. It was ridiculous and impossible to understand. Serializable coroutines were what we were really looking for, and we ended up rewriting the whole thing in Erlang which pretty much does that.

We also had memory management issues which we didn't know how to debug in SBCL, so the thing would crash all the time even when it was working.


> Goofing around in Erlang

FTFY ;) but seriously, why is Erlang any different than Lisp?


How could someone answer this question? I think you should elaborate on what you are looking for.


> Goofing around in Lisp when we had no idea how to deploy it wasn't really a smart move for a four-man startup, in retrospect.

now THAT is something i want to read about. please blog!


Agreed, it would be interesting and useful to know about challenges and solutions.

It'd also be useful to use that as a springboard & checklist to develop a deployment system for the next four-man startup!


A couple of years ago I bought and played your game for a couple months and really liked it.

Have you ever considered adding procedural content generation? I have always wanted a space MMO with an infinite number of solar systems to explore. that was the goal for my project a few years ago.

I used a few different approaches including genetic algorithms and straight up monte carlo. The GA eventually led me to a sweet spot for constants currently used in the monte carlo generation of planets.

It also has an interactive python console. It helps a ton for experimenting and tweaking stuff while everything is running. http://code.google.com/p/stableorbit if anyone is interested in trying it I suggest pulling it from svn. python 2.6 panda3d are the most important dependencies.




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

Search: