Journalism Interview: LummoxJR
Interviewed by EnigmaticGallivanter
EG: How did you originally join / find BYOND?
LummoxJR: It goes back a ways, because I've been with BYOND a long time now. In the early '90s I was a fan of a character-graphics game engine called ZZT, whose author went on to found Epic Megagames (the company behind the well-known Unreal engine). ZZT had a game with it that was very good for its time, and the built-in editor allowed you to make your own games if you had the skill and patience. It was however fairly limited. While exploring the Web in 1998, I found Megazeux, a game engine that was basically a huge upgrade from ZZT, supporting character and color editing, more options in its internal language, and module-format music. However when I bought a new computer in 2000 and moved from Windows 95 to 98, Megazeux wouldn't run.
In late 2001 I decided it would be nice to find a graphical replacement for MZX, and BYOND was one of the first entries that showed up in a search. One of the first things I read was the DM Guide, because I wanted to get a feel for the language and its capabilities. The flexibility and power of the language reminded me a lot of TADS (the Text Adventure Development System), which I had always thought was ahead of its time in a lot of ways. Seeing a few of the games in action, I realized BYOND had very great potential.
EG: One of your posts talked about your dislike of Anime, so are you against BYOND Anime?
LummoxJR: Heck no. I really think it's great that anime fans have found BYOND to be so well suited for games that they enjoy. My only real beef with this, one that is widely shared, is that anime games make up such a vast majority that it puts a damper on our diversity. BYOND has always had the ability to do casual and strategy games very well for instance, but they get overshadowed by massive anime RPGs.
EG: Do you think that there are less quality games filling up BYOND than games you can sit down and play for hours at end?
LummoxJR: Lately that has been the case, although I still hope that won't be the case forever. I used to play Lode Wars for hours because when Leftley would host it on Saturday nights it drew an impressive crowd. We had a really good core set of developers at that time who were cranking out great games, and at the time I had more free time to just kick back with even some of the lesser-quality RPGs. I used to love a game called Dark Dungeon (not to be confused with Darke Dungeon by Shadowdarke), originally written by Victol and handed off to Ryuo, because although it was simplistic it had a really good mix of decent icons, great sound effects, and fun. When you hit an enemy you got visceral hit sounds and the damage numbers from Spuzzum's s_damage lib. Playing that was a blast; I'd love to play something with a similar feel but more open-ended.
EG: Are there any BYOND Games that you play (minus yours)?
LummoxJR: Lately I haven't really had the time to explore many games, because there are just too many demands on my time. But I do find that pretty much any of Iccusion's casual games are great to pop into, and when I really feel like having fun for a while I'll host Lode Wars or maybe Bombard. I've always been a fan of Laser Wars as well. Shadowdarke's Tanks still has a special place in my heart though, and if I find at any time that he's hosting Darke Dungeon and I actually have a chance to play, I'll usually join in for a while.
EG: Nadrew's NCom Messenger was pretty lovely, will the BYOND Pager ever get a new upgraded look and be able to have multi-chat pages or just a revamped look?
LummoxJR: I've only seen a little of his program so I couldn't comment on specifics there. As far as supporting separate chats that house multiple people, that's a fairly tricky proposition as we'd need some way to give each chat a special "entity" so the hub could keep track. The existing way of sending pager messages really doesn't include info on who else got the message, which would be a minimum requirement, but we'd have to do more than that because having every misguided "STA" turn into a multi-user chat you couldn't get out of would be a bad thing.
We actually do have some pager upgrades in limbo on the horizon. A while back I spent some time on a project that was meant to better integrate the website and the pager, but due to some technical issues we had trouble getting this to work on the pager end. However the website version of this turned out to be a big step up from what we have there now, and more responsive to boot, so eventually we would like to revisit this and see what can be done with it.
EG: With the Report Bug and Request Feature parts or BYOND, does this give you more work to do / hassles, or do you find it beneficial?
LummoxJR: The trackers are hugely beneficial. It seems like every other week Tom and I are telling each other what a difference it makes over the old forum method. That's not to say some things don't occasionally still get overlooked, but it's so much easier to tell what status everything is in. On the forums if a bug was resolved or a feature was implemented, there was no easy way to tell that the thread was no longer needed. Because these use our blog post mechanism where you "subscribe" to the comments after commenting or creating the issue yourself, it's also much easier to get quick feedback from people and to see when that feedback comes in, through our website alerts.
Of course no system is perfect. The biggest issue I run into on a regular basis is that so many users ignore the template and plow ahead with a report that gives me no information I can test, or they may use the template but still fail to fill it out with details. I think most users do understand that we need to be able to reproduce a bug (in most cases) before it can be fixed, but there are a few who just don't understand how to convey themselves clearly. When investigating bugs I'd rather be inundated with meaningless details than have none at all. But in this respect it's no different from the way the forum used to be.
EG: The Demo / Libraries are filled with little hidden gems that not many people notice, will there eventually be some type of organization added to it, such as Author, Alphabetized?
LummoxJR: Well, back when I joined these sections used to be smaller, and they also required a moderator to add them to the DM.Demos and DM.Libraries channels we used to use. Organization was easy to come by then because they were kept limited mostly to quality demos and libraries. We do have a lot of quality work out there still, but it's hard to separate the wheat from the chaff. That's the main problem, really.
I'd encourage users who are so inclined to write up articles on demos or libraries they feel are worth users' time (even if it's their own), and submit them to Dream Makers.
EG:How did you join the BYOND Staff?
LummoxJR: Early in my time on BYOND I was a bit of an envelope-pusher. I found things the system could do with significant prodding and tried to develop them further. In my first project, Goop, I discovered that while there was no way to multiply an icon by a color (at the time), I could fake it with subtractions and additions. Multiplying by a color was later added as a feature. Then I moved on to a project I called LandWar, which was basically a proof-of-concept that I could create a strategy map generator and work with "compressed" maps that used four virtual tiles per real turf. LandWar graduated to Incursion, and I believe it was one of the primary drivers behind Dan implementing the /icon datum. During that time I sent Tom and Dan my source frequently because the game was doing so many things that stretched the engine to its limits. I must've driven Dan crazy. (I frequently like to say that if I'm the new Dan, Gakumerasara is the new me. He has a talent for finding really obscure, difficult-to-fix bugs.)
It wasn't long after that that I was a forum moderator. Once Dan started backing off from the project, Tom made the source code available to a few select users so they could fix bugs and add some new features to keep things moving forward. I first got access to the source in late 2003, and was contributing on a volunteer basis. A lot of my time was taken up by my work however, until in late 2006 the company I worked for at the time announced they would be shutting down the local branch and I was going to be laid off. Tom expressed some interest at that time in bringing me on professionally to make BYOND 4.0 happen. In February 2007 I officially came on board as a full-time developer.
EG: What have you contributed to this site?
LummoxJR:"No put usr in proc. Ungh."
For games, I've written Incursion, Scream of the Stickster, and if I ever get around to it I'll release Scream of the Stickster Volume II: The Crayon Massacre. I have numerous demos and libraries--I actually have another library I plan to release soon--which include IconCutter, DmiFontsPlus, and IconProcs. I'm proudest of DmiFontsPlus and its predecessor, the original DmiFonts, because that required writing a separate application and it's fairly unique as libraries go. (DmiFonts was the first, possibly only, third-party program to output icons in the old .dmi format.) I've written quite a few developer articles, mostly the Dream Tutor series, but also the BYOND 4.0 skin tutorial and a guide to the new isometric mode. Some of this work was actually professional; Tom asked me to develop IconProcs in response to several fairly common issues developers were having, and the skin and isometric tutorials were similar.
The rest of my professional work eclipses much of that though. A great deal of time went into taking BYOND 4.0 from where it had been to an actual release; Tom and I both worked very hard on that. I designed the new Dream Daemon myself as one of my first projects, since the old one was so far out of date. I wrote the help files for our programs and also the skin reference. Many of the features in skins were implemented by me. I have done extensive work on the website and hub as well. The website went through a complete overhaul a while ago, and the hub, which used to run the website, underwent extensive trimming to make it leaner and easier to understand. But not all of what you see was done by just me and Tom. We've had helpful contributions from Mike H in particular (he developed the bug tracker), also at times from Shadowdarke, TheMonkeyDidIt, and others. And Deadron first set up the blogs and several other aspects of the website. Most of the site work that happens now though is from me.
EG: Well we know you make some games for the users to play, only one game has an official continuation, will a game like Runt ever get a continuation game?
LummoxJR: I'd really like to expand on Runt someday, if not with a sequel then with another, more expansive dungeon crawl. Dungeon crawls are where my heart as a gamer really is. It's just the perfect mix of strategy and setting to stoke my imagination. I love this kind of game so much I actually wrote a short story around the premise.
Incidentally I've been playing Puzzle Quest 2 lately on the DS, and it's an interesting mix of the original game's mechanics (built around a Bejeweled-style "match 3" game) and a scripted dungeon crawl, with isometric graphics in the world itself. I think this premise definitely has room for expansion, so much so that I may consider adding puzzle/minigame elements to any future dungeon crawl.
EG: Can you tell us about anything you are currently working on for BYOND?
LummoxJR: My current project is a mostly-top-secret concept that we hope will really boost BYOND's appeal to the wider Internet community. There's a need that we think is not being met, that an engine like BYOND with its simple but highly adaptable language can answer.
At any given time I'm also investigating bugs. Sometimes I look for bug reports that may have fallen through the cracks a bit (the tracker helps so much with this) to see if something has changed that I can re-test. I also like to implement features, but because of the pitfalls of feature creep I usually stick to small ones unless Tom gives the green light for a feature-packed release.
I mentioned earlier that I also have a library in the works. I think it's about finished and I'll end up releasing it soon. It may help class up a few games, particularly those with an emphasis on text, but I think it might help with scores a bit too.
EG: Some ideas are added to BYOND, some are shot down; have you ever had an idea for BYOND that was denied?
LummoxJR: I've had some deferred, for what I now see are obvious reasons, but I don't think many if any have been denied. I was a supporter of 24-bit graphics and module music, and we have those now. Client-side processing is probably the big one that never reached fruition, but even at the time I first floated the idea I knew it would be difficult.
Most of my ideas though have always been tempered by a concept of how the system works though. Before I had any access to the code I had a rough idea of how things ran, and that probably weeded out some ideas that would never have worked. Now if I pitch an idea it's usually one I've thought out most of the way through implementation, because if it's accepted then I'm the one who has to implement it.
EG: If you could make a change to BYOND or add something (and I'm sure you can), what would you do?
LummoxJR: My natural inclination is to go nuts with features. I'd probably look at skin features that have been on the List for some time and see which ones would be easiest to add, and probably add a few new controls as well if I could figure out a design for them. We've had some items like drop-down boxes on people's request lists for a long time, and I would also like to see .winset be a little more flexible so it could do some client-side processing beyond its current rudimentary capabilities. Skin-features are a double-edged sword though because the Windows API was designed for a different era; things you would think should be easy may be difficult to impossible, while at other times I've had to battle around default behaviors in some controls that are not easy to override.
EG: What interested you in programming? Where did you start out in programming? classes? books? or self learning?
LummoxJR: I'll answer these together since they're related. When I was a young kid I was hyperactive. At the time I don't think there were drugs for it, or if there were I wasn't aware of them. (The late '70s were the Dark Ages as far as the world of medicine was concerned though.) But when I was 4, my father bought an Atari 400 computer with 16K of RAM. It played cartridge games but it also came with the BASIC language, and that was my first taste of programming. He and his friend would type in programs from code printed in magazines and save the games to a cassette recorder. I got started programming around then, typing in examples from one of my father's old college textbooks. Eventually we got a better Atari model and a proper disk drive; I started typing in programs from the magazines myself, often altering them if I felt I could add something more interesting.
When I was a young teenager we got our first PC, one of the very first machines with a CD-ROM drive. A family friend installed a C compiler for us, and I started learning to program in C. I developed a simple solitaire game in C. Once I learned C++ and got a little more familiar with proper game programming, I developed a DOS game called PlunderMine and another called The Belts, and I also worked on some utilities like one that would do tricks with Windows 3.1's icons. I studied more in college, getting more languages under my belt and moving on to Windows programming. At that time I also discovered the Web, and learned to use HTML.
I guess the most direct answer to your second question then is "all three". Classes were helpful in some subjects as bootstraps to get me started, but I've relied on self-learning in many cases. I've been in the habit of buying computer books on subjects that interest me for a very long time, because I find reading those gets my brain juices flowing and gets me thinking in new ways I hadn't before.
EG: Is what interested you in programming, what kept you going or was it something else?
LummoxJR: When I first started programming I think I just wanted to see what I could do with it, maybe make my own games, but I had no specific goal. What keeps me interested is still that, but I'm also fascinated by algorithms, the ways that a particular problem can be solved. In this sense I don't think programming will ever lose its appeal for me.
EG: Be honest, with your programming have you ever been malicious?
LummoxJR: No. Although the earliest viruses took an amazing level of expertise to develop and represent truly brilliant work, I've always found them petty. Any good programmer has wondered at one time or another if they had the ability to create a virus from scratch, which is why most viruses start out without a payload--like the first Word macro virus, which showed up in 1996. But even though there's always been that curiosity, I know there's nothing useful I could do with it; I think in that respect I'm like most other programmers. And of course there are different kinds of virus authors, the true innovators and the cheap copycats who simply modify existing work. Rippers, you might say. I'll never know if I'm in the same league as the first kind, able to write something new and unique, let alone something that can evade detection, because I don't want to be that guy.
EG: Do you have more fun programming for a game, applications, or just-for-fun types of programs?
LummoxJR: Probably just-for-fun programs, but I've stretched my mind the most working on applications. A few years ago I wrote up an app called Blankless, to deal with issues in which my newsgroup file downloader was leaving gaps in the files because it was too stupid to tell it was downloading parts in the wrong order and reassemble them correctly. I would end up with multiple copies of a file that had different gaps in the data, so I built the application to combine the data from the two partial files. In its initial form it could just look for long stretches of 0 data in a file, but later on I added the ability to do proper splicing--like the kind DNA scientists might do--so that if pieces of the structure was lost but the sequence was intact over several broken copies of the same file, it could try to reconstruct the whole file from the parts it had. That was a fun exercise in logic, and it really pushed me to new places as a developer.
Before that, I had considerable fun writing plugins for the blog software I was using a few years back. I wrote plugins for developing better blog calendars, working with numbers, performing complex actions, and many others I'd have to look up to even remember. That forced me to work alongside someone else's code to develop something compatible, in a language I hadn't worked with much previously.
EG: What was your favorite video game when you were younger, and what is it now?
LummoxJR: I don't think I could narrow it down to a single favorite. Pac-Man was the first arcade game I ever played, but as a kid I think I'd have to say Joust was my favorite then. I was also partial to Pengo and River Raid. I wanted to get into Pitfall but I didn't have the patience for it; I did find the world it presented however to be fascinating, which helped drive my interest later in Roguelikes. M.U.L.E. was my favorite for group play. Nintendo games were fun, most especially Super Mario Bros. 3, the Legend of Zelda, and Metroid. Sonic the Hedgehog and its sequel were both great games. As I was older and had a PC, I got to enjoy a lot of the shareware titles of the time like ZZT, Commander Keen, and DOOM. I liked the strategy/simulation game Outpost a lot when it came out, even though it was never finished. Nowadays it'd be hard to pick a current favorite, but I really enjoy the Lego games, partly because my childhood love of Lego never went away.
If I was hard-pressed to pick an all-time favorite, I would have to say Super Mario Bros. 3. It did things that had never been done before while preserving the feel of the original game, and stretched its console to the absolute limit. I have many other fond memories of games, but the best all revolve around that one. Nothing since has come close to it in terms of pure awesomeness. As Adam Sessler said recently, if you don't like this game, you have no soul.
EG: What is your current hobby, and does it help you relax?
LummoxJR: I like to read, but I don't do that nearly as much as I should. I like mostly science fiction, but I love Lord of the Rings, and I wouldn't mind rereading the Harry Potter series. Reading makes me a better writer though. I just finished expanding a novella I wrote a while back into a full novel, and I'm tightening up the first draft right now. Mostly I write short stories, but I haven't had as much inspiration lately. When I'm not doing any of those things I like to build Lego models or design models of my own. Programming is also a hobby, if I have something I want to work on, and of course I do like to play games and watch movies when time permits. Collecting and building Legos is also high on the hobby list.
Of all those probably reading is the most relaxing thing I can do, but reading also feeds the mind and that can sometimes fire me up. Often spending too long on one hobby or project will spin up ideas for another, so I usually jump between interests after few weeks or months. Lately though, writing has been my main interest.
EG: What is your highest education?
LummoxJR: I hold two college Associate's degrees: One in computer science and one in electrical technology. I stayed at a community college for both, for many reasons. I liked that school environment better, it was cheaper, and I disbelieved that a B.S. would earn me enough money over the long haul to make the debt burden worth it. At the time this made good economic sense, and I think it still does, since so many 4-year college graduates now are finding themselves unable to find work in the current job market. But some of that I think is the colleges' faults--they don't prepare students like they used to.
EG: In your education, what was your favorite class and why?
LummoxJR: I had a few favorites. I liked pretty much any class I took with Don Fama, who taught several math and programming courses at my college; he was fun. I took a few classes in history and geography with Prof. Hardy who had an amusing dry wit, and his tests were easy as long as you paid even the least bit of attention every other class. My absolute favorite class, and I know this makes no sense, was statistics in my very first semester; I still wish I had saved the final paper my class partner and I did for that. I found the homework in that course actually engaging.
EG: Aside from doing work on BYOND, do you have another profession?
LummoxJR: Not currently.
EG: What programming languages do you know / use?
LummoxJR: On a regular basis I use C++, Perl, and sometimes JavaScript. I've worked with Java before as well. In college I took courses in Pascal (which frankly I think deserves to be a dead language, and only survived because of Delphi) and COBOL (which deserves to die and have a stake put through its heart). In the past I've done some assembly programming, mostly inline assembly within C++ programs written for DOS. I also took Visual Basic in college; I haven't worked with .NET at all but I found VB to be pretty interesting. I've done a little with PHP. I know some flavors of BASIC from way back, and I'm probably forgetting a few others I've learned but never use. Picking up a new computer language isn't that hard really, since it just comes down to learning the basic syntax; as long as you have an understanding of logic, algorithms, and data structures you're in good shape to learn any language.
EG: Is there anything else about your life you want us to know?
LummoxJR: Nope.