AE:Projectile awareness

From OniGalore
Revision as of 19:28, 14 September 2008 by Gumby (talk | contribs) (More needs added. Explanations need clearing. Etc. I need to upload two screenshots.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

A page to document fixes to the awareness system

Documentation

Particles spawned with Dodge and alert radii (one without the other won't work so well), it gains danger spheres, which can be seen with "ai_showprojectiles = 1". While inside the red sphere (alert), nothing really happens, except that the AI is alerted. When it inside the blue sphere, the AI will attempt to escape outside of the sphere, if the sphere was configured properly. To see if everything is working properly, turn on "ai_drawpaths = 1". There should be two blue lines that project out of all AIs who are on the sphere's border or inside the sphere, toward the sphere, no matter where the AI or the sphere goes. (GIF screenshot coming soon)

Things that need to be done to avoid breaking AI danger awareness and dodging:

  • Danger spheres should not be attached to a character, wall, or anything else.
  • Danger spheres should not rapidly move and change direction.
  • Danger spheres must be moving (very slow moving works).
  • Danger spheres must have a dodge radius (without one it wouldn't be a sphere).

Fixing the Engine

(PC Only, for now)

Offset Old hex New hex Description
0x0009C07C
0x0009C080
0x0009C084
0x0009C110
30
34
38
30
6C
70
74
6C
projectile awareness fixed

All but the last one should be in the latest EXE.

Fixing AI Logic

Loser, please add stuff here.

It should be noted that the logic is (mostly) fixed in the newest version of AE.

Fixing the Mad Bomber

Even if you have a fixed Engine and AI, characters will not avoid the Mad Bomber properly. While they may dodge, it will only be in one direction. This is because the sphere is completely static. Luckily for us, this is fixable.

You need to export the particle named "BINA3RAPmad_p04x" to an XML file (back it up before making any changes).

Make sure the following lines are set properly:

       <Properties>
           <HasVelocity>true</HasVelocity>
           <HasOrientation>true</HasOrientation>
           <HasPositionOffset>false</HasPositionOffset>
           <HasAttachmentMatrix>false</HasAttachmentMatrix>
       </Properties>

Now change <Events /> to:

        <Events>
            <Update>
                <AttractHoming>
                    <TurnSpeed>1000</TurnSpeed>
                    <PredictPos>0</PredictPos>
                    <HorizOnly>0</HorizOnly>
                </AttractHoming>
                <SetVelocity>
                    <Speed>10</Speed>
                    <Space>1</Space>
                    <NoSideways>0</NoSideways>
		</SetVelocity>
            </Update>
	</Events>

Replace the old BINA3RAPmad_p04.oni with this one, recombine your level0, and enjoy your new and improved bomber.