Posts for nanogyth

1 2
9 10
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
The thing I'd most like to figure out is the ship glitch in ambrosia, and if it can be used in sosaria. I wrote a decompiler in python, but I don't know the function of enough addresses to make sense of what happens. The main game loop is a mess of goto spaghetti. P.S. And you think the TAS is impressive, you should see http://www.twitch.tv/yogidamonk doing most of these tricks in real time.
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
aenima8669 wrote:
I'm confused, though. The WIP linked earlier goes through the entire game--is there a reason it didn't obsolete the other video or isn't considered finished?
I was going to improve it, but got distracted by other things.
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
TheAxeMan wrote:
This looks pretty fast. Is it possible that doing the moon advances earlier could get you better luck on undead? You often need to cast it twice to finish the enemies and there is one time where you use missile to increment rng (I assume that's why you do that). Even adding another cycle could decrease overall time if I am understanding this right.
There are three places on the 256 rng cycle that can get the single round. Two are back to back, but 64 and 96 advance gaps to/from the third. Advancing the rng in sosaria is slow, ~6 frames. So second cast (~200 frames) is often faster. I might be able to throw a dagger instead of casting missile. But it'd have to miss, otherwise it'd advance the rng again rolling damage. (missile is autohit, so just rolls for damage) I'll also look into ducking into an extra town. It takes ~200 frames, but could skip a dry spell. Royal City is kinda on the way to Yew from Fire.
TheAxeMan wrote:
2015 should be a good year for Ultima, I am going to finish my NES Ultima 4 run soon...
:)
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
New WIP I'm going to look into getting a better moon counter on ambrosia exit. Right now I have to mash B 16 times for the moongate to get to exodus castle and then another 16 getting to 1 pirate. If I could shift the moon cycle to be 0, then the 1 pirate would be 0 as well. (looping from 32) The moon and rng counters increment together most of the time. The rng counter can be shifted on town exit and in battles. Right now I like the mob setups for the town exits I have. But fights are 12x8 and a 4, so that can be changed a bit. The 32 B presses are only costing ~200 frames, and its possible all attempts to save those would cost more at other places.
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
Please keep in mind that deblink can be used in many ways, and just applying it with default settings to the whole encode won't produce optimal results. This is the file I used for encoding Lethal Enforcers This for Bubble Bobble This for Rolo to the Rescue This for Claymates
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
In scenes with just motion, you should be taking every other frame. 0101 In scenes with just blinking, you should be taking 2 of 4. 0011 (or 3 of 6. 001011) The problem comes when there is both. Since every other loses the blinking, while uneven patterns stutter the motion. Deblink attempts to separate the two, so the motion can be smooth while keeping the blinking. My concern is how youtube is doing the 60->30fps decimation. If it just blindly applies 001011 to the whole thing any time it detects any blinking, then motion is going to suffer even in places where there is no blinking.
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
some rng data I'm using for battle planning. python script battle chart I made for the RTA. wind chart WIP
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
The RTA has made some progress with this game, 32:31. So I'm going to update mine as well. I need to add ship glitch and status glitch (no more time lord). I'm going to add a lit dungeon, so that will be a little more entertaining. Final battle will be a missile barrage instead of poisoning everything, which will hopefully be less anti-climatic. I have a better understanding of the RNG, so all the grind battles can be faster. But spinning the RNG takes a while, so the out of battle looks slower even though its an overall time savings. The RNG is at 00BA. It advances to the lower byte of 17*RNG + 23. RNG effects spells and the number of mobs (which should be 8 to maximize xp/minimize total battles needed). The spell I'm interested in is Undead. It cycles the RNG, does 255 damage if the upper byte of 100*RNG is less than 75, then cycles the RNG again; for each mob. The RNG cycles with spells, movement, and pressing the B button. Overlap between the two should give a battle I'm looking for (8 undead mobs, 1 spell kill) twice every 256 RNG. This can leave me spinning the RNG 128 times out of battle, ~600frames, 10 seconds. That is pretty close to the time to cast the spell a second time (and the second cast might not finish the battle anyway). Mob type is based on the frame counter, which is independent of the RNG and never more than 3 frames away. Mob number chart (two columns of number and shape). Shape is there to help me know where in the pattern I am.
7 11111011  5 01110110
8 11111111  4 01110010
7 11111011  4 01100110
7 01111111  3 01100010
6 01111011  4 01100110
7 11111110  3 01100010
6 11111010  3 01100100
7 11110111  2 01100000
6 11110011  2 01000100
7 11101111  1 01000000
8 11111111  2 11000000
8 11111111  3 11000001
7 01111111  4 11001001
6 01111101  5 11011001
6 01111110  5 11011001
5 01011110  6 11011011
Undead chart (read across then down). *=8 kills, .=4+kills
f9* a0. b7* 3e. 35* 9c. 73* ba  71* 98  2f* 36  ad* 94  eb* b2
e9* 90. a7* 2e. 25* 8c. 63* aa  61* 88  1f* 26  9d* 84  db* a2
d9* 80. 97* 1e. 15* 7c. 53* 9a  51* 78  0f* 16  8d* 74  cb* 92
c9* 70. 87* 0e  05. 6c  43. 8a  41. 68  ff. 06. 7d  64  bb  82
b9  60  77  fe  f5  5c  33  7a  31  58  ef  f6. 6d  54  ab  72
a9  50  67  ee  e5  4c  23  6a  21  48  df  e6. 5d  44  9b  62
99  40  57  de  d5  3c  13  5a  11  38  cf  d6. 4d  34  8b  52
89  30  47  ce  c5  2c* 03  4a. 01  28. bf  c6. 3d* 24. 7b* 42
79* 20  37* be  b5* 1c  f3* 3a  f1* 18. af* b6. 2d* 14. 6b* 32
69* 10  27* ae  a5* 0c  e3. 2a  e1. 08. 9f. a6. 1d. 04. 5b  22
59  00  17  9e  95  fc  d3  1a  d1  f8. 8f  96. 0d  f4. 4b  12
49  f0  07  8e  85  ec  c3  0a  c1  e8  7f  86  fd  e4  3b  02
39  e0  f7  7e. 75  dc  b3  fa  b1  d8  6f  76  ed  d4  2b  f2
29  d0  e7  6e. 65  cc  a3  ea  a1  c8  5f  66  dd  c4  1b  e2
19  c0  d7  5e. 55  bc  93  da  91  b8  4f  56  cd  b4  0b  d2
09  b0  c7  4e. 45  ac. 83  ca  81  a8  3f  46  bd  a4  fb  c2
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
Same input, different emu startup state? On NES there are at least three different cpu/ppu sync combinations. Do any emulators allow you to specify that in the movie file?
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
He's bringing crappy back?
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
Use the "yt:stretch=4:3" youtube tag instead of SAR YouTube is reencoding, send it lossless --qp 0 YouTube expects tv709 for HD content --range tv --colorprim bt709 --transfer bt709 --colormatrix bt709 You could use a .bat file something like this.
@ECHO OFF & ECHO YouTube Encoder for 256x224p60 =^> 2048x1792p30
IF NOT %~x1==.avi ECHO drag+drop .avi & PAUSE & GOTO :EOF
set PATH=C:\mf\NGcode\lib
set "flags=--qp 0 --keyint infinite --range tv"
set "rec=--colorprim bt709 --transfer bt709 --colormatrix bt709"
set "vf=--video-filter resize:2048,1792,,,,point/select_every:2,0"
x264_8 "%~1" -o "v.mkv" %flags% %rec% %vf%
mkvmerge -o "%~n1_.mkv" "v.mkv" -D "%~1"
pause
Raw avi (LAGS RGB, PCM) http://www.mediafire.com/?4bwu90a69q2wlbs http://youtu.be/rj728_8cGYs (and it might help if I didn't set that to private =_=)
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
Save X - fight up to Jenova Save Y - fight up to Yuffie, glitch into Save X state How is this faster? Is the time of the first save being completely ignored???
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
I think I'm missing context on the video. It looks like they activate a glitch that makes them have to fight the final bosses twice???
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
convert .mkv and .avi files into .mp4 format
You probably shouldn't be converting at all. mkv, avi, and mp4 are containers, you can usually just repack the streams from one to the other. mkvextract to pull them out, mp4box to pack them in.
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
If you're using the ng_bighalo from http://pastebin.com/j29A92vf The drop shadow isn't too fancy, just an extra section of halo with the same transparency as the main text. If you aren't using a semi-transparent halo, it won't do anything. The shadow is made up of point pairs. ng_bighalo("Hello World", size=128, shadow=" 20 -30") Play around with the numbers to change the relative placement. shadow=" -1 -2 -2 -4 -3 -6 -4 -8" Would be similar to the default " -4 -8", but the extra points would make things look smoother. Thickness would be halo, but it is a pain to set up all the points. Using halo_radius will have the computer calculate all the points for you. This can be really slow.
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
I would make a library file with all the loadplugin and function definitions.
Language: avisynth

