Last Modified: 08 September 2007
Author: Andrew Sidwell
Located in: Angband

Langband interview

Andrew Sidwell: First of all, when did you first start getting interested in Angband?

Stig E. Sandoe: I've played roguelikes since the mid-80s, but didn't really play much angband before early 90s or mid-90s. Played a lot of Hack and Nethack in the 80s, but after a few years break I picked up FrogKnows. Been a few years break now and then and I'm not an avid angband gamer anymore, preferring other roleplaying games with deeper and more intricate stories.

AS: So what system did you first run Angband on?

SS: I first ran Angband on an old x86 DOS-based PC I think, early 90s.

AS: Right, so when was your first patch/code contributation to Angband?

SS: I think I made some patches public in 2000 and 2001, but all of them were frivolous. I've done some minor changing and tweaking of my local angbands to suit my preferences though, but nothing to make public. I really don't focus much on writing patches for ordinary Angband, except when I have a crazy idea. Examples are the various slime mold patches.

AS: What sort of tweaks?

SS: My local tweaks have mainly been to provide more info to the player (tweaking the map-function to display what I want or level-feelings).

AS: I see. What started you off on a new variant with almost completely new code?

SS: I had been hospitalised a few weeks and had been playing good old Zangband 2.2.8 on my laptop in the hospital. When I finally got out I realised that I needed to swap out some of my serious projects for a more light-hearted project. Pulling oneself up from a long hospital stay is both about becoming fit physically and sharpen the mind. A game would be a fun way to do that, so I decided that I'd do it in a language I liked, in my pace and hopefully make it fun one day.

AS: Why Lisp, then?

SS: That's a rather long story, which I've tried to answer on the langband.org and in a Usenet article, but first and foremost because it'd be a challenge and I prefer Lisp over the other dozen or so languages I know.

AS: I see. Did it take much planning to implement Angband in an entirely different language, or did you just dive in and code?

SS: I basically dived in and coded, but I've done it all in small steps and tried very hard not to attack too many issues at once. Just attempting a rewrite of a project with so long history is a big attack, so I've had to make little pieces out of it. Right now I'm focused on the issues in the game which are encountered before 1000' and have postponed the rest till later. I've also dropped many esoteric and rarely used features, like visual tweaking, spiking of doors, etc.

AS: Will things like that ever be re-implemented?

SS: Only if people request it and can argue that it will actually be used. Re-implementing unused features is not the focus.

AS: Great. How's the project going now, then?

SS: It's going slowly ahead, which is according to the plan. I upgraded the UI considerably from v0.1 to v0.1.1 and I'm now focusing on adding gameplay and fixing UI-bugs. A conversation engine has been added to the project and a quest engine is on the drawingboard. Plans for a new plugin-variant (in addition to Vanilla) called Contraband is also getting clearer.

SS: Contraband will focus on two interesting towns, called Bartertown and Lambda Rock.

AS: Heh, I see. What will the conversation engine let you do?

SS: The conversation engine will let a designer easily declare conversations with nodes, checks and actions. So conversation paths will be easy to define, and you can make paths depends on e.g player's charisma, clothing, etc. To get a good quest engine a good conversation engine is essential, or you'll be stuck with primitive quests like "kill 7865 dark elves on 50'." Conversations and conversation paths may also be affected by other conversations and previous conversations. Lisp is quite useful for this as it allows easy declaration of such conversations, intermingled with needed code.

AS: It looks as though Langband is going along the path to a more RPG-style game than most Angbands. Surely you're not doing all this on your own?

SS: Hopefully not, and as Langband is maturing and becoming a useful game engine I hope that more people will be able to easily add their stuff without being professional programmers. But help is on the way, and the conversation engine has been written by Knut Arild Erstad, and Kevin Rosenberg is maintaining the debian packages of langband (in debian/unstable now). There are also talks on how to make sound and music be part of the langband experience, so I'm looking forward to results from that part of the team.

SS: As for moving closer to an RPG-style game, the engine will allow designers to go for an RPG-style adventure if they want that.

AS: Was the multimedia aspect of it which made you dump the X11 and "traditional" Windows frontends in favour of an SDL one? Or was it for ease of development?

SS: Multimedia was an important aspect of ditching the GTK+, X11 and Windows backend for langband. SDL which is used now works portably on all those platforms and has graphics, fonts and sound working on all of them. It eases development and opens up new opportunities. SDL is also easily integratable with OpenGL.

AS: I see. So will be seeing a 3D (or maybe isometric) OpenGL port anytime soon?

SS: I don't know, but that is more possible now with SDL-support than it was when the backends were varied.

AS: Right. So your plans for Langband in the future is basically for it to be portable, and have it be used as a "jumping point" for other variants?

SS: That's a very neat way to put it, yes. As mentioned earlier, I will also try to make such a jump and see if the engine can handle different variants. The vanilla plugin will only get vanilla compatibility and not be developed further but be retained as a reference.

AS: So your variant [Contraband] will be a test of how flexible the Langband base will be?

SS: It will be a test and hopefully it'll be a fun game with a story to tell about the shady deals done in Bartertown and Lambda Rock.

AS grins. Well, I look forward to it.

SS: :-)

AS: And finally, there are two more questions. Who do you most hate in the Angband "community", and why?

SS: I'm not really a 'hate' guy, so I can honestly admit that I can't name any such person.

AS: Ah, great. But should Neo be executed to save the world a lot of anguish?

SS: Neo has had a special place in my scorefile for years, so I haven't read his articles in a long time so I can't say if he deserves such an execution.

AS: Ah. He does, though :)

AS: Well, thanks for the interview.

SS: No Problem.


Related

Back to the main Angband page.