Learn To Program: BASIC Review By Pete, April 1999 This Article was originally in Issue #9 of QB:TM, in April 1999 ----------------------------------------------------------------------- Last year, Scott Mathews, Executive Producer of Presage Software came up with an idea. The idea wasn't to make the next full-length epic RPG or an action-packed first person shoot 'em up game. The idea hadn't been tried since the early 90's, in the world of 386's and Windows 3.1 . He planned to re-introduce BASIC to generation-X teenagers so that they could make their own games, be it a full-length epic RPG or an action-packed first person shoot 'em up game. Mr. Mathews took his idea to Interplay, creator of games like Baldur's Gate, Redneck Rampage and Fallout 2, and told Brian Fargo, CEO of Interplay, of his plan. He approved, and soon, a team of programmers began to convert the non user friendly BASIC of the early 80's to an error-trapping, spiffed up and gutted-out BASIC of the 90's. They called it "Learn to Program: BASIC", and it was on store shelves within months. This is where I come in. One day, while reading one of my sister's educational software order forms for school, I spotted a CD-ROM with the word "BASIC" written in huge letters on the side. The Scholastic book company does a horrible job describing their book order items, so I figured that the only way to investigate further would be to actually buy the CD. Six to eight weeks later, my sister came home with a pile of Babysitter's Club books and Oregon Trail games, and handed the LTP: BASIC box over to me. I opened it up, finding a couple warranty papers, a manual and a workbook, and of course, the CD. I popped it into my CD-ROM drive and was on my way...to a world of "Game making made easy!" ----------------------------------------------------------------------- System Specs: LTP BASIC can run on either MAC OS v7.5+ or Windows '95+ Windows '95 Specs: 90 Mhz Pentium Processor or better, 16 MB RAM, 40 MB Hard Drive Space, 2x CD-ROM drive, DirectX certified sound card and DirectX certified video card, SVGA monitor, and a Microsoft compatible mouse. Macintosh: PowerPC processor, QuickTime v2.5 or later, 8000K free memory, 40 MB Hard Drive Space, 2x CD-ROM drive, 13" or larger 256 color monitor. Other Information: Suggested Manufacturer's Retail Price: $39.95 Where to get it: Your Local Software Store or http://www.interplay-store.com Published and Marketed By: Interplay Productions Developed By: Presage Software Development Company "Learn to Program: BASIC" and "Interplay" are trademarks of Interplay Productions, 1998 ----------------------------------------------------------------------- Learn to Program: BASIC is a BASIC interpreter that takes BASIC programming to a new level. It is also a teaching aid that teaches you how to program in LTP: BASIC. It makes it user friendly, easier to learn and use, and is thoroughly documented to make it so that you will have absolutely no problems looking up help on a command or subject. Now a quick run-down of how it works: Learn to Program: BASIC has three main areas. They are the Lessons section, the Projects section and the Freestyle section. The Lessons section has tutorials that teach you how to program in a step-by-step order, going from the very basics to much more complex commands and programming ideas. Each lesson is a movie where "Media Man" and his dog, "Goo", the cubist - like characters that teach you how to program teach you about that particular programming subject, and the commands associated with it. They explain things like variables and REM statements in a way that is ammusing and easier to understand than a plain old text tutorial. In these movies, you will be asked to perform tasks, while being guided by your two "teaching assistants". If you are having trouble understanding what they told you to do, pop-up windows and they will help you along until you understand it. If you ever don't understand something, you can press the back button to do that part of the lesson over again, or when you finish, you can start the whole tutorial from the beginning. At the end of every lesson, there is a text review section that is meant to be printed for later review, that discusses the high points and most important parts of the lesson you just went through. The Projects section is a section with programming examples that cover every command somehow, and are meant to help you learn. They are by professional programmers, and are thoroughly commented and set up very nicely. Most are in the form of a game, and some are very fun. Read through all of the code and figure out what each line does. This will prove to be extremely helpful in learning about how to use code and developing algorithms. In each of these projects, there is a hint section where Media Man and Goo tell you what you should notice in the code, and how to modify it to make it more suitable to your taste. The FreeStyle section is the section where you actually get to program. This is a complete BASIC interpreter with about 120 commands to choose from. Many commands are the same as the ones in the original BASIC, but others are new. LTP: BASIC has a built in .bmp and .gif loader, a built in .wav sound player, built in mouse commands, automatic sprite masking and background buffering, special graphics save and load formats, and, get this, a Quicktime movie player. All of these things are not standard issue in BASIC or QBASIC. LTP: BASIC runs at spectacular speeds, depending on your computer, and has no memory limitations, except until you fill your RAM completely. Yes, that's right, variables are saved directly to the EMS or XMS memory. LTP: BASIC has all of these complicated and hard-to-do in BASIC or QBASIC things done for you, so the programming is much less difficult. Your palette is permanently set, and can only be changed when you open a graphics file that has a special palette. Every color gets a number (like in QBASIC or BASIC), but also has a name like "Bunny Slippers" and "Atumnal Splendor", and the colors has a pop-up screen where you can pick the color, and it inserts the number. Also, along the top are drop down menus with every single command, organized in it's own category so that you can click on it and it will be inserted for you. If you ever use a command wrong, there are instant pop-up windows with hints and guides that are much more helpful than the error messages in QBASIC. This language seems perfect, but it does take a lot away from the actual coding process, with all of this done for you. You still, however, have to type out REM and LET, but the REM statements are made green in the text window so that you can notice them faster. When you have your program finished and ready to run, just click on the "Run" button on the bottom of the screen, and your program will begin. The program runs in the small box beside the screen, but you can resize the program run area to the full screen. Also, if the program gives you trouble, you can just press the Stop button. It will terminate the program just like Control + Break does in QBASIC. No closed loops that will keep your computer in an endless cycle like in the original BASIC, forcing you to turn your computer off and start again. The graphics capabilities are limited to one screen, at 315*235 with 256 colors. The screen is squared down to fit the small run window beside the program window better. The Workbook for LTP: BASIC is an excellent guide to programming. It goes over algorithms, gives you challenges with answers to test your programming skills and has a very good dictionary in the back, layed out not unlike the QBASIC help file. The Workbook goes over a few projects, and has many coding examples. Also included is the manuel that tells you how to use the program and what each menu and tool is for. Also included is a paper that has every LTP: BASIC command, with a small description and an example of how to use it. This proves very helpful if you are hacking away and forget the syntax of a command like "SetTextLayer" or "ResumeUpdate". These commands look more like subroutine names than actual commands. The CD-ROM also is loaded with tons of other coding examples, like the ever-famous Eliza, towers of Hammurabi, answers to the challenges in BASIC form so you don't have to type them in, examples of how to use every single command, and many other .BAS files are found there, many are very fun games. Now that you have heard me ramble about all of the good parts of LTP: BASIC, I'll tell you about the bad parts and imperfections. Learn to Program: BASIC's features are faster, better, but much, much more limited. Half of the commands in QBASIC aren't in LTP: BASIC in any way, shape or form, and the commands in LTP: BASIC won't let you do a lot of things that make QBASIC great. You can't open any files except for LTP: BASIC graphics files or files with special commands meant for that file. There are less commands that you can use to build a subroutine that moves a mouse cursor or load a data file, and more that just do it for you, making it so that you can't do many things that are easily done in DOS-based languages. The commands that they do give you have long, hard to remember names like "SetTextLayer" and "GetSpriteNumFrames" which will slow down the coding process and are annoying. The bar at the top with drop down menus to choose a command makes it hard to find the command that you want, and you spend twice as much time trying to find it as you would have spent typing it in. Media Man and Goo are SO annoying that it's not funny. They use humor that will only appeal to eight year olds, have dumb sound affects for no reason, and spend more time taking away from the lesson than teaching you. They dance, dress up, jump around, and act like Looney Tunes. The only thing that they're good for is to give a kid an epileptic seizure. The actual program is slow at some points, the sound is junk, and the only thing I find a bit appealing is the Freestyle mode without the two little cartoon characters running around on the screen. ----------------------------------------------------------------------- Okay, now you should have a pretty good understanding about the program. Now I'll tell you what's good and what's bad with numbers. This review is simple and straight forward. I have taken five different aspects found in almost all software released, and am doing a review of each aspect individually, then tallying up the score. The highest possible score is 10.0, the lowest is 0. Each of the five aspects is worth up to two points, but it could be less, depending on what I think of that aspect. Okay, let's begin... 1.) Menu / Layout The menu and layout in this is pretty average. It's not set up completely illogically, and many parts of it can be rather helpful. The layout's pretty good too, and a lot of it's customizable. Some things are hard to find in the menu, especially in the FreeStyle section. There are animations that go with almost every part of the menu, and it is easy to use and abuse. Liked: I liked the animations and general cleanliness of the menuing system, which was split up according to sections. Hated: Some things were just too hard to find in the menus! 2.) Graphics and Sound Very annoying in the case of Media Man and Goo, but the language's capabilities for sound and graphics are superior to QBASIC and BASIC's. It really depends on the section that you are in that determines the sound and graphics quality. The sheer number of graphics that are in the menu and in the lessons and projects is remarkable. I like the huge ammounts of graphics, but next time, they could use the CD's extra space on adding a couple more commands. The sound for the lessons and projects isn't as bad as the graphics in some places, but it's not top - notch. Liked: Lots of graphics and sound affects, and the graphics and sound qualities of LTP: BASIC are far superior to QBASIC and BASIC's. Hated: Goo and Media Man and their stupid stunts and comments. Much space devoted to this when it could have been used on the LTP: BASIC compiler. 3.) Features / Flexibility Learn To Program: BASIC has many features, but little flexibility. The features are outstanding - imagine an automatic Quicktime movie player in QBASIC! The flexibility is low, however. You are limited to the commands that they gave to you. You can't even have subroutines outside of the main program! Your commands had a lot of features, but could only be used to do one thing, which should have been fixed. These two categories kind of cancel each other out. Liked: The commands had LOTS of really neat features. Hated: There just wasn't enough thought put into the language. Sure, there were a lot of nice features, but you're pretty much stuck having your game have lots of sound effects and graphics, but little else. 4.) Documentation Superb documentation. Interplay did an excellent job on this! There is a workbook, a manual, a paper telling you each command in alphabetical order, plus tons of programming examples, built-in lessons, coding examples and a very good help menu. It doesn't get much better than this! Liked: Everything! You'll never get stuck with so much user-friendly information at your finger tips! Hated: Nothing. 5.) Overall Impression This language is perfect for beginners and first time programmers. I wish I had this when I began programming. After you have programmed in other languages, though, you start to realize that this doesn't have nearly all of the flexibility and freedom that you want in it. If you are a newbie, I suggest getting this, otherwise, it's a waste of money. Liked: Great language for first time programmers. Hated: After you have programmed in higher class, more flexible languages, this is too easy and too "one - way oriented." This language is good for making simple action games, but not much else. ----------------------------------------------------------------------- Final Analysis: Menu / Layout : 1.6 Graphics / Sound : 1.5 Flexibility / Features: 1.2 Documentation: 2.0 Overall Impression: 1.5 ----------------------------- Total : 7.8 So there you have it. I wasn't quite sure on how to go about this review, but I ended up doing it this way because it was the first idea that popped into my head, and is a little bit like the file reviews on my site. This is meant to be a guide about LTP: BASIC, and these are all my opinions. It is not a very official review. ----------------------------------------------------------------------- If you would like to find out more about LTP: BASIC, go to their official site, http://www.interplay.com/basic