LoadPlugin("./programs/mt_masktools-26.dll") function ng_bighalo(...){...}
Then just import to library before calling the function.
Language: avisynth

import("lib.avs") blankclip(600, 2048, 1792, color=$00ffff) ng_bighalo("Hello World", size=128)
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
This is what I've been using. http://pastebin.com/j29A92vf
I can't figure out how to extract that portion of code to make use of it though.
What are you trying to do? The basic idea is to use subtitle to make the base letters. text_mask Then use mt_expand + mt_circle to make a larger copy. halo_mask The masks are combined with a lookup table. alpha_mask Then overlayed on the movie. The math gets a little ugly because avisynth treats the 32 bit numbers as signed. It would also be possible to use bit shift, but that was only available in the "experimental" builds.
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
creaothceann wrote:
Then I guess I'd still use the smaller size:
Those numbers were for only 1000 frames. My upload speed with tvcman caps out ~250kbps. So multiply your upload times by about 200. I could see a case for x4, but x3 and x5 should never be considered. And whatever you were suggesting with "1080p (native resolution = 480p; use PointResize 2x first)" should probably also be avoided.
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
Time is more what you'd expect. 1 - 320.31 fps 2 - 170.65 fps 3 - 75.21 fps 4 - 55.87 fps 5 - 31.26 fps 6 - 26.92 fps 7 - 17.24 fps 8 - 16.40 fps 12 - 7.39 fps 16 - 4.04 fps
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
creaothceann wrote:
To be honest I don't see the need for higher resolutions than 720p (native resolution = 240p) or 1080p (native resolution = 480p; use PointResize 2x first).
And that is why its important to test things, because sometimes intuition is horribly wrong.
Language: avisynth

