In games with multiple playable characters (ie. mostly RPGs) it's a relatively common self-imposed challenge to make a Solo Character Run, ie. completing the game using only one playable character. I was wondering what would be the coolness factor of this if done tool-assisted.
Of course there are games where you are forced to take the additional playable characters (in these cases the self-imposed challenge could be, for example, to just let the other characters die and never resurrect them, unless the game auto-resurrects them after battle), and whether this is suitable for the category or not would depend on the exact game mechanics.
OTOH there are a few games where all but one playable character are optional. The pokemon games are the most obvious example.
How high would this category score on the entertainment vs. "no, not yet another category!" scale?
It's good in theory, but the result has to be more than ten hours of the lone character healing every other turn.
To elaborate, I was/am planning to do a solo Black Mage run of FF1. All-treasure, full spellbook. The strategy would probably revolve around collecting money, and thus the route would take a significant departure from the published TAS. Would that make it interesting, though? It might be fun for me, greedy, power-mad bastard that I am, but the battles would still be the same: wait for the RNG, stab, repeat. And there would be a lot of that, and it's not that interesting once you've seen TheAxeMan's run.
Pokemon isn't a bad idea, but I don't think it would justify the length of the movie, which would necessarily be greater than that of the published TAS (which is already very, very long to most people.)
I'll say this, though: if someone makes a solo Tifa run of FF7, I'll watch it no matter how long/redundant it is. :D
I don't think that's possible. You need to pick up other characters as part of the story, they are automatically added to your party, and any dead characters are automatically resurrected for the next battle. Even just defending with the other characters every time does not achieve the same effect.
I was thinking, since a solo TAS doesn't need to be published here anyway, why not use Lua to "cheat" and prevent the auto-revive? One can record while running the script, and as long you run the script while replaying, it should play back perfectly.
Below is how the script would look. The question marks are values someone would have to determine with memory search. There could be syntax errors, since I haven't tried running it. I've never hacked SMRPG, so my assumptions could be wrong.
Lots of games use a "display" HP variable that's different from the one used in calculations, so that's another pitfall someone would want to avoid if they tried to plug the right values into this script. I tried something like this in Chrono Trigger years ago, and had a hard time with it because of how finicky the game is about detecting a dead character.
I think I've explained enough that anyone who knows hex and has used an emulator before could fill in the blanks, so I'm just going to leave this here for whoever.
--Solo Mario RPG script: Keeps non-Mario characters KO'd
--[[We need a few memory addresses for each of the characters.
Finding the "character" address will probably require a savestate
where at least four characters are available.]]
local character = 0x??????
local hp = 0x??????
local status = 0x??????
--[[character data is usually stored in blocks. In FFIV, I think they were sized
0x80. Hence, if 0x7e1000 is the HP of the top-slot character, 0x7e1040 could
be the second slot's HP, etc.]]
local OFFSET = ?
--[[RPG characters are usually enumerated, and the first character
is usually represented as a 0. Terra=0, Cecil=0, etc. ]]
local MARIO = 0
--[[Status ailments (poison, dead, etc) are usually stored bitwise,
so the value 0xFF or 0 will usually set them all to ON, and since death overrides
the others, turning them all on is probably good enough.]]
local DEAD = 0xFF
--main loop
while true do
for i = 0, 2 do
if memory.readbyte(character + i * offset) ~= MARIO then
memory.writebyte(hp + i * offset, 0)
memory.writebyte(status + i * offset, DEAD)
end
end
end
I always find that "solo" challenge in RPG is just silly because same game at some point gets other character revived in specific event or need to use specific character alive / use skill in order to move on.
I think "Level 1" or similar is better coolness factor (Level 122333 challenge for Final Fantasy 12 for example)
I always find that "solo" challenge in RPG is just silly
Kind of a silly thing to say in a thread called "solo character run", but more power to you. ;)
I thought I'd just point out here that a little bit of Lua hackery can get around whatever temporary class/character restrictions the game throws at you. When soloing FF6 using Terra, for example, we could swap in Terra during the parts where she's not normally in the party.
The consequences of having this kind of power are possibly even more interesting: you could conceivably solo the game with General Leo if you know enough about how the memory is organized.
But not Kefka, because while he has a party-value, he doesn't work, afaik.
As for Mario-only, I don't think there are any in-battle auto-revives- but I don't think you can attack your own side, either, making it a tad trickier to fix up.
But not Kefka, because while he has a party-value, he doesn't work, afaik.
You are clearly not acquainted with the magical genie that is Lua. :p
It would be harder to implement than switching one byte, but I doubt there's any serious problem stopping Kefka from being a (kayfabe) playable character.
As for Mario-only, I don't think there are any in-battle auto-revives- but I don't think you can attack your own side, either, making it a tad trickier to fix up.
Like I was saying, Lua can kill off unwanted characters the instant they come back to life for any reason. We could probably blot them out of existence altogether, but that would more than likely complicate things unnecessarily.