home *** CD-ROM | disk | FTP | other *** search
-
- ================================================
- APilot
- -------------------
- Casper Gripenberg (Casper.Gripenberg@hut.fi)
- Kjetil Jacobsen (kjetilja@stud.cs.uit.no)
- ================================================
-
-
- What's this?
- ------------
-
- This is about a year old project that I'm (Casper) too busy or too
- lazy to finish. APilot is an attempt to make an xpilot like native
- game for the Amiga. Anyone who has ever played xpilot on an X window
- terminal knows what I'm talking about, and those of you who don't know
- I suggest you grab yourself the nearest X terminal and start learning,
- you'll love it :) (Check out the newsgroup alt.games.xpilot)
-
- APilot has nothing more in common with xpilot than the map format and
- idea. All code was written from scratch utilizing Amiga OS functions.
- The game is completely OS friendly (well almost, more on this below)
- and multitasks beautifully among all your other applications. Whoever
- said you couldn't make multitasking action games on the Amiga?!?
-
- The reason I release the code to the public is that I hope someone
- out there will want to continue to develop it. Also I beleive this
- is the first real example on how to use the OS double buffering
- routines (this is one of the FAQ's in c.s.a.programmer). I hope I
- used the DB routines right, I know I didn't use all their features,
- but it should serve as a good (?) example.
-
-
- Before you get too excited
- --------------------------
-
- The game is by no means finished. The original game is a complex
- multiplayer action game and APilot is only a very small part of
- what xpilot is. There are room for _LOTS_ of improvements in the
- structure of the program, the game just 'accidentally' growed
- from a quick hack :-/ APilot doesn't have multiplayer cabapilities
- nor is it very complex, but I beleive it could be made to something
- similar...
-
- The original idea was to make APilot an Amiga client for the
- real xpilot server, to be able to play xpilot from you own Amiga.
- Ah..what dreams ;)
-
- The game feautures explosions with 'shock waves', cannons that
- shoot back, ship exhaust that can push things around (right now
- only the dummy ship, try to direct some exhaust on it and see
- what happens). That's about it :) You can also make your own
- maps easily, just look at APilot.mapfile and you'll get the
- idea. The red line from the center of the ship is your speed
- vector, it shows the direction you are traveling. The longer
- the line the faster you are moving.
-
-
- Wanna give it a try?
- --------------------
-
- In the 'Bin' directory I've put a compiled version of the APilot_Opt
- version. What you need is:
-
- o Atleast a 020 processor.
- o OS 3.x.
- o The SystemThin font in your fonts: drawer. (hope it's PD).
- o APilot.mapfile in the current directory
-
- The keys are as follows:
-
- a,s turn ship
- shift thrust
- enter shoot
- space shields
- f check fuel status and fuel at fuelpod (if close enough).
- q quit
-
- keypad +,- change framreate
-
- If the game is compiled with CPU_USAGE defined then you can use
- keypad * to toggle cpu-usage meter on/off. (APilot_Opt in bin
- is not compiled with CPU_USAGE).
-
- Also the version in 'Bin' is not compiled with DYN_SCR so you won't
- be able to choose a screenmode..Or you will be able, but the game
- doesn't 'resize' itself correctly. The omission of all these options
- are just to get maximum speed out of the demo binary. Perhaps it
- is even playable on an A1200.
-
- NOTE: It may take a few seconds before the game starts on slower
- machines. This is because APilot precalculates some tables
- before starting the game. People with a math co-processor
- may want to recompile the binary with 'MATH 881', it'll
- just speed up the startup, not the game.
-
-
- Technical info
- --------------
-
- The game has been developed and tested on an A3000/25 with static
- ram. On this machine the game runs 25fps 95% of the time. The real
- bottleneck of the game is the CHIP-RAM bus. The collision calculations
- etc. don't take much time. The thing that sucks all the cpu power
- is the drawing of the lines and points. The Amiga CHIP-RAM bus is
- just too slow. :( I hope it will run better on AGA machines. Anyways
- you shouldn't run it over 25fps anyway since on a double buffered
- interlace display it is the max speed possible. At 50fps you loose
- half of the information on the display due to the fact that it
- double buffers at the same rate as the display is interlaced....
-
- For the same reason the interlace also makes horizontal lines
- flicker even on a flicker fixer. They only flicker when you move
- the ship at certain horizontal speeds, this is all the fault
- of the interlacing...But hey..my 3000 can't display high resoutions
- on anything less. Any non i-lace mode makes the flicker disappear.
-
- The game could very easily be made frame rate independant. That
- means that even on a slower machine the game 'speed' would be the
- same, the screen UPDATES would just come more seldom. Actually
- it is frame rate independant right now. The only difference is
- that the game does not do the adjustment automatically, instead
- you have to do it by hand with the +/- keys. A few lines should
- be changed in main.c in the main loop and then it should work.
- It's really very simple, just a matter of taste I guess if one
- wants it automatic or not.
-
- Also the keyboard reading routine should be moved to the start
- of the main loop. Now on lower framerates you can notice an
- annoying delay between pressing a key and something happening.
- Sorry, haven't had time to fix it.
-
- The screen has a title even though it is not visible, AGA owners
- may want to try and promote the screen to something else. I'm not
- sure it will work though..
-
- !!USERS OF 3RD PARTY GRAPHICS CARDS!!
- The game uses non OS routines for line and point drawing and the
- game probably will work, but you just won't see much..The makefile
- has an option to use ONLY OS routines, but this naturally slows
- down the game..Check the smakefile.
-
- Kjetil Jacobsen was in the process of developing graphics card
- support but I haven't heard from him in a while. Kjetil also told
- me he had some code for making enemy robots..
-
-
- Why 2 source directories?
- -------------------------
-
- The APilot_Ser directory contains a bare bones serial version of the
- game. Yahoo! :) You can play against your friend via modem. The only
- thing is that it doesn't work very good at all, it has no error
- recovery and you can't have cannons in your map when you play
- 2 player games.
-
- Also the APilot_Ser has command line handling a little bit more like
- normal Amiga games. I don't really remember anymore which source
- files are newer in APilot_Ser and APilot_Opt. The two should really
- be combined somehow. Atleast APilot_Opt has got some optimizations
- in the map.c file, which APilot_Ser hasn't got. APilot_Ser on the
- other hand has a little more advanced UserPrefs structure and as
- mentioned better command line handling (prefs.c). One might also
- have some improvements in the hline.asm file. Sorry, it was a long
- time since I last touched the source.
-
- Genrally APilot_Ser has the newer source, and less bugs :)
-
- Well, not much more to tell, take a look at the source for more
- information. You can also send me or Kjetil mail if you want to
- know more.
-
-
- Standard disclaimers apply..
- And please inform us if you are going to use the code for anything
- commercial :)
-
- ------------------------------------------------------------------------------
-
-