Posts for Bobo_the_King

1 2
28 29 30
34 35
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Yoshi's Island at 60 fps? OH, MY!!!
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Language: lua

while true do joypad.set(1,{start=true}) emu.frameadvance() joypad.set(1,{start=false}) emu.frameadvance() end
Or something like that. I haven't tested it and I'm not even sure if it's what you're looking for, but whatever.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Oasiz wrote:
It should be about 60fps. The difference is pretty big once you see it. I seriously wonder if there are any ways to get around the sound issue.. Maybe do a custom player page that gets/streams the video feed from YT somehow. Save the video at 50% speed (no drops) and audio at 100%. Then use the custom player to load the video data + speed it up and audio straight.. And somehow mathematically count how to keep the audio track in sync with the video. That way YT would store the bulk content and some custom player hack would play it back with "60fps". Doesn't HTML5 kinda make it easier to "grab" the video as it doesn't use flash in between and relies on the browser to do the dirty work? Nice to see that my idea gathered some interest.
I have a quick and dirty method for syncing the audio whenever it desyncs. I just open the same video in a second tab and mute one of them. If the audio and video diverge again, I just do a little strategic pausing until the difference isn't noticeable. Works like a charm every time. Same procedure should apply here (you just need to mute the 60 fps video and open a 30 fps version in another tab).
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Twisted Eye wrote:
I actually stopped watching after the zip (screw semantics. That's what that was.) in Scrap Brain 2. You broke your own rule for the run. You went through a wall, altered your x-y, broke the game. What's the point in a low-glitch run that still features that kind of a glitch? The run would have been just as entertaining and high-quality without stooping to that.
Link to video Played to death, but it seems so appropriate for this run. (Honestly, I don't care much about the "zip" he used. What's far more important to me is the relatively small difference between this run and the published run in about half of its levels.)
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
For what it's worth, I think "no glitch" runs should be reserved for games that are well and truly broken. This run is less than 2 minutes slower than the published run, a difference of just 15% or so. That's not earth-shattering to me, even when you consider the extra time spent tallying the score at the end of each level. I checked the published run for the zips it used. Of the 18 levels, 12 used zips. Of those 12 zips, three of them were relatively minor (skipping only a portion of the level and not zipping straight to the end, such as in Scrap Brain 2) and one of them is in this submission (Scrap Brain 3). That leaves one-third of the levels with no noticeable changes, plus another one-sixth with minor changes to the route. If this had been, say, a Chrono Trigger "no save corruption" run, a Mega Man "zipless" run, or a Donkey Kong Country "warpless" run, I might be more open to it, but it just doesn't strike me as setting itself apart from the published run as much as it should. And consider this: all the games I just mentioned have glitchless versions that were obsoleted! Put another way, if we were working in the opposite direction-- if your run were published first and then a zipped run were produced-- I'm confident yours would be obsoleted. I checked the list of runs for the phrase "glitched" (quotes included) and found 19 games with that label. Eight of those games had no alternate runs. For the 11 remaining games, the percent difference between their glitched and non-glitched versions were 46% 94%, 95%, 88%, 75%, 77% 90%, 56%, 77%, 47%, and 52%, for an average difference of 72%. Additionally, there are just eight runs with either the "Forgoes time-saving glitches" and "Foregoes save data corruption" labels (though there is probably some overlap with the runs I already searched for). This is not a ringing endorsement of your run. I don't vote and I'm not about to change my ways, but if I did, I think you can see how I would.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Yep, p4wn3r is correct, as usual. He even proved it formally-- I would have just offered his first argument as a proof. (I could/should have specified that an is strictly positive for all n, but it looks like I didn't need to.) I kind of like this problem because it's directly analogous to the proof that conditionally convergent series sum to any value that you want.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Here's one while I'm thoroughly bored and putting off important work. Consider an arbitrary sequence {an} for which its associated series, {sn} = sum(ak, k, 1, n), is dvergent (I think every mathematician should be comfortable so far). The question is as follows: Is it possible for {an} to be "minimally divergent"? I define "minimally divergent" to mean that if we take any infinite subset of {an}, call it {ank}, then either sum({ank}) or its "complementary series", sum({an}/{ank}), must necessarily converge. For example, take the harmonic series 1 + 1/2 + 1/3 + 1/4 + ... It is clearly not minimally divergent because both 1 + 1/3 + 1/5 + 1/7 + ... and 1/2 + 1/4 + 1/6 + 1/8 + ... are divergent. On the other hand, the sum of the reciprocals of the primes is known to diverge, but extremely slowly (I believe it takes about 520 million terms for the sum to exceed 3). Is it possible that this sum is minimally divergent? If minimal divergence can occur, provide an example and a proof. If not, disprove it. If anyone wants to know the proof but I don't respond for a while, PM me and it'll get my attention. Edit: I've edited this post a few times in the past hour, so if the question didn't make sense before, be sure to reread it. The concept behind what I'm trying to say is actually fairly simple, but it's difficult to put into words. Perhaps someone else can help me?
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
So I get hooked on this show back in July, stop visiting this site for a few months since the start of the semester, come back briefly, and find that not only is there a pony thread, but it's one of the most popular in the site. I'm sorry I missed most of the fun. I don't have time to muse about ponies at the moment, but I'll be back eventually.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
ElectroSpecter wrote:
Awesome, I'll totally have to check that program out! As for freezing the spots, I tried that with lua:
memory.writebyte(0xFF0813,30)
but all that seems to do is make the desirable sprite appear a tiny bit longer. Did you have a way of getting this to work? Finally, I haven't used the program yet, but I've been forcing the sprite layer to always appear on top when I make the maps. I'm assuming this should continue working when I use the program? It would prevent me from having to go back and paste in the items that are behind things, which happens a lot.
Hey, sorry for the late reply. I have cheats on both bytes 7E00D0 and 7E09D0. I don't know why I have cheats on both or if it will work for you... Heh, oops. I just realized I'm using the SNES version. Just frame advance until the spots rotate and do so about 20 times. For the SNES version, it's once every four frames and I expect it's similar for the Genesis version. Anyway, once the spots have rotated some 20 times (about 80 frames), search for RAM addresses that have changed between 18 and 22 times. From there, it should be straightforward with less than a page of candidate addresses... if the programming is roughly the same between the two versions (which it should be). As for having the sprite layer always on top, I had no idea you could even do that. That's a great idea!
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
ElectroSpecter wrote:
Bobo the King wrote:
(I'm interested in how you're putting together level maps, if you're willing to share.)
It's not as technical as you might think... I'm using print screen and MSPaint. I'm sure there are better ways though. I recall someone showing me a lua script that does it automatically, and I might be able to come up with one if I worked on it long enough.
For my own experiments, I used this program. It's a little bit of a pain because it sometimes loses its frame of reference (usually when you're in the air and there's nothing to compare) and you need to create a lossless AVI first, but the results were pretty good once I spruced them up. I was able to find the RAM byte that controls rotation of the spots, so you can freeze them in place. Once you do that, if you autostitch the movie backwards the spots should show up over the level (I haven't tested it, though). From there, you'd just have to manually add the ones that are in the background. I've also toyed with the idea of making my own autostitcher. I'd like to use the autocorrelation function and do some other fancy stuff. Alas, I just don't have time for it and I can't even accurately say it's on the back burner-- it's more like on the back burner of the stove in the locked basement of the old run-down house two towns over. But if anyone wants to try applying the autocorrelation function to screenshot stitching (which shouldn't be too hard), I just thought I'd throw that out there.
ElectroSpecter wrote:
I'm not 100% sure, but I seem to recall not having any more bonus levels after the sixth, at least in the Genesis version. But yeah, if I end up having to enter a seventh repeatedly, suiciding would probably be the way to go.
It's ultimately your choice, but I'd vote against suiciding. The only advantage that it technically has is that your route-planning is simplified. The entertainment lost by repeated suicides far outweighs the entertainment gained by a 100% run, in my opinion. I think Spot is invulnerable for at least a few seconds after taking damage, so suicides may take upwards of 10 seconds just in-level, not to mention the time spent entering and exiting the bonus level itself. I can't speak for anyone else, but I suspect popular opinion will align closely with my own. Of course, this is all putting the cart before the horse. If there are no extra bonus levels, then it's not a problem.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Just watched your WIP. Back in the day, Cool Spot was going to be my first TAS. In fact, I was thinking of making it my next run and I even fiddled with map-making a few months ago and had some success with it. After seeing your WIP, I'm now glad that I abandoned my run, since the route planning is even more technical than I imagined (I probably wouldn't have thought to suicide on the first level). The run's looking really good and I look forward to the result!
ElectroSpecter wrote:
I make maps of the level before completing them. I would eventually like to upload them in full-quality, but I'm not sure how I would do that. I have a photobucket account, but I'm sure that it's not worth it to even try uploading them to that.
Upload them here: http://vgmaps.com/ I'm sure they'll be quite grateful. (I'm interested in how you're putting together level maps, if you're willing to share.) Again, keep up the good work! Edit: From the vgmaps maps of the Master System version, it appears there's a 7th bonus level in which you can earn a one-up. I have no idea if this level is in the Genesis or SNES versions, but if so, you would be wise to not do a 100% run, since it would mean either repeatedly completing or suiciding on the 7th bonus stage, neither of which is very entertaining. If there is a 7th bonus level, I won't envy you because it will add two extra layers to your already difficult route planning-- you'll have to determine which five (or six?) levels that you won't 100% on and figure out which 10 or so spots you'll skip. My fingers are crossed for you.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
10 out of 10, p4wn3r! You even got the gist of how I derived it! I started with the identity max(a,b) = 1/2(a+b+|a-b|). I then used the property max(a,b,c,d) = max(max(max(a,b),c),d) = max(max(a,b),max(c,d)). I then iterated the identity to expand the two right expressions. Finally, I made a few simplifications to collect like terms and obscure the nature of the problem. I'd say the key to solving it is noticing that both a and b only appear as a+b+|a-b| so you can collect those terms as 2a, 2b, or (as p4wn3r did it) 2u without loss of generality. I solved it by testing all six cases (u>c>d, u>d>c, c>u>d, c>d>u, d>u>c, and d>c>u) but p4wn3r's method is much more elegant. Edit: Thanks to max(a,b) appearing on both sides of the equation, a and b only appear in a+b+|a-b|. It probably would have made the problem much harder to put a dent in if I had instead worked from the identity max(max(max(a,b),c),d) = max(max(a,c),max(b,d)) or something similar. Oh well.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Here's a new challenge I just came up with. I have no idea how hard it is or even if I derived or copied the problem statement correctly. Here's hoping I did. Show that a+b+|a-b|+2|c-d|+2|a+b+|a-b|-c-d-|c-d|| = |a+b+|a-b|-2c|+2d+|a+b+|a-b|+2c+|a+b+|a-b|-2c|-4d|. That's a whole lot of absolute values to keep track of, so I'm including a color-coded version: a+b+|a-b|+2|c-d|+2|a+b+|a-b|-c-d-|c-d|| = |a+b+|a-b|-2c|+2d+|a+b+|a-b|+2c+|a+b+|a-b|-2c|-4d|. Well, green didn't show up as clearly as I was hoping it would, but I'll replace it if anyone is confused. Good luck! Edit: And here's a new version in which the entire expression within an absolute value sign is given the same color: a+b+|a-b|+2|c-d|+2|a+b+|a-b|-c-d-|c-d|| = |a+b+|a-b|-2c|+2d+|a+b+|a-b|+2c+|a+b+|a-b|-2c|-4d|. By the way, a, b, c, and d are all real numbers. It can be modified to work with complex numbers as well, but it would make it a tad bit messier. Fun fact: you can only nest your color tags two deep before the BBCode gets confused. Here's my proof of it . Edit 2: I've verified that the problem statement is correct and written up my own proof. It's not a very difficult problem with the right strategy. You get bonus points, however, if you can deduce how I came up with the problem statement.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Lol.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
p4wn3r wrote:
Uh, I'm sorry, I suck at evaluating things by hand. I had to solve the recurrence... Anyway, the solution for that recurrence is qk=k q1 - k(k-1)/2, solving for q11 gives: {0, 5, 9, 12, 14, 15, 15, 14, 12, 9, 5, 0} It's all so clear now! This is a parabola, so this is probably the motion of an object suffering gravitational force after being thrown with horizontal speed. For part 2, well: We have to find the extrema of int(L(q,q',t)dt). This occurs when d/dt (del L / del q' ) - del L / del q = 0 In this problem, if we let Dqi denote qi-qi-1, we have to find the extrema of sum(Fi(qi,Dqi),i), using some strange notation, that happens when D(del Fi/del qi) = D(del Fi/del Dqi), or something like that. Is the analogy clearer now?
Very good! The only thing I should point out is that the parabola is more directly analogous to the path of an object under gravitational influence through time (one degree of freedom). I just think of it as the discrete version of a ball thrown straight up. The discrete Lagrangian was obtained by discretizing the continuous Lagrangian (replacing dq/dt with qi-qi-1), then multiplying it by -2 to distract you just a little bit more. I suppose I could have also gone the route of canonical transformations and added DG to the Lagrangian, where G is any function of qi and qi-qi-1, to further obscure the physical analogy. Finally, the symbol I prefer to use is a Greek capital delta, but capital D is fine and has the advantage of being able to type it in the forum. I define D (or delta) such that whatever it acts upon, it spits out the index minus the index minus one. Okay, that doesn't make a lot of sense, so let me just define it like so: D•i = •i - •i-1 where • is the usual mathematical placeholder (is there a name for this?). Under this notation, I believe the discrete Euler-Lagrange equation is D(del F/del Dqi+1) - del F/del qi = 0 so there's actually a subtle qi+1 in there. Using Dqi changes the difference equation and the nature of the solution. I like this problem a lot because it shows that there is a discrete analogue to the Euler-Lagrange equation, which can be nice because the continuous version is a little tricky to derive at first. Although this version requires you to introduce new notation to put it in its most succinct form and you must take your partial derivatives very carefully, it has the advantage of not requiring any perturbations, introduction of arbitrary functions, or integration by parts. Just take your derivatives, reorganize terms, and you're home free.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
p4wn3r wrote:
Bobo the King wrote:
The last problem reminded me of one that I dreamed up a while ago. 1) Find a difference equation for q such that the sum sum( f(qi, qi-qi-1, i) ) is minimized for an arbitrary function f. In the sum, i ranges from 1 to N and you may assume that q0 and qN are both given so that the problem is well-posed. (Hint: Take your partial derivatives carefully!) 2) Introduce a symbol (if you haven't already done so) that will make your solution to (1) instantly familiar to any physicist or mathematician with a background in calculus of variations. 3) Apply your solution to the function f=2qi - (qi-qi-1)^2 subject to the boundary conditions q0=0, qN=0, and N=11. What physical problem is this analogous to?
1) Since the function depends on i, I like to think of this as sum(Fi(qi,qi-qi-1)). The function you are trying to minimize then depends on the q's. I'll introduce: L(q0,q1,...,qn) = L(q) This will be extremized when the gradient of L is the null vector. Taking the partial derivative del L / del qk, k between 0 and n-1, we see that only Fk and Fk+1 depend on qk. to find the partial derivative, we can apply the chain rule for multivariate functions. Assuming Fi(x,y). del Fk(qk,qk-qk-1) / del qk + del Fk+1(qk+1,qk+1-qk) / del qk= del Fk(qk,qk-qk-1) / del x + del Fk(qk,qk-qk-1) / del y - del Fk+1(qk+1,qk+1-qk) / del y = 0 For k=n: del Fn(qn,qn-qn-1) / del qn = del Fn(qn,qn-qn-1) / del x + del Fn(qn,qn-qn-1) / del y If the Fi's are known, you have these difference equations. If you have two of the q's and the equation has solutions, you can find all of them. 2) Since you use q's, I think that hints to Lagrange's or Hamilton's interpretation of classical mechanics, so I used L to denote the function of all q's. In variational calculus, we deal with functionals and attempt to minimize the integral int(F(y,y',x)dx), deriving a differential equation. The difference here is that we are dealing with a finite sum instead of an integral and a difference equation instead of a differential one, hence we can use simple multivariate calculus. 3) F(x,y) = 2x - y2 del F/ del x = 2 del F/del y = -2y del F(qk,qk-qk-1) / del x + del F(qk,qk-qk-1) / del y - del Fk+1(qk+1,qk+1-qk) / del y = 0 This implies 2 - 2(qk-qk-1) + 2(qk+1-qk) = 0 -> 1 - 2qk + qk-1 + qk+1 = 0 -> qk+1 = 2qk - qk-1 - 1 With q0=0, we eventually reach q11=3q1-11=0 -> q1 = 11/3, with solution: {0, 11/3, 19/3, 8, 7, 6, 5, 4, 3, 2, 1, 0} I have no idea what physical problem this is analogous to... One could tell by the function F, I think, perhaps a catenary? I don't know...
Good effort, and I think both you and arflech have part 1 down, but parts 2 and 3 remain elusive. Your difference equation for part 3 is correct, but the answer you gave does not satisfy it. (For example, 6 =/= 2*7 - 8 - 1 = 5.) Assuming I didn't flub the problem statement, you should not have q11=3q1-11=0. Give it a quick second shot and I think you'll see the physical significance as well, especially if you graph the solution. As for part 2, that's a tough problem because I'm basically asking you to read my mind. If your solution makes sense to you, that's all that matters, but I think the goal should be to make it as alluringly close to the continuous version of the solution (minor spoiler): the Euler-Lagrange equation. Think about what operator exists in the continuous version that's absent from the discrete version and what its analogue would be. I'll keep working on my write-up of the solutions.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
DarkKobold wrote:
mmbossman wrote:
sonicpacker wrote:
I was saying that the people that can testify for Burzynski's methods have their own personal medical records to back up their statements. That is good evidence..... The man has not released his methods. Of course they cannot be replicated (unless it is through sheer luck).
I don't want to jump into this one too, because I really have no idea of any of the supposed research or why/how it was suppressed/erased/etc., but the two statements above, so close together, made me LOL.
Bossy, I did some research on pubmed - if you ignore Burzynski's NUMEROUS publications (of which he is ALWAYS first author, #1 sign of an arrogant asshole.) It looks like people are finally (in the last 3 years) actually testing his 'drug' and finding that it works well on some cancers, most of which looks like breast cancer (ironically, the most curable of all cancers). However, it does appear to have a pretty quick toxicity level. So yeah, all this huffing and puffing and conspiracy theories!!!11eleventy is probably because Burz is a major arrogant asshat. So, as opposed to letting science run its normal safe course, he is trying to push his OMG MIRACLE CURE through by shaming the FDA, and finding random links to other drug companies exploring similar avenues. Also, sonicpacker is just out of high school, so he'd have no concept of doctoral level statistics. God, I remember I believed the X-Files were truth back in high school. "The government is evil and hiding aliens! We must expose the conspiracy!"
DarkKobold confirms the location listed in his profile.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
p4wn3r wrote:
Regarding to BFS, I was talking about this, in function shortestpaths, to find the shortest path for only one graph, not the entire game:
Language: Lua

map[0][initial]={{}} map[1][final]={{}} local depth=0 while not(incommon(map[0],map[1])) do for i=0,47 do if map[depth%2][i] and #map[depth%2][i][1]==math.floor(depth/2) then for j=0,3 do local destination=graph[i][j] map[depth%2][destination]={} local temp=table.copy2(map[depth%2][i]) for k=1,#temp do table.insert(temp[k],#temp[k]*(1-depth%2)+1, destination*(1-depth%2)+i*(depth%2)) map[depth%2][destination][#map[depth%2][destination]+1]=table.copy(temp[k]) temp=table.copy2(map[depth%2][i]) end end end end depth=depth+1 end
Honestly, I'm not very sure about what this does, but it doesn't look like a BFS. Also, any optimization problem can be turned into a collection of decision ones multiplying the complexity by O(log d), where d is the max amount of turns it takes to finish. You can turn your problem into "can I finish the game using d steps?" and binary search on d. This is just meant to give you some thoughts about botting it if you intend to do this again, I give no guarantee that backtracking can be used to help. It's just something to think about.
I'll do my best to explain, but it makes the most sense to me when I think about it visually. This search executes what I call a double-tree search, regardless of what it's actually called in computer science. The table map[0] includes all of the locations that can be reached from the initial location while map[1] includes all of the locations that can be reached from the goal location. The function first finds all destinations that can be reached from the starting location and checks if any of them is the goal location (that's breadth-first). It then finds all destinations that can be reached from the goal location and checks if any of them match the locations that can be reached from the starting location (again, breadth-first, essentially). This continues until a match is found and because of how it was found, any match is surely the shortest path from the starting location to the goal location. Of course, it's all a bit muddled by modular arithmetic and stuff because I rewrote my code a few times and wanted to make it succinct. Anyway, this is of absolutely no consequence because my bot can find the shortest path through a level almost instantaneously (I've verified this). Virtually all of the time spent botting is lost testing the path through the game. When playing many levels (more than 20 or so), most of this time is spent solely on the savestate.load function for reasons I still don't fully understand. For just a few levels at a time, most of the time is spent on the actual game, frame advancing. I wish FCEUX had emu.emulateframeinvisible like Gens, but I'll take what I can get.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
p4wn3r wrote:
Bobo the King wrote:
Yes, it is a very rudimentary form of dynamic programming (I don't consider myself a programmer and I never pass up an opportunity to emphasize that). As such, it's virtually certain that this run is not perfect. If I could execute my program to a search depth of 80 (not possible!), it would theoretically be perfect. This run was made by setting the depth to 1 and the breadth to 2, but if this is somehow accepted, I would like to improve it by increasing the depth to 3 and the breadth to 4 or so. To produce this run, I left my computer on overnight and even then it was only able to complete relatively small chunks (roughly 30 levels) at a time and it became very hot. I can improve it (maybe by 10 minutes or so), but it will require doing just three levels at a time and working on it for about a month before stitching all the movies together.
This might help a bit, alongside dynamic programming, it's the most common technique for hard computational problems: http://en.wikipedia.org/wiki/Backtracking Also, instead of doing that mess to find the shortest path, you can try this: http://en.wikipedia.org/wiki/Breadth-first_search
I skimmed the article on backtracking and I'm not sure it's applicable. The chief issue is that this isn't a decision problem. Although it's extraordinarily unlikely, it's possible that the absolute fastest the game can be completed is done by completing the first four levels in four time jumps (which is the most time jumps a level can reasonably take) while all 76 remaining levels are completed in one time jump. Pruning therefore must be heuristic. However, I have considered pruning options before the maximum depth is reached. If the depth is set to 3 and two consecutive levels take four time jumps while the best branches complete two levels in one time jump, then that path cannot possibly be improved by playing another level. Perhaps that's basically what backtracking is. Anyway, it wouldn't have made a difference in this run since the depth was set to 1. I should also point out that my script does execute a breadth-first search. A depth-first search wouldn't even make sense (complete all 80 levels, then try again?). Also, I'd like to make the distinction clear between the tree search I do to solve a level and the one I do to navigate the entire game. The tree search for individual levels has a depth and breadth no greater than 4, so it is very easy to navigate the entire tree. Therefore, the path through every level is 100% optimal. I'm certain of it. (Okay, except for a few frames of cursor movement and stuff when comparing two routes of the same length, but that's minor.) The route through the entire game is where the heuristics come in. Ignoring luck manipulation at the start of the game (which multiplies the number of possibilities by 1000 or so), this tree has two to five branches at every level and continues to a depth of 80 levels. Figuring conservatively, that's 2^80 different states to check at the final level alone. There is absolutely no way it can be done without heuristics, and in this sense, a Carmen Sandiego TAS will never be perfect (unless the RNG can be deciphered). The only improvement I see that I could make is pruning before the maximum depth is reached, but other than that, it's just a matter of cranking up the depth and breadth and letting it run longer. Hope that clears up any confusion. Edit:
errror1 wrote:
exileut wrote:
Voting no because the SMS version wasn't used. Also: http://www.youtube.com/watch?v=ee6eU_148uI
your kidding right? the dos version should have been used
Does DOSbox (or whatever the standard DOS emulator) implement Lua scripting? If so, although I'm not familiar with the DOS version, I was impressed by its screenshots. It's a much better-looking game. I might try to use it for version 2 (if I choose to make it). Unless of course you both are joking...
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
exileut wrote:
Voting no because the SMS version wasn't used. Also: http://www.youtube.com/watch?v=ee6eU_148uI
Video added to the submission page.
OmnipotentEntity wrote:
From the Youtube video, it doesn't look like this run completes the game.
At the end of the game, you're rewarded with these two screens: I scrolled past them too quickly to read them. What an ending!
Tangent wrote:
Your algorithm is a kind of rudimentary version of Dynamic Programming where you're only exploring around the matrix within a few steps of the current best value instead of building the entire matrix. http://en.wikipedia.org/wiki/Dynamic_programming You can obviously see where that's dangerous and will give wrong answers when there are big differences due to major route changes or an incorrect assumption about what the target is, but if you're careful with your assumptions for how the matrix is built and pruned, you could probably use it in small bursts on just about any game.
Belying your lurker status, you seem to understand this run better than a lot of vested members do. Yes, it is a very rudimentary form of dynamic programming (I don't consider myself a programmer and I never pass up an opportunity to emphasize that). As such, it's virtually certain that this run is not perfect. If I could execute my program to a search depth of 80 (not possible!), it would theoretically be perfect. This run was made by setting the depth to 1 and the breadth to 2, but if this is somehow accepted, I would like to improve it by increasing the depth to 3 and the breadth to 4 or so. To produce this run, I left my computer on overnight and even then it was only able to complete relatively small chunks (roughly 30 levels) at a time and it became very hot. I can improve it (maybe by 10 minutes or so), but it will require doing just three levels at a time and working on it for about a month before stitching all the movies together.
CoolKirby wrote:
I really hope you are all joking. If the run's so boring you can't stand it, there's no place for it on this site (the site aims to publish ENTERTAINING videos).
It would be the most boring video on the site and that would make it interesting! Kidding aside, I hope you know by now that I don't care if this is published or not. Anyone is more than welcome (perhaps somewhat encouraged...) to vote No-- I don't want anyone to think that I'm foisting a terrible run on the site or trying to prove a point about speed versus entertainment. Edit: So why hasn't anyone claimed this run for judging??? It's almost as if no one wants to have to decide what to do with it...
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Brandon wrote:
I'm not an expert on the scientific issues, but I've read several articles linking fluoride and certain vaccinations to brain damage and autism.
It has taken me far too long to learn this, but one should never trust an article that wasn't published in a peer-reviewed scientific journal. Even then, its veracity isn't a sure thing. If you read news articles that claim a scientific finding (and hey, I've been known to do the same for fun), I'd say the chances are far worse than a coin flip that the study is either majorly flawed or outright bogus. I know that can be frustrating because we'd all like to think we can be on the cutting-edge of science just by reading the news, but it's simply not the case.
Brandon wrote:
Many products that are on the market today are known to cause cancer, the most obvious ones being tobacco, certain food products, etc, and if the FDA isn't taking these things off the market, then they aren't doing their job.
And here I agree with you, though not for the reason you probably expect. I hate all addictive substances and I strongly believe they should be regulated and eventually outlawed. My views are rather extreme, but they're my own and they're consistent.
Brandon wrote:
That said, as I've said before, it's very hard to debate these things without a scientific background as I don't know who to trust. I just have a very hard time believing a government that supports the "War on Drugs" has any interest in my health.
Although you're being conciliatory and I should take that with grace, I can't help but say that you're doing a better job deflating your own points than I could. Your libertarian-born distrust has left you unable to filter out showmanship from logic and reason. Maybe if you'd accept that your fellow man-- even in a position of power-- isn't always determined to hold you down, you'd learn that you can trust some people, you'd learn who to trust, and you'll be able to see the good that government does.
Brandon wrote:
The thing I am a lot more informed about, however, is 9/11. I don't want to derail this conversation further than I already have by talking about non-medical issues, but I take offense that you merely said bringing up this case doesn't do my cause any favors. If you'd like to discuss it on IRC, I'd gladly chat with you about it.
It's true. Any idle readers to this conversation who were on the fence about the FDA just saw you connect it to a fringe belief that almost no one takes seriously today. If someone is trying to teach me quantum mechanics and they mention that they believe the moon landing was faked, I suddenly have to take everything they say with strong skepticism. This is not a rational person I'm listening to. With that said, I will probably regret this, but sure, I'll discuss 9/11 with you on IRC.
Brandon wrote:
I try to expose the evils in Washington and beyond. I supposedly have a movement that will not be adopted by anyone, and I'm perfectly within my rights of free speech, yet this somehow means that I am destroying the country. That doesn't make any sense, you know it, and even if you disagree with me, claiming that somehow my words are destroying a nation that was built on dissent is un-American.
There you go throwing around the word "evil" again. Do you believe politicians are like Snidely Whiplash? Is a regular person who is elected to public office whisked away to a dark, smoky room where people in ominous robes brainwash and indoctrinate them into being "evil"? And what do you think of this famous photograph? The country is governed by people, people who are in many ways just like you and me. Sure, some of them can be misguided, greedy, and corrupt, but at the end of the day, they're still people who go home to their spouses and kids and have a job to do. Calling them evil dehumanizes them. No, your movement will not be adopted by a majority of people. Yes, you are within your rights of free speech. Yes, I think your beliefs are destroying the country. Politicians are so endlessly vilified that only two kinds of people are crazy enough to run for office these days: those who do so because they see the problems that plague society and genuinely want to fix them (I think these people still form the majority of government) and those who want to milk the office for everything it's worth (these people conform to your twisted view of government). By unceasingly criticizing government, never being satisfied with any moves the government makes, and propagating disinformation, you are ensuring that the latter type of person only grows in proportion to the former. It's a self-fulfilling prophecy and it drags us all down with you. And to top it all off, you're just a big ball of distrust, frustration, and dissatisfaction. Quit tilting at windmills. It is a nation built on dissent and dissent is patriotic, but it has to mean something. It has to be focused, rational, and a real problem. If your goal is to limit government across the board because it is "evil", that is not a focused, rational goal based on a real problem. You are hopeless. I know it sounds like I'm disparaging you, but the sooner you realize that you are making yourself miserable, the happier you'll be.
Brandon wrote:
By the way, how's Final Fantasy Legend II going? :)
FFL1, and it's going fine. I really should be spending more time botting it than discussing politics, though.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Twelvepack wrote:
... I just think that the government has no business censoring media, regulating gay marriage, or preventing the populous from buying guns.
FTFY. I have no problem with social libertarians. We may not see eye to eye, but it's a reasonable and mostly harmless philosophy. But do you consider yourself an economic libertarian?
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Brandon wrote:
Truncated wrote:
The reason stuff like this really gets to me, more than other stupid conspiracy theories about UFO sightings, Chemtrails, lunar landings, and other batshit insane stuff, is that this targets and abuses people in a disastrous situation that are desperate for finding a cure for their problems, and does so for profit.
I know, it's a terrible thought. I'd love to believe our government and corporations are here to serve us and would never hurt us for their own gain. I'd love to believe that fluoride is good for you and that the spikes in autism and cancer have nothing to do with the aforementioned powers. I'd love to believe 9/11 was an outside job. I'd love to, but I can't. The world has evil people in it, and we can never underestimate what some of them are capable of.
No one's saying the government is perfect, it's just that most of us take the bad with the good. Government provides stability at the cost of taxes, some corruption, and bureaucracy. You may not appreciate it, but many of us value this stability, even while acknowledging the costs. However, you'll have to do better than hearsay connecting supposed spikes in autism and cancer with government. Need I remind you that the decline in the number of pirates has been conclusively linked to the increase in temperature over time? And citing your belief that the September 11th terrorist attacks were an inside job is doing your cause no favors. Being a libertarian must be quite a miserable existence. You believe that nearly everyone in power is "evil" (your own word) and out to get you, just because they can. Any misfortune is somehow linked back to the government, simultaneously turning a blind eye to any good it may do. Your political views are so broad and outlandish that they have no hope of ever being adopted by more than a fringe group, much less the government, ensuring that you feel perpetually downtrodden. I'd pity you if I didn't think your beliefs were destroying the country. Lessons to take from this topic: guard your wallet carefully and don't be controlled by fear. Be rationally skeptical.
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
Since this topic is moving on without me, I'm working on typing up the solution to my problem. It will be a little while before it's up. In the meantime, I encourage you to give the third part a shot (it's pretty easy at this point). Also, I endorse Derakon's solution to petrie911's problem. I'm not sure exactly how I'd test whether an arbitrary point is within the bounds of a triangle, but I have an idea: test that it's on the same side of line AB as point C, test that it's on the same side of line BC as point A, test that it's on the same side of line CA as point B. Projection operators ahoy!
Experienced Forum User, Published Author, Player (79)
Joined: 8/5/2007
Posts: 865
^^^ You people are crazy.
1 2
28 29 30
34 35