Petit Computer Review
Posted by Jon Wahlgren
Massive potential, minor headache
There are few better places to learn programming than within the BASIC family — heck, it's in the name — which offers general-purpose, relatively simple environments in which to learn the ropes and concepts of coding. Petit Computer is a powerful BASIC coding environment, a type of homebrew application seldom seen on the commercial side of software available for modern consoles, which allows users to craft all sorts of programs and games and share them with friends and the community. With a few caveats; Petit Computer is an interesting place to learn, hone or challenge programming abilities, but the software itself isn't quite as newbie-friendly as one may hope.
Petit Computer channels old hardware like the Commodore 64 and MSX to allow for an open environment in which users can make their own programs using the BASIC language. Or a variant thereof, at least: the general functionality of the language is the same, if not expanded, and some of the more archaic syntax gets a 2012 update, so plugging in the untouched source code for Gorillas sadly won't get you very far. These changes ultimately make the coding process a bit cleaner, and it won't take long for BASIC veterans to get up to speed on the tweaks and adapt a playable game of simian warfare — in fact, experienced coders may welcome the challenge of bending the simple language for ridiculously complicated tasks. Taking a look at what the Japanese community has managed, it's impressive to see just how far Petit Computer can be pushed.
Like all programming languages, doing so is no walk in the park. Unlike WarioWare D.I.Y. or other visually oriented environments, BASIC requires a line of code for every single command. At your study disposal are over a dozen bundled sample programs, ranging from a simple number guessing game to a far more elaborate graphical space shooter, which can be loaded through a command line to tinker with the source code. This environment isn't all just text commands, though. Powerful but dense graphics utilities make it easier to create sprites and backgrounds by way of being able to actually draw them on the touch screen, and the copious sample graphics ensure that even the absolute worst artists have a range of pretty sprites to use.
Seasoned programmers will be able to decipher these source codes no sweat thanks to BASIC's fairly straightforward commands and extensive comments, although rookies may take a lot longer to chip away at the use of certain functions. The help manual aims to alleviate and educate by packing in definitions and samples of essentially every function and command that BASIC has to offer, but it is presented as reference and not as instruction; it feels a bit dense and presumes a lot of prior knowledge in its users. Unfortunately the manual is clumsy to continue accessing as a reference, which is really a problem born from the DSi itself — not only can you not have it open side-by-side with the software, but closing the manual doesn't keep the page you were referencing.
Nor is the heavy emphasis on studying sample code all that helpful at explaining how to program; knowledge can, of course, be gleamed from studying other people's code, but without proper context it may as well all be in Wingdings. Granted, maybe it's asking a bit much to expect Petit Computer to properly teach something as complex as BASIC in the way a textbook or instructor could, but guided tutorials on IF statements, variables or graphics implementation would have gone a long way towards easing rookies into the often intimidating environment. This could have very well been the Art Academy of programming, but instead Petit Computer is all too content with appealing to an already educated audience.
Then there is the matter of text entry, made difficult by the need to type with the stylus. While the handheld's physical buttons make navigation less of a chore, the brunt of coding is done by arduously pecking away at the touch screen. A shortcut where, after typing a couple of characters, a list of commands pops up saves some time tapping, but it doesn't get around the fact that anything more ambitious than an elaborate "hello world!" takes a great deal longer to type than with a conventional keyboard. Managing line numbers can be difficult as well because of this — while users are spared the trouble of having to type them at the beginning of each line, it would be nice to be able to manually assign them in order to keep track of certain functions like subroutines without having to scroll all the way to the desired number.
The community has already created a workaround to avoid typing on the touch screen with software that allows you to program Petit Computer software on a PC or Mac, essentially cutting out the DSi from the equation. This "solution" raises the question of what business Petit Computer even has on DSi when it is so clearly not the ideal environment for any sort of heavy lifting. Although, we must admit, having a full programming environment on a portable is a neat fit, allowing one to indulge in whatever coding whims may strike on the bus or at a café.
Software can be exchanged locally over Wi-Fi or by QR codes generated on the Petit Computer Web site by uploading a file off the SD card, which is a fantastic way to foster community and collaborate with others. The QR code generating process is a bit cumbersome, and depending on program length can yield dozens of codes to scan, but less-than-ideal sharing sure beats none at all.
Despite some interface woes, Petit Computer is a crazy powerful sandbox if you know what you're doing — evident in the included sample programs and incredible feats that the Japanese community has managed in the time since its overseas release — and has the potential to be a great gateway into coding. Don't look at Petit Computer as an easy way for a non-coder to jump head-first into development and with ease create dynamic programs and games — unlike WarioWare D.I.Y., this is a straight-up programming language that will take a lot of work to achieve results. If you're willing to educate yourself in BASIC and stick with it then you'll find yourself with one of the most interesting and educational pieces of software on the handheld. Else, there are always the community's sterling efforts to enjoy.