m=8 avisource("M:\TAS\DONE\claymates\Claymates.avi") trim(13000,13999) ChangeFPS(30) pointresize(m*width,m*height) ConvertToYV24(chromaresample="point", matrix="Rec709") ConvertToYV12(chromaresample="point", matrix="Rec709")
Language: batch

x264_8 --qp 0 --keyint 600 --output o_8.mkv cm.avs
1 - 2827386 bytes 2 - 3683965 3 - 9590697 4 - 5305784 5 - 14752989 6 - 7823310 7 - 18514433 8 - 4453002 You should test your own samples as well. I'd be interested to see a sample where 8x8 upsize isn't the smallest. P.S. 16x16 is smaller than 12x12 12 - 9,074,364 bytes 16 - 5,722,830 bytes
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
tvcman died with this
4826933103/4826933103 [*************************] 100% 264.533 KB/s  0:00:00:00

Runtime error: Upload failed, 400
----------
Authentication-Info: cnonce="MDMxMDMx", nc="00000003", qop="auth", rspauth="398a
55c5dc2b36ab23d7f7a6b109652c"
Connection: close
Content-Type: text/html; charset=UTF-8
Date: Sat, 02 Feb 2013 20:38:01 GMT
Server: Apache/2.2.16 (Debian)
Transfer-Encoding: chunked
Vary: Accept-Encoding

----------
Requests are expected to be made via PUT.

An X-File-Md5 header is required.
X-File-Md5 should consist of 32 hex characters of the entire file's MD5 digest.

A Content-Range header is required.
Content-Range is in the form "bytes <begin>-<end>/<total>".
Content-Length must also match the amount of bytes specified by the Content-Rang
e.
Example 1:
Content-Range: bytes 0-9/10
Content-Length: 10

Example 2:
Content-Range: bytes 150-199/2300
Content-Length: 50

For status check, the following Content-Range is also permitted:
Content-Range: bytes */*
Content-Length: 0

Before upload is allowed to begin, a status check MUST occur.
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
Primary, stream and youtube all have different target resolutions. Preemptively targeting one res compromises the others.
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
When recording, why doesn't the first segment have the resolution as part of the file name?
Experienced Forum User, Published Author, Player (66)
Joined: 4/21/2011
Posts: 232
creaothceann wrote:
nanogyth wrote:
The number of files is limited to ~50 by "video for windows".
Even with DSS2?
The AviSource limit is pretty well known, I'm not sure about other sources, but I'd be surprised if you could have an unlimited number of them open at once. With FF8 you're looking at a total of ~400 files. Grouping by resolution can potentially simplify some things, even if there wasn't a file limit.
1 2
9 10