Post subject: Abstract challenges
Joined: 10/3/2005
Posts: 1332
Expanding on the discussion in the "Classic game achievements" thread, I picked up a similar idea today: measure the "super-ness" of a superplay according to metrics other than (but including) time. Unlike in straight speedrunning where the goal is to beat the game as fast as possible, the idea here is to beat the game quickly, but without neglecting style, kind of like Devil May Cry. As a rudimentary demo of the concept, I hacked together a script for the original TMNT where the score has been overwritten with a new score, calculated by Lua. It basically multiplies the player's kill count by 10, and decrements by one each frame. This is admittedly a crappy demonstration compared to what could be done with more interesting metrics, and more time invested in finding the necessary memory addresses. It also fails because you can game the system in stupid, boring ways, like grinding for points in certain rooms where it's easy to rack up a lot of kills. However, there's nothing stopping us from changing the way the score is calculated so that the framecount penalty is exponential, or whatever provides a decent balance. Given the effort required to create such a balance, I'm guessing there will be, at best, one or two "killer apps" that are actually worth doing. Here's the script:
--TMNT score recalculator demo
ingamepts = 0
score = 0
while true do
   if memory.readbyte(984) > ingamepts then
      score = score + (memory.readbyte(984) - ingamepts) * 1000
   end

   for i = 0, 10 do
      gui.drawbox(25, 200+i, 100, 224-i, "#000000")
   end
   ingamepts = memory.readbyte(984)
   score = score - 1
   gui.text(25, 200, score)
   FCEU.frameadvance()
end
Some other ideas: Super Mario Kart: harass the other racers while placing in the top four. Maybe a bonus/penalty for proximity to other racers. River City Ransom: maintain a high damage-per-second rather than bypassing everything and smashing the bosses; throwing people at other people and other strategies. Final Fantasy VI: penalties for using the same attack (joker/vanish doom, ultima...) repeatedly. Bonuses for diverse attacks and completing parts of the WoR.
Chamale
He/Him
Player (182)
Joined: 10/20/2006
Posts: 1355
Location: Canada
Regarding your TMNT idea, my TAS body counts are somewhat similar in that they count kills per minute. But I do like some of your other challenge ideas as well.
Joined: 10/3/2005
Posts: 1332
Yeah. I didn't quite realize that the address I found was a kill counter rather than the actual score. FYI, it's probably pretty typical to find an address dedicated to body count, and the code you'd need to automate the counting is posted above. Anyway, I actually tested the re-score... script... thing. Still don't know what the hell to call it. Noticed two three things that I probably should edit into the original script: 1) both taking damage and eating pizza should count against the score (to discourage sucking) 2) the time penalty definitely needs to increase exponentially, since grinding is even easier than I thought 3) actually beating the game probably deserves a bonus, multiplied by the number of remaining turtles. With those changes, I think it may actually be workable. The kill counter doesn't take into account bosses or anything that takes more than one hit, which sucks, but that's harder to fix. If anyone else tries the script and wants a frame of reference, I scored 237,000 before getting a game over in level 4.