@2 HOW DO THEY DO THAT? by PAUL OVERY @1 I've only had three "how's" this issue, so come on I want to see those questions piling in. All manner of programming techniques are covered in this article but@7 we need you the reader to take part.@1 If you want to take part then write to the address at the end of this article. @2 From fellow music editor Mike Richmond we have:- Question: "Why don't you do one for the A.I. routines on Sensi Soccer?" @3 Answer: Before we begin I think it's important to ask the question. What is Artificial Intelligence? As far I am are I'm aware there are two main thoughts on A.I. The first for example a computer which learns as it develops, and can carry out its own actions that it was never programmed for in the first place. With time it would be able to handle almost any situation. The second thought on A.I. is where the computer stores all the possible answers to a problem. So its a simple case of looking up the correct answer in memory to match the problem. Both of these techniques can be defined as A.I., as we still do not fully undersand our own human thoughts which is what A.I. is based on. Both of the above methods have their strong and week points. i.e. The thinking method is slow, where the lookup method is extremely fast. The Look up method uses vast amounts of storage space, where as the thinking method uses only a minimal amount. @3 In the case of Sensible Soccer it is my opinion that they have used none of the above methods, therefore it can not be classed as A.I. It would seem that the way the game plays, a specific game engine has been written to handle this football problem. Although they may have used small lookup tables, these can not be seen in the same light as the A.I. method as described above, small look up tables would have been used for storing mathematical calculations for obtaining fast angles between two points. This would allow the computer controlled players to "home-in" on the ball using hardly any computation time. That's all the game basically does, the CPU player closest to the ball runs straight for it using lookups, while the other CPU players follow in his direction at the correct distances for support. Again each CPU player can have a separate lookup table for each type of attack or defence skill and so on. I gave an example of how to do this in AZ#4 (the last issue) find it in "Paul_Overy's_code / Find_angle.amos". All of this, has of course been guess work. But I don't see any problems in using this type of method. For example - Even if the CPU player has the ball he can dodge to opposition by just using lookup tables, complex time-consuming calculations need never be used. @3 e.g. Imagine an invisible grid over each player made up of avoiding direction arrows. So when the attacker moves in close, his grid can be read, and ovoiding action taken. Anyone who has used my High Octane Map Editor may have a better idea of what I on about. The whole footbale game could be controlled by nothing but lookup tables. Pre-calculated decisions brake up into all the differnet rules of the game, but this must not be confused with A.I. Now that we are on the subject of Sensible Soccer, I can tell you that they re-use the same sprites within the same display field. Sprites are longer than need be so they can be cut up and displayed in different horizontal positions, working down the screen. This results in many extra sprites being displayed, but at least one video line must separate them. No more than 8 sprites can be placed on each horizontal line because there are only 8 hardware sprites. If in such a case an extra sprite cannot be generated on the screen then the blitter will take over to generate a bob. This Blitter OBject is replaced by a sprite as soon a possible. Using this simple sprite update method, the best possible sprite usage can always be made. Freeing up much needed CPU time. @2 The second question was from Andy Dobinson, Amoszines information man. This question was over the telephone - I as far as I can remember it went something like this: Question: "Oh great one, forgive my stupidity but... How do Team17 do that Tunnel effect in Super Stardust?" @4 Answer: Simple, they just hold one 1/4 of the Tunnel gfx in memory and flip it on each of the axis to achieve a full screen effect. This way a full Tunnel animimation can be held memory, as holding a full screen animation could not be possible even with two megs - other sound & gfx must fit in to. Then its just a simple matter of using the A1200's 16 colour dual playfield and a bit of screen offsetting whenever the space ship moves. The larger and more colourful sprites that the newer Amiga has to offer also helps greatly. (All you A500 users hurry up and die before we all do!) This game would be hard to pull off on even a fast IBM-PC, as for a fast 386 - forget it! @1 Also while I'm on the subject of PC's, how about Intel's Pentium chip. There is a rather nasty fault in the floating point unit, which gives errors on floats carried out in certain ways. Intel have of course kept their heads low over this - they don't tell you about it in their "Intel Inside" adverts that plague our TV's), this type of fault should never appear with todays quality assurance procedures. The fault was found when someone was using a windows WP, Ha! @2My third question is from fellow FRYUP geezer PAUL COTTAGE. Question: "Mr Overy how do you pull so many birds?" @3Answer: "Well you see Mr Cottage it's because I use AMOS, and its a guaranteed pull when they see my extensions!!!!" @1 If you would like the basis of a game explained then write to:- Paul Overy 27 Barton Road Maidstone Kent ME15 7BU England Hopefully your answer will be in the next issue of the Amoszine.