Bot DESTROYS Meteor for Intellivision

Channel:
Subscribers:
1,670
Published on ● Video Link: https://www.youtube.com/watch?v=yX1olWkK9Ss



Duration: 1:01:52
107 views
4


This gameplay is 100% script-generated, with the goal being to make an unstoppable Meteor AI. It is literally unstoppable... that is, until the game crashes! This is an unreleased Intellivision game so there's not many records to compare to for measuring the bot's performance, but here are some key timestamps:

*100,000 pts (score becomes 6x) surpassed at 11:10
*1,000,000 pts (last difficulty increase) surpassed at 55:52
*3,515,980 pts, 3011 lives at 3h 07m 12s (time of crash)

If it wasn't for the crash, clearly the bot could've kept going for hours, possibly days! Based on the bot's performance after 1 million points, it was projected to reach the maximum score of 32,767,995 points in 28h 30m 28s with 28,040 lives to spare.

==The commented Lua script (the bot's code) can be downloaded below==

https://drive.google.com/file/d/1ONZlj3s-6vPUpNT3VyngDn3u9kWYnRnS/view?usp=sharing

The code was made to run in BizHawk 2.8 through its built-in Lua Console. I will likely be suspending work on this project indefinitely. So please, feel free to improve upon what I've made so far!

==Basic game info for those unfamiliar with Meteor==

*You gain 10 points for destroying a big rock, 20 for a small rock, and 100 for a UFO
*Each score gain is multiplied by the number shown during a death in the lower-right corner
*Unlike Astrosmash, there are no spinner or missile hazards
*Unlike Astrosmash, there is no score penalty for taking a death
*An extra life is awarded every 1,000 points
*Large rocks will sometimes split into two small rocks when shot
*The teleport button will move you to a new random position - useful for sticky situations

==Rough summary of how the bot works==

*Continuously check all 16 directions for whether firing a bullet would intersect any targets
*If the above is true, point the gun towards the appropriate direction
*If the above is still true after the gun is pointed, fire the bullet!
*Shoot two bullets simultaneously at a big rock to also get the small rocks it may split into
*Target UFOs with highest priority, then big rocks, then small rocks
*If a target will despawn offscreen before a bullet can intersect it, don't target it
*If a hazard comes within a certain rectangle of the player position, press the teleport key

==Summary of potential improvements==

*The bot is reactionary. It cannot predict when, where, or what hazards will spawn
*Sometimes, by the time the bot points towards a hazard, the hazard will have moved out of targeting range and the bot won't fire; this is especially true with fast-moving small rocks.
*The bot does not weight objects a shorter distance away as more viable targets.
*A target's trajectory must INTERSECT one of the 16 facing directions for it to be targeted. Therefore, the bot will not see a hazard along a trajectory parallel to a facing direction.
*Player bullets will not destroy a target if they pass over the target from one frame to the next, and is problematic at higher game levels; no attempt was made to account for this
*The bot does not use the thruster ability at all due to the difficulty of implementation
*The bot does not know where it will teleport to when it decides to teleport. Teleporting on top of or in the path of a hazard was responsible for most of the deaths.

-- Join the Intellivision Discord: https://discord.gg/GYBDgvK







Tags:
ai
artificial intelligence
bot
script
plays
video game
coding
programming
meteor
asteroids
astrosmash
intellivision
intv
tas
tool assisted
speedrun
speed
run
fastest
top
hardest
difficulty
maximum
1 million
points
high
score
world
record
wr
beaten
completed
legitimately
cheats
glitches
tips
tricks
thewinslinator
winslinator