An Interview With Jeff "Skeezix" Mitchell
Interview by Troy Stephen Sanders
While researching the Zodiac I discovered that Quake was being ported to the device. This was the deciding factor for me ... I have to have one. I read more and more posts about it and uncovered the prolific coder known as Skeezix … the man behind the port. After a while of surfing and reading about apps, emulators and ports, I decided to ask him for an interview. Read below as Jeff “Skeezix” Mitchell relays a bit of emulator history, ports a few games and gives tips to those of us who want to get creative with code.
tss: I first read the other week that you are working on porting Quake to the Zodiac. How is that project going at this moment?
Skeezix: It is going pretty well, though there is one stumbling block that is rather painful to deal with. (i.e.: The initial port is more or less working well, the engine is running on the handhelds at pretty good speed, controls seem okay, etc.) There’s an issue which is likely a compiler "gotcha" (or perhaps compiler bug), which makes the player spawn in the wrong place and some other annoying side effects. Once we get that worked out, it should be very playable as the Zodiac has excellent controls for this sort of thing -- a touch screen for perhaps controlling "look", an analog joystick for sensitive movement, and lots of buttons for weapon changes, etc. Running Quake on your handheld is pretty freaky I must admit.
tss: Is it easy to port a game from one system to another?
Skeezix: It depends on the game (requirements), the game code (how modular was it built, was it designed to be portable, or was it written with a lot of assembly and specific to one architecture?) and the target platform. i.e.: Porting from Pocket PC to Palm OS (including Zodiac) is usually not too difficult, though it can be tedious to port over GUIs if its relying on the native GUI kit. Something like Doom or Quake tends to include its own GUI and so it usually is not too bad a port. However, porting something from the PC or Mac is often much more work. Older classics will tend to have a lot of assembly within, and so that assembly either needs to get rewritten as native ARM assembly, or needs to be rewritten as portable C code. (And care has to be taken to manage endian issues, CPU alignment, structure padding and other fun things that occur during ports between architectures.)
For some samples, I was able to do a quick port of Marat Fayzullin's ColEm Colecovision emulator to Palm OS (including Zodiac) in about an hour or two. (ColEm is aimed at Unix/X11 and Windows, and is designed both simply and portably). Since Marat did such a good job with it, it was easy to port over. A couple days and a solid playable ColEm port is available on Zodiac! By the same token, working on a port of Descent is more work.. x86 Intel assembly needs to be changed to C code and numerous other things, making it an extensive job. However at least in this case, the open source community shines.. Descent has been ported to numerous architectures, so in theory one could port the Mac or Pocket PC or GP32 or other versions, which will save some time.
tss: In terms of handheld gaming, how does the development community for the Zodiac compare to that of other handhelds?
Skeezix: The Zodiac community itself is small in terms of developers, since the unit is still pretty young, and is only widely available in the US. (Tapwave.com sells the devices to US residents only, and it’s also available in CompUSA and some other stores in the US. The device has been on the market less than a year I'd think.) However, Palm OS itself has a huuuuuge following of course, because it’s been around and has been the industry leader since day one. Due to handheld history and the demographics of PDA and handheld users, this results in an interesting divide.. a lot of developers, but not as many game developers, and of the game developers many are targeting simple puzzle games rather than really far reaching big ticket titles. (Games tend to need to be low powered for older devices, or small and fast plays, since people will play them while waiting for the bus or over lunch or on a flight between cities or other things.)
So I'd say Palm OS and Zodiac developers are growing quite a bit of late, but its still early in the game; its an exciting time since anyone can jump in and do some work that can blow people away.. its not an established market where the "big guys" have dominated and taken the
funout of it. Its still 100% the "small guys" calling the shots and doing all the fun work. This last year has seen stunning titles appearing in Palm OS and Zodiac, and more should be coming.
But still not as much homebrew as you see in the GBA and GP32, since they've been in market worldwide much longer. Though of late I see a lot of slowdown in the GBA homebrew community.
tss: How do you think the Zodiac, in terms of handheld gaming, will fare in comparison to the Nintendo DS and the PSP?
Skeezix: It is always difficult to compare current devices to future devices, but I think we can safely say the mass market is a fight between Nintendo and Sony -- who can afford to fight the giants? Nintendo is fighting to survive, to stay kind of the handheld, while Sony wants to own the pie.
Tapwave is not targeting the same niche, since they know they can't compete there; they're targeting the older demographic, those with some money to spend, who want some fancy gadgets, and want to see the latest technology. So the Zodiac is a great PDA (in the same class as PalmOne T|T3, Sony TH55, and recent Pocket PCs), a great game machine, and a decent multimedia machine; email, web, open standards, hundreds of thousands of Palm OS applications.. Great stuff.
So if you can sit and wait a year for the next gen handheld, and you want hundreds of big ticket titles.. wait for a DS or PSP. If you want to have a deice in your pocket for doing email, tracking your chores or work, writing essays, while at the same time playing Playstation One quality racing games, piles of high quality old school emulators, and seeing innovative handheld games NOW.. Zodiac is the only game in town.
There is no other gaming handheld PDA on the market right now. The PalmOne T|T3 is a faster processor, and the latest Pocket PCs with 640x480 screens.. the specs will knock you off your feet. But none of them have gaming controls, so if you want to game.. its Zodiac, and Zodiac is good.
If you just want LucasArts ScummVM games, you can use any PDA of course; Get a Palm OS, or Pocket PC or Sharp Zaurus, whatever turns your crank :)
tss: Could you please tell us about XCADE? What games can be played in it?
Skeezix: XCade is one of the first "OS5 ARM" applications, and the first OS5 emulator. That’s Palm OS speak for an app that was one of the first to use the high powered devices. It shows its age, but it plays very well on all halfway modern Palm OS devices, including the Zodiac. If you're on top of your arcade emulation history you may also remember that the original XCade was the first arcade emulator for Unix/Linux and one of the first arcade emulators ever. (I think it followed Sparcade and Neil Bradley's Emu, but it long predates MAME.) Fun stuff.
XCade/Palm can currently run:
Donkey Kong Jr.
Space Invaders Deluxe
(and many "rom swaps" of those.)
See some old screenshots from a 320x320 PalmOne T|T1 (Oct 28 2002 I think) here.
tss: Throughout your coding history, what other applications and games have you developed?
Skeezix: I have developed quite a lot of things, from real time server software used in telcos and ISPs to billing software to emulators and old school gaming. I've got a lot of projects on the go to keep sane, but highlights..
Shadow Plan -- My main application that funds my other work. Its my wonderful list and note taking application, task manager and outliner. Stunningly powerful on the handheld and also comes with a fancy desktop application. Truly a must have application for Palm OS handhelds of all kinds, imho ;)
Zot! -- a cross platform 2d game system for myself; on top of Zot is Zotscript a simple scripting language (soon with embedded BASIC interpreter) for building games. This is to try and return simple fun game building to the average Joe, so just about anyone can make a Gauntlet or basic-Zelda game, or maybe even scrollers like Mario or shooters like Asteroids. Still in its infancy but already pretty useful!
CaSTaway -- an Atari ST emulator; its descended from some SourceForge projects and can run probably 75% of Atari ST games. Relive such classics as Dungeon Master, Time Bandits, Oids, Captive or even Civilization on the road; check out the screenshots.
Kronos -- interactive text adventures; before LucasArts there was Infocom; Kronos lets you play Magnetic Scrolls graphical adventures, Infocom style text adventures (there is a good homebrew community making text adventures to this day!) and Scott Adams adventures (Vic20 and Commodore 64 and other 8-bit games people will remember.. Voodoo Castle, Pirate Cove, etc.)
Columbo -- Colecovision emulator; classic Zaxxon action ;)
Beats of Rage -- a beat-em'-up engine by Team Senile for making games like Double Dragon, TMNT, etc. I've ported it to Palm OS with the Zodiac version being stunning to behold!
GuineaPig -- ports of SEGA Genesis, NEC TurboGrafx, SEGA GameGear and other emulators all rolled into one package.
ZGrab -- a Palm OS and Zodiac screenshot utility.
ZQuake -- see above, but a port of Quake 1 to Zodiac and eventually Palm OS in general.
And don't forget The Grove Online, my rudimentary Atari ST emulator designed for one purpose.. to run my old BBS software on. The worlds only online Atari ST BBS!
Theres more on the go, with some of the above titles also available for GP32 handhelds, Windows, Unix/Linux, and others :)
tss: What titles would you like to see ported to the Zodiac? And which ones do you plan to port?
Skeezix: I'd like to see a lot of PS1, DreamCast and other classics ported to Zodiac; more though, I'd like to see the big guys take more interest (and risk) in the small handhelds. Zodiac is the main one right now, but we cannot overlook the upcoming unfortunately named Gizmondo, or our old friend the GP32.
Wouldn't you kill to have a mobile version of Jet Set Radio Future? :) Or what about sitting at a bus stop on a rainy night, playing Silent Hill while the homeless rustle by?
Myself, I'm slowly working on Descent for Zodiac, but beyond what’s already been mentioned I'm not sure what direction I'll be pointing in. There’s lots to be done, and I try and foster other developers so they can get involved, which means I may be working on Fenix ports or building SDL or who knows what...
tss: What words of advice do you have for people wanting to develop and port games for any handheld system?
Skeezix: Mobile gaming has many unique challenges (in terms of raw porting to small architectures, but also in terms of whole different mindsets in user interface design, save point and optimizing the users time since he’s on the move, etc), so I'd suggest beginning developers to work with something like SDL and build something simple on the desktop (be it Mac, Windows, Linux, Unix, etc) and then work on porting to a handheld; if you're already a seasoned developer of any kind.. just jump into it. Building for the Zodiac or GP32 or Pocket PC is not so much difficult as it is to get over that first Hello World hump, so rather than pussy foot around.. dive in, get compiling, and above all.. have fun.
Mobile Gaming is still new territory where the independent and small guy can, and WILL, make a difference.
Once again, thank you for the interview, Jeff. I know I have learned a lot from it and there are a lot of people out there wanting to create games, etc., that will benefit from this. Sincerely, thank you.
[Originally posted at serious fix. Feel free to visit Jeff "Skeezix" Mitchell at his site ... CodeJedi.]
No comments were found for this thread.