treeki.jpg['Quiz Me Quik' is a new weekly GameSetWatch column by journalist Alistair Wallis, in which he picks offbeat subjects in the game business and interviews them about their business, their perspective, and their unique view of life. This time, a thirteen-year-old whiz hacks up New Super Mario Bros for DS.]

“Back when I was 12 or so,” sang New York singer songwriter Jeffrey Lewis in his song Back When I Was 4, “I swear to god, I never felt so low. Everyone but me was making out and eating cookies.” I wasn't making out or eating cookies much myself, though I did play spin the bottle earlier that year at my friend Rob's party, and kissed Julia Mildenhall once on the mouth; no tongue.

But I wasn't feeling terribly low, either: I’d just bought my SNES and was playing my way through Zelda, Donkey Kong Country and Secret of Mana.

I can’t speak for whether or not he was eating cookies and making out at age 12, but hacker and programmer Treeki was already well into development of his New Super Mario Bros. level editor in 2007. Almost a year later, and he's gone through two released versions of the editor, and made progress into a third version, though he notes it's not likely to see release any time soon.

Oddly, there hasn't been the glut of levelsets you'd expect from a release like this. In fact, aside from an unfinished Super Mario Bros. remake, and a few uncompleted trial levels by unmotivated individuals, there have barely been any. So, hey, if you're reading this: why not give it a go?

I for one would love to see some interesting hacks out there; even with eight worlds, NSMB really felt over and done with much too quickly, and the multitude of cool Super Mario World hacks show there are some really creative minds in the hacking community.

That's not exactly why we decided to talk to Treeki about the editor, though - after all, he admits he “wouldn't recommend” people even bother with it. It's more to do with, well: how many 13 year olds do you know who are putting together projects like that?

GSW: Do you have a history in games hacking?

Treeki: Not really, to be honest. I hadn't done much before I started with NSMB - other than messing with Super Mario Bros. for a while using a graphics editor called YY-CHR, and various game-specific tools, when I was 10. I barely knew what things like assembly hacking and TSAs [tile square assemblies] were.

I had pretty much given up on ROM hacking due to my absolute incompetence in level design and graphics, which were all I could really hack with my knowledge at the time.

GSW: What made you decide to look into NSMB hacking?

T: After having played NSMB and beat it several times, I really wanted to be able to play more of it. Back then, it was my all-time favourite Mario game - now overtaken by Super Mario Galaxy.

I decided to see if I could try and find out how the game worked internally. I tried extracting what looked like level files and opened them in a hex editor. I changed things and eventually managed to find out one of the most basic formats in the game, which was when I got hooked on hacking it. I came in with pretty much no hacking knowledge, and since then I've learned a lot - including being able to learn NES assembly.

GSW: What have you attempted with your NES assembly knowledge?

T: Pretty much nothing - other than an incomplete hack of Super Mario Bros. where I added animation, more tilesets, and some other extras. My lack of level design knowledge is also why I rarely get much into making actual hacks.

GSW: Is NSMB as easy to hack as you'd expected?

T: Yes and no - depends on what part of it you're talking about. Some parts of NSMB are extremely simple: the format for level objects, for example, is just a file containing a list of objects and their positions.

Others are more confusing and almost undecipherable. DS games are usually easier to hack than most other consoles, though, since they use a file system which almost all games organise their data into.

GSW: So does that mean that you could move into hacking other DS games? Or that it's a (relatively) easy task for someone else to pick up?

T: Yes, definitely. Having a file-system makes things a lot easier. I wouldn't have tried hacking NSMB if there hadn't been one to help me along. Most games use it, though in varying levels. I've noticed Nintendo's games tend to be more standardised: everything is organised into neat folders, and use standard formats like NARC (file archives - ironically, using almost the same format as the main filesystem) and NSBMD (for 3D models).

Other games use it rather badly. Yoshi's Island DS, for example, has one folder with around 720 obscurely-named files. I've even seen one - I can't recall the name at the moment - which used a few huge files to store everything in.

GSW: Do you feel like you're still learning things about the game? Are there mysteries you haven't quite worked out yet?

T: Well, I still have a lot to go before I really can seriously edit the game. I haven't hacked it in months, due mostly to my short attention span for projects, lack of motivation, and loads of other projects. So many things are still left to find out - how object display data is loaded, collision data the purpose of several parts of the level data, and various others.

Some day, I should go back to working on the "vapourware" 3rd version of my editor…

GSW: So how would figuring out things like object data aid in making hacked level-sets?

treeki.jpgT: The more data I can figure out, the more things that can be changed. It took several months just to find the one byte in the level data responsible for the music used! It was stuck along with the camera data.

I helped a lot with [discontinued user level-set] New Retro Mario Bros., when it was being developed. I remember some things that had to be done to get around limitations, like swapping levels with ones that had what you wanted.

GSW: Did you have any set plans for the 3rd version?

T: Yes. I was planning features like full graphics support - being able to view your levels exactly as they would appear in the game – as well as editing almost all parts of levels, and graphics editing, among others. Probably some day I'll create an improved editor with these…

It's a shame that I was never able to complete it, but now that I look back, I realise that it was a bit over-ambitious. Pretty much the only one of those that actually had much progress done on it was graphics support.

GSW: Have you found anything really surprising or interesting in the game data? What's the beta level, for example?

