From: comp.sys.amiga.reviews Moderator Organization: The Amiga Online Review Column - ed. Jason L. Tibbitts III Subject: REVIEW: AMOS 3D and Compiler Keywords: language, basic, amos, commercial Path: karazm.math.uh.edu!amiga-reviews Distribution: world Newsgroups: comp.sys.amiga.reviews Followup-To: comp.sys.amiga.programmer --text follows this line-- [This was sent to me by Charles Hill of AMReport fame. The last working address I have for him is: Charles Hill/InfoTrak <76370.3045@compuserve.com>. -JLT3] ======================== AMOS 3D and Compiler Review by Andrew Farrell ======================== History If you fancy yourself as a game designer but don't care to delve into C manuals and or Assembly Language books, AMOS could be the answer. AMOS is a language, much like BASIC, with special support for many of Amiga's special abilities, unlike AmigaBASIC which tends to leave the real meaty stuff to the likes of C programmers. However, AMOS won't write the game for you - there is still a lot of code to be bashed in. If you have the patience to learn the language, you'll find yourself with a powerful tool capable of producing sophisticated programs - especially now Mandarin have released a fully fledged compiler and 3D module. Amazingly enough, AMOS originated on the Atari platform, where it was a giant success. It didn't take long for another publisher to realise an Amiga version had much more potential and development began immediately on a new version to take advantage of all those hidden powers imbedded in the Amiga's custom chips. From the day the Amiga version was announced, it was nearly a year before a finished version saw the light of day. Since then Mandarin have updated the product several times. Locally, AMOS is supported by Pactronics who produce a semi-regular newsletter filled with tips, example programs and useful information on the latest updates. Version 1.3 New features added include better support for multitasking, support for hard disk installation, interlace mode, a new REQUEST command, and much faster graphics. AMOS is a popular solution to that old desire all home computers owners once had of churning out home grown software. The package seems to appeal to parents with a niggling desire to write programs that perfectly suit their childrens' needs. This fact is attested to by the huge range if public domain education software floating around. The biggest limitation with AMOS is your own imagination. AMOS Compiler The best part about AMOS was the fact you could create stand along program which ran with a cut down version of the full program editor called RAMOS. Unfortunately many have had problems with this package and getting your hands on a copy hasn't always been easy. The new compiler solves this problem. It is now possible to write a full AMOS game, compile it, package and commercially sell it and no one would ever know without carefully examining the resulting machine code. Mandarin have even promised they won't tell anyone you wrote the game using AMOS until two months after the release. Apparently some software companies have expressed disinterest in signing up titles which have been developed using "Game Creators". AMOS hardly fits into this category, but compiled BASIC programs are treated similarly. In Australia Pactronics have distributed one titled written in AMOS called Cricket. It has been fairly popular, however we haven't seen any other titles in production. The AMOS compiler churns out code which runs at a very acceptable speed. The demos floating around for AMOS 3D are proof that even uncompiled code moves at a very rapid pace, although none of the demos are really true examples of the sort of overhead game code has to deal with on top of handling the graphics. Remember too that the demos are all executing predetermined animations without any on-the-fly calculations as to where objects should be headed. There can be no doubt that the AMOS compiler is far more elegant solution to the problem of distributing your own programs than the previously available runtime AMOS called RAMOS. It is also considerably more secure and a good deal smaller. In the speed department you can expect an increase of two to five times - depending of course on the complexity of the code. Operation The compiler is launched from a CLI or from within AMOS in direct mode with the command COMPILE. The AMOS launched version sports a smart graphics interface making it a cinch to use. Once running, the next step is to decide whether to compile direct to disk or RAM. This feature is a big help to Amiga owners with 512K of RAM. Once the job is complete, you have the option to compact the code. This process seriously reduces the resulting files size and is as efficient as most of the best compactors available. The down side of this is the program takes a little longer to run as it must first decompact. Conclusions Do you need the AMOS Compiler? If you're already an AMOS owner who writes a reasonable amount of software, the answer is yes. Even if you don't already own AMOS, it could be time to take another look at a product which may well stand up to commercial software production. AMOS 3D Generating high speed 3D animation in a game environment normally relies on a set of standard routines for rendering objects. Ideally, this graphics engine must be able to handle many calculations based on the camera position. Each object must be rendered by the blitter chip. For best rendering times, the engine would need to take into account objects which are in front of others. If you could create such an engine and make available an editor for creating shapes to be animated, you have AMOS 3D. The whole package was created by Voodoo Software, the authors of the amazing 3D game Xiphos. What you have your hands on is one of the most impressive Amiga programs you're likely to see with the potential to build fantastic games of your own. Combined with AMOS, it is possible to create an entire 3D universe with incredible fast animation frame rates, smooth camera paths and smart collision detection. AMOS 3D is actually two modules. AMOS itself receives a shot in the arm with an extension of some 30 commands to allow you to display objects and handle your 3D universe. However, the most important add on is the object editor. Creating Objects The editor is called OM and it is a functional gadget driven interface for creating objects using simple base shapes which can be combined and modified. It all looks very daunting to begin with, however patience with the interface and some time spent soaking up the tutorials will make all the difference. Once your up and running, OM is fairly straight forward although some careful planning is advantageous if you're planning anything complex. Your designs must retain an angular sort of look as the shapes can only be modified in certain ways. Points can be dragged and you can expand or shrink a face and rotate or scale an object all you like. To further enhance these simple solid objects, AMOS 3D allows you to add surface detail or even create holes in objects. Using up to four colours, you can create an image that is mapped on an object surface. OM auto- matically distorts the image to fit the surface. This simple facility enables more complex looking objects to be created without exceeding the limitations of the object editor or seriously slowing down animation speed. Every image you create is given a rating which tells you exactly what impact it will have on the speed of 3D rendering. Conclusions Judging by the demonstrations included with the package and the brief play I managed to have with the package, AMOS 3D looks like a must have for any AMOS owner planning on playing with animation or creating good 3D games. I even had a few Videoscape fans drooling over the demo disk, so it looks like AMOS 3D will attract a few followers from the dedicated animators department. Overall, a very impressive, powerful add on to AMOS that opens up the potential for programmers beyond anything ever before. Andrew Farrell is editor of two Australian magazines, Australian Commodore and Amiga Review and Professional Amiga User Magazine