
                        /////////////////////////////////
                                 MILESTONE v3.0

                                 by Murat AYIK
                                March 24th, 2005
                        /////////////////////////////////
                              


1. Introduction
---------------
    Milestone is the progress-demo of my game-making efforts. It doesn't have tweaked gameplay, 
a story or polish. Currently it is only for friends and other programmers. However you can use 
it to watch the development of a game.

    Still, the demo has some level of playability, with enemies, weapons, etc.


2. System Requirements
----------------------

    Since the engine has almost no optimization yet, it is very slow. This is supposed to change 
soon(I guess!) A 500 MHz CPU and a TNT2 equivalent card should do it for the indoor level, while
a 2Ghz CPU and GeForce FX series card can't be enough in outdoors since that feature is new and
unoptimized. Also the default settings may be a little high, you can change them to your liking
in the config file(ayarlar.ini & mod_cfg.ini)


3. Controls
-----------

    The classic FPS controls are used as much as possible. Since this is just a workpad for 
my studies the keys aren't optimal or configurable, that will change soon.

 - Arrow Keys    Walk & Strafe
 - WSAD          Same as above
 - Left Mouse    Fire Current Weapon
 - Right Mouse   Toggle Weapon Scope
 - BACKSPACE     Restart Level
 - SPACE	 Next Level(when enemies are dead)
 - NUM_ENTER     Next Level(works anytime)
 - Mouse3 & R    Reload weapon
 - F12           Screenshot
 - 1 & 2         Change Weapons
 - Mousewheel    Change Weapons
 - U             Invert Mouse Y-Axis
 - F4            Teleport to level start area
 - TAB & KEY_0   Weapon Guidance ON/OFF
 - ESC           Exit Game


4. Technology
-------------

    Milestone uses OpenGL for graphics(through AllegroGL). It accesses the hardware through 
Allegro library. The main purpose of the Milestone series is to have a playable game and keep
having it that way, so I stopped studying visual effects and rushed on "game engine elements"
which means visual quality of the series will be quite low until it becomes more like a game. 
What I have now is; simple input, stereo sound, 6DOF camera, simple(but nice) skeletal animation, 
colision detection with ellipsoids, 3-days-old AI, lighting through lightmapping and some other 
stuff.


5. Gameplay
-----------

    You have eight weapons with which you should be familiar with from other games or the real
world. Some weapons have miserable accuracy while some are sniper-quality. Some automatic 
weapons fire the first round with perfect accuracy if you wait a second before firing again.

    Both rocket launchers have guidance, just activate it and aim at the target, it will lock-on
if it's in range. After that you have to keep them under your crosshairs(at most 15 degrees away)
to keep the lock. After firing, the missilenever loses lock but can miss the target for its
insufficient manoveurability or it can run out of fuel. There is a value(seeker_angle) for the
missile's tracker but it is not implemented so you can even shot back, it wil turn.

    Rockets give double damage if they hit the enemy, single damage if they hit the ground near
them. Also guided projectiles use proximity so they never hit the target for double damage.

    The enemies are not smart(thanks to their FARTificial Intelligence!) They can't respond to
sound while they are walking away(bullet hit is different!). Also they are almost blind when
they are not alerted.

    The AI aims one second before firing, so the easiest thing is hiding around a corner and do
a hit-n-run with strafing.

    I didn't have time to make a human model, I just used my skeletal-animation-test robots.
This gives you large enough targets.

    When you get hurt, only the HP and Ammo text will turn red. Keep that in mind!

    I also didn't make a death animation. If the mechs plunge their noses into the ground,
they are dead!

    You can use the BACKSPACE key to restart the game anytime. Especially if you lost too much
HP and don't want to go on with that.



6. Notes
--------

    The mods are activated by giving the mod's directory name to the executable. You can use
the supplied batch file("test_mod.bat") to activate the mod.

    The worst problems in this version is the lack of billboarding and good texturing. Currently
there is nothing I can do about this. I can only say I'm learning 3D modelling and constantly
getting better at it, so the folowing version wil have better graphics. Also billboarding has a
high priority in my list so the next version wil have rocket smoke, explosions and muzzleflashes.

    Since it is a free program, I felt free to use sounds and textures I collected from the net
and other games.

    The package may have loads of junk(unused textures and sounds), sorry for that!

    I will also make Milestones using the settings of my favorite games(2D and 3D)
Suggestions will be considered!

    If you are using Fraps or a similar program, the colors in the game can get corrupted.

    Dynamic Lighting is just a workaround. It will be replaced with a real system when I
implement shaders(not son!)



7. Author (Murat AYIK)
----------------------

    I won't go into too much detail. I'm a teacher, since I recently had some free time I worked
on my hobby engine to bring it today. Unfortunately I don't have much time anymore but the
engine gained so many features I can't abandon it now. I wil work on it until it becomes
something commercial.



8. Change Log
-------------

**** v2.0 to v3.0 
- Added mousewheel support to change weapons
- Fixed wrong aim angle of player on restart_level
- Brought back the Turkish Flag which was invisible in MS2 in 32 bit color depth!
- Fixed some lighting problems
- Added multi-level support
- Replaced the mostly hardcoded weapon system with a flexible one, featuring semi/full auto 
weapons, visible bullets, rockets, multiple projectiles(ie shotgun), magazine capacity and 
reloading, explosive projectiles, accurate first-shots on auto-weapons(optional), different 
bullet speeds for player and NPCs, different weapon models for player(GUI) and NPCs, firing 
from eye/gun position, option not to leave decals, random power-loss in given range
(like dmg: 40-45), etc
- Replaced the mostly hardcoded weapon system with a real(yet simple) one, featuring Stereo 
positional sound, different BGMs for different maps, OGG support, more hardware voices, etc
- Added mod support!
- Sounds now have different ranges
- Reloading, death and enemy detection now have sounds
- Firing enemies now glow and can be seen in the dark(temporary solution until dynamic lighting!)
- Enemies now can return fire when you shoot them from back(if other rules let)
- Added some terrain support(like friction and appropriate culling)
- Made Minor Optimizations(but new features evened them out!)
- Fixed some bugs (memory leaks, lighting issues, etc)

**** v1.1 to v2.0
- Added lightmapping for static lighting
- Added vertex lighting for moving thingies
- Minor speed-up
- Added decals for bullet marks(simple, without clipping etc)
- Added more hope for next version(s) by starting to learn 3D modelling myself!

**** v1.0 to v1.1
- Fixed OpenGL initialization problem
- Fixed a speed issue on some drivers
- Added WSAD keys





Murat AYIK
projectmilestone@yahoo.com
http://www.geocities.com/projectmilestone/