T: There's quite a bit of unused data in the game. I found a tileset that seems like it could have been for the bonus games, but was never used. I found five unused levels varying in quality, and managed to get them playable with the final version of the game.

Videos of the three most interesting are on my YouTube channel. If I looked hard, I could probably find more - there's also probably code for unused parts of the game, but I have no idea how to get into DS assembly.

GSW: Do you know of anyone that might be able to make use of that data?

T: Not really, although it'd be quite interesting to learn.

GSW: When did you start work on the editor?

T: I started shortly after I started hacking - back in August 2007, when I was 12 years old. My coding was really messy - the Visual Basic code of the first editor versions could probably pass for a "what not to do" exhibition! Since then, I rewrote the editor two times, the third version still unfinished.

I really haven't done all that much hacking in 2008, other than writing a C# version of Nitro Explorer; my tool for extracting/replacing files in a DS ROM.

Since I started, I learned a lot more about the DS and programming in general - actually having something useful to create helped my coding skills a lot.

GSW: I'm trying to think of a way to say this without being patronising, but maybe just saying it is the best way: it's amazing that you're doing this kind of stuff at your age at all. Any plans for using this as a stepping stone for a future career in development of some sort?

T: I'm planning to become a computer technician, although I might get into development sometime. Of course, my aversion to most C++ APIs like Win32 - ugh! - probably wouldn't help!

GSW: And how did you get into hacking in the first place? Do you have friends who are doing it?

T: I can't remember exactly how I discovered ROM hacking - it was back in 2004-2005. As I mentioned before, my lack of level design skills caused me to get bored of it and eventually leave it alone. I did play some hacks when they were released, but that was about it.

GSW: What has changed as you've worked through different versions of the program?

T: A lot, really. I started with a simple level viewer/editor that let you manipulate extracted level files from the game, and view each level tile as a coloured blob. I went on to adding support for loading ROMs directly, a decent user interface, enemy handling, and very rudimentary support for graphics. I still have an incomplete version 3 of the editor which had improved and faster graphics support, as well as a much improved UI - although that will likely never be continued, as I don't use Visual Basic any more.

GSW: What language are you working in now?

T: After I gave up on VB6, I wasn't sure what to try. I was playing around with WinBinder, a way to use Windows GUIs from PHP, but that wasn't too suited to what I wanted. At the time, DahrkDaiz was talking about creating a Super Mario Bros. 3 editor in C#. That inspired me to try it, and I've been coding in it since. I've also been trying to learn C++ and Qt, which seems to be quite good.

GSW: Did you, or do you, envision it becoming a populist tool like [Super Mario World editor] Lunar Magic, or does the nature of NSMB make this unlikely?

T: I doubt it. Older games like Super Mario World are a lot more flexible in their own way. They've been hacked a lot, all sorts of data has been found for them. It's even possible to code in your own objects and sprites for SMW.

DS emulation is also pretty slow for many computers, and not as advanced as the older consoles. Some advances also make it harder to hack newer games - 3D models, for example, can't be hacked as easily as bland 2D graphics. ARM9 and ARM7 (the DS's two processors) assembly is a lot more complicated to hack than, say, 65816 assembly (the SNES's processor).

Of course, there's also the question of me actually continuing the development of my editor. I haven't touched it since around January, and I have a lot of other projects I'm also working on.

treeki.jpgGSW: Anything exciting?

T: No. Mostly non-ROM hacking related stuff, other than a few things I've messed with like a NARC editing tool and a Super Mario Land 2 map editor.

GSW: Do you think we'll see people moving to NSMB from more traditionally hacked games like Super Mario Bros. and Super Mario World?

T: Not now, at least. Perhaps some time in the future.

Really, I doubt DS hacking will become too popular until there are more - and more usable - tools, people know how to hack other games, and DS emulation is more widely available.

People might also find DS hacking more "immoral" than hacking other consoles. While other more commonly hacked games are older and not sold any more, DS games are still available and relatively new. NSMB was first released just over two years ago. While someone might not care as much about downloading a 15 year old game like Super Mario World, they'll probably care more about newer games. The games are also bigger and need more powerful hardware to emulate.

GSW: Have you been working on your own levels at all? Any plans to release them?

T: As I stated earlier, I'm quite incompetent with level design, so no. All my level edits fall into the categories of "testing" or "random arrangements of blocks and enemies". I prefer messing with the technical side of stuff, usually.

GSW: Have you checked out the levels from other people? What's your opinion of them?

T: Aside from some YouTube videos I've seen from people who have played around with the editor and made a level or two – which are usually rather bad - there don't seem to be many hacks. Sonicandtails and Tanks were making a SMB1 remake called New Retro Mario Bros, but it's gone pretty much the same way as the editor, due to lack of tools.

It was quite good for a remake, actually, considering that even basic features like changing around the entry points for levels weren't included in the editor and only possible through hex editing the level files, one thing which I helped them a lot with.

GSW: What has the reaction from users been like?

T: Not many people seem to have used it, to be honest. I'm guessing this is because it hasn't spread to many places, and it's rather outdated and basic; compared to what I discovered about NSMB a while creating it.

GSW: So maybe this is where I step in and make some kind of incredible level-set. You know…or not.

T: With "features" in my editor like moved enemies not saving unless you opened the dialog for them and clicked OK, and random level header corruption, I'm surprised anyone actually managed to make anything. In other words: I wouldn't recommend you tried.