From: El Nada <firstname.lastname@example.org> Date: Tue, 18 Nov 1997 20:02:05 -0600 (CST) This program really worked well for me, so here goes... PROGRAM LISTING =============== Program : Runner Created by : SIC Email : email@example.com Date : 11/18/97 Evaluation : Extremely agile OKE capable of dodging anything. Accurate firing and obstacle/friend avoidance. Using only 2-legged OKEs, this program beat Europa and Gannymede without adding or upgrading any production lines. Beat Callisto using 2-legged OKEs and Manticores with this program, with a few line upgrades. Body : Any 2-legged OKE, can also be used in 4-legged OKEs Engine : Any Main weapon: Any Laser Sub weapon : Any Missile or Large Missile CPU : any 144NC or higher (CP-588FX is available at start) Fuel tank : Any Armor : Any Option : Any (space for jammer at B4) Acknowledgment ============== This format was created by Arne Michaelsen (firstname.lastname@example.org). You must view this file with a fixed width font, such as courier, or within a vanilla ASCII text editor (such as edit.com or notepad.exe). Proportional fonts will turn this file to hash. | | These bars will line up | | | | | | | | in fixed width type. | | Legend ====== Chip sides with green arrows are open because they show the normal program flow. Red arrows pass through closed chip-sides, since they represent a divergence. + /\ + +==/\==+ | | < > Chip with < > Chip with all green | | all red + \/ + arrows +==\/==+ arrows Chips are read in the same way they are in the game. Red arrow +==/\==+ Scan E| <-- Scan for enemy Green < 120m | <-- At a range of 120m arrow 90 180| <-- Bearing 90 (right), 180 degree arc +======+ Scan codes are as follows: E=Enemy F=Ally P=Projectile M=Missile N=Mine O=Obstacle Note on headings in Scan chips: 9o=-90 (-90 wouldn’t fit) A B C D E F G H I J + \/ +======+======+ /\ +==/\==+======+======+======+======+======+ | If Scan F|Scan F| Count| Move |000000|000000|000000|000000|000000| 1| A=2 > 300m > 300m > A+1 | Back |000000|000000|000000|000000|000000|1 | 90 180|9o 180| | |000000|000000|000000|000000|000000| +==\/==+ \/ + \/ + /\ + /\ +======+======+======+======+======+ | | Jump Jump | |000000|000000|000000|000000|000000| 2| -- |Right > Left > Wait | Grap |000000|000000|000000|000000|000000|2 | | | |000000|000000|000000|000000|000000| + \/ +======+======+======+==/\==+======+======+======+======+======+ | Scan M Scan P Scan E|000000| Move | 3| -- > 50m > -- > 50m > 30m |000000| -- > -- > Left | -- >3 | 0 354 0 354 0 135|000000| | + /\ +==\/==+ /\ +==\/==+ \/ +======+==/\==+==/\==+======+======+ | | | |Scan E| Ammo Scan O Scan F Fire 4| -- | Jam > -- | STOP | 100m > Sub > 100m > 100m > Sub 1> -- >4 | | | | 0 33 | <1 0 39 0 39 0 39 + /\ +======+ /\ + \/ + \/ +==\/==+==/\==+==/\==+======+======+ | Jump | |Scan P|Scan E| Ammo Scan O Scan F| Fire 5| -- < Left | Duck < 20m | 200m > Main > 200m > 200m | Main > -- >5 | | | 0 354| 0 33 | <1 0 39 0 39 | 0 39 + /\ +==/\==+======+ \/ + \/ +==\/==+======+ \/ + /\ +======+ | | Rand |Scan P| | | | Heat |000000| 6| -- | 1/2 < -- < 50m | -- | -- | -- < >70 > -- |000000|6 | | | 0 90 | | | | |000000| + /\ + \/ + /\ + \/ + \/ + \/ + \/ +======+======+======+ | Jump | |Scan P|Scan E| Move |000000|000000|000000| 7| -- < Right| -- < 50m | 300m > Fwd > -- |000000|000000|000000|7 | | |180 90| 0 33 | |000000|000000|000000| + /\ +======+======+ \/ + \/ +======+ \/ +======+======+======+ | Jump | |Scan P|Scan E| Turn |000000|000000|000000| 8| -- < Back | -- < 50m | 300m > Right> -- |000000|000000|000000|8 | | | 90 90|90 180| |000000|000000|000000| + /\ + /\ + \/ + \/ + \/ +======+ \/ +======+======+======+ | Jump | Rand |Scan P|Scan E| Turn |000000|000000|000000| 9| Fwd < 1/5 < -- < 50m | 300m > Left > -- |000000|000000|000000|9 | | | 9o 90|9o 180| |000000|000000|000000| +======+======+======+ \/ + \/ +======+ \/ +======+======+======+ |000000|000000|000000| | Move |000000| |000000|000000|000000| 10|000000|000000|000000| -- | Fwd |000000| -- |000000|000000|000000|10 |000000|000000|000000| | |000000| |000000|000000|000000| +======+======+======+ \/ + \/ +======+ \/ +======+======+======+ A B C D E F G H I J Hardware Decisions: --Lasers are better than AP cannons or shotguns. AP cannons just plain suck, and Shotguns do almost no damage unless they are fired at point blank range. Lasers are powerful and have an effectively unlimited range. --Rockets are bad. They are very easy to dodge and don’t turn into tons of explosions unless their target is just sitting there waiting to be killed. Missiles can be jammed, but rockets don’t need to be jammed to easily avoid them. Alpha missiles or Medusa large missiles are very powerful and always hit. --Putting this in a Prowler will let it take on tanks or 2/4-legged OKEs without trouble, but it may be wounded after 1 battle and having it fight 2 or 3 in a row is risky. Putting it in a JuJuman will let it fight 2 or more fights without worry. Putting it in a Vipor will make it nearly invincible. When I played the last map on Gannymede, none of my Vipors got damaged at all. --If you put this program in a 4-legged OKE, change all the projectile and missile checks to 60 or 70 meters (Ducking at 25) to compensate for their slower jumps. --4-legged OKEs fire more shots quicker than 2-legged OKEs, but they have a harder time dodging. Experiment and see what kind of OKE is best for you. --Giving this OKE a missile jammer really helps. With one, this OKe can dodge anything. If you really don’t care if a few of them get blown up, give it an Armor Repair Device. It will quickly eliminate what little damage this OKE takes. Software Decisions: --”Wasted Spaces” and “Wasted Time” are irrelevant. With a medium speed chip, the OKE dodges almost immediately and tells it to dodge 3+ times while it is already dodging. --Dodge First, Fire Later. --Change the Enemy, Obstacle, and Friend Detection range (E4, G4, H4) for the sub weapon firing to suit your choice of sub weapon. --Change the heat check at H6 to suit your OKE’s weapon Explanation of Program: At the start, the OKE jumps right twice if there are no friends on the right, left twice if there are no friends on the left, or it stays put if it is surrounded by friends. This results in a more spread out fighting formation. Change the number in A1 if you want to change the number of times it jumps. Once it is done with this, that piece of code is never executed again. Next, It detects if there are any missiles near and jams them. Notice how after jamming that the code flow continues after the missile detection and not before it, so the OKE does not sit in one place and jam missiles while they are near. If it detects projectiles near, it stops whatever it is doing and avoids fire. If projectiles are very close, it ducks. If projectiles are coming from the front or back, it jumps left or right. If projectiles are coming from the sides, it jumps forward or back. Notice how the probability of jumping forward is 1/5. This helps avoid the OKE jumping toward an enemy that it is facing. If no projectiles are coming, the OKE immediately checks for an opportunity to grapple. Notice the Move Back chip right after the grapple. Normally it does nothing, but if the target is about to explode, the grapple is not executed and the OKE backs off to a distance of 30m. The OKE then checks to see if an enemy is in front of it at a distance of 100m for the sub weapon and 200m for the main weapon. If it is out of sub weapon ammo it automatically diverts to main weapon firing instead of moving forward (grappling is much more risky than just firing the main weapon). If it detects an obstacle or friend in the way when firing it diverts to sub weapon firing checks. This can result in sub weapon firing at long ranges, but if you have missiles or large missiles it isn’t a problem. If it detects obstacles or friends in both instances it makes the OKE move left. Having it randomly chose to move left or right would just cause it to rapidly switch between right and left movement, accomplishing nothing. You could edit the program to have it randomly jump left or right, but in my experience this causes the OKE to jump into mines and enemy OKEs too often to be worth it. A heat check stops the OKE from firing if it is too hot. This isn’t a problem for a Prowler, JuJuman, Livewire, or Rouge, but it should be set at 70 or 75 for a Vypor and 60 or 65 for a Manticore. If no enemies are within range in front of it, it starts searching. If an enemy is in front but just too far ahead, it walks forward. If an enemy is to the left or right, it turns left or right. If it can’t find an enemy anywhere, it walks forward. The only weakness in this program is that it has no chips for avoiding mines. I left it out even though I could have fit it in because it would cut off the heat detection chips. If you want it to avoid mines, have the “Move forward” at F7 changed to “no action”, have the “no action” at G7 pointing left to a “Scan mine” chip set to scan for mines right in front of it with red arrow up and green arrow right. Above it place a “move right”, and to the right of that place “no instruction” chips leading to the edge of the board. To the right of the “Scan mine” chip place a “move forward” chip with “no instruction” chips to it’s right leading to the board’s edge. This cuts off the heat detection chips, change the firing chips so it goes directly to firing the main weapon. How to beat the game with this program: --Mass produce OKEs. They are cheap compared to other costs. --Have wounded units retreat to a base to recover. --Send the stupid OKEs you start off with to an enemy base and swarm it. It will easily fall. If you can give yourself a maufacturing advantage early on in the battle, you can easily win. --Play defensively untill you have enough OKEs to attack. This is extremely important in Callisto and maps like the last one on Gannymede. Once you have a manufacturing advantage, you can go on the defensive and not worry about a horde of enemy OKEs coming up. --Research The JuJuman and Manticore ASAP. They are much better than Prowlers and other 4-legged OKEs. A mixed group of JuJumen and Manticores make a very good team. --The Vypor is probably the best OKE. It is very fast and fires triple shots. Just for Fun: The Manticore has a VERY powerful physical attack, so give a Manticore this program and replace the main weapon and sub weapon firing chips with move forward chips. It will advance towards the enemy and smash it to kibbles.