Classic Computer Magazine Archive COMPUTE! ISSUE 130 / JUNE 1991 / PAGE 136

Microsoft Game Shop. (BASIC programming tutorial software) (evaluation)
by Tony Roberts

Experience the challenge and the fun of learning BASIC by playing and modifying games. Programmers from the early days of computing did. Now you can, too-though with much greater ease--thanks to Microsoft Game Shop.

In the early 1980s, learning to program is BASIC was a necessary part of owning apersonal computer. The scarcity of commercial software drove computer owners to learn programming--the best way at the time to get their marvelous machines to perform amazing tricks and play engaging games.

Computer magazines of the day offered plenty of type-in programs and BASIC programming tutorials, which readers eagerly studied, tested, and modified.

Within a few months, these early hackers (this was back when the term hacker was a badge of honor) were hooked. They practiced BASIC until it became second nature and then turned their attention to the faster, more powerful languages. The challenges of programming--logical thinking, problem solving, and creativity--turned many lives in new directions. Youngsters shelved dreams of becoming firemen or cowboys and pursued livelihoods as programmers. Older hands used programming abilities to energize aimless careers.

With the maturation of the personal computer industry, we now have commercial software available for almost any use. Magazines no longer devote countless pages to programming instruction, and user group members spend less time discussing loops and arrays.

These changes have made the personal computer more a tool for work and less a tool for creative recreation. With its combination of crossword puzzle, Rubik's Cube, action game, and adventure game, Microsoft Game Shop provides an opportunity to return to the good old days of computing. It's recreational, educational, and challenging.

Microsoft Game Shop includes a full-featured version of Microsoft's QuickBASIC interpreter plus six classic computer games, including a version of Tetris that you can both play and modify using QuickBASIC.

Learning wouldn't be fun without adequate help, and this package gives you plenty. Support includes QBI Advisor, an electronic BASIC programming reference guide, and QuckBASIC Express, an online introduction to using the QuickBASIC interpreter. The package also includes Learn BASIC Now, a 490-page text that provides step-by-step programming instruction plus dozens of sample programs--all carefully dissected and explained.

QuickBASIC has its roots in BASICA and GW-BASIC, but it's been enhanced, extended, and upgraded to keep up with the times. QuickBASIC provides instant syntax checking as you write your programs and also includes diagnostic error messages.

When programming in QuickBASIC, you'll work in a windowed environment with pull-down menus, mouse support, and a hypertext online reference manual. When editing, you can cut, copy, and paste; you also have access to full search-and-replace capabilities.

The language itself makes many improvements on the older versions of BASIC. Under QuickBASIC, line numbers are optional; IF/THEN/ELSE/END IF blocks, SUBprogram blocks, and FUNCTION blocks are permitted; flow-control structures have been enhanced and now include SELECT CASE and LOOP WHILE/UNTIL provisions; long integers, fixed-length strings, and constants are supported; user-defined data types are permitted; and code and data capacity have been extended from 64K to 160K.

Microsoft Game Shop combines this advanced, friendly programming language with a half-dozen games to get budding programmers involved and interested. These games--QBlocks, QSpace, QBricks, QSynth, QMaze, and QShips--are essentially the same as those that budding programmers laboriously typed in from magazine listings years ago.

For the most part, these games are dated. Kids who've grown up on Nintendo and Turbo Grafx-16 no doubt will find them dull. But with Microsoft Game Shop, your fun and challenge are less in playing the games than in understanding how and why they work.

As you finish a session with one of the games, a screen offers suggestions for how you might change the game to make it more interesting or more challenging.

For example, the suggested options for modifying QSpace include changing the speed of the enemy missiles and targeting crosshairs, changing the sound effects or the colors of the pieces, changing the number of missiles, or altering the size and duration of explosions.

These most obvious changes are designed to whet your appetite. Once you begin tinkering with program code, you're learning to program. As your confidence builds, you'll want to make bigger changes, and before long, you'll dream up you own game scenarios and design your own programs from scratch.

All of the game programs included with Microsoft Game Shop come with extensive comments. In other words, the purpose of nearly every line and its interaction with other lines in the program is fully explained. It's easy to learn how QuickBASIC works and how the programs work by studying the code.

Although neither exceptionally challenging nor state of the art in terms of graphics or sound, these simple games are an excellent milieu in which to learn programming. The visual nature of these games usually makes programming mistakes quite apparent and thus easily correctable. Games also give you ample opportunity to use most of the features and commands of the language. Once you understand how these games are put together, you'll have a sound basis for creating your own games and applications. You'll be an old hand with loops, counters, timers, functions, and subprograms.

Playing and modifying the games involve rather a seat-of-the-pants approach to learning programing. For a more structured step-by-step introduction to QuickBASIC, you'll study the Lear BASIC Now manual in conjunction with more than 130 program samples that come on the QuickBASIC disks.

In working through the manual, you'll be introduced to commands and concepts one by one. It's a building process that you can take at your own pace. Learn BASIC Now also serves as a reference manual when you need a quick reminder of how to use a certain BASIC statement.

No programmer is exempt from mistakes, and no program is ever written without bugs. Learning to debug programs is a big part of learning to write programs. The Learn BASIC Now manual includes a chapter dedicated to this task. This section dedicated tips on how to spot common programming errors--syntax errors, logic errors, and runtime errors--and how to use QuickBASIC commands to find and eliminate pesky bugs. Microsoft Game Shop even includes a few error-riddled program samples to provide some debugging experience.

You'll come to rely heavily on QBI Advisor, an outstanding online programming reference program. With the click of a mouse button or the press of a couple of keys, you'll access a wealth of information. QBI Advisor has information about how to use the program and its menus, as well as specific information about each of the keywords in the QuickBASIC language.

When you seek help on a BASIC keyword, you first see a screen with a quick explanation. At that point you can opt to view a more detailed explanation or to see an example of how the keyword would be used in a program. These help screens often refer you to similar or associated commands, and again, a click of the mouse or a press of a key will fetch information on those topics.

Another helpful feature of QBI Advisor is that it includes online tables of ASCII characters and keyboard scan codes.

Successful programming involves a significant amount of work with reference materials. The well-designed and detailed QBI Advisor will save you a lot of time and will help keep your desk from becoming a disaster area cluttered with books, charts, tables, and manuals.

As implied by the name, the QuickBASIC interpreter is an interpreted language. This means that as you run your programs, QuickBASIC reads each statement in the program, converts the statement to codes that your computer's CPU can understand, and then sends those codes along for processing. This is a timeconsuming process, and its effect shows in programs involving significant number crunching or serious arcade action; you might be surprised at how slowly a computer can run.

If you're a beginning programmer, however, you'll find interpreted languages more than adequate and, in fact, beneficial in that they allow you to test programs quickly without having to compile them first.

If you end up being bitten by the programming bug, there's an easy upgrade path from Game Shop. Microsoft's QuickBASIC is a compiled language that can run any of the programs created with Game Shop.

When a program is compiled, all of its commands and statements are converted to machine code stored in a separate file. That new file, a stand-alone program, can run on any computer. It doesn't need QuickBASIC to work, and it will be executed up to ten times faster than the interprested version.

Years ago, being computer literate meant learning to program in BASIC. Although there is less emphasis on programming today, programming remains a challenging, creative, and even entertaining enterprise; and computer users who understand programming will always be a step ahead of those who don't.

BASIC is an ideal first language. Its ease of use provides programmers with a simple way to learn and experiment with programming concepts that are the building blocks of programs written in any language.

For learning to program, Microsoft Game Shop provides an excellent introduction with plenty of fun and useful tools. First time programmers have a chance to experience the challenge and excitement of the old days of computing, but with all the comforts afforded by today's technology.