Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
It makes me happy in a way, that nobody actually managed to make a sub-5min run, and the differences on the leaderboard were comparatively rather small. Being beaten by a small margin is a more rewarding thing than being beaten by a large margin.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
The game is designed for 50 fps. When run on NTSC, it simply idles every 6th frame. Best sync is acquired on NTSC when adding/removing frames in increments of 6.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I found the Mega Man 4 race exciting, the Pokémon Blue blindfolded race very entertaining, Castlevania II run surprising, and the Tetris section awesome as usual.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
There can be inconsistencies. I think the ingame time doesn't run during dialogs. You could sit on a dialog box for two minutes, and the movie would be two minutes longer while the in-game time would be unaffected.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I agree on the fun, good game choice, and on the reasonable time limit.
Without knowing how long the game is going to be (i.e. how well I'm doing compared to the advertised goal time), the time limit seemed somewhat tight, and I began doubting how much I can spend time optimizing, but in the end it went well.
Can't wait to see how badly I was beaten :-)
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I couldn't quite follow everything you did, but thanks to the submission text I understand it now. I've been waiting a long time for someone to TAS this game.
Yes vote.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Congratulations! While this game is in no way familiar to me, I'm glad to see a fruition of those tricks Arc has been posting over the last months on his channel.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
And again with the not-highest-possible difficulty level...
I'm going to remind what I said the last time. "As for the TAS, personally I think TASers should not attempt to compete with realtime speedrunners. As such, it makes no sense to use a lower difficulty level with the supposed rationale that that's what most speedrunners use as well. TASes are performance art. Use the highest difficulty level."
Using the ultra-violence level would only make sense if you were aiming for 100 % kills, because with the respawning enemies in the nightmare mode the percentage measure would lose its meaning.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Well, duh, of course different difficulty levels have different expectations for the level completion times and for routing and for everything that happens. So what?
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I see this TAS was made in the Ultra-Violence difficult level setting (the second highest difficulty).
For whoever is interested, here's a real-time speedrun (not TAS) made in the highest, nightmare difficulty setting, in single segment, played by Zero Master.
Link to video
It's a wild ride from the begin to the end, and this is an understatement.
Here's a couple of things where the nightmare level differs from ultra-violence:
-- Enemies and projectiles are a lot faster.
-- Enemies no longer have a reaction delay. When you're exposed, they start mowing you down immediately and not after half a second. This is especially a problem with the heavy-weapon dudes (chaingun guys).
-- Killed enemies respawn in a couple of seconds.
EDIT: As for the TAS, personally I think TASers should not attempt to compete with realtime speedrunners. As such, it makes no sense to use a lower difficulty level with the supposed rationale that that's what most speedrunners use as well. TASes are performance art. Use the highest difficulty level.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Now comes the story for the part "Agent" in TASVideoAgent's name.
In 2000 or so when I networked my IRC bot, BisqBot, and gave regular IRC clients such as my own the possibility to deliver BisqBot's administrative actions, I began calling these regular IRC clients as "agents". Merriam-webster defines "agent" as "a person who acts on behalf of another", which is exactly what my IRC clients did. They acted on behalf of BisqBot. There were maybe five or eight at best, with half of them as attended regular IRC sessions and half of them unattended, "bots", despite containing with no other "bot" functionality in themselves than the agent script.
These administrative actions that BisqBot would deliver would be things like opping and banning, which are bandwidth-limited per client in IRC. Delivering 10 actions through 3 outlets is faster than delivering them through 1 outlet. IRC was quite more hectic those days than it is today, and such architecture ended up being necessary at times.
As people do know who talked on #nesvideos when the channel was still #nesvideos, BisqBot could sometimes respond queries asked on a channel even though he was not present himself. That's because the agent network delivered the queries to the robot, and the agent network delivered BisqBot's replies back to the channel, or privately to the person asking, through one of the agents. Similarly, he can still respond to .seen queries pertaining to events on #tasvideos, even when he's not on the channel, observing those events. The only reason it's possible is because I am still there, and my IRC client is still an agent of BisqBot.
Almost precisely 11 years ago, I added a special IRC client on #nesvideos. The purpose of this IRC client was specifically to announce certain actions that happen on the NESVideos website. It was another unattended client, a finger of BisqBot. It was called NesVideoAgent. Like any other agent, NesVideoAgent contained no special code in itself. Rather, BisqBot was running a special script that read messages through a file, into which the PHP software running on the forums and website would write. Whenever something was written into that file, BisqBot would send a command for NesVideoAgent to announce that message on #nesvideos. In the event that NesVideoAgent could not be reached through the agent network, the message would be delivered through another agent, which would be either me, Bisqwit, or BisqBot himself.
Eventually NesVideos was renamed into TASVideos, but NesVideoAgent's name stuck.
In 2009 when the site was transferred into USA as the site's ownership changed, NesVideoAgent was shut down, and replaced with another bot, designed completely from scratch, without any involvement to BisqBot. In honor of a tradition, this bot was called TASVideoAgent, and it also adopted NesVideoAgent's forum account.
And now you know.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Got these down to 2453 bytes and 7214 bytes respectively by adding pngout, advdef and deflopt to the mix. pngout does that lossless quantization automatically by the way. I think some other of these tools does that as well.
Like so:
if ! gifsicle -O2 -b "$1"; then
in="$1"
tmp="compress.sh-tmp-"$$".png"
fin="_$1"
rm -f "$fin"
sizes="-n1 -n2 -n3 -n4 -n5 -n6 -n7 -n8 -n9 -n10 -n11 -n12 -n13"
filters="0 1 2 3 4 5"
advpng -z -4 "$in"
optipng -o7 "$in" && advpng -z -4 "$in"
advdef -z -4 "$in" && DeflOpt "$in"
zopflipng -m "$in" "$tmp" && mv -f "$tmp" "$in"
for filter in $filters;do
for bufsize in $sizes;do
rm -f "$tmp"
while [ $(jobs -p|wc -l) -ge 4 ]; do sleep 0.2; done
if true; then
f="$tmp"."$BASHPID".png
pngout -v -f$filter $bufsize "$in" "$f"
advdef -z -4 "$f" && DeflOpt "$f"
flock -x 333
bsize="`stat -c %s $in`"
size="`stat -c %s "$f"`"
if [ $bsize -gt $size ]; then
mv -f "$f" "$fin"
else
rm -f "$f"
fi
fi &
done
done 333< "$in"
wait
mv -f "$fin" "$in"
fi
Doing this used to be standard practice (with tools available back then) when I still administered the site... I wonder why it is not anymore.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
It looks nice. Can't really say which is better, Bob's movie or yours though.
I did like the part where Umihara jumped into the water and stayed there for quite a while. I guessed wrong where you actually attached the hook.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Yes, they do.
[img_left]https://files.tasvideos.org/common/UserAvatars/tva/TVA1.gif[/img_left] This is his normal mood: Business as usual. The picture is actually an animation. The Chmmr is hovering slowly.
[img_left]http://files.tasvideos.org/common/UserAvatars/tva/TVA4.gif[/img_left] This is his relaxed mood. He uses this avatar when posting a notification about a published submission.
TASVideoAgent is based on Chmmr indeed. Chmmr is a fictional composite race, made of a crystalline Chenjesu and a mechanical Mmrnmhrm. The Chenjesu feeds on electric energy, manifested by these multicolored lights that the mechanical components are smothering the crystals with. In this state, the Chmmr is letting the audience see his vulnerable side, while he's doing something that deeply soothes him. It is equivalent to a cat stretching and lying on a sunspot on carpet belly exposed.
[img_left]http://files.tasvideos.org/common/UserAvatars/tva/TVA3.gif[/img_left] This is his agitated mood. It is used for rejected submissions.
[img_left]http://files.tasvideos.org/common/UserAvatars/tva/TVA9.gif[/img_left] This is his deeply troubled mood. You don't often see TVA in this state. In this avatar, the Chmmr is very shielded and protective, with fast and erratic motions indicating an upset mood.
TASVideoAgent is not the first robot of mine to be based on the Chmmr. If you check http://bisqbot.stc.cx/ with my IP (88.193.84.194) (because the DNS of stc.cx has been terminated and I haven't bothered to assign a new address to that site yet), you'll see who else uses a Chmmr avatar. (Screenshot here: http://bisqwit.iki.fi/kala/snap/bisqbot_page.png) Obviously I couldn't use the same picture for TASVideoAgent, hence the animation set from Star Control III.
I also have animations for transitions to all those moods from the default and back to the default, but I couldn't think of a use for them, so they're not uploaded.
The animations have been scaled, quantized, and dithered heavily to make them as small as possible, to at least show an effort to comply with TASVideos avatar size guidelines. Considering that TVA is part of the site's maintenance and internal operation, he can bend a few rules.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Whoa whoa whoa. Did you just kill Death with a single Holy Water bottle?
The Simon's Quest type crappy Holy Water?
I know they made Death in CV2 a flying teddybear compared to his appearance in Castlevania, but still... This was unexpected. Granted, I don't know if this was common knowledge.
Yes, the game literally checks that you possess the following items: all body parts, blue crystal, cross. Source:
Too bad I didn't know of your project and that it hinged on this aspect. I could have told you this 2 years ago (the date I have last touched my disassembly of the game).