Hooka: When did you get your GP2X?
Dzz: Early in February, around the 7th-10th.
Hooka: What prompted you to get one?
Dzz: I had been wanting to start noodling around with writing game code as a hobby. I always have a hobby that I'm into pretty intensely... every couple of years it changes to something different. At first I was going to do stuff on the PC but that seemed a little bit too mainstream so I looked for alternatives. At first I thought it would be fun to write stuff for the PSP but I don't like Sony's hostile attitude to homebrew, so I picked the most homebrew-friendly similar device that I could find.
Hooka: How has your first GP2X project, Mighty Mini Bug Blaster, been coming along?
Dzz: That's probably dead, but has evolved into my 3D engine project which will find a different application.
Hooka: You're more of a fan of new, interesting, exclusive stuff for GP2X than the ports and emulators aren't you?
Dzz: Definitely. This answer deserves a bit of space.
Dzz: I'm not interested in emulators. For one thing, emulating another system is a terrible underutilization of a machine's capabilities. It just seems wasteful to me. For another thing, I don't have any games for other systems that I could emulate. I believe that the owners/creators of creative work have the right to decide how that work can be used or distributed. For example, if the linux kernel or some other app is released under the GPL, people who use it should follow those licensing terms which means publishing source. If a computer game has NOT been released for wide distribution by the owners/creators, their wishes should also be respected. Issues of illegality aside, it's the right thing to do. If the creators/owners of games or whatever wish to allow their free distribution, they will say so. They do know how if they want to. So it's really not right to grab copyrighted games off of warez sites against the wishes of the makers and owners of the games.
Dzz: It's possible to have other points of view. For example:
A) I do not believe in the concept of ownership. I'll take what I want.
B) I do not believe that information can be owned, only physical objects. I'll take whatever information I want.
C) I do not believe that the wishes of creators should be respected, the only issue is economic damage. So if I can convince myself that I am not economically damaging the authors of a work (for example, by saying that since I wouldn't buy it anyway I'm entitled to have it for free), I'll take what I want.
D) I don't want to think about it. I'll take what I want.
Dzz: It is possible to use emulators for legitimate purposes -- if you've paid the manufacturer of a game for its use on a particular console, it doesn't seem unreasonable to also use that partcular game on an emulator of that console. But I think such use is less than half of game launches on gp2x emulators. Many people just see it as free stuff, and since the creators of those games spent a LOT of time and money years ago making them, they have more content and graphics and whatnot than the stuff us hobbyists produce for fun for free, so I can understand why people want the games. The question is whether wanting something is sufficient justification for taking it.
Dzz: Having said all this, I'm not a policeman or some kind of crusader who feels the need to judge or make people change their point of view. I just don't see working on emulators or playing them as something I want to do personally. I'm not critical (haha) of developers who work on emulators, they certainly are making lots of people happy.
Dzz: And working on emulators is a very interesting challenge too! For the gp2x that usually amounts to porting other people's emulators, which is a much smaller challenge but still has challenging aspects, especially involving optimization.
Dzz: Regarding ports, I don't think there's anything wrong at all with porting stuff... it's a fairly efficient way to get gp2x users more games to play. It does seem somewhat depressing to me to have so much focus on getting the gp2x to run exactly the same things that every other machine does, but I understand that for somebody who just bought one what they want is to be able to do things with it without really caring if an application is unique in any way, and developers do try to give the users what they want.
Hooka: How is YA3DE (Yet Another 3D Engine, I felt like abbreviating it) coming along?
Dzz: Pretty well, I am having a lot of fun with it, and learning a lot. I don't know what will come of it, hopefully something.
Hooka: You coded Vektar in 11 days?
Dzz: Not the version 1.0 that is currently available. I ordered my gp2x right around the time that the gp2x.co.uk coding contest was announced and it had a 3 week deadline, so it took a week days to get my unit then a few days to get a development environment set up that I understood. The result of that coding binge was just what I considered to be a barely playable game concept, which is all I expected to achieve so quickly.
Hooka: Was it a big surprise to wind up getting second place for Vektar?
Dzz: Not really. I am a reasonably proficient coder so given the same time constraints as others I have a pretty good chance to do well. What surprised me was the wider reaction. In my mind I was just writing a little game demo for a competition as an introduction to coding for this device; even if a prize was won I didn't expect anybody to notice much, but Vektar and Beat2x both got a lot of attention from that competition.
Hooka: Why did you decide to go with the asteroid-style vector game?
Dzz: I'm not an artist. I have never taken the time to learn how to do artwork. I believe that most people can learn to become pretty good at anything they want if they want it badly enough, but so far I haven't wanted it badly enough.
Dzz: It seemed that if a whole game could be built around just drawing some lines I had a chance to code it quickly enough, and then I saw some screenshots for Geometry Wars which had a cool colorful look using just lines so I used those screenshots as inspiration.
Hooka: Do you think you may eventually make a multiplayer version of Vektar down the road?
Dzz: It would be pretty nifty but no. I am finished with Vektar, and it is in Craigix's hands now.
Hooka: Were you even planning on Vektar becoming a commercial game when you first started?
Dzz: No. I have no desire at present to make commercial games. I have a job already.
Hooka: Is Craigix doing alot of extra work on the source for the commercial release?
Dzz: I assume so. I know he has been putting a lot of time into the commercial version of Vektar. He asks me an occasional technical question and I did a small piece of code for him beyond the freeware version, but other than that I don't know what he's up to. I'm looking forward to seeing the final result.
Hooka: How does it feel to know you'll (somewhat indirectly) have the first commercial GP2X release?
Dzz: It is kind of amusing that somehow the "what can I code in under two weeks for this contest" effort turned into the first commercial game for the gp2x. I hope people enjoy it, but it's out of my hands now.
Hooka: Are you still working on your nethack port?
Dzz: Yes, although somewhat slowly. I thought I'd try a port as something different but honestly I find it kind of tedious to work on so I don't give it the attention it deserves. I don't think I'll be doing any more ports.
Hooka: What kind of extra's or specialty modifications are you making to make it GP2X friendly/enhanced?
Dzz: There were two challenges. First, mapping the keyboard interface (with a lot of commands) onto the gp2x which just has a few buttons. I built a system for that which puts the most common things immediately available then has an organized menu system for most actions, including only making certain commands available when they make sense to use in the game. I think the result is fairly usable. The second challenge is the small screen real estate on the gp2x, which I tried to address with smooth scrolling.
Hooka: What is the first time you ever played a rogue or nethack like game and on what system?
Dzz: Rogue, on a Vax in 1982 I believe, maybe 1983. I loved that game but until this porting effort hadn't played a roguelike in 15 years.
Hooka: Why did you decide to hold a GP2X demo coding competition?
Dzz: To encourage developers to think about getting the most out of the gp2x hardware, and hopefully get people to show off their creativity. Whatever demos are produced, they will be exclusive to the gp2x and hopefully gp2x owners will get a kick out of watching them. You don't get dozens of hours of entertainment from a demo like you can out of a well done game, but you don't get dozens of hours of entertainment of of a solar eclipse either. Sometimes experiencing something cool for a short time can be just as valuable as grinding out points in a game.
Hooka: So did Ragnor's GP2X demo have a little bit of influence to your throwing a demo coding competition?
Dzz: Yes, I had been thinking about the contest for a while but that demo made me think that somebody might actually be interested in entering, and got me going.
Hooka: Why did you decide to start writing a demo coding introduction?
Dzz: A couple of reasons. First, to encourage entries. I want to do whatever I can to encourage participation in the contest because I'm hoping for some great stuff to be produced, some pieces of "art" that make gp2x owners feel a little extra special about being part of this community, something at least a little bit unique.
Dzz: Second, just to communicate some info that I was discovering myself anyway. The gp2x is really a fascinating piece of hardware but with all the layers of abstraction put on top of it by the development tools and libraries, you'd never even know it. Those libraries are great in that they help do certain tasks with a minimum of effort, but minimizing effort isn't always the only goal.
Third, it seems a little bit distasteful to me that a simple "Hello, world!" program is over 400k in size using the usual development tools. What is all that extra junk even for?
Hooka: Are you glad with how the intro has been coming together?
Dzz: More or less. I'd like to have not made any mistakes, but realistically it's going about as well as I could expect.
Hooka: Did you expect to actually be learning from your audience with it?
Dzz: Yes, certainly. I've only had the gp2x for a couple months and never coded a demo myself so I'm no expert to be lecturing everybody. I'm just interested enough to write down the results of doing some research and experimental coding. I'm grateful that the more knowledgeable folks have chimed in to correct my errors.
Hooka: Why did you decide to make the prize for best 64kb demo $100?
Dzz: There's something extra special about making stuff small, so I thought I'd throw in an extra prize for that. It's not the most important thing though, so I hope any potential entrants aren't focusing too much on that aspect. Small is cool but lots of other things are cool too -- nice looking artwork, psychedelic effects, music, clever visual ideas, 3D, lots of things.
Hooka: Are you looking forward to trying to work on a GP2X group project?
Dzz: I was, so I started a conversation about getting such a project going. It hasn't really taken off though; somebody has to dive in and work on art and game design and so on and given the small size of our community it's not a big surprise that it doesn't seem to have produced much. I appreciate the many comments that people have made but I haven't seen anybody jump in with the desire to commit the large amounts of time needed to make real progress on a project. That's ok though. Not every idea blossoms into something.
Hooka: Do you get access to the commercial Vektar source when craigix is done? or are you happy with just knowing what you contributed?
Dzz: No, the commercial Vektar is all Craigix's effort, I am not directly involved and do not have any rights to whatever he does. Although I hope people continue to get enjoyment out of the 1.0 free Vektar, that's the end of my involvement. I have too many other projects to work on anyway!
Hooka: Rollax is one of your new projects, have you gotten much work into it yet or is it basically just a concept for now?
Dzz: It's a concept with some code. I have some graphics working but it's a long ways away from being ready for any testing.
Hooka: Why did you decide to call it Rollax?
Dzz: It has a ball that rolls around. No other game has that name, at least as far as Google and I can discover. It's a nice two syllable somewhat rememberable name. And it has just as much potential as Vektar for creative misspelling. Rolex, Rollex, etc.
Hooka: What kind of previous coding have you done?
Dzz: I have been coding continuously for a long time.
Hooka: Are you naturally the kind of person that tries to get everyone around yourself to try something so you can compete with them and get more potential out of yourself? (I'm not meaning this in an insulting way, it's just something I've slightly noticed...)
Dzz: Competition is a nice way to focus efforts; if you play tennis with your friend you'll usually keep score. It's not about "winning" though.
Hooka: Why did you decide to start up a 3D engine demonstration challenge?
Dzz: It's not a formal thing, I just wanted to see demos of the 3d engines people are working on. The gp2x isn't really a 3D device in that it will never rival the 3D abilities of the PSP, but it IS a better 3D device than most old computers and game consoles, so it should be possible to do some cool stuff with it. And 3D is interesting intellectually, lots of math leading to fancy pictures.
Hooka: Did the challenge fire up your attention to the 3D engine?
Dzz: Sure, to the extent that it got people talking about their 3D projects it creates a peer group which is always motivating.
Hooka: For us idiots out there would you like to explain what the stm instruction does and its uses?
Dzz: Um, sure. The ARM processor used in the gp2x has a number (16 or so depending on how you count) of very fast memory locations inside it called 'registers'. The operations like adding and multiplying and so on operate on those registers. The gp2x also has a main memory which has 64 megabytes of locations. The stm instruction stores multiple registers to the main memory. It is used to transfer information from the small number of registers to the much larger main memory so it can be used later.
Hooka: Any nuggets of coding joy / random acts of premasticated optimisation techniques (meaning any optimisation methods you have found useful that you'd care to explain, I thought it sounded funny this way :P) / even just a nudge in the right direction that you'd like to offer?
Dzz: * Pay attention to the cache!
Dzz: * Only divide when you cannot possibly avoid it!
Hooka: Are you still making new reviews of GP2X homebrew?
Dzz: Yes, but I have not done many in a while. I am going on a vacation soon and have 50 games loaded onto an SD card to take with me, so I'll be making more reviews soon.
Hooka: Why did you decide to make the website http://www.gp2xgamer.com/?
Dzz: At first it was to showcase my own work, but then one day I was looking for stuff to download and I get mad at the "scores" on the archive.gp2x.de site. They are not very effective. So I thought I'd make a site that reviewed these homebrew games to help people find good ones, and MAYBE to encourage developers to do a couple of basic things to make a naive user's life a little easier.
Hooka: Are you still updating gp2xgamer?
Dzz: Yes, in fact David Beoulve has just made me much better web site (which you can get a peek at here: http://davidbeoulve.blogspot.com/2006/05/new-look-for-gp2xgamercom.html) and as soon as I get this next batch of reviews ready to go I will update the site with the new look and feel.
Hooka: Any super mystery projects or ideas floating around that you might like to drop some hints about?
Dzz: Hmm. I have a little game called "Zooov 4:05" that is about 2/3 done and moving forward slowly. Just a quirky little not too impressive game. I think people will hate it, and the gp2x is a good platform for making goofy little experimental games.
Hooka: How did you get the nick dzz? What is your avatar on the gp32x.com board?
Dzz: I just made up the nickname, it doesn't mean anything. Similarly, the avatar is a polygonal flower, it doesn't have any particular meaning.
Hooka: Well, alright then :) Thanks for doing this interview once again! Hope to see you and your cool GP2X stuff make many an appearance on the normal GP2X spots!
May 25, 2006