Amiga Texture Engine Demo 1.0 ©1994-96 by HardSoft Date: 1996-01-23 ******************************************************************************* Before you start the program, please be aware of the following: The program is a bit "quick and dirty" at the moment, as it accesses the hard- ware directly, disables both multitasking and interrupts and in general is very "system unfriendly". Great care (or rather experience) has been taken not to f*ck the system up totally though, and I have run the program under many diff- erent situations on my Amiga 3000 during a long period of time without _any_ craches, so it SHOULD work ok. I will however not take any responsibility what so ever for any kind of dataloss or failure directly or indirectly due to the use of this program. The behaviour of the program is not defined if it fails during initialization, for instance if not enough memory could be allocated, so do not run those important backups just as you are about to start ATED! ******************************************************************************* Welcome to a small demonstration of a "fake" texture engine demo for the Amiga called Amiga Texture Engine Demo (or ATED in short)! Background: ----------- This is a beta release of a texture engine that I started to code quite some time ago (I think it was in the autumn of 1994). I work on it once in a while, now and then, but as I have other things to do (like the university etc...) this project is somewhat in a coma. When I started on the texture engine, I had some goals in mind: to see how hard it could be to code this kind of stuff (I had read a small text about some "wolfenstein-techniques", which got the best of my curiosity), and to produce a playable game with a good story and "realis- tic looks and feels" (the latter might never be done). I also wanted to produce a 3D texture engine that do NOT require a PC or an AGA equipped 68020-Amiga. About this program: ------------------- Well, there is actually very much to be said, but I don't remember it all, and I'll try to keep it short... This program is a demonstration of a certain kind of 3D realtime graphics which has grown extremely popular during the last couple of years, first known as "Wolf3D-style" and later as "Doom-style" graphics. Today I would guess it is more commonly called texture-mapped graphics. You may find texturemapped graphics in several games, such as Wolf3D, Blake Stone, Doom, Heretic, Descent, Dark Forces, Gloom, Quake etc.. The special kind of technique that I use in this program is a mix between the Wolf-tech and the Doom-tech. It is a "faked texture mapping" technique, which only "scales" the walls, roofs and floors to their virtual sizes on the screen. The technique can be greatly extended (as can be seen in Doom, for instance), but I have chosen to develop the program itself, rather than bothering with complex methods of ray-casting (which may come later, if I ever get any order in this 8.000+ lines assembler source). System requirements: -------------------- · OS version: To start ATED from Workbench, you need kickstart 2.0+, otherwise kicstart 1.2+. · CPU: Any 68000+ CPU will do (unless you intend to run the 68020+ version that is). · Memory: I guess you need some 1MB+ (I have, however, run an older version of ATED on an A500 with 0.5MB chip and 0.5 slow mem, which will ofcourse be the future goal for memory-consumtion). · Chipset: OCS/ECS or AGA will do. It will probably NOT work with any graphic cards, yet ;-) · Software: You need to have mathieeedoubbas.library and mathieeedoubtrans.library in your LIBS: path (purely for precalc- ulation, this will change!) Usage: ------ To start ATED, double-click on the apropriate WB-icon, or enter its name from CLI. Which version to run? Well, the "0x0" version runs on any CPU, and makes the best out of the situation (uses 16-bit math on 68000/010, and 32-bit math on 68020+). The "000" version is optimized for 68000/010 Amigas, and the "020" version is optimized for 68020+ equipped Amigas. That should be easy enough. When you have started ATED, you have several in-game options to play around with: F1 - Distance shading on/off (well, only 64 colors is not good for shading, and AGA is not yet fully supported). F2 - Texturemapped floors and roofs on/off. F3 - "Bouncing" on/off F6 - Smaller view. F7 - Larger view. F8 - Smallest view (64x48) F9 - Medium view (160x120) F10 - Largest view (368x284, overscan) ESC - Exit ATED 1 - Select weapon 1 2 - Select weapon 2 3 - Select weapon 3 Space - Reload weapon (well, the weapons are only sounds, not really anything destructive, but you have imagination, don't you?) Control: Use the joystick or keyboard (cursor-keys) to move around. Firebutton 1 / Left Amiga key - Strafe/run (if you press button first and then move left/right you will strafe, but if you first move around and then press the button while moving, you will run). Firebutton 2 / Left Alt - Fire gun There are some "hidden features" aswell... Try CTRL+F for a continous frames- per-second display. Comments: --------- Yes, the graphics is truely a dishonor to the Amiga society, but I am a progra- mmer, not a pixle artist, and right now I am only testing. If you feel like developing your own wall textures (and objects, when I have the time to include support for them in the code) and game-maps, feel free to contact me. The reason why I do not distribute the "developer kit" is because it is the worst fast hack I have done in a long time (it would be a discredit to my honor to release it). Future plans: ------------- Huh? Well, I have LOTS of improvements in mind, especially some technical details, such as faster and more correct texture mapping, faster chunky to planar conv- ersion (I have even designed a _FAST_ hardware chunky to planar converter, on paper... Please contact me if you feel like brainstorming), fully multitasking program with no or only marginal "hardware hacking" (yes, on the Amiga you can do such a program without speed-loss). I also intend to move the non time- critical parts from the assembler-source into a C source (I have become more and more convinsed with the superiority of C when it comes to development, just have a look at my ray tracer 'RayLab', which was fully operational after just a week of coding). Then I intend to add AGA-support aswell, which is a bit tricky, as i do not have any AGA-machine within close range. Don't expect any new releases within the nearest future... If I am to do some coding, it would be on my raytracer anyway (check it out on the web: http://www.etek.chalmers.se/~e4geeln/raylab ) Authors: -------- - Programming and most graphics by: Marcus Geelnard (member of HardSoft) e-mail: e4geeln@etek.chalmers.se www: http://www.etek.chalmers.se/~e4geeln s-mail: Utbynäsgatan 11 S-415 06 Göteborg Sweden phone: +46-(0)31-265497 - Some graphics, clever ideas and beta-testing by: Olof Geelnard (member of HardSoft) s-mail: Utbynäsgatan 11 S-415 06 Göteborg Sweden phone: +46-(0)31-